/* Follow the browser preference immediately, including changes while reading. */
:root{--action:#2155ce;--action-hover:#1943a4;--success:#126b48;--warm:#fff4ec;--chart-blue:#2155ce;--chart-orange:#a93c10;--chart-green:#167052;color-scheme:light dark}
.lesson-intro{color:var(--muted);font-size:.95rem;margin-top:18px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px}.prerequisites{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin:20px 0;color:var(--muted);font-size:.85rem}.prerequisites a{color:var(--primary);text-decoration:underline;text-underline-offset:4px;min-height:30px}.prerequisites strong{font-weight:700}
.practice-series{margin:45px 0}.practice-series>h2{font-size:1.65rem;line-height:1.45}.practice-series>p:not(.eyebrow){margin:18px 0;color:var(--muted)}.practice-actions{margin:20px 0 30px}.exercise-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;margin:24px 0;scroll-margin-top:24px}.exercise-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.exercise-heading .text-link{font-size:.75rem}.exercise-card h3{font-size:1.08rem;line-height:1.8;margin-bottom:20px;letter-spacing:0}.exercise-card label,.numeric-practice label{display:block;font-size:.85rem;font-weight:700;margin-bottom:10px}.exercise-card textarea,.numeric-practice input{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:12px;font-size:16px;min-height:48px}.exercise-card textarea{width:100%;resize:vertical}.numeric-practice{margin:24px 0}.numeric-practice .field-hint{font-size:.81rem;color:var(--muted);margin-bottom:12px}.answer-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.answer-controls input{width:180px;max-width:100%}.answer-feedback{font-size:.88rem;line-height:1.8;margin:12px 0 0;color:var(--muted)}.answer-feedback[data-result=match]{color:var(--success)}.answer-feedback[data-result=invalid]{color:var(--danger)}.exercise-card details{border-top:1px solid var(--line);padding:14px 0 0;margin-top:16px}.exercise-card summary{cursor:pointer;font-weight:700;min-height:44px;font-size:.9rem}.exercise-card details>p{margin:14px 0 0;line-height:1.9}.solution-steps{padding-left:24px;margin:18px 0}.solution-steps li{padding-left:5px;margin:14px 0;line-height:1.9}.exercise-card .self-check{color:var(--muted);font-size:.88rem}.lesson-article .ad-space{margin:64px auto;padding:0 12px}.lesson-article .ad-body{min-height:180px}.lesson-article .ad-space.live ins{min-height:180px}
@media screen and (prefers-color-scheme:dark){
 :root{--paper:#0b1220;--surface:#142033;--ink:#e7edf8;--muted:#afbed4;--line:#3d506c;--soft:#1d3050;--primary:#91b5ff;--primary-dark:#bfd2ff;--orange-ink:#ffb083;--danger:#ffadb3;--success:#80dfb7;--warm:#30261f;--action:#285bce;--action-hover:#346cde;--chart-blue:#91b5ff;--chart-orange:#ffb083;--chart-green:#74d8b2;
  --keyboard-background:#142033;--keyboard-toolbar-background:#1d3050;--keyboard-toolbar-background-hover:#293e60;--keyboard-toolbar-background-selected:#293e60;--keyboard-toolbar-text:#e7edf8;--keyboard-toolbar-text-active:#fff;--keyboard-border:#3d506c;--keyboard-accent-color:#91b5ff;
  --keycap-background:#24344e;--keycap-text:#e7edf8;--keycap-background-hover:#354e73;--keycap-background-active:#285bce;--keycap-text-active:#fff;--keycap-border:#526786;--keycap-secondary-background:#1d3050;--keycap-secondary-text:#e7edf8;--keycap-secondary-background-hover:#354e73;
 }
 .button:not(.secondary){background:var(--action);border-color:var(--action);color:#fff}.button:not(.secondary):hover{background:var(--action-hover);border-color:var(--action-hover)}.filter[aria-pressed=true]{background:var(--action);border-color:var(--action)}
 .hero .button:first-child,.ai-feature .button{background:var(--orange);border-color:var(--orange);color:#102652}.hero .button:first-child:hover,.ai-feature .button:hover{background:#ffac80;border-color:#ffac80}
 .learning-controls,.lesson-card,.lesson-principle,.lesson-practice,.course-method,.lesson-nav-item,.path-card,.revision-row,.subject-card,.recall-answer,.lab-chart,.interactive-board,math-field{background:var(--surface);border-color:var(--line)}
 .lesson-card:hover,.subject-card:hover,.situation:hover,.guide-card:hover,.tool-card:hover{background:var(--soft);border-color:var(--primary)}
 .course-progress select,.lesson-practice textarea,.point-inspector input{background:var(--paper);color:var(--ink);border-color:var(--line)}
 .formula-display,.ad-body{background:var(--soft)}.course-deep,.pitfall,.lab-note,.result.warning,.learning-map .map-attempt,.guide-card[data-category=ai] .guide-mark,.tool-card[data-category=ai] .tool-mark,.tool-card[data-category=career] .tool-mark{background:var(--warm);border-color:#715137}
 .hero-pill,.learning-map .map-question,.learning-map .map-check,.recall-panel{border-color:var(--line)}.learning-map .map-check{background:var(--soft)}.subject-app .field input:disabled{background:var(--soft)}.lesson-status[data-state=ready]{color:var(--success)}
 .sequence-row code,.recall-panel h2,.practice-question,.revision-row a{color:var(--ink)}.punnett-table td,.punnett-table th{border-color:var(--surface)}.lab-chart svg text{fill:var(--ink)}
 .lab-chart svg [stroke="#2155ce"]{stroke:var(--chart-blue)}.lab-chart svg [stroke="#a93c10"]{stroke:var(--chart-orange)}.lab-chart svg [stroke="#167052"]{stroke:var(--chart-green)}.lab-chart svg [fill="#2155ce"]{fill:var(--chart-blue)}
 .home-learning-route .button:not(.secondary){background:var(--orange);border-color:var(--orange);color:#102652}
 math-field{color:var(--ink);--primary:#91b5ff;--caret-color:#91b5ff;--selection-background-color:#354e73;--selection-color:#fff;--contains-highlight-background-color:#293e60;--placeholder-color:#afbed4}math-field:focus-within{outline-color:var(--primary)}
 .interactive-board svg text{fill:var(--ink)}.chart-legend span{color:var(--ink)!important}
}
@media print{
 :root{--paper:#fff;--surface:#fff;--ink:#111;--muted:#333;--primary:#111;--line:#777;--soft:#fff;color-scheme:light}
 .practice-actions,.exercise-card textarea,.exercise-card>label,.numeric-practice,.exercise-heading .text-link{display:none!important}.exercise-card{padding:15px;border-color:#777}.exercise-card details{break-inside:avoid}.solution-steps li{font-size:11pt}
}
