@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/space-grotesk-latin.1ii7211jqpzi_.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/jetbrains-mono-latin.269kn9uafm0ti.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{--f2-ink:#101216;--f2-bone:#eceae2;--f2-amber:#e59a3c;--f2-ink-900:#0b0d11;--f2-ink-800:#101216;--f2-ink-700:#15181e;--f2-ink-600:#1b1f26;--f2-ink-500:#2a2f38;--f2-ink-400:#3c414b;--f2-gray-500:#6e727c;--f2-gray-400:#8b8f99;--f2-gray-300:#a6a9b2;--f2-gray-200:#c7c8ce;--f2-paper-100:#f6f5f0;--f2-paper-200:#eceae2;--f2-paper-300:#dedbd0;--f2-paper-400:#cfcbbe;--f2-paper-500:#b7b2a3;--f2-amber-soft:#1b1610;--f2-amber-wash:#fbf1e2;--f2-amber-press:#c57e2e;--f2-amber-deep:#9a5a14;--f2-azure:#1c97f3;--f2-azure-deep:#1375bf;--f2-magenta:#af38a9;--f2-magenta-deep:#890f85;--f2-indigo:#6659e2;--f2-indigo-deep:#4b35bc;--f2-seq-100:#d7eafe;--f2-seq-200:#abd4fd;--f2-seq-300:#6eb7fb;--f2-seq-400:var(--f2-azure);--f2-seq-500:var(--f2-azure-deep);--f2-seq-600:#0c5891;--f2-seq-700:#063f6b;--f2-success:#4fa873;--f2-warning:#e0b341;--f2-error:#d85c57;--f2-success-deep:#00693a;--f2-warning-deep:#735703;--f2-error-deep:#a62d2e;--f2-error-lift:#eb6d67;--f2-line:#eceae217;--f2-line-strong:#eceae229;--f2-line-ink:#1012161a;--f2-line-ink-strong:#1012162e;--f2-accent-line:#e59a3c59;--f2-font-display:"Space Grotesk", system-ui, -apple-system, sans-serif;--f2-font-body:"Space Grotesk", system-ui, -apple-system, sans-serif;--f2-font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--f2-fw-regular:400;--f2-fw-medium:500;--f2-fw-semibold:600;--f2-fw-bold:700;--f2-size-display:54px;--f2-size-h1:40px;--f2-size-h2:28px;--f2-size-h3:21px;--f2-size-body-lg:19px;--f2-size-body:17px;--f2-size-body-sm:15px;--f2-size-caption:13px;--f2-size-mono-label:12px;--f2-lh-display:1;--f2-lh-h1:1.05;--f2-lh-h2:1.15;--f2-lh-heading:1.2;--f2-lh-body:1.6;--f2-lh-caption:1.5;--f2-ls-display:-.035em;--f2-ls-h1:-.03em;--f2-ls-h2:-.02em;--f2-ls-tight:-.01em;--f2-ls-normal:0;--f2-ls-mono-label:.16em;--f2-ls-mono-tag:.06em;--f2-radius-sm:4px;--f2-radius-control:10px;--f2-radius-md:14px;--f2-radius-lg:20px;--f2-radius-pill:999px;--f2-border-width:1px;--f2-elevation-overlay:0 8px 28px #0b0d1173;--f2-ease:cubic-bezier(.2, 0, 0, 1);--f2-dur-fast:.12s;--f2-dur-base:.22s;--f2-dur-slow:.42s;--f2-unit:8px;--f2-gap:12px;--f2-space-1:4px;--f2-space-2:8px;--f2-space-3:12px;--f2-space-4:16px;--f2-space-5:24px;--f2-space-6:32px;--f2-space-7:48px;--f2-space-8:64px;--f2-space-9:96px;--f2-space-10:128px;--f2-grid-cell:var(--f2-unit);--f2-grid-gap:var(--f2-gap);--f2-grid-cell-radius:var(--f2-radius-sm);--f2-container:1200px;--f2-container-narrow:760px;--f2-surface:var(--f2-ink-800);--f2-surface-raised:var(--f2-ink-700);--f2-surface-card:var(--f2-ink-600);--f2-surface-sunken:var(--f2-ink-900);--f2-surface-accent:var(--f2-amber-soft);--f2-text:var(--f2-bone);--f2-text-secondary:var(--f2-gray-300);--f2-text-muted:var(--f2-gray-400);--f2-text-faint:var(--f2-gray-500);--f2-text-on-accent:var(--f2-ink);--f2-accent:var(--f2-amber);--f2-accent-hover:var(--f2-amber-press);--f2-accent-text:var(--f2-amber);--f2-accent-border:var(--f2-accent-line);--f2-success-text:var(--f2-success);--f2-warning-text:var(--f2-warning);--f2-error-text:var(--f2-error-lift);--f2-chart-1:var(--f2-azure);--f2-chart-2:var(--f2-magenta);--f2-chart-3:var(--f2-indigo);--f2-chart-other:var(--f2-gray-400);--f2-chart-emphasis:var(--f2-amber);--f2-chart-seq-min:var(--f2-seq-600);--f2-chart-seq-max:var(--f2-seq-200);--f2-border:var(--f2-line);--f2-border-strong:var(--f2-line-strong)}:root,[data-theme]{--f2-page-bg:var(--f2-surface);--f2-page-fg:var(--f2-text);--f2-link:var(--f2-accent-text);--f2-link-hover:var(--f2-accent-hover);--f2-btn-bg:var(--f2-accent);--f2-btn-fg:var(--f2-text-on-accent);--f2-btn-bg-hover:var(--f2-accent-hover);--f2-btn-bg-active:var(--f2-accent-hover);--f2-btn-bg-disabled:var(--f2-surface-raised);--f2-btn-fg-disabled:var(--f2-text-faint);--f2-btn-radius:var(--f2-radius-control);--f2-btn-pad-y:10px;--f2-btn-pad-x:18px;--f2-btn2-bg:transparent;--f2-btn2-fg:var(--f2-text);--f2-btn2-border:var(--f2-border-strong);--f2-btn2-bg-hover:var(--f2-surface-raised);--f2-card-bg:var(--f2-surface-card);--f2-card-border:var(--f2-border);--f2-card-radius:var(--f2-radius-md);--f2-card-pad:20px;--f2-input-bg:var(--f2-surface-raised);--f2-input-fg:var(--f2-text);--f2-input-placeholder:var(--f2-text-muted);--f2-input-border:var(--f2-border-strong);--f2-input-focus-ring:var(--f2-accent-text);--f2-input-radius:var(--f2-radius-control);--f2-input-pad-y:10px;--f2-input-pad-x:14px;--f2-divider:var(--f2-border);--f2-border-hairline:var(--f2-border-width) solid var(--f2-border);--f2-ring:0 0 0 2px var(--f2-surface), 0 0 0 4px var(--f2-accent-text);--f2-surface-overlay:var(--f2-surface-card);--f2-accent-contrast:var(--f2-text-on-accent);--f2-border-subtle:var(--f2-border);--f2-focus:var(--f2-accent-text)}:root[data-theme=light],[data-theme=light]{--f2-surface:var(--f2-paper-200);--f2-surface-raised:var(--f2-paper-100);--f2-surface-card:var(--f2-paper-100);--f2-surface-sunken:var(--f2-paper-300);--f2-surface-accent:var(--f2-amber-wash);--f2-text:var(--f2-ink);--f2-text-secondary:var(--f2-ink-500);--f2-text-muted:var(--f2-ink-400);--f2-text-faint:var(--f2-gray-500);--f2-text-on-accent:var(--f2-ink);--f2-accent:var(--f2-amber);--f2-accent-hover:var(--f2-amber-press);--f2-accent-text:var(--f2-amber-deep);--f2-accent-border:var(--f2-accent-line);--f2-success-text:var(--f2-success-deep);--f2-warning-text:var(--f2-warning-deep);--f2-error-text:var(--f2-error-deep);--f2-chart-1:var(--f2-azure-deep);--f2-chart-2:var(--f2-magenta-deep);--f2-chart-3:var(--f2-indigo-deep);--f2-chart-other:var(--f2-ink-400);--f2-chart-emphasis:var(--f2-amber-deep);--f2-chart-seq-min:var(--f2-seq-200);--f2-chart-seq-max:var(--f2-seq-700);--f2-border:var(--f2-line-ink);--f2-border-strong:var(--f2-line-ink-strong)}:root[data-theme=dark],[data-theme=dark]{--f2-surface:var(--f2-ink-800);--f2-surface-raised:var(--f2-ink-700);--f2-surface-card:var(--f2-ink-600);--f2-surface-sunken:var(--f2-ink-900);--f2-surface-accent:var(--f2-amber-soft);--f2-text:var(--f2-bone);--f2-text-secondary:var(--f2-gray-300);--f2-text-muted:var(--f2-gray-400);--f2-text-faint:var(--f2-gray-500);--f2-text-on-accent:var(--f2-ink);--f2-accent:var(--f2-amber);--f2-accent-hover:var(--f2-amber-press);--f2-accent-text:var(--f2-amber);--f2-accent-border:var(--f2-accent-line);--f2-success-text:var(--f2-success);--f2-warning-text:var(--f2-warning);--f2-error-text:var(--f2-error-lift);--f2-chart-1:var(--f2-azure);--f2-chart-2:var(--f2-magenta);--f2-chart-3:var(--f2-indigo);--f2-chart-other:var(--f2-gray-400);--f2-chart-emphasis:var(--f2-amber);--f2-chart-seq-min:var(--f2-seq-600);--f2-chart-seq-max:var(--f2-seq-200);--f2-border:var(--f2-line);--f2-border-strong:var(--f2-line-strong)}@media (prefers-color-scheme:light){:root[data-theme=auto],[data-theme=auto]{--f2-surface:var(--f2-paper-200);--f2-surface-raised:var(--f2-paper-100);--f2-surface-card:var(--f2-paper-100);--f2-surface-sunken:var(--f2-paper-300);--f2-surface-accent:var(--f2-amber-wash);--f2-text:var(--f2-ink);--f2-text-secondary:var(--f2-ink-500);--f2-text-muted:var(--f2-ink-400);--f2-text-faint:var(--f2-gray-500);--f2-text-on-accent:var(--f2-ink);--f2-accent:var(--f2-amber);--f2-accent-hover:var(--f2-amber-press);--f2-accent-text:var(--f2-amber-deep);--f2-accent-border:var(--f2-accent-line);--f2-success-text:var(--f2-success-deep);--f2-warning-text:var(--f2-warning-deep);--f2-error-text:var(--f2-error-deep);--f2-chart-1:var(--f2-azure-deep);--f2-chart-2:var(--f2-magenta-deep);--f2-chart-3:var(--f2-indigo-deep);--f2-chart-other:var(--f2-ink-400);--f2-chart-emphasis:var(--f2-amber-deep);--f2-chart-seq-min:var(--f2-seq-200);--f2-chart-seq-max:var(--f2-seq-700);--f2-border:var(--f2-line-ink);--f2-border-strong:var(--f2-line-ink-strong)}}@media (prefers-reduced-motion:reduce){:root{--f2-dur-fast:0s;--f2-dur-base:0s;--f2-dur-slow:0s}}
*,:before,:after{box-sizing:border-box}body{background:var(--f2-surface);color:var(--f2-text);font-family:var(--f2-font-body);font-size:var(--f2-size-body);line-height:var(--f2-lh-body);font-weight:var(--f2-fw-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.f2-display{font-family:var(--f2-font-display);font-weight:var(--f2-fw-bold);font-size:var(--f2-size-display);line-height:var(--f2-lh-display);letter-spacing:var(--f2-ls-display);text-wrap:balance}.f2-h1{font-family:var(--f2-font-display);font-weight:var(--f2-fw-bold);font-size:var(--f2-size-h1);line-height:var(--f2-lh-h1);letter-spacing:var(--f2-ls-h1);text-wrap:balance}.f2-h2{font-family:var(--f2-font-display);font-weight:var(--f2-fw-semibold);font-size:var(--f2-size-h2);line-height:var(--f2-lh-h2);letter-spacing:var(--f2-ls-h2)}.f2-h3{font-family:var(--f2-font-display);font-weight:var(--f2-fw-semibold);font-size:var(--f2-size-h3);line-height:var(--f2-lh-heading);letter-spacing:var(--f2-ls-tight)}.f2-body{font-size:var(--f2-size-body);line-height:var(--f2-lh-body)}.f2-caption{font-size:var(--f2-size-caption);line-height:var(--f2-lh-caption);font-weight:var(--f2-fw-medium);color:var(--f2-text-muted)}.f2-mono-label{font-family:var(--f2-font-mono);font-weight:var(--f2-fw-medium);font-size:var(--f2-size-mono-label);letter-spacing:var(--f2-ls-mono-label);text-transform:uppercase;color:var(--f2-text-muted)}.f2-mono{font-family:var(--f2-font-mono)}.f2-node{background:var(--f2-accent);border-radius:2px;width:8px;height:8px;display:inline-block}.f2-cursor{vertical-align:text-bottom;background:var(--f2-accent);width:.55em;height:1.05em;animation:1.1s step-end infinite f2-blink;display:inline-block}@keyframes f2-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.f2-cursor{animation:none}}.f2-accent-text{color:var(--f2-accent-text)}a{color:var(--f2-accent-text);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}
.f2-btn:focus-visible{box-shadow:var(--f2-ring);outline:none}

