/* Shared accessible colour tokens; retain each console's functional layout. */
:root{--bg:#f5f4ed;--surface:#fffef9;--surface-2:#eaf0e6;--ink:#183c39;--muted:#52675e;--line:#c6d1c7;--accent:#255849;--pastel:#e0ebd9;--on-accent:#fff;--success-bg:#e0f1e5;--success-ink:#185c36;--error-bg:#fce6e4;--error-ink:#8e2c29;--red:var(--accent)}
:root[data-accent=lavender]{--accent:#594780;--pastel:#ece4f6}
:root[data-accent=sky]{--accent:#245c7a;--pastel:#deedf5}
:root[data-accent=peach]{--accent:#804622;--pastel:#f7e6d8}
:root[data-accent=rose]{--accent:#873e52;--pastel:#f5e0e7}
:root[data-theme=light]{--bg:#fff;--surface:#fff;--surface-2:#f5f6f8;--ink:#252938;--muted:#535b68;--line:#d5d8de}
:root[data-theme=dark]{--bg:#151c20;--surface:#202b30;--surface-2:#29373c;--ink:#eef3ef;--muted:#bccbc6;--line:#566b70;--accent:#b4d5ba;--pastel:#31483a;--on-accent:#13221c;--success-bg:#1e4435;--success-ink:#c4edd5;--error-bg:#512d32;--error-ink:#ffd6d4}
:root[data-theme=dark][data-accent=lavender]{--accent:#d5c0f0;--pastel:#44344e}
:root[data-theme=dark][data-accent=sky]{--accent:#b6d8ef;--pastel:#2d4356}
:root[data-theme=dark][data-accent=peach]{--accent:#efc7a9;--pastel:#503b2e}
:root[data-theme=dark][data-accent=rose]{--accent:#efbdcf;--pastel:#4c3440}
html,body{background:var(--bg);color:var(--ink)}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
html[data-console=student] h1,html[data-console=student] h2,html[data-console=student] aside h3{font-family:Georgia,serif}
html[data-console=content] h1,html[data-console=content] h2{font-family:'DM Sans',Arial,sans-serif;font-weight:500}
p,small,.muted,.intro,.crumb,.question-meta,footer,th{color:var(--muted)}
a,.eyebrow,.logo,.go,h1 strong,.features article>span,.score strong{color:var(--accent)}
header{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
html[data-console=student] header{background:var(--accent);color:var(--on-accent)}
html[data-console=student] header a,html[data-console=student] header .logo b,html[data-console=student] header small,html[data-console=student] header nav button,html[data-console=student] header .auth-nav span{color:var(--on-accent)}
html[data-console=student] header nav button{background:transparent}
html[data-console=student] .seal{border-color:var(--on-accent)}
html[data-console=content] header a{color:var(--accent)}
.top{flex-wrap:wrap;padding-block:16px}.top nav{flex-wrap:wrap;gap:14px}nav button{color:var(--ink)}
button,.button,input,select,textarea,.search{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px}
button,.button{padding:11px 16px}button:hover:not(:disabled),.button:hover{background:var(--pastel);color:var(--ink)}
button.primary,.primary,button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:none}
button.primary:hover:not(:disabled),.primary:hover{background:var(--accent);color:var(--on-accent);filter:brightness(.92)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
html[data-console=student] header :focus-visible{outline-color:var(--on-accent)}
.landing{background:linear-gradient(115deg,var(--bg) 45%,var(--pastel))}
.hero-book,.badge,.num,.timer,.stats span,.palette .answered{background:var(--pastel);color:var(--ink)}
.hero-book>span{color:var(--ink)}.book{background:var(--accent);border-color:var(--ink);box-shadow:10px 12px 0 var(--surface-2);color:var(--on-accent)}.book small{color:var(--on-accent)}
.floating,.topic-row,.question-card,.card,section.card,form.card,.breakdown{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px}
.floating{color:var(--ink)!important}aside{background:var(--surface-2);border-color:var(--line);border-radius:12px}
.features,footer,.breakdown>div,td,th,.page-row,hr{border-color:var(--line)}
.option,.palette button{color:var(--ink);background:var(--surface);border-color:var(--line)}
.option span{border-color:var(--line)}.option.selected{background:var(--pastel);border-color:var(--accent)}
.option.correct,.published,.explanation{background:var(--success-bg);color:var(--success-ink);border-color:var(--success-ink)}.explanation p{color:var(--success-ink)}
.option.wrong,#notice.error{background:var(--error-bg);color:var(--error-ink);border-color:var(--error-ink)}
.session-banner,.draft,#notice:not(:empty){background:var(--pastel);color:var(--ink);border-color:var(--line)}
#notice.error:not(:empty){background:var(--error-bg);color:var(--error-ink)}
.controls-crumb button{background:var(--surface-2);color:var(--accent)}.controls-crumb [aria-current=page]{color:var(--muted)}
.auth-nav span,#auth-error,#study-error{overflow-wrap:anywhere}#auth-error,#study-error{color:var(--error-ink)}
.appearance-bar{padding:8px max(16px,calc((100% - 1140px)/2));background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--ink)}
.appearance-picker summary{cursor:pointer;font-size:13px;width:fit-content;padding:4px}.appearance-options{display:flex;gap:20px;flex-wrap:wrap;align-items:end;padding:12px 0}
.appearance-options label{display:grid;gap:6px;font-size:13px;margin:0}.appearance-options select{min-width:150px;padding:8px}.appearance-options small{max-width:280px}
.study-setup{max-width:950px}.study-setup h1{font-size:clamp(28px,4vw,42px)}.study-setup select{width:100%;padding:12px}.field-label{display:block;margin-bottom:8px;font-weight:600}
.study-setup fieldset{border:1px solid var(--line);border-radius:10px;margin:24px 0 0;padding:18px;min-width:0}.study-setup legend{padding:0 8px;font-weight:600}
.study-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.study-topic{display:flex;align-items:start;gap:12px;background:var(--surface-2);padding:14px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
.study-topic input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}.study-topic span{overflow-wrap:anywhere}.study-topic small{display:block;margin-top:5px}
.study-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.study-fields label{display:grid;gap:8px}.study-fields input{width:100%;padding:12px}
@media(max-width:650px){.study-topics,.study-fields{grid-template-columns:1fr}.appearance-options{gap:12px}.study-setup fieldset{padding:12px}.top nav{font-size:13px}.auth-nav{flex-wrap:wrap}.study-setup .question-card{padding:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
