@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/jetbrains-mono-latin-700-normal.BYuf6tUa.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-700-normal.D3wTyLJW.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/jetbrains-mono-latin-800-normal.D2mQHRMK.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-800-normal.Dj9qwObk.woff)format("woff")}:root{--bg:#121214;--bg-2:#19191c;--bg-3:#212125;--line:#2c2c31;--line-2:#3a3a40;--text:#ece8df;--muted:#a19c92;--dim:#8c877f;--clay:#d9785a;--clay-2:#e8977c;--clay-3:#b85f43;--cream:#f3efe6;--eye:#121214;--ok:#93c47d;--bad:#e06c5c;--warn:#e5c07b;--blue:#7fa9d6;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--gutter:clamp(16px, 4vw, 40px);--maxw:1320px;--bar-h:112px;--radius:10px;--px:4px;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px;scroll-padding-bottom:var(--bar-h)}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-feature-settings:"calt" 1, "liga" 0;-webkit-font-smoothing:antialiased;padding-bottom:var(--bar-h);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 1px 1px,#ece8df0b 1px,#0000 0);background-size:24px 24px;position:fixed;inset:0}img,svg,canvas{max-width:100%;display:block}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--clay-2);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--cream)}::selection{background:var(--clay);color:var(--bg)}:focus{outline:none}:focus-visible{outline:2px solid var(--clay-2);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{z-index:100;background:var(--cream);color:var(--bg);border-radius:6px;padding:10px 14px;font-weight:700;text-decoration:none;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}main{z-index:1;position:relative}.wrap{width:100%;max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.top{z-index:40;padding:12px var(--gutter);-webkit-backdrop-filter:blur(6px);background:linear-gradient(#121214eb,#12121499 70%,#0000);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}.brand{color:var(--text);letter-spacing:.02em;align-items:center;gap:10px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.brand .critter{width:30px}.brand span b{color:var(--clay);font-weight:700}.top-actions{align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line-2);min-height:34px;color:var(--text);background:#19191ccc;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;line-height:1;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--clay);color:var(--cream)}.chip[aria-pressed=true]{background:var(--clay);border-color:var(--clay);color:var(--bg)}.chip .k{color:var(--muted)}@media (width<=380px){.top{gap:8px}.brand{gap:6px;font-size:12px}.brand .critter{width:24px}.chip{min-height:32px;padding:4px 9px;font-size:12px}}.rail{z-index:30;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:none;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.rail a{color:var(--dim);justify-content:flex-end;align-items:center;gap:8px;padding:2px 0;font-size:11px;text-decoration:none;display:flex}.rail a .lbl{opacity:0;white-space:nowrap;transition:opacity .2s,transform .2s;transform:translate(6px)}.rail a .sq{background:var(--line-2);width:8px;height:8px;transition:background .2s,transform .2s}.rail a:hover .lbl,.rail a:focus-visible .lbl{opacity:1;color:var(--text);transform:none}.rail a.on .sq{background:var(--clay);transform:scale(1.35)}.rail a.seen:not(.on) .sq{background:var(--clay-3)}@media (width>=1180px){.rail{display:flex}}.critter{aspect-ratio:20/13;width:64px;line-height:0;display:inline-block;position:relative}.critter .critter-svg{width:100%;height:100%;overflow:visible}.critter .f{display:none}.critter[data-state=idle] .f-idle,.critter[data-state=happy] .f-happy,.critter[data-state=wave] .f-wave,.critter[data-state=angry] .f-angry,.critter[data-state=sleep] .f-sleep,.critter[data-state=think] .f-think,.critter[data-state=dizzy] .f-dizzy,.critter[data-state=cool] .f-cool{display:inline}.critter[data-state=idle] .f-blink{opacity:0;animation:4.2s step-end infinite blink;display:inline}.critter[data-state=idle] .f-idle{animation:4.2s step-end infinite unblink}.critter[data-state=walk] .f-walkA{animation:.36s step-end infinite fa;display:inline}.critter[data-state=walk] .f-walkB{animation:.36s step-end infinite fb;display:inline}.critter[data-state=surf] .f-surfA{animation:.8s step-end infinite fa;display:inline}.critter[data-state=surf] .f-surfB{animation:.8s step-end infinite fb;display:inline}.critter[data-state=work] .f-walkA{animation:.2s step-end infinite fa;display:inline}.critter[data-state=work] .f-think{animation:.2s step-end infinite fb;display:inline}@keyframes fa{0%{opacity:1}50%{opacity:0}}@keyframes fb{0%{opacity:0}50%{opacity:1}}@keyframes blink{0%,95%{opacity:0}96%,to{opacity:1}}@keyframes unblink{0%,95%{opacity:1}96%,to{opacity:0}}.critter .zzz{color:var(--muted);font-size:12px;font-weight:700;line-height:1;display:none;position:absolute;top:-18px;right:-6px}.critter[data-state=sleep] .zzz{animation:2s steps(3,end) infinite zz;display:block}@keyframes zz{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translate(6px,-6px)}}.bubble{background:var(--cream);color:#17171a;border-radius:14px;padding:14px 18px;font-weight:700;line-height:1.35;position:relative;box-shadow:0 10px 30px #00000059}.bubble:after{content:"";border:10px solid #0000;border-top-color:var(--cream);border-bottom:0;border-right:0;position:absolute;bottom:-10px;right:46px}.cursor-block{vertical-align:-.18em;background:var(--clay);width:.6em;height:1.1em;margin-left:2px;animation:1.05s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.step{min-height:60vh;padding:clamp(64px,9vw,120px) 0 clamp(40px,6vw,80px);position:relative}.call{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px;font-size:14px;display:flex}.call .dot{color:var(--clay);font-size:12px;transform:translateY(-1px)}.call .tool{color:var(--text);font-weight:700}.call .arg{color:var(--muted)}.call .num{color:var(--dim);margin-left:auto;font-size:12px}.res{color:var(--dim);gap:10px;margin:0 0 22px 2px;font-size:13px;display:flex}.elbow{border-left:1px solid var(--dim);border-bottom:1px solid var(--dim);flex:none;width:10px;height:10px;display:inline-block;transform:translateY(2px)}.h2{letter-spacing:-.035em;text-wrap:balance;max-width:17ch;margin:0 0 22px;font-size:clamp(34px,6.4vw,76px);font-weight:800;line-height:1.02}.h2 em{color:var(--clay);font-style:normal}.lead{color:var(--muted);max-width:64ch;margin:0 0 32px;font-size:clamp(15px,1.6vw,18px)}.lead strong{color:var(--text);font-weight:700}.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.panel-head{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.panel-head .lights{gap:6px;margin-right:6px;display:flex}.panel-head .lights i{background:var(--line-2);width:9px;height:9px;display:block}.panel-head .lights i:first-child{background:var(--clay)}.btn{border:1px solid var(--line-2);background:var(--bg-3);min-height:44px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 18px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .12s,background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--clay);color:var(--cream)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--cream);color:#17171a;border-color:var(--cream);box-shadow:0 3px 0 var(--clay-3)}.btn.primary:hover{background:#fff}.btn.clay{background:var(--clay);color:#17171a;border-color:var(--clay);box-shadow:0 3px 0 var(--clay-3)}.btn.clay:hover{background:var(--clay-2);color:#17171a}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn kbd{font:inherit;opacity:.7;border:1px solid;border-radius:4px;padding:1px 6px;font-size:12px}.tag{border:1px solid var(--line-2);color:var(--muted);border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.tag.warn{color:var(--warn);border-color:#e5c07b59}.term{font-size:14px;line-height:1.6}.term .ok{color:var(--ok)}.term .bad{color:var(--bad)}.term .warn{color:var(--warn)}.term .clay{color:var(--clay)}.term .mut{color:var(--muted)}.term .dim{color:var(--dim)}.grid-2{grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,56px);display:grid}.grid-2>*{min-width:0}@media (width>=960px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}html.reveal .step:not(.in):not(.hero) .call,html.reveal .step:not(.in):not(.hero) .res,html.reveal .step:not(.in):not(.hero) .h2,html.reveal .step:not(.in):not(.hero) .lead{opacity:0;transform:translateY(14px)}.step .call,.step .res,.step .h2,.step .lead{transition:opacity .55s,transform .55s cubic-bezier(.2,.8,.2,1)}.step.in .res{transition-delay:.12s}.step.in .h2{transition-delay:.2s}.step.in .lead{transition-delay:.32s}html.compact .step .call,html.compact .step .res,html.compact .step .h2,html.compact .step .lead{opacity:1!important;transform:none!important}.tldr{display:none}html.compact .tldr{display:block}html.compact .toy{display:none!important}html.compact .step{min-height:0;padding:48px 0 24px}html.compact .hero{min-height:0}html.compact .h2{font-size:clamp(26px,4vw,40px)}@keyframes rainbow{to{background-position:200% 0}}html.ultra .h2,html.ultra .ultra-target{background:linear-gradient(90deg,#e06c5c,#e5c07b,#93c47d,#7fa9d6,#c49be0,#e06c5c) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:2.4s linear infinite rainbow}html.ultra .ansi .ansi-s1{stop-color:#e5c07b}html.ultra .ansi .ansi-s2{stop-color:#7fa9d6}.toasts{right:var(--gutter);bottom:calc(var(--bar-h) + 12px);z-index:60;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--bg-2);border:1px solid var(--line-2);border-left:3px solid var(--clay);color:var(--text);border-radius:8px;max-width:min(360px,100vw - 32px);padding:10px 14px;font-size:13px;animation:.25s ease-out toastIn;box-shadow:0 10px 30px #0006}.toast.secret{border-left-color:var(--ok)}.toast .t1{color:var(--ok);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}.cb{vertical-align:-1px;border:1.5px solid;border-radius:2px;flex:none;width:13px;height:13px;margin-right:8px;display:inline-block;position:relative}.cb.on:after{content:"";border:2px solid;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:0;left:3px;transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.critter[data-state=idle] .f-blink,.critter[data-state=walk] .f-walkB,.critter[data-state=surf] .f-surfB,.critter[data-state=work] .f-think{display:none}.critter[data-state=walk] .f-walkA,.critter[data-state=surf] .f-surfA,.critter[data-state=idle] .f-idle,.critter[data-state=work] .f-walkA{opacity:1}.cursor-block{animation:none}}
