/* ArmsRace design tokens. Every colour, font, radius and layer the interface uses lives here;
   index.html only says var(--name). Names match the design system (docs/DESIGN.md). A visual pass
   changes values in this file, not the screens. The arena colours live in src/scene.rs (Palette). */

:root {
  /* Grounds */
  --bg-void: #07080b;            /* page, menus */
  --bg-canvas: #0b0c10;          /* game canvas, minimap, editor */
  --bg-input: #11141c;           /* text inputs, filters, scenario text */
  --bg-panel: #12141c;           /* docked side panels (editor bar) */
  --bg-control: #1a1d26;         /* buttons, bar tracks */
  --bg-control-hover: #242938;
  --bg-selected: #2b3550;        /* a toggled option */
  --bg-chip-on: #27406b;         /* a toggled filter chip */
  --bg-row-hover: #1a2234;       /* list row under the pointer */
  --bg-row-equipped: #1d3358;    /* the equipped row in the catalog */
  --bg-primary: #20314f;         /* the one primary action */
  --bg-primary-hover: #2a406a;
  --bg-file: #1d2a46;            /* file pickers, dropdowns */
  --bg-hud: rgba(8, 10, 16, 0.72);        /* ammo block */
  --bg-hud-soft: rgba(8, 10, 16, 0.6);    /* HP block */
  --bg-feed: rgba(8, 10, 16, 0.7);        /* kill feed lines */
  --bg-board: rgba(8, 10, 16, 0.88);      /* scoreboard */
  --bg-glass: rgba(10, 12, 18, 0.88);     /* replay viewer panels */
  --bg-glass-strong: rgba(10, 12, 18, 0.92); /* dev panel, scrub bar */
  --bg-scrim: rgba(5, 6, 9, 0.72);        /* behind centered overlays */
  --scrim-glow: rgba(24, 30, 46, 0.93);   /* menu backdrop centre */
  --scrim-edge: rgba(4, 5, 8, 0.97);      /* menu backdrop edge */
  --scrim-glow-strong: rgba(24, 30, 46, 0.97); /* loadout/armory backdrop centre */
  --scrim-edge-strong: rgba(4, 5, 8, 0.99);
  --strat-fade-from: rgba(8, 10, 18, 0.92); /* stratagem menu, left edge */
  --strat-fade-to: rgba(8, 10, 18, 0.7);
  --vignette: rgba(10, 10, 20, 0.75);     /* suppression vignette edge */

  /* Lines */
  --line-control: #3a4152;       /* buttons, panels, minimap */
  --line-track: #2a2f3c;         /* bars, list dividers */
  --line-input: #2c3345;
  --line-subtle: #2a3144;        /* lists, checklists, stratagem rows, editor divider */
  --line-list-row: #1b2130;      /* between catalog rows */
  --line-file: #4a6aa8;
  --line-chip-on: #4a78c0;
  --line-selected: var(--team-me);
  --line-mark-kill: #7a2a2a;

  /* Text */
  --ink: #d8dce6;
  --ink-white: #ffffff;
  --ink-bright: #e9edf7;         /* wordmark, titles, code arrows, weapon name */
  --ink-cool: #dbe6ff;           /* text on file/dropdown fills, stratagem names */
  --ink-soft: #c9d1e3;           /* secondary values, input text */
  --ink-pale: #aab3c5;           /* list labels, checklist titles, map text */
  --ink-muted: #9aa3b5;
  --ink-dim: #8993a8;            /* tagline, stat labels, table heads, stratagem counts */
  --ink-cool-dim: #8fa0c0;       /* catalog row notes, dev panel hint */
  --ink-faint: #6c7488;          /* section labels on bg-void only (4.3:1) */
  --shadow-ink: #000000;         /* text shadows over the arena */

  /* Teams and results */
  --team-me: #4ea1ff;
  --team-me-soft: #7fc4ff;       /* your row on the scoreboard */
  --team-foe: #ff5d5d;
  --result-win: #6fe08a;
  --result-loss: var(--team-foe);
  --result-draw: var(--ink-pale);

  /* Signals: one meaning each */
  --signal-highlight: #e0b04a;
  --signal-strat: #ffd166;
  --signal-grenade: #ffd27a;
  --signal-warn: #ffb36b;
  --signal-warn-soft: #ffb25a;   /* replay warnings */
  --signal-error: #ff8a6a;       /* rules check, refused imports */
  --signal-ok: #7fe3a0;
  --signal-drone: #7ad7ff;
  --signal-shield: #58d6e8;
  --signal-dash: #8fe3a2;
  --signal-secondary: #9fb4d8;
  --signal-dev: #ffcf5a;
  --delta-up: var(--result-win);  /* comparison: better */
  --delta-down: #ff8a7a;          /* comparison: worse */
  --mark-kill: #ff8a8a;
  --mark-blast: #ffc27a;

  /* The Cheater owns magenta */
  --cheat: #ff6bd5;
  --cheat-ink: #ffd0f3;
  --cheat-fill: #4a1840;
  --cheat-line: #8a2a74;

  /* Effects */
  --hyper-cyan: #7ef0ff;
  --hyper-glow-cyan: #2fd0ff;
  --hyper-glow-pink: #ff4fd8;
  --killcam-fill: rgba(120, 20, 20, 0.75);
  --killcam-line: #ff6a6a;
  --fx-flashbang: #ffffff;

  /* Eras. --era-accent marks the era itself (the era card, the Arms Race strip), never a state;
     outside a Forge match it is your blue. */
  --era-primitive: #d98f3e;      /* ochre */
  --era-medieval: #d8c08a;       /* parchment gold */
  --era-gunpowder: #c9a14a;      /* brass */
  --era-industrial: #b8c4cc;     /* steel */
  --era-modern: #4ea1ff;         /* polymer blue */
  --era-future: #5ff0ff;         /* glow cyan */
  --era-accent: var(--team-me);

  /* Type. --font-display is the hook for the one display face (wordmark, titles, big numbers);
     until it is chosen it is the same monospace as everything else. */
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-ui: var(--font-mono);
  --font-display: var(--font-mono);
  --font-code: monospace;        /* raw text boxes (map text, scenarios) */

  /* Shape */
  --radius-none: 0;
  --radius-panel: 6px;           /* only panels floating over the arena */

  /* Spacing steps the screens use (adopt as screens are touched) */
  --space-3: 3px; --space-4: 4px; --space-6: 6px; --space-8: 8px; --space-10: 10px;
  --space-12: 12px; --space-14: 14px; --space-16: 16px; --space-18: 18px; --space-36: 36px; --space-56: 56px;

  /* Layers */
  --z-hud: 3;
  --z-suppressed: 4;
  --z-flash: 5;
  --z-feed: 5;
  --z-stratmenu: 6;
  --z-board: 6;
  --z-editor: 7;
  --z-eracard: 8;
}

/* Era themes. During a Forge match the root carries data-era="<era>" (web.rs). Each block will
   override the tokens above to reskin the interface for its era; for now only the accent is set
   (the full palettes are proposals in the design system). Team, result and signal colours keep
   their meaning in every era. */
:root[data-era="primitive"] { --era-accent: var(--era-primitive); }
:root[data-era="medieval"] { --era-accent: var(--era-medieval); }
:root[data-era="gunpowder"] { --era-accent: var(--era-gunpowder); }
:root[data-era="industrial"] { --era-accent: var(--era-industrial); }
:root[data-era="modern"] { --era-accent: var(--era-modern); }
:root[data-era="future"] { --era-accent: var(--era-future); }
