/* E4E — themes.css: dark mode via CSS variables + [data-theme="dark"]. */
[data-theme="dark"]{
  --bg:#0f172a; --bg-soft:#1e293b; --card:#16213a; --text:#e8edf7;
  --muted:#94a3b8; --line:#2b3a55;
  --brand:#93c5fd; --brand-2:#60a5fa; --brand-soft:#1e3a5f;
  --ok:#4ade80; --ok-soft:#14532d; --warn:#fbbf24; --warn-soft:#573b08;
  --bad:#f87171; --bad-soft:#5b1a1a; --accent:#2dd4bf;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35);
  --shadow-lg:0 8px 30px rgba(0,0,0,.5);
}
[data-theme="dark"] .hero{background:linear-gradient(120deg,#0c1a3d,#1d4ed8 60%,#0f766e)}
[data-theme="dark"] .formula{background:linear-gradient(180deg,#1e3a5f,#16213a)}
[data-theme="dark"] .hl,[data-theme="dark"] .pattern code{background:#573b08;color:#fde68a}
[data-theme="dark"] .searchbox input{background:var(--bg-soft)}
[data-theme="dark"] .review-card{background:linear-gradient(135deg,#2a2410,#0f2e25)}
[data-theme="dark"] .msg.ai{background:var(--bg-soft)}
[data-theme="dark"] .toast{background:#e8edf7;color:#111}
/* Fixed-background contrast fixes: white text on light brand/ok/bad tints */
[data-theme="dark"] .btn-pri{color:#172f70}
[data-theme="dark"] .btn-brand,[data-theme="dark"] .msg.me,[data-theme="dark"] .mode-tabs button.active,[data-theme="dark"] .ex-answer .chip,[data-theme="dark"] .skip-link{color:#0f172a}
[data-theme="dark"] .btn-ok,[data-theme="dark"] .opt.correct .k,[data-theme="dark"] .side-lesson.done .dot{color:#052e16}
[data-theme="dark"] .btn-bad,[data-theme="dark"] .opt.wrong .k{color:#450a0a}
[data-theme="dark"] .logo-mark,[data-theme="dark"] .book-cover{background:linear-gradient(135deg,#1d4ed8,#0d9488)}
[data-theme="dark"] .avatar{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}
[data-theme="dark"] .flash-face.back{background:linear-gradient(135deg,#1e40af,#0f766e)}
