/* Phone composition. Shared class/progress data, no remote fonts or assets. */
.mobile-study{display:none}
@media(max-width:767px){
 :root{--heading:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
 .screen.home{padding:22px 20px calc(100px + env(safe-area-inset-bottom));background:#f7f8f5}
 .dashboard-header{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid #e1e7df;align-items:center;gap:10px}
 .profile-chip img{width:42px;height:42px;border-radius:14px}
 .profile-chip strong{font-size:16px;line-height:1.35;letter-spacing:-.025em}.profile-chip small{font-size:12px;line-height:1.6}
 .lang-switch{padding:3px;border-radius:14px;background:white;border:1px solid #dde5dc}
 .lang-switch button{min-width:48px;min-height:48px;font-size:12px;border-radius:10px}
 .active-path{margin:0 0 18px;gap:12px;font-size:12px;align-items:center}.active-path button{min-height:44px;font-size:12px;flex-shrink:0}
 .home-intro{min-height:0;padding:24px 20px;margin-bottom:18px;border-radius:24px;background:#e9f0e4;border:1px solid #dce6d6;overflow:hidden}
 .home-intro>div{position:relative;z-index:1;max-width:none;padding:0 62px 0 0}
 .home-intro .eyebrow{font-size:9px;letter-spacing:.13em;margin:0 0 12px}
 .home-intro h1{font-size:29px;line-height:1.12;letter-spacing:-.045em;max-width:100%;margin:0 0 12px}
 .home-intro .intro-caption{font-size:13px;line-height:1.6;max-width:none;margin:0 0 18px}
 .home-intro.mature-intro>div{padding-right:112px}.home-intro.mature-intro>img{display:block;width:104px;height:auto;right:12px;top:20px;object-fit:contain;border-radius:16px;opacity:1}.home-intro.mature-intro .hero-actions{margin-right:-112px}
 .home-intro>img{width:86px;height:116px;right:0;top:14px;bottom:auto;opacity:.9;object-fit:contain}
 .hero-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;align-items:stretch;margin-right:-62px}
 .hero-actions .small{width:auto;flex:1;min-width:0;padding:0 10px;gap:8px;min-height:48px;border-radius:14px;font-size:14px}
 .hero-actions .hero-action{background:transparent;color:#244f42;border:1px solid #becfba;box-shadow:none;min-height:44px}
 .dashboard-summary{margin:0 0 22px;padding:16px 12px;display:grid;grid-template-columns:1fr 1fr;gap:14px;background:white;border:1px solid #e3e8df;border-radius:20px}
 .dashboard-summary>div{padding:0 8px;min-width:0}.dashboard-summary strong{font-size:24px;line-height:1.2}.dashboard-summary span{font-size:11px;line-height:1.4}
 .dashboard-summary>button{grid-column:1/-1;min-height:44px;width:100%;border-top:1px solid #edf0e9;padding-top:10px;font-size:12px}
 .mobile-study{display:block;background:#193f35;color:#fff;padding:22px;border-radius:22px;margin:0 0 28px}
 .mobile-study .eyebrow{color:#bdcfbb;letter-spacing:.13em;font-size:10px;margin:0 0 12px}
 .mobile-study h2{font-size:23px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 12px;color:white}
 .mobile-study p{font-size:13px;line-height:1.6;color:#dfE9de;margin:10px 0 16px}
 .mobile-study .primary{font-size:14px;min-height:48px;background:#e6efcb;color:#193f35;box-shadow:none;border-radius:14px}
 .mobile-study .study-count{font-size:11px;color:#bed0bc;display:block;margin:0 0 10px}
 .section-heading{margin:24px 0 14px;gap:8px;align-items:center}.section-heading h2{font-size:21px;letter-spacing:-.035em}.section-heading .text-link{font-size:11px;min-height:44px;white-space:nowrap}
 .game-list{display:grid;grid-template-columns:1fr;gap:12px}
 .dashboard .game-card,.catalog-page .game-card{min-height:172px;padding:20px;border-radius:22px;border:1px solid #dfe6dc;box-shadow:none}
 .game-card>div,.game-card:last-child:nth-child(odd)>div{padding:0 86px 0 0;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
 .game-card h3{font-size:24px;line-height:1.15;margin:8px 0}.game-card .game-tag{font-size:9px;letter-spacing:.08em;max-width:100%;line-height:1.4}
 .game-card p{font-size:12px;line-height:1.5;padding:0;margin:0 0 12px}.game-card img,.game-card:last-child:nth-child(odd) img{width:90px;height:100px;top:35px;right:10px;object-fit:contain}
 .game-card .small{font-size:13px;min-height:44px;padding:0 18px;margin:0;border-radius:12px}
 .surface-panel{padding:20px;border-radius:20px;border:1px solid #e0e6dd;box-shadow:none}.surface-panel h2{font-size:22px;line-height:1.25}.surface-panel p{font-size:14px;line-height:1.65}
 .page-header{align-items:flex-start;padding-bottom:20px;margin-bottom:20px;gap:10px}.page-header>div:first-child{min-width:0;flex:1}.page-header h1{font-size:28px;line-height:1.14;letter-spacing:-.04em;margin-top:10px}.page-header .eyebrow{font-size:9px;letter-spacing:.12em}
 .school-orientation h2{font-size:23px}.school-orientation{background:#eaf0e5}.school-selector summary{font-size:14px;min-height:44px;align-content:center}
 .school-extension .learning-cards{display:none} /* Same units remain in the complete lesson list below. */
 .school-extension{padding:16px 20px}.school-extension p{font-size:12px;margin-bottom:0}
 .lesson-card{padding:20px}.lesson-card h2{font-size:21px;line-height:1.25;margin:12px 0}.lesson-card .lesson-card-number{font-size:10px;letter-spacing:.06em;line-height:1.6}.lesson-card p{font-size:13px;line-height:1.6}.lesson-card .primary{font-size:14px;min-height:48px;border-radius:14px}
 .path-chips button{min-height:44px;font-size:13px}.review-note{font-size:12px;line-height:1.6}
 .screen.lesson-screen{padding:20px 20px calc(32px + env(safe-area-inset-bottom));background:#f7f8f5}.lesson-header{gap:12px;align-items:flex-start;margin-bottom:20px}.lesson-header .back{min-width:44px;min-height:44px;border-radius:13px}.lesson-header h1{font-size:23px;line-height:1.2;letter-spacing:-.035em}.lesson-phase{font-size:10px;padding:8px;border-radius:9px}.lesson-header .eyebrow{font-size:9px;line-height:1.6}
 .lesson-teaching,.lesson-practice{border-radius:22px;overflow:hidden}.lesson-copy{padding:22px}.lesson-copy h2{font-size:24px;line-height:1.2}.lesson-copy p{font-size:16px;line-height:1.75}.worked-example{padding:18px;font-size:17px;line-height:1.6;border-radius:14px;overflow-wrap:anywhere}.lesson-copy .primary,.lesson-feedback .primary{font-size:15px;min-height:50px;border-radius:14px}
 .lesson-question{padding:22px}.lesson-question h2{font-size:20px;line-height:1.6;letter-spacing:-.02em}.lesson-response{padding:18px}.lesson-choices button{padding:16px;min-height:56px;border-radius:14px;font-size:16px;line-height:1.5;text-align:left}.lesson-feedback{padding:18px;border-radius:16px}.lesson-feedback p{font-size:15px;line-height:1.7}
 nav{left:0;right:0;bottom:0;width:100%;margin:0;border-radius:0;border:0;border-top:1px solid #dce4d9;background:#fffffff5;backdrop-filter:blur(18px);box-shadow:0 -4px 24px #193f3506;padding:8px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));gap:2px}
 nav button{border-radius:14px;min-height:52px;gap:5px;padding:6px 2px}nav button svg{width:21px;height:21px}nav button span{font-size:10px;line-height:1.3;font-weight:650}nav button.active{background:#edf3e6;color:#193f35}
}
@media(max-width:360px){.screen.home{padding-left:16px;padding-right:16px}.home-intro{padding:20px 16px}.home-intro h1{font-size:26px}.profile-chip strong{font-size:14px}.lang-switch button{min-width:48px}.page-header h1{font-size:25px}}

/* Shared responsive treatment for every non-game destination. */
.screen{overflow-wrap:anywhere}
.screen summary{min-height:48px;padding-block:12px;line-height:1.5;align-content:center;cursor:pointer}
:where(.screen) button{min-height:48px;white-space:normal;line-height:1.4;max-width:100%}
.screen input,.screen select,.screen textarea{min-width:0;max-width:100%;font-size:16px}
.screen input:not([type=checkbox]):not([type=radio]){scroll-margin-block:100px}
.screen :is(.surface-panel,.stat-card,.profile-list>button,.account-layout>*,.settings-layout>*,.progress-layout>*){min-width:0}
.screen :is(.surface-panel,.lesson-card,.reinforcement-grid article)>.primary{height:auto;padding:14px 18px;gap:10px}
.screen :is(.surface-panel,.lesson-card,.reinforcement-grid article)>.secondary{height:auto;padding:12px 16px;line-height:1.5}
.profile-avatar{flex-shrink:0}.profile-list>button>span:not(.profile-avatar){min-width:0}.profile-list strong{overflow-wrap:anywhere}
.setting{gap:16px;line-height:1.5}.setting input{flex-shrink:0}
.account-mode button{min-width:0;padding:10px;line-height:1.5}.account-confirm span{min-width:0}.account-recovery-code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;padding:16px;background:#edf3e8;border-radius:14px}
.account-recovery{border-top:1px solid var(--border);padding-top:20px;margin-top:24px}.account-recovery h2{font-size:24px;line-height:1.3}
.lesson-header .back,.account-header .back{flex-shrink:0}.lesson-header{flex-wrap:wrap}.lesson-phase{white-space:normal;line-height:1.5}
.lesson-copy,.lesson-question,.lesson-response,.assessment-context{min-width:0}
.lesson-copy p,.lesson-question h2,.assessment-context p,.assessment-review p{overflow-wrap:anywhere}
.lesson-reading{max-width:78ch}.lesson-reading .lesson-copy{background:#fff;border:1px solid var(--border);border-radius:22px;padding:clamp(20px,4vw,40px)}
.lesson-reading .lesson-copy p{max-width:68ch;color:#435e52}
.lesson-sources{padding-inline:8px}.lesson-sources summary,.school-resources summary{line-height:1.5;padding-block:10px}
.lesson-sources ul,.school-resources ul{padding-left:22px}.lesson-sources li{padding-right:4px}
.assessment-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.assessment-controls>button{min-width:0;width:100%;margin:0;padding:14px;min-height:52px;line-height:1.5}
.assessment-result>.secondary{display:flex;width:100%;text-align:left;justify-content:flex-start;margin:12px 0;padding:14px 18px}
.assessment-prompt{font-size:clamp(21px,3vw,30px);line-height:1.5}.assessment-history{display:flex;gap:8px;flex-wrap:wrap;line-height:1.8}
.assessment-review{align-items:start}.assessment-review h2{line-height:1.5}.assessment-context h2{font-size:20px;line-height:1.4}
.study-progress button{gap:16px;align-items:center;text-align:left;line-height:1.5}.study-progress button span{flex-shrink:0}
.school-cycle .path-chips{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.school-cycle .path-chips button{min-height:52px}.study-filters button,.study-switch button{min-height:48px;line-height:1.5}
.curriculum-domains article,.af7-tracks article,.af7-practice-grid article{background:#fff}
@media(max-width:767px){
 .screen:not(.game){padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 .page-header{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.home .page-header>.lang-switch{justify-self:start}
 .page-header h1{font-size:clamp(26px,7vw,34px);max-width:100%}.page-header p:not(.eyebrow){font-size:14px;line-height:1.7}
 .surface-panel{padding:20px;border-radius:22px}.surface-panel h2{font-size:23px;line-height:1.35}
 .screen :is(.primary,.secondary,.small){min-height:48px}
 .learning-path-banner{gap:16px;align-items:flex-start}.learning-path-banner>img{width:72px;height:90px;object-fit:contain}.learning-path-banner h2{font-size:24px;line-height:1.3}
 .lesson-header{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px}.lesson-header .lesson-phase{display:block;grid-column:2;padding:0;font-size:11px}
 .lesson-header h1{font-size:24px;line-height:1.3}.lesson-illustration{min-height:180px;padding:22px}.lesson-teaching,.lesson-practice{gap:18px}
 .lesson-copy p{font-size:17px;line-height:1.8}.lesson-copy h2,.lesson-question h2{font-size:24px;line-height:1.4}
 .lesson-choices button{font-size:17px;padding:16px;min-height:60px;line-height:1.6;gap:12px}
 .lesson-with-adult .lesson-choices button{min-height:88px}.lesson-feedback{padding:20px}.lesson-feedback h3{font-size:22px;line-height:1.4}
 .lesson-complete{padding:24px 20px}.lesson-complete h2{font-size:27px;line-height:1.3}
 .school-entry,.school-selector,.school-orientation,.school-overview,.school-resources,.school-assessments{padding:20px}
 .assessment-question,.assessment-result,.assessment-review>.surface-panel{padding:20px}.assessment-context{padding:16px}.assessment-review{grid-template-columns:1fr}
 .reinforcement-grid article{padding:20px}.reinforcement-grid article h3{font-size:22px}.study-space-links{grid-template-columns:1fr}.study-space-links button{padding:18px;min-height:100px}
 .account-layout{gap:18px}.account-identity h1{font-size:28px;line-height:1.25}.account-offer h2{font-size:26px}.account-offer .account-price{font-size:34px}.account-header{margin-bottom:18px}.account-confirm{font-size:14px}
 .stat-card{padding:18px;gap:6px}.stat-card strong{font-size:32px}.stat-card span{font-size:12px}.stats-grid{gap:12px}
 .profile-list>button{padding:16px;gap:12px}.profile-list strong{font-size:17px}.profile-list small{line-height:1.5}.gate-card{padding:22px 18px}.gate-card h1{font-size:26px}
 .welcome,.onboarding,.young{display:flex;flex-direction:column;gap:16px;min-height:100dvh}
 .welcome{padding-top:max(32px,env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.welcome-art{padding-top:0}.welcome-art p{font-size:23px;max-width:100%}
 .welcome .mascot{flex:0 1 auto;width:100%;height:30dvh;min-height:120px;margin:0 auto;max-height:280px}
 .welcome .bottom,.onboarding .bottom,.young .bottom{position:static;width:100%;margin-top:auto}
 .onboarding{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.onboarding>.back{align-self:flex-start}.onboarding>h1{margin:8px 0}.onboarding>.lead{margin:0 0 12px}.onboarding .choice{height:auto;min-height:148px;margin:0}.onboarding .choice img{height:110px}.onboarding .choice strong{font-size:24px}.path-list,.goal-grid{width:100%}
 .young{padding-top:80px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.young>h1,.young>h2{margin:0}.young-mascot{height:28dvh;min-height:120px}.young .bottom{padding:20px}
}
@media(min-width:768px){
 .screen:not(.home):not(.game){padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}
 .account-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px}.account-identity,.account-offer{padding:clamp(24px,3vw,40px)}
 .lesson-header{max-width:1300px;margin-inline:auto}.lesson-screen>.review-note{max-width:1300px;margin-inline:auto}
 .assessment-question,.assessment-result,.assessment-review{max-width:1100px;margin-inline:auto}.assessment-question .lesson-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-question .lesson-choices button{text-align:left;justify-content:flex-start;font-size:21px}
 .lesson-reading .lesson-copy{padding:40px}.lesson-reading .lesson-copy p{font-size:20px}.lesson-reading .worked-example{font-size:22px}
 .path-chips{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
 .help-grid{align-items:start}.settings-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
}
@media(min-width:600px) and (max-width:767px) and (max-height:500px){
 .home{padding-left:calc(100px + env(safe-area-inset-left))!important;padding-bottom:24px}
 nav{inset:0 auto 0 0;width:80px;height:100dvh;flex-direction:column;padding:8px 4px;gap:2px;border-top:0;border-right:1px solid var(--border)}
 nav button{flex:1;min-height:48px;padding:4px 0;gap:3px}nav .nav-brand{display:none}nav button span{font-size:10px}
 .lesson-teaching:not(.lesson-reading),.lesson-practice{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.lesson-illustration{min-height:180px}.lesson-copy{padding:0}.lesson-copy p{font-size:16px}
 .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.account-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.welcome .mascot{height:210px;max-height:none}.welcome .bottom{grid-column:1/-1}.welcome .guest-note{margin:8px 0}
}
