/* A continuous, full-viewport learning surface for every lesson phase. */
html.lesson-open,html.lesson-open body{overflow:hidden;overscroll-behavior:none}
.learn-page #lesson-dialog{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg,#faf9f6);box-shadow:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.learn-page #lesson-dialog::backdrop{background:var(--bg,#faf9f6);backdrop-filter:none}
.lesson-topbar{position:sticky;top:0;z-index:3;background:var(--bg,#faf9f6);border-bottom:1px solid var(--line,#dedcd6);padding:env(safe-area-inset-top,0px) max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left))}
.lesson-topbar-inner{max-width:1200px;min-height:90px;margin:auto;display:grid;grid-template-columns:200px minmax(0,1fr) 150px;gap:24px;align-items:center;padding:16px 0}
.lesson-exit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.lesson-exit:hover{background:#efe9df;border-color:var(--accent)}
.lesson-exit svg{width:20px;height:20px;flex-shrink:0}
.lesson-location{display:grid;gap:5px;min-width:0;text-align:center;line-height:1.4}
.lesson-location>span{font-size:13px;color:var(--muted)}
.lesson-location>strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.lesson-brand{justify-self:end;color:var(--accent);font-size:30px;font-weight:800;letter-spacing:-1.8px;white-space:nowrap}
.lesson-brand>span{font-size:13px;font-weight:400;letter-spacing:0;vertical-align:top;margin-left:3px}
.lesson-stage{min-height:calc(100dvh - 91px);padding:clamp(28px,5vh,64px) max(24px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
.learn-page #lesson-content{width:100%;max-width:860px;min-width:0;margin:0 auto}
.learn-page #lesson-dialog[data-phase=practice] #lesson-content{max-width:760px}
.learn-page #lesson-dialog[data-phase=result] #lesson-content{max-width:680px;padding-top:clamp(16px,7vh,72px)}
.learn-page #lesson-content h2{font-size:clamp(28px,3.2vw,42px);line-height:1.2;letter-spacing:-1px;margin:22px 0 26px}
.learn-page #lesson-content .lesson-kicker{font-size:13px;line-height:1.5}
.learn-page #lesson-content .concept{padding:24px 28px;border-radius:20px;line-height:1.8}
.learn-page #lesson-content .lesson-figure>img{max-height:380px}
.learn-page #lesson-content .learn-primary,.learn-page #lesson-content .learn-secondary{min-height:54px;border-radius:16px;margin-top:20px}
.learn-page #lesson-content .answers button{padding:18px 22px;border-radius:16px;min-height:60px}
.learn-page #lesson-content .lesson-reading{font-size:16px;line-height:1.6}
.learn-page #lesson-content .exercise-top{flex-wrap:wrap}
.learn-page #lesson-content .exercise-top>span:last-child{font-size:14px}
.learn-page #lesson-content progress{height:7px;border-radius:8px;overflow:hidden}
.learn-page #lesson-content .result-star{margin-left:0;width:76px;height:76px}
@media(max-width:700px){
 .lesson-topbar{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .lesson-topbar-inner{grid-template-columns:46px minmax(0,1fr);gap:14px;min-height:82px;padding:12px 0}
 .lesson-exit{padding:10px;width:46px;height:46px;border-radius:14px}
 .lesson-exit>span,.lesson-brand{display:none}
 .lesson-location{text-align:left}
 .lesson-location>span{font-size:12px}
 .lesson-location>strong{font-size:14px}
 .lesson-stage{min-height:calc(100dvh - 83px);padding:28px max(18px,env(safe-area-inset-right)) max(36px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
 .learn-page #lesson-content h2{font-size:28px;letter-spacing:-.7px;margin:20px 0}
 .learn-page #lesson-content .concept{padding:20px}
 .learn-page #lesson-content .answers button{padding:16px}
 .learn-page #lesson-content .visual-answers button{padding:8px}
 .learn-page #lesson-content .lesson-figure>img{max-height:310px}
 .learn-page #lesson-content .match-answer label{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){#lesson-content.enter{animation:none}}
