/* Gatecal — generated from tokens.json */
:root, [data-theme="light"] {
  --gate-ink: #0B1B3A;
  --cal-blue: #2B5BFF;
  --cal-sky: #7FA2FF;
  --cal-ice: #C9D8FF;
  --gate-field: #0B1B3A;
  --paper: #FFFFFF;
  --bg: #F5F7FB;
  --surface: #FFFFFF;
  --surface-sunken: #EDF1F8;
  --surface-raised: #FFFFFF;
  --line: #DDE3EE;
  --line-strong: #737F99;
  --text: #0B1B3A;
  --text-muted: #4E5B78;
  --text-subtle: #5D6983;
  --accent: #2B5BFF;
  --accent-hover: #1E46E0;
  --on-accent: #FFFFFF;
  --accent-text: #2350E6;
  --accent-weak: #EAF0FF;
  --focus: #2B5BFF;
  --success: #0B7A55;
  --success-weak: #E2F5EC;
  --warning: #A35400;
  --warning-weak: #FFF0DB;
  --danger: #C21F3A;
  --danger-weak: #FDE8EB;
  --source-1: #2B5BFF;
  --source-2: #0E9F9A;
  --source-3: #D97F00;
  --source-4: #D3437A;
  --source-5: #6E55EE;
  --source-6: #5E6E8C;
  --shadow-1: 0 1px 2px rgba(11,27,58,0.06), 0 1px 1px rgba(11,27,58,0.04);
  --shadow-2: 0 12px 32px -12px rgba(11,27,58,0.22), 0 2px 6px rgba(11,27,58,0.06);
}
[data-theme="dark"] {
  color-scheme: dark;
  --gate-ink: #0B1B3A;
  --cal-blue: #2B5BFF;
  --cal-sky: #7FA2FF;
  --cal-ice: #C9D8FF;
  --gate-field: #1A2B57;
  --paper: #FFFFFF;
  --bg: #070E1F;
  --surface: #0D1730;
  --surface-sunken: #091224;
  --surface-raised: #132042;
  --line: #223053;
  --line-strong: #5D6E94;
  --text: #E7EDF9;
  --text-muted: #A3B0CB;
  --text-subtle: #8896B3;
  --accent: #2B5BFF;
  --accent-hover: #1E46E0;
  --on-accent: #FFFFFF;
  --accent-text: #93B0FF;
  --accent-weak: #142550;
  --focus: #7FA2FF;
  --success: #47D19A;
  --success-weak: #0E2C24;
  --warning: #FFB45E;
  --warning-weak: #33230D;
  --danger: #FF7D8E;
  --danger-weak: #3A121B;
  --source-1: #5B82FF;
  --source-2: #2CC4BE;
  --source-3: #F5A524;
  --source-4: #F06C9F;
  --source-5: #9A86FF;
  --source-6: #8C9BB8;
  --shadow-1: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-2: 0 16px 40px -12px rgba(0,0,0,0.65);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --gate-ink: #0B1B3A;
    --cal-blue: #2B5BFF;
    --cal-sky: #7FA2FF;
    --cal-ice: #C9D8FF;
    --gate-field: #1A2B57;
    --paper: #FFFFFF;
    --bg: #070E1F;
    --surface: #0D1730;
    --surface-sunken: #091224;
    --surface-raised: #132042;
    --line: #223053;
    --line-strong: #5D6E94;
    --text: #E7EDF9;
    --text-muted: #A3B0CB;
    --text-subtle: #8896B3;
    --accent: #2B5BFF;
    --accent-hover: #1E46E0;
    --on-accent: #FFFFFF;
    --accent-text: #93B0FF;
    --accent-weak: #142550;
    --focus: #7FA2FF;
    --success: #47D19A;
    --success-weak: #0E2C24;
    --warning: #FFB45E;
    --warning-weak: #33230D;
    --danger: #FF7D8E;
    --danger-weak: #3A121B;
    --source-1: #5B82FF;
    --source-2: #2CC4BE;
    --source-3: #F5A524;
    --source-4: #F06C9F;
    --source-5: #9A86FF;
    --source-6: #8C9BB8;
    --shadow-1: 0 1px 2px rgba(0,0,0,0.4);
    --shadow-2: 0 16px 40px -12px rgba(0,0,0,0.65);
  }
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 80px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --radius-icon: 22.5%;
  --font-display: "Urbanist", "Avenir Next", "Futura", system-ui, sans-serif;
  --font-sans: "Geist", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-mono: "Geist Mono", "SF Mono", Menlo, Consolas, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 64px; font-weight: 800; letter-spacing: -0.02em; }
.display-lg { font-family: var(--font-display); font-size: 44px; line-height: 48px; font-weight: 800; letter-spacing: -0.015em; }
.heading-1 { font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; }
.heading-2 { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; }
.heading-3 { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 15px; line-height: 24px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 15px; line-height: 24px; font-weight: 500; }
.small { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.mono { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 400; }
.time { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
