/* Basira design tokens. Copied verbatim from design-system/tokens.css (the source of truth);
   update that file and re-copy rather than editing here. */
/* Basira design tokens — generated from tokens.json. Dark is the default theme. */
:root, [data-theme="dark"] {
  --bg: #071018;
  --surface-1: #0D1721;
  --surface-2: #131F2A;
  --surface-3: #1A2834;
  --border: #1E2C38;
  --border-strong: #5B6B78;
  --text: #E8EEF3;
  --text-muted: #81909C;
  --accent: #25C2A0;
  --accent-tint: rgba(37, 194, 160, 0.14);
  --on-accent: #04120E;
  --ai: #8B5CF6;
  --ai-text: #A78BFA;
  --ai-tint: rgba(139, 92, 246, 0.12);
  --tech: #3B82F6;
  --breaking: #EF4444;
  --on-breaking: #14070A;
  --breaking-tint: rgba(239, 68, 68, 0.12);
  --sentiment-neg: #F59E0B;
  --sentiment-neu: #81909C;
  --sentiment-pos: #38BDF8;
  --danger: #F87171;
  --focus: #7DD3C0;
  --map-water: #08131C;
  --map-land: #15222E;
  --map-boundary: #2E404F;
  --map-boundary-disputed: #4A5D6C;
  --map-heat-1: #123A3B;
  --map-heat-2: #17665A;
  --map-heat-3: #1F9C80;
  --map-heat-4: #5EE0C2;
  --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.45);
  --shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.35);
}
[data-theme="light"] {
  --bg: #F4F6F8;
  --surface-1: #FFFFFF;
  --surface-2: #EDF1F4;
  --surface-3: #E2E8ED;
  --border: #D9E0E6;
  --border-strong: #7D8A95;
  --text: #0B1620;
  --text-muted: #56636F;
  --accent: #0B7A63;
  --accent-tint: rgba(11, 122, 99, 0.10);
  --on-accent: #FFFFFF;
  --ai: #6D3FD9;
  --ai-text: #6D3FD9;
  --ai-tint: rgba(109, 63, 217, 0.08);
  --tech: #1D5FD1;
  --breaking: #C62828;
  --on-breaking: #FFFFFF;
  --breaking-tint: rgba(198, 40, 40, 0.08);
  --sentiment-neg: #9A4508;
  --sentiment-neu: #56636F;
  --sentiment-pos: #0369A1;
  --danger: #B91C1C;
  --focus: #0B7A63;
  --map-water: #DCE6EE;
  --map-land: #F7F9FA;
  --map-boundary: #B7C3CD;
  --map-boundary-disputed: #94A3AF;
  --map-heat-1: #CDEDE5;
  --map-heat-2: #86D3C0;
  --map-heat-3: #2FA98A;
  --map-heat-4: #0B6B57;
  --shadow-float: 0 8px 24px rgba(11, 22, 32, 0.12);
  --shadow-hover: 0 2px 8px rgba(11, 22, 32, 0.08);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-full: 9999px;
  --font-heading: Alexandria, "IBM Plex Sans Arabic", system-ui, sans-serif;
  --font-body: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif;
  --font-latin: "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --motion-fast: 150ms;
  --motion-base: 200ms;
  --motion-panel: 250ms;
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
}
.display { font-family: var(--font-heading); font-size: 40px; line-height: 56px; font-weight: 700; }
.title-1 { font-family: var(--font-heading); font-size: 28px; line-height: 40px; font-weight: 600; }
.headline-lg { font-family: var(--font-heading); font-size: 24px; line-height: 36px; font-weight: 600; }
.headline { font-family: var(--font-heading); font-size: 18px; line-height: 28px; font-weight: 600; }
.headline-sm { font-family: var(--font-heading); font-size: 16px; line-height: 26px; font-weight: 500; }
.body { font-family: var(--font-body); font-size: 17px; line-height: 30px; font-weight: 400; }
.body-sm { font-family: var(--font-body); font-size: 15px; line-height: 26px; font-weight: 400; }
.meta { font-family: var(--font-body); font-size: 13px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-body); font-size: 12px; line-height: 16px; font-weight: 600; }
.en-headline { font-family: var(--font-latin); font-size: 17px; line-height: 24px; font-weight: 600; }
.en-body { font-family: var(--font-latin); font-size: 15px; line-height: 24px; font-weight: 400; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 20px; font-weight: 500; }
@media (prefers-reduced-motion: reduce) {
  :root { --motion-fast: 0ms; --motion-base: 0ms; --motion-panel: 0ms; }
}
