:root{--bg:#060608;--bg2:#0d0d11;--card:#111116;--line:#ffffff12;--line2:#ffffff24;--text:#f2f2f0;--muted:#8c8c95;--dim:#4a4a52;--acc:#e6ff3d;--acc2:#5ef2ff;--bad:#ff5a5a;--serif:"Instrument Serif",Georgia,serif;--mono:"Geist Mono",ui-monospace,monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;font:16px/1.55 Geist,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--acc);color:#000}:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:6px}.mono{font-family:var(--mono)}.serif{font-family:var(--serif);font-style:italic;font-weight:400}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";background:var(--acc);width:22px;height:1px}body:after{content:"";pointer-events:none;z-index:90;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.2s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(1%,3%)}}#boot{z-index:100;font:13px/1.9 var(--mono);color:var(--muted);background:#030304;align-items:flex-end;padding:40px;display:flex;position:fixed;inset:0}#boot .ok{color:var(--acc)}#boot .bar{background:var(--line2);width:min(420px,80vw);height:2px;margin-top:14px;position:relative;overflow:hidden}#boot .bar i{background:var(--acc);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.cursor{pointer-events:none;z-index:95;mix-blend-mode:difference;position:fixed;top:0;left:0}.cursor .dot{background:#fff;border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute}.cursor .ring{border:1px solid #fff9;border-radius:50%;place-items:center;width:38px;height:38px;margin:-19px;transition:width .25s,height .25s,margin .25s,background .25s;display:grid;position:absolute}.cursor .ring span{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .2s}.cursor.big .ring{background:#fff;border-color:#fff;width:84px;height:84px;margin:-42px}.cursor.big .ring span{opacity:1}@media (pointer:coarse){.cursor{display:none}}@media (pointer:fine){body,a,button{cursor:none}}.top{z-index:50;pointer-events:none;background:linear-gradient(var(--bg) 35%,transparent);padding:20px 0 28px;position:fixed;top:0;left:0;right:0}.top .wrap{align-items:center;gap:16px;display:flex}.top a,.top button{pointer-events:auto}.logo{letter-spacing:-.01em;align-items:center;gap:12px;font-weight:600;display:flex}.logo img{object-fit:cover;width:36px;height:36px;box-shadow:0 0 0 2px var(--acc);border-radius:50%}#hero .pill{border:1px solid var(--line2);backdrop-filter:blur(8px);color:var(--muted);background:#06060899;border-radius:999px;align-self:flex-start;align-items:center;gap:10px;margin-bottom:22px;padding:7px 14px;font-size:13px;display:inline-flex}#hero .pill i{background:#3ddc84;border-radius:50%;width:8px;height:8px;animation:2s infinite ping;box-shadow:0 0 #3ddc8499}.cgrid{text-align:left;grid-template-columns:300px minmax(0,1fr);align-items:stretch;gap:24px;max-width:1000px;margin:0 auto;display:grid}.cgrid .cform{max-width:none;margin:0}.me-card{border:1px solid var(--line);background:var(--card);border-radius:26px;flex-direction:column;display:flex;overflow:hidden}.me-card img{aspect-ratio:554/723;object-fit:cover;object-position:center 20%;width:100%;height:auto;display:block}.me-meta{gap:4px;padding:18px 20px 22px;display:grid}.me-meta b{font-size:17px;font-weight:500}.me-meta span{color:var(--muted);font-size:14px}.me-meta .mono{font-size:12px}.me-reply{align-items:center;gap:8px;margin-top:8px;display:inline-flex}.me-reply i{background:#3ddc84;border-radius:50%;width:7px;height:7px}@media (width<=860px){.cgrid{grid-template-columns:1fr}.me-card{flex-direction:row;align-items:center}.me-card img{aspect-ratio:1;width:110px}}@media (prefers-reduced-motion:reduce){#hero .pill i{animation:none}}.status{font:12px var(--mono);color:var(--muted);border:1px solid var(--line2);backdrop-filter:blur(10px);background:#06060899;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;display:flex}.status i{background:#3ddc84;border-radius:50%;width:7px;height:7px;animation:2s infinite ping;box-shadow:0 0 #3ddc8499}@keyframes ping{70%{box-shadow:0 0 0 8px #3ddc8400}to{box-shadow:0 0 #3ddc8400}}.kbtn{font:12px var(--mono);color:var(--muted);border:1px solid var(--line2);backdrop-filter:blur(10px);background:#06060899;border-radius:10px;align-items:center;gap:10px;margin-left:auto;padding:8px 12px;display:flex}.kbtn kbd{font:11px var(--mono);border:1px solid var(--line2);color:var(--text);border-radius:5px;padding:2px 6px}.btn{border:1px solid var(--line2);color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:10px;padding:13px 20px;font-family:inherit;font-size:15px;font-weight:500;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.btn:hover{border-color:var(--text)}.btn.acc{background:var(--acc);border-color:var(--acc);color:#000}.btn.sm{padding:9px 14px;font-size:13px}.dock{z-index:50;border:1px solid var(--line2);backdrop-filter:blur(16px)saturate(140%);background:#0e0e12b8;border-radius:18px;gap:2px;padding:6px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.dock a{z-index:1;color:var(--muted);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;transition:color .25s;display:flex;position:relative}.dock a svg{flex:none;width:16px;height:16px}.dock a.on{color:#000}.dock .pillbg{z-index:0;background:var(--acc);border-radius:12px;height:calc(100% - 12px);transition:left .45s cubic-bezier(.7,0,.2,1),width .45s cubic-bezier(.7,0,.2,1);position:absolute;top:6px}@media (width<=720px){.dock{justify-content:space-between;bottom:12px;left:12px;right:12px;transform:none}.dock a{flex-direction:column;flex:1;gap:3px;padding:7px 8px;font-size:10.5px}}#hero{min-height:100vh;position:relative;overflow:hidden}#net{width:100%;height:100%;position:absolute;inset:0}#hero .wrap{pointer-events:none;flex-direction:column;justify-content:center;min-height:100vh;padding-top:96px;padding-bottom:120px;display:flex;position:relative}#hero .wrap>*{pointer-events:auto}.h1{letter-spacing:-.045em;max-width:11.5ch;margin:22px 0 26px;font-size:clamp(44px,6.6vw,100px);font-weight:500;line-height:.95}.h1 .serif{letter-spacing:-.02em;color:var(--acc)}.h1 .line{padding-bottom:.06em;display:block;overflow:hidden}.h1 .line>span{display:inline-block}.sub{max-width:470px;color:var(--muted);margin:0 0 32px;font-size:18px}.cta{flex-wrap:wrap;gap:12px;display:flex}.stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:48px;max-width:620px;margin-top:56px;padding-top:28px;display:flex}.stat b{letter-spacing:-.03em;font-size:34px;font-weight:500;display:block}.stat span{font:12px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hint{writing-mode:horizontal-tb;font:11px var(--mono);color:var(--muted);letter-spacing:.14em;writing-mode:vertical-rl;align-items:center;gap:12px;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.hint:after{content:"";background:linear-gradient(var(--acc),transparent);width:1px;height:60px;animation:1.8s infinite drop}@keyframes drop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.legend{font:11px/1.8 var(--mono);color:var(--dim);text-align:right;position:absolute;bottom:40px;right:32px}.legend b{color:var(--muted);font-weight:500}.marq{border-block:1px solid var(--line);white-space:nowrap;padding:26px 0;overflow:hidden}.marq .row{letter-spacing:-.03em;gap:56px;padding-right:56px;font-size:clamp(28px,4vw,54px);font-weight:500;display:inline-flex}.marq .row span{align-items:center;gap:56px;display:inline-flex}.marq .row span:after{content:"✦";color:var(--acc);font-size:.5em}.marq .row .serif{color:var(--muted)}.story{padding:0;position:relative}.story .pinbox{grid-template-columns:.85fr 1.15fr;align-items:center;gap:48px;max-width:1240px;height:100vh;margin:0 auto;padding:0 32px;display:grid}.story h2{letter-spacing:-.04em;margin:18px 0 34px;font-size:clamp(34px,4.4vw,64px);font-weight:500;line-height:1}.story h2 .serif{color:var(--acc)}.steps{counter-reset:s;margin:0;padding:0;list-style:none}.steps li{border-top:1px solid var(--line);color:var(--dim);padding:14px 0 14px 46px;transition:color .4s;position:relative}.steps li:before{counter-increment:s;content:"0" counter(s);font:12px var(--mono);position:absolute;top:16px;left:0}.steps li b{color:inherit;font-size:17px;font-weight:500;display:block}.steps li small{opacity:0;max-height:0;font-size:14px;transition:max-height .5s,opacity .5s;display:block;overflow:hidden}.steps li.on{color:var(--text)}.steps li.on:before{color:var(--acc)}.steps li.on small{opacity:1;max-height:80px;color:var(--muted);margin-top:4px}.stage{aspect-ratio:680/460;border:1px solid var(--line);background:radial-gradient(80% 70% at 50% 40%,#e6ff3d0f,transparent 70%),var(--bg2);border-radius:28px;width:100%;position:relative;overflow:hidden}.stage svg{width:100%;height:100%;position:absolute;inset:0}.stage .grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;position:absolute;inset:0;mask-image:radial-gradient(70% 70%,#000,#0000)}.stage .hud{font:11px/1.7 var(--mono);color:var(--muted);position:absolute;top:16px;left:18px}.stage .hud b{color:var(--acc);font-weight:500}svg text{fill:var(--text);font-family:Geist Mono,monospace;font-size:12px}svg .lbl{fill:var(--muted);font-size:11px}svg .box{fill:#15151b;stroke:var(--line2);stroke-width:1px}svg .boxon{stroke:var(--acc)}svg .edge{stroke:#ffffff2e;stroke-width:1.2px;fill:none}svg .edgeon{stroke:var(--acc)}svg .pkt{fill:var(--acc);filter:url(#glow)}#work{padding:104px 0 0}#work .head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}#work h2,.sec h2{letter-spacing:-.045em;margin:18px 0 0;font-size:clamp(38px,5.4vw,80px);font-weight:500;line-height:.98}#work h2 .serif,.sec h2 .serif{color:var(--acc)}.hwrap{overflow:hidden}.track{gap:20px;width:max-content;padding:0 32px 80px;display:flex}.pcard{--mx:50%;--my:50%;border:1px solid var(--line);background:var(--card);width:min(440px,82vw);height:min(500px,58vh);min-height:420px;transform-style:preserve-3d;border-radius:26px;flex-direction:column;flex:none;padding:28px;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.pcard:before{content:"";background:radial-gradient(360px circle at var(--mx) var(--my),#e6ff3d24,transparent 60%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.pcard:hover{border-color:var(--line2)}.pcard:hover:before{opacity:1}.pcard .idx{font:12px var(--mono);color:var(--muted);justify-content:space-between;display:flex}.pcard .metric{letter-spacing:-.05em;margin-top:auto;font-size:76px;font-weight:500;line-height:.9}.pcard .metric small{font:12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:12px;display:block}.pcard h3{letter-spacing:-.03em;margin:28px 0 6px;font-size:30px;font-weight:500}.pcard h3 .serif{color:var(--acc)}.pcard p{color:var(--muted);margin:0 0 18px;font-size:15px}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{font:11px var(--mono);border:1px solid var(--line2);color:var(--muted);border-radius:999px;padding:5px 10px}.pcard .viz{opacity:.55;width:240px;height:240px;position:absolute;top:40px;right:-30px}.sec{padding:140px 0}.xp{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;margin-top:64px;display:grid}.year{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px var(--line2);align-self:start;font-size:clamp(90px,15vw,220px);font-weight:500;line-height:.8;position:sticky;top:22vh}.year span{color:var(--acc);-webkit-text-stroke:0}.rail{padding-left:34px;position:relative}.rail:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:6px}.rail .fill{background:var(--acc);transform-origin:top;width:1px;height:100%;position:absolute;top:0;left:6px;transform:scaleY(0)}@media (hover:hover) and (pointer:fine){.rail:before{background:linear-gradient(var(--acc) 60vh,var(--line) 60vh) fixed}.rail .fill{display:none}}@media not ((hover:hover) and (pointer:fine)){@supports (animation-timeline:view()){.rail{view-timeline:--rail block}.rail .fill{animation:linear both rail-fill --rail;animation-range:cover 40vh exit 40vh}@keyframes rail-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}}@media (prefers-reduced-motion:reduce){.rail .fill{animation:none;transform:scaleY(1)}}.job{padding:0 0 56px;position:relative}.job:before{content:"";background:var(--bg);border:1px solid var(--line2);border-radius:50%;width:13px;height:13px;position:absolute;top:8px;left:-34px}.job.on:before{border-color:var(--acc);background:var(--acc);box-shadow:0 0 0 6px #e6ff3d26}.job .when{font:12px var(--mono);color:var(--muted);letter-spacing:.06em}.job h3{letter-spacing:-.025em;margin:8px 0 2px;font-size:26px;font-weight:500}.job .co{color:var(--muted)}.job ul{color:var(--muted);margin:14px 0 0;padding-left:18px}.job li{margin-bottom:6px}.posts{border-top:1px solid var(--line);margin-top:56px}.post{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr 40px;align-items:center;gap:24px;padding:30px 0;display:grid;position:relative}.post:before{content:"";background:var(--acc);transform-origin:bottom;z-index:-1;transition:transform .45s cubic-bezier(.7,0,.2,1);position:absolute;inset:0;transform:scaleY(0)}.post:hover:before{transform:scaleY(1)}.post:hover,.post:hover .when,.post:hover p{color:#000}.post h4{letter-spacing:-.03em;margin:0;font-size:clamp(22px,2.6vw,34px);font-weight:500}.post p{color:var(--muted);margin:4px 0 0}.post .when{font:12px var(--mono);color:var(--muted);padding-left:10px}.post .arr{font-size:26px;transition:transform .3s}.post:hover .arr{transform:translate(6px)rotate(-45deg)}.note{font:12px var(--mono);color:var(--muted);border:1px dashed var(--line2);border-radius:10px;margin-top:24px;padding:8px 12px;display:inline-block}#contact{text-align:center;padding:160px 0 200px;position:relative;overflow:hidden}#contact .big{letter-spacing:-.06em;margin:26px 0 40px;font-size:clamp(64px,13vw,210px);font-weight:500;line-height:.85}#contact .big .serif{color:var(--acc)}#contact .big .ch{transition:transform .35s cubic-bezier(.3,1.6,.5,1);display:inline-block}.orb{background:var(--acc);color:#000;text-align:center;border-radius:50%;place-items:center;width:180px;height:180px;font-size:16px;font-weight:600;line-height:1.2;display:inline-grid}.crow{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px;display:flex}footer{border-top:1px solid var(--line);color:var(--muted);font:12px var(--mono);padding:28px 0 110px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}#pal{z-index:120;backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:flex-start;padding-top:16vh;display:none;position:fixed;inset:0}#pal.open{display:flex}#pal .box{border:1px solid var(--line2);background:#0f0f13;border-radius:18px;width:min(560px,92vw);overflow:hidden;box-shadow:0 30px 80px #0009}#pal input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:0 0;outline:none;padding:18px 20px;font:16px Geist,sans-serif}#pal ul{max-height:340px;margin:0;padding:8px;list-style:none;overflow:auto}#pal li{color:var(--muted);border-radius:10px;justify-content:space-between;padding:11px 12px;font-size:14px;display:flex}#pal li.sel{background:var(--bg2);color:var(--text)}#pal li kbd{font:11px var(--mono);color:var(--dim)}.toast{opacity:0;z-index:130;background:var(--acc);color:#000;font:13px var(--mono);border-radius:999px;padding:10px 16px;transition:all .35s;position:fixed;bottom:96px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=900px){.story .pinbox{grid-template-columns:1fr;gap:28px;height:auto;min-height:100vh;padding-top:90px;padding-bottom:40px}.xp{grid-template-columns:1fr}.year{font-size:96px;position:static}.legend{display:none}.post{grid-template-columns:1fr 30px}.post .when{grid-column:1/-1;padding-left:0}}@media (width<=720px){.wrap{padding:0 18px}.top .status{display:none}.stats{gap:22px}.stat b{font-size:24px}.hint{display:none}.track{scroll-snap-type:x mandatory;width:auto;padding:0 18px 100px;overflow-x:auto}.hwrap{overflow:visible}.pcard{scroll-snap-align:center;height:500px}#work .head{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){body:after,.status i,.hint:after{animation:none}#boot{display:none}}.hint-text{color:var(--muted);max-width:260px;font-size:13px}#experience .rail>.btn{margin-top:8px}.writing{padding-top:40px}.all-posts{margin-top:32px}.posts .empty{color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:30px 0}.draft{background:var(--acc);color:#000;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:10px;padding:2px 8px;display:inline-block}.avail{color:var(--muted);max-width:520px;margin:-12px auto 40px;font-size:17px}.page{min-height:80vh;padding-top:150px}.narrow{max-width:760px}.article .back{font:13px var(--mono);color:var(--muted)}.article .back:hover{color:var(--acc)}.article .meta{font:12px var(--mono);color:var(--muted);letter-spacing:.06em;margin-top:40px}.article h1{letter-spacing:-.04em;margin:14px 0 18px;font-size:clamp(34px,5vw,60px);font-weight:500;line-height:1.05}.article .chips{margin-bottom:40px}.prose{color:#d6d6d4;font-size:18px;line-height:1.75}.prose h2,.prose h3{color:var(--text);letter-spacing:-.02em;margin:44px 0 12px;font-weight:500;line-height:1.25}.prose h2{font-size:30px}.prose h3{font-size:23px}.prose p,.prose ul,.prose ol{margin:0 0 20px}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:6px}.prose a{color:var(--acc);text-underline-offset:3px;text-decoration:underline}.prose blockquote{border-left:2px solid var(--acc);font-family:var(--serif);color:var(--text);margin:28px 0;padding:4px 0 4px 22px;font-size:24px;font-style:italic}.prose code{font:.88em var(--mono);background:#ffffff12;border-radius:6px;padding:2px 6px}.prose pre{border:1px solid var(--line);tab-size:4;border-radius:14px;margin:0 0 24px;padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:14px;max-width:100%;height:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cform{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:26px;gap:16px;max-width:720px;margin:0 auto;padding:32px;display:grid}.cform .frow{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cform label{gap:8px;display:grid}.cform label>span{font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cform label em{text-transform:none;letter-spacing:0;color:var(--dim);font-style:normal}.cform input,.cform textarea{border:1px solid var(--line2);background:var(--bg2);width:100%;color:var(--text);border-radius:14px;padding:14px 16px;font:16px Geist,sans-serif;transition:border-color .2s}.cform textarea{resize:vertical;min-height:140px}.cform input:focus,.cform textarea:focus{border-color:var(--acc);outline:none}.cform .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cform .factions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.cform button[disabled]{opacity:.6}.fstatus{color:var(--muted);margin:0;font-size:14px}.fstatus[data-state=ok]{color:#3ddc84}.fstatus[data-state=error]{color:var(--bad)}#contact .crow{margin-top:36px}@media (width<=720px){.cform{padding:22px}.cform .frow{grid-template-columns:1fr}}.prose figure{margin:28px 0}.prose figcaption{font:12px var(--mono);color:var(--muted);margin-top:8px}.codeblock figcaption{border:1px solid var(--line);background:var(--bg2);border-bottom:0;border-radius:14px 14px 0 0;margin:0 0 -6px;padding:10px 16px}.codeblock pre{margin:0}.post .when .cat,.article .meta .cat{color:var(--acc);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:11px;display:block}.article .meta .cat{margin:0 0 0 12px;display:inline}
