/* Design Tokens - Auto-generated */
/* Do not edit directly. Edit assets/design-tokens.json (which follows
   docs/brand-guidelines.md), then run: sh scripts/build-tokens.sh */

/* === PRIMITIVES === */
:root {
  --primitive-color-red-300: #F75453;
  --primitive-color-red-400: #F23B3A;
  --primitive-color-red-600: #ED1B1A;
  --primitive-color-red-700: #D11615;
  --primitive-color-red-750: #C81413;
  --primitive-color-red-800: #B51110;
  --primitive-color-red-glow: #ED1B1A2E;
  --primitive-color-ink-0: #FFFFFF;
  --primitive-color-ink-50: #F2F2F2;
  --primitive-color-ink-100: #E5E5E5;
  --primitive-color-ink-200: #C9C9C9;
  --primitive-color-ink-300: #999999;
  --primitive-color-ink-400: #666666;
  --primitive-color-ink-600: #2A2A2A;
  --primitive-color-ink-700: #202123;
  --primitive-color-ink-800: #1A1A1A;
  --primitive-color-ink-850: #131313;
  --primitive-color-ink-900: #0D0E10;
  --primitive-color-ink-hairline-dark: #FFFFFF1F;
  --primitive-color-ink-glass-dark: #0D0E10DB;
  --primitive-color-alpha-w08: rgba(255,255,255,.08);
  --primitive-color-alpha-w14: rgba(255,255,255,.14);
  --primitive-color-alpha-w24: rgba(255,255,255,.24);
  --primitive-color-alpha-w70: rgba(255,255,255,.70);
  --primitive-color-alpha-k06: rgba(13,14,16,.06);
  --primitive-color-alpha-k14: rgba(13,14,16,.14);
  --primitive-spacing-3xs: 4px;
  --primitive-spacing-2xs: 8px;
  --primitive-spacing-xs: 12px;
  --primitive-spacing-sm: 16px;
  --primitive-spacing-md: 24px;
  --primitive-spacing-lg: 32px;
  --primitive-spacing-xl: 48px;
  --primitive-spacing-2xl: 64px;
  --primitive-spacing-3xl: 80px;
  --primitive-spacing-4xl: 112px;
  --primitive-fontSize-xs: 0.75rem;
  --primitive-fontSize-label: 0.8125rem;
  --primitive-fontSize-sm: 0.875rem;
  --primitive-fontSize-data: 0.9375rem;
  --primitive-fontSize-base: 1rem;
  --primitive-fontSize-lead: 1.125rem;
  --primitive-fontSize-lg: 1.25rem;
  --primitive-fontSize-xl: 1.75rem;
  --primitive-fontSize-stat: clamp(1.75rem, 1.2rem + 2.2vw, 2.5rem);
  --primitive-fontSize-h2: clamp(1.8125rem, 1.1rem + 3vw, 2.75rem);
  --primitive-fontSize-h1: clamp(2.375rem, 1.1rem + 5.2vw, 4.25rem);
  --primitive-fontSize-display: clamp(2.5rem, 1rem + 5.6vw, 4.75rem);
  --primitive-radius-none: 0;
  --primitive-radius-sm: 4px;
  --primitive-shadow-none: none;
  --primitive-shadow-header: 0 1px 0 rgba(13,14,16,.14), 0 10px 30px -18px rgba(13,14,16,.5);
  --primitive-shadow-lift: 0 18px 44px -24px rgba(13,14,16,.45);
  --primitive-shadow-card: 0 1px 2px rgba(13,14,16,.05), 0 18px 36px -24px rgba(13,14,16,.22);
  --primitive-shadow-card-dark: inset 0 1px 0 rgba(255,255,255,.06), 0 28px 56px -30px rgba(0,0,0,.6);
  --primitive-duration-fast: 160ms;
  --primitive-duration-normal: 280ms;
  --primitive-duration-slow: 620ms;
  --primitive-duration-ticker: 38s;
  --primitive-easing-out: cubic-bezier(.17, .84, .34, 1);
  --primitive-easing-io: cubic-bezier(.6, 0, .2, 1);
  --primitive-size-tap: 44px;
  --primitive-size-icon-sm: 16px;
  --primitive-size-icon-md: 20px;
  --primitive-size-control: 48px;
  --primitive-size-control-lg: 56px;
  --primitive-size-topbar: 38px;
  --primitive-size-header: 80px;
  --primitive-size-maxw: 1280px;
  --primitive-size-gutter: 80px;
  --primitive-size-measure: 34rem;
  --primitive-size-measure-lg: 46rem;
  --primitive-font-sans: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --primitive-font-stretch-display: 112%;
}

/* === SEMANTIC === */
:root {
  color-scheme: light;
  --color-paper: var(--primitive-color-ink-0);
  --color-surface: var(--primitive-color-ink-0);
  --color-muted: var(--primitive-color-ink-50);
  --color-border: var(--primitive-color-ink-100);
  --color-ink: var(--primitive-color-ink-850);
  --color-ink-muted: var(--primitive-color-ink-400);
  --color-accent: var(--primitive-color-red-600);
  --color-accent-hover: var(--primitive-color-red-700);
  --color-accent-text: var(--primitive-color-red-700);
  --color-accent-text-on-dark: var(--primitive-color-red-400);
  --color-accent-surface: var(--primitive-color-red-750);
  --color-accent-surface-hover: var(--primitive-color-red-800);
  --color-on-accent: var(--primitive-color-ink-0);
  --color-dark: var(--primitive-color-ink-850);
  --color-dark-deep: var(--primitive-color-ink-900);
  --color-dark-raised: var(--primitive-color-ink-800);
  --color-on-dark: var(--primitive-color-ink-0);
  --color-on-dark-muted: var(--primitive-color-ink-300);
  --color-dark-border: var(--primitive-color-ink-600);
  --color-footer-border: var(--primitive-color-ink-700);
  --color-danger: var(--primitive-color-red-700);
  --color-ring: var(--primitive-color-red-600);
  --color-disabled: var(--primitive-color-ink-50);
  --color-on-disabled: var(--primitive-color-ink-300);
  --color-glow: var(--primitive-color-red-glow);
  --color-hairline-dark: var(--primitive-color-ink-hairline-dark);
  --color-glass-dark: var(--primitive-color-ink-glass-dark);
  --color-accent-text-on-raised: var(--primitive-color-red-300);
  --space-3xs: var(--primitive-spacing-3xs);
  --space-2xs: var(--primitive-spacing-2xs);
  --space-xs: var(--primitive-spacing-xs);
  --space-sm: var(--primitive-spacing-sm);
  --space-md: var(--primitive-spacing-md);
  --space-lg: var(--primitive-spacing-lg);
  --space-xl: var(--primitive-spacing-xl);
  --space-2xl: var(--primitive-spacing-2xl);
  --space-3xl: var(--primitive-spacing-3xl);
  --space-4xl: var(--primitive-spacing-4xl);
  --radius-none: var(--primitive-radius-none);
  --radius-sm: var(--primitive-radius-sm);
  --shadow-header: var(--primitive-shadow-header);
  --shadow-lift: var(--primitive-shadow-lift);
  --shadow-card: var(--primitive-shadow-card);
  --shadow-card-dark: var(--primitive-shadow-card-dark);
  --text-xs: var(--primitive-fontSize-xs);
  --text-label: var(--primitive-fontSize-label);
  --text-sm: var(--primitive-fontSize-sm);
  --text-data: var(--primitive-fontSize-data);
  --text-base: var(--primitive-fontSize-base);
  --text-lead: var(--primitive-fontSize-lead);
  --text-lg: var(--primitive-fontSize-lg);
  --text-xl: var(--primitive-fontSize-xl);
  --text-stat: var(--primitive-fontSize-stat);
  --text-h2: var(--primitive-fontSize-h2);
  --text-h1: var(--primitive-fontSize-h1);
  --text-display: var(--primitive-fontSize-display);
  --icon-sm: var(--primitive-size-icon-sm);
  --icon-md: var(--primitive-size-icon-md);
  --font: var(--primitive-font-sans);
  --ease-fast: var(--primitive-duration-fast);
  --ease: var(--primitive-duration-normal);
  --ease-slow: var(--primitive-duration-slow);
  --ticker-time: var(--primitive-duration-ticker);
  --curve: var(--primitive-easing-out);
  --curve-io: var(--primitive-easing-io);
  --tap: var(--primitive-size-tap);
  --control: var(--primitive-size-control);
  --control-lg: var(--primitive-size-control-lg);
  --topbar-h: var(--primitive-size-topbar);
  --header-h: var(--primitive-size-header);
  --maxw: var(--primitive-size-maxw);
  --gutter: var(--primitive-size-gutter);
  --measure: var(--primitive-size-measure);
  --measure-lg: var(--primitive-size-measure-lg);
  --font-stretch-display: var(--primitive-font-stretch-display);
}

/* === COMPONENTS === */
:root {
  --btn-radius: var(--primitive-radius-sm);
  --btn-pad-x: var(--primitive-spacing-md);
  --btn-min-h: var(--primitive-size-control);
  --btn-accent-bg: var(--color-accent-surface);
  --btn-accent-fg: var(--color-on-accent);
  --btn-accent-hover: var(--color-accent-surface-hover);
  --btn-dark-bg: var(--color-ink);
  --btn-dark-fg: var(--color-paper);
  --btn-dark-hover: var(--color-dark-deep);
  --btn-light-bg: var(--color-on-dark);
  --btn-light-fg: var(--color-dark-deep);
  --btn-light-hover: var(--color-muted);
  --btn-ghost-border: var(--primitive-color-alpha-w24);
  --btn-ghost-fg: var(--color-on-dark);
  --btn-ghost-hover: var(--primitive-color-alpha-w14);
  --btn-disabled-bg: var(--color-disabled);
  --btn-disabled-fg: var(--color-on-disabled);
  --card-bg: var(--color-surface);
  --card-border: var(--color-border);
  --card-radius: var(--primitive-radius-sm);
  --card-pad: var(--primitive-spacing-md);
  --field-bg: var(--color-surface);
  --field-fg: var(--color-ink);
  --field-border: var(--color-border);
  --field-label: var(--color-ink-muted);
  --field-ring: var(--color-ring);
  --field-error: var(--color-danger);
  --field-radius: var(--primitive-radius-sm);
  --field-min-h: var(--primitive-size-control);
  --ticker-bg: var(--color-accent-surface);
  --ticker-fg: var(--color-on-accent);
  --car-plate: var(--primitive-color-ink-50);
}

/* === DARK MODE ===
   Written by scripts/postprocess-tokens.py, not by the generator. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-paper: var(--primitive-color-ink-900);
    --color-surface: var(--primitive-color-ink-850);
    --color-muted: var(--primitive-color-ink-800);
    --color-border: var(--primitive-color-ink-600);
    --color-ink: var(--primitive-color-ink-0);
    --color-ink-muted: var(--primitive-color-ink-300);
    --color-accent: var(--primitive-color-red-600);
    --color-accent-hover: var(--primitive-color-red-400);
    --color-accent-text: var(--primitive-color-red-400);
    --color-accent-text-on-dark: var(--primitive-color-red-400);
    --color-accent-surface: var(--primitive-color-red-750);
    --color-accent-surface-hover: var(--primitive-color-red-800);
    --color-dark: var(--primitive-color-ink-800);
    --color-dark-deep: var(--primitive-color-ink-900);
    --color-dark-raised: var(--primitive-color-ink-700);
    --color-danger: var(--primitive-color-red-300);
    --color-disabled: var(--primitive-color-ink-800);
    --color-on-disabled: var(--primitive-color-ink-400);
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --color-paper: var(--primitive-color-ink-900);
  --color-surface: var(--primitive-color-ink-850);
  --color-muted: var(--primitive-color-ink-800);
  --color-border: var(--primitive-color-ink-600);
  --color-ink: var(--primitive-color-ink-0);
  --color-ink-muted: var(--primitive-color-ink-300);
  --color-accent: var(--primitive-color-red-600);
  --color-accent-hover: var(--primitive-color-red-400);
  --color-accent-text: var(--primitive-color-red-400);
  --color-accent-text-on-dark: var(--primitive-color-red-400);
  --color-accent-surface: var(--primitive-color-red-750);
  --color-accent-surface-hover: var(--primitive-color-red-800);
  --color-dark: var(--primitive-color-ink-800);
  --color-dark-deep: var(--primitive-color-ink-900);
  --color-dark-raised: var(--primitive-color-ink-700);
  --color-danger: var(--primitive-color-red-300);
  --color-disabled: var(--primitive-color-ink-800);
  --color-on-disabled: var(--primitive-color-ink-400);
  color-scheme: dark;
}
