:root{color-scheme:light}
.theme-switch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);padding:9px 12px;font:inherit;font-size:.78rem;font-weight:650;flex-shrink:0;margin-left:auto}
.theme-track{width:30px;height:18px;border-radius:20px;background:#c4cada;display:block;padding:3px;transition:background .2s}
.theme-track span{display:block;width:12px;height:12px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003;transition:transform .2s}
.theme-switch[aria-checked=true] .theme-track{background:#8589ff}
.theme-switch[aria-checked=true] .theme-track span{transform:translateX(12px)}
.theme-switch:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
html[data-theme=dark]{color-scheme:dark;--ink:#eef0fa;--muted:#aeb8cf;--blue:#a8acff;--deep:#888eff;--line:#35405a;--bg:#101627;--purple:#b899ed;--teal:#68d6c1;--orange:#efab73;--pink:#efa3c4;--red:#ff9da6;--shadow:0 14px 36px #0003}
html[data-theme=dark] header,html[data-theme=dark] footer,html[data-theme=dark] .card,html[data-theme=dark] .paper,html[data-theme=dark] .planner-setup,html[data-theme=dark] dialog{background:#1a2236;color:var(--ink)}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#121a2b;color:var(--ink);border-color:#48546c}
html[data-theme=dark] .secondary,html[data-theme=dark] .choice,html[data-theme=dark] .skip{background:#1a2236;color:var(--ink)}
html[data-theme=dark] .button:not(.secondary):not(.lime),html[data-theme=dark] .mark{background:#777cf0;color:#101627}
html[data-theme=dark] .button:not(.secondary):not(.lime):hover{background:#a8acff}
html[data-theme=dark] .lime,html[data-theme=dark] .day-dot.done,html[data-theme=dark] .day-dot.done b,html[data-theme=dark] .tile-number.complete{color:#17203b}
html[data-theme=dark] nav a.active,html[data-theme=dark] nav a:hover,html[data-theme=dark] .secondary:hover,html[data-theme=dark] .choice:has(input:checked),html[data-theme=dark] .note-box,html[data-theme=dark] .tag,html[data-theme=dark] .goal-strip,html[data-theme=dark] .tile-number,html[data-theme=dark] .worked-example details,html[data-theme=dark] .answer-feedback,html[data-theme=dark] .price.featured{background:#2a3153}
html[data-theme=dark] .bar,html[data-theme=dark] .progress,html[data-theme=dark] .day-dot b{background:#303950}
html[data-theme=dark] .donut:before{background:#1a2236}
html[data-theme=dark] .adapt-note,html[data-theme=dark] .answer-feedback.good{background:#213629;border-color:#537544}
html[data-theme=dark] .answer-feedback.needs-work{background:#3e2d2a}
html[data-theme=dark] .lesson-tile.locked{background:#151d30}
html[data-theme=dark] .goal-strip .tag{background:#1a2236}
html[data-theme=dark] #notice{background:#eef0fa;color:#17203b}
html[data-theme=dark] .daily .button,html[data-theme=dark] .preview .button{color:#17203b}
html[data-theme=dark] body,html[data-theme=dark] body *{cursor:url('cursor-dark.svg') 24 24,auto}
html[data-theme=dark] a,html[data-theme=dark] button,html[data-theme=dark] summary,html[data-theme=dark] label.choice,html[data-theme=dark] input[type=checkbox],html[data-theme=dark] input[type=radio],html[data-theme=dark] select{cursor:url('cursor-hover-dark.svg') 24 24,pointer}
html[data-theme=dark] input[type=text],html[data-theme=dark] input[type=date],html[data-theme=dark] textarea{cursor:text}
html[data-theme=dark] button:disabled{cursor:not-allowed}
@media(max-width:850px){.theme-switch{padding:8px 10px}header nav{width:100%}}
@media(prefers-reduced-motion:reduce){.theme-track,.theme-track span{transition:none}}
