/* ========================================================================
   pr1maly — Theme variables (Material Design 3 tokens)
   Values are space-separated RGB channels for Tailwind opacity support.
   Usage in Tailwind config: "primary": "rgb(var(--c-primary) / <alpha-value>)"
   ======================================================================== */

/* --- Dark mode (default) --- */
:root {
  --c-background: 6 14 32;
  --c-surface: 6 14 32;
  --c-surface-dim: 6 14 32;
  --c-surface-bright: 31 43 73;
  --c-surface-container-lowest: 0 0 0;
  --c-surface-container-low: 9 19 40;
  --c-surface-container: 15 25 48;
  --c-surface-container-high: 20 31 56;
  --c-surface-container-highest: 25 37 64;
  --c-surface-variant: 25 37 64;
  --c-surface-tint: 204 151 255;

  --c-on-surface: 222 229 255;
  --c-on-surface-variant: 163 170 196;
  --c-on-background: 222 229 255;

  --c-primary: 204 151 255;
  --c-primary-dim: 156 72 234;
  --c-primary-container: 194 132 255;
  --c-primary-fixed: 194 132 255;
  --c-primary-fixed-dim: 185 113 255;
  --c-on-primary: 71 0 124;
  --c-on-primary-container: 54 0 97;
  --c-on-primary-fixed: 0 0 0;
  --c-on-primary-fixed-variant: 67 0 118;
  --c-inverse-primary: 132 44 211;

  --c-secondary: 83 221 252;
  --c-secondary-dim: 64 206 237;
  --c-secondary-container: 0 104 122;
  --c-secondary-fixed: 101 225 255;
  --c-secondary-fixed-dim: 72 212 243;
  --c-on-secondary: 0 75 88;
  --c-on-secondary-container: 236 250 255;
  --c-on-secondary-fixed: 0 58 69;
  --c-on-secondary-fixed-variant: 0 89 105;

  --c-tertiary: 255 134 195;
  --c-tertiary-dim: 242 113 181;
  --c-tertiary-container: 246 115 183;
  --c-tertiary-fixed: 255 139 197;
  --c-tertiary-fixed-dim: 249 118 186;
  --c-on-tertiary: 95 0 62;
  --c-on-tertiary-container: 74 0 47;
  --c-on-tertiary-fixed: 54 0 33;
  --c-on-tertiary-fixed-variant: 115 0 75;

  --c-error: 255 110 132;
  --c-error-dim: 215 51 87;
  --c-error-container: 167 1 56;
  --c-on-error: 73 0 19;
  --c-on-error-container: 255 178 185;

  --c-outline: 109 117 140;
  --c-outline-variant: 64 72 93;

  --c-inverse-surface: 250 248 255;
  --c-inverse-on-surface: 77 85 107;

  /* --- Status colours: the meaning, not the hue ---------------------------
     The markup used to reach straight into Tailwind's palette for these —
     text-emerald-400 for a kill, bg-orange-400 for T side, and so on — which
     left the theme no way to speak. Light mode patched what it could with a
     block of !important rules covering the text utilities, and the ~106 fill
     and border usages it did not cover kept rendering dark-mode neon on a
     pastel background.

     Naming them by role instead means a theme sets seven values and every
     badge, chip and border follows. The dark values below are exactly the
     Tailwind colours those classes resolved to, so this rename does not move
     dark mode; light mode gains the fills it never had.

     Channels, not hex, so Tailwind's /20 opacity suffix keeps working. */
  --s-good: 52 211 153;        /* emerald-400 — success, kill, used  */
  --s-bad: 248 113 113;        /* red-400     — death, wasted, fail  */
  --s-caution: 251 191 36;     /* amber-400   — top tier, flash      */
  --s-warn: 251 146 60;        /* orange-400  — T side, coasted      */
  --s-info: 96 165 250;        /* blue-400    — middle tier, neutral */
  --s-accent: 34 211 238;      /* cyan-400    — CT side, highlight   */
  --s-muted: 100 116 139;      /* slate-500   — de-emphasised text   */

  /* Sidebar-specific */
  --sidebar-bg: 15 25 48;
  --sidebar-border: rgba(255,255,255,0.05);
  --mobile-nav-bg: rgba(6,14,32,0.9);

  /* Glass panel */
  --glass-bg: rgba(25, 37, 64, 0.6);

  /* Glows */
  --glow-primary: rgba(204, 151, 255, 0.2);
  --glow-secondary: rgba(83, 221, 252, 0.2);
  --glow-tertiary: rgba(255, 134, 195, 0.2);
  --stat-glow-secondary: rgba(83, 221, 252, 0.4);
  --stat-glow-tertiary: rgba(255, 134, 195, 0.4);

  /* Speed button active */
  --speed-btn-bg: rgba(83, 221, 252, 0.2);
  --speed-btn-color: #53ddfc;
  --speed-btn-border: rgba(83, 221, 252, 0.3);

  /* Replay round list accent colors */
  --rr-ct-bg: rgba(59, 130, 246, 0.25);
  --rr-ct-color: #60a5fa;
  --rr-t-bg: rgba(234, 179, 8, 0.25);
  --rr-t-color: #facc15;
  --rr-win-color: #34d399;
  --rr-loss-color: #f87171;
  --rr-num-color: #c8d0e0;
  --rr-btn-border: rgba(255,255,255,0.08);
  --rr-btn-bg: rgba(255,255,255,0.03);
  --rr-btn-hover-border: rgba(83,221,252,0.3);
  --rr-btn-hover-bg: rgba(83,221,252,0.06);
  --rr-btn-active-border: rgba(83,221,252,0.5);
  --rr-btn-active-bg: rgba(83,221,252,0.12);
  --rr-btn-active-shadow: 0 0 8px rgba(83,221,252,0.15);

  /* ---- Chart / canvas colors ---- */
  --chart-bg: #0f1930;
  --chart-canvas-bg: #0a1628;
  --chart-ct: #60a5fa;
  --chart-ct-dot: #3b82f6;
  --chart-ct-name: #93c5fd;
  --chart-t: #facc15;
  --chart-t-dot: #eab308;
  --chart-t-name: #fde047;
  --chart-hp-good: #4ade80;
  --chart-hp-warn: #facc15;
  --chart-kill: #ff6e84;
  --chart-death: #ff4466;
  --chart-success: #34d399;
  --chart-fail: #f87171;
  --chart-error: #ef4444;
  --chart-amber: #fbbf24;
  --chart-orange: #fb923c;
  --chart-molotov: #f97316;
  --chart-cyan: #53ddfc;
  --chart-sky: #38bdf8;
  --chart-purple: #cc97ff;
  --chart-purple-alt: #c084fc;
  --chart-pink: #ff86c3;
  --chart-smoke: #cbd5e1;
  --chart-on-text: #dee5ff;
  --chart-dot-stroke: #0a1628;
  --chart-buy-full: #c497ff;
  --chart-buy-half: #bb86fc;
  --chart-buy-force: #03dac6;
  --chart-buy-pistol: #fb923c;
  --chart-flash: #fde047;
  --chart-he: #f87171;
  --chart-pre-aim: #22d3ee;
  --chart-grid: rgba(255,255,255,0.08);
  --chart-grid-text: rgba(255,255,255,0.35);
  --chart-track: rgba(255,255,255,0.04);
  --chart-avg-stroke: #ffffff;
}

/* --- Light mode — "Pastel Tactical Editorial" palette --- */
[data-theme="gray"] {
  /* Core surfaces — warm off-white → white card stacking */
  --c-background: 247 250 252;           /* #f7fafc */
  --c-surface: 247 250 252;
  --c-surface-dim: 220 226 231;
  --c-surface-bright: 255 255 255;
  --c-surface-container-lowest: 255 255 255;  /* white cards */
  --c-surface-container-low: 239 244 247;     /* #eff4f7 sections */
  --c-surface-container: 233 238 243;
  --c-surface-container-high: 227 233 239;
  --c-surface-container-highest: 221 228 235;
  --c-surface-variant: 224 230 236;
  --c-surface-tint: 109 78 163;          /* #6d4ea3 */

  /* Text — warm grey-brown, never pure black */
  --c-on-surface: 43 52 55;              /* #2b3437 */
  --c-on-surface-variant: 85 94 99;
  --c-on-background: 43 52 55;

  /* Primary — Soft Lavender */
  --c-primary: 109 78 163;               /* #6d4ea3 */
  --c-primary-dim: 88 58 140;
  --c-primary-container: 194 160 252;     /* #c2a0fc */
  --c-primary-fixed: 237 220 255;
  --c-primary-fixed-dim: 194 160 252;
  --c-on-primary: 255 255 255;
  --c-on-primary-container: 40 6 82;
  --c-on-primary-fixed: 40 6 82;
  --c-on-primary-fixed-variant: 82 48 140;
  --c-inverse-primary: 194 160 252;

  /* Secondary — Mint / Teal */
  --c-secondary: 0 121 107;              /* #00796b */
  --c-secondary-dim: 0 100 88;
  --c-secondary-container: 164 240 233;   /* #a4f0e9 */
  --c-secondary-fixed: 164 240 233;
  --c-secondary-fixed-dim: 130 220 210;
  --c-on-secondary: 255 255 255;
  --c-on-secondary-container: 0 38 33;
  --c-on-secondary-fixed: 0 38 33;
  --c-on-secondary-fixed-variant: 0 90 80;

  /* Tertiary — Muted Coral */
  --c-tertiary: 142 77 57;               /* #8e4d39 */
  --c-tertiary-dim: 120 58 38;
  --c-tertiary-container: 247 164 139;    /* #f7a48b */
  --c-tertiary-fixed: 255 220 208;
  --c-tertiary-fixed-dim: 247 164 139;
  --c-on-tertiary: 255 255 255;
  --c-on-tertiary-container: 58 20 8;
  --c-on-tertiary-fixed: 58 20 8;
  --c-on-tertiary-fixed-variant: 120 52 34;

  /* Error — muted red */
  --c-error: 186 26 26;
  --c-error-dim: 160 0 16;
  --c-error-container: 255 218 218;
  --c-on-error: 255 255 255;
  --c-on-error-container: 65 0 2;

  /* Outline — soft grey per design doc */
  --c-outline: 170 179 183;              /* #aab3b7 */
  --c-outline-variant: 196 204 208;      /* ghost border base */

  --c-inverse-surface: 48 54 57;
  --c-inverse-on-surface: 242 246 248;

  /* --- Status colours, darkened for a pastel background -------------------
     The values the old !important block already used for the text utilities,
     so text keeps the colour it had. Two are pulled apart deliberately:
     "good" and "accent" both collapsed onto the same teal, which made a kill
     and a CT badge the same colour, and orange shared the coral used for
     amber, which did the same to T side and the top tier. They are the
     distinctions these colours exist to carry. */
  --s-good: 0 121 107;         /* #00796b — teal, as before          */
  --s-bad: 186 26 26;          /* #ba1a1a — error red, as before     */
  --s-caution: 142 77 57;      /* #8e4d39 — coral, as before         */
  --s-warn: 160 74 31;         /* #a04a1f — burnt orange, split out  */
  --s-info: 29 78 216;         /* #1d4ed8 — blue, as before          */
  --s-accent: 14 116 144;      /* #0e7490 — deep cyan, split out     */
  --s-muted: 85 96 99;         /* #556063 — as before                */

  /* Sidebar — light tonal shift */
  --sidebar-bg: 239 244 247;
  --sidebar-border: rgba(170,179,183,0.15);
  --mobile-nav-bg: rgba(247,250,252,0.95);

  /* Glass panel — frosted, per design doc */
  --glass-bg: rgba(239, 244, 247, 0.80);

  /* Glows — pastel-soft */
  --glow-primary: rgba(109, 78, 163, 0.10);
  --glow-secondary: rgba(0, 121, 107, 0.10);
  --glow-tertiary: rgba(142, 77, 57, 0.10);
  --stat-glow-secondary: rgba(0, 121, 107, 0.18);
  --stat-glow-tertiary: rgba(142, 77, 57, 0.18);

  /* Speed button — secondary teal accent */
  --speed-btn-bg: rgba(0, 121, 107, 0.10);
  --speed-btn-color: #00796b;
  --speed-btn-border: rgba(0, 121, 107, 0.25);

  /* Replay round list */
  --rr-ct-bg: rgba(37, 99, 235, 0.10);
  --rr-ct-color: #1d4ed8;
  --rr-t-bg: rgba(142, 77, 57, 0.10);
  --rr-t-color: #8e4d39;
  --rr-win-color: #00796b;
  --rr-loss-color: #ba1a1a;
  --rr-num-color: #2b3437;
  --rr-btn-border: rgba(170,179,183,0.15);
  --rr-btn-bg: rgba(0,0,0,0.02);
  --rr-btn-hover-border: rgba(109,78,163,0.25);
  --rr-btn-hover-bg: rgba(109,78,163,0.05);
  --rr-btn-active-border: rgba(109,78,163,0.40);
  --rr-btn-active-bg: rgba(109,78,163,0.10);
  --rr-btn-active-shadow: 0 0 8px rgba(109,78,163,0.10);

  /* ---- Chart / canvas — light mode uses design doc palette ---- */
  --chart-bg: #ffffff;
  --chart-canvas-bg: #f7fafc;
  --chart-ct: #2563eb;
  --chart-ct-dot: #1d4ed8;
  --chart-ct-name: #1e40af;
  --chart-t: #b45309;
  --chart-t-dot: #92400e;
  --chart-t-name: #78350f;
  --chart-hp-good: #00796b;
  --chart-hp-warn: #b45309;
  --chart-kill: #ba1a1a;
  --chart-death: #ba1a1a;
  --chart-success: #00796b;
  --chart-fail: #ba1a1a;
  --chart-error: #ba1a1a;
  --chart-amber: #8e4d39;
  --chart-orange: #8e4d39;
  --chart-molotov: #c2410c;
  --chart-cyan: #00796b;
  --chart-sky: #1d4ed8;
  --chart-purple: #6d4ea3;
  --chart-purple-alt: #7c3aed;
  --chart-pink: #8e4d39;
  --chart-smoke: #556063;
  --chart-on-text: #2b3437;
  --chart-dot-stroke: #eff4f7;
  --chart-buy-full: #6d4ea3;
  --chart-buy-half: #8b68b8;
  --chart-buy-force: #00796b;
  --chart-buy-pistol: #8e4d39;
  --chart-flash: #b45309;
  --chart-he: #ba1a1a;
  --chart-pre-aim: #00796b;
  --chart-grid: rgba(43,52,55,0.18);
  --chart-grid-text: rgba(43,52,55,0.55);
  --chart-track: rgba(43,52,55,0.06);
  --chart-avg-stroke: #2b3437;
}

/* ========================================================================
   Light mode overrides for Tailwind standard colors & overlays
   "Pastel Tactical Editorial" — no pure black, ghost borders, tonal depth
   ======================================================================== */

/* White overlays → ghost-style tonal shifts (design doc: "No-Line Rule") */
[data-scheme="light"] .bg-white\/5  { background-color: rgba(170,179,183,0.06) !important; }
[data-scheme="light"] .bg-white\/10 { background-color: rgba(170,179,183,0.10) !important; }
[data-scheme="light"] .border-white\/5  { border-color: rgba(170,179,183,0.12) !important; }
[data-scheme="light"] .border-white\/10 { border-color: rgba(170,179,183,0.18) !important; }
[data-scheme="light"] .divide-white\/5 > * + * { border-color: rgba(170,179,183,0.12) !important; }
[data-scheme="light"] .hover\:bg-white\/5:hover { background-color: rgba(170,179,183,0.08) !important; }
[data-scheme="light"] .hover\:bg-white\/20:hover { background-color: rgba(170,179,183,0.12) !important; }
[data-scheme="light"] .shadow-purple-900\/20 { --tw-shadow-color: rgba(109,78,163,0.08) !important; }

/* Ambient shadow — 24px blur, 6% opacity (design doc Elevation §4) */
[data-scheme="light"] .shadow-lg { box-shadow: 0 4px 24px rgba(43,52,55,0.06) !important; }

/* The block that used to live here mapped eighteen Tailwind palette classes to
   this theme's colours with !important, one rule per class. It covered only
   the text utilities; the fills and borders using the same palette — around a
   hundred of them — got no override at all and rendered dark-mode neon on a
   pastel background.
   The markup now names the role (text-good, bg-warn/20, border-accent) and
   both themes set --s-* above, so there is nothing left to override. A new
   theme supplies seven values rather than a copy of this block. */

/* Gradient — sidebar active uses primary lavender tint */
[data-scheme="light"] .from-purple-500\/20 { --tw-gradient-from: rgba(109,78,163,0.08) !important; }

/* Silk-finish gradient for primary CTAs (design doc §2 Signature Textures) */
[data-scheme="light"] .bg-gradient-to-r.from-primary.to-primary-dim {
  background: linear-gradient(135deg, #6d4ea3, #c2a0fc) !important;
}

/* Chart.js canvas background (handled via JS) */

/* ========================================================================
   Additional themes
   Generated from a five-colour palette each: background, primary, secondary,
   tertiary and error. Surfaces are tonal steps off the background, and any
   colour that lands on text is pushed until it clears 4.5:1 against both the
   page and the card it sits on — checking only the page shipped four values
   at about 4.1:1. Fill tokens (-container, -fixed) keep the palette exactly
   as given, since a button is judged against its own label.

   The status colours are deliberately identical to the scheme's other theme:
   good is green and bad is red whichever theme is on, because that is a
   vocabulary rather than decoration.
   ======================================================================== */

[data-theme="intense"] {
  --c-background: 27 27 27;
  --c-surface: 27 27 27;
  --c-surface-dim: 27 27 27;
  --c-surface-bright: 72 72 72;
  --c-surface-container-lowest: 18 18 18;
  --c-surface-container-low: 31 31 31;
  --c-surface-container: 40 40 40;
  --c-surface-container-high: 47 47 47;
  --c-surface-container-highest: 54 54 54;
  --c-surface-variant: 54 54 54;
  --c-surface-tint: 179 113 255;
  --c-on-surface: 242 242 242;
  --c-on-surface-variant: 152 152 152;
  --c-on-background: 242 242 242;
  --c-primary: 179 113 255;
  --c-primary-dim: 152 62 255;
  --c-primary-container: 155 73 255;
  --c-primary-fixed: 155 73 255;
  --c-primary-fixed-dim: 138 42 255;
  --c-on-primary: 255 255 255;
  --c-on-primary-container: 255 255 255;
  --c-on-primary-fixed: 242 242 242;
  --c-on-primary-fixed-variant: 255 255 255;
  --c-inverse-primary: 119 1 255;
  --c-secondary: 0 229 255;
  --c-secondary-dim: 0 183 204;
  --c-secondary-container: 0 229 255;
  --c-secondary-fixed: 0 229 255;
  --c-secondary-fixed-dim: 0 202 224;
  --c-on-secondary: 0 37 41;
  --c-on-secondary-container: 0 37 41;
  --c-on-secondary-fixed: 0 14 16;
  --c-on-secondary-fixed-variant: 0 74 82;
  --c-tertiary: 204 255 0;
  --c-tertiary-dim: 163 204 0;
  --c-tertiary-container: 204 255 0;
  --c-tertiary-fixed: 204 255 0;
  --c-tertiary-fixed-dim: 180 224 0;
  --c-on-tertiary: 33 41 0;
  --c-on-tertiary-container: 33 41 0;
  --c-on-tertiary-fixed: 12 16 0;
  --c-on-tertiary-fixed-variant: 66 82 0;
  --c-error: 255 92 92;
  --c-error-dim: 255 41 41;
  --c-error-container: 255 92 92;
  --c-on-error: 255 255 255;
  --c-on-error-container: 255 255 255;
  --c-outline: 124 124 124;
  --c-outline-variant: 87 87 87;
  --c-inverse-surface: 242 242 242;
  --c-inverse-on-surface: 27 27 27;
  --s-good: 52 211 153;
  --s-bad: 248 113 113;
  --s-caution: 251 191 36;
  --s-warn: 251 146 60;
  --s-info: 96 165 250;
  --s-accent: 34 211 238;
  --s-muted: 133 146 166;
  --sidebar-bg: 40 40 40;
  --sidebar-border: rgba(255,255,255,0.05);
  --mobile-nav-bg: rgba(27,27,27,0.9);
  --glass-bg: rgba(54,54,54,0.6);
  --glow-primary: rgba(179,113,255,0.2);
  --glow-secondary: rgba(0,229,255,0.2);
  --glow-tertiary: rgba(204,255,0,0.2);
  --stat-glow-secondary: rgba(0,229,255,0.4);
  --stat-glow-tertiary: rgba(204,255,0,0.4);
  --speed-btn-bg: rgba(0,229,255,0.2);
  --speed-btn-color: #00E5FF;
  --speed-btn-border: rgba(0,229,255,0.3);
  --rr-ct-bg: rgba(34,211,238,0.25);
  --rr-ct-color: #22d3ee;
  --rr-t-bg: rgba(251,146,60,0.25);
  --rr-t-color: #fb923c;
  --rr-win-color: #34d399;
  --rr-loss-color: #f87171;
  --rr-num-color: #c7c7c7;
  --rr-btn-border: rgba(255,255,255,0.08);
  --rr-btn-bg: rgba(255,255,255,0.03);
  --rr-btn-hover-border: rgba(0,229,255,0.3);
  --rr-btn-hover-bg: rgba(0,229,255,0.06);
  --rr-btn-active-border: rgba(0,229,255,0.5);
  --rr-btn-active-bg: rgba(0,229,255,0.12);
  --rr-btn-active-shadow: 0 0 8px rgba(0,229,255,0.15);
  --chart-bg: #282828;
  --chart-canvas-bg: #1f1f1f;
  --chart-ct: #60a5fa;
  --chart-ct-dot: #388ff9;
  --chart-ct-name: #91c1fc;
  --chart-t: #fbbf24;
  --chart-t-dot: #f2b004;
  --chart-t-name: #fcce56;
  --chart-hp-good: #34d399;
  --chart-hp-warn: #fbbf24;
  --chart-kill: #34d399;
  --chart-death: #f87171;
  --chart-success: #34d399;
  --chart-fail: #f87171;
  --chart-error: #f87171;
  --chart-amber: #fbbf24;
  --chart-orange: #fb923c;
  --chart-molotov: #fb923c;
  --chart-cyan: #22d3ee;
  --chart-sky: #60a5fa;
  --chart-purple: #b371ff;
  --chart-purple-alt: #9d48ff;
  --chart-pink: #CCFF00;
  --chart-smoke: #919191;
  --chart-on-text: #F2F2F2;
  --chart-dot-stroke: #1B1B1B;
  --chart-buy-full: #b371ff;
  --chart-buy-half: #9d48ff;
  --chart-buy-force: #00E5FF;
  --chart-buy-pistol: #fb923c;
  --chart-flash: #fbbf24;
  --chart-he: #f87171;
  --chart-pre-aim: #34d399;
  --chart-grid: rgba(255,255,255,0.06);
  --chart-grid-text: rgba(255,255,255,0.45);
  --chart-track: rgba(255,255,255,0.05);
  --chart-avg-stroke: #F2F2F2;
}

[data-theme="pro"] {
  --c-background: 234 234 234;
  --c-surface: 234 234 234;
  --c-surface-dim: 234 234 234;
  --c-surface-bright: 198 198 198;
  --c-surface-container-lowest: 241 241 241;
  --c-surface-container-low: 230 230 230;
  --c-surface-container: 223 223 223;
  --c-surface-container-high: 218 218 218;
  --c-surface-container-highest: 213 213 213;
  --c-surface-variant: 213 213 213;
  --c-surface-tint: 191 0 47;
  --c-on-surface: 37 42 52;
  --c-on-surface-variant: 95 98 103;
  --c-on-background: 37 42 52;
  --c-primary: 191 0 47;
  --c-primary-dim: 222 0 55;
  --c-primary-container: 255 46 99;
  --c-primary-fixed: 255 46 99;
  --c-primary-fixed-dim: 255 15 76;
  --c-on-primary: 255 255 255;
  --c-on-primary-container: 255 255 255;
  --c-on-primary-fixed: 242 242 242;
  --c-on-primary-fixed-variant: 255 255 255;
  --c-inverse-primary: 255 48 99;
  --c-secondary: 6 107 105;
  --c-secondary-dim: 8 136 133;
  --c-secondary-container: 8 217 214;
  --c-secondary-fixed: 8 217 214;
  --c-secondary-fixed-dim: 7 187 185;
  --c-on-secondary: 255 255 255;
  --c-on-secondary-container: 0 10 10;
  --c-on-secondary-fixed: 242 242 242;
  --c-on-secondary-fixed-variant: 255 255 255;
  --c-tertiary: 130 92 0;
  --c-tertiary-dim: 161 114 0;
  --c-tertiary-container: 255 211 105;
  --c-tertiary-fixed: 255 211 105;
  --c-tertiary-fixed-dim: 255 202 74;
  --c-on-tertiary: 255 255 255;
  --c-on-tertiary-container: 146 103 0;
  --c-on-tertiary-fixed: 242 242 242;
  --c-on-tertiary-fixed-variant: 255 255 255;
  --c-error: 191 29 71;
  --c-error-dim: 218 33 81;
  --c-error-container: 200 30 74;
  --c-on-error: 255 255 255;
  --c-on-error-container: 255 255 255;
  --c-outline: 145 148 152;
  --c-outline-variant: 179 180 183;
  --c-inverse-surface: 37 42 52;
  --c-inverse-on-surface: 234 234 234;
  --s-good: 0 111 98;
  --s-bad: 186 26 26;
  --s-caution: 142 77 57;
  --s-warn: 160 74 31;
  --s-info: 29 78 216;
  --s-accent: 12 101 126;
  --s-muted: 85 96 99;
  --sidebar-bg: 223 223 223;
  --sidebar-border: rgba(37,42,52,0.15);
  --mobile-nav-bg: rgba(234,234,234,0.9);
  --glass-bg: rgba(213,213,213,0.8);
  --glow-primary: rgba(191,0,47,0.2);
  --glow-secondary: rgba(6,107,105,0.2);
  --glow-tertiary: rgba(130,92,0,0.2);
  --stat-glow-secondary: rgba(6,107,105,0.4);
  --stat-glow-tertiary: rgba(130,92,0,0.4);
  --speed-btn-bg: rgba(6,107,105,0.2);
  --speed-btn-color: #066b69;
  --speed-btn-border: rgba(6,107,105,0.3);
  --rr-ct-bg: rgba(14,116,144,0.25);
  --rr-ct-color: #0e7490;
  --rr-t-bg: rgba(160,74,31,0.25);
  --rr-t-color: #a04a1f;
  --rr-win-color: #00796b;
  --rr-loss-color: #ba1a1a;
  --rr-num-color: #4c5058;
  --rr-btn-border: rgba(37,42,52,0.08);
  --rr-btn-bg: rgba(37,42,52,0.03);
  --rr-btn-hover-border: rgba(6,107,105,0.3);
  --rr-btn-hover-bg: rgba(6,107,105,0.06);
  --rr-btn-active-border: rgba(6,107,105,0.5);
  --rr-btn-active-bg: rgba(6,107,105,0.12);
  --rr-btn-active-shadow: 0 0 8px rgba(6,107,105,0.15);
  --chart-bg: #dfdfdf;
  --chart-canvas-bg: #e6e6e6;
  --chart-ct: #1d4ed8;
  --chart-ct-dot: #1841b4;
  --chart-ct-name: #153799;
  --chart-t: #8e4d39;
  --chart-t-dot: #713d2d;
  --chart-t-name: #5b3125;
  --chart-hp-good: #00796b;
  --chart-hp-warn: #8e4d39;
  --chart-kill: #00796b;
  --chart-death: #ba1a1a;
  --chart-success: #00796b;
  --chart-fail: #ba1a1a;
  --chart-error: #ba1a1a;
  --chart-amber: #8e4d39;
  --chart-orange: #a04a1f;
  --chart-molotov: #a04a1f;
  --chart-cyan: #0e7490;
  --chart-sky: #1d4ed8;
  --chart-purple: #bf002f;
  --chart-purple-alt: #960025;
  --chart-pink: #825c00;
  --chart-smoke: #7e8086;
  --chart-on-text: #252A34;
  --chart-dot-stroke: #EAEAEA;
  --chart-buy-full: #bf002f;
  --chart-buy-half: #960025;
  --chart-buy-force: #066b69;
  --chart-buy-pistol: #a04a1f;
  --chart-flash: #8e4d39;
  --chart-he: #ba1a1a;
  --chart-pre-aim: #00796b;
  --chart-grid: rgba(37,42,52,0.18);
  --chart-grid-text: rgba(37,42,52,0.55);
  --chart-track: rgba(37,42,52,0.06);
  --chart-avg-stroke: #252A34;
}
