/* Generated from design/tokens.json by tools/build_tokens.py. */
@font-face{font-family:Manrope;src:url('./fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Mono';src:url('./fonts/dm-mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{
  --primitive-color-neutral-0:#f2f2f2;
  --primitive-color-neutral-50:#e4e4e4;
  --primitive-color-neutral-100:#d7d7d7;
  --primitive-color-neutral-150:#cacaca;
  --primitive-color-neutral-200:#bebebe;
  --primitive-color-neutral-250:#b1b1b1;
  --primitive-color-neutral-300:#a4a4a4;
  --primitive-color-neutral-350:#989898;
  --primitive-color-neutral-400:#8c8c8c;
  --primitive-color-neutral-450:#808080;
  --primitive-color-neutral-500:#747474;
  --primitive-color-neutral-550:#696969;
  --primitive-color-neutral-600:#5d5d5d;
  --primitive-color-neutral-650:#525252;
  --primitive-color-neutral-700:#484848;
  --primitive-color-neutral-750:#3d3d3d;
  --primitive-color-neutral-800:#333333;
  --primitive-color-neutral-850:#292929;
  --primitive-color-neutral-900:#1f1f1f;
  --primitive-color-neutral-950:#161616;
  --primitive-color-neutral-1000:#0d0d0d;
  --primitive-color-neutral-925:#1b1b1b;
  --primitive-color-neutral-975:#121212;
  --primitive-color-neutral-paper:#fafafa;
  --primitive-color-amber-light:#e8bc78;
  --primitive-color-amber-dark:#775313;
  --primitive-color-red-light:#f2a7a3;
  --primitive-color-red-dark:#90302e;
  --primitive-space-0:0px;
  --primitive-space-1:4px;
  --primitive-space-2:8px;
  --primitive-space-3:12px;
  --primitive-space-4:16px;
  --primitive-space-5:20px;
  --primitive-space-6:24px;
  --primitive-space-8:32px;
  --primitive-space-10:40px;
  --primitive-space-12:48px;
  --primitive-space-16:64px;
  --primitive-space-20:80px;
  --primitive-space-24:96px;
  --primitive-space-32:128px;
  --primitive-type-0:0.64rem;
  --primitive-type-1:0.8rem;
  --primitive-type-2:1.0rem;
  --primitive-type-3:1.25rem;
  --primitive-type-4:1.5625rem;
  --primitive-type-5:1.953125rem;
  --primitive-type-6:2.441406rem;
  --primitive-type-7:3.051758rem;
  --primitive-type-8:3.814697rem;
  --primitive-type-9:4.768372rem;
  --primitive-font-sans:Manrope,Arial,sans-serif;
  --primitive-font-mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --primitive-radius-small:4px;
  --primitive-radius-medium:8px;
  --primitive-radius-large:12px;
  --primitive-duration-instant:100ms;
  --primitive-duration-fast:180ms;
  --primitive-duration-moderate:320ms;
  --primitive-duration-slow:520ms;
  --primitive-duration-exit:180ms;
  --primitive-duration-reduced:150ms;
  --primitive-ease-out-expo:cubic-bezier(.16,1,.3,1);
  --primitive-ease-in-out-quint:cubic-bezier(.83,0,.17,1);
  --primitive-shadow-ambient:0 1px 2px rgb(0 0 0 / .10), 0 16px 48px rgb(0 0 0 / .16);
  --primitive-shadow-inset:inset 0 1px 0 rgb(255 255 255 / .08);
}

@supports(color:oklch(0.5 0 0)){:root{
  --primitive-color-neutral-0:oklch(0.96 0 0);
  --primitive-color-neutral-50:oklch(0.92 0 0);
  --primitive-color-neutral-100:oklch(0.88 0 0);
  --primitive-color-neutral-150:oklch(0.84 0 0);
  --primitive-color-neutral-200:oklch(0.8 0 0);
  --primitive-color-neutral-250:oklch(0.76 0 0);
  --primitive-color-neutral-300:oklch(0.72 0 0);
  --primitive-color-neutral-350:oklch(0.68 0 0);
  --primitive-color-neutral-400:oklch(0.64 0 0);
  --primitive-color-neutral-450:oklch(0.6 0 0);
  --primitive-color-neutral-500:oklch(0.56 0 0);
  --primitive-color-neutral-550:oklch(0.52 0 0);
  --primitive-color-neutral-600:oklch(0.48 0 0);
  --primitive-color-neutral-650:oklch(0.44 0 0);
  --primitive-color-neutral-700:oklch(0.4 0 0);
  --primitive-color-neutral-750:oklch(0.36 0 0);
  --primitive-color-neutral-800:oklch(0.32 0 0);
  --primitive-color-neutral-850:oklch(0.28 0 0);
  --primitive-color-neutral-900:oklch(0.24 0 0);
  --primitive-color-neutral-950:oklch(0.2 0 0);
  --primitive-color-neutral-1000:oklch(0.16 0 0);
  --primitive-color-neutral-925:oklch(0.22 0 0);
  --primitive-color-neutral-975:oklch(0.18 0 0);
  --primitive-color-neutral-paper:oklch(0.985 0 0);
  --primitive-color-amber-light:oklch(0.82 0.1 78);
  --primitive-color-amber-dark:oklch(0.47 0.09 76);
  --primitive-color-red-light:oklch(0.8 0.09 23);
  --primitive-color-red-dark:oklch(0.45 0.13 25);
}
}
:root,[data-theme=dark]{
  --semantic-color-bg-canvas:var(--primitive-color-neutral-975);
  --semantic-color-bg-surface-1:var(--primitive-color-neutral-950);
  --semantic-color-bg-surface-2:var(--primitive-color-neutral-925);
  --semantic-color-bg-overlay:var(--primitive-color-neutral-900);
  --semantic-color-bg-input:var(--primitive-color-neutral-975);
  --semantic-color-fg-primary:var(--primitive-color-neutral-0);
  --semantic-color-fg-secondary:var(--primitive-color-neutral-250);
  --semantic-color-fg-muted:var(--primitive-color-neutral-350);
  --semantic-color-border-subtle:var(--primitive-color-neutral-850);
  --semantic-color-border-control:var(--primitive-color-neutral-500);
  --semantic-color-action:var(--primitive-color-neutral-0);
  --semantic-color-action-hover:var(--primitive-color-neutral-100);
  --semantic-color-on-action:var(--primitive-color-neutral-975);
  --semantic-color-focus:var(--primitive-color-neutral-0);
  --semantic-color-success:var(--primitive-color-neutral-100);
  --semantic-color-warning:var(--primitive-color-amber-light);
  --semantic-color-danger:var(--primitive-color-red-light);
  --semantic-type-body-size:var(--primitive-type-2);
  --semantic-type-body-leading:1.6;
  --semantic-type-small-size:var(--primitive-type-1);
  --semantic-type-display-size:var(--primitive-type-8);
  --semantic-type-display-leading:1.08;
  --semantic-type-display-tracking:-.04em;
  --semantic-layout-gutter:var(--primitive-space-10);
  --semantic-layout-width:1440px;
  --semantic-motion-enter:var(--primitive-duration-moderate);
  --semantic-motion-exit:var(--primitive-duration-exit);
  --semantic-motion-feedback:var(--primitive-duration-fast);
}

:root,[data-theme=dark]{color-scheme:dark}
[data-theme=light]{
  --semantic-color-bg-canvas:var(--primitive-color-neutral-0);
  --semantic-color-bg-surface-1:var(--primitive-color-neutral-50);
  --semantic-color-bg-surface-2:var(--primitive-color-neutral-paper);
  --semantic-color-bg-overlay:var(--primitive-color-neutral-paper);
  --semantic-color-bg-input:var(--primitive-color-neutral-paper);
  --semantic-color-fg-primary:var(--primitive-color-neutral-950);
  --semantic-color-fg-secondary:var(--primitive-color-neutral-700);
  --semantic-color-fg-muted:var(--primitive-color-neutral-650);
  --semantic-color-border-subtle:var(--primitive-color-neutral-150);
  --semantic-color-border-control:var(--primitive-color-neutral-500);
  --semantic-color-action:var(--primitive-color-neutral-925);
  --semantic-color-action-hover:var(--primitive-color-neutral-800);
  --semantic-color-on-action:var(--primitive-color-neutral-0);
  --semantic-color-focus:var(--primitive-color-neutral-900);
  --semantic-color-success:var(--primitive-color-neutral-800);
  --semantic-color-warning:var(--primitive-color-amber-dark);
  --semantic-color-danger:var(--primitive-color-red-dark);
  --semantic-type-body-size:var(--primitive-type-2);
  --semantic-type-body-leading:1.6;
  --semantic-type-small-size:var(--primitive-type-1);
  --semantic-type-display-size:var(--primitive-type-8);
  --semantic-type-display-leading:1.08;
  --semantic-type-display-tracking:-.04em;
  --semantic-layout-gutter:var(--primitive-space-10);
  --semantic-layout-width:1440px;
  --semantic-motion-enter:var(--primitive-duration-moderate);
  --semantic-motion-exit:var(--primitive-duration-exit);
  --semantic-motion-feedback:var(--primitive-duration-fast);
}

[data-theme=light]{color-scheme:light}
:root,[data-theme]{
  --component-button-height:var(--primitive-space-12);
  --component-button-padding-x:var(--primitive-space-6);
  --component-button-gap:var(--primitive-space-3);
  --component-button-radius:var(--primitive-radius-small);
  --component-button-text-size:var(--primitive-type-1);
  --component-button-background:var(--semantic-color-action);
  --component-button-foreground:var(--semantic-color-on-action);
  --component-button-hover:var(--semantic-color-action-hover);
  --component-button-focus:var(--semantic-color-focus);
  --component-input-height:var(--primitive-space-12);
  --component-input-padding-x:var(--primitive-space-4);
  --component-input-radius:var(--primitive-radius-small);
  --component-input-border:var(--semantic-color-border-control);
  --component-input-background:var(--semantic-color-bg-input);
  --component-nav-height:72px;
  --component-nav-text-size:var(--primitive-type-1);
  --component-nav-gap:var(--primitive-space-8);
  --component-nav-background:var(--semantic-color-bg-canvas);
  --component-menu-background:var(--semantic-color-bg-overlay);
  --component-menu-radius:var(--primitive-radius-medium);
  --component-menu-shadow:var(--primitive-shadow-ambient);
}

:root,[data-theme]{
  --surface-page:var(--semantic-color-bg-canvas);
  --surface-panel:var(--semantic-color-bg-surface-1);
  --surface-raised:var(--semantic-color-bg-surface-2);
  --surface-hover:var(--semantic-color-bg-overlay);
  --text-primary:var(--semantic-color-fg-primary);
  --text-secondary:var(--semantic-color-fg-secondary);
  --text-muted:var(--semantic-color-fg-muted);
  --border-subtle:var(--semantic-color-border-subtle);
  --border-control:var(--semantic-color-border-control);
  --brand-accent:var(--semantic-color-action);
  --brand-accent-hover:var(--semantic-color-action-hover);
  --on-brand:var(--semantic-color-on-action);
  --status-success:var(--semantic-color-success);
  --status-warning:var(--semantic-color-warning);
  --status-danger:var(--semantic-color-danger);
  --focus-ring:var(--semantic-color-focus);
  --surface-input:var(--semantic-color-bg-input);
  --font-display:var(--primitive-font-sans);
  --font-body:var(--primitive-font-sans);
  --font-mono:var(--primitive-font-mono);
  --text-small:var(--primitive-type-1);
  --text-body:var(--primitive-type-2);
  --text-lede:var(--primitive-type-2);
  --text-display:var(--semantic-type-display-size);
  --text-section:var(--primitive-type-6);
  --radius-control:var(--primitive-radius-small);
  --radius-panel:var(--primitive-radius-medium);
  --radius-detail:var(--primitive-radius-small);
  --motion-fast:var(--primitive-duration-fast);
  --motion-ui:var(--primitive-duration-moderate);
  --motion-enter:var(--primitive-duration-slow);
  --ease-out:var(--primitive-ease-out-expo);
  --ease-ui:var(--primitive-ease-in-out-quint);
  --content-width:var(--semantic-layout-width);
  --page-gutter:var(--semantic-layout-gutter);
  --layer-nav:40;
  --layer-dialog:60;
  --space-1:var(--primitive-space-1);
  --space-2:var(--primitive-space-2);
  --space-3:var(--primitive-space-3);
  --space-4:var(--primitive-space-4);
  --space-5:var(--primitive-space-6);
  --space-6:var(--primitive-space-8);
  --space-7:var(--primitive-space-12);
  --space-8:var(--primitive-space-16);
  --space-9:var(--primitive-space-24);
  --av-bg:var(--surface-page);
  --av-bg-elev:var(--surface-panel);
  --av-bg-black:var(--surface-page);
  --av-text:var(--text-primary);
  --av-muted:var(--text-secondary);
  --av-white:var(--text-primary);
  --av-line:var(--border-subtle);
  --av-line-soft:var(--border-subtle);
  --av-live:var(--text-primary);
  --av-font:var(--font-mono);
  --av-r-btn:var(--radius-control);
  --av-r-cta:var(--radius-control);
  --av-r-card:var(--radius-panel);
  --av-d-fast:var(--motion-fast);
  --av-d-base:var(--motion-ui);
  --av-ease:var(--ease-out);
  --av-ease-out:var(--ease-out);
  --av-ease-quint:var(--ease-out);
  --av-gutter:var(--page-gutter);
  --av-container:var(--content-width);
}

@media(max-width:900px){:root{--page-gutter:24px;--semantic-type-display-size:var(--primitive-type-6)}}
@media(min-width:1600px){:root{--page-gutter:48px}}
