/*
 * Merged design tokens as CSS custom properties.
 * Generated from tokens.json - do not edit by hand; regenerate whenever tokens.json changes.
 * Light theme is the default; dark applies via [data-theme="dark"] or the OS preference
 * (unless [data-theme="light"] is set).
 */

:root {
  /* Colour (light) */
  --surface: #FFFFFF;
  --surface-subtle: #FAFAFB;
  --surface-muted: #F4F4F6;
  --line: #E5E7EB;
  --line-strong: #D1D5DB;
  --ink: #111827;
  --ink-secondary: #374151;
  --ink-muted: #4B5563;
  --on-ink: #FFFFFF;
  --accent: #4338CA;
  --on-accent: #FFFFFF;
  --accent-strong: #3730A3;
  --accent-soft: #EEF0FF;
  --accent-line: #C7CAFF;
  --success: #15803D;
  --success-soft: #ECFDF3;
  --warning: #9A4A07;
  --warning-soft: #FFF7ED;
  --danger: #B91C1C;
  --focus: var(--accent);
  --scrim: rgba(17,24,39,0.45);
  --google-link: #1A0DAB;

  /* Font families */
  --font-display: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, monospace;
  --font-logo: "Bree Serif", Georgia, serif;

  /* Type styles */
  --text-hero-family: var(--font-display);
  --text-hero-size: 60px;
  --text-hero-line-height: 1.05;
  --text-hero-weight: 600;
  --text-hero-letter-spacing: -0.02em;
  --text-page-title-family: var(--font-display);
  --text-page-title-size: 36px;
  --text-page-title-line-height: 1.15;
  --text-page-title-weight: 600;
  --text-page-title-letter-spacing: -0.02em;
  --text-section-title-family: var(--font-display);
  --text-section-title-size: 28px;
  --text-section-title-line-height: 1.2;
  --text-section-title-weight: 600;
  --text-section-title-letter-spacing: -0.02em;
  --text-card-title-family: var(--font-display);
  --text-card-title-size: 18px;
  --text-card-title-line-height: 1.35;
  --text-card-title-weight: 600;
  --text-kpi-family: var(--font-display);
  --text-kpi-size: 34px;
  --text-kpi-line-height: 1.1;
  --text-kpi-weight: 600;
  --text-article-family: var(--font-sans);
  --text-article-size: 17px;
  --text-article-line-height: 1.7;
  --text-article-weight: 400;
  --text-body-family: var(--font-sans);
  --text-body-size: 15px;
  --text-body-line-height: 1.5;
  --text-body-weight: 400;
  --text-body-strong-family: var(--font-sans);
  --text-body-strong-size: 15px;
  --text-body-strong-line-height: 1.5;
  --text-body-strong-weight: 600;
  --text-ui-family: var(--font-sans);
  --text-ui-size: 14px;
  --text-ui-line-height: 1.45;
  --text-ui-weight: 400;
  --text-small-family: var(--font-sans);
  --text-small-size: 13px;
  --text-small-line-height: 1.45;
  --text-small-weight: 400;
  --text-label-family: var(--font-sans);
  --text-label-size: 12px;
  --text-label-line-height: 1.4;
  --text-label-weight: 600;
  --text-label-letter-spacing: 0.04em;
  --text-code-family: var(--font-mono);
  --text-code-size: 12px;
  --text-code-line-height: 1.6;
  --text-code-weight: 400;
  --text-wordmark-family: var(--font-logo);
  --text-wordmark-size: 24px;
  --text-wordmark-line-height: 1;
  --text-wordmark-weight: 400;
  --text-wordmark-letter-spacing: -0.02em;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(17,24,39,0.08);
  --shadow-lg: 0 24px 64px rgba(17,24,39,0.25);

  color-scheme: light;
}

[data-theme="dark"] {
  --surface: #0F1117;
  --surface-subtle: #151821;
  --surface-muted: #1D212B;
  --line: #2A2F3A;
  --line-strong: #3A4150;
  --ink: #F3F4F6;
  --ink-secondary: #D1D5DB;
  --ink-muted: #9CA3AF;
  --on-ink: #0F1117;
  --accent: #818CF8;
  --on-accent: #0F1117;
  --accent-strong: #C7D2FE;
  --accent-soft: #23264A;
  --accent-line: #3B3F7A;
  --success: #4ADE80;
  --success-soft: #0F2A1B;
  --warning: #FBBF24;
  --warning-soft: #2E1F0A;
  --danger: #F87171;
  --focus: var(--accent);
  --scrim: rgba(0,0,0,0.6);
  --google-link: #8AB4F8;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface: #0F1117;
    --surface-subtle: #151821;
    --surface-muted: #1D212B;
    --line: #2A2F3A;
    --line-strong: #3A4150;
    --ink: #F3F4F6;
    --ink-secondary: #D1D5DB;
    --ink-muted: #9CA3AF;
    --on-ink: #0F1117;
    --accent: #818CF8;
    --on-accent: #0F1117;
    --accent-strong: #C7D2FE;
    --accent-soft: #23264A;
    --accent-line: #3B3F7A;
    --success: #4ADE80;
    --success-soft: #0F2A1B;
    --warning: #FBBF24;
    --warning-soft: #2E1F0A;
    --danger: #F87171;
    --focus: var(--accent);
    --scrim: rgba(0,0,0,0.6);
    --google-link: #8AB4F8;
    color-scheme: dark;
  }
}
