/* AlphaNews Combo #01 — The Hindu 3-Column Hairline Broadsheet (AlphaDesign Verified) */
:root, [data-theme="light"] {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-sunken: #f8fafc;
  --ink: #111111;
  --ink-muted: #4b5563;
  --line: #e5e7eb;
  --line-strong: #111111;
  --accent: #1d4ed8;
  --accent-strong: #1e40af;
  --accent-soft: #eff6ff;
  --on-accent: #ffffff;
  --focus: #1d4ed8;
  --positive: #0f766e;
  --positive-soft: #ecfdf5;
  --negative: #b91c1c;
  --negative-soft: #fef2f2;
  --caution: #92400e;
  --caution-soft: #fffbeb;
  --info: #1d4ed8;
  --info-soft: #eff6ff;
  --breaking: #b91c1c;
  --on-breaking: #ffffff;
  --section-economy: #1d4ed8;
  --section-markets: #0f766e;
  --section-policy: #1e40af;
  --section-banking: #0369a1;
  --section-world: #334155;
  --market-up: var(--positive);
  --market-down: var(--negative);
  --media-fill: #f1f5f9;
}
[data-theme="dark"] {
  --bg: #0b0f17;
  --surface: #111827;
  --surface-sunken: #172033;
  --ink: #f8fafc;
  --ink-muted: #94a3b8;
  --line: #1f2937;
  --line-strong: #e2e8f0;
  --accent: #60a5fa;
  --accent-strong: #93c5fd;
  --accent-soft: #172554;
  --on-accent: #0b0f17;
  --focus: #60a5fa;
  --positive: #34d399;
  --positive-soft: #064e3b;
  --negative: #f87171;
  --negative-soft: #450a0a;
  --caution: #fbbf24;
  --caution-soft: #451a03;
  --info: #60a5fa;
  --info-soft: #172554;
  --section-economy: var(--accent);
  --section-markets: #34d399;
  --section-policy: #93c5fd;
  --section-banking: #38bdf8;
  --section-world: #cbd5e1;
  --media-fill: #1e293b;
  --market-up: var(--positive);
  --market-down: var(--negative);
}
:root {
  --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;
  --space-16: 64px;
  --radius-sm: 0px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-pill: 999px;
  --rule-hairline: 1px;
  --rule-strong: 2px;
  --rule-heavy: 3px;
  --page-max: 1280px;
  --measure: 680px;
  --card-min: 270px;
  --media-ratio: 16 / 10;
  --dur-micro: 120ms;
  --dur-hover: 160ms;
  --dur-panel: 240ms;
  --ease-editorial: cubic-bezier(0.22, 1, 0.36, 1);
  --font-serif: "Merriweather", Georgia, "Times New Roman", serif;
  --font-display: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}
.display { font-family: var(--font-serif); font-size: 42px; line-height: 1.12; font-weight: 900; letter-spacing: -0.015em; }
.h1 { font-family: var(--font-serif); font-size: 32px; line-height: 1.16; font-weight: 900; letter-spacing: -0.01em; }
.h2 { font-family: var(--font-serif); font-size: 23px; line-height: 1.24; font-weight: 700; letter-spacing: -0.005em; }
.h3 { font-family: var(--font-serif); font-size: 18px; line-height: 1.3; font-weight: 700; }
.kicker { font-family: var(--font-display); font-size: 12px; line-height: 1.2; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.label { font-family: var(--font-display); font-size: 14px; line-height: 1.3; font-weight: 600; }
.caption { font-family: var(--font-display); font-size: 13px; line-height: 1.45; font-weight: 400; color: var(--ink-muted); }
.rank { font-family: var(--font-display); font-size: 26px; line-height: 1; font-weight: 700; }
.figure { font-family: var(--font-mono); font-size: 52px; line-height: 1; font-weight: 700; letter-spacing: -0.02em; }
.standfirst { font-family: var(--font-display); font-size: 18px; line-height: 1.5; font-weight: 400; color: var(--ink-muted); }
.body { font-family: var(--font-serif); font-size: 18px; line-height: 1.68; font-weight: 400; }
.body-sm { font-family: var(--font-display); font-size: 15px; line-height: 1.52; font-weight: 400; }
.quote { font-family: var(--font-serif); font-size: 24px; line-height: 1.38; font-weight: 400; font-style: italic; }
.code { font-family: var(--font-mono); font-size: 13.5px; line-height: 1.35; font-weight: 500; }

@font-face { font-family: "Merriweather"; src: url("fonts/merriweather-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("fonts/merriweather-400i.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("fonts/merriweather-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("fonts/merriweather-900.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/source-sans-3-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/jetbrains-mono-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/jetbrains-mono-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-micro: 0.01ms;
    --dur-hover: 0.01ms;
    --dur-panel: 0.01ms;
  }
}
