:root{--fg:#eaf0fb;--muted:#9aa6c2;--soft:#c7d0e6;--accent:#8fe3ff;--glass:rgba(255,255,255,.055);--line:rgba(255,255,255,.14);--maxw:660px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--fg);font-family:Hanken Grotesk,sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;background:#080b18}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 50% at 20% 10%,rgba(60,90,240,.35),transparent 60%),radial-gradient(55% 50% at 85% 20%,rgba(120,70,255,.3),transparent 60%),radial-gradient(60% 60% at 60% 95%,rgba(20,180,200,.25),transparent 60%),#080b18;animation:drift 30s ease-in-out infinite}@keyframes drift{50%{filter:hue-rotate(18deg)}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.mono{font-family:Space Mono,monospace}header{padding:26px 0}.bar{display:flex;justify-content:space-between;align-items:center;font-family:Space Mono,monospace;font-size:12.5px;color:var(--soft)}.bar .n{color:#fff;text-decoration:none}.bar nav a{color:var(--soft);text-decoration:none;margin-left:18px;transition:color .2s}.bar nav a:hover{color:var(--accent)}footer{padding:30px 0 60px}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:Space Mono,monospace;font-size:13px}.foot a{color:#fff;text-decoration:none;border-bottom:1px solid var(--line);transition:.2s}.foot a:hover{color:var(--accent)}.foot .c{color:var(--soft)}.panel{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:30px;margin:16px 0;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 16px 50px -22px #0009;transition:transform .25s,border-color .25s}.panel:hover{transform:translateY(-3px);border-color:#8fe3ff66}.hero{padding:42px 30px}.eyebrow{font-family:Space Mono,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}h1{font-weight:600;font-size:clamp(48px,11vw,86px);line-height:.95;letter-spacing:-.03em;margin-bottom:14px}h1 em{font-style:normal;color:var(--accent)}.role{font-family:Space Mono,monospace;font-size:12.5px;color:var(--soft);margin-bottom:18px}.tag{font-size:20px;color:#fff;max-width:34ch}.bio{font-size:14.5px;color:var(--soft);margin-top:14px;max-width:50ch}.bio+.bio{margin-top:12px}.lab{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:18px}.witem{padding:16px 0;border-top:1px solid var(--line)}.witem:first-of-type{border-top:none;padding-top:0}.witem h3{font-size:19px;font-weight:600;margin-bottom:5px}.witem p{font-size:14.5px;color:var(--soft)}.witem .tech{font-family:Space Mono,monospace;font-size:10.5px;color:var(--accent);margin-top:8px}.post{display:block;text-decoration:none;color:inherit;padding:14px 0;border-top:1px solid var(--line)}.post:first-of-type{border-top:none;padding-top:0}.post .d{font-family:Space Mono,monospace;font-size:11.5px;color:var(--soft);margin-bottom:4px}.post h2{font-size:19px;font-weight:400;transition:color .2s}.post:hover h2{color:var(--accent)}.post .ex{font-size:14px;color:var(--muted);margin-top:5px}.post-full{padding:42px 30px}.post-full .d{font-size:12.5px;color:var(--soft);margin-bottom:14px}.post-full h1{font-size:clamp(32px,6vw,48px);line-height:1.08;margin-bottom:28px}.prose{font-size:16.5px;color:var(--soft);line-height:1.75}.prose :is(h2,h3){font-weight:500;color:#fff;margin:32px 0 12px}.prose h2{font-size:25px}.prose h3{font-size:20px}.prose p{margin:15px 0}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose code{font-family:Space Mono,monospace;font-size:.85em;background:#ffffff14;padding:2px 6px;border-radius:4px}.prose pre{background:#00000059;border:1px solid var(--line);border-radius:10px;padding:16px;overflow:auto;margin:18px 0}.prose pre code{background:none;padding:0}.prose ul,.prose ol{margin:15px 0;padding-left:22px}.prose li{margin:6px 0}.rise{opacity:0;transform:translateY(18px);animation:rise .8s ease forwards}@keyframes rise{to{opacity:1;transform:none}}.d2{animation-delay:.12s}.d3{animation-delay:.24s}.d4{animation-delay:.36s}@media(prefers-reduced-motion:reduce){*{animation:none!important}.rise{opacity:1;transform:none}body:before{animation:none}}
