@media (max-width:1200px){:root{--journey-w:248px}.lesson-layout{gap:14px;padding:14px}.lesson-topbar{grid-template-columns:minmax(170px,1fr) 300px minmax(180px,1fr) 42px;gap:14px;padding-inline:18px}.scene-grid{grid-template-columns:minmax(290px,.78fr) minmax(430px,1.22fr)}.journey-rail{padding-inline:10px}.journey-item{grid-template-columns:36px minmax(0,1fr) 24px;padding:9px}.journey-icon{width:34px;height:34px}.scene-header{padding:18px 20px 12px}.scene-main{padding:6px 16px 12px}.grade-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1100px){.lesson-page{height:auto;overflow:auto}.lesson-app{height:auto;min-height:100vh}.lesson-topbar{position:sticky;top:0;height:auto;min-height:var(--header-h);grid-template-columns:1fr auto 40px}.top-progress{grid-row:2;grid-column:1/-1;padding-bottom:10px}.top-context{display:none}.lesson-layout{display:block}.journey-rail{position:sticky;top:103px;z-index:10;display:block;margin-bottom:12px;padding:10px;overflow-x:auto}.journey-title,.support-launch{display:none}.journey-nav{display:flex;gap:7px;min-width:max-content}.journey-item{width:auto;grid-template-columns:32px auto 24px}.journey-copy small{display:none}.learning-column{display:block}.lesson-breadcrumbs{margin-bottom:8px}.teaching-workspace{min-height:780px}.scene-shell{height:auto;min-height:760px}.scene-grid,.practice-panel{grid-template-columns:1fr}.visual-panel{min-height:430px}.grade-grid,.lesson-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.landing-shell,.map-shell{padding:18px 14px 40px}.landing-hero{padding:20px}.hero-copy{margin:42px 0 30px;text-align:left}.hero-copy h1{font-size:42px}.grade-grid,.lesson-grid{grid-template-columns:1fr}.map-intro{align-items:flex-start;flex-direction:column}.lesson-topbar{height:auto;min-height:64px;padding:10px 12px}.lesson-topbar .header-brand{font-size:18px}.lesson-layout{padding:8px}.journey-rail{top:94px}.scene-header{grid-template-columns:40px minmax(0,1fr);padding:16px 14px 10px;gap:10px}.scene-badge{width:38px;height:38px}.scene-tools{grid-column:1/-1;justify-content:flex-end}.scene-title{font-size:25px}.scene-sub{font-size:13px}.scene-main{padding:6px 10px 10px}.teach-panel{padding:15px}.visual-panel{min-height:360px}.math-visual{min-height:300px}.visual-footer-grid,.equation-notes,.choice-grid{grid-template-columns:1fr}.formula-row{font-size:30px}.scene-footer{grid-template-columns:1fr 1fr;padding:10px}.dots{display:none}.nav-button{width:100%}.practice-panel{padding:11px}.control-row{grid-template-columns:90px 1fr 48px}.learning-column{min-height:0}.teaching-workspace{min-height:880px}.scene-shell{min-height:860px}}
@media (max-height:820px) and (min-width:1101px){
  .lesson-layout{padding-top:12px;padding-bottom:12px}.learning-column{grid-template-rows:26px minmax(0,1fr)}.lesson-breadcrumbs{font-size:11px;padding-top:0}
  .scene-header{padding-top:14px;padding-bottom:9px}.scene-badge{width:40px;height:40px;font-size:20px}.scene-title{font-size:29px}.scene-sub{font-size:12px;margin-top:5px}
  .scene-main{padding-top:4px;padding-bottom:8px}.teach-panel{padding:14px;gap:8px}.teach-panel h3{font-size:15px;line-height:1.34}.teach-panel p{font-size:12px}
  .formula-box{padding:10px}.formula-row{font-size:33px}.formula-legend{margin-top:7px;gap:4px;font-size:10px}.equation-notes{font-size:9px}.equation-notes strong{font-size:11px}
  .word-chips{gap:4px}.word-chip{font-size:9px;padding:4px 7px}.tip-card{padding:8px 10px;font-size:10px;line-height:1.35}.panel-label{font-size:9px}
  .visual-footer-grid{gap:8px}.mini-work{padding:8px 9px;font-size:10px}.mini-work .mathline{font-size:13px}.scene-footer{padding-top:8px;padding-bottom:8px}.nav-button{padding-top:8px;padding-bottom:8px}
}
@media (max-width:1100px){
  body.lesson-page,.lesson-app,.lesson-topbar,.lesson-layout{width:100%;max-width:100vw;overflow-x:hidden}
  .top-progress,.learning-column,.teaching-workspace{min-width:0;max-width:100%}
  .journey-rail{width:100%;max-width:100%;}
  .support-drawer{max-width:92vw}
}

/* Phase 2 visual engine responsive rules */
@media (max-width:1200px) and (min-width:1101px){.phase2-hero-visual{padding:4px}.connected-story{width:100%;height:auto}.toolkit-visual{grid-template-columns:190px minmax(0,1fr)}.integer-story,.quadratic-story{grid-template-columns:260px minmax(0,1fr)}.quadratic-explain{padding:14px}.feature-line{padding:7px 8px}}
@media (max-width:1100px){.phase2-hero-visual{height:auto;min-height:520px;overflow:visible}.connected-story{min-height:480px}.toolkit-visual,.integer-story,.quadratic-story{grid-template-columns:1fr}.toolkit-cards{grid-template-columns:repeat(3,1fr);align-content:initial}.toolkit-graph,.integer-graph,.quadratic-graph{min-height:390px}.integer-meaning{padding:18px}.quadratic-explain{display:grid;grid-template-columns:repeat(2,1fr);align-content:start}.quadratic-explain .visual-kicker,.quadratic-formula{grid-column:1/-1}}
@media (max-width:640px){.phase2-hero-visual{min-height:620px;padding:5px}.connected-story{min-height:500px}.toolkit-cards{grid-template-columns:1fr}.toolkit-graph,.integer-graph,.quadratic-graph{min-height:330px}.integer-story,.quadratic-story{gap:10px}.integer-meaning h3{font-size:20px}.integer-equation{font-size:23px}.quadratic-explain{grid-template-columns:1fr}.quadratic-explain .visual-kicker,.quadratic-formula{grid-column:auto}.quadratic-formula{font-size:25px}}
@media (max-height:820px) and (min-width:1101px){.phase2-hero-visual{padding:3px}.connected-story{max-height:455px}.integer-meaning,.quadratic-explain{padding:13px}.integer-meaning h3{font-size:20px}.integer-equation{font-size:23px}.quadratic-formula{font-size:25px}.feature-line{padding:6px 8px}}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;animation:none!important}.progress-fill,.support-drawer{transition:none!important}}
@media (max-width:1100px){.lesson-app{grid-template-rows:auto minmax(0,1fr)}}
@media (max-width:640px){.desktop-gradient-story{display:none}.mobile-gradient-story{display:grid;gap:10px;width:100%;align-content:start}.connected-story-wrap{height:auto}.phase2-hero-visual:has(.connected-story-wrap){min-height:0;height:auto;align-items:flex-start}.mobile-gradient-graph .math-visual{min-height:0}.mobile-gradient-card{padding:14px}.mobile-gradient-formula{padding:10px}.mobile-fraction{font-size:22px}.formula-m{font-size:25px}}
@media (max-width:1100px){.journey-rail{position:relative;top:auto}}
