:root[data-a11y-readable="on"]{--serif:system-ui,-apple-system,"Segoe UI",sans-serif!important;--sans:system-ui,-apple-system,"Segoe UI",sans-serif!important}
:root[data-a11y-contrast="high"]{--bg:#FFFFFF!important;--surface:#FFFFFF!important;--ink:#111827!important;--muted:#374151!important;--line:#626C7A!important;--grid:transparent!important;--accent:#003FA3!important;--accent-ink:#FFFFFF!important;--soft:#E7EDFF!important;--ok:#00623F!important;--frame:#626C7A!important;--wash:none!important;--g2:#003FA3!important;--t1:#FFFFFF!important;--t2:#FFFFFF!important;--t3:#FFFFFF!important}
@media(prefers-color-scheme:dark){:root[data-a11y-contrast="high"]:not([data-theme="light"]){--bg:#0B0F14!important;--surface:#0B0F14!important;--ink:#F8FAFC!important;--muted:#D2DAE5!important;--line:#A7B4C4!important;--accent:#FFE082!important;--accent-ink:#111827!important;--soft:#1D2B3A!important;--ok:#80E0AC!important;--frame:#A7B4C4!important;--g2:#FFE082!important;--t1:#0B0F14!important;--t2:#0B0F14!important;--t3:#0B0F14!important}}
:root[data-a11y-contrast="high"][data-theme="dark"]{--bg:#0B0F14!important;--surface:#0B0F14!important;--ink:#F8FAFC!important;--muted:#D2DAE5!important;--line:#A7B4C4!important;--accent:#FFE082!important;--accent-ink:#111827!important;--soft:#1D2B3A!important;--ok:#80E0AC!important;--frame:#A7B4C4!important;--g2:#FFE082!important;--t1:#0B0F14!important;--t2:#0B0F14!important;--t3:#0B0F14!important}
[data-a11y-contrast="high"] .screen,[data-a11y-contrast="high"] .panel,[data-a11y-contrast="high"] .drawing-menu,[data-a11y-contrast="high"] .drawing-menu-body,[data-a11y-contrast="high"] .fb,[data-a11y-contrast="high"] .lesson-check,[data-a11y-contrast="high"] .disp{background:var(--bg)!important;color:var(--ink)}
[data-a11y-contrast="high"] .qinput,[data-a11y-contrast="high"] .qopt,[data-a11y-contrast="high"] .math-key,[data-a11y-contrast="high"] .k{border-color:var(--line);background:var(--surface);color:var(--ink)}
[data-a11y-contrast="high"] .math-key-enter,[data-a11y-contrast="high"] .k.eq,[data-a11y-contrast="high"] .answer-keypad-controls .math-key:last-child{background:var(--accent);color:var(--accent-ink)}
[data-a11y-spacing="relaxed"] .tp,[data-a11y-spacing="relaxed"] .solution-details,[data-a11y-spacing="relaxed"] .check-feedback,[data-a11y-spacing="relaxed"] .roadmap-content,[data-a11y-spacing="relaxed"] .dash-help,[data-a11y-spacing="relaxed"] .s-note{line-height:1.9!important;letter-spacing:.025em;word-spacing:.07em}
[data-a11y-spacing="relaxed"] .qtext{line-height:1.55;letter-spacing:.015em}
[data-a11y-targets="large"] button,[data-a11y-targets="large"] .pill,[data-a11y-targets="large"] select,[data-a11y-targets="large"] .qinput,[data-a11y-targets="large"] summary{min-height:48px}
[data-a11y-targets="large"] .icon{width:48px;height:48px;flex-shrink:0}
[data-a11y-targets="large"] .s-row,[data-a11y-targets="large"] .l-top,[data-a11y-targets="large"] .l-tools{flex-wrap:wrap}
[data-a11y-targets="large"] .seg{flex-wrap:wrap;min-width:0;max-width:100%}
[data-a11y-focusring="strong"] :focus-visible{outline:4px solid var(--accent)!important;outline-offset:3px!important;box-shadow:0 0 0 7px var(--bg)!important}
[data-a11y-distraction="on"] .m-float,[data-a11y-distraction="on"] .fx,[data-a11y-distraction="on"] .c-art{display:none!important}
[data-a11y-distraction="on"] .continue{grid-template-columns:minmax(0,1fr)}
[data-anim="reduced"]{scroll-behavior:auto}
.accessibility-settings{border:1px solid var(--line);border-radius:14px;padding:16px;margin:24px 0;background:var(--surface)}
.accessibility-settings>summary{font:700 19px/1.5 var(--sans);cursor:pointer;color:var(--ink)}
.accessibility-settings .s-row{flex-wrap:wrap;gap:12px}
.accessibility-settings .seg{flex-wrap:wrap;min-width:0;max-width:100%}
.skip-main{position:fixed;top:-100px;left:12px;z-index:10000;padding:10px 16px;border:2px solid var(--accent);border-radius:8px;background:var(--bg);color:var(--ink)}
.skip-main:focus-visible{top:8px}
/* Reserve a temporary strip while the keyboard skip control is focused. */
body:has(.skip-main:focus-visible) .screen{inset-block-start:64px!important}
body:has(.skip-main:focus-visible) .wrap{padding-top:64px}
