/* Dark Theme — overrides design tokens */
[data-theme="dark"] {
    --c-bg:          #0F172A;
    --c-surface:     #1E293B;
    --c-border:      #334155;
    --c-border-light:#1E293B;
    --c-text:        #F1F5F9;
    --c-text-2:      #94A3B8;
    --c-text-3:      #64748B;
    --c-accent:      #60A5FA;
    --c-accent-dark: #93C5FD;
    --c-accent-bg:   #1E3A5F;
}

[data-theme="dark"] body {
    background: var(--c-bg);
    color: var(--c-text);
}

/* Header */
[data-theme="dark"] .app-header {
    background: var(--c-surface);
    border-bottom-color: var(--c-border);
}

[data-theme="dark"] .app-header__logo-text { color: var(--c-text); }

[data-theme="dark"] .app-header__search-input {
    background: var(--c-bg);
    color: var(--c-text);
    border-color: var(--c-border);
}

[data-theme="dark"] .app-header__search-input:focus {
    background: var(--c-surface);
    border-color: var(--c-accent);
}

[data-theme="dark"] .app-header__lang-menu {
    background: var(--c-surface);
    border-color: var(--c-border);
    box-shadow: 0 8px 24px rgba(0,0,0,.4);
}

[data-theme="dark"] .app-header__lang-option:hover { background: var(--c-bg); }

/* Lessons index */
[data-theme="dark"] .lessons-page { background: var(--c-bg); }

[data-theme="dark"] .lesson-item:hover {
    background: var(--c-accent-bg);
}

[data-theme="dark"] .lesson-item {
    border-color: var(--c-border);
}

/* Lesson detail */
[data-theme="dark"] .lesson-detail-content {
    background: var(--c-bg);
    border-color: var(--c-border);
}

[data-theme="dark"] .markdown-content {
    background: var(--c-surface);
    color: var(--c-text);
}

[data-theme="dark"] .markdown-content h1,
[data-theme="dark"] .markdown-content h2,
[data-theme="dark"] .markdown-content h4 {
    color: var(--c-text);
    border-color: var(--c-border);
}

[data-theme="dark"] .markdown-content h3 { color: var(--c-accent-dark); }

[data-theme="dark"] .markdown-content strong { color: var(--c-text); }

[data-theme="dark"] .markdown-content code {
    background: rgba(96,165,250,.15);
    color: var(--c-accent-dark);
}

[data-theme="dark"] .markdown-content blockquote {
    background: rgba(96,165,250,.1);
    border-color: var(--c-accent);
    color: var(--c-text-2);
}

[data-theme="dark"] .markdown-content table thead {
    background: var(--c-accent);
    color: #fff;
}

[data-theme="dark"] .markdown-content td {
    border-color: var(--c-border);
}

[data-theme="dark"] .markdown-content tbody tr:hover { background: var(--c-bg); }

[data-theme="dark"] .markdown-content .katex-display { background: var(--c-bg); }

/* Sidebar */
[data-theme="dark"] .lesson-sidebar {
    background: var(--c-surface);
    border-color: var(--c-border);
}

[data-theme="dark"] .sidebar-progress { background: var(--c-border); }

[data-theme="dark"] .sidebar-heading__label { color: var(--c-text-3); }

[data-theme="dark"] .sidebar-tabs { border-color: var(--c-border); }

[data-theme="dark"] .sidebar-tab { color: var(--c-text-2); }
[data-theme="dark"] .sidebar-tab:hover { background: var(--c-bg); color: var(--c-text); }
[data-theme="dark"] .sidebar-tab.active { color: var(--c-accent); border-bottom-color: var(--c-accent); background: transparent; }

[data-theme="dark"] .theme-header { color: var(--c-text); }
[data-theme="dark"] .theme-header:hover { background: var(--c-bg); }
[data-theme="dark"] .theme-header.active { background: var(--c-accent-bg); color: var(--c-accent-dark); }
[data-theme="dark"] .theme-header.active::before { background: var(--c-accent); }

[data-theme="dark"] .theme-sublist-inner { border-color: var(--c-border); }

[data-theme="dark"] .subtheme-item { color: var(--c-text-2); }
[data-theme="dark"] .subtheme-item:hover { background: var(--c-accent-bg); color: var(--c-accent-dark); border-left-color: var(--c-accent); }
[data-theme="dark"] .subtheme-item.active { background: var(--c-accent-bg); color: var(--c-accent-dark); border-left-color: var(--c-accent); }
[data-theme="dark"] .subtheme-item:hover .subtheme-dot,
[data-theme="dark"] .subtheme-item.active .subtheme-dot { background: var(--c-accent); }

[data-theme="dark"] .sidebar-close { background: var(--c-bg); color: var(--c-text-2); }
[data-theme="dark"] .sidebar-close:hover { background: var(--c-border); color: var(--c-text); }

/* Test panel */
[data-theme="dark"] .test-content.fullscreen { background: var(--c-surface); }
[data-theme="dark"] .test-start-panel,
[data-theme="dark"] .test-results-panel { background: var(--c-surface); border-color: var(--c-accent); }
[data-theme="dark"] .test-question-panel { background: var(--c-surface); }
[data-theme="dark"] .test-question-title { background: var(--c-accent-bg); color: var(--c-text); }
[data-theme="dark"] .test-option { background: var(--c-bg); border-color: var(--c-border); color: var(--c-text); }
[data-theme="dark"] .test-option:hover { border-color: var(--c-accent); }
[data-theme="dark"] .test-option.selected { background: var(--c-accent-bg); border-color: var(--c-accent); }
[data-theme="dark"] .test-progress-bar-fill-wrapper { background: var(--c-border); }
[data-theme="dark"] .test-meta-item { background: var(--c-accent-bg); }
[data-theme="dark"] .test-meta-item span { color: var(--c-text); }
[data-theme="dark"] .test-body { background: var(--c-bg); }
[data-theme="dark"] .test-text-input { color: #FFFFFF; background: var(--c-bg); border-color: var(--c-border); }
[data-theme="dark"] .test-text-input::placeholder { color: var(--c-text-3); }
[data-theme="dark"] .test-text-input:focus { background: var(--c-surface); border-color: var(--c-accent); }

/* Test results breakdown */
[data-theme="dark"] .test-breakdown-title { color: var(--c-text-3); border-top-color: var(--c-border); }
[data-theme="dark"] .test-review-card { background: var(--c-bg); border-color: var(--c-border); }
[data-theme="dark"] .test-review-num { background: var(--c-accent-bg); color: var(--c-accent); }
[data-theme="dark"] .test-review-question { color: var(--c-text); }
[data-theme="dark"] .badge-correct { background: var(--c-accent-bg); color: var(--c-accent); }
[data-theme="dark"] .badge-wrong { background: rgba(220,38,38,.2); color: #FCA5A5; }
[data-theme="dark"] .opt-neutral { background: var(--c-surface); border-color: var(--c-border); color: var(--c-text-3); }
[data-theme="dark"] .opt-wrong { background: rgba(220,38,38,.12); border-color: rgba(220,38,38,.35); color: #FCA5A5; }
[data-theme="dark"] .opt-wrong .opt-dot { background: #EF4444; border-color: #EF4444; }
[data-theme="dark"] .tag-yours { background: rgba(220,38,38,.2); color: #FCA5A5; }

/* Test results title/score/description in dark */
[data-theme="dark"] .test-results-title { color: var(--c-text); }
[data-theme="dark"] .test-results-description { color: var(--c-text-2); }
[data-theme="dark"] .test-results-score { color: var(--c-accent); }
[data-theme="dark"] .test-start-title { color: var(--c-accent); }
[data-theme="dark"] .test-start-description { color: var(--c-text-2); }
[data-theme="dark"] .test-start-icon { background: var(--c-accent-bg); }
[data-theme="dark"] .test-results-icon { background: var(--c-accent-bg); }
[data-theme="dark"] .test-question-number { color: var(--c-accent); }
[data-theme="dark"] .test-progress-label { color: var(--c-text-2); }
[data-theme="dark"] .test-progress-count { color: var(--c-accent); }
[data-theme="dark"] .btn-test-back { background: var(--c-surface); color: var(--c-accent); border-color: var(--c-accent); }
[data-theme="dark"] .btn-test-back:hover { background: var(--c-accent-bg); }
[data-theme="dark"] .btn-test-back-to-topic { color: var(--c-accent); }
[data-theme="dark"] .btn-test-back-to-topic:hover { background: var(--c-accent-bg); }
[data-theme="dark"] .btn-back-to-topic { color: var(--c-accent); }
[data-theme="dark"] .btn-back-to-topic:hover { background: var(--c-accent-bg); }
[data-theme="dark"] .btn-exit-test:hover { background: var(--c-border); }
[data-theme="dark"] .test-text-label { color: var(--c-text-2); }

/* Search highlight */
[data-theme="dark"] .search-highlight {
    background: rgba(252, 211, 77, 0.25);
    color: #FCD34D;
}

/* Footer */
[data-theme="dark"] .site-footer {
    background: var(--c-surface);
    border-color: var(--c-border);
}
