/* Public-site primitives. Admin keeps its independent base tokens. */
body.editorial {
  --primary: #000000;
  --accent: #fff100;
  --canvas: #f3f3f3;
  --surface: #ffffff;
  --canvas-dark: #050506;
  --surface-dark: #141416;
  --text: #000000;
  --muted: #444444;
  --faint: #737373;
  --hairline: #e5e7eb;
  --radius-control: 8px;
  --radius-card: 16px;
  --radius-panel: 28px;
  --space-xs: 5.3333px;
  --space-sm: 10.6667px;
  --space-md: 16px;
  --space-lg: 21.3333px;
  --space-xl: 32px;
  --space-xxl: 53.3333px;
  --space-panel: 62px;
  --space-section: 85.3333px;
  --font-display: "Archivo", "Wanted Sans", sans-serif;
  --font-body: "Wanted Sans", "Archivo", -apple-system, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --type-display: clamp(76px, 9.4vw, 144px);
  --type-hero: clamp(44px, 5.9vw, 85px);
  --type-heading: clamp(36px, 4.45vw, 64px);
  --type-subhead: clamp(30px, 3.7vw, 53px);
  --type-lead: clamp(20px, 1.9vw, 27px);
  --type-body: 19px;
  --type-ui: 18px;
  --type-caption: 14px;
  /* Neutral compatibility scale for shared analytical components. */
  --tone-50: #ffffff;
  --tone-100: #f3f3f3;
  --tone-150: #ededed;
  --tone-200: #e5e7eb;
  --tone-300: #cccccc;
  --tone-400: #979797;
  --tone-500: #737373;
  --tone-600: #555555;
  --tone-700: #444444;
  --tone-800: #252525;
  --tone-900: #141416;
  --tone-950: #000000;
  --ink: var(--text);
  --ink-70: var(--muted);
  --ink-45: var(--faint);
  --line: var(--hairline);
  --bg: var(--canvas);
  --bg-soft: var(--canvas);
  --chart-1: #111111;
  --chart-2: #979797;
  --chart-3: #555555;
  --chart-4: #cccccc;
  --map-bg: #f3f3f3;
  --map-block: #e4e4e4;
  --map-road: #ffffff;
  --map-water: #d2d2d2;
  --map-ink: #555555;
  --map-number-low: #000000;
  --map-number-high: #ffffff;
  --map-selection: #000000;
  --map-on-selection: #ffffff;
}
.theme-dark {
  --text: #ffffff;
  --muted: #b0b0b0;
  --faint: #979797;
  --hairline: #2a2a2c;
  --ink: var(--text);
  --ink-70: var(--muted);
  --ink-45: var(--faint);
  --line: var(--hairline);
  color: var(--text);
  background: var(--canvas-dark);
}
