:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;font-family:Tahoma,Noto Sans Arabic,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:0}button,summary{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}button:focus-visible,summary:focus-visible,a:focus-visible{outline:4px solid var(--focus);outline-offset:4px}.app{--ink:#171a1f;--muted:#555d66;--paper:#fffdf8;--canvas:#f5f0e4;--line:#c9c1b2;--accent:#086d74;--accent-ink:#fff;--soft:#d9efed;--focus:#f0a500;--speech-highlight:#ffd84d;--speech-highlight-ink:#111;background:var(--canvas);color:var(--ink);min-height:100vh}.theme-dark{--ink:#fff;--muted:#d8dde1;--paper:#101419;--canvas:#050709;--line:#68737b;--accent:#6ce5e1;--accent-ink:#071012;--soft:#143c3c;--focus:#ffd95c;--speech-highlight:#ffe46b;--speech-highlight-ink:#080808}.theme-yellow{--ink:#ffe867;--muted:#f6ecb8;--paper:#050505;--canvas:#000;--line:#7c7027;--accent:#ffe867;--accent-ink:#000;--soft:#332f0d;--focus:#fff;--speech-highlight:#fff;--speech-highlight-ink:#000}.skip-link{inset-inline-start:1rem;z-index:100;background:var(--paper);color:var(--ink);padding:1rem;position:fixed;top:-10rem}.skip-link:focus{top:1rem}.topbar{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:92px;padding:1rem clamp(1rem,4vw,3.5rem);display:flex}.identity{align-items:center;gap:.9rem;min-width:0;display:flex}.identity p{color:var(--muted);margin:0 0 .25rem;font-size:.9rem;font-weight:700}.identity h1{margin:0;font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.4}.page-badge{background:var(--accent);color:var(--accent-ink);border-radius:1rem;flex:0 0 3.75rem;justify-content:center;align-items:center;height:3.75rem;font-weight:900;display:flex}.primary,.secondary{border-radius:1rem;min-height:3.25rem;padding:.75rem 1rem;font-weight:900}.primary{background:var(--accent);border:2px solid var(--accent);color:var(--accent-ink)}.secondary{background:var(--paper);border:2px solid var(--line);color:var(--ink)}.danger{border-color:#b33a32}.settings-panel{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:1.4rem clamp(1rem,5vw,5rem);display:grid}.segmented-control{border:0;min-width:0;margin:0;padding:0}.segmented-control legend{margin-bottom:.55rem;font-weight:900}.segmented-options{background:var(--canvas);border:1px solid var(--line);border-radius:.9rem;gap:.25rem;padding:.3rem;display:flex;overflow-x:auto}.segmented-options button{color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:.7rem;flex:1;min-width:3rem;min-height:2.75rem;padding:.5rem}.segmented-options button.is-selected{background:var(--accent);color:var(--accent-ink);font-weight:900}.mode-tabs{justify-content:center;gap:.5rem;padding:1rem 1rem .25rem;display:flex;overflow-x:auto}.mode-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:2px solid #0000;border-radius:.85rem;min-height:3rem;padding:.55rem .9rem;font-weight:900}.mode-tabs button.is-active{background:var(--soft);border-color:var(--accent);color:var(--ink)}main{max-width:72rem;min-height:calc(100vh - 15rem);margin:0 auto;padding:clamp(1rem,4vw,2.75rem)}.reading-card{background:var(--paper);border:1px solid var(--line);border-radius:1.75rem;max-width:58rem;margin:0 auto;padding:clamp(1.5rem,6vw,4.25rem);box-shadow:0 1rem 3rem #141a1e14}.focus-card{justify-content:center;align-items:center;min-height:min(48vh,27rem);display:flex}.arabic-reader{font-family:Noto Naskh Arabic,Traditional Arabic,Tahoma,serif;font-size:var(--reader-size);font-weight:700;line-height:var(--reader-leading);max-width:var(--reader-measure);overflow-wrap:normal;text-align:right;word-spacing:var(--reader-word-spacing);margin-inline:auto}.word-row{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.12em .24em;display:flex}.word-row.is-static{justify-content:flex-start}.word-button{color:var(--ink);font:inherit;background:0 0;border:0;border-radius:.6rem;padding:.02em .05em .08em}.word-button:hover,.word-button:focus-visible{background:var(--soft)}.word-token{color:var(--ink);border:2px solid #0000;border-radius:.45em;padding:0 .08em .06em;display:inline-block}.word-button.is-speaking,.word-token.is-speaking{background:var(--speech-highlight);border-color:var(--speech-highlight-ink);box-shadow:0 0 0 .12em var(--speech-highlight);color:var(--speech-highlight-ink);text-underline-offset:.14em;font-weight:900;text-decoration:underline;text-decoration-thickness:.08em}.progress-text{color:var(--muted);max-width:58rem;margin:0 auto .8rem;font-weight:900}.listen-row,.centered-action{justify-content:center;margin:1.25rem auto;display:flex}.phrase-navigation,.page-navigation{grid-template-columns:1fr 1fr;gap:.75rem;max-width:40rem;margin:1.5rem auto 0;display:grid}.section-heading{color:var(--ink);text-align:center;margin:0 0 1.5rem;font-size:clamp(1.7rem,4vw,2.5rem)}.full-text{flex-direction:column;gap:.5rem;display:flex}.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.vocabulary-card{background:var(--canvas);border:2px solid var(--line);color:var(--ink);text-align:right;border-radius:1rem;flex-direction:column;min-height:10rem;padding:1.25rem;display:flex}.vocabulary-card strong{color:var(--ink);font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.7}.vocabulary-card span{font-size:clamp(1.1rem,3vw,1.5rem);line-height:1.8}.vocabulary-card small{color:var(--muted);margin-top:auto;padding-top:.75rem}.illustration-gallery{flex-direction:column;align-items:center;gap:1rem;max-width:58rem;margin:1.5rem auto;display:flex}.lesson-illustration{background:var(--paper);border:1px solid var(--line);object-fit:contain;border-radius:1rem;max-width:100%;height:auto;display:block}.religious-note,.capability-note{background:var(--soft);border-inline-start:.35rem solid var(--accent);border-radius:.5rem;max-width:58rem;margin:1rem auto;padding:.8rem 1rem;font-weight:700}.religious-note p{margin:.25rem 0;line-height:1.8}.speech-toolbar{background:var(--paper);border:2px solid var(--accent);z-index:10;border-radius:1rem;justify-content:center;align-items:center;gap:.75rem;max-width:40rem;margin:1rem auto;padding:.75rem;display:flex;position:sticky;bottom:1rem}.voice-name{color:var(--muted);font-size:.85rem;font-weight:800}.speech-error{color:#fff;background:#7e1717;border:3px solid #fff;border-radius:.75rem;max-width:58rem;margin:1rem auto;padding:1rem;font-weight:900}.provenance{background:var(--paper);border:1px solid var(--line);border-radius:1rem;max-width:58rem;margin:2rem auto 0;padding:1rem}.provenance summary{cursor:pointer;font-weight:900}.gate-screen,.status-screen{justify-content:center;align-items:center;display:flex}.gate-screen .reading-card{text-align:center}.gate-screen h1{font-size:clamp(1.6rem,5vw,2.6rem);line-height:1.6}.gate-screen p{font-size:1.1rem;line-height:1.9}.gate-label{color:var(--accent);font-weight:900}.update-notice{background:var(--paper);border:3px solid var(--focus);justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.update-notice p{margin:0;font-weight:800}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;max-width:72rem;margin:0 auto;padding:1.25rem clamp(1rem,4vw,2.75rem);font-size:.8rem;font-weight:700;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:720px){.topbar{flex-direction:column;align-items:stretch}.topbar>.primary{width:100%}.settings-panel{grid-template-columns:1fr}.segmented-options{flex-wrap:wrap;overflow-x:visible}.segmented-options button{white-space:normal;flex:calc(33.333% - .5rem);min-width:0}.mode-tabs{justify-content:flex-start}main{padding:1rem .85rem 2rem}.reading-card{border-radius:1.25rem;padding:1.5rem 1rem}.focus-card{min-height:42vh}.vocabulary-grid{grid-template-columns:1fr}.speech-toolbar,.update-notice{flex-direction:column;align-items:stretch}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
