html.reading-lesson{scroll-behavior:auto}
.reading-lesson .top{position:relative}
.lesson-page{--read-accent:#236d58;--read-soft:#eaf3ec;max-width:1040px;padding:36px 24px 56px}
.reading-header-link{font-size:14px;font-weight:700;margin-left:auto;white-space:nowrap}
.lesson-intro{margin-bottom:26px}.lesson-intro h1{font-size:clamp(32px,5vw,46px);line-height:1.15;margin:6px 0 12px}.lesson-intro p{margin:0;color:var(--muted);font-size:17px}.lesson-intro .lesson-eyebrow{color:var(--read-accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lesson-page button,.lesson-page select{font-family:inherit;cursor:pointer;color:var(--text);min-height:46px;touch-action:manipulation}
.lesson-page button:disabled{opacity:.4;cursor:default}.lesson-page button:focus-visible,.lesson-page select:focus-visible{outline:3px solid #519581;outline-offset:3px}.lesson-page [hidden]{display:none!important}
.lesson-tabs{display:flex;gap:6px;padding:5px;background:#ece7db;border-radius:15px;margin-bottom:16px;width:fit-content}.lesson-tabs button{display:flex;align-items:center;gap:10px;border:0;border-radius:11px;background:transparent;padding:10px 20px;font-size:14px;font-weight:800;color:var(--muted)}.lesson-tabs button[aria-selected=true]{background:#fffdf8;color:var(--read-accent);box-shadow:0 2px 7px #3331}.lesson-tabs button span{font-size:16px}
.lesson-panel{padding:26px;background:#fffdf8;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 36px -30px #465541}
.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-toolbar h2{margin:0;font-size:24px;line-height:1.3}.panel-toolbar p{margin:5px 0 0;font-size:14px;color:var(--muted)}
.focus-toggle,.focus-exit{display:flex;align-items:center;justify-content:center;gap:8px;background:#fffdf8;border:1px solid var(--line);border-radius:11px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.25}.focus-toggle{flex-shrink:0}.focus-toggle:hover,.focus-exit:hover{background:#f2f2e9}
.field-caption{display:block;font-size:12px;font-weight:800;line-height:1.4;color:var(--muted);margin-bottom:7px}.alphabet{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px;margin-bottom:22px}.alphabet button{border:1px solid var(--line);border-radius:9px;background:#fffdf8;padding:6px 0;font-size:20px;font-weight:800;line-height:1.3}.alphabet button:hover{background:var(--read-soft);border-color:#94b6a7}.alphabet button[aria-pressed=true]{background:var(--read-accent);border-color:var(--read-accent);color:#fff}
.focus-bar{display:none}
.reading-board{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:#f0f5ec;border:1px solid #dce6d6;border-radius:16px;min-height:230px;overflow:hidden;padding:18px 16px}
.board-caption{font-size:13px;color:#526357;text-align:center;line-height:1.4}
.reading-card-text{display:flex;align-items:center;justify-content:center;width:100%;flex:1;min-height:150px;font-size:clamp(52px,10vw,116px);color:#203e34;line-height:1.12;padding:16px 0}
.reading-glyphs{display:inline-grid;grid-auto-flow:column;grid-auto-columns:.72em;font-family:"Courier New",Courier,monospace;font-weight:700;line-height:1.12;letter-spacing:0;font-kerning:none}.reading-glyph{display:block;text-align:center}
.empty-help{font-size:14px;text-align:center;color:var(--muted);max-width:400px;margin:0}
.syllable-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.lesson-action{display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--read-accent);border-radius:13px;background:var(--read-accent);color:#fff!important;min-height:58px!important;padding:14px 18px;font-size:18px;font-weight:800;line-height:1.25}.lesson-action:hover:not(:disabled){background:#195542}.any-action{background:var(--read-soft);color:var(--read-accent)!important;border-color:#c2d8ca}.any-action:hover{background:#dceade!important}.lesson-page kbd{font-family:inherit;font-size:12px;font-weight:700;line-height:1.2;padding:4px 7px;border-radius:6px;border:1px solid currentColor;opacity:.75;white-space:nowrap}.lesson-action kbd{font-size:15px}.word-action{width:100%;margin-top:16px}.keyboard-note{margin:14px 0 0;text-align:center;font-size:12px;color:var(--muted);line-height:1.65}
.word-settings{display:flex;align-items:flex-end;gap:24px;margin:0 0 18px}.minutes-field select{min-width:80px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;font-size:17px;font-weight:800;line-height:1.2}.length-choices{display:flex;gap:6px}.length-choices button{width:48px;border:1px solid var(--line);background:#fffdf8;border-radius:10px;font-size:17px;font-weight:800;padding:6px}.length-choices button[aria-pressed=true]{background:var(--read-accent);border-color:var(--read-accent);color:#fff}.word-tally{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;min-height:46px;white-space:nowrap}.word-tally strong{font-size:25px;font-weight:800;color:var(--read-accent);font-variant-numeric:tabular-nums}.settings-notice{margin:0 0 12px;color:#7b542a;background:#fff2dc;padding:7px 10px;border-radius:8px;font-size:13px;line-height:1.4}
.word-board{padding-bottom:0;background:#f0f4f9;border-color:#d9e1ec}.word-board-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:13px;line-height:1.4}#reading-clock{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.word-board .reading-card-text{color:#223955}.timer-track{height:4px;flex:none;background:#d9e2e7;width:calc(100% + 32px)}#timer-fill{height:100%;width:100%;background:#618773;transition:width .15s linear}.round-result{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 8px;text-align:center;color:#223955}.round-result p{font-size:16px;margin:0}.round-result strong{font-size:clamp(64px,10vw,104px);line-height:1.2;font-variant-numeric:tabular-nums}.round-result div>span{font-size:24px;font-weight:800}.round-result #result-detail{font-size:13px;color:var(--muted)}
body.lesson-focused{overflow:hidden}body.lesson-focused header.top,body.lesson-focused footer.foot,body.lesson-focused .lesson-intro,body.lesson-focused .lesson-tabs{visibility:hidden}
.lesson-panel.is-focus{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;max-width:none;box-sizing:border-box;border:0;border-radius:0;box-shadow:none;padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#fffdf8;overflow:hidden;gap:12px}
.is-focus .panel-toolbar,.is-focus .letter-picker,.is-focus .keyboard-note{display:none}.is-focus .focus-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:46px;color:var(--muted);font-size:13px;font-weight:700}.is-focus .focus-exit{font-size:12px;padding:9px 12px;max-width:300px}.is-focus .reading-board{flex:1;min-height:0;border:0;border-radius:0;background:transparent;padding:0}.is-focus .reading-card-text{min-height:0;font-size:clamp(44px,min(19vw,32dvh),240px);padding:12px 0}.is-focus .board-caption{font-size:12px;opacity:.8}.is-focus .syllable-actions{flex:none;margin:0;max-width:880px;width:100%;align-self:center}.is-focus .lesson-action{min-height:62px!important;font-size:19px}.is-focus .word-settings{flex:none;margin:0;gap:20px}.is-focus .settings-notice{flex:none;margin:0}.is-focus .word-action{flex:none;align-self:center;max-width:880px;margin:0}.is-focus .word-board-top{flex:none}.is-focus .timer-track{width:100%;height:3px}.is-focus .round-result{padding:0}.is-focus .round-result strong{font-size:clamp(64px,22dvh,180px)}
@media(max-width:700px){.lesson-page{padding:24px 16px 40px}.lesson-panel{padding:18px}.panel-toolbar{gap:12px;align-items:flex-start}.panel-toolbar h2{font-size:21px}.panel-toolbar p{font-size:12px}.focus-toggle{font-size:12px;padding:9px 10px}.alphabet{grid-template-columns:repeat(7,minmax(0,1fr))}.lesson-action{font-size:16px;gap:10px;padding:12px 10px}.lesson-tabs{width:100%}.lesson-tabs button{flex:1;justify-content:center;padding:9px 12px}.lesson-tabs button span{font-size:14px}.word-settings{gap:14px;flex-wrap:wrap}.length-choices button{width:42px}.word-tally{font-size:12px;gap:7px}.lesson-panel.is-focus{padding:12px 16px 16px;gap:10px}.is-focus .lesson-action{font-size:17px;min-height:58px!important}.is-focus .word-settings{gap:14px}.is-focus .focus-bar>span{font-size:12px}.is-focus .focus-exit{max-width:230px}.is-focus .focus-exit kbd{display:none}}
@media(max-width:400px){.top{padding-left:12px;padding-right:12px}.reading-header-link{font-size:12px}.lesson-page{padding-left:12px;padding-right:12px}.lesson-panel{padding:14px}.panel-toolbar{gap:8px}.focus-toggle{max-width:108px}.alphabet{gap:5px}.syllable-actions{gap:8px}.lesson-action{font-size:14px;gap:8px}.lesson-page kbd{padding:3px 5px}.word-settings{gap:12px}.minutes-field select{min-width:60px}.length-choices{gap:5px}.length-choices button{width:37px}.word-tally{width:100%;justify-content:flex-end;min-height:26px;margin-top:-6px}.lesson-panel.is-focus{padding:10px 12px 12px;gap:8px}.is-focus .focus-bar>span{display:none}.is-focus .focus-bar{justify-content:flex-end}.is-focus .focus-exit{max-width:100%;min-height:42px;font-size:11px}.is-focus .word-tally{width:auto;min-height:24px;font-size:11px}.is-focus .word-settings{column-gap:12px;row-gap:8px}.is-focus .word-tally strong{font-size:20px}.is-focus .lesson-action{font-size:15px;gap:8px;min-height:54px!important}.is-focus .word-board-top{font-size:11px}}
@media(max-height:500px){.lesson-panel.is-focus{padding:8px 16px;gap:6px}.is-focus .focus-bar{min-height:38px}.is-focus .focus-exit{min-height:38px;padding:6px 10px}.is-focus .reading-card-text{font-size:clamp(38px,min(17vw,25dvh),140px);padding:4px 0}.is-focus .lesson-action{min-height:46px!important;padding:8px 14px;font-size:16px}.is-focus .field-caption{margin-bottom:3px;font-size:11px}.is-focus .word-settings{gap:18px;align-items:center}.is-focus .minutes-field,.is-focus .length-field{display:flex;align-items:center;gap:8px}.is-focus .field-caption{margin:0}.is-focus .word-settings select,.is-focus .length-choices button{min-height:38px}.is-focus .word-tally{min-height:38px}.is-focus #reading-clock{font-size:22px}.is-focus .settings-notice{font-size:11px;padding:4px 8px}.is-focus .round-result strong{font-size:64px}.is-focus .round-result p{font-size:13px}}
@media(prefers-reduced-motion:reduce){#timer-fill{transition:none}}
.lesson-sound-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;flex:none}.sound-caption{font-size:12px;font-weight:700;color:var(--muted);margin-right:2px}.sound-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px!important;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}.sound-toggle[aria-pressed=true]{background:#edf4ee;border-color:#c7d9cc;color:var(--read-accent)}.sound-toggle:hover{border-color:#94b6a7}.sound-toggle .sound-state{font-size:10px;opacity:.8}.sound-toggle[aria-pressed=true] .sound-cross,.sound-toggle[aria-pressed=false] .sound-waves{display:none}.is-focus .focus-bar{order:-2}.is-focus .lesson-sound-controls{order:-1;margin:0;gap:8px}.is-focus .sound-toggle{min-height:38px!important}
@media(max-width:400px){.lesson-sound-controls{gap:6px}.sound-toggle{padding:7px 9px;gap:6px}.sound-caption{font-size:11px}.is-focus .sound-toggle{font-size:11px;min-height:38px!important}}
@media(max-height:500px){.is-focus .sound-toggle{min-height:34px!important;padding:6px 10px}.is-focus .sound-caption{font-size:11px}.is-focus .reading-card-text{font-size:clamp(38px,min(17vw,23dvh),132px)}}
.card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex:none}.card-toolbar .board-caption{text-align:right}.card-back{display:flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:40px!important;padding:7px 11px;border:1px solid #c7d9cc;border-radius:9px;background:#fffdf8;font-size:13px;font-weight:700;line-height:1.2;color:var(--read-accent)!important}.card-back:hover:not(:disabled){background:var(--read-soft)}.word-board-top #round-caption{flex:1}.is-focus .card-back{min-height:40px!important}.is-focus .card-toolbar{min-height:40px}
@media(max-width:400px){.card-back{padding:7px 8px;font-size:12px}.card-toolbar{gap:8px}.card-toolbar .board-caption{font-size:11px}.word-board-top{gap:8px}.word-board-top #round-caption{font-size:11px}.word-board-top #reading-clock{font-size:23px}.is-focus .card-back{min-height:38px!important}}
@media(max-height:500px){.is-focus .card-back,.is-focus .card-toolbar{min-height:34px!important}.is-focus .card-back{padding:6px 10px}}
