/*
 * Dark mode CSS — all .dark-mode rules.
 * Extracted from webapp/build-app.py FEATURES_CSS dark mode section.
 */

/* ── Base ── */
body.dark-mode { background:#1a1a2e; color:#e0e0e0; }
body.dark-mode .container { color:#e0e0e0; }
body.dark-mode h1 { color:#8ab4f8; }
body.dark-mode .subtitle { color:#aaa; }
body.dark-mode .card { background:#2a2a3e; }
body.dark-mode h2 { color:#8ab4f8; }
body.dark-mode h3 { color:#8ab4f8; }

/* ── Tabs & panels ── */
body.dark-mode .page-tabs { background:#1a1a2e; }
body.dark-mode .page-tab { background:#2a2a3e; color:#aaa; }
body.dark-mode .page-tab.active { background:#333352; color:#fff; }
body.dark-mode .page-panel { background:#252540; border-color:#444; }
body.dark-mode .section-count { background:rgba(255,255,255,0.15); color:#ccc; }

/* ── Topic sections ── */
body.dark-mode .topic-section > .topic-label { background:#2a2a3e; color:#8ab4f8; border-bottom-color:#444; }
body.dark-mode .topic-section > .topic-label:hover { background:#333352; }

/* ── Question cards ── */
body.dark-mode .question-card { background:#2a2a3e; border-color:#444; }
body.dark-mode .question-header { background:#333352; border-bottom-color:#444; }
body.dark-mode .question-header:hover { background:#3a3a5e; }
body.dark-mode .q-num { color:#e0e0e0; }
body.dark-mode .q-preview { color:#999; }
body.dark-mode .q-marks { background:#444; color:#ccc; }
body.dark-mode .question-text { color:#e0e0e0; }
body.dark-mode .answer-content { background:#1e2a1e; border-top-color:#555; color:#e0e0e0; }
body.dark-mode .info-content { color:#e0e0e0; }
body.dark-mode .q-img { border-color:#555; background:#fff; }

/* ── Exam format, tips, warns ── */
body.dark-mode .exam-format { background:#2a2a3e; }
body.dark-mode .tip { background:#3a3020; border-left-color:#f5a623; color:#e0e0e0; }
body.dark-mode .warn { background:#3a2020; border-left-color:#e94560; color:#e0e0e0; }

/* ── Tables ── */
body.dark-mode table { color:#e0e0e0; }
body.dark-mode td { border-bottom-color:#444; }
body.dark-mode tr:nth-child(even) { background:#2a2a3e; }
body.dark-mode tr:hover { background:#333352; }

/* ── View toggles & toolbar ── */
body.dark-mode .view-toggle-btn { background:#2a2a3e; border-color:#555; color:#ccc; }
body.dark-mode .view-toggle-btn:not(.active):hover { background:#333352; }
body.dark-mode .panel-toolbar-btn { background:#2a2a3e; border-color:#555; color:#ccc; }
body.dark-mode .panel-toolbar-btn:hover { background:#333352; border-color:#888; }

/* ── Progress ── */
body.dark-mode .progress-bar-container { background:#2a2a3e; box-shadow:0 1px 4px rgba(0,0,0,0.3); }
body.dark-mode .progress-bar-track { background:#444; }
body.dark-mode .progress-bar-label { color:#ccc; }
body.dark-mode .q-progress-badge { background:#333; border-color:#555; color:#888; }
body.dark-mode .q-progress-badge.status-review { background:#3a3020; border-color:#f5a623; color:#f5a623; }
body.dark-mode .q-progress-badge.status-pass { background:#1e3a1e; border-color:#2e7d32; color:#4caf50; }

/* ── Bookmarks ── */
body.dark-mode .q-bookmark-btn { color:#555; }
body.dark-mode .q-bookmark-btn.bookmarked { color:#f5a623; }

/* ── Explain ── */
body.dark-mode .explain-content { background:#2a1a3e; border-top-color:#7b1fa2; }
body.dark-mode .explain-content h4 { color:#ce93d8; }
body.dark-mode .explain-pattern { background:#1a1a2e; border-left-color:#ce93d8; }
body.dark-mode .admin-regen-btn { background:#3a2800; border-color:#ef6c00; color:#ffb74d; }
body.dark-mode .explain-table th, body.dark-mode .explain-table td { border-color:#555; }
body.dark-mode .explain-table th { background:#333; }

/* ── AI Chat ── */
body.dark-mode .explain-chat { border-top-color:#7b1fa2; }
body.dark-mode .explain-chat-msg.user { background:#1a1a3e; color:#9fa8da; }
body.dark-mode .explain-chat-msg.ai { background:#2a1a3e; color:#ce93d8; }
body.dark-mode .explain-chat-field { background:#1a1a2e; border-color:#7b1fa2; color:#e0e0e0; }

/* ── Schedule ── */
body.dark-mode .panel-sched, body.dark-mode .panel-schedule { background:#252540; border-color:#444; color:#e0e0e0; }
body.dark-mode .panel-sched h2, body.dark-mode .panel-sched h3 { color:#8ab4f8; }
body.dark-mode .panel-sched td { color:#e0e0e0 !important; }
body.dark-mode .panel-sched tr[style*="background:#fce4ec"] { background:#3a2020 !important; }
body.dark-mode .panel-sched tr[style*="background:#fce4ec"] td { color:#ef9a9a !important; }
body.dark-mode .panel-sched tr[style*="background:#e8eaf6"] { background:#1a1a3e !important; }
body.dark-mode .panel-sched tr[style*="background:#e8eaf6"] td { color:#9fa8da !important; }
body.dark-mode .schedule-past td { opacity:0.4; }
body.dark-mode .schedule-school-selector input[list] { background:#1a1a2e; color:#e0e0e0; border-color:#2e7d32; }
body.dark-mode .schedule-school-name { color:#81c784; }
body.dark-mode .schedule-school-name a { color:#8ab4f8; }
body.dark-mode .schedule-countdown { background:linear-gradient(135deg,#0a1628 0%,#0f3460 100%); }
body.dark-mode .schedule-next { background:#1e3a1e !important; }
body.dark-mode .schedule-next td { color:#81c784 !important; }

/* ── Notes ── */
body.dark-mode .q-notes-area { background:#1a1a2e; border-color:#555; color:#e0e0e0; }
body.dark-mode .q-notes-area:focus { border-color:#8ab4f8; }

/* ── Self-assessment ── */
body.dark-mode .self-assess-bar { background:#3a3020; border-top-color:#f5a623; }
body.dark-mode .self-assess-bar label { color:#ccc; }
body.dark-mode .self-assess-input { background:#1a1a2e; border-color:#555; color:#e0e0e0; }
body.dark-mode .self-assess-input:focus { border-color:#f5a623; }
body.dark-mode .self-assess-max { color:#888; }
body.dark-mode .q-self-score { background:#1e3a1e; color:#4caf50; }

/* ── Score bar ── */
body.dark-mode .score-bar { background:#2a2a3e; }
body.dark-mode .score-bar label { color:#8ab4f8; }
body.dark-mode .score-display { color:#8ab4f8; }

/* ── Drawing ── */
body.dark-mode .draw-btn { box-shadow:0 2px 8px rgba(0,0,0,0.4); }
body.dark-mode .width-btn { background:#333; }
body.dark-mode .width-btn .dot { background:#ccc; }

/* ── Search ── */
body.dark-mode .search-input { background:#1a1a2e; border-color:#555; color:#e0e0e0; }
body.dark-mode .search-input:focus { border-color:#8ab4f8; }
body.dark-mode .search-count { color:#aaa; }
body.dark-mode .search-clear { background:#2a2a3e; border-color:#555; color:#ccc; }

/* ── Split view ── */
body.dark-mode .card-body.split-active > .answer-content { border-left-color:#2e7d32; background:rgba(30,58,30,0.3); }
body.dark-mode .card-body.split-active > .explain-content { border-left-color:#7b1fa2; }
body.dark-mode .card-body.split-active > .info-content { border-left-color:#1565c0; background:rgba(21,101,192,0.15); }
@media (max-width:700px) {
  body.dark-mode .card-body.split-active > .answer-content { border-top-color:#2e7d32; border-left:none; }
  body.dark-mode .card-body.split-active > .explain-content { border-top-color:#7b1fa2; border-left:none; }
  body.dark-mode .card-body.split-active > .info-content { border-top-color:#1565c0; border-left:none; }
}

/* ── Expiry warning ── */
body.dark-mode .expiry-warning { background:#3d2e00; color:#ffc107; border-color:#5a4300; }
body.dark-mode .expiry-warning a { color:#8ab4f8; }
body.dark-mode .expiry-warning .dismiss-btn { color:#ffc107; }

/* ── Freemium banner ── */
body.dark-mode #freemium-banner { background:#1a2a3a; border-bottom-color:#1e4976; color:#90caf9; }
body.dark-mode #freemium-banner a { color:#64b5f6; }

/* ── Review mode ── */
body.dark-mode .panel-toolbar-btn.review-btn { background:#1a2a5e; border-color:#8ab4f8; color:#8ab4f8; }
body.dark-mode .panel-toolbar-btn.review-active { background:#1565c0; color:#fff; }
body.dark-mode .review-badge { background:#1a2a5e; color:#8ab4f8; }

/* ── Mock exam (dark) ── */
body.dark-mode .mock-overlay { background:#1a1a2e; color:#e0e0e0; }
body.dark-mode .mock-answer-area { background:#1e3a1e; border-color:#2e7d32; }
body.dark-mode .mock-nav-btn { background:#2a2a3e; border-color:#555; color:#ccc; }
body.dark-mode .mock-nav-btn.primary { background:#0f3460; color:#fff; border-color:#0f3460; }
body.dark-mode .mock-score-field { background:#1a1a2e; border-color:#555; color:#e0e0e0; }
body.dark-mode .mock-summary h2 { color:#8ab4f8; }
body.dark-mode .mock-summary-score { color:#4caf50; }
body.dark-mode .mock-summary-pct { color:#aaa; }
body.dark-mode .mock-summary-row { border-bottom-color:#444; }
body.dark-mode .mock-summary-row .q-label { color:#ccc; }
body.dark-mode .mock-exam-btn { background:#252540; border-color:#8ab4f8; color:#8ab4f8; }
body.dark-mode .mock-exam-btn:hover { background:#333352; }
body.dark-mode .mock-split-pane h4 { color:#8ab4f8; }
body.dark-mode .mock-split-pane.pane-answer { background:rgba(30,58,30,0.3); border-top-color:transparent; border-left-color:#2e7d32; }
body.dark-mode .mock-split-nav { border-top-color:#444; }

/* ── Custom quiz (dark) ── */
body.dark-mode .quiz-modal { background:#1a1a2e; color:#e0e0e0; }
body.dark-mode .quiz-modal h3 { color:#8ab4f8; }
body.dark-mode .quiz-modal-check { background:#2a2a3e; border-color:#555; color:#ccc; }
body.dark-mode .quiz-modal-check.selected { background:#1a2a5e; border-color:#8ab4f8; color:#8ab4f8; }
body.dark-mode .quiz-modal-count { background:#252540; }
body.dark-mode .quiz-modal-cancel { background:#2a2a3e; border-color:#555; color:#ccc; }
body.dark-mode .quiz-builder-btn { background:#2a1a3e; border-color:#ce93d8; color:#ce93d8; }
body.dark-mode .quiz-builder-btn:hover { background:#3a2a4e; }

/* ── Hub page (dark) ── */
body.dark-mode .hub-container { background:#1a1a2e; }
body.dark-mode .hub-card { background:#2a2a3e; border-color:#444; }
body.dark-mode .hub-card:hover { background:#333352; }
body.dark-mode .state-tab { background:#2a2a3e; color:#aaa; }
body.dark-mode .state-tab.active { background:#333352; color:#fff; }

/* ── Upload/My-uploads (dark) ── */
body.dark-mode .upload-zone { background:#252540; border-color:#555; }
body.dark-mode .file-item { background:#2a2a3e; border-color:#444; }
body.dark-mode .alert { background:#252540; border-color:#555; color:#e0e0e0; }
body.dark-mode .alert.info { border-left-color:#8ab4f8; }
