/* Modern: the scale of traingenie.in and lastberth.com, in Indian Railways colours: IRCTC navy #000075 for the one accent and the mark, IRCTC grey #CCC7D2 for rules and tints.
 * System sans at 16px, white cards with 14px corners and a soft shadow, sections 40px apart, 1100px wide. No web fonts. A drop-in replacement for /tokens.css. */
:root {
  color-scheme: light;
  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 20px; --space-xl: 28px; --space-2xl: 40px; --space-3xl: 56px; --space-4xl: 80px;
  --text-xs: 0.75rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem;
  --text-display-s: clamp(1.5rem, 1vw + 1.1rem, 1.875rem); --text-display: clamp(1.75rem, 1.4vw + 1.1rem, 2.25rem);
  --text-section: clamp(1.25rem, 0.5vw + 1.05rem, 1.5rem); --text-title: 1.0625rem; --text-lead: 1.0625rem;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --ease-in: cubic-bezier(0.7, 0, 0.84, 0); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;
  --color-error: oklch(52% 0.19 27); --color-success: oklch(50% 0.12 150);
  --container: 1100px; --gutter: 20px; --gap-columns: 24px; --section-gap-s: 40px; --section-gap: 48px; --section-gap-l: 56px;
  --z-base: 1; --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-sticky-nav: 300; --z-modal: 400; --z-toast: 500; --z-tooltip: 600;
  --color-paper: #ffffff; --color-paper-2: #f5f4f8; --color-paper-3: #ffffff;
  --color-ink: #14142b; --color-ink-2: #3a3a55; --color-muted: #5f5f78;
  --color-rule: #e0dde6; --color-ink-rule: #ccc7d2;
  --color-accent: #000075; --color-accent-2: #000075; --color-accent-ink: #ffffff; --color-focus: #000075; --color-accent-hover: #1a1a99;
  --color-tint: #eeecf4; --color-tint-rule: #ccc7d2;
  --font-display: system-ui, "Segoe UI", Roboto, "Nirmala UI", "Noto Sans", Arial, sans-serif; --font-body: var(--font-display); --font-outlier: var(--font-body); --font-system: var(--font-display);
  --radius-card: 14px; --radius-pill: 999px; --radius-input: 10px; --rule-hair: 1px; --rule-bar: 1px;
  --shadow-card: 0 1px 2px oklch(21% 0.02 262 / 0.06), 0 6px 16px oklch(21% 0.02 262 / 0.06);
  --tracking-display: -0.01em; --display-weight: 800;
}
/* Night: the same page on a near-black blue. Follows the device unless the header switch set data-mode. The two blocks are identical by design. */
@media (prefers-color-scheme: dark) {
  html:not([data-mode="light"]) {
    color-scheme: dark;
    --color-paper: oklch(15% 0.03 280); --color-paper-2: oklch(19% 0.03 280); --color-paper-3: oklch(17% 0.03 280);
    --color-ink: oklch(95% 0.01 262); --color-ink-2: oklch(84% 0.012 262); --color-muted: oklch(68% 0.014 262);
    --color-rule: oklch(30% 0.016 262); --color-ink-rule: oklch(40% 0.016 262);
    --color-accent: oklch(78% 0.13 280); --color-accent-2: oklch(78% 0.13 280); --color-accent-ink: #0b0b2e; --color-focus: oklch(78% 0.13 280); --color-accent-hover: oklch(84% 0.11 280);
    --color-tint: oklch(25% 0.07 280); --color-tint-rule: oklch(34% 0.08 280);
    --color-error: oklch(70% 0.17 27); --color-success: oklch(72% 0.14 150);
    --shadow-card: 0 1px 2px oklch(0% 0 0 / 0.4), 0 6px 16px oklch(0% 0 0 / 0.35);
  }
}
html[data-mode="dark"] {
  color-scheme: dark;
  --color-paper: oklch(15% 0.03 280); --color-paper-2: oklch(19% 0.03 280); --color-paper-3: oklch(17% 0.03 280);
  --color-ink: oklch(95% 0.01 262); --color-ink-2: oklch(84% 0.012 262); --color-muted: oklch(68% 0.014 262);
  --color-rule: oklch(30% 0.016 262); --color-ink-rule: oklch(40% 0.016 262);
  --color-accent: oklch(78% 0.13 280); --color-accent-2: oklch(78% 0.13 280); --color-accent-ink: #0b0b2e; --color-focus: oklch(78% 0.13 280); --color-accent-hover: oklch(84% 0.11 280);
  --color-tint: oklch(25% 0.07 280); --color-tint-rule: oklch(34% 0.08 280);
  --color-error: oklch(70% 0.17 27); --color-success: oklch(72% 0.14 150);
  --shadow-card: 0 1px 2px oklch(0% 0 0 / 0.4), 0 6px 16px oklch(0% 0 0 / 0.35);
}
@media (max-width: 60rem) { :root { --gutter: 16px; --section-gap-s: 32px; --section-gap: 40px; --section-gap-l: 48px; } }
@media (max-width: 40rem) { :root { --gutter: 14px; --section-gap-s: 28px; --section-gap: 32px; --section-gap-l: 40px; --gap-columns: 16px; } }
