:root{--color-graphite-0: #0b0d0f;--color-graphite-1: #111417;--color-graphite-2: #171b1f;--color-graphite-3: #1e2328;--color-graphite-4: #272d33;--color-graphite-5: #333a42;--color-graphite-6: #5a636d;--color-graphite-7: #6b757f;--color-graphite-8: #9aa3ac;--color-graphite-9: #c6ccd2;--color-graphite-10: #eef1f4;--color-amber-0: #5c3a00;--color-amber-1: #b87d0a;--color-amber-2: #ffb224;--color-status-ok: #4ade80;--color-status-warn: #fbbf24;--color-status-fail: #ff7b72;--color-canvas: #0b0d0f;--color-surface: #111417;--color-surface-raised: #171b1f;--color-rule: #272d33;--color-rule-strong: #5a636d;--color-grid: #1e2328;--color-text: #eef1f4;--color-text-secondary: #c6ccd2;--color-text-muted: #9aa3ac;--color-signal: #ffb224;--color-signal-dim: #b87d0a;--color-signal-trace: #5c3a00;--color-ok: #4ade80;--color-warn: #fbbf24;--color-fail: #ff7b72;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--font-size-2xs: .694rem;--font-size-xs: .833rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-md: 1.2rem;--font-size-lg: 1.44rem;--font-size-xl: 1.728rem;--font-size-2xl: 2.074rem;--font-size-3xl: 2.488rem;--font-size-4xl: 2.986rem;--line-height-tight: 1.1;--line-height-snug: 1.3;--line-height-normal: 1.55;--line-height-relaxed: 1.7;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .04em;--letter-spacing-wider: .09em;--font-sans: "InterVariable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;--font-display: "InterVariable", "Inter", system-ui, -apple-system, sans-serif;--border-hairline: 1px;--border-thick: 2px;--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-full: 9999px;--measure-prose: 68ch;--measure-narrow: 48ch;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--z-base: 0;--z-raised: 10;--z-overlay: 100;--z-modal: 1000;--touch-target: 44px;--dur-fast: .12s;--dur-base: .24s;--dur-slow: .48s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100svh;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code,kbd,samp,pre,[data-numeric]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}img,picture,svg,video,canvas{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button,[role=button],a[data-tap]{min-height:var(--touch-target);min-width:var(--touch-target)}h1,h2,h3,h4{line-height:var(--line-height-tight);text-wrap:balance;font-weight:var(--font-weight-semibold)}p,li{text-wrap:pretty}:focus-visible{outline:var(--border-thick) solid var(--color-signal);outline-offset:2px}:where(a){color:inherit;text-underline-offset:.2em}html,body{overflow-x:clip}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important;view-transition-name:none!important}}@font-face{font-family:InterVariable;src:url(/fonts/inter-latin-400-600.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.shell{width:100%;max-width:72rem;margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:768px){.shell{padding-inline:var(--space-8)}}.skip-link{position:absolute;left:var(--space-4);top:calc(var(--space-4) * -6);z-index:var(--z-overlay);padding:var(--space-2) var(--space-4);background:var(--color-surface-raised);border:var(--border-hairline) solid var(--color-signal);transition:top var(--dur-fast) var(--ease-out)}.skip-link:focus-visible{top:var(--space-4)}.section-label{font-family:var(--font-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-muted)}.rule{border:0;border-top:var(--border-hairline) solid var(--color-rule)}.section{border-top:var(--border-hairline) solid var(--color-rule)}.section__inner{display:grid;gap:var(--space-8);padding-block:var(--space-16)}.section__head{display:grid;gap:var(--space-2);align-content:start}.section__index{font-family:var(--font-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}.section__head h2{font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-tight)}@media(min-width:1024px){.section__inner{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-6);padding-block:var(--space-24)}.section__head{grid-column:1 / 4;position:sticky;top:var(--space-8);align-self:start}.section__body{grid-column:4 / -1}}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding-inline:var(--space-4);border:var(--border-hairline) solid var(--color-rule-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:border-color var(--dur-fast) var(--ease-out)}.button:hover{border-color:var(--color-text-secondary)}.button--primary{background:var(--color-text);border-color:var(--color-text);color:var(--color-canvas)}.button--primary:hover{background:var(--color-text-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
