/* ------------------------------------------------------------------
   Design tokens (dark theme baseline).
   Single source of truth for UI colors. Rules:
   - New CSS must use var(--ap-*) for any color that appears here.
   - Alpha variants: rgba(var(--ap-NAME-rgb), A). Keep alpha at the
     usage site; only the base hue is centralized.
   - Data-semantic hues (pop bands, chart series) stay literal in
     their component CSS: they encode meaning, not theme.
   - util_compat.css is excluded on purpose (legacy, shrink-only).
   ------------------------------------------------------------------ */
:root {
  --ap-white: #fff;
  --ap-black: #000;
  --ap-text-secondary: #94a3b8;
  --ap-text-tertiary: #64748b;
  --ap-text-primary: #e6e8ef;
  --ap-text-display: #e6e8ef;
  --ap-slate-50: #f8fafc;
  --ap-slate-200: #e2e8f0;
  --ap-slate-300: #cbd5e1;
  --ap-slate-500: #64748b;
  --ap-slate-900: #0f172a;
  --ap-gray-100: #f3f4f6;
  --ap-gray-200: #e5e7eb;
  --ap-gray-300: #d1d5db;
  --ap-gray-400: #9ca3af;
  --ap-gray-500: #6b7280;
  --ap-gray-600: #4b5563;
  --ap-gray-700: #374151;
  --ap-gray-800: #1f2937;
  --ap-gray-900: #111827;
  --ap-gray-950: #030712;
  --ap-navy-600: #4b5a7c;
  --ap-navy-700: #2b3247;
  --ap-navy-800: #23283a;
  --ap-navy-900: #151926;
  --ap-navy-950: #0a0c14;
  --ap-accent: #facc15;
  --ap-listeners: #fde047;
  --ap-yellow-300: #fde047;
  --ap-brand-yellow: #f4e900;
  --ap-amber: #fbbf24;
  --ap-amber-600: #f59e0b;
  --ap-green: #34d399;
  --ap-green-bright: #4ade80;
  --ap-green-500: #22c55e;
  --ap-slate-100: #f1f5f9;
  --ap-red: #f87171;
  --ap-red-500: #ef4444;
  --ap-red-brand: #e63535;
  --ap-red-soft: #ff5a5a;
  --ap-sky: #38bdf8;
  --ap-indigo: #6366f1;

  --ap-white-rgb: 255,255,255;
  --ap-black-rgb: 0,0,0;
  --ap-text-secondary-rgb: 148,163,184;
  --ap-text-tertiary-rgb: 100,116,139;
  --ap-text-primary-rgb: 230,232,239;
  --ap-text-display-rgb: 230,232,239;
  --ap-slate-50-rgb: 248,250,252;
  --ap-slate-200-rgb: 226,232,240;
  --ap-slate-300-rgb: 203,213,225;
  --ap-slate-500-rgb: 100,116,139;
  --ap-slate-900-rgb: 15,23,42;
  --ap-gray-100-rgb: 243,244,246;
  --ap-gray-200-rgb: 229,231,235;
  --ap-gray-300-rgb: 209,213,219;
  --ap-gray-400-rgb: 156,163,175;
  --ap-gray-500-rgb: 107,114,128;
  --ap-gray-600-rgb: 75,85,99;
  --ap-gray-700-rgb: 55,65,81;
  --ap-gray-800-rgb: 31,41,55;
  --ap-gray-900-rgb: 17,24,39;
  --ap-gray-950-rgb: 3,7,18;
  --ap-navy-600-rgb: 75,90,124;
  --ap-navy-700-rgb: 43,50,71;
  --ap-navy-800-rgb: 35,40,58;
  --ap-navy-900-rgb: 21,25,38;
  --ap-navy-950-rgb: 10,12,20;
  --ap-accent-rgb: 250,204,21;
  --ap-listeners-rgb: 253,224,71;
  --ap-yellow-300-rgb: 253,224,71;
  --ap-brand-yellow-rgb: 244,233,0;
  --ap-amber-rgb: 251,191,36;
  --ap-amber-600-rgb: 245,158,11;
  --ap-green-rgb: 52,211,153;
  --ap-green-500-rgb: 34,197,94;
  --ap-green-bright-rgb: 74,222,128;
  --ap-red-rgb: 248,113,113;
  --ap-red-500-rgb: 239,68,68;
  --ap-red-brand-rgb: 230,53,53;
  --ap-red-soft-rgb: 255,90,90;
  --ap-sky-rgb: 56,189,248;
  --ap-indigo-rgb: 99,102,241;
}

/* Light theme: first-cut palette, page-by-page QA pending.
   Background/text ramps invert; accent and status hues darken for
   contrast on light surfaces. Data reading order (pop bands, delta
   green/red) is preserved. -rgb triplets are derived from the solid
   values above them; keep them in sync. */
html.light {
  color-scheme: light;
  --ap-white: #0f172a;
  --ap-black: #000;
  --ap-text-secondary: #64748b;
  --ap-text-tertiary: #94a3b8;
  --ap-text-primary: #1e293b;
  --ap-text-display: #334155;
  --ap-slate-50: #0b1220;
  --ap-slate-200: #24334a;
  --ap-slate-300: #3a4a63;
  --ap-slate-500: #64748b;
  --ap-slate-900: #e2e8f0;
  --ap-gray-100: #171f2b;
  --ap-gray-200: #222b38;
  --ap-gray-300: #333c49;
  --ap-gray-400: #5b6674;
  --ap-gray-500: #6b7280;
  --ap-gray-600: #8494a7;
  --ap-gray-700: #c6d0de;
  --ap-gray-800: #dbe2ec;
  --ap-gray-900: #ffffff;
  --ap-gray-950: #f4f6fa;
  --ap-navy-600: #a8b6cb;
  --ap-navy-700: #cbd4e2;
  --ap-navy-800: #d8dfea;
  --ap-navy-900: #ffffff;
  --ap-navy-950: #eef1f6;
  --ap-accent: #ca8a04;
  --ap-listeners: #b45309;
  --ap-yellow-300: #a16207;
  --ap-brand-yellow: #a89e00;
  --ap-amber: #b45309;
  --ap-amber-600: #92400e;
  --ap-green: #059669;
  --ap-green-bright: #16a34a;
  --ap-green-500: #15803d;
  --ap-slate-100: #101a29;
  --ap-red: #dc2626;
  --ap-red-500: #b91c1c;
  --ap-red-brand: #c62828;
  --ap-red-soft: #d44a4a;
  --ap-sky: #0284c7;
  --ap-indigo: #4f46e5;

  --ap-white-rgb: 15,23,42;
  --ap-black-rgb: 0,0,0;
  --ap-text-secondary-rgb: 100,116,139;
  --ap-text-tertiary-rgb: 148,163,184;
  --ap-text-primary-rgb: 30,41,59;
  --ap-text-display-rgb: 51,65,85;
  --ap-slate-50-rgb: 11,18,32;
  --ap-slate-200-rgb: 36,51,74;
  --ap-slate-300-rgb: 58,74,99;
  --ap-slate-500-rgb: 100,116,139;
  --ap-slate-900-rgb: 226,232,240;
  --ap-gray-100-rgb: 23,31,43;
  --ap-gray-200-rgb: 34,43,56;
  --ap-gray-300-rgb: 51,60,73;
  --ap-gray-400-rgb: 91,102,116;
  --ap-gray-500-rgb: 107,114,128;
  --ap-gray-600-rgb: 132,148,167;
  --ap-gray-700-rgb: 198,208,222;
  --ap-gray-800-rgb: 219,226,236;
  --ap-gray-900-rgb: 255,255,255;
  --ap-gray-950-rgb: 244,246,250;
  --ap-navy-600-rgb: 168,182,203;
  --ap-navy-700-rgb: 203,212,226;
  --ap-navy-800-rgb: 216,223,234;
  --ap-navy-900-rgb: 255,255,255;
  --ap-navy-950-rgb: 238,241,246;
  --ap-accent-rgb: 202,138,4;
  --ap-listeners-rgb: 180,83,9;
  --ap-yellow-300-rgb: 161,98,7;
  --ap-brand-yellow-rgb: 168,158,0;
  --ap-amber-rgb: 180,83,9;
  --ap-amber-600-rgb: 146,64,14;
  --ap-green-rgb: 5,150,105;
  --ap-green-bright-rgb: 22,163,74;
  --ap-green-500-rgb: 21,128,61;
  --ap-red-rgb: 220,38,38;
  --ap-red-500-rgb: 185,28,28;
  --ap-red-brand-rgb: 198,40,40;
  --ap-red-soft-rgb: 212,74,74;
  --ap-sky-rgb: 2,132,199;
  --ap-indigo-rgb: 79,70,229;
}
