/* Generated from design-system/tokens.json by build/build_preview.py */
:root, [data-theme="light"] {
  --navy-950: #021e30;
  --navy-800: #0a3a5c;
  --cyan-500: #1faee0;
  --cyan-logo: #05a3da;
  --cyan-600: #0383b0;
  --cyan-300: #67cdef;
  --orange-500: #f5771e;
  --orange-700: #bc500a;
  --orange-300: #fca361;
  --surface: #ffffff;
  --surface-alt: #f8fafc;
  --surface-raised: #ffffff;
  --surface-tint: #e6f6fc;
  --line: #e2e8f0;
  --line-control: #6b7a90;
  --ink: var(--navy-950);
  --ink-muted: #475569;
  --ink-subtle: #64748b;
  --link: #036f96;
  --signal: var(--cyan-600);
  --headline-accent: var(--link);
  --bar: #036f96;
  --on-bar: #ffffff;
  --hero-a: var(--navy-950);
  --hero-b: #0b3556;
  --hero-glow: rgba(31, 174, 224, 0.28);
  --glass: rgba(255, 255, 255, 0.06);
  --card-glow: rgba(3, 131, 176, 0.07);
  --cta: var(--orange-500);
  --cta-hover: var(--orange-700);
  --on-cta: var(--navy-950);
  --on-cta-strong: #ffffff;
  --focus: var(--cyan-600);
  --danger: #b42318;
  --success: #03658a;
  --glow: rgba(3, 131, 176, 0.18);
  --shadow-card: 0 1px 2px rgba(2, 30, 48, 0.06), 0 12px 32px rgba(2, 30, 48, 0.10);
  --shadow-glow: 0 0 0 4px rgba(3, 131, 176, 0.18);
  color-scheme: light;
}

[data-theme="dark"] {
  --surface: var(--navy-950);
  --surface-alt: #06273d;
  --surface-raised: #0e2a40;
  --surface-tint: #0d3350;
  --line: #1b4a6b;
  --line-control: #5a86a6;
  --ink: #f1f5f9;
  --ink-muted: #a9bfd0;
  --ink-subtle: #8ea8bc;
  --link: var(--cyan-300);
  --signal: var(--cyan-500);
  --headline-accent: var(--cyan-300);
  --glass: rgba(255, 255, 255, 0.06);
  --card-glow: rgba(31, 174, 224, 0.10);
  --cta-hover: var(--orange-300);
  --focus: var(--cyan-500);
  --danger: #ff8a80;
  --success: var(--cyan-300);
  --glow: rgba(31, 174, 224, 0.28);
  --shadow-card: 0 0 0 1px rgba(31, 174, 224, 0.22), 0 16px 40px rgba(0, 0, 0, 0.35);
  --shadow-glow: 0 0 0 4px rgba(31, 174, 224, 0.28), 0 0 24px rgba(31, 174, 224, 0.25);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface: var(--navy-950);
    --surface-alt: #06273d;
    --surface-raised: #0e2a40;
    --surface-tint: #0d3350;
    --line: #1b4a6b;
    --line-control: #5a86a6;
    --ink: #f1f5f9;
    --ink-muted: #a9bfd0;
    --ink-subtle: #8ea8bc;
    --link: var(--cyan-300);
    --signal: var(--cyan-500);
    --headline-accent: var(--cyan-300);
    --glass: rgba(255, 255, 255, 0.06);
    --card-glow: rgba(31, 174, 224, 0.10);
    --cta-hover: var(--orange-300);
    --focus: var(--cyan-500);
    --danger: #ff8a80;
    --success: var(--cyan-300);
    --glow: rgba(31, 174, 224, 0.28);
    --shadow-card: 0 0 0 1px rgba(31, 174, 224, 0.22), 0 16px 40px rgba(0, 0, 0, 0.35);
    --shadow-glow: 0 0 0 4px rgba(31, 174, 224, 0.28), 0 0 24px rgba(31, 174, 224, 0.25);
    color-scheme: dark;
  }
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --measure: 100%;
  --container: 1120px;
  --control-height: 48px;
  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans: "Outfit", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Geist Mono", "Cascadia Mono", ui-monospace, monospace;
  --nav-h: 65px;
}
