@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--nav-h:64px;--radius:10px;--shadow:0 30px 60px -30px #0000008c;--grid:color-mix(in srgb,var(--mu) 9%,transparent);--glow-hover:var(--glow)}:root,[data-theme=dark]{--bg:#0c1220;--bg2:#141c2d;--bg3:#080d17;--line:#242e42;--tx:#e8e1d4;--hi:#fff4e0;--mu:#a9a196;--ac:#ffb547;--ac2:#ff8a5b;--band1:#ffc163;--band2:#ff7a45;--brace:#c79a63;--hash:#ffcf87;--str:#f2d49b;--kw:#ff9e7a;--err:#ff8f80;--ok:#ffcf6e;--glow:0 0 9px #ffaa3c38;--glow-hover:0 0 12px #ffaa3c4d;--tone:dark;color-scheme:dark}[data-theme=light]{--bg:#fbf7f0;--bg2:#fff;--bg3:#f4ede2;--line:#e9dfcf;--tx:#2d251d;--hi:#18120c;--mu:#6a5b4b;--ac:#a3500b;--ac2:#b4441b;--band1:#ffd08a;--band2:#ff9d6c;--brace:#a35e1a;--hash:#8a4a00;--str:#55651f;--kw:#9a3a1a;--err:#9a3412;--ok:#4f6b1f;--glow:none;--glow-hover:none;--shadow:0 24px 50px -28px #5a3c1438;--grid:#6a5b4b14;--tone:light;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg);scrollbar-color:var(--line) transparent}html:not(.motion) *,html:not(.motion) :before,html:not(.motion) :after{transition:none!important;animation:none!important}body{background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased;min-height:100svh;margin:0;font:17px/1.65 Inter,system-ui,sans-serif}a{color:var(--ac);text-underline-offset:3px}::selection{background:var(--ac);color:var(--bg)}.mono,code,pre,kbd{font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:1040px;margin:0 auto;padding:0 40px}:focus-visible{outline:2px solid var(--ac);outline-offset:3px}.skip-link{z-index:200;background:var(--ac);color:var(--bg);border-radius:4px;padding:8px 14px;font:600 14px JetBrains Mono,monospace;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.cur{background:var(--ac);vertical-align:-.18em;opacity:0;width:.6em;height:1.1em;margin-left:2px;display:inline-block}.cur.on{opacity:1}.cur.done{animation:1.4s linear forwards blink2}@keyframes blink2{0%,24%{opacity:1}25%,44%{opacity:0}45%,69%{opacity:1}70%,84%{opacity:0}85%{opacity:1}to{opacity:0}}.cd .cur{opacity:1;animation:1.05s step-end infinite blink}html:not(.motion) .cur{display:none}@keyframes blink{50%{opacity:0}}kbd{border:1px solid var(--line);color:var(--hi);background:var(--bg2);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font:11px JetBrains Mono,monospace}.slot{border-bottom:1px dotted var(--mu);color:var(--tx)}.nav{z-index:30;height:var(--nav-h);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);--sp:0;position:sticky;top:0}.nav:after{content:"";background:linear-gradient(90deg,var(--band1),var(--band2));height:2px;transform:scaleX(var(--sp));transform-origin:0;position:absolute;bottom:-1px;left:0;right:0}.nav .wrap{justify-content:space-between;align-items:center;gap:16px;max-width:1240px;height:100%;display:flex}.nav-right{align-items:center;gap:10px;display:flex}.logo{color:var(--tx);white-space:nowrap;align-items:baseline;padding:6px 2px;font:800 19px/1 JetBrains Mono,monospace;text-decoration:none;display:inline-flex}.logo .br{color:var(--brace);font-weight:500;transition:transform .25s cubic-bezier(.565,1.65,.765,.88),color .2s;display:inline-block}.logo .br:first-child{margin-right:3px}.logo .br:last-child{margin-left:3px}.logo .n{color:var(--ac);font-weight:500}.logo .d{color:var(--tx)}.logo .r{color:var(--mu);font-weight:400}.logo .cur{vertical-align:-.12em;width:.48em;height:.95em;margin-left:1px}.logo:hover .br:first-child,.logo:focus-visible .br:first-child{transform:translate(-5px)}.logo:hover .br:last-child,.logo:focus-visible .br:last-child{transform:translate(5px)}.logo:hover .br,.logo:focus-visible .br{color:var(--ac)}.logo:hover .cur{background:var(--ac2)}.nav ol{counter-reset:n;gap:4px;margin:0;padding:0;font:13px JetBrains Mono,monospace;list-style:none;display:flex}.nav li{counter-increment:n}.nav ol a{color:var(--tx);border-radius:4px;padding:6px 10px;text-decoration:none;transition:background .2s;display:block;position:relative}.nav ol a:before{content:"0" counter(n) ". ";color:var(--ac)}.nav ol a:hover{background:var(--bg2)}.nav ol a:hover:before,.nav ol a:focus-visible:before{content:"cd ";color:var(--ac2)}.nav ol a[aria-current=page]{color:var(--ac)}.nav ol a[aria-current=page]:after{content:"";background:var(--ac);height:2px;position:absolute;bottom:1px;left:10px;right:10px}.nav .resume{border:1px solid var(--ac);color:var(--ac)!important}.nav .resume:before{content:none!important}.tt{display:none}.js .tt{display:inline-flex}.tt{color:var(--tx);background:var(--bg2);border:1px solid var(--line);cursor:pointer;border-radius:99px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font:12px JetBrains Mono,monospace}.tt .knob{background:var(--bg3);border:1px solid var(--line);border-radius:99px;width:34px;height:20px;position:relative}.tt .knob:after{content:"";background:var(--ac);width:14px;height:14px;box-shadow:inset -4px -3px 0 0 var(--bg2);border-radius:50%;transition:transform .3s cubic-bezier(.565,1.65,.765,.88);position:absolute;top:2px;left:2px}.tt[aria-checked=false] .knob:after{box-shadow:none;transform:translate(14px)}.tt:hover{border-color:var(--ac)}.rail{z-index:20;width:40px;text-decoration:none;position:fixed;bottom:0;right:40px}.rail .in{display:block;position:relative}.rail .lay{flex-direction:column;align-items:center;display:flex}.rail .t{letter-spacing:.1em;writing-mode:vertical-rl;margin:20px auto;padding:10px;font:12px/18px JetBrains Mono,monospace;transition:transform .25s}.rail:hover .t,.rail:focus-visible .t{transform:translateY(-3px)}.rail .ln{width:1px;height:90px;display:block}.rail .lay.base{color:var(--rail-a)}.rail .lay.base .ln{background:var(--rail-a)}.rail:hover .lay.base,.rail:focus-visible .lay.base{color:var(--ac)}.rail .lay.alt{color:var(--rail-b);clip-path:path("M0 0Z");position:absolute;inset:0}.rail .lay.alt .ln{background:var(--rail-b)}:root,[data-theme=dark]{--rail-a:#a8b2d1;--rail-b:#14100a}[data-theme=light]{--rail-a:#6a5b4b;--rail-b:#1f140a}@media (width<=1200px){.rail{display:none}}.glow-zone{isolation:isolate;position:relative}.glow-zone:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(560px circle at var(--mx,72%) var(--my,30%),color-mix(in srgb,var(--ac) 12%,transparent),transparent 62%), linear-gradient(var(--grid) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/40px 40px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 70%,#0000);mask:linear-gradient(#000 70%,#0000)}.band{height:var(--band-h,130px);clip-path:polygon(0 100%,100% 100%,100% 0);background:linear-gradient(90deg,var(--band1),var(--band2));z-index:-1;pointer-events:none;position:absolute;bottom:0;left:0;right:0}:root .band,[data-theme=dark] .band{--surface:light}[data-theme=light] .band{--surface:amber}.motion .hero .band{animation:1.1s cubic-bezier(.2,.7,.2,1) .9s both band}.motion.booting .hero .band{animation-play-state:paused}@keyframes band{0%{clip-path:polygon(0 100%,0 100%,0 100%)}}[data-page=home] body,[data-page=about] body,[data-page=contact] body{height:100svh;overflow:hidden}[data-page=home] main,[data-page=about] main,[data-page=contact] main{height:calc(100svh - var(--nav-h));overflow:hidden}[data-page=home] footer,[data-page=about] footer,[data-page=contact] footer{display:none}.hero{align-items:center;height:100%;padding:clamp(10px,3svh,40px) 0 clamp(70px,15svh,150px);display:flex;position:relative}.hero .band{--band-h:clamp(70px,14svh,130px)}.prompt{color:var(--mu);margin:0 0 clamp(4px,1svh,10px);font:14px JetBrains Mono,monospace}.prompt b{color:var(--hi);font-weight:400}.greet{color:var(--ac);min-height:1.6em;margin:0;font:15px JetBrains Mono,monospace}.name{letter-spacing:-.04em;color:var(--hi);margin:clamp(4px,1.2svh,12px) 0 clamp(6px,1.4svh,14px);font:800 clamp(38px,min(9.5vw,10.5svh),112px)/1 JetBrains Mono,monospace}.name .cur{vertical-align:-.04em;width:.5em;height:.82em;margin-left:.08em}.tag{letter-spacing:-.025em;color:var(--mu);margin:0 0 clamp(8px,2svh,22px);font:800 clamp(21px,min(4.6vw,5.4svh),54px)/1.1 Inter,sans-serif}.tag .dot{color:var(--ac)}.lede{max-width:560px;color:var(--mu);margin:0;font-size:clamp(15px,2.1svh,17px)}.lede strong{color:var(--ac);font-weight:500}.ctas{flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(12px,3svh,30px);display:flex}.btn{border:1px solid var(--ac);color:var(--ac);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:12px 18px;font:14px JetBrains Mono,monospace;text-decoration:none;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s,background .2s;display:inline-flex}.btn:hover,.btn:focus-visible{box-shadow:3px 3px 0 var(--ac);background:color-mix(in srgb,var(--ac) 8%,transparent);transform:translate(-3px,-3px)}.btn.ghost{border-color:var(--line);color:var(--tx)}.btn.ghost:hover,.btn.ghost:focus-visible{border-color:var(--mu);box-shadow:3px 3px 0 var(--mu)}.hint{color:var(--mu);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px;font:12px JetBrains Mono,monospace;display:inline-flex}.hint:hover{color:var(--ac)}.status-row{flex-wrap:wrap;gap:8px;margin-top:clamp(12px,2.6svh,26px);display:flex}.pill{color:var(--mu);border:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 70%,transparent);border-radius:99px;align-items:center;gap:10px;margin:0;padding:5px 13px;font:13px JetBrains Mono,monospace;display:inline-flex}.pill i.dot{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}0%{box-shadow:0 0 0 0 var(--ok)}}.eq{align-items:flex-end;gap:2px;height:11px;display:inline-flex}.eq i{background:var(--ac);width:2px;height:30%;animation:1s ease-in-out infinite alternate eq}.eq i:nth-child(2){animation-delay:-.4s}.eq i:nth-child(3){animation-delay:-.7s}@keyframes eq{to{height:100%}}.motion .stage>*{animation:.7s cubic-bezier(.2,.7,.2,1) both up;animation-delay:calc(var(--d,0)*1ms)}.motion.booting .stage>*{animation-play-state:paused}@keyframes up{0%{opacity:0;transform:translateY(14px)}}.boot{z-index:80;background:var(--bg3);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.boot pre{color:var(--mu);white-space:pre-wrap;width:min(560px,100%);min-height:13em;margin:0;font:13px/1.8 JetBrains Mono,monospace}.boot pre .ok{color:var(--ac)}.boot button{color:var(--mu);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font:12px JetBrains Mono,monospace;position:absolute;bottom:24px;right:24px}.boot.out{animation:.5s cubic-bezier(.7,0,.3,1) forwards bootOut}@keyframes bootOut{to{clip-path:inset(0 0 100%)}}.phead{border-bottom:1px solid var(--line);padding:76px 0 52px}.phead h1{letter-spacing:-.04em;color:var(--hi);margin:6px 0 14px;font:800 clamp(36px,6.4vw,72px)/1.05 JetBrains Mono,monospace}.phead h1 .num{color:var(--ac);vertical-align:.9em;letter-spacing:0;margin-right:.4em;font-size:.38em;font-weight:400}.phead p.sub{color:var(--mu);max-width:620px;margin:0}main section{padding:60px 0}h2.h{color:var(--hi);align-items:center;gap:14px;margin:0 0 24px;font:700 22px JetBrains Mono,monospace;display:flex}h2.h:before{content:"#";color:var(--ac)}h2.h:after{content:"";background:var(--line);flex:1;max-width:280px;height:1px}.motion.arrive body:after{content:"";z-index:90;background:var(--bg3);pointer-events:none;animation:.5s cubic-bezier(.7,0,.3,1) 50ms both lift;position:fixed;inset:0}@keyframes lift{to{clip-path:inset(0 0 100%)}}.motion.arrive main>*{animation:.6s cubic-bezier(.2,.7,.2,1) both up;animation-delay:calc(var(--i,0)*80ms + .25s)}.cd{z-index:95;background:var(--bg3);color:var(--mu);justify-content:center;align-items:center;font:16px JetBrains Mono,monospace;animation:.28s cubic-bezier(.7,0,.3,1) both cover;display:flex;position:fixed;inset:0}.cd p{width:min(640px,90vw);margin:0}.cd b{color:var(--hi);font-weight:400}@keyframes cover{0%{clip-path:inset(100% 0 0)}}.motion .rv{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms);transform:translateY(18px)}.motion .rv.in{opacity:1;transform:none}.panel{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel .bar{border-bottom:1px solid var(--line);color:var(--mu);align-items:center;gap:7px;padding:9px 14px;font:12px JetBrains Mono,monospace;display:flex}.panel .bar i{background:var(--line);border-radius:50%;width:11px;height:11px}.panel .bar span{margin-left:8px}.panel .bar .r{margin-left:auto}.about-hero{align-items:center;height:100%;padding:clamp(10px,3svh,40px) 0 clamp(60px,12svh,130px);display:flex}.about-hero .band{--band-h:clamp(56px,11svh,110px)}.about{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4.5vw,64px);width:100%;display:grid}.about h1,.contact h1{letter-spacing:-.04em;color:var(--hi);margin:clamp(2px,.8svh,8px) 0 clamp(4px,1svh,10px);font:800 clamp(34px,min(6.4vw,8svh),72px)/1.05 JetBrains Mono,monospace}.about h1 .num,.contact h1 .num{color:var(--ac);vertical-align:.9em;letter-spacing:0;margin-right:.4em;font-size:.38em;font-weight:400}.kicker{letter-spacing:-.02em;color:var(--mu);margin:0 0 clamp(6px,1.4svh,14px);font:800 clamp(19px,min(3.2vw,4svh),34px)/1.15 Inter,sans-serif}.kicker .dot{color:var(--ac)}.about .lede{max-width:470px}h2.ls{color:var(--hi);margin:clamp(14px,3.2svh,32px) 0 clamp(2px,.6svh,6px);font:700 14px JetBrains Mono,monospace}h2.ls .dim{color:var(--ac)}.fetch{padding:clamp(14px,2.4svh,22px);font:clamp(12px,1.8svh,13.5px)/1.7 JetBrains Mono,monospace}.fetch .who{color:var(--ac);margin:0}.fetch .sep{color:var(--line);margin:0 0 4px}.fetch dl{grid-template-columns:auto 1fr;gap:0 14px;margin:0;display:grid}.fetch dt{color:var(--ac);font-weight:700}.fetch dd{color:var(--tx);margin:0}.motion .fetch.rv dl>*{opacity:0;transition:opacity 80ms;transition-delay:calc(var(--j)*45ms + .2s)}.motion .fetch.rv.in dl>*{opacity:1}.sw{margin-top:12px;display:flex}.sw i{width:26px;height:14px}.links{margin:0;padding:0;font:14px JetBrains Mono,monospace;list-style:none}.links li{border-bottom:1px dashed var(--line);min-width:0;padding:clamp(4px,1.05svh,10px) 0}.links a{grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:12px;text-decoration:none;display:grid}.links .k{color:var(--mu)}.links .v{text-underline-offset:3px;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;overflow:hidden}.links a:hover .k,.links a:focus-visible .k{color:var(--ac)}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:4px;margin-bottom:28px;font:14px JetBrains Mono,monospace;display:flex}.tabs button{font:inherit;color:var(--mu);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px}.tabs button[aria-selected=true]{color:var(--ac);border-color:var(--ac)}.log{padding-left:34px;font:14px JetBrains Mono,monospace;position:relative}.log:before{content:"";background:linear-gradient(var(--ac),var(--band2));transform-origin:top;width:2px;position:absolute;top:10px;bottom:10px;left:9px}.motion .log.rv:before{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);transform:scaleY(0)}.motion .log.rv.in:before{transform:scaleY(1)}.log details{margin:0 0 12px;scroll-margin-top:90px;position:relative}.log details:before{content:"";background:var(--bg);border:2px solid var(--ac);border-radius:50%;width:12px;height:12px;position:absolute;top:9px;left:-32px}.log details[open]:before{background:var(--ac);box-shadow:0 0 0 5px color-mix(in srgb,var(--ac) 18%,transparent)}.log summary{cursor:pointer;border-radius:6px;flex-wrap:wrap;gap:4px 10px;padding:7px 10px;list-style:none;transition:background .2s;display:flex}.log summary::-webkit-details-marker{display:none}.log summary:hover{background:var(--bg2)}.log .hash{color:var(--hash)}.log .ref{color:var(--ac)}.log .msg{color:var(--hi)}.log .when{color:var(--mu);margin-left:auto}.log .body{color:var(--mu);border-left:1px dashed var(--line);margin-left:10px;padding:8px 12px 4px}.motion .log details[open] .body{animation:.35s cubic-bezier(.2,.7,.2,1) drop}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}.log .body ul{margin:8px 0;padding:0;list-style:none}.log .body li{color:var(--tx);text-indent:-1.4em;margin:4px 0;padding-left:1.4em;font:15px/1.6 Inter,sans-serif}.log .body li:before{content:"+ ";color:var(--str);font-family:JetBrains Mono,monospace}.log .stat{color:var(--mu);font-size:12px}.log .stat b{color:var(--str);font-weight:400}.note{color:var(--mu);margin-top:14px;font:13px JetBrains Mono,monospace}.cli .scr,.qt .scr{font:14px/1.7 JetBrains Mono,monospace}.cli .scr{height:420px;padding:16px 18px;overflow:auto}.scr p{white-space:pre-wrap;margin:0}.scr .dim{color:var(--mu)}.scr .hi{color:var(--ac)}.scr h4{color:var(--hi);margin:.6em 0 0;font-size:1em}.files{flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;display:flex}button.f,.quick button{font:inherit;color:var(--ac);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0 2px;text-decoration:underline dotted}button.f:hover,button.f:focus-visible,.quick button:hover,.quick button:focus-visible{background:var(--ac);color:var(--bg);outline:none;text-decoration:none}.cli form{border-top:1px dashed var(--line);color:var(--mu);gap:1ch;padding:10px 18px 14px;font:14px JetBrains Mono,monospace;display:flex}.cli form:focus-within{background:var(--bg3)}.cli input,.qt input{min-width:0;font:inherit;color:var(--hi);caret-color:var(--ac);background:0 0;border:0;outline:none;flex:1}.quick{color:var(--mu);flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font:13px JetBrains Mono,monospace;display:flex}.blame{grid-template-columns:auto auto 1fr;gap:0 14px;display:grid}.blame .h{color:var(--hash)}.blame .a{color:var(--mu)}.qt{z-index:120;background:color-mix(in srgb,var(--bg3) 96%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--ac);visibility:hidden;font:14px/1.7 JetBrains Mono,monospace;transition:transform .32s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;left:0;right:0;transform:translateY(-105%);box-shadow:0 20px 60px #0006}.qt.open{visibility:visible;transform:none}.qt .inner{max-width:1040px;margin:0 auto;padding:12px 40px 16px}.qt .head{color:var(--mu);border-bottom:1px dashed var(--line);justify-content:space-between;padding-bottom:6px;font-size:12px;display:flex}.qt .scr{max-height:min(46vh,420px);padding:10px 0;overflow:auto}.qt form{color:var(--mu);gap:1ch;display:flex}.session{padding:20px 22px 22px;font:15px/1.75 JetBrains Mono,monospace}.session .log2 p{white-space:pre-wrap;margin:0}.session .log2 .dim{color:var(--mu)}.session .log2 .ok{color:var(--ok)}.session .log2 .bad{color:var(--err)}.session .log2 .hi{color:var(--ac)}.cform{margin:0}.cform .row{border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:0 1ch;margin:2px 0;padding:.3em .55em;display:flex}.cform label{color:var(--hi);white-space:nowrap}.cform label .pr{color:var(--ok)}.cform label .opt{color:var(--mu)}.cform input,.cform textarea{min-width:0;font:inherit;color:var(--ac);border:0;border-bottom:1px dashed var(--line);resize:none;caret-color:var(--ac);field-sizing:content;background:0 0;outline:none;flex:14ch;min-height:1.6em;padding:0 0 1px}.cform textarea{flex-basis:100%;min-height:3lh}.cform ::placeholder{color:var(--mu);opacity:.55}.cform .row:focus-within{background:color-mix(in srgb,var(--ac) 7%,transparent);box-shadow:inset 2px 0 0 var(--ac)}.cform .err{color:var(--err);flex-basis:100%;font-size:.85em}.cform .err:empty{display:none}.cform .hint2{color:var(--mu);flex-basis:100%;font-size:12px}.cform .actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.cform .actions small{color:var(--mu);font-size:12px}.ctrl{color:var(--mu);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:5px 10px;font:12px JetBrains Mono,monospace}.ctrl:hover,.ctrl:focus-visible{color:var(--ac);border-color:var(--ac)}.cform.flow .row:not(.reached),.cform.flow .actions:not(.reached){display:none}.cform.flow .row.done input,.cform.flow .row.done textarea{color:var(--tx);border-bottom-color:#0000}.cform.flow .row.done label .pr{color:var(--ok)}.cform.flow .row.done label .pr:before{content:"✔"}.cform.flow .row.done label .pr span,.cform:not(.flow) .flow-only,.cform.flow .noflow{display:none}.toolbar{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.contact-hero{height:100%;padding:clamp(14px,4svh,48px) 0 clamp(14px,3svh,36px)}.contact{grid-template-rows:auto minmax(0,max-content);grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-content:start;align-items:start;gap:clamp(10px,2.4svh,24px) 44px;height:100%;display:grid}.contact .head{grid-column:1/-1}.contact .head .prompt{margin:0}.contact .panel{flex-direction:column;max-height:100%;display:flex}.contact .session{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.contact .side h2.h{margin-bottom:8px}.channels{margin:0;padding:0;list-style:none}.channels li{border-bottom:1px dashed var(--line);padding:14px 0}.channels small{color:var(--mu);font:12px JetBrains Mono,monospace;display:block}.channels a,.channels span.v{font:15px JetBrains Mono,monospace}footer{border-top:1px solid var(--line);color:var(--mu);isolation:isolate;padding:30px 0 150px;font:13px JetBrains Mono,monospace;position:relative;overflow:hidden}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}footer a{color:var(--mu)}footer .band{--band-h:210px;opacity:.95}footer{padding-bottom:230px}.toast{z-index:130;background:var(--bg2);border:1px solid var(--ac);color:var(--hi);border-radius:6px;padding:10px 16px;font:13px JetBrains Mono,monospace;animation:4s both toast;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}@keyframes toast{0%{opacity:0;transform:translate(-50%,-10px)}8%,85%{opacity:1;transform:translate(-50%)}to{opacity:0}}.e404 .big{letter-spacing:-.06em;color:var(--hi);margin:10px 0 0;font:800 clamp(90px,20vw,220px)/.9 JetBrains Mono,monospace}.e404 .errl{color:var(--err);font:15px JetBrains Mono,monospace}.e404 .sugg{color:var(--mu);margin-top:26px;font:14px JetBrains Mono,monospace}.e404 .sugg a{margin-right:16px}@media (width<=900px){.contact{grid-template-rows:auto minmax(0,max-content) auto;grid-template-columns:1fr}.contact .head{grid-column:auto}.contact .side h2.h{display:none}.channels{flex-wrap:wrap;gap:4px 18px;display:flex}.channels li{border:0;padding:0}.channels small{margin-right:6px;display:inline}.session{padding:14px 16px;font-size:14px}.about{grid-template-columns:1fr;gap:clamp(12px,2.4svh,24px)}.fetch .who,.fetch .sep,.fetch .sw,.fetch .opt{display:none}.fetch-panel .bar{padding:6px 12px}.fetch{padding:10px 14px;line-height:1.55}h2.ls{margin-top:clamp(8px,2svh,20px)}.links{flex-wrap:wrap;gap:4px 16px;display:flex}.links li{border:0}.links .v{display:none}.links a{display:inline}.links .k{color:var(--ac);text-underline-offset:3px;text-decoration:underline}}@media (width<=900px) and (height<=700px){.fetch-panel{display:none}}@media (width<=760px){:root{--nav-h:96px}.wrap{padding:0 20px}.nav .wrap{flex-wrap:wrap;align-content:center;gap:6px 10px;padding-block:8px}.nav-right{display:contents}.nav nav{order:3;width:100%}.tt{margin-left:auto}.nav ol{scrollbar-width:none;gap:0;overflow-x:auto;-webkit-mask:linear-gradient(90deg,#000 88%,#0000);mask:linear-gradient(90deg,#000 88%,#0000)}.nav ol a{padding:6px 8px}.nav ol a:before{content:none}.logo{font-size:16px}.tt .lbl{display:none}.tt{padding:4px}.qt .inner{padding:10px 18px}.ctas .btn{padding:10px 14px;font-size:13px}}@media (height<=700px){.status-row .pill.music{display:none}}@media (width<=420px){.status-row .pill.music,.ctas .hint{display:none}}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:.6s cubic-bezier(.2,.7,.2,1) themeReveal}@keyframes themeReveal{0%{clip-path:circle(0 at var(--vx,100%) var(--vy,0))}to{clip-path:circle(150vmax at var(--vx,100%) var(--vy,0))}}html:not(.js) .tabs,html:not(.js) [data-open-terminal],html:not(.js) .js-only,.pill[hidden]{display:none}.pill .np-t,.pill .np-t a{color:var(--tx)}.buddy{z-index:96;--skin:#8d5524;--hair:#1a1210;--ink:#21140c;--tee-ink:#fff1dc;--shirt:#d4683a;--shirt-sh:#a94a26;--skin-sh:color-mix(in srgb,var(--skin) 74%,#1b0d06);--hair-hi:color-mix(in srgb,var(--hair) 70%,#7a6a62);--apron:#f3e6cf;--apron-sh:#c2ab88;--cat-rim:#55555f;--ease:cubic-bezier(.34,1.3,.5,1);width:132px;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:0;left:14px}[data-theme=dark] .buddy,:root:not([data-theme]) .buddy{--cat-rim:color-mix(in srgb,var(--ac) 55%,#16161b)}[data-theme=dark] .buddy svg.b,:root:not([data-theme]) .buddy svg.b{filter:drop-shadow(0 0 .7px #ffd6a0b3)}.peek{--cat-rim:#55555f}[data-theme=dark] .peek{--cat-rim:color-mix(in srgb,var(--ac) 55%,#16161b)}.buddy .ol{stroke:var(--ink);stroke-width:1.8px;stroke-linejoin:round}.buddy .hd{stroke-width:2.2px}.buddy.big{width:340px}.buddy.tucked{transform:translateY(110%)}.buddy .hit{cursor:pointer;background:0 0;border:0;border-radius:50% 50% 0 0;width:100%;margin:0;padding:0;display:block}.buddy .hit:focus-visible{outline:2px solid var(--ac);outline-offset:-4px}.buddy svg.b{width:100%;height:auto;display:block;overflow:visible}.buddy .tuck{border:1px solid var(--line);background:var(--bg2);width:22px;height:22px;color:var(--mu);cursor:pointer;opacity:0;border-radius:50%;font:12px/1 JetBrains Mono,monospace;transition:opacity .2s;position:absolute;top:8px;right:-6px}.buddy:hover .tuck,.buddy:focus-within .tuck{opacity:1}.peek{z-index:96;cursor:pointer;background:0 0;border:0;width:64px;padding:0;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:0;left:14px;transform:translateY(100%)}.peek.show{transform:none}.peek svg{width:100%;display:block}.bubble{background:var(--bg2);border:1px solid var(--line);min-width:150px;max-width:230px;color:var(--hi);box-shadow:var(--shadow);opacity:0;transform-origin:0 100%;pointer-events:none;border-radius:10px 10px 10px 2px;padding:8px 11px;font:12px/1.4 JetBrains Mono,monospace;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:92%;left:58%;transform:translateY(6px)scale(.96)}.bubble.on{opacity:1;transform:none}.lid{transform:translateY(calc(var(--lid,0) * 13px));transition:transform .2s}.buddy.blink .lid{transition-duration:60ms;--lid:1!important}.buddy[data-eyes=half]{--lid:.5}.buddy[data-eyes=down]{--lid:.3}.buddy[data-eyes=closed]{--lid:1}.buddy[data-loop=curl],.buddy[data-loop=press]{--lid:.42}.eye-happy,.eye-shut,.buddy[data-eyes=closed] .eye-open{display:none}.buddy[data-eyes=closed]:not([data-loop=music]) .eye-shut{display:inline}.buddy[data-ex=happy] .eye-open,.buddy[data-loop=flex] .eye-open,.buddy[data-loop=music] .eye-open{display:none}.buddy[data-ex=happy] .eye-happy,.buddy[data-loop=flex] .eye-happy,.buddy[data-loop=music] .eye-happy{display:inline}.buddy[data-ex=taste]{--lid:.55}.brow-l,.brow-r{transform-box:fill-box;transition:transform .22s}.brow-l{transform-origin:100%}.brow-r{transform-origin:0%}.brows{transition:transform .22s}.buddy[data-ex=wince] .brow-l,.buddy[data-loop=curl] .brow-l,.buddy[data-loop=press] .brow-l{transform:rotate(10deg)}.buddy[data-ex=wince] .brow-r,.buddy[data-loop=curl] .brow-r,.buddy[data-loop=press] .brow-r{transform:rotate(-10deg)}.buddy[data-loop=music] .brow-l,.buddy[data-loop=sleep] .brow-l{transform:rotate(-6deg)}.buddy[data-loop=music] .brow-r,.buddy[data-loop=sleep] .brow-r{transform:rotate(6deg)}.buddy[data-loop=curl] .brows,.buddy[data-loop=press] .brows{transform:translateY(1.6px)}.buddy[data-loop=typing] .brows{transform:translateY(.8px)}.buddy[data-ex=surprised] .brows{transform:translateY(-3.5px)}.hair-fade,.hair-curls,.hair-locs,.hair-buzz,.beard-stubble,.beard-full,.glasses{display:none}.buddy[data-hair=fade] .hair-fade,.buddy[data-hair=curls] .hair-curls,.buddy[data-hair=locs] .hair-locs,.buddy[data-hair=buzz] .hair-buzz,.buddy[data-beard=stubble] .beard-stubble,.buddy[data-beard=full] .beard-full,.buddy[data-glasses=on] .glasses{display:inline}.laptop{opacity:0;transition:transform .45s cubic-bezier(.3,.7,.2,1),opacity .3s;transform:translateY(46px)}.buddy[data-laptop=up] .laptop,.buddy[data-laptop=open] .laptop{opacity:1;transform:none}.lap-lid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.3,.7,.2,1);transform:scaleY(.07)}.buddy[data-laptop=open] .lap-lid{transform:none}.glyphs{opacity:0;transition:opacity .3s}.buddy[data-loop=typing] .glyphs{opacity:1}.notes{opacity:0;transition:opacity .4s}.buddy[data-loop=music] .notes{opacity:1}.db{display:none}.buddy[data-db=on] .db{display:inline}.bar{display:none}.buddy[data-bar=on] .bar{display:inline}.spoon{opacity:0;transition:opacity .25s}.buddy[data-spoon=on] .spoon{opacity:1}.bicep{display:none}.buddy[data-al=flex] .bicep{display:inline}.apron{opacity:0;transition:transform .55s var(--ease),opacity .35s;transform:translateY(-34px)}.buddy[data-apron=on] .apron{opacity:1;transform:none}.buddy[data-apron=on] .tee-logo{opacity:0}.tee-logo{transition:opacity .3s}.pan{opacity:0;transition:transform .5s var(--ease),opacity .3s;transform:translateY(40px)}.buddy[data-pan=up] .pan{opacity:1;transform:none}.steam{opacity:0;transition:opacity .5s}.buddy[data-loop=cook] .steam{opacity:.55}.headband{opacity:0;transition:transform .45s var(--ease),opacity .35s;transform:translateY(-14px)}.buddy[data-band=on] .headband{opacity:1;transform:none}.sweat{opacity:0;transition:opacity .3s}.buddy[data-loop=curl] .sweat,.buddy[data-loop=press] .sweat{opacity:1}.zzz{opacity:0;transition:opacity .6s}.buddy[data-loop=sleep] .zzz{opacity:1}.m{opacity:0;transition:opacity .15s}.m-smile{opacity:1}.cheek{opacity:var(--blush,0);transition:opacity .3s}.buddy[data-loop=wave],.buddy[data-loop=flex],.buddy[data-ex=happy]{--blush:.4}.buddy[data-loop=wave] .m-smile,.buddy[data-loop=flex] .m-smile,.buddy[data-ex=happy] .m-smile{opacity:0}.buddy[data-loop=wave] .m-grin,.buddy[data-loop=flex] .m-grin,.buddy[data-ex=happy] .m-grin{opacity:1}.buddy[data-loop=typing] .m-smile{opacity:0}.buddy[data-loop=typing] .m-flat{opacity:1}.buddy[data-loop=music] .m-smile,.buddy[data-loop=cook] .m-smile{opacity:0}.buddy[data-loop=music] .m-hum,.buddy[data-loop=cook] .m-hum{opacity:1}.buddy[data-loop=curl] .m-smile,.buddy[data-loop=press] .m-smile{opacity:0}.buddy[data-loop=curl] .m-strain,.buddy[data-loop=press] .m-strain{opacity:1}.buddy[data-loop=sleep] .m-smile{opacity:0}.buddy[data-loop=sleep] .m-o{opacity:.8}.buddy[data-ex]:not([data-ex=""]) .m-hum,.buddy[data-ex=surprised] .m,.buddy[data-ex=taste] .m,.buddy[data-ex=wince] .m{opacity:0}.buddy[data-ex=surprised] .m-o,.buddy[data-ex=taste] .m-o,.buddy[data-ex=wince] .m-flat{opacity:1}.motion .buddy .steam path{transform-box:fill-box;animation:2.2s ease-in-out infinite steam}.motion .buddy .steam path:nth-child(2){animation-delay:-.7s}.motion .buddy .steam path:nth-child(3){animation-delay:-1.4s}@keyframes steam{0%{opacity:0;transform:translateY(6px)scaleY(.8)}40%{opacity:1}to{opacity:0;transform:translateY(-8px)scaleY(1.1)}}.motion .buddy .glyphs text,.motion .buddy .notes text,.motion .buddy .zzz text{transform-box:fill-box}.motion .buddy .glyphs text{animation:1.8s ease-out infinite rise}.motion .buddy .glyphs text:nth-child(2){animation-delay:-.45s}.motion .buddy .glyphs text:nth-child(3){animation-delay:-.9s}.motion .buddy .glyphs text:nth-child(4){animation-delay:-1.35s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}30%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.motion .buddy .notes text{animation:2.4s ease-out infinite rise}.motion .buddy .notes text:nth-child(2){animation-delay:-1.2s}.motion .buddy .zzz text{animation:2.6s ease-out infinite rise}.motion .buddy .zzz text:nth-child(2){animation-delay:-.9s}.motion .buddy .zzz text:nth-child(3){animation-delay:-1.8s}.motion .buddy .sweat{transform-box:fill-box;animation:1.8s ease-in infinite drip}@keyframes drip{0%,40%{transform:none}to{transform:translateY(10px)}}.cat{pointer-events:none;visibility:hidden;transform-origin:50% 100%;width:46%;position:absolute;bottom:0;left:74%}.buddy:not([data-cpose=none]) .cat{visibility:visible}.cat svg{width:100%;height:auto;display:block;overflow:visible}.c-sit,.c-loaf,.c-walk,.c-stretch{opacity:0;transition:opacity .16s}.buddy[data-cpose=sit] .c-sit,.buddy[data-cpose=loaf] .c-loaf,.buddy[data-cpose=walk] .c-walk,.buddy[data-cpose=stretch] .c-stretch{opacity:1}@media (width<=760px){.buddy{width:92px;left:auto;right:6px}.peek{left:auto;right:6px}.bubble{transform-origin:100% 100%;border-radius:10px 10px 2px;left:auto;right:40%}.cat{left:-40%}}
