@font-face{font-family:Inter;src:url(/fonts/inter-var.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter Display;src:url(/fonts/inter-display-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Chivo Mono;src:url(/fonts/chivo-mono-var.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:107%;ascent-override:90%;descent-override:22%}:root{--paper:#f5f5f3;--surface:#ebebe7;--surface-2:#e2e2dd;--ink:#121314;--ink-2:#4b4e52;--ink-3:#6b6e72;--line:#deded9;--signal:#ff4f00;--signal-ink:#b23600;--f-sans:"Inter", "Inter Fallback", system-ui, sans-serif;--f-display:"Inter Display", "Inter", "Inter Fallback", system-ui, sans-serif;--f-mono:"Chivo Mono", ui-monospace, "SF Mono", Menlo, monospace;--wrap:1180px;--col:760px;--text:640px;--pad:clamp(20px, 4vw, 48px);--gap:clamp(16px, 2vw, 28px);--radius:14px;--hdr:64px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--glass:#fafaf8ad;--glass-line:#ffffffbf;color-scheme:light;accent-color:var(--signal)}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--f-sans);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scrollbar-color:var(--ink-3) var(--paper);scrollbar-width:thin;font-feature-settings:"cv11", "ss01";scroll-padding-top:24px;font-size:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{letter-spacing:-.006em;min-height:100vh;caret-color:var(--signal);margin:0;font-size:.9375rem;line-height:1.55;overflow-x:clip}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}img,video,svg,canvas{max-width:100%;display:block}img,video{height:auto}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{font-family:var(--f-display);letter-spacing:-.022em;text-wrap:balance;font-weight:600;line-height:1.1}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{width:100%;max-width:calc(var(--wrap) + var(--pad) * 2);padding-inline:var(--pad);margin-inline:auto}.col{width:100%;max-width:calc(var(--col) + var(--pad) * 2);padding-inline:var(--pad);margin-inline:auto}.sec{padding-top:clamp(64px,11vh,120px)}.label{color:var(--ink-3);font-size:.8125rem;line-height:1.3}.mono{font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.8125rem}.muted{color:var(--ink-3)}.btn{white-space:nowrap;height:36px;transition:background-color .3s var(--ease-out), color .3s var(--ease-out), transform .4s var(--ease-out);border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn svg{width:14px;height:14px}.btn--dark{background:var(--ink);color:var(--paper)}.btn--dark:hover{background:var(--signal);color:#170700}.btn--ghost{color:var(--ink-2);padding:0 6px}.btn--ghost:hover{color:var(--ink)}.btn--ghost svg{transition:transform .4s var(--ease-out)}.btn--ghost:hover svg{transform:translateY(2px)}canvas[data-plotter]{opacity:0;transition:opacity 1.2s var(--ease-out);position:absolute;inset:0}canvas[data-plotter].on{opacity:1}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease-out), transform 1s var(--ease-out);transition-delay:calc(var(--d,0) * 1ms);transform:translateY(14px)}.js [data-reveal].in{opacity:1;transform:none}.js .now{transition:none!important}}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.glass{background:var(--glass);backdrop-filter:blur(28px)saturate(1.7);box-shadow:inset 0 0 0 1px var(--glass-line), 0 0 0 .5px #12131429, 0 8px 24px -12px #12131447, 0 40px 90px -30px #12131466}.titlebar{background:repeating-linear-gradient(#ffffff80 0 1px,#fff0 1px 3px),linear-gradient(#ffffffb3,#e2e3e073);border-bottom:1px solid #12131417}.titlebar__title{color:var(--ink-2);text-shadow:0 1px #ffffffd9;letter-spacing:0;font-size:.8125rem;font-weight:600}.lights{gap:8px;display:flex}.light{width:13px;height:13px;transition:transform .35s var(--spring);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 .5px #00000061,inset 0 -2px 3px #fff6,0 1px 1px #00000024}.light:after{content:"";pointer-events:none;background:linear-gradient(#fffffff2,#fff0);border-radius:50%;height:40%;position:absolute;top:7%;left:22%;right:22%}.light--close{background:radial-gradient(circle at 50% 75%,#ffa59b,#ff5245 55%,#c2281b)}.light--min{background:radial-gradient(circle at 50% 75%,#ffe39a,#ffb420 55%,#c48300)}.light--zoom{background:radial-gradient(circle at 50% 75%,#a6ee98,#33c43f 55%,#178a2b)}.light svg{fill:none;stroke:#280a00b3;stroke-width:1.6px;stroke-linecap:round;opacity:0;width:7px;height:7px;transition:opacity .15s}.lights:hover .light svg,.lights:focus-within .light svg{opacity:1}.light:hover{transform:scale(1.18)}.light:active{transform:scale(.82)}.aqua{isolation:isolate;letter-spacing:0;color:#fff;white-space:nowrap;text-shadow:0 1px 1px #002d7880;height:30px;transition:transform .4s var(--spring), filter .2s;background:linear-gradient(#84c5ff 0%,#3b93f6 48%,#1b70e2 52%,#52b3ff 100%);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #0a3c9680,inset 0 -4px 6px #96e1ff8c,0 2px 3px -1px #0a3c9673,0 8px 16px -8px #1e78f0cc}.aqua:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#fffffff2,#ffffff1f);border-radius:999px;height:52%;position:absolute;top:1px;left:9%;right:9%}.aqua svg{width:11px;height:11px}.aqua:hover{filter:brightness(1.07)saturate(1.1);transform:translateY(-1px)}.aqua:active{filter:brightness(.92);transform:scale(.94)}.aqua--graphite{color:var(--ink);text-shadow:0 1px #ffffffd9;background:linear-gradient(#fff 0%,#ebecee 48%,#d9dbde 52%,#f1f2f4 100%);box-shadow:inset 0 0 0 1px #12131433,inset 0 -4px 6px #ffffffd9,0 1px 2px #12131424}.aqua--sm{height:26px;padding:0 12px;font-size:.78125rem;font-weight:550}@media (prefers-reduced-motion:no-preference){.aqua--pulse{animation:1.8s ease-in-out infinite aqua-pulse}}@keyframes aqua-pulse{50%{filter:brightness(1.12)saturate(1.3)}}.bead{font-variant-numeric:tabular-nums;width:22px;height:22px;color:var(--ink-2);text-shadow:0 1px #ffffffe6;background:radial-gradient(circle at 50% 80%,#fff,#e2e3e5 60%,#c9cbce);border-radius:50%;place-items:center;font-size:.6875rem;font-weight:650;display:inline-grid;position:relative;box-shadow:inset 0 0 0 .5px #1213144d,0 1px 2px #12131429}.bead:after{content:"";background:linear-gradient(#fff,#fff0);border-radius:50%;height:40%;position:absolute;top:6%;left:20%;right:20%}.thread{flex-direction:column;display:flex}.msg{max-width:82%;display:flex}.msg+.msg{margin-top:14px}.msg--in+.msg--in,.msg--out+.msg--out{margin-top:4px}.msg--out{align-self:flex-end}.bubble{isolation:isolate;text-wrap:pretty;overflow-wrap:anywhere;border-radius:20px;padding:10px 15px 11px;font-size:.9375rem;line-height:1.45;position:relative}.bubble:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffffe6,#fff0);border-radius:14px 14px 10px 10px;height:46%;max-height:18px;position:absolute;top:1px;left:10px;right:10px}.msg--in .bubble{color:var(--ink);background:linear-gradient(#fff,#eef0f2);border-bottom-left-radius:6px;box-shadow:inset 0 0 0 1px #12131412,0 1px 2px #12131414}.msg--in+.msg--in .bubble{border-top-left-radius:6px}.msg--out .bubble{color:#fff;text-shadow:0 1px 1px #002d7859;background:linear-gradient(#6bb6ff 0%,#2f88f3 55%,#1f74e6 100%);border-bottom-right-radius:6px;box-shadow:inset 0 0 0 1px #0a3c9659,inset 0 -4px 8px #96e1ff66,0 2px 6px -2px #1464dc80}.msg--out+.msg--out .bubble{border-top-right-radius:6px}.msg--out .bubble:before{background:linear-gradient(#fff9,#fff0)}.typing{align-items:center;gap:4px;height:43px;padding:0 16px;display:inline-flex}.typing i{background:var(--ink-3);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:no-preference){.pop{animation:.45s cubic-bezier(.2,.9,.3,1.15) both pop}.msg--in.pop{transform-origin:0 100%}.msg--out.pop{transform-origin:100% 100%}.msg--in>.pop{transform-origin:0 100%}.shake{animation:.42s shake}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.86)}to{opacity:1;transform:none}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.buddy[data-astro-cid-46zf47ks]{z-index:95;pointer-events:none;transform-origin:0 100%;will-change:transform;position:fixed;top:0;left:0}.buddy__pill[data-astro-cid-46zf47ks],.buddy__ruler[data-astro-cid-46zf47ks]{font-family:var(--f-sans);letter-spacing:-.003em;white-space:nowrap;font-size:.78125rem;font-weight:600}.buddy__ruler[data-astro-cid-46zf47ks]{visibility:hidden;position:absolute;top:0;left:0}.buddy__pill[data-astro-cid-46zf47ks]{isolation:isolate;color:#0b4a34;text-shadow:0 1px #fff9;backdrop-filter:blur(10px)saturate(1.6);opacity:0;transform-origin:0 100%;background:linear-gradient(#dcfdedeb 0%,#acf1d1db 49%,#8ae7bee0 51%,#b2f5d6eb 100%);border-radius:999px 999px 999px 9px;justify-content:center;align-items:center;width:44px;height:28px;padding:0 12px;transition:opacity .18s ease-in,transform .22s ease-in;display:flex;position:relative;overflow:hidden;transform:scale(.5);box-shadow:inset 0 0 0 .5px #ffffffd9,inset 0 -3px 6px #e4fff399,0 0 0 .5px #106e4a52,0 2px 4px -2px #106e4a59,0 12px 26px -10px #1078506b}.buddy__pill[data-astro-cid-46zf47ks]:before{content:"";z-index:-1;background:linear-gradient(#fffffff2,#ffffff1a);border-radius:999px;height:46%;position:absolute;top:1px;left:9px;right:9px}.buddy__text[data-astro-cid-46zf47ks]{transition:opacity .12s}.buddy__pill[data-astro-cid-46zf47ks].is-on{opacity:1;transition:opacity .2s ease-out, transform .5s var(--spring), width .42s cubic-bezier(.3, 1.25, .5, 1);transform:none}.buddy__pill[data-astro-cid-46zf47ks].is-on.is-press{transition-duration:.2s,.12s,.42s;transform:scale(.86)}.buddy__pill[data-astro-cid-46zf47ks].is-on.is-repop{animation:.38s cubic-bezier(.34,1.56,.64,1) repop}@keyframes repop{0%{transform:scale(.86)}to{transform:none}}.buddy[data-astro-cid-46zf47ks].is-left{transform-origin:100% 100%}.buddy[data-astro-cid-46zf47ks].is-left .buddy__pill[data-astro-cid-46zf47ks]{transform-origin:100% 100%;border-bottom-right-radius:9px;border-bottom-left-radius:999px}.buddy[data-astro-cid-46zf47ks].is-down{transform-origin:0 0}.buddy[data-astro-cid-46zf47ks].is-down .buddy__pill[data-astro-cid-46zf47ks]{transform-origin:0 0;border-top-left-radius:9px;border-bottom-left-radius:999px}.buddy[data-astro-cid-46zf47ks].is-left.is-down{transform-origin:100% 0}.buddy[data-astro-cid-46zf47ks].is-left.is-down .buddy__pill[data-astro-cid-46zf47ks]{transform-origin:100% 0;border-top-left-radius:999px;border-top-right-radius:9px;border-bottom-right-radius:999px}@media (prefers-reduced-motion:reduce){.buddy__pill[data-astro-cid-46zf47ks].is-on.is-repop{animation:none}.buddy__pill[data-astro-cid-46zf47ks],.buddy__pill[data-astro-cid-46zf47ks].is-on,.buddy__pill[data-astro-cid-46zf47ks].is-on.is-press{transition:opacity .2s;transform:none}}.snd[data-astro-cid-bqc7nllt]{z-index:60;gap:6px;padding:0 10px 0 9px;position:fixed;bottom:16px;right:16px}.snd__icon[data-astro-cid-bqc7nllt]{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.snd__body[data-astro-cid-bqc7nllt]{fill:currentColor;stroke:none}.snd[data-astro-cid-bqc7nllt][aria-pressed=false] .snd__wave[data-astro-cid-bqc7nllt],.snd[data-astro-cid-bqc7nllt][aria-pressed=true] .snd__off[data-astro-cid-bqc7nllt]{display:none}.snd__led[data-astro-cid-bqc7nllt]{background:radial-gradient(circle at 50% 35%,#e3e5e8,#9a9ea3);border-radius:50%;width:7px;height:7px;transition:background .3s,box-shadow .3s;box-shadow:inset 0 0 0 .5px #0000004d}.snd[data-astro-cid-bqc7nllt][aria-pressed=true] .snd__led[data-astro-cid-bqc7nllt]{background:radial-gradient(circle at 50% 35%,#e0fff0,#3fd08a 60%,#1b9a5e);box-shadow:0 0 6px #3cd28ccc,inset 0 0 0 .5px #00502866}@media (width<=560px){.snd__label[data-astro-cid-bqc7nllt]{display:none}}.skip[data-astro-cid-hkbrpulz]{left:var(--pad);z-index:100;background:var(--ink);color:var(--paper);border-radius:8px;padding:8px 12px;text-decoration:none;position:fixed;top:8px;transform:translateY(-150%)}.skip[data-astro-cid-hkbrpulz]:focus{transform:none}
