/* TensorNumerics -- Professional Theme System (v5) */
:root {
  --bg-primary:#0a1628; --bg-secondary:#112240; --bg-tertiary:#1a3a5c;
  --text-primary:#e6f1ff; --text-secondary:#8892b0; --text-muted:#5a6a8a;
  --border-color:#233554; --hover-bg:#1a2f4a;
  --shadow:0 4px 12px rgba(0,0,0,0.4); --transition:all 0.2s ease;
  --cyan:#00FFFF; --green:#00FF00; --magenta:#FF66FF; --yellow:#FFEE55; --red:#FF5577;
  --panel:#112240; --bg:#0a1628; --text:#e6f1ff;
}
[data-theme="light"] {
  --bg-primary:#f5f7fa; --bg-secondary:#ffffff; --bg-tertiary:#e8ecf1;
  --text-primary:#1a202c; --text-secondary:#4a5568; --text-muted:#718096;
  --border-color:#e2e8f0; --hover-bg:#e6eef7; --shadow:0 4px 12px rgba(0,0,0,0.08);
  --cyan:#0088aa; --green:#008833; --magenta:#aa00aa; --yellow:#997700; --red:#cc0033;
  --panel:#ffffff; --bg:#f5f7fa; --text:#1a202c;
}
* { box-sizing:border-box; }
html,body { margin:0; background:var(--bg-primary); color:var(--text-primary);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  height:100%; transition:var(--transition); }
h1,h2,h3,h4 { font-weight:600; line-height:1.3; }
button { font-family:inherit; font-size:0.85rem; font-weight:500; padding:6px 14px;
  border-radius:6px; border:1px solid var(--border-color); background:var(--bg-secondary);
  color:var(--text-primary); cursor:pointer; transition:var(--transition); }
button:hover { background:var(--hover-bg); border-color:var(--text-muted); }
button.primary { background:var(--bg-tertiary); border-color:var(--text-secondary); font-weight:700; }
button:disabled { opacity:0.5; cursor:not-allowed; }
input,select,textarea { font-family:inherit; font-size:0.85rem; padding:6px 10px;
  border:1px solid var(--border-color); border-radius:6px; background:var(--bg-secondary);
  color:var(--text-primary); }
input:focus,select:focus { outline:none; border-color:var(--text-secondary); }
::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-track { background:var(--bg-primary); }
::-webkit-scrollbar-thumb { background:var(--border-color); border-radius:4px; }
.card { background:var(--bg-secondary); border:1px solid var(--border-color);
  border-radius:8px; padding:1.1rem; box-shadow:var(--shadow); }

#stage-content, #stage-content * { color: inherit; }
#stage-content { color: var(--text-primary); }
#stage-content p, #stage-content span, #stage-content li, #stage-content label {
  color: var(--text-secondary);
}
#stage-content h3 { color: var(--text-primary); }
#stage-content [style*="color:#000"], #stage-content [style*="color: #000"],
#stage-content [style*="color:#111"], #stage-content [style*="color:#222"],
#stage-content [style*="color:black"] { color: var(--text-primary) !important; }
#stage-content [style*="color:#888"], #stage-content [style*="color: #888"] {
  color: var(--text-secondary) !important;
}
