@font-face{font-family:Inter;font-style:normal;font-weight:100 900;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 Fallback;src:local(Arial),local(Helvetica);size-adjust:107%;ascent-override:90%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-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}:root{--bg:#fafafa;--surface:#fff;--text:#18181b;--muted:#5b5b6b;--primary:#4f46e5;--accent:#b45309;--line:#e4e4ea;--font-sans:"Inter", "Inter Fallback", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--h1:clamp(2.25rem, 4.6vw, 3.5rem);--h2:2rem;--h3:1.25rem;--lead:1.125rem;--body:1rem;--label:.8125rem;--measure:62ch;--max:1080px;--pad:48px;--gutter:48px;--head-h:60px;--d-fill:.12s;--d-hover:.15s;--d-theme:.2s;--d-read:.4s;--d-intro:.45s;--ease:cubic-bezier(.2, .7, .2, 1);--lead-vh:.4;color-scheme:light}@media (width>=1024px){:root{--body:1.0625rem}}@media (width<=760px){:root{--pad:16px;--gutter:24px;--head-h:92px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0b12;--surface:#14141f;--text:#ececf1;--muted:#9c9cb0;--primary:#818cf8;--accent:#fbbf24;--line:#26263a;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0b12;--surface:#14141f;--text:#ececf1;--muted:#9c9cb0;--primary:#818cf8;--accent:#fbbf24;--line:#26263a;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--d-fill:0s;--d-hover:0s;--d-theme:0s;--d-read:0s;--d-intro:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--body);-webkit-font-smoothing:antialiased;transition:background-color var(--d-theme) var(--ease), color var(--d-theme) var(--ease);margin:0;line-height:1.55}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}[id]{scroll-margin-top:calc(var(--head-h) + 16px)}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600}h1{font-size:var(--h1);letter-spacing:-.03em;line-height:1.05}h2{font-size:var(--h2);line-height:1.1}h3{font-size:var(--h3);font-weight:500;line-height:1.25}p{max-width:var(--measure);margin:0}p+p{margin-top:.75em}.lead{font-size:var(--lead);color:var(--muted)}.mono{font-family:var(--font-mono);font-size:var(--label);letter-spacing:.02em}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.num{font-variant-numeric:tabular-nums}.link{color:var(--muted);transition:color var(--d-hover) var(--ease);text-decoration:none}.link:hover,.link:focus-visible{color:var(--primary)}.link-text{color:var(--text);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em;transition:text-decoration-color var(--d-hover) var(--ease), color var(--d-hover) var(--ease)}.link-text:hover,.link-text:focus-visible{color:var(--primary);text-decoration-color:var(--primary)}.btn{background:var(--primary);color:#fff;transition:background-color var(--d-hover) var(--ease);border-radius:8px;padding:12px 18px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-block}.btn:hover,.btn:focus-visible{background:color-mix(in srgb, var(--primary) 85%, var(--text))}.chip{font-family:var(--font-mono);border:1px solid var(--line);color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 10px;font-size:.75rem;display:inline-block}.rail{max-width:var(--max);padding:8px var(--pad) 40px;margin:0 auto;position:relative}.rail-track,.rail-line{top:0;bottom:0;left:calc(var(--pad) + var(--gutter) / 2 - 1px);pointer-events:none;width:2px;position:absolute}.rail-track{background:var(--line)}.rail-line{background:var(--primary);transform-origin:top;transform:scaleY(1)}html.js .rail-line{transform:scaleY(var(--reach,0))}html.js .rail-line.intro{transition:transform var(--d-intro) var(--ease)}.row{grid-template-columns:var(--gutter) minmax(0, 1fr);column-gap:20px;display:grid}.row>.cell{min-width:0}.node{border:2px solid var(--primary);background:var(--primary);width:14px;height:14px;transition:border-color var(--d-fill) linear, background-color var(--d-fill) linear;border-radius:50%;justify-self:center;margin-top:8px}.node.small{width:10px;height:10px;margin-top:16px}.node.end{width:16px;height:16px}html.js .row:not(.reached) .node{border-color:var(--line);background:var(--bg)}.section{padding:40px 0 8px}.row.stack-row{padding:14px 0 6px}.section .eyebrow{transition:color var(--d-fill) linear;margin-bottom:6px}html.js .row:not(.reached) .section .eyebrow{color:var(--muted)}.row.reached .section .eyebrow{color:var(--primary)}.beads{flex-wrap:wrap;align-items:flex-start;gap:12px 18px;display:flex}.bead{flex-direction:column;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.bead .ring{border:1.5px solid var(--primary);width:44px;height:44px;color:var(--primary);transition:border-color var(--d-hover) var(--ease), color var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease);border-radius:50%;place-items:center;display:grid}.bead .ic{fill:currentColor;width:20px;height:20px}.bead .name{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.6875rem}html.js .row:not(.reached) .bead .ring{border-color:var(--line);color:var(--muted)}.rail .bead:hover .ring,.rail .bead:focus-visible .ring{background:color-mix(in srgb, var(--primary) 8%, transparent);border-color:var(--primary);color:var(--brand,var(--primary))}.beads.sm{gap:8px}.beads.sm .bead .ring{width:32px;height:32px}.beads.sm .bead .ic{width:15px;height:15px}.beads.sm .bead .name{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .rail-line,html.js .rail-line.intro{transition:none;transform:scaleY(1)}html.js .row:not(.reached) .node{border-color:var(--primary);background:var(--primary)}html.js .row:not(.reached) .bead .ring{border-color:var(--primary);color:var(--primary)}html.js .row:not(.reached) .section .eyebrow{color:var(--primary)}}.theme[data-astro-cid-l6lhmie6]{width:36px;height:36px;color:var(--muted);transition:color var(--d-hover) var(--ease), background-color var(--d-hover) var(--ease);border-radius:50%;place-items:center;display:grid}.theme[data-astro-cid-l6lhmie6]:hover,.theme[data-astro-cid-l6lhmie6]:focus-visible{color:var(--text);background:color-mix(in srgb, var(--primary) 8%, transparent)}.theme[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{width:18px;height:18px}.sun[data-astro-cid-l6lhmie6]{display:none}.moon[data-astro-cid-l6lhmie6]{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sun[data-astro-cid-l6lhmie6]{display:block}:root:not([data-theme=light]) .moon[data-astro-cid-l6lhmie6]{display:none}}:root[data-theme=dark] .sun[data-astro-cid-l6lhmie6]{display:block}:root[data-theme=dark] .moon[data-astro-cid-l6lhmie6]{display:none}.site-head[data-astro-cid-nen7h5rs]{z-index:10;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background-color var(--d-theme) var(--ease);position:sticky;top:0}.inner[data-astro-cid-nen7h5rs]{max-width:var(--max);height:var(--head-h);padding:0 var(--pad);align-items:center;gap:28px;margin:0 auto;display:flex}.mark[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);color:var(--text);align-items:center;gap:10px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.dot[data-astro-cid-nen7h5rs]{background:var(--primary);border-radius:50%;width:10px;height:10px}nav[data-astro-cid-nen7h5rs]{gap:22px;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);transition:color var(--d-hover) var(--ease);font-size:.9375rem;text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:focus-visible,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text)}.elev[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.75rem}.elev[data-astro-cid-nen7h5rs] b[data-astro-cid-nen7h5rs]{color:var(--accent);font-weight:500}@media (width<=760px){.site-head[data-astro-cid-nen7h5rs]{background:var(--bg);-webkit-backdrop-filter:none}.inner[data-astro-cid-nen7h5rs]{height:auto;min-height:var(--head-h);padding:10px var(--pad);flex-wrap:wrap;gap:10px 14px}nav[data-astro-cid-nen7h5rs]{order:3;gap:14px;width:100%}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);padding:6px 0;font-size:.8125rem}}.sayhi[data-astro-cid-xhftecch] h2[data-astro-cid-xhftecch]{margin-bottom:8px}.sayhi[data-astro-cid-xhftecch] .lead[data-astro-cid-xhftecch]{margin-bottom:18px}.big[data-astro-cid-xhftecch]{letter-spacing:-.02em;color:var(--primary);overflow-wrap:anywhere;font-size:clamp(1.375rem,3vw,2.125rem);font-weight:600;text-decoration:none;display:inline-block}.links[data-astro-cid-xhftecch]{flex-wrap:wrap;gap:20px;margin-top:18px;display:flex}.foot[data-astro-cid-hkbrpulz]{border-top:1px solid var(--line)}.foot-inner[data-astro-cid-hkbrpulz]{max-width:var(--max);padding:24px var(--pad);color:var(--muted);flex-wrap:wrap;gap:8px 24px;margin:0 auto;display:flex}.legend[data-astro-cid-hkbrpulz]{margin-left:auto}
