/* One moving text layer, with full-height space reserved and static screen-reader text. */
.reading-block{display:block;position:relative;white-space:pre-line}
.reading-reserved{visibility:hidden}
.reading-visible{position:absolute;inset:0 auto auto 0;width:100%;pointer-events:none}
.reading-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.reading-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin:0 0 21px;padding:0 0 13px;border-bottom:1px solid #b7c4d321}
.reading-tools[hidden],.reading-tools button[hidden]{display:none}
.reading-status{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.4;color:#b4c2d3}
.reading-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#e1c68c;box-shadow:0 0 8px #e1c68c55}
.reading-tools.is-paused .reading-dot{background:#8fa2b8;box-shadow:none}
.reading-tools.is-complete .reading-dot{background:#b9d6a1;box-shadow:none}
.reading-tool-buttons{display:flex;align-items:center;gap:6px;flex-shrink:0}
.reading-tool-buttons button{border:1px solid transparent;border-radius:6px;padding:7px 10px;min-height:34px;background:transparent;color:#c0cbd8;font-size:11px;font-weight:600}
.reading-tool-buttons button:hover{background:#ceddf00d;color:#fff}
.reading-tool-buttons .reading-show-all{border-color:#d4bc8347;color:#eddaa8;background:#d4bc8309}
.reading-tool-buttons .reading-show-all:hover{background:#d4bc831a;border-color:#d4bc837d}
.reading-settings{display:flex;align-items:center;gap:20px;margin-top:22px;padding:26px 30px;background:linear-gradient(110deg,#202d3e,#192434);border:1px solid #c8b28138}
.reading-settings-icon{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:12px;background:#d4bc8310;border:1px solid #d4bc832d;color:#e6cd94}
.reading-settings-icon svg{width:25px;height:25px}
.reading-settings-copy{flex:1;min-width:0}
.reading-settings-copy h2{margin:0 0 6px;font-size:17px;font-weight:650;color:#f0e3c5}
.reading-settings-copy p{margin:0;max-width:590px;font-size:12px;color:#c0ceda;line-height:1.7}
.reading-settings-copy small{display:block;margin-top:6px;font-size:11px;color:#9dadc2;line-height:1.6}
.reading-switch{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:48px;min-width:91px;padding:6px 0 6px 10px;border:0;background:transparent;color:#e5d5b2;font-size:12px;font-weight:650}
.reading-switch:disabled{cursor:wait;opacity:.6}
.reading-switch-track{position:relative;display:block;width:44px;height:26px;border-radius:20px;border:1px solid #6a778c;background:#354156;transition:background .18s,border-color .18s}
.reading-switch-track>span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#b2bfce;transition:transform .18s,background .18s}
.reading-switch[aria-checked=true] .reading-switch-track{background:#e0c68c;border-color:#e0c68c;box-shadow:0 0 12px #e0c68c16}
.reading-switch[aria-checked=true] .reading-switch-track>span{transform:translateX(18px);background:#202b3a}
.reading-save-state{display:block;font-size:11px;color:#c9e1b5;margin-top:9px}
.reading-save-state.is-error{color:#f2b7ad}
.reading-profile-link{display:grid;place-items:center;width:31px;min-height:31px;border:1px solid #64718866;border-radius:7px;background:transparent;color:#d0d8e1}
.reading-profile-link svg{width:16px;height:16px}
@media(max-width:600px){.reading-settings{padding:20px;gap:14px;flex-wrap:wrap}.reading-settings-icon{display:none}.reading-settings-copy{flex-basis:calc(100% - 110px)}.reading-settings-copy h2{font-size:16px}.reading-switch{min-width:84px}.reading-tools{gap:5px;flex-wrap:wrap}.reading-status{font-size:10px}.reading-tool-buttons{gap:0}.reading-tool-buttons button{padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.reading-switch-track,.reading-switch-track>span{transition:none}}

/* Stages reserve space while the next title, explanation or case unfolds. */
.reading-group-pending{opacity:0}
.reading-cursor{display:inline-block;width:4px;height:4px;margin-left:5px;vertical-align:middle;border-radius:50%;background:#e3cc96;box-shadow:0 0 6px #e3cc9626;animation:reading-breathe 1.8s ease-in-out infinite}
.reading-tools.is-paused~* .reading-cursor,.lesson-card:has(.reading-tools.is-paused) .reading-cursor{animation-play-state:paused}
@keyframes reading-breathe{0%,100%{opacity:.5;transform:scale(.8)}50%{opacity:.9;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.reading-cursor{animation:none}}

/* Pace controls belong to the player's private reading preference. */
.reading-settings{flex-wrap:wrap}
.reading-pace-form{flex:1 0 calc(100% - 65px);margin-left:65px;min-width:0;border-top:1px solid #c8b28124;padding-top:20px}
.reading-pace-form fieldset{margin:0;padding:0;border:0;min-width:0}
.reading-pace-form legend{padding:0;margin-bottom:14px;font-size:12px;font-weight:650;color:#eee1c4}
.reading-pace-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;max-width:650px}
.reading-pace-field{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;color:#c8d3dd}
.reading-pace-field input{width:80px;flex:0 0 80px;min-height:42px;padding:9px 10px;border-radius:7px;border:1px solid #9aafc342;background:#111c2a;color:#f0e3c5;font:inherit;font-variant-numeric:tabular-nums;color-scheme:dark}
.reading-pace-field input:focus-visible{outline:2px solid #d4bc83;outline-offset:3px}
.reading-pace-hint{max-width:650px;margin:16px 0 0;color:#aab9ca;font-size:11px;line-height:1.7}
.reading-pace-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.reading-pace-actions .button{font-size:12px;min-height:42px}
.reading-pace-form fieldset:disabled{opacity:.65}
@media(max-width:600px){.reading-pace-form{margin-left:0;flex-basis:100%}.reading-pace-fields{grid-template-columns:1fr;gap:12px}.reading-pace-actions{gap:8px}.reading-pace-actions .button{padding:11px 12px;flex:1;white-space:normal}}
