.lantern-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}
.lantern-heading h1{margin:3px 0;font-family:Fredoka,system-ui,sans-serif;font-size:clamp(1.35rem,2vw,2rem)}
.lantern-heading p{margin:0;color:#526c61;font-size:.9rem}
.lantern-heading strong{white-space:nowrap;background:#fff2c7;color:#69500b;padding:8px 12px;border-radius:10px}
.lantern-host{display:block;flex:1 1 auto;min-height:0;width:100%;border:2px solid #c8ded3;border-radius:18px;background:#143d2d;color:#fff;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.lantern-status{display:flex;min-height:100%;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:24px;text-align:center;color:#fff}
.lantern-status p{margin:0;max-width:32ch;line-height:1.5}.lantern-status .btn{margin-top:6px}
.lantern-word-list{background:#f6f0df;border-radius:14px;padding:14px 18px;margin-top:10px}
.lantern-word-list h2{font-size:1rem;margin:0 0 4px}.lantern-word-list p{margin:0 0 8px}
body[data-view="lantern"] .main{overflow:hidden}
@media(max-width:640px){.lantern-heading p{display:none}.lantern-heading h1{font-size:1.25rem}.lantern-heading strong{font-size:.8rem;padding:6px 8px}.lantern-frame{border-radius:10px}}
.story-question{gap:14px}
.reader-tools{display:flex;justify-content:space-between;align-items:center;gap:10px}
.reading-status{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:#66745f;margin:0 0 12px}
.reading-status.complete{color:#28734e}
.reading-status .icon{width:17px;height:17px;flex:none}
.reader-tools .link-btn{font-size:.85rem}
@media(max-width:640px){.reader-tools .link-btn{font-size:.74rem}}
.story-question h1{margin:0}
.story-prompt{font-size:clamp(1.05rem,2vw,1.3rem);font-weight:700;line-height:1.4;margin:0}
.story-options{display:grid;gap:9px;min-height:0;overflow:auto}
.story-option{background:#fff;border:2px solid #d0dfd2;border-radius:12px;padding:12px 16px;text-align:left;color:#25483f;font:inherit;font-weight:650;cursor:pointer}
.story-option.selected{border-color:#d59f27;background:#fff4d2}
.story-option.correct{border-color:#388759;background:#e1f2e5}
.story-explanation{background:#e9f5e9;border:1px solid #9ccba5;border-radius:12px;padding:12px 15px;line-height:1.4;overflow:auto}
.story-explanation p{margin:6px 0 0}
.story-question-actions{margin-top:auto}
@media(max-width:640px){.story-question{padding:14px;gap:8px}.story-option{padding:10px 12px}.story-explanation{font-size:.86rem}}
.high-contrast .panel,.high-contrast .nook-banner,.high-contrast .book-card,.high-contrast .reader,.high-contrast .story-question{border-color:#111;background:#fff;color:#111}
.high-contrast .story-option,.high-contrast .lantern-word-list{border-color:#111;background:#fff;color:#111}
.high-contrast .story-option.selected{background:#ffdb5c;border-color:#111}
.high-contrast .story-option.correct{background:#b8efc4;border-color:#111}
.high-contrast .btn.gold,.high-contrast .primary{background:#111;color:#fff}
button:focus-visible,.btn:focus-visible,.link-btn:focus-visible,.choice:focus-visible,.tile:focus-visible{outline:3px solid #ffb703;outline-offset:3px}
