/**
 * War Fever — shared design tokens (single source of truth).
 * Edit colors here; pages link this before their inline <style>.
 * SVG chart series: home.html / admin.html read --squad-1..5 via getComputedStyle (no duplicate hex).
 */
:root {
  /* Neutrals */
  --bg-dark: #0f0f0f;
  --bg-panel: #171717;
  --bg-panel-elevated: #1e1e1e;
  --bg-input: #242424;
  --border: #3a3a3a;
  --text: #e8eaec;
  --text-dim: #9a9a9a;
  --panel-shadow: 0 12px 40px rgba(0, 0, 0, 0.38);
  --panel-gradient: var(--bg-panel-elevated);
  --body-vignette: linear-gradient(180deg, #0b0b0b 0%, var(--bg-dark) 42%, #121212 100%);

  /* Accent + feedback */
  --accent: #e05252;
  --accent-dim: #b64343;
  --error: #e87b7b;
  --success: #7ecf9a;
  --success-dim: #7ecf9a;

  /* Troop / track roles (calculator, stats, peek) */
  --tank: #7ecf9a;
  --air: #7eb8ec;
  --missile: #e89890;
  --tank-dim: rgba(126, 207, 154, 0.22);
  --air-dim: rgba(126, 184, 236, 0.2);
  --missile-dim: rgba(232, 152, 144, 0.2);

  /* Peek / landing aliases (index, reset-password success) */
  --peek-tank: var(--tank);
  --peek-tank-dim: var(--tank-dim);
  --peek-air: var(--air);
  --peek-air-dim: var(--air-dim);
  --peek-missile: var(--missile);
  --peek-missile-dim: var(--missile-dim);

  /* Squads — brand chroma */
  --squad-1: #ffcc2e;
  --squad-2: #6d52e0;
  --squad-3: #2eb8ff;
  --squad-4: #4cd47c;
  --squad-5: #ff8a65;

  /* Squad pill text on near-black rows */
  --squad-pill-fg-1: #fff3b8;
  --squad-pill-fg-2: #ebe8ff;
  --squad-pill-fg-3: #caf6ff;
  --squad-pill-fg-4: #dcffe9;
  --squad-pill-fg-5: #ffe8dc;

  /* Glass surfaces */
  --ui-surface-row: rgb(255 255 255 / 7%);
  --ui-surface-row-muted: rgb(255 255 255 / 5%);
  --ui-badge-border-muted: rgb(255 255 255 / 10%);
  --ui-badge-border-faint: rgb(255 255 255 / 8%);
  --ui-badge-bg: rgb(255 255 255 / 12%);
  --ui-badge-bg-toned: rgb(255 255 255 / 10%);
  --ui-badge-border: rgb(255 255 255 / 14%);
  --ui-badge-border-soft: rgb(255 255 255 / 12%);
  --ui-badge-inset-shine: rgb(255 255 255 / 8%);
  --ui-badge-inset-shine-soft: rgb(255 255 255 / 6%);

  /* Squad badge rims */
  --ui-badge-squad-1-border: rgb(255 224 120 / 90%);
  --ui-badge-squad-1-ring: rgb(255 224 120 / 42%);
  --ui-badge-squad-2-border: rgb(186 168 255 / 92%);
  --ui-badge-squad-2-ring: rgb(200 188 255 / 48%);
  --ui-badge-squad-3-border: rgb(120 214 255 / 88%);
  --ui-badge-squad-3-ring: rgb(140 224 255 / 45%);
  --ui-badge-squad-4-border: rgb(132 234 170 / 90%);
  --ui-badge-squad-4-ring: rgb(120 224 160 / 44%);
  --ui-badge-squad-5-border: rgb(255 168 130 / 90%);
  --ui-badge-squad-5-ring: rgb(255 180 140 / 44%);

  /* Calculator track chips */
  --ui-badge-track-tank-border: rgba(126, 207, 154, 0.45);
  --ui-badge-track-tank-ring: rgb(126 207 154 / 14%);
  --ui-badge-track-air-border: rgba(126, 184, 236, 0.45);
  --ui-badge-track-air-ring: rgb(126 184 236 / 14%);
  --ui-badge-track-missile-border: rgba(232, 152, 144, 0.45);
  --ui-badge-track-missile-ring: rgb(232 152 144 / 14%);

  /* Legacy aliases */
  --as-surface: var(--ui-surface-row);
  --as-surface-muted: var(--ui-surface-row-muted);
  --badge-surface: var(--ui-badge-bg);
  --badge-surface-squad: var(--ui-badge-bg-toned);

  /* article.html naming */
  --bg: var(--bg-dark);
  --panel: var(--bg-panel);
  --panel-elevated: var(--bg-panel-elevated);
  --dim: var(--text-dim);

  /* Modal dimmer + backdrop blur */
  --modal-overlay-blur: 8px;
}

/* Shared modal / schedule overlays (home, admin-app, stats, game clock). */
.modal-overlay,
.wf-arms-race-overlay,
.wf-alliance-duel-overlay,
.wf-ar-duel-notify-overlay {
  -webkit-backdrop-filter: blur(var(--modal-overlay-blur));
  backdrop-filter: blur(var(--modal-overlay-blur));
}

@media (prefers-reduced-motion: reduce) {
  .modal-overlay,
  .wf-arms-race-overlay,
  .wf-alliance-duel-overlay,
  .wf-ar-duel-notify-overlay {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
