/* ═══════════════════════════════════════════════
   VoltStack — Light Mode & System Mode Overrides
   ═══════════════════════════════════════════════ */

/* ── Light mode variables — Apple-inspired clean aesthetic ── */
[data-theme="light"] {
  --bg: #f5f5f7;
  --bg-elevated: #ffffff;
  --bg-card: #ffffff;
  --surface: #f0f0f2;
  --border: #d2d2d7;
  --border-accent: #c7c7cc;
  --text-primary: #134252;
  --text-secondary: #2d5466;
  --text-muted: #6b8a96;
  --green: #16a34a;
  --green-dim: #16a34a28;
  --green-glow: #16a34a40;
  --red: #dc2626;
  --red-dim: #dc262625;
  --amber: #d97706;
  --amber-dim: #d9770625;
  --blue: #2563eb;
  --blue-dim: #2563eb20;
  --brand-start: #0d9488;
  --brand-blue: #2563eb;
  scrollbar-color: var(--border-accent) var(--bg);
}

/* ── Light accent overrides — deeper variants for white backgrounds ── */
[data-theme="light"] .theme-blue {
  --green: #2563eb;
  --green-dim: #2563eb15;
  --green-glow: #2563eb30;
}
[data-theme="light"] .theme-purple {
  --green: #7c3aed;
  --green-dim: #7c3aed15;
  --green-glow: #7c3aed30;
  --brand-start: #7c3aed;
}
[data-theme="light"] .theme-yellow {
  --green: #ca8a04;
  --green-dim: #ca8a0418;
  --green-glow: #ca8a0430;
  --brand-start: #ca8a04;
}

/* ── Light mode: tame glow effects → subtle shadows ── */
[data-theme="light"] .nav-cta:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  color: #fff;
}
[data-theme="light"] .btn-primary {
  color: #fff;
}
[data-theme="light"] .btn-primary:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* ── System mode — respects prefers-color-scheme ── */
@media (prefers-color-scheme: light) {
  [data-theme="system"] {
    --bg: #f5f5f7;
    --bg-elevated: #ffffff;
    --bg-card: #ffffff;
    --surface: #f0f0f2;
    --border: #d2d2d7;
    --border-accent: #c7c7cc;
    --text-primary: #134252;
    --text-secondary: #2d5466;
    --text-muted: #6b8a96;
    --green: #16a34a;
    --green-dim: #16a34a28;
    --green-glow: #16a34a40;
    --red: #dc2626;
    --red-dim: #dc262625;
    --amber: #d97706;
    --amber-dim: #d9770625;
    --blue: #2563eb;
    --blue-dim: #2563eb20;
    --brand-start: #0d9488;
    --brand-blue: #2563eb;
    scrollbar-color: var(--border-accent) var(--bg);
  }
  [data-theme="system"] .theme-blue {
    --green: #2563eb;
    --green-dim: #2563eb15;
    --green-glow: #2563eb30;
  }
  [data-theme="system"] .theme-purple {
    --green: #7c3aed;
    --green-dim: #7c3aed15;
    --green-glow: #7c3aed30;
    --brand-start: #7c3aed;
  }
  [data-theme="system"] .theme-yellow {
    --green: #ca8a04;
    --green-dim: #ca8a0418;
    --green-glow: #ca8a0430;
    --brand-start: #ca8a04;
  }
  [data-theme="system"] .nav-cta:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    color: #fff;
  }
  [data-theme="system"] .btn-primary {
    color: #fff;
  }
  [data-theme="system"] .btn-primary:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
}

/* ── Nav translucency ── */
[data-theme="light"] nav {
  background: rgba(245, 245, 247, 0.8);
  border-bottom-color: var(--border);
}
[data-theme="light"] nav.scrolled {
  background: rgba(245, 245, 247, 0.92);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] nav {
    background: rgba(245, 245, 247, 0.8);
    border-bottom-color: var(--border);
  }
  [data-theme="system"] nav.scrolled {
    background: rgba(245, 245, 247, 0.92);
  }
}

/* ── Brand text ── */
[data-theme="light"] .igw-stack,
[data-theme="light"] .nav-brand .stack {
  color: var(--text-primary);
}
[data-theme="light"] .nav-brand .olt {
  background: linear-gradient(135deg, #0d9488, #2563eb);
  -webkit-background-clip: text; background-clip: text;
}
[data-theme="light"] .nav-journey {
  border-color: var(--border);
  color: var(--text-secondary);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .igw-stack,
  [data-theme="system"] .nav-brand .stack {
    color: var(--text-primary);
  }
  [data-theme="system"] .nav-brand .olt {
    background: linear-gradient(135deg, #0d9488, #2563eb);
    -webkit-background-clip: text; background-clip: text;
  }
  [data-theme="system"] .nav-journey {
    border-color: var(--border);
    color: var(--text-secondary);
  }
}

/* ── Scene body text ── */
[data-theme="light"] .scene-body {
  color: var(--text-secondary);
}
[data-theme="light"] .scene-body strong {
  color: var(--text-primary);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .scene-body {
    color: var(--text-secondary);
  }
  [data-theme="system"] .scene-body strong {
    color: var(--text-primary);
  }
}

/* ── Critic block ── */
[data-theme="light"] .critic-q {
  color: var(--text-secondary);
}
[data-theme="light"] .critic-a {
  color: var(--text-primary);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .critic-q {
    color: var(--text-secondary);
  }
  [data-theme="system"] .critic-a {
    color: var(--text-primary);
  }
}

/* ── Compare loupe focused row ── */
[data-theme="light"] .compare-loupe-row.focused {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 0 1px rgba(20, 184, 166, 0.08), 0 8px 32px rgba(0, 0, 0, 0.06);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .compare-loupe-row.focused {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 0 0 1px rgba(20, 184, 166, 0.08), 0 8px 32px rgba(0, 0, 0, 0.06);
  }
}

/* ── Compare loupe dots ── */
[data-theme="light"] .compare-loupe-dot {
  background: rgba(0, 0, 0, 0.12);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .compare-loupe-dot {
    background: rgba(0, 0, 0, 0.12);
  }
}

/* ── Footer bolt SVG rects that use #0a0b0d to "cut" lines ── */
[data-theme="light"] .mark-svg rect[fill="#0a0b0d"],
[data-theme="light"] .foot-logo rect[fill="#0a0b0d"],
[data-theme="light"] svg rect[fill="#0a0b0d"] {
  fill: var(--bg);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .mark-svg rect[fill="#0a0b0d"],
  [data-theme="system"] .foot-logo rect[fill="#0a0b0d"],
  [data-theme="system"] svg rect[fill="#0a0b0d"] {
    fill: var(--bg);
  }
}

/* ── CTA ripple rack-cut ── */
[data-theme="light"] .rack-cut {
  fill: var(--bg) !important;
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .rack-cut {
    fill: var(--bg) !important;
  }
}

/* ── Copilot mini-chat ── */
[data-theme="light"] .copilot-mini {
  background: var(--bg-card);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .copilot-mini {
    background: var(--bg-card);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  }
}

/* ── Heatmap overlay ── */
[data-theme="light"] .heatmap-overlay {
  background: var(--bg-card);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .heatmap-overlay {
    background: var(--bg-card);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  }
}

/* ── Intel orbit track ── */
[data-theme="light"] .intel-orbit-track {
  border-color: rgba(0, 0, 0, 0.06);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .intel-orbit-track {
    border-color: rgba(0, 0, 0, 0.06);
  }
}

/* ── Intel module items — chirpier light backdrop ── */
[data-theme="light"] .intel-mod-item {
  background: color-mix(in srgb, var(--mc) 10%, rgba(255, 255, 255, 0.88));
  border-color: color-mix(in srgb, var(--mc) 30%, transparent);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mc) 12%, transparent), 0 1px 2px rgba(0, 0, 0, 0.04);
}
[data-theme="light"] .intel-mod-item:hover {
  background: color-mix(in srgb, var(--mc) 16%, rgba(255, 255, 255, 0.92));
  border-color: color-mix(in srgb, var(--mc) 50%, transparent);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mc) 20%, transparent), 0 1px 3px rgba(0, 0, 0, 0.06);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .intel-mod-item {
    background: color-mix(in srgb, var(--mc) 10%, rgba(255, 255, 255, 0.88));
    border-color: color-mix(in srgb, var(--mc) 30%, transparent);
    backdrop-filter: blur(14px) saturate(1.4);
    -webkit-backdrop-filter: blur(14px) saturate(1.4);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--mc) 12%, transparent), 0 1px 2px rgba(0, 0, 0, 0.04);
  }
  [data-theme="system"] .intel-mod-item:hover {
    background: color-mix(in srgb, var(--mc) 16%, rgba(255, 255, 255, 0.92));
    border-color: color-mix(in srgb, var(--mc) 50%, transparent);
    box-shadow: 0 4px 16px color-mix(in srgb, var(--mc) 20%, transparent), 0 1px 3px rgba(0, 0, 0, 0.06);
  }
}

/* ── Footer stays dark — no light overrides needed ── */

/* ── Cards / backdrop-filter overrides ── */
[data-theme="light"] .bg-card,
[data-theme="light"] [style*="background:var(--bg-card)"],
[data-theme="light"] .std-card,
[data-theme="light"] .cap-card,
[data-theme="light"] .interlock,
[data-theme="light"] .journey-card,
[data-theme="light"] .intel-chip,
[data-theme="light"] .critic-block {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .bg-card,
  [data-theme="system"] [style*="background:var(--bg-card)"],
  [data-theme="system"] .std-card,
  [data-theme="system"] .cap-card,
  [data-theme="system"] .interlock,
  [data-theme="system"] .journey-card,
  [data-theme="system"] .intel-chip,
  [data-theme="system"] .critic-block {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  }
}

/* ── Hardcoded graph node bg ── */
[data-theme="light"] .gnode-box[style*="background:#14161c"],
[data-theme="light"] .gnode-box[style*="background:var(--bg-card)"] {
  background: var(--bg-card) !important;
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .gnode-box[style*="background:#14161c"],
  [data-theme="system"] .gnode-box[style*="background:var(--bg-card)"] {
    background: var(--bg-card) !important;
  }
}

/* ── Graph node light-mode hardcoded overrides ── */
[data-theme="light"] .gnode.mid .gnode-box {
  border-color: #dc262650;
}
[data-theme="light"] .gnode.leaf.affected .gnode-box {
  border-color: #dc262638;
}
[data-theme="light"] .edge-line.hot {
  stroke: var(--red);
  opacity: .6;
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .gnode.mid .gnode-box {
    border-color: #dc262650;
  }
  [data-theme="system"] .gnode.leaf.affected .gnode-box {
    border-color: #dc262638;
  }
  [data-theme="system"] .edge-line.hot {
    stroke: var(--red);
    opacity: .6;
  }
}

/* ── Dark islands — bolt logo scenes stay dark in light mode (Apple-style) ── */
[data-theme="light"] .hero,
[data-theme="light"] .intel-final,
[data-theme="light"] .hero-mark-container,
[data-theme="light"] .adv-section,
[data-theme="light"] #deploy,
[data-theme="light"] .pscene[data-scene="outcome"] {
  --bg: #0a0b0d;
  --bg-card: #14161c;
  --surface: #1a1d25;
  --border: #23272f;
  --border-accent: #3d4555;
  --text-primary: #e8eaed;
  --text-secondary: #dcdfe4;
  --text-muted: #b0b7c3;
  --green: #00e676;
  --green-dim: #00e67620;
  --green-glow: #00e67640;
  --red: #ff3d57;
  --red-dim: #ff3d5720;
  --amber: #ffab00;
  --amber-dim: #ffab0020;
  --blue: #448aff;
  --blue-dim: #448aff15;
  --brand-start: #14b8a6;
  --brand-blue: #3b82f6;
  background: #0a0b0d;
  color: #e8eaed;
}
[data-theme="light"] .gantt-viz {
  background: #0f1729;
  border-radius: 16px;
  padding: 1.5rem;
}
[data-theme="light"] .gantt-viz svg pattern path {
  stroke: #3d5a8a;
}
[data-theme="light"] .gantt-viz svg .gantt-grid-bg {
  opacity: .35;
}
[data-theme="light"] .gantt-viz svg line[stroke="#23272f"] {
  stroke: #2a3550;
}
[data-theme="light"] .intro-overlay {
  background: #050914;
}
[data-theme="light"] .intel-final .intel-mod-item {
  background: color-mix(in srgb, var(--mc) 4%, rgba(20, 22, 28, 0.55));
  border-color: color-mix(in srgb, var(--mc) 18%, transparent);
  color: var(--mc);
}
[data-theme="light"] .intel-orbit-track {
  border-color: rgba(255, 255, 255, 0.03);
}

/* ── SVG fill overrides for light mode ── */
[data-theme="light"] .pscene-viz svg rect[fill="#14161c"],
[data-theme="light"] .pscene-viz svg rect[fill="#1a1d25"] {
  fill: var(--bg-card);
}
[data-theme="light"] .pscene-viz svg rect[fill="#23272f"] {
  fill: var(--border);
}
[data-theme="light"] .pscene-viz svg line[stroke="#23272f"],
[data-theme="light"] .pscene-viz svg path[stroke="#23272f"] {
  stroke: var(--border);
}
[data-theme="light"] .pscene-viz svg pattern[id] path[stroke="#23272f"] {
  stroke: var(--border);
}
[data-theme="light"] .pscene-viz svg rect[fill="#0b1121"],
[data-theme="light"] .pscene-viz svg rect[fill="#121a28"],
[data-theme="light"] .pscene-viz svg rect[fill="#0f172a"],
[data-theme="light"] .pscene-viz svg rect[fill="#162032"],
[data-theme="light"] .pscene-viz svg rect[fill="#0d0f14"],
[data-theme="light"] .pscene-viz svg polygon[fill="#0d0f14"] {
  fill: var(--surface);
}
[data-theme="light"] .pscene-viz svg rect[fill="#1e293b"] {
  fill: var(--border);
}
[data-theme="light"] .pscene-viz svg rect[fill="#050914"] {
  fill: var(--bg);
}
[data-theme="light"] .cta-section svg rect[fill="#0a0b0d"] {
  fill: var(--bg);
}
[data-theme="light"] .staircase-viz svg rect[fill="#14161c"] {
  fill: var(--bg-card);
}
[data-theme="light"] .canvas-viz {
  background: var(--bg-card);
}
/* SVG text: light-on-dark fills → dark-on-light */
[data-theme="light"] .pscene-viz svg text[fill="#e8eaed"],
[data-theme="light"] .pscene-viz svg text[fill="#dcdfe4"],
[data-theme="light"] .pscene-viz svg text[fill="#d4d8e0"],
[data-theme="light"] .pscene-viz svg text[fill="#c0c5d0"] {
  fill: var(--text-primary);
}
[data-theme="light"] .pscene-viz svg text[fill="#a0a7b4"],
[data-theme="light"] .pscene-viz svg text[fill="#b0b7c3"],
[data-theme="light"] .pscene-viz svg text[fill="#8a92a4"] {
  fill: var(--text-muted);
}
[data-theme="light"] .pscene-viz svg text[fill="#475569"],
[data-theme="light"] .pscene-viz svg text[fill="#585e6c"],
[data-theme="light"] .pscene-viz svg text[fill="#3a4258"] {
  fill: var(--text-secondary);
}
/* SVG strokes that used light-on-dark palette */
[data-theme="light"] .pscene-viz svg line[stroke="#3a4258"],
[data-theme="light"] .pscene-viz svg line[stroke="#585e6c"] {
  stroke: var(--border-accent);
}
[data-theme="light"] .pscene-viz svg rect[stroke="#a0a7b4"],
[data-theme="light"] .pscene-viz svg polygon[stroke="#a0a7b4"] {
  stroke: var(--text-muted);
}

/* ── Staircase SVG: dark fills → light-mode equivalents ── */
[data-theme="light"] .staircase-viz svg rect[fill="#14161c"] { fill: var(--bg-card); }
[data-theme="light"] .staircase-viz svg text[fill="#8a90a0"] { fill: var(--text-muted); }
[data-theme="light"] .staircase-viz svg text[fill="#d0d5e0"] { fill: var(--text-primary); }
[data-theme="light"] .staircase-viz svg text[fill="#c0c8d8"] { fill: var(--text-secondary); }
[data-theme="light"] .staircase-viz svg [stroke="#585e6c"] { stroke: var(--border-accent); }
[data-theme="light"] .staircase-viz svg [fill="#00e676"] { fill: #059669; }
[data-theme="light"] .staircase-viz svg [stroke="#00e676"] { stroke: #059669; }
[data-theme="light"] .staircase-viz svg text[fill="#00e676cc"] { fill: #059669cc; }
[data-theme="light"] .staircase-viz svg text[fill="#00e67690"] { fill: #05966990; }
[data-theme="light"] .staircase-viz svg [fill="#448aff"] { fill: #2563eb; }
[data-theme="light"] .staircase-viz svg [stroke="#448aff"] { stroke: #2563eb; }
[data-theme="light"] .staircase-viz svg text[fill="#448affcc"] { fill: #2563ebcc; }
[data-theme="light"] .staircase-viz svg [fill="#ffab00"] { fill: #b45309; }
[data-theme="light"] .staircase-viz svg [stroke="#ffab00"] { stroke: #b45309; }
[data-theme="light"] .staircase-viz svg text[fill="#ffab00cc"] { fill: #b45309cc; }
[data-theme="light"] .staircase-viz svg line[stroke="#448aff60"] { stroke: #2563eb60; }
[data-theme="light"] .staircase-viz svg line[stroke="#ffab0060"] { stroke: #b4530960; }
[data-theme="light"] .staircase-reflect svg rect[fill="#14161c"] { fill: var(--bg-card); }
[data-theme="light"] .staircase-reflect svg rect[stroke="#585e6c"] { stroke: var(--border-accent); }
[data-theme="light"] .staircase-reflect svg rect[stroke="#448aff"] { stroke: #2563eb; }
[data-theme="light"] .staircase-reflect svg rect[stroke="#ffab00"] { stroke: #b45309; }
[data-theme="light"] .staircase-reflect svg rect[stroke="#00e676"] { stroke: #059669; }
@media (prefers-color-scheme: light) {
  [data-theme="system"] .staircase-viz svg rect[fill="#14161c"] { fill: var(--bg-card); }
  [data-theme="system"] .staircase-viz svg text[fill="#8a90a0"] { fill: var(--text-muted); }
  [data-theme="system"] .staircase-viz svg text[fill="#d0d5e0"] { fill: var(--text-primary); }
  [data-theme="system"] .staircase-viz svg text[fill="#c0c8d8"] { fill: var(--text-secondary); }
  [data-theme="system"] .staircase-viz svg [stroke="#585e6c"] { stroke: var(--border-accent); }
  [data-theme="system"] .staircase-viz svg [fill="#00e676"] { fill: #059669; }
  [data-theme="system"] .staircase-viz svg [stroke="#00e676"] { stroke: #059669; }
  [data-theme="system"] .staircase-viz svg text[fill="#00e676cc"] { fill: #059669cc; }
  [data-theme="system"] .staircase-viz svg text[fill="#00e67690"] { fill: #05966990; }
  [data-theme="system"] .staircase-viz svg [fill="#448aff"] { fill: #2563eb; }
  [data-theme="system"] .staircase-viz svg [stroke="#448aff"] { stroke: #2563eb; }
  [data-theme="system"] .staircase-viz svg text[fill="#448affcc"] { fill: #2563ebcc; }
  [data-theme="system"] .staircase-viz svg [fill="#ffab00"] { fill: #b45309; }
  [data-theme="system"] .staircase-viz svg [stroke="#ffab00"] { stroke: #b45309; }
  [data-theme="system"] .staircase-viz svg text[fill="#ffab00cc"] { fill: #b45309cc; }
  [data-theme="system"] .staircase-viz svg line[stroke="#448aff60"] { stroke: #2563eb60; }
  [data-theme="system"] .staircase-viz svg line[stroke="#ffab0060"] { stroke: #b4530960; }
  [data-theme="system"] .staircase-reflect svg rect[fill="#14161c"] { fill: var(--bg-card); }
  [data-theme="system"] .staircase-reflect svg rect[stroke="#585e6c"] { stroke: var(--border-accent); }
  [data-theme="system"] .staircase-reflect svg rect[stroke="#448aff"] { stroke: #2563eb; }
  [data-theme="system"] .staircase-reflect svg rect[stroke="#ffab00"] { stroke: #b45309; }
  [data-theme="system"] .staircase-reflect svg rect[stroke="#00e676"] { stroke: #059669; }
}

/* ── SVG accent colors: neon dark-mode → deeper light-mode ── */
/* Greens: #00e676 / #10b981 / #22c55e → deeper */
[data-theme="light"] .pscene-viz svg [fill="#00e676"] { fill: #059669; }
[data-theme="light"] .pscene-viz svg [stroke="#00e676"] { stroke: #059669; }
[data-theme="light"] .pscene-viz svg [fill="#10b981"] { fill: #059669; }
[data-theme="light"] .pscene-viz svg [stroke="#10b981"] { stroke: #059669; }
[data-theme="light"] .pscene-viz svg [fill="#22c55e"] { fill: #16a34a; }
[data-theme="light"] .pscene-viz svg [stroke="#22c55e"] { stroke: #16a34a; }
/* Reds: #ff3d57 / #ef4444 / #f87171 → deeper */
[data-theme="light"] .pscene-viz svg [fill="#ff3d57"] { fill: #dc2626; }
[data-theme="light"] .pscene-viz svg [stroke="#ff3d57"] { stroke: #dc2626; }
[data-theme="light"] .pscene-viz svg [fill="#ef4444"] { fill: #dc2626; }
[data-theme="light"] .pscene-viz svg [stroke="#ef4444"] { stroke: #dc2626; }
[data-theme="light"] .pscene-viz svg [fill="#f87171"] { fill: #dc2626; }
[data-theme="light"] .pscene-viz svg [stroke="#f87171"] { stroke: #dc2626; }
/* Ambers: #ffab00 / #f59e0b → deeper */
[data-theme="light"] .pscene-viz svg [fill="#ffab00"] { fill: #b45309; }
[data-theme="light"] .pscene-viz svg [stroke="#ffab00"] { stroke: #b45309; }
[data-theme="light"] .pscene-viz svg [fill="#f59e0b"] { fill: #b45309; }
[data-theme="light"] .pscene-viz svg [stroke="#f59e0b"] { stroke: #b45309; }
/* Blues: #448aff / #60a5fa → deeper */
[data-theme="light"] .pscene-viz svg [fill="#448aff"] { fill: #2563eb; }
[data-theme="light"] .pscene-viz svg [stroke="#448aff"] { stroke: #2563eb; }
[data-theme="light"] .pscene-viz svg [fill="#60a5fa"] { fill: #2563eb; }
[data-theme="light"] .pscene-viz svg [stroke="#60a5fa"] { stroke: #2563eb; }
[data-theme="light"] .pscene-viz svg [fill="#3b82f6"] { fill: #1d4ed8; }
[data-theme="light"] .pscene-viz svg [stroke="#3b82f6"] { stroke: #1d4ed8; }
/* Teal: #14b8a6 → deeper */
[data-theme="light"] .pscene-viz svg [fill="#14b8a6"] { fill: #0d9488; }
[data-theme="light"] .pscene-viz svg [stroke="#14b8a6"] { stroke: #0d9488; }
/* Cyan: #22d3ee / #38bdf8 → deeper */
[data-theme="light"] .pscene-viz svg [fill="#22d3ee"] { fill: #0891b2; }
[data-theme="light"] .pscene-viz svg [stroke="#22d3ee"] { stroke: #0891b2; }
[data-theme="light"] .pscene-viz svg [fill="#38bdf8"] { fill: #0284c7; }
[data-theme="light"] .pscene-viz svg [stroke="#38bdf8"] { stroke: #0284c7; }

/* Gradient text (scene-closer, portal-tagline, outcome-kpi) — needs deeper gradient */
[data-theme="light"] .pscene-closer {
  background: linear-gradient(135deg, #0d9488, #1d4ed8);
  -webkit-background-clip: text;
  background-clip: text;
}
[data-theme="light"] .portal-cards-tagline {
  background: linear-gradient(135deg, #0d9488, #1d4ed8);
  -webkit-background-clip: text;
  background-clip: text;
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .hero,
  [data-theme="system"] .intel-final,
  [data-theme="system"] .hero-mark-container,
  [data-theme="system"] .adv-section,
  [data-theme="system"] #deploy,
  [data-theme="system"] .pscene[data-scene="outcome"] {
    --bg: #0a0b0d;
    --bg-card: #14161c;
    --surface: #1a1d25;
    --border: #23272f;
    --border-accent: #3d4555;
    --text-primary: #e8eaed;
    --text-secondary: #dcdfe4;
    --text-muted: #b0b7c3;
    --green: #00e676;
    --green-dim: #00e67620;
    --green-glow: #00e67640;
    --red: #ff3d57;
    --red-dim: #ff3d5720;
    --amber: #ffab00;
    --amber-dim: #ffab0020;
    --blue: #448aff;
    --blue-dim: #448aff15;
    --brand-start: #14b8a6;
    --brand-blue: #3b82f6;
    background: #0a0b0d;
    color: #e8eaed;
  }
  [data-theme="system"] .gantt-viz {
    background: #0f1729;
    border-radius: 16px;
    padding: 1.5rem;
  }
  [data-theme="system"] .gantt-viz svg pattern path {
    stroke: #3d5a8a;
  }
  [data-theme="system"] .gantt-viz svg .gantt-grid-bg {
    opacity: .35;
  }
  [data-theme="system"] .gantt-viz svg line[stroke="#23272f"] {
    stroke: #2a3550;
  }
  [data-theme="system"] .intro-overlay {
    background: #050914;
  }
  [data-theme="system"] .intel-final .intel-mod-item {
    background: color-mix(in srgb, var(--mc) 4%, rgba(20, 22, 28, 0.55));
    border-color: color-mix(in srgb, var(--mc) 18%, transparent);
    color: var(--mc);
  }
  [data-theme="system"] .intel-orbit-track {
    border-color: rgba(255, 255, 255, 0.03);
  }

  /* ── SVG fill overrides for system light mode ── */
  [data-theme="system"] .pscene-viz svg rect[fill="#14161c"],
  [data-theme="system"] .pscene-viz svg rect[fill="#1a1d25"] {
    fill: var(--bg-card);
  }
  [data-theme="system"] .pscene-viz svg rect[fill="#23272f"] {
    fill: var(--border);
  }
  [data-theme="system"] .pscene-viz svg line[stroke="#23272f"],
  [data-theme="system"] .pscene-viz svg path[stroke="#23272f"] {
    stroke: var(--border);
  }
  [data-theme="system"] .pscene-viz svg pattern[id] path[stroke="#23272f"] {
    stroke: var(--border);
  }
  [data-theme="system"] .pscene-viz svg rect[fill="#0b1121"],
  [data-theme="system"] .pscene-viz svg rect[fill="#121a28"],
  [data-theme="system"] .pscene-viz svg rect[fill="#0f172a"],
  [data-theme="system"] .pscene-viz svg rect[fill="#162032"],
  [data-theme="system"] .pscene-viz svg rect[fill="#0d0f14"],
  [data-theme="system"] .pscene-viz svg polygon[fill="#0d0f14"] {
    fill: var(--surface);
  }
  [data-theme="system"] .pscene-viz svg rect[fill="#1e293b"] {
    fill: var(--border);
  }
  [data-theme="system"] .pscene-viz svg rect[fill="#050914"] {
    fill: var(--bg);
  }
  [data-theme="system"] .cta-section svg rect[fill="#0a0b0d"] {
    fill: var(--bg);
  }
  [data-theme="system"] .staircase-viz svg rect[fill="#14161c"] {
    fill: var(--bg-card);
  }
  [data-theme="system"] .canvas-viz {
    background: var(--bg-card);
  }
  /* SVG text: light-on-dark fills → dark-on-light */
  [data-theme="system"] .pscene-viz svg text[fill="#e8eaed"],
  [data-theme="system"] .pscene-viz svg text[fill="#dcdfe4"],
  [data-theme="system"] .pscene-viz svg text[fill="#d4d8e0"],
  [data-theme="system"] .pscene-viz svg text[fill="#c0c5d0"] {
    fill: var(--text-primary);
  }
  [data-theme="system"] .pscene-viz svg text[fill="#a0a7b4"],
  [data-theme="system"] .pscene-viz svg text[fill="#b0b7c3"],
  [data-theme="system"] .pscene-viz svg text[fill="#8a92a4"] {
    fill: var(--text-muted);
  }
  [data-theme="system"] .pscene-viz svg text[fill="#475569"],
  [data-theme="system"] .pscene-viz svg text[fill="#585e6c"],
  [data-theme="system"] .pscene-viz svg text[fill="#3a4258"] {
    fill: var(--text-secondary);
  }
  [data-theme="system"] .pscene-viz svg line[stroke="#3a4258"],
  [data-theme="system"] .pscene-viz svg line[stroke="#585e6c"] {
    stroke: var(--border-accent);
  }
  [data-theme="system"] .pscene-viz svg rect[stroke="#a0a7b4"],
  [data-theme="system"] .pscene-viz svg polygon[stroke="#a0a7b4"] {
    stroke: var(--text-muted);
  }

  /* ── SVG accent colors: neon dark-mode → deeper light-mode ── */
  [data-theme="system"] .pscene-viz svg [fill="#00e676"] { fill: #059669; }
  [data-theme="system"] .pscene-viz svg [stroke="#00e676"] { stroke: #059669; }
  [data-theme="system"] .pscene-viz svg [fill="#10b981"] { fill: #059669; }
  [data-theme="system"] .pscene-viz svg [stroke="#10b981"] { stroke: #059669; }
  [data-theme="system"] .pscene-viz svg [fill="#22c55e"] { fill: #16a34a; }
  [data-theme="system"] .pscene-viz svg [stroke="#22c55e"] { stroke: #16a34a; }
  [data-theme="system"] .pscene-viz svg [fill="#ff3d57"] { fill: #dc2626; }
  [data-theme="system"] .pscene-viz svg [stroke="#ff3d57"] { stroke: #dc2626; }
  [data-theme="system"] .pscene-viz svg [fill="#ef4444"] { fill: #dc2626; }
  [data-theme="system"] .pscene-viz svg [stroke="#ef4444"] { stroke: #dc2626; }
  [data-theme="system"] .pscene-viz svg [fill="#f87171"] { fill: #dc2626; }
  [data-theme="system"] .pscene-viz svg [stroke="#f87171"] { stroke: #dc2626; }
  [data-theme="system"] .pscene-viz svg [fill="#ffab00"] { fill: #b45309; }
  [data-theme="system"] .pscene-viz svg [stroke="#ffab00"] { stroke: #b45309; }
  [data-theme="system"] .pscene-viz svg [fill="#f59e0b"] { fill: #b45309; }
  [data-theme="system"] .pscene-viz svg [stroke="#f59e0b"] { stroke: #b45309; }
  [data-theme="system"] .pscene-viz svg [fill="#448aff"] { fill: #2563eb; }
  [data-theme="system"] .pscene-viz svg [stroke="#448aff"] { stroke: #2563eb; }
  [data-theme="system"] .pscene-viz svg [fill="#60a5fa"] { fill: #2563eb; }
  [data-theme="system"] .pscene-viz svg [stroke="#60a5fa"] { stroke: #2563eb; }
  [data-theme="system"] .pscene-viz svg [fill="#3b82f6"] { fill: #1d4ed8; }
  [data-theme="system"] .pscene-viz svg [stroke="#3b82f6"] { stroke: #1d4ed8; }
  [data-theme="system"] .pscene-viz svg [fill="#14b8a6"] { fill: #0d9488; }
  [data-theme="system"] .pscene-viz svg [stroke="#14b8a6"] { stroke: #0d9488; }
  [data-theme="system"] .pscene-viz svg [fill="#22d3ee"] { fill: #0891b2; }
  [data-theme="system"] .pscene-viz svg [stroke="#22d3ee"] { stroke: #0891b2; }
  [data-theme="system"] .pscene-viz svg [fill="#38bdf8"] { fill: #0284c7; }
  [data-theme="system"] .pscene-viz svg [stroke="#38bdf8"] { stroke: #0284c7; }
  [data-theme="system"] .pscene-closer {
    background: linear-gradient(135deg, #0d9488, #1d4ed8);
    -webkit-background-clip: text;
    background-clip: text;
  }
  [data-theme="system"] .portal-cards-tagline {
    background: linear-gradient(135deg, #0d9488, #1d4ed8);
    -webkit-background-clip: text;
    background-clip: text;
  }
}

/* ── Hero glow: kept at dark-mode intensity (hero is a dark island) ── */

/* ── Nemesis-specific overrides ── */
[data-theme="light"] .nemesis-hero-inner,
[data-theme="light"] .slide-inner {
  color: var(--text-primary);
}
[data-theme="light"] .nemesis-sub {
  color: var(--text-secondary);
}
[data-theme="light"] .score-counter {
  background: var(--bg-card);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
[data-theme="light"] .hero-depth-1,
[data-theme="light"] .hero-depth-2,
[data-theme="light"] .hero-depth-3 {
  opacity: 0.06;
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .nemesis-hero-inner,
  [data-theme="system"] .slide-inner {
    color: var(--text-primary);
  }
  [data-theme="system"] .nemesis-sub {
    color: var(--text-secondary);
  }
  [data-theme="system"] .score-counter {
    background: var(--bg-card);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  [data-theme="system"] .hero-depth-1,
  [data-theme="system"] .hero-depth-2,
  [data-theme="system"] .hero-depth-3 {
    opacity: 0.06;
  }
}

/* ── Nemesis footer ── */
[data-theme="light"] .footer-inner {
  color: var(--text-muted);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .footer-inner {
    color: var(--text-muted);
  }
}

/* ── Mode toggle styles ── */
.mode-toggle {
  display: flex;
  gap: 2px;
  background: var(--surface);
  border-radius: 6px;
  padding: 2px;
  border: 1px solid var(--border);
}
.mode-btn {
  background: transparent;
  border: none;
  padding: 5px 8px;
  border-radius: 4px;
  cursor: pointer;
  color: var(--text-muted);
  transition: all 0.25s;
  display: flex;
  align-items: center;
}
.mode-btn:hover {
  color: var(--text-primary);
}
.mode-btn.active {
  background: var(--bg-card);
  color: var(--green);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.mode-btn svg {
  width: 14px;
  height: 14px;
}
.toggle-divider {
  width: 1px;
  height: 20px;
  background: var(--border);
  margin: 0 0.5rem;
  flex-shrink: 0;
}

/* ── Parallax slide-over — dark sections stay parked, next section slides over ── */
.hero {
  position: sticky;
  top: 0;
  z-index: 1;
}

.adv-section {
  position: sticky;
  top: 0;
  z-index: 1;
}

/* page-body wraps everything after the hero — opaque bg slides over the parked hero */
.page-body {
  position: relative;
  z-index: 2;
  background: var(--bg);
}

@media (prefers-reduced-motion: reduce) {
  .hero, .adv-section {
    position: relative;
  }
}

/* ── Section divider ── */
[data-theme="light"] .section-divider,
[data-theme="light"] .divider {
  background: linear-gradient(90deg, transparent, var(--border), transparent);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .section-divider,
  [data-theme="system"] .divider {
    background: linear-gradient(90deg, transparent, var(--border), transparent);
  }
}

/* ── Chat styling overrides ── */
[data-theme="light"] .chat-body {
  background: var(--bg);
}
[data-theme="light"] .chat-header {
  background: var(--bg-card);
}
@media (prefers-color-scheme: light) {
  [data-theme="system"] .chat-body {
    background: var(--bg);
  }
  [data-theme="system"] .chat-header {
    background: var(--bg-card);
  }
}

/* ── Footer light mode — lifted from dark island ── */
[data-theme="light"] footer {
  background: var(--bg);
  border-color: var(--border);
}
[data-theme="light"] footer .foot-col {
  color: var(--text-muted);
}
[data-theme="light"] footer .foot-col-head {
  color: var(--text-secondary);
}
[data-theme="light"] footer .foot-copy {
  color: var(--text-muted);
}
/* Footer logo swap: gradient (dark) ↔ brand mono mark (light) */
footer .foot-logo-mono { display: none; }
[data-theme="light"] footer .foot-logo-gradient { display: none; }
[data-theme="light"] footer .foot-logo-mono { display: block; width: 128px; height: 120px; flex-shrink: 0; }
@media (prefers-color-scheme: light) {
  [data-theme="system"] footer .foot-logo-gradient { display: none; }
  [data-theme="system"] footer .foot-logo-mono { display: block; width: 128px; height: 120px; flex-shrink: 0; }
}
