/* User reference: midnight navy, cyan actions and cool slate. Layout and exercise state are retained. */
:root,html[data-theme="dark"] {
  color-scheme:dark;
  --cp-bg:#060c18;
  --cp-surface:#0d1829;
  --cp-surface-soft:#111f32;
  --cp-surface-raised:#17273c;
  --cp-border:#243a50;
  --cp-border-strong:#456078;
  --cp-text:#eff8ff;
  --cp-muted:#b2c4d4;
  --cp-subtle:#9bb0c4;
  --cp-accent:#24d8ec;
  --cp-accent-soft:#103640;
  --cp-accent-text:#04232d;
  --cp-danger:#ff9fb5;
  --cp-danger-soft:#3b2332;
  --cp-warning:#f2ce8f;
  --cp-warning-soft:#3b3022;
  --cp-success:#9ae4c6;
  --cp-success-soft:#153a34;
  --cp-info:#8bcaff;
  --cp-info-soft:#17354c;
  --cp-shadow:#010611;
  --terminal-bg:#07111d;
  --terminal-panel:#0c1c2a;
  --terminal-border:#28475d;
  --terminal-text:#d9f2fa;
  --terminal-muted:#a0bcca;
  --terminal-accent:#54e0ed;
  --ref-panel-edge:color-mix(in srgb,var(--cp-accent) 15%,var(--cp-border));
  --ref-panel-top:#142337;
  --ref-panel-bottom:#0b1525;
  --ref-action-glow:color-mix(in srgb,var(--cp-accent) 13%,transparent);
}
html[data-theme="light"] {
  color-scheme:light;
  --cp-bg:#f2f7fb;
  --cp-surface:#ffffff;
  --cp-surface-soft:#eaf2f7;
  --cp-surface-raised:#f9fcfe;
  --cp-border:#cadce7;
  --cp-border-strong:#8ba7b9;
  --cp-text:#102b3e;
  --cp-muted:#435f73;
  --cp-subtle:#506d80;
  --cp-accent:#00758a;
  --cp-accent-soft:#dff3f7;
  --cp-accent-text:#ffffff;
  --cp-danger:#ac3152;
  --cp-danger-soft:#fff0f4;
  --cp-warning:#85570d;
  --cp-warning-soft:#fff4dc;
  --cp-success:#216451;
  --cp-success-soft:#e7f6ef;
  --cp-info:#225f91;
  --cp-info-soft:#e6f2fb;
  --cp-shadow:#234354;
  --ref-panel-top:#ffffff;
  --ref-panel-bottom:#f0f7fb;
  --ref-action-glow:color-mix(in srgb,var(--cp-accent) 9%,transparent);
}
html[data-theme] {
  --vis-radius:12px;
  --vis-radius-small:9px;
  --vis-glass:color-mix(in srgb,var(--cp-surface) 96%,var(--cp-accent));
  --vis-glass-top:color-mix(in srgb,var(--cp-surface-raised) 96%,var(--cp-accent));
  --vis-glass-edge:var(--ref-panel-edge);
  --vis-field:color-mix(in srgb,var(--cp-accent) 7%,var(--cp-surface-soft));
  --vis-field-strong:color-mix(in srgb,var(--cp-accent) 12%,var(--cp-surface));
}
html[data-theme] body { background:var(--cp-bg); }
html[data-theme] :is(.workspace-header,.site-footer) { border-color:var(--cp-border); }
html[data-theme] .workspace-header { background:color-mix(in srgb,var(--cp-bg) 96%,transparent);box-shadow:0 1px 0 color-mix(in srgb,var(--cp-accent) 8%,transparent); }
html[data-theme] .brand-icon { color:var(--cp-accent); }
html[data-theme] .brand-icon svg { filter:none; }
html[data-theme] .workspace-header .workspace-nav a[aria-current] { color:var(--cp-text); }
html[data-theme] .workspace-header .workspace-nav a[aria-current]:after { background:var(--cp-accent);box-shadow:none; }
html[data-theme] :is(.appearance-control,.filter-tabs,.tools-tabs,.studio-tabs) { background:var(--cp-surface);border-color:var(--cp-border); }
html[data-theme] :is(.lesson-card,.lab-card,.spectral-lab-card,.path-card,.studio-card,.spectral-experiment,.mission-panel,.workspace-panel,.tool-panel,.studio-receipt) {
  border-color:var(--ref-panel-edge);
  background:linear-gradient(145deg,var(--ref-panel-top),var(--ref-panel-bottom));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cp-text) 5%,transparent),0 10px 25px color-mix(in srgb,var(--cp-shadow) 14%,transparent);
}
html[data-theme] :is(.lab-card,.spectral-lab-card,.lesson-card,.path-card,.studio-card):hover { border-color:var(--cp-accent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cp-accent) 18%,transparent),0 12px 28px color-mix(in srgb,var(--cp-shadow) 18%,transparent); }
html[data-theme] :is(.lab-card,.spectral-lab-card) :is(.lab-art,.spectral-lab-art) {
  background:radial-gradient(ellipse at 50% 62%,var(--vis-field-strong),transparent 66%),linear-gradient(155deg,var(--ref-panel-top),var(--ref-panel-bottom));
  border-bottom-color:var(--cp-border);
}
html[data-theme] :is(.primary,.primary:hover,.spectral-button:not(.secondary),.ds-primary,.ev-primary,.visual-primary) {
  background:var(--cp-accent);
  color:var(--cp-accent-text);
  border-color:var(--cp-accent);
  font-weight:750;
  box-shadow:0 4px 16px var(--ref-action-glow);
}
html[data-theme] .spectral-button.secondary { color:var(--cp-text);background:var(--cp-surface);border-color:var(--cp-border-strong);box-shadow:none; }
html[data-theme] .spectral-button.secondary:hover { background:var(--cp-surface-raised);border-color:var(--cp-accent); }
html[data-theme] .spectral-featured-lab {
  border-color:color-mix(in srgb,var(--cp-accent) 45%,var(--cp-border));
  background:linear-gradient(135deg,color-mix(in srgb,var(--cp-surface-raised) 96%,var(--cp-accent)),color-mix(in srgb,var(--cp-surface) 95%,transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cp-text) 10%,transparent),0 18px 40px color-mix(in srgb,var(--cp-shadow) 38%,transparent);
}
html[data-theme] .spectral-module[data-preview-lab] { background:color-mix(in srgb,var(--cp-surface) 96%,var(--cp-accent));border-color:var(--cp-border-strong); }
html[data-theme] .spectral-module[data-preview-lab][aria-pressed="true"] { background:var(--cp-accent-soft);border-color:var(--cp-accent); }
html[data-theme] .spectral-module-icon { color:var(--cp-accent); }
html[data-theme] .spectral-progress-pane:before { background:linear-gradient(120deg,color-mix(in srgb,var(--cp-accent) 12%,var(--cp-surface-raised)),var(--cp-surface)); }
html[data-theme] :is(.studio-intro,.evidence-studio .ev-intro,.decision-studio .ds-intro,.calibration-studio .cal-intro) { background:linear-gradient(135deg,var(--ref-panel-top),var(--ref-panel-bottom));border-color:var(--ref-panel-edge); }
html[data-theme] .evidence-studio .ev-model { border-color:var(--ref-panel-edge);border-radius:12px;background:radial-gradient(ellipse at 50% 46%,color-mix(in srgb,var(--cp-accent) 9%,transparent),transparent 66%),var(--cp-bg); }
html[data-theme] .ev-model-toggle { border-color:var(--cp-border-strong);background:var(--cp-surface); }
html[data-theme] .cyber-privacy :is(.panel,.scenario-card,.builder-panel,.rehearsal-panel,.privacy-report,.privacy-card) { background:linear-gradient(145deg,var(--ref-panel-top),var(--ref-panel-bottom));border-color:var(--ref-panel-edge); }
html[data-theme] :is(.lab-start-screen,.studio-mini-art,.tool-result,.tool-tip,.subnet-summary,.hash-result) { background:var(--cp-surface-soft); }
/* The user's still lab backgrounds stay still; no new animated decoration is introduced. */
html[data-theme] :is(.lab-card,.spectral-lab-card) :is(.lab-art,.spectral-lab-art)::before,
html[data-theme] :is(.lab-card,.spectral-lab-card) :is(.lab-art,.spectral-lab-art)::after { content:none;animation:none; }
