/* ═══════════════════════════════════════════════════════════════
   SkyNet — Theme Definitions
   All non-default theme variable sets. Load order: skynet-ui.css → themes.css
   Add new themes here. Each theme overrides the :root tokens.
═══════════════════════════════════════════════════════════════ */

/* ── THEME: TERMINATOR (SkyNet) ────────────────────────────────*/
/* Full immersive HUD — red eye, black chassis, scanlines, mono type */
[data-theme="terminator"] {
  --bg-0: #020202; --bg-1: #070707; --bg-2: #0c0c0c; --bg-3: #141414;
  --bg-4: #1a1a1a; --bg-hover: #222;
  --accent: #cc0000; --accent-bright: #ff1a1a;
  --accent-dim: rgba(204,0,0,0.16); --accent-glow: rgba(255,26,26,0.40);
  --accent-hover: #e60000; --accent-soft: rgba(204,0,0,0.22);
  --accent-subtle: rgba(204,0,0,0.09);
  --text: #ececec; --text-muted: #8f8f8f; --text-0: #fafafa;
  --fg: var(--text); --fg-muted: var(--text-muted); --muted: var(--text-muted);
  --text-primary: var(--text); --text-secondary: var(--text-muted); --text-inverse: #020202;
  --border: #1f1f1f; --border-2: #2e2e2e; --border-strong: #444;
  --bg: var(--bg-0); --bg-card: var(--bg-2); --bg-elevated: var(--bg-3); --bg-input: #0a0a0a;
  --bg-active: var(--bg-3); --bg-overlay: rgba(0,0,0,0.82); --bg-primary: var(--accent);
  --surface: var(--bg-2); --surface2: var(--bg-3);
  --red: #cc0000; --blue: #4a90d9; --blue-soft: rgba(74,144,217,0.15); --green: #2dd46f;
  --cyan: #00e5ff; --orange: #ff6a00; --yellow: #ffcc00; --yellow-soft: rgba(255,204,0,0.15);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.9);
  --shadow: 0 4px 20px rgba(0,0,0,0.95), 0 0 48px rgba(204,0,0,0.08);
  --shadow-lg: 0 24px 80px rgba(0,0,0,1), 0 0 100px rgba(204,0,0,0.12);
  --font-ui: "Share Tech Mono", "IBM Plex Mono", "SF Mono", ui-monospace, monospace;
  --font-display: "Orbitron", "Share Tech Mono", ui-monospace, sans-serif;
  --font-mono: "Share Tech Mono", "JetBrains Mono", ui-monospace, monospace;
  --letter-spacing-wide: 0.12em;
  --radius: 2px; --radius-sm: 1px; --radius-lg: 4px; --radius-xl: 6px;
  --r-sm: 1px; --r-md: 3px;
  --scan-line: repeating-linear-gradient(
    0deg, transparent, transparent 2px,
    rgba(204,0,0,0.035) 2px, rgba(204,0,0,0.035) 4px
  );
  --hud-grid:
    linear-gradient(rgba(204,0,0,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(204,0,0,0.045) 1px, transparent 1px);
  color-scheme: dark;
}

/* Atmosphere — CRT scan + faint tactical grid */
[data-theme="terminator"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9998;
  background-image: var(--hud-grid);
  background-size: 48px 48px;
  opacity: 0.35;
  mix-blend-mode: screen;
}
[data-theme="terminator"] body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  background: var(--scan-line);
  opacity: 0.55;
}

/* Shell chrome — red HUD edges */
[data-theme="terminator"] #sn-header {
  border-bottom: 1px solid rgba(204,0,0,0.35);
  box-shadow: 0 1px 0 rgba(204,0,0,0.12), 0 8px 32px rgba(0,0,0,0.5);
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
}
[data-theme="terminator"] #sn-sidebar,
[data-theme="terminator"] .sn-sidebar {
  border-right: 1px solid rgba(204,0,0,0.28);
  background: linear-gradient(90deg, #050505 0%, #080808 100%);
}
[data-theme="terminator"] .sn-logo-text,
[data-theme="terminator"] .sn-missions-brand {
  font-family: var(--font-display);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  color: var(--accent-bright);
  text-shadow: 0 0 18px rgba(255,26,26,0.45);
}
[data-theme="terminator"] .sn-logo-mark {
  color: var(--accent-bright);
  filter: drop-shadow(0 0 8px rgba(255,26,26,0.55));
  animation: sn-t-eye 2.8s ease-in-out infinite;
}
@keyframes sn-t-eye {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(255,26,26,0.4)); opacity: 1; }
  50% { filter: drop-shadow(0 0 14px rgba(255,26,26,0.85)); opacity: 0.92; }
}

/* Chat — tactical message chrome */
[data-theme="terminator"] .sn-msg--assistant .sn-msg-bubble {
  border-left: 2px solid var(--accent);
  background: linear-gradient(135deg, #0e0e0e 0%, #121212 100%);
  box-shadow: inset 0 0 0 1px rgba(204,0,0,0.08);
}
[data-theme="terminator"] .sn-msg--user .sn-msg-bubble {
  background: linear-gradient(135deg, #990000 0%, #cc0000 100%);
  box-shadow: 0 0 20px rgba(204,0,0,0.25);
}
[data-theme="terminator"] #sn-input-bar .sn-input-wrap {
  border-color: rgba(204,0,0,0.35);
  background: #0a0a0a;
  box-shadow: 0 0 0 1px rgba(204,0,0,0.08), inset 0 0 24px rgba(204,0,0,0.04);
}
[data-theme="terminator"] #sn-input-bar .sn-input-wrap:focus-within {
  border-color: var(--accent-bright);
  box-shadow: 0 0 0 1px rgba(255,26,26,0.35), 0 0 28px rgba(204,0,0,0.2);
}
[data-theme="terminator"] .sn-input-send {
  box-shadow: 0 0 16px rgba(204,0,0,0.35);
}
[data-theme="terminator"] .sn-health-banner--ready {
  background: color-mix(in srgb, #7f1d1d 22%, #0a0a0a);
  border-bottom-color: rgba(204,0,0,0.45);
  color: #ffb4b4;
}
[data-theme="terminator"] .sn-mission-card {
  border-color: rgba(204,0,0,0.28);
  background: linear-gradient(160deg, #0c0c0c, #101010);
}
[data-theme="terminator"] .sn-mission-card:hover {
  border-color: var(--accent-bright);
  box-shadow: 0 0 24px rgba(204,0,0,0.18);
}
[data-theme="terminator"] .sn-mission-title {
  font-family: var(--font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--accent-bright);
}
[data-theme="terminator"] .sn-toolbar-btn.active,
[data-theme="terminator"] #btn-godmode[aria-pressed="true"] {
  color: var(--accent-bright);
  text-shadow: 0 0 10px rgba(255,26,26,0.4);
}
[data-theme="terminator"] .sn-nav-item.active,
[data-theme="terminator"] .sn-conv-item.active {
  border-left: 2px solid var(--accent);
  background: var(--accent-dim);
}
[data-theme="terminator"] ::selection {
  background: rgba(204,0,0,0.45);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="terminator"] .sn-logo-mark { animation: none; }
}

/* ── THEME: DARK (God Mode) ────────────────────────────────────*/
[data-theme="dark"] {
  --bg-0:#080a10; --bg-1:#0d1117; --bg-2:#161b22; --bg-3:#1c2330; --bg-4:#21262d; --bg-hover:#282f3b;
  --accent:#5b6ee1; --accent-bright:#7c8ef5; --accent-dim:rgba(91,110,225,0.12); --accent-glow:rgba(91,110,225,0.30);
  --accent-hover:#6b7ef0; --accent-soft:rgba(91,110,225,0.18); --accent-subtle:rgba(91,110,225,0.07);
  --text:#cdd9e5; --text-muted:#768390; --text-0:#e6edf3;
  --fg:var(--text); --fg-muted:var(--text-muted); --muted:var(--text-muted);
  --text-primary:var(--text); --text-secondary:var(--text-muted); --text-inverse:#080a10;
  --border:#30363d; --border-2:#3d444d; --border-strong:#505965;
  --bg:var(--bg-0); --bg-card:var(--bg-2); --bg-elevated:var(--bg-3); --bg-input:var(--bg-2);
  --bg-active:var(--bg-3); --bg-overlay:rgba(0,0,0,0.70); --bg-primary:var(--accent);
  --surface:var(--bg-2); --surface2:var(--bg-3);
  --red:#f85149; --blue:#388bfd; --blue-soft:rgba(56,139,253,0.15); --green:#3fb950;
  --cyan:#39c5cf; --orange:#d29922; --yellow:#e3b341; --yellow-soft:rgba(227,179,65,0.15);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.6); --shadow:0 4px 16px rgba(0,0,0,0.7);
  --shadow-lg:0 20px 60px rgba(0,0,0,0.8),0 0 60px rgba(91,110,225,0.06);
}

/* ── THEME: MIDNIGHT ───────────────────────────────────────────*/
[data-theme="midnight"] {
  --bg-0:#06060e; --bg-1:#0a0a18; --bg-2:#0f0f20; --bg-3:#161628; --bg-4:#1d1d32; --bg-hover:#222236;
  --accent:#a855f7; --accent-bright:#c084fc; --accent-dim:rgba(168,85,247,0.12); --accent-glow:rgba(168,85,247,0.30);
  --accent-hover:#b56cf8; --accent-soft:rgba(168,85,247,0.18); --accent-subtle:rgba(168,85,247,0.07);
  --text:#ddd6fe; --text-muted:#7c6fa8; --text-0:#ede9fe;
  --fg:var(--text); --fg-muted:var(--text-muted); --muted:var(--text-muted);
  --text-primary:var(--text); --text-secondary:var(--text-muted); --text-inverse:#06060e;
  --border:#1e1b40; --border-2:#2a2654; --border-strong:#3d3868;
  --bg:var(--bg-0); --bg-card:var(--bg-2); --bg-elevated:var(--bg-3); --bg-input:var(--bg-2);
  --bg-active:var(--bg-3); --bg-overlay:rgba(0,0,0,0.75); --bg-primary:var(--accent);
  --surface:var(--bg-2); --surface2:var(--bg-3);
  --red:#f87171; --blue:#818cf8; --blue-soft:rgba(129,140,248,0.15); --green:#4ade80;
  --cyan:#67e8f9; --orange:#fb923c; --yellow:#fbbf24; --yellow-soft:rgba(251,191,36,0.15);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.8); --shadow:0 4px 16px rgba(0,0,0,0.9);
  --shadow-lg:0 20px 60px rgba(0,0,0,1),0 0 80px rgba(168,85,247,0.08);
}

/* ── THEME: CYBERPUNK ─────────────────────────────────────────*/
[data-theme="cyberpunk"] {
  --bg-0:#0a0010; --bg-1:#0e0018; --bg-2:#140020; --bg-3:#1a0028; --bg-4:#200032; --bg-hover:#260040;
  --accent:#ff2d95; --accent-bright:#ff6bb5; --accent-dim:rgba(255,45,149,0.12); --accent-glow:rgba(255,45,149,0.35);
  --accent-hover:#ff4da5; --accent-soft:rgba(255,45,149,0.18); --accent-subtle:rgba(255,45,149,0.07);
  --text:#ffd6ef; --text-muted:#a06080; --text-0:#ffe6f6;
  --fg:var(--text); --fg-muted:var(--text-muted); --muted:var(--text-muted);
  --text-primary:var(--text); --text-secondary:var(--text-muted); --text-inverse:#0a0010;
  --border:#2a0040; --border-2:#3d0060; --border-strong:#5a0090;
  --bg:var(--bg-0); --bg-card:var(--bg-2); --bg-elevated:var(--bg-3); --bg-input:var(--bg-2);
  --bg-active:var(--bg-3); --bg-overlay:rgba(0,0,0,0.80); --bg-primary:var(--accent);
  --surface:var(--bg-2); --surface2:var(--bg-3);
  --red:#ff2d95; --blue:#00f0ff; --blue-soft:rgba(0,240,255,0.15); --green:#00ff9d;
  --cyan:#00f0ff; --orange:#ff9d00; --yellow:#ffe000; --yellow-soft:rgba(255,224,0,0.15);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.9); --shadow:0 4px 16px rgba(0,0,0,0.95);
  --shadow-lg:0 20px 60px rgba(0,0,0,1),0 0 80px rgba(255,45,149,0.12);
}

/* ── THEME: OCEAN DEEP ────────────────────────────────────────*/
[data-theme="ocean"] {
  --bg-0:#020e1a; --bg-1:#041622; --bg-2:#07202e; --bg-3:#0c2a3c; --bg-4:#11364a; --bg-hover:#163e55;
  --accent:#06b6d4; --accent-bright:#22d3ee; --accent-dim:rgba(6,182,212,0.12); --accent-glow:rgba(6,182,212,0.30);
  --accent-hover:#0ec7e8; --accent-soft:rgba(6,182,212,0.18); --accent-subtle:rgba(6,182,212,0.07);
  --text:#bae6fd; --text-muted:#4a7a90; --text-0:#e0f2fe;
  --fg:var(--text); --fg-muted:var(--text-muted); --muted:var(--text-muted);
  --text-primary:var(--text); --text-secondary:var(--text-muted); --text-inverse:#020e1a;
  --border:#0d3348; --border-2:#174560; --border-strong:#255e7e;
  --bg:var(--bg-0); --bg-card:var(--bg-2); --bg-elevated:var(--bg-3); --bg-input:var(--bg-2);
  --bg-active:var(--bg-3); --bg-overlay:rgba(0,0,0,0.72); --bg-primary:var(--accent);
  --surface:var(--bg-2); --surface2:var(--bg-3);
  --red:#f87171; --blue:#38bdf8; --blue-soft:rgba(56,189,248,0.15); --green:#34d399;
  --cyan:#06b6d4; --orange:#fb923c; --yellow:#fbbf24; --yellow-soft:rgba(251,191,36,0.15);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.8); --shadow:0 4px 16px rgba(0,0,0,0.9);
  --shadow-lg:0 20px 60px rgba(0,0,0,1),0 0 80px rgba(6,182,212,0.08);
}

/* ── THEME: FOREST ─────────────────────────────────────────────*/
[data-theme="forest"] {
  --bg-0:#071409; --bg-1:#0b1d0d; --bg-2:#102614; --bg-3:#162f1a; --bg-4:#1c3820; --bg-hover:#214028;
  --accent:#22d3a0; --accent-bright:#4aedb8; --accent-dim:rgba(34,211,160,0.12); --accent-glow:rgba(34,211,160,0.30);
  --accent-hover:#2ae0ab; --accent-soft:rgba(34,211,160,0.18); --accent-subtle:rgba(34,211,160,0.07);
  --text:#bbf7d0; --text-muted:#3f8058; --text-0:#dcfce7;
  --fg:var(--text); --fg-muted:var(--text-muted); --muted:var(--text-muted);
  --text-primary:var(--text); --text-secondary:var(--text-muted); --text-inverse:#071409;
  --border:#163020; --border-2:#204530; --border-strong:#2e6045;
  --bg:var(--bg-0); --bg-card:var(--bg-2); --bg-elevated:var(--bg-3); --bg-input:var(--bg-2);
  --bg-active:var(--bg-3); --bg-overlay:rgba(0,0,0,0.72); --bg-primary:var(--accent);
  --surface:var(--bg-2); --surface2:var(--bg-3);
  --red:#f87171; --blue:#60a5fa; --blue-soft:rgba(96,165,250,0.15); --green:#22d3a0;
  --cyan:#34d3c9; --orange:#fb923c; --yellow:#fbbf24; --yellow-soft:rgba(251,191,36,0.15);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.8); --shadow:0 4px 16px rgba(0,0,0,0.9);
  --shadow-lg:0 20px 60px rgba(0,0,0,1),0 0 80px rgba(34,211,160,0.08);
}

/* ── THEME: LIGHT ──────────────────────────────────────────────*/
[data-theme="light"] {
  --bg-0:#f5f7ff; --bg-1:#eef0fa; --bg-2:#e8eaf6; --bg-3:#dee1f5; --bg-4:#d4d7f0; --bg-hover:#cdd0ec;
  --accent:#4f5fcc; --accent-bright:#6674e0; --accent-dim:rgba(79,95,204,0.12); --accent-glow:rgba(79,95,204,0.25);
  --accent-hover:#5d6dd8; --accent-soft:rgba(79,95,204,0.15); --accent-subtle:rgba(79,95,204,0.06);
  --text:#1a1f4e; --text-muted:#6870a8; --text-0:#0d1240;
  --fg:var(--text); --fg-muted:var(--text-muted); --muted:var(--text-muted);
  --text-primary:var(--text); --text-secondary:var(--text-muted); --text-inverse:#f5f7ff;
  --border:#c8cbea; --border-2:#b8bcdf; --border-strong:#a0a5d4;
  --bg:var(--bg-0); --bg-card:var(--bg-1); --bg-elevated:var(--bg-2); --bg-input:#fff;
  --bg-active:var(--bg-2); --bg-overlay:rgba(26,31,78,0.4); --bg-primary:var(--accent);
  --surface:var(--bg-1); --surface2:var(--bg-2);
  --red:#dc2626; --blue:#2563eb; --blue-soft:rgba(37,99,235,0.12); --green:#16a34a;
  --cyan:#0891b2; --orange:#ea580c; --yellow:#ca8a04; --yellow-soft:rgba(202,138,4,0.12);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.08); --shadow:0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg:0 20px 60px rgba(0,0,0,0.12);
}
[data-theme="light"] ::placeholder { color: var(--text-muted); }
[data-theme="light"] body { color: var(--text); background: var(--bg-0); }

