/* Shared classroom presentation: stable working, large arrivals, stacked fractions. */
:root{--ink:#213b40;--muted:#60736d;--blue:#276ba8;--pink:#b14b23;--line:#d4e1d9;--paper:#fff;--bg:#eff5f2;--green:#276d59;--coef:#8151a4}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink)}
.top{padding:10px 26px;border-color:var(--line);background:#f8fcf9}
.top nav a.active{background:#e5f1e9;color:var(--green)}
.brand{font-size:23px;letter-spacing:-.6px}
.chapterbar{max-width:1700px;padding-top:12px}
.chapterbar h1{font-size:18px;color:var(--green)}
.page-tabs{background:#dfebe3}
.tab.active{color:var(--green)}
.lesson-shell{max-width:1700px;padding:12px 26px 118px}
.topic-strip{margin-bottom:13px}
.topic-strip button{font-size:13px;border-color:#c5d9cd;background:#fbfdfb}
.topic-strip button.active,.primary{background:var(--green);border-color:var(--green);color:#fff}
.workspace{grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:20px;align-items:start}
.workspace>.card:first-child{padding:0 8px 0 0;background:transparent;border:0;border-radius:0;max-height:calc(100dvh - 225px);overflow-y:auto}
.card.stage{border-color:var(--line);padding:22px;min-height:460px;max-height:calc(100dvh - 205px);overflow:auto;border-radius:17px}
h2{font-size:23px}.prompt{font-size:17px;line-height:1.65}.source{font-size:11px}
.eyebrow{color:var(--green);letter-spacing:1px;font-size:11px}
.note{margin-top:18px;padding:12px 13px;background:#e5f0e8;border-left:3px solid #81b99b;border-radius:8px}
.note h3{color:var(--green);font-size:17px}.note p{font-size:14px}
.note .m-node{font-family:Georgia,'Times New Roman',serif;font-size:1.05em}
.controls{position:fixed;bottom:0;left:0;right:0;z-index:12;border-radius:0;margin:0;border-width:1px 0 0;border-color:#cbded0;background:#f6faf7f2;backdrop-filter:blur(12px);padding:12px 24px;justify-content:center}
.controls button{font-size:14px;border-color:#bed2c5}.controls .primary{border-color:var(--green)}
.controls .count{font-size:12px;margin-left:15px}
.controls select,.controls label{font-size:12px}
.progress,.keyboard{display:none}
.formula{font-family:Georgia,'Times New Roman',serif;font-size:40px;line-height:1.3;text-align:left;overflow-wrap:normal;white-space:nowrap;position:relative;padding:10px 5px;max-width:100%;min-height:68px}
.math-line{display:inline-flex;align-items:center;gap:.08em;white-space:nowrap;width:max-content;min-height:48px;transform-origin:left center}
.formula.small{font-size:27px}.formula.hero-formula{font-size:58px}
.m-node{display:inline-flex;align-items:center;vertical-align:middle;white-space:nowrap;transform-origin:left center}
.m-variable{font-style:italic}.m-number,.m-choose{color:var(--coef)}
.m-first{color:var(--blue)}.m-second,.orange{color:var(--pink)}.m-number,.m-choose{font-variant-numeric:tabular-nums}
.m-power,.m-index{display:inline-flex;align-items:baseline;white-space:nowrap}
.m-power>sup{align-self:flex-start;font-size:.61em;line-height:1;position:relative;top:0;margin-top:-.14em;margin-left:.02em}
.m-index>sub{align-self:flex-end;font-size:.61em;line-height:1;position:relative;bottom:-.15em;margin-left:.02em}
.m-power>sup .m-node,.m-index>sub .m-node{vertical-align:baseline}
.m-power.m-first>sup .m-number{color:var(--blue)}.m-power.m-second>sup .m-number{color:var(--pink)}
.m-group{display:inline-flex;align-items:center;gap:.02em;white-space:nowrap}
.m-times{font-family:Arial,sans-serif;font-style:normal;color:var(--muted);font-size:.7em;margin:0 .09em;display:inline-block;vertical-align:middle}
.m-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;font-size:.89em;line-height:1.1;margin:0 .1em;white-space:nowrap}
.m-num,.m-den{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:.08em .13em;gap:.03em}
.m-num{border-bottom:1.3px solid currentColor;padding-bottom:.13em}.m-den{padding-top:.13em}
.m-choose{display:inline-flex;align-items:center;line-height:1;margin:0 .06em}
.m-paren{font-size:2.2em;line-height:.7;transform:scaleX(.68);width:.33em}
.m-stack{display:inline-flex;flex-direction:column;align-items:center;gap:.14em;font-size:.8em;line-height:1.05;min-width:1.1em}
.m-root{display:inline-flex;align-items:center;white-space:nowrap}.m-root-sign{font-size:1.3em;line-height:1}
.m-radicand{display:inline-flex;align-items:center;border-top:1.3px solid currentColor;padding:.05em .09em 0}
.prompt .m-node{font-family:Georgia,serif;font-size:1.09em}.prompt .m-power>sup{font-size:.66em}
.formula .m-number,.formula .m-choose{font-variant-numeric:tabular-nums}
.people{margin:12px 0 22px}.person{font-size:22px;background:#dcecdf;color:#276d59;box-shadow:0 3px 0 #bad3c0}
.seat.current{border-color:#c8a058;background:#fff6e5}.seat{border-color:#bbcebf}
.seat .person,.pair,.path-chip,.term.current{animation:none}
.pair.merged{background:#e5f0e9}.permutations span{font-size:15px;background:#e8f1ec}
.path-chip{background:#f7faf8;border-color:#d8e5dc}
.path-chip span{color:var(--blue);background:#e3edf9}.path-chip span.b{color:var(--pink);background:#fae7db}
.path-chip .route-times{padding:0;background:none;color:var(--muted);font-size:.75em}
.group-label{font-size:18px}.square text{fill:var(--ink)}.square text[data-region="a"]{fill:var(--blue)}.square text[data-region="b"]{fill:var(--pink)}
.triangle .new circle{fill:#e1f0e6}.triangle .hot circle{fill:#ffebc8}
.factors{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:nowrap}
.factor-bracket{font:24px Georgia,serif;white-space:nowrap}
.choice-letter{font:38px Georgia,serif;display:inline-flex;margin:8px 10px;padding:0}.factors .route-times{font-size:20px;color:var(--muted)}
.checkpoint{background:#edf5ef;color:var(--green);border-radius:8px;font-size:14px}
.caption{font-size:13px;line-height:1.5}
.exercise-stage{justify-content:flex-start;min-height:460px}
.exercise-seed{border-bottom:1px solid #e2ebe5;padding-bottom:7px;margin-bottom:12px}
.exercise-seed .seed-formula{font-size:24px;opacity:.74}
.exercise-seed .hero-formula{margin:35px 0 5px}
.equation-focus{position:relative;min-height:117px;display:flex;align-items:center;width:100%;padding:12px 0 18px}
.equation-focus .formula{width:100%;margin:0}
.equation-focus.answer{color:var(--green);border-bottom:2px solid #9bc8ad}
.equation-focus.answer .m-number{color:var(--green)}
.working-history{max-height:200px;overflow:auto;border-top:1px solid #e4ebe6;margin-top:6px;padding:8px 0;scrollbar-width:thin}
.working-history:empty{display:none}
.work-row{display:flex;gap:9px;align-items:center;padding:3px 0;opacity:.77;min-width:0}
.work-number{font-size:11px;flex:0 0 18px;color:var(--muted)}
.work-row .formula{flex:1;min-width:0;font-size:27px;min-height:58px;padding-block:6px}
.work-caption{font-size:12px;margin:10px 0 0;text-align:left;color:var(--muted)}
.start-prompt{padding:20px 12px}.start-prompt h2{font-size:22px}.start-prompt p{font-size:14px}
.pickline select{border-color:#bdd2c5;background:#fafffb}.part-strip .active{color:var(--green);background:#e5f1e9;border-color:#97b9a2}
.lesson-flight{position:fixed!important;z-index:40;pointer-events:none;transform-origin:left top;font-family:Georgia,'Times New Roman',serif;line-height:1.3;white-space:nowrap;will-change:transform,opacity}
.home{max-width:1150px;margin:48px auto}.home h1{font-size:50px;color:var(--green)}
.home-card{border-color:var(--line);border-radius:22px;box-shadow:0 7px 24px #27533a09;transition:transform .3s,box-shadow .3s}
.home-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px #27533a15}.home-card svg{height:210px}
.home-card h2{font-size:23px}.home-card p{font-size:14px}.home-card:hover .cover-mark{animation:cover-pop .75s cubic-bezier(.2,.75,.25,1) both;transform-origin:center;transform-box:fill-box}
.home-card:hover .cover-mark:nth-child(2){animation-delay:.12s}.home-card:hover .cover-mark:nth-child(3){animation-delay:.24s}
.empty{border:1px solid var(--line);border-radius:18px;background:#fafffb;color:var(--ink)}.empty a{color:var(--green)}
@keyframes cover-pop{0%{transform:scale(1)}35%{transform:scale(1.3)}100%{transform:scale(1)}}
@media(min-width:761px) and (max-height:800px){.card.stage{min-height:405px;max-height:calc(100dvh - 200px);padding:15px 18px}.formula{font-size:36px}.formula.hero-formula{font-size:48px}.working-history{max-height:145px}.square{max-width:310px}.triangle{max-width:455px}.people{margin:8px 0 15px}.seatrow{margin:12px 0}.equation-focus{min-height:96px}.caption{margin:8px 0}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.lesson-shell{padding-inline:18px}.stage .formula{font-size:34px}.stage .formula.small{font-size:25px}.stage .hero-formula{font-size:46px}.factor-bracket{font-size:19px}.factors{gap:6px}}
@media(max-width:760px){.top{padding:10px 12px}.lesson-shell{padding:2px 12px 155px}.workspace{grid-template-columns:1fr;gap:14px}.workspace>.card:first-child{max-height:none;padding:0;overflow:visible}.card.stage{min-height:380px;max-height:none;padding:18px 12px}.chapterbar{padding:12px}.page-tabs{gap:2px}.tab{font-size:13px;padding:7px 11px}.topic-strip{gap:5px}.topic-strip button{font-size:12px}.controls{padding:9px 8px;gap:6px}.controls button{font-size:13px;padding:9px 11px}.controls .count{margin:0;flex-basis:100%;font-size:11px}.formula,.stage .formula{font-size:32px}.formula.small,.stage .formula.small{font-size:24px}.formula.hero-formula,.stage .hero-formula{font-size:40px}.stage .history-formula{font-size:24px}.factor-bracket{font-size:18px}.factors{gap:3px}.choice-letter{font-size:32px;margin:8px 6px}.work-caption{font-size:11px}.working-history{max-height:180px}.person{font-size:19px}.path-chip{font-size:14px}.home{margin-top:28px}.home-card svg{height:180px}.home-card h2{font-size:21px}.pickline label{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
