/* Dark reading-first interface. No decorative glow or bright surfaces. */
:root,html[data-theme=dark]{--bg:#141819;--panel:#1b2022;--panel2:#242b2d;--card:#1b2022;--line:#343d40;--text:#e0e5e3;--muted:#adb8b5;--cyan:#a2c3b2;--blue:#8daaa0;background:var(--bg);color:var(--text);color-scheme:dark}body{background:var(--bg);font-size:15px;line-height:1.9;min-height:100vh}header{height:68px;padding:12px max(22px,calc((100vw - 1040px)/2));background:#141819f7;backdrop-filter:none;border-bottom:1px solid #2b3335;gap:14px}.wordmark{font-size:20px;letter-spacing:-.3px;gap:9px}.brandmark{width:29px;height:29px;font-size:21px;border-radius:8px;background:#2d3934;color:#bdd4c7;box-shadow:none;border:1px solid #44564d}.wordmark small{font-size:8px;letter-spacing:1.6px;color:#a3afa9}.head-actions{gap:3px;align-items:center}.head-actions .iconbutton,.head-actions #account-shortcut{background:none;border:0;border-radius:7px;min-height:44px;min-width:42px;padding:7px 10px;font-size:12px;color:var(--muted)}.head-actions .iconbutton:hover{color:var(--text);background:#ffffff07}#language{border-inline-start:1px solid #394342;border-radius:0;padding-inline-start:13px}main{max-width:1040px;padding:30px 24px 116px;min-height:calc(100vh - 68px)}h1{font-size:clamp(26px,3vw,35px);line-height:1.55;letter-spacing:-.35px;margin-bottom:16px}h2{font-size:21px;line-height:1.7}h3{font-size:17px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.small-label{color:var(--muted);font-size:11px}.primary,.secondary,.iconbutton{border-radius:9px;box-shadow:none;min-height:44px;font-size:14px;line-height:1.7;padding:10px 17px}.primary{background:#a7c1b3;border:1px solid #a7c1b3;color:#18241d;font-weight:650;gap:10px}.primary:hover{background:#bdd0c4}.secondary,.iconbutton{background:transparent;border:1px solid #46514e;color:var(--text);font-weight:500}.secondary:hover,.iconbutton:hover{background:#ffffff07}.back{color:var(--muted);font-size:13px;min-height:44px}.back:hover{color:var(--text)}.back .ui-glyph{font-size:20px}.toolbar{margin-bottom:20px}.pill{border-radius:6px;background:#242d2a;color:#bbc9c2;font-size:11px;padding:4px 9px}.button-row{gap:10px}.button-row>*{flex:initial}.button-row>.primary{flex:1}.continue-banner{background:#202a25;border:1px solid #45554b;box-shadow:none;border-radius:12px;padding:22px 24px;gap:24px;margin-bottom:23px}.continue-banner h1{font-size:23px;line-height:1.6;margin:8px 0}.continue-banner .compact{color:#bdcec4;font-size:12px}.continue-banner .primary{min-width:120px}.total-progress{padding:0 0 20px}.total-progress .row{font-size:12px;color:var(--muted)}progress,.step-track{height:4px;background:#303b36;border-radius:4px}progress::-webkit-progress-bar{background:#303b36}progress::-webkit-progress-value{background:#9dbbab}progress::-moz-progress-bar{background:#9dbbab}.level{background:transparent;border:0;border-bottom:1px solid #343d3b;border-radius:0;box-shadow:none;margin-bottom:0}.level[open]{border-color:#4d5c54;background:#1a211e}.level summary,.locked-head{padding:19px 14px;gap:16px}.level-badge{width:40px;height:40px;border-radius:8px;background:#28342d;border:0;color:#c3d4ca;font-size:13px}.level[open] .level-badge{background:#344a3c;color:#d4e2d9}.level-copy h3{font-size:16px;font-weight:600;line-height:1.8}.level-copy p{font-size:12px;color:var(--muted);margin-top:3px}.level-count{font-size:12px;color:#b4c3ba}.level.locked{background:transparent;color:#a8b1ac;opacity:1}.locked .level-badge{background:#252c28;color:#a3afa7}.level.locked .level-copy h3{color:#adb7b0}.level.locked .level-count{color:#a4aea8}.chevron{font-size:18px;color:#a4baab}.lesson-list{padding:0 18px 10px;column-gap:24px}.lesson-item{border-color:#303a34}.lesson-item button{font-size:14px;padding:14px 0;min-height:48px;gap:12px}.lesson-name{line-height:1.8}.lesson-index{width:27px;height:27px;border-radius:6px;background:#29372e;color:#b4c8ba;font-size:11px}.lesson-item .done .lesson-index{background:#2a4133;color:#c0d8c7}.lesson-item small{font-size:10px;color:#a1ada5}.lesson-item button:disabled{color:#a5afa8;opacity:.8}.updated{display:none!important}.section-head{margin:25px 0 14px}.section-head h2{font-size:21px}.nav{position:fixed;bottom:0;left:0;right:0;transform:none;margin:auto;width:100%;max-width:none;border:0;border-top:1px solid #333d39;border-radius:0;padding:6px max(10px,calc((100vw - 660px)/2)) calc(6px + env(safe-area-inset-bottom));background:#181e1bf7;backdrop-filter:none;box-shadow:none;gap:3px;display:flex}.nav button{position:relative;min-height:54px;padding:6px 5px;font-size:11px;color:#acb8af;border-radius:0;gap:5px}.nav button[aria-current=page]{background:none;color:#d1e0d5}.nav button[aria-current=page]:before{content:'';position:absolute;top:-6px;left:28%;right:28%;height:2px;background:#b6cbbd}.nav .ui-glyph{font-size:20px;line-height:1.2}.offline{font-size:11px;color:var(--muted)}.offline:before{background:#9dbbab;box-shadow:none}.reading{max-width:710px;padding-top:0}.reading-card{background:none;border:0;box-shadow:none;border-radius:0;padding:12px 0 24px;margin-bottom:6px}.reading-card h1{font-size:27px;line-height:1.65;margin-bottom:18px}.reading-card p{font-size:17px;line-height:2.1;color:#d2dbd5;max-width:66ch}.reading-card .small-label{font-size:10px;margin-bottom:14px}.lesson-title{font-size:13px;color:var(--muted)}.step-track{margin:12px 0 18px}.step-track span{background:#9dbbab;height:4px}.term-inline{color:#b2cdbb;border-color:#75917c;background:none}.term-inline:hover{background:#2a3a2e}.reading-figure{margin:18px 0 24px}.reading-figure img,.image-open{border-radius:10px;border:0}.reading-figure figcaption{font-size:12px;line-height:1.8;color:var(--muted)}.reference-card{padding:22px;border-radius:11px;background:var(--panel);border:1px solid var(--line);box-shadow:none}.reference-card p,.article-body p{color:#ccd7cf}.reference-card h2{font-size:21px}.search,.topic-filter{min-height:46px;padding:10px 14px;font-size:14px;border:1px solid #434e47;border-radius:9px;background:#1b221e;color:var(--text)}.search::placeholder{color:#abb6af}.article-row{border:0;border-bottom:1px solid #343e37;border-radius:0;background:none;padding:17px 4px;color:var(--text);margin:0;min-height:54px;font-size:14px}.article-row:hover{background:#ffffff04}.term-head{color:#c0d2c5}.term-head b{font-size:17px}.term-head bdi{color:#abc2b1;font-size:14px}.source-list,.source-list summary{color:var(--muted);font-size:12px}.source-list{border-color:var(--line)}.reference-card .compact{font-size:12px}.settings{gap:0}.settings>section{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:22px 0}.settings h2{font-size:19px}.settings>section p{font-size:14px;color:var(--muted)}.settings .button-row{margin-top:14px}.font-large .reading-card p{font-size:21px}.option{background:#1d2520;border:1px solid #465449;border-radius:10px;font-size:15px;min-height:56px;padding:15px;line-height:1.9;gap:12px}.option span{background:transparent;border:1px solid #627368;color:#c3d4c8;width:24px;height:24px}.option:hover:enabled{background:#28332b}.option.selected{background:#2a3b30;border-color:#a8c5b2}.option.correct{background:#263f30;border-color:#91bea0}.option.incorrect{background:#402f32;border-color:#c6979d}.feedback{background:#253b2c;color:#d0e1d3;border:1px solid #4b6953;border-radius:10px;padding:17px 18px}.feedback.wrong{background:#3b2d31;border-color:#805d66;color:#e4cdd2}.feedback p{font-size:14px}.result{background:#202b24;border:1px solid #49594c;border-radius:12px;box-shadow:none;padding:30px 24px}.result-mark{width:56px;height:56px;border-radius:50%;background:#344a3c;color:#c5dfcd;font-size:27px}.result p{color:var(--muted)}.hub-grid,.catalog-grid{gap:16px}.hub-card{background:var(--panel);border:1px solid var(--line);border-radius:12px}.hub-card>span{padding:20px;gap:5px}.hub-card b{font-size:23px;color:var(--text)}.hub-card em{font-size:12px;color:#b6cebf}.hub-card small{font-size:12px;color:var(--muted)}.catalog-card{background:#1b211d;border:1px solid #343e37;border-radius:10px}.catalog-card:hover{border-color:#819b88}.catalog-card-name{padding:12px 14px}.catalog-card-name b{font-size:16px;font-weight:600}.catalog-card-name bdi{font-size:12px;color:var(--muted)}.square-photo,.catalog-photo{background:#202823}.catalog-photo{border:1px solid var(--line);border-radius:10px}.catalog-detail .reference-card,.comparison .reference-card{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;margin:20px 0}.fact-list>div{padding:13px 0;border-color:var(--line)}.fact-list dt{font-size:13px;color:var(--muted)}.fact-list dd{font-size:14px;color:#d4dfd7}.comparison-table thead{background:#27342b}.comparison-table th{color:#c4dacb}.comparison-table td{color:#c8d6cb}.comparison-table td,.comparison-table th{border-color:var(--line)}.compare-photos .catalog-photo{border-radius:9px}.checkmark{color:#b4ccbd}.picker-row{border-color:var(--line);font-size:14px}.picker-row small{color:#b3c8ba}.picker-row[aria-checked=true]{background:#2a3b30}.picker-footer{background:#1b241ef5;border-color:var(--line);backdrop-filter:none}.bottom-sheet,.install-dialog{background:#1c2420;border:1px solid #4a5850;box-shadow:0 20px 80px #0005;border-radius:18px 18px 0 0}.bottom-sheet{padding-inline:24px}.bottom-sheet p{font-size:16px;line-height:2}.sheet-grip{background:#56645a}.sheet-backdrop{background:#0b110dcc;backdrop-filter:none}.term-english{color:#bdd4c5;font-size:18px}.image-viewer{background:var(--bg)}.viewer-stage{background:#1b221e}.viewer-toolbar,.viewer-notes{background:#1d2620;border-color:var(--line)}.viewer-notes p{color:#c8d5cd}.hotspot{background:#334f3c;border-color:#d8e6dd;color:white;box-shadow:none}.hotspot[aria-pressed=true]{background:#3d6547;outline-color:#b5d0bd}.hotspot-chip{background:#28392e;border-color:#526959;color:#cfdfd3;border-radius:8px}.hotspot-chip[aria-pressed=true]{background:#47644e;color:white}.beat{background:#202c24;border-color:var(--line)}.foot{background:#344438;color:#bdc9c0}.foot.down{background:#adccb6;color:#16251c}.notice{background:#2b3a30;color:#e0eae3;border:1px solid #5f7665;box-shadow:none;border-radius:10px;bottom:90px;font-size:14px}.landing-hero{grid-template-columns:1.25fr .85fr;gap:42px;padding:24px 0 32px}.landing-copy h1{font-size:clamp(29px,3.5vw,43px);line-height:1.45;letter-spacing:-.025em;margin:14px 0 20px}.landing-lead{font-size:15px;line-height:1.95;color:var(--muted);max-width:580px}.landing-copy .button-row{margin:24px 0 14px}.landing-copy .button-row>.primary{flex:initial}.landing-copy .button-row>.secondary{background:none;border:0;color:#bed2c4;padding-inline:8px;font-size:13px}.landing-copy .compact{font-size:12px}.landing-visual{border:1px solid #3c4740;border-radius:12px;box-shadow:none;background:var(--panel);max-width:420px;margin-inline:auto}.landing-visual figcaption{padding:18px 20px;background:#1c2420}.landing-visual strong{font-size:18px;font-weight:600}.landing-visual p{font-size:13px;color:var(--muted)}.landing-visual .eyebrow{font-size:9px;margin-bottom:6px}.landing-stats{gap:22px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.landing-stats b{font-size:19px;font-weight:600;color:#c3d4c8}.landing-stats span{font-size:11px;gap:4px;color:var(--muted)}.landing-features{gap:26px;margin:20px 0}.landing-features .reference-card{border:0;border-top:1px solid #3a453e;border-radius:0;background:none;padding:22px 0}.landing-features h2{font-size:18px}.landing-features p{font-size:14px;line-height:1.95;color:var(--muted)}.landing-end{border-radius:12px;padding:22px 24px;background:#1c2520;border-color:#3c4b41;margin-top:18px}.landing-end h2{font-size:22px}.landing-end p{font-size:14px;color:var(--muted);margin:0}.account-page{max-width:530px;margin:auto}.account-page>h1{font-size:28px}.account-page .reference-card{border-radius:12px;padding:24px;background:#1b231e;border:1px solid #3c4940;margin-block:20px}.account-page .reference-card h2{font-size:20px}.account-page label{font-size:13px;gap:7px}.account-page input{padding:11px 13px;border-radius:8px;background:#222d25;border-color:#4b5b4f;color:#e0e8e2;min-height:46px;font-size:15px}.auth-tabs{gap:0;border-bottom:1px solid #425046;margin:22px 0}.auth-tabs .primary,.auth-tabs .secondary{background:none;border:0;border-radius:0;color:#b8c6bc;font-size:12px;padding:10px 4px;min-height:44px;box-shadow:none}.auth-tabs .primary{color:#e0e9e2;border-bottom:2px solid #b3ccbd}.account-page form h3{font-size:18px}.google-signin{font-size:14px;background:transparent}.access-badge{color:#c2dccb}.setup-note{background:#26372d;border-color:#90b19c;color:var(--muted)}.install-panel{background:#1b241e;border-color:#3c4c40;border-radius:12px;max-width:992px;margin:20px auto;padding:24px}.install-panel h2{font-size:22px}.install-panel p{font-size:14px;color:var(--muted)}.install-actions>a,.install-actions>button{border-radius:9px;min-height:68px;font-size:13px;padding:13px}.install-download{background:#aac5b5;color:#18291f!important;border:1px solid #aac5b5}.install-dialog{border-radius:14px;background:#1d2620;color:#e0e8e2;border-color:#4d6053}.install-dialog::backdrop{background:#0c130fce;backdrop-filter:none}.install-dialog-head h2{font-size:20px}.install-note{color:#bac9bf;font-size:13px}.install-dialog details{border-color:#46594b}.policy-footer{color:var(--muted);font-size:11px}.policy-footer a{color:var(--muted)}.high-contrast{background:#141819;color:#e9f0eb;--panel:#1b221e;--muted:#c3d0c8;--line:#8da295}.high-contrast p,.high-contrast small{color:#e3ece6!important}.high-contrast .nav{background:#181f1b}.high-contrast .option{border-color:#a3b8a9}.skip{background:#2c4032;color:#e6f1e9}.model-invite{padding:20px;border-radius:10px}.footnote{font-size:12px;color:var(--muted);line-height:1.9;margin-top:22px}body,html,.bottom-sheet,.viewer-notes{scrollbar-width:thin;scrollbar-color:#64766a #19211c}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #b6cfbf;outline-offset:4px}
@media(max-width:760px){.landing-hero{grid-template-columns:1fr;gap:24px;padding:12px 0 22px}.landing-visual{width:100%;max-width:440px;margin:0}.landing-copy h1{font-size:32px;line-height:1.5;max-width:540px}.landing-copy .button-row{gap:8px}.landing-copy .button-row>.primary{flex:initial}.landing-features{grid-template-columns:1fr;gap:0}.landing-end{align-items:stretch;gap:18px}.landing-stats{gap:24px}.landing-lead{font-size:15px}}
@media(max-width:650px){header{height:64px;padding:10px 16px;gap:8px}.wordmark{font-size:17px;gap:7px}.wordmark small{font-size:7px;letter-spacing:1px}.brandmark{width:26px;height:26px;font-size:19px}.head-actions .iconbutton,.head-actions #account-shortcut{font-size:11px;min-width:36px;padding:7px 7px}#install-shortcut{font-size:11px;padding:7px}#language{padding-inline-start:10px}main{padding:22px 18px 108px}.continue-banner{padding:20px;display:block}.continue-banner h1{font-size:21px}.continue-banner .primary{width:100%;margin-top:14px}.nav{bottom:0;width:100%;border-radius:0;padding-inline:7px}.nav button{font-size:10px;min-height:54px}.level summary,.locked-head{padding:17px 7px;gap:12px}.level-copy h3{font-size:15px}.level-copy p{font-size:11px}.level-badge{width:36px;height:36px;font-size:12px}.level-count{font-size:11px}.level.locked .level-copy h3{font-size:15px}.lesson-list{padding:0 12px 7px}.lesson-name{font-size:14px}.reading-card{padding:6px 0 20px;border-radius:0}.reading-card h1{font-size:24px}.reading-card p{font-size:16px;line-height:2.15}.primary,.secondary{font-size:13px;min-height:46px;padding:11px 15px}.reference-card{padding:19px}.reading{padding:0}.reference-card h2{font-size:20px}.bottom-sheet{padding-inline:20px;border-radius:16px 16px 0 0}.hub-card{grid-template-columns:36% 1fr}.hub-card b{font-size:21px}.hub-card>span{padding:16px}.hub-card small{font-size:11px}.hub-card>img{min-height:140px}.catalog-grid{gap:12px}.catalog-card-name{padding:11px}.catalog-card-name b{font-size:15px}.catalog-detail .reference-card,.comparison .reference-card{padding:20px 0}.install-panel{margin:20px 18px;padding:20px}.account-page .reference-card{padding:20px}.account-page>h1{font-size:26px}.landing-end{padding:20px}.settings>section{padding:20px 0}.font-large .reading-card p{font-size:20px}}
@media(max-width:370px){.wordmark small{display:none}header{padding-inline:12px}.wordmark{font-size:16px}.brandmark{width:24px;height:24px}.head-actions{gap:0}.head-actions .iconbutton,.head-actions #account-shortcut{font-size:10px;padding-inline:6px}main{padding-inline:14px}.landing-copy h1{font-size:29px}.landing-stats{gap:17px}.level summary,.locked-head{gap:9px}.level-copy h3{font-size:14px}.nav button{font-size:9px}.nav .ui-glyph{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ui-glyph{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.nav .ui-glyph{width:20px;height:20px}.back .ui-glyph{width:20px;height:20px}[dir=ltr] .back svg{transform:rotate(180deg)}
/* Compact controls and flowing reference entries. */
.reading>.button-row{justify-content:flex-start}.reading>.button-row>.primary{flex:0 1 auto;min-width:160px}.lesson-spacing{height:16px}#term-results .reference-card{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:21px 0;margin:0}#term-results .reference-card p{font-size:14px;margin-top:10px}#term-results .reference-card .compact{font-size:12px}.reading>.reference-card.article-body{background:none;border:0;border-radius:0;padding:6px 0}.reading>.primary.wide{width:auto;min-width:180px}@media(max-width:650px){.reading>.button-row>.primary{min-width:140px}.reading>.button-row{gap:10px}}
