/* web-v2/css/themes.css
   All theme tokens as CSS custom properties on [data-theme].
   Applied to <html> before first paint — no flash. */

[data-theme="dark-cyber"] {
  --bg-primary:    #080c10;
  --bg-surface:    #0a0d12;
  --bg-card:       #0d0808;
  --bg-card-pre:   #0d0a00;
  --bg-card-clear: #05080d;
  --border:        rgba(0, 255, 255, .15);
  --border-subtle: rgba(0, 255, 255, .07);
  --accent:        #00ffff;
  --accent-dim:    rgba(0, 255, 255, .4);
  --accent-glow:   0 0 8px rgba(0, 255, 255, .5);
  --text-primary:  #e8e8e8;
  --text-muted:    rgba(0, 255, 255, .4);
  --text-label:    rgba(0, 255, 255, .7);
  --threat-rockets: #ff1f1f;
  --threat-rockets-bg: rgba(255, 31, 31, .14);
  --threat-rockets-glow: 0 0 14px rgba(255, 31, 31, .4);
  --threat-uav: #c462ff;
  --threat-uav-bg: rgba(196, 98, 255, .12);
  --threat-uav-glow: 0 0 14px rgba(196, 98, 255, .35);
  --threat-prealert: #fbbf24;
  --threat-prealert-bg: rgba(251, 191, 36, .1);
  --threat-clearing: #38bdf8;
  --threat-clearing-bg: rgba(56, 189, 248, .08);
  --font-mono: 'Courier New', monospace;
  --scanlines: repeating-linear-gradient(
    0deg, transparent, transparent 2px,
    rgba(0, 255, 255, .012) 2px, rgba(0, 255, 255, .012) 4px
  );
}

[data-theme="dark-blue"] {
  --bg-primary:    #060b18;
  --bg-surface:    #0d1b2e;
  --bg-card:       #0d1b2e;
  --bg-card-pre:   #0d1520;
  --bg-card-clear: #070e1a;
  --border:        #1e3a5f;
  --border-subtle: #132840;
  --accent:        #3b82f6;
  --accent-dim:    #4a7ab5;
  --accent-glow:   0 0 8px rgba(59, 130, 246, .5);
  --text-primary:  #e2e8f0;
  --text-muted:    #7a9bbe;
  --text-label:    #93c5fd;
  --threat-rockets: #ff2020;
  --threat-rockets-bg: rgba(255, 32, 32, .13);
  --threat-rockets-glow: 0 0 14px rgba(255, 32, 32, .35);
  --threat-uav: #c462ff;
  --threat-uav-bg: rgba(196, 98, 255, .11);
  --threat-uav-glow: 0 0 14px rgba(196, 98, 255, .3);
  --threat-prealert: #fbbf24;
  --threat-prealert-bg: rgba(251, 191, 36, .09);
  --threat-clearing: #38bdf8;
  --threat-clearing-bg: rgba(56, 189, 248, .07);
  --font-mono: 'Courier New', monospace;
  --scanlines: none;
}

[data-theme="light"] {
  --bg-primary:    #f0f4f8;
  --bg-surface:    #ffffff;
  --bg-card:       #ffffff;
  --bg-card-pre:   #ffffff;
  --bg-card-clear: #ffffff;
  --border:        #e2e8f0;
  --border-subtle: #f1f5f9;
  --accent:        #0f172a;
  --accent-dim:    #94a3b8;
  --accent-glow:   none;
  --text-primary:  #0f172a;
  --text-muted:    #64748b;
  --text-label:    #334155;
  --threat-rockets: #e11d1d;
  --threat-rockets-bg: rgba(225, 29, 29, .08);
  --threat-rockets-glow: 0 1px 4px rgba(225, 29, 29, .2);
  --threat-uav: #9333ea;
  --threat-uav-bg: rgba(147, 51, 234, .08);
  --threat-uav-glow: 0 1px 4px rgba(147, 51, 234, .2);
  --threat-prealert: #d97706;
  --threat-prealert-bg: rgba(217, 119, 6, .07);
  --threat-clearing: #0284c7;
  --threat-clearing-bg: rgba(2, 132, 199, .06);
  --font-mono: 'Courier New', monospace;
  --scanlines: none;
}
