/* Learning components follow the lesson's existing theme attribute, including
   AJAX content and Bootstrap modals. Keep geometry in the component styles. */
.ct-learning {
    --learn-bg: var(--ct-white, #fff);
    --learn-raised: #fcfbfe;
    --learn-soft: #f6f3f9;
    --learn-line: #e5e1ef;
    --learn-control-line: #9b89ad;
    --learn-ink: var(--ct-ink, #30273f);
    --learn-muted: #6e6b81;
    --learn-accent: #7952b7;
    --learn-selected: #f4eefe;
    --learn-success-bg: #f0faf5;
    --learn-success-line: #baddc9;
    --learn-success: #176a42;
    --learn-warning-bg: #fffcf5;
    --learn-warning-line: #efe1bd;
    --learn-warning: #986d24;
    --learn-error: #a12626;
}

[data-ct-lesson-theme="dark"] .ct-learning {
    --learn-bg: var(--ct-white, #211c2a);
    --learn-raised: #292332;
    --learn-soft: #302739;
    --learn-line: #51445e;
    --learn-control-line: #8b7899;
    --learn-ink: var(--ct-ink, #eee8f5);
    --learn-muted: #bfb1cd;
    --learn-accent: #c7a4f0;
    --learn-selected: #392a4d;
    --learn-success-bg: #1c332c;
    --learn-success-line: #426f5b;
    --learn-success: #96dfb7;
    --learn-warning-bg: #372e20;
    --learn-warning-line: #806339;
    --learn-warning: #f3cd83;
    --learn-error: #ffacb9;
    --quiz-bg: var(--learn-bg);
    --quiz-purple: var(--learn-accent);
    --quiz-ink: var(--learn-ink);
    --quiz-muted: var(--learn-muted);
    --quiz-border: var(--learn-line);
    --quiz-soft: var(--learn-soft);
    color: var(--learn-ink);
}

/* Shared controls, task cards, and student/admin dialogs. */
[data-ct-lesson-theme="dark"] .ct-learning :is(.ct-learning-section, .ct-learning-question, .ct-learning-option-editor, .ct-learning-admin-row) { border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-learning .ct-learning-card,
[data-ct-lesson-theme="dark"] .ct-learning .ct-learning-modal .modal-content { background: var(--learn-bg); color: var(--learn-ink); border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-learning :is(.modal-title, .ct-learning-field) { color: var(--learn-ink); }
[data-ct-lesson-theme="dark"] .ct-learning :is(.modal-header, .modal-footer) { border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-learning :is(.ct-learning-field input:not([type="checkbox"]), .ct-learning-field textarea, .ct-learning-field select, .ct-learning-admin-toolbar select) { background: var(--learn-raised); color: var(--learn-ink); border-color: var(--learn-control-line); }
[data-ct-lesson-theme="dark"] .ct-learning :is(input, textarea)::placeholder { color: var(--learn-muted); opacity: 1; }
[data-ct-lesson-theme="dark"] .ct-learning :is(input[type="checkbox"], input[type="radio"]) { accent-color: #b68bdf; }
[data-ct-lesson-theme="dark"] .ct-learning .ct-learning-secondary { background: var(--learn-raised); color: var(--learn-accent); border-color: var(--learn-control-line); }
[data-ct-lesson-theme="dark"] .ct-learning .ct-learning-secondary:hover { background: var(--learn-selected); color: var(--learn-ink); border-color: var(--learn-accent); }
[data-ct-lesson-theme="dark"] .ct-learning .ct-learning-error { color: var(--learn-error); }
[data-ct-lesson-theme="dark"] .ct-learning .ct-learning-success { color: var(--learn-success); }
[data-ct-lesson-theme="dark"] .ct-learning :is(button, a, summary, textarea, input, select):focus-visible { outline-color: #f3cd83; }

/* Vocabulary keeps purple terms and teal acronyms distinct. */
[data-ct-lesson-theme="dark"] .ct-vocabulary { --card-accent: #c7a4f0; --card-tint: #32253f; --card-line: #51405f; --card-surface: var(--learn-raised); --card-ink: var(--learn-ink); --card-muted: var(--learn-muted); --card-shadow: #00000025; background: var(--learn-bg); color: var(--learn-ink); box-shadow: 0 12px 36px var(--card-shadow); }
[data-ct-lesson-theme="dark"] .ct-vocabulary[data-card-section="acronyms"] { --card-accent: #87d5d1; --card-tint: #203737; --card-line: #3c6060; }
[data-ct-lesson-theme="dark"] .ct-vocab-header { background: linear-gradient(115deg, var(--card-tint), var(--learn-bg)); }
[data-ct-lesson-theme="dark"] .ct-vocab-header h2 { color: var(--learn-ink); }
[data-ct-lesson-theme="dark"] :is(.ct-vocab-header p, .ct-vocab-definition, .ct-vocab-footnote, .ct-vocab-progress-box span, .ct-vocab-filters button, .ct-vocab-number) { color: var(--learn-muted); }
[data-ct-lesson-theme="dark"] .ct-vocab-total { background: var(--learn-bg); }
[data-ct-lesson-theme="dark"] .ct-vocab-emblem { border-color: var(--card-line); box-shadow: 8px 8px 0 var(--learn-raised), 0 12px 24px #00000020; }
[data-ct-lesson-theme="dark"] .ct-vocab-progress-box { background: var(--learn-raised); border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-vocabulary.is-complete .ct-vocab-progress-box { background: var(--learn-success-bg); border-color: var(--learn-success-line); }
[data-ct-lesson-theme="dark"] .ct-vocabulary.is-complete .ct-vocab-progress-box :is(strong, span) { color: var(--learn-success); }
[data-ct-lesson-theme="dark"] .ct-vocab-search { background: var(--learn-raised); border-color: var(--learn-control-line); }
[data-ct-lesson-theme="dark"] .ct-vocab-search > span { color: var(--card-accent); }
[data-ct-lesson-theme="dark"] .ct-vocab-search input { color: var(--learn-ink); }
[data-ct-lesson-theme="dark"] .ct-vocab-filters { background: var(--learn-soft); }
[data-ct-lesson-theme="dark"] .ct-vocab-filters [aria-pressed="true"] { background: var(--learn-bg); color: var(--card-accent); border-color: var(--card-line); box-shadow: 0 2px 5px #00000030; }
[data-ct-lesson-theme="dark"] .ct-vocab-card { background: linear-gradient(135deg, var(--card-surface), var(--card-tint)); border-color: var(--learn-line); border-inline-start: 3px solid var(--card-accent); }
[data-ct-lesson-theme="dark"] .ct-vocab-card.is-understood { background: linear-gradient(135deg, var(--card-surface), var(--learn-success-bg)); border-color: var(--learn-success-line); border-inline-start: 3px solid var(--learn-success); }
[data-ct-lesson-theme="dark"] .ct-vocab-arabic { color: var(--learn-ink); }
[data-ct-lesson-theme="dark"] .ct-vocab-number { color: var(--card-accent); }
[data-ct-lesson-theme="dark"] .ct-vocab-badge { background: var(--learn-soft); color: var(--learn-muted); }
[data-ct-lesson-theme="dark"] .ct-vocab-card .ct-vocab-card-actions { border-color: transparent; }
[data-ct-lesson-theme="dark"] .ct-vocab-card.is-understood .ct-vocab-badge,
[data-ct-lesson-theme="dark"] .ct-vocab-card.is-understood .ct-vocab-card-actions button { background: var(--learn-success-bg); color: var(--learn-success); border-color: var(--learn-success-line); }
[data-ct-lesson-theme="dark"] .ct-vocab-card-actions button:focus-visible { outline: 3px solid var(--learn-warning); outline-offset: 2px; }
[data-ct-lesson-theme="dark"] .ct-vocab-empty { background: var(--learn-raised); color: var(--learn-muted); border-color: var(--learn-line); }

/* Quiz preview, active questions, navigation and hints. */
[data-ct-lesson-theme="dark"] .ct-quiz { background: var(--learn-bg); box-shadow: 0 16px 45px #00000025; }
[data-ct-lesson-theme="dark"] .ct-quiz-hero { background: radial-gradient(ellipse at 5% 95%, #45315c 0, transparent 60%), linear-gradient(120deg, #30243f, var(--learn-bg)); }
[data-ct-lesson-theme="dark"] .ct-quiz .ct-quiz-hero h2 { color: var(--learn-ink); }
[data-ct-lesson-theme="dark"] .ct-quiz :is(.ct-quiz-eyebrow, .ct-quiz-preview-number) { color: var(--learn-accent); }
[data-ct-lesson-theme="dark"] .ct-quiz-stats > span { border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-stats strong { color: var(--learn-ink); }
[data-ct-lesson-theme="dark"] .ct-quiz-code-tile { border-color: #ba96e3; box-shadow: 10px 17px 0 #4b326280, 0 20px 35px #00000040; }
[data-ct-lesson-theme="dark"] .ct-quiz-check-tile { background: var(--learn-success-bg); color: var(--learn-success); border-color: #30243f; }
[data-ct-lesson-theme="dark"] .ct-quiz-auto-icon { background: var(--learn-soft); color: var(--learn-accent); border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-learning .ct-quiz-preview-card { background: var(--learn-raised); }
[data-ct-lesson-theme="dark"] .ct-quiz-preview-options button { background: var(--learn-bg); border-color: var(--learn-control-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-preview-options button:hover { background: var(--learn-selected); border-color: var(--learn-accent); }
[data-ct-lesson-theme="dark"] .ct-quiz-summary { background: var(--learn-raised); }
[data-ct-lesson-theme="dark"] .ct-learning .ct-quiz-progress,
[data-ct-lesson-theme="dark"] .ct-learning .ct-quiz-progress::-webkit-progress-bar { background: #4a3e56; }
[data-ct-lesson-theme="dark"] .ct-vocabulary.is-complete .ct-quiz-progress::-webkit-progress-value { background: #70c99a; }
[data-ct-lesson-theme="dark"] .ct-vocabulary.is-complete .ct-quiz-progress::-moz-progress-bar { background: #70c99a; }
[data-ct-lesson-theme="dark"] .ct-quiz-steps .ct-learning-button { background: var(--learn-raised); color: var(--learn-muted); border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-steps .is-done { background: var(--learn-selected); color: var(--learn-accent); border-color: #8d6aaa; }
[data-ct-lesson-theme="dark"] .ct-quiz-steps [aria-current="step"] { background: #8056c1; color: #fff; border-color: #bc95ec; box-shadow: 0 0 0 3px #392a4d; }
[data-ct-lesson-theme="dark"] .ct-quiz-type { background: var(--learn-selected); color: var(--learn-accent); }
[data-ct-lesson-theme="dark"] .ct-quiz .ct-quiz-prompt { color: var(--learn-muted); }
[data-ct-lesson-theme="dark"] .ct-quiz .ct-learning-option { background: var(--learn-raised); border-color: var(--learn-control-line); box-shadow: 0 3px 0 #16111e; }
[data-ct-lesson-theme="dark"] .ct-quiz .ct-learning-option:hover { background: var(--learn-soft); border-color: #a585c6; }
[data-ct-lesson-theme="dark"] .ct-quiz .ct-learning-option.is-selected { background: var(--learn-selected); border-color: var(--learn-accent); box-shadow: 0 3px 0 #70518e; }
[data-ct-lesson-theme="dark"] .ct-quiz-option-key { background: #382f41; color: var(--learn-muted); }
[data-ct-lesson-theme="dark"] .is-selected .ct-quiz-option-key { background: #8056b9; color: #fff; }
[data-ct-lesson-theme="dark"] .ct-quiz-help a { color: var(--learn-accent); }
[data-ct-lesson-theme="dark"] .ct-quiz-hint summary,
[data-ct-lesson-theme="dark"] .ct-quiz-hint p { color: var(--learn-warning); }
[data-ct-lesson-theme="dark"] .ct-quiz-hint[open] { background: var(--learn-warning-bg); border-color: var(--learn-warning-line); }
[data-ct-lesson-theme="dark"] .ct-quiz .ct-quiz-code-editor textarea::placeholder { color: var(--learn-muted); }

/* Results, reference solutions and attempt history. */
[data-ct-lesson-theme="dark"] .ct-quiz-result-hero { background: var(--learn-raised); border-color: var(--learn-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-result-hero.is-passed { background: linear-gradient(120deg, var(--learn-success-bg), var(--learn-bg)); border-color: var(--learn-success-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-result-hero.is-retry { background: var(--learn-warning-bg); border-color: var(--learn-warning-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-result-hero .ct-learning-error { color: var(--learn-warning); }
[data-ct-lesson-theme="dark"] .ct-quiz-score-ring { --ring-color: #e0b458; background: conic-gradient(var(--ring-color) var(--ct-score), #514532 0); }
[data-ct-lesson-theme="dark"] .ct-quiz-score-ring:before { background: var(--learn-warning-bg); }
[data-ct-lesson-theme="dark"] .ct-quiz-score-ring strong { color: var(--learn-warning); }
[data-ct-lesson-theme="dark"] .is-passed .ct-quiz-score-ring { --ring-color: #70c99a; background: conic-gradient(var(--ring-color) var(--ct-score), #345047 0); }
[data-ct-lesson-theme="dark"] .is-passed .ct-quiz-score-ring:before { background: var(--learn-success-bg); }
[data-ct-lesson-theme="dark"] .is-passed .ct-quiz-score-ring strong { color: var(--learn-success); }
[data-ct-lesson-theme="dark"] .ct-quiz-review-filters [aria-pressed="true"] { background: var(--learn-selected); color: var(--learn-accent); border-color: #9270b2; }
[data-ct-lesson-theme="dark"] .ct-quiz-review-card { border-color: var(--learn-success-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-review-card > summary { background: var(--learn-success-bg); color: var(--learn-success); }
[data-ct-lesson-theme="dark"] .ct-quiz-review-card[data-correct="false"] { border-color: var(--learn-warning-line); }
[data-ct-lesson-theme="dark"] .ct-quiz-review-card[data-correct="false"] > summary { background: var(--learn-warning-bg); color: var(--learn-warning); }
[data-ct-lesson-theme="dark"] .ct-quiz-review-content small { color: var(--learn-muted); }
[data-ct-lesson-theme="dark"] .ct-quiz-review-content a { color: var(--learn-accent); }
