/* Native, first-party accessibility controls; never hides the source content. */
#a11yLaunch{position:fixed;left:16px;bottom:20px;z-index:90;min-width:52px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid #fff;border-radius:12px;background:#164ca0;color:#fff;box-shadow:0 3px 12px #0003;font:800 16px/1.4 Heebo,Arial,sans-serif;cursor:pointer}
#a11yLaunch{bottom:max(20px,var(--a11y-clearance,20px))}
#a11yLaunch[hidden]{display:none!important}
.a11y-footer button{font:inherit;color:inherit;border:0;background:transparent;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#a11yLaunch svg{width:26px;height:26px;flex-shrink:0}body.screen-session #a11yLaunch{bottom:max(240px,var(--a11y-clearance,20px))}
#a11yPanel{box-sizing:border-box;width:min(420px,calc(100% - 24px));max-height:85vh;max-height:85svh;overflow-y:auto;margin:auto;padding:24px;border:2px solid #1d2423;border-radius:14px;background:#fff;color:#1d2423;font:400 18px/1.6 Heebo,Arial,sans-serif;box-shadow:0 16px 48px #0004}
#a11yPanel::backdrop{background:#0008}#a11yPanel *{box-sizing:border-box}#a11yPanel h2{font:800 24px/1.4 Heebo,Arial,sans-serif;margin:0}#a11yPanel p{font:400 16px/1.7 Heebo,Arial,sans-serif;margin:16px 0}
.a11y-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.a11y-heading button,.a11y-reset{font:700 16px/1.5 Heebo,Arial,sans-serif;min-height:44px;padding:10px 12px;border:1px solid #1d2423;background:#fff;color:#1d2423;border-radius:8px;cursor:pointer}
.a11y-field{display:grid;gap:8px;font-weight:700}.a11y-field select{width:100%;font:inherit;min-height:48px;border:1px solid #1d2423;border-radius:8px;padding:8px 12px;background:#fff;color:#1d2423}
.a11y-check{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 0;border-bottom:1px solid #ccc;cursor:pointer;font-size:18px}.a11y-check input{width:22px;height:22px;accent-color:#164ca0;flex-shrink:0}.a11y-reset{margin:20px 0;width:100%}#a11yPanel nav{display:grid;gap:12px}#a11yPanel a{color:#164ca0;text-decoration:underline;text-underline-offset:4px;padding-block:6px}#a11yPanel p.a11y-help{font-size:14px}
.a11y-footer{padding:24px 24px 92px;display:flex;justify-content:center;flex-wrap:wrap;gap:16px;background:var(--bg,var(--paper,#fff));color:var(--ink,#1d2423);border-top:1px solid var(--line,#777);font:400 16px/1.6 Heebo,Arial,sans-serif}.a11y-footer a{color:inherit;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.a11y-skip{position:fixed;top:8px;right:8px;z-index:1000;transform:translateY(-180%);padding:12px 20px;background:#fff;color:#164ca0;border:2px solid #164ca0;font:700 18px/1.5 Heebo,Arial,sans-serif}.a11y-skip:focus{transform:none}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid #1769c7!important;outline-offset:4px!important}
html[data-a11y-links] a{text-decoration:underline!important;text-underline-offset:4px}
html[data-a11y-motion] *,html[data-a11y-motion] *::before,html[data-a11y-motion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-a11y-motion] .page-section,html[data-a11y-motion] .closing-section,html[data-a11y-motion] .lesson-core{opacity:1!important;transform:none!important}
html[data-a11y-text=large] :is(p,li,label,button,input,textarea,select,summary,.tr,.he-t,.sub,.speaker span){font-size:20px!important;line-height:1.7!important}
html[data-a11y-text=largest] :is(p,li,label,button,input,textarea,select,summary,.tr,.he-t,.sub,.speaker span){font-size:24px!important;line-height:1.7!important}
html[data-a11y-text] #a11yLaunch{font-size:16px!important;line-height:1.4!important}
html[data-a11y-contrast]{--paper:#fff;--bg:#fff;--bg-soft:#f1f1f1;--card:#fff;--ink:#000;--ink-2:#111;--ink-3:#222;--muted:#222;--line:#555;--line-2:#444}
html[data-a11y-contrast] body{--ink:#000!important;--ink-2:#111!important;--ink-3:#222!important;--today-ink:#000!important;--today-muted:#111!important;--bg:#fff!important;--card:#fff!important;color:#000!important;background:#fff!important;background-image:none!important}
html[data-a11y-contrast] :is(p,li,h1,h2,h3,h4,label,summary,.tr,.he-t,.sub){color:#000!important;text-shadow:none!important}
html[data-a11y-contrast] :is(section,article,aside,main,header,footer,.wordcard,.gcard,.vrow,.opt,.typebox,.entry-proof,.sound-proof){background:#fff!important;background-image:none!important;color:#000!important}
html[data-a11y-contrast] a{color:#003b80!important}html[data-a11y-contrast] :is(button,.guide-button,.primary-cta){background:#000!important;color:#fff!important;border:2px solid #000!important}
html[data-a11y-contrast] :is(button,.guide-button,.primary-cta) *{color:inherit!important}html[data-a11y-contrast] input,html[data-a11y-contrast] select,html[data-a11y-contrast] textarea{color:#000!important;background:#fff!important;border:2px solid #000!important}
html[data-a11y-contrast] .nav-cta,html[data-a11y-contrast] .nav-cta *{color:#fff!important;background:#000!important}
@media(max-width:640px){#a11yLaunch{left:12px;bottom:max(12px,env(safe-area-inset-bottom),var(--a11y-clearance,20px));padding:10px;min-width:52px}#a11yLaunch>span{display:none}#a11yPanel{padding:20px}.a11y-heading{align-items:flex-start}.a11y-heading h2{font-size:22px}}
@media print{#a11yLaunch,#a11yPanel,.a11y-skip{display:none!important}}
/* Baseline fixes also apply when optional display settings are off. */
.unit-feature .unit-no{color:var(--ink,#1d2423)}
.stat.level small{color:var(--ink-2,#333)}
.next-lesson .next-unit{color:var(--today-ink,var(--ink,#1d2423))}
.listening-alternative{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.listening-alternative summary{cursor:pointer;min-height:44px;font-weight:700}.listening-alternative p{font-size:24px;line-height:1.6}
#a11yLaunch{bottom:max(var(--a11y-safe-bottom,20px),var(--a11y-clearance,20px),env(safe-area-inset-bottom))}
body.screen-session #a11yLaunch{bottom:max(240px,var(--a11y-safe-bottom,20px),var(--a11y-clearance,20px))}
