@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:500;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-display:block}:root{--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-sm:11px;--fs-md:13px;--fs-lg:16px;--fs-xl:24px;--fs-2xl:clamp(24px, 2.8vw, 34px);--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1424;--box:#101828;--panel:#141e33;--well:#090e1a;--fg:#e9edf5;--dim:#7f8ba3;--faint:#3a4660;--accent:#f6c6d4;--danger:#ff9a9a;--ok:#8fe3b0;--drop:#04070e;--gutter:clamp(16px, 4vw, 48px);--dither:repeating-conic-gradient(var(--dim) 0 25%, transparent 0 50%) 0 0 / 3px 3px;--hero-gap:20px;--hero-gap-inner:calc(var(--hero-gap) / 2);--hero-gap-tight:calc(var(--hero-gap) * .3)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0}body{font-family:var(--mono);font-size:var(--fs-md);padding-inline:var(--gutter);-webkit-font-smoothing:antialiased;padding-block:0 48px;line-height:1.6}a{color:inherit;text-underline-offset:4px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--bg)}.skip{background:var(--bg);border:1px solid var(--fg);z-index:5;padding:6px 10px;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:28px;max-width:1200px;margin:0 auto;padding-block:12px;display:flex}.wordmark{letter-spacing:-.04em;margin-right:auto;font-weight:700;text-decoration:none}.cursor{color:var(--accent);animation:1.1s step-end infinite blink}nav{align-items:center;gap:22px;display:flex}nav a{color:var(--dim);text-decoration:none}nav a:hover{color:var(--fg);text-decoration:underline}.nav-icon svg{fill:currentColor;width:1em;height:1em;display:block}.hero{gap:var(--hero-gap);flex-direction:column;max-width:1200px;margin:0 auto;padding-top:clamp(16px,3vh,28px);display:flex}h1{letter-spacing:-.045em;font-weight:500;line-height:1.08;font-size:var(--fs-2xl);text-wrap:balance;text-align:center;margin:0}.intro-carousel{text-align:center;gap:var(--hero-gap-inner);flex-direction:column;width:100%;max-width:84ch;margin-inline:auto;display:flex}.intro-slides{touch-action:pan-y;align-items:center;display:grid}.intro-card{color:var(--dim);gap:var(--hero-gap-inner);flex-direction:column;grid-area:1/1;display:flex}.intro-card p{text-wrap:pretty;margin:0}.intro-carousel.enhanced .intro-card[hidden]{visibility:hidden;pointer-events:none;display:flex}.intro-controls{justify-content:center;align-items:center;gap:10px;display:flex}.intro-controls[hidden]{display:none}.intro-controls button{font:inherit;color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0}.intro-controls button:hover{color:var(--fg)}.intro-dots{display:flex}.intro-dots button{width:24px;height:24px;position:relative}.intro-dots button:before{content:"";background:var(--faint);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-dots button:hover:before{background:var(--dim)}.intro-dots button[aria-current=true]:before{background:var(--accent)}.intro-card .hero-statement{color:var(--fg);font-weight:500}.ctas{flex-wrap:wrap;justify-content:center;gap:14px 18px;display:flex}.btn{color:var(--fg);background:var(--panel);border:1.5px solid var(--fg);box-shadow:3px 3px 0 var(--drop);border-radius:3px;padding:9px 20px;font-weight:500;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn:hover{box-shadow:2px 2px 0 var(--drop);transform:translate(1px,1px)}.btn:active{box-shadow:none;transform:translate(3px,3px)}.diagram{gap:var(--hero-gap-inner);flex-direction:column;margin:0;display:flex}.diagram-frame{padding-bottom:4px;overflow:auto hidden}#diagram{width:max-content;font-family:var(--mono);font-size:var(--fs-md);letter-spacing:0;color:var(--fg);white-space:pre;-webkit-user-select:none;user-select:none;font-variant-ligatures:none;margin:0 auto;line-height:1.18}#diagram .d{color:var(--faint)}#diagram .l{color:var(--dim)}#diagram .s{color:var(--dim);opacity:.55}#diagram .on{color:var(--fg)}#diagram .p{color:var(--accent);font-weight:700}#diagram .t{color:var(--accent);opacity:.45}#diagram .h{color:var(--fg);font-weight:700}#diagram .a{color:var(--accent)}#diagram .g{color:var(--ok)}.steps{gap:var(--hero-gap-tight);flex-direction:column;width:min(800px,100%);margin-inline:auto;display:flex}.track{grid-template-columns:repeat(5,minmax(0,1fr));width:min(640px,100%);margin-inline:auto;padding-top:14px;display:grid;position:relative}.track:before{content:"";border-top:1px dashed var(--faint);position:absolute;top:4px;left:0;right:0}.dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;transition:transform .7s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:0}.track button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;color:var(--dim);padding:2px 0;transition:color .3s}.track button:hover,.track button[aria-current=step]{color:var(--fg)}.track button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.caption-row{grid-template-columns:8ch minmax(0,1fr) 8ch;align-items:start;display:grid}.caption-scroll{scrollbar-width:thin;scrollbar-color:var(--faint) transparent;grid-column:2;min-width:0;height:36px;overflow:auto hidden}.caption{text-align:center;width:max-content;min-width:100%;color:var(--dim);white-space:nowrap;margin:0;line-height:1.6;transition:opacity .25s}.link{all:unset;cursor:pointer;color:var(--dim);grid-column:3;justify-self:end;line-height:1.6}.link:hover{color:var(--fg)}.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes blink{50%{opacity:0}}@media (width<=700px){.caption-row{grid-template-columns:minmax(0,1fr);row-gap:4px}.caption-scroll,.link{grid-column:1}.link{justify-self:center}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}.dot,.caption{transition:none}.btn,.btn:hover,.btn:active{transition:none;transform:none}}
