.teaching-slide.slide-warmup .slide-heading{margin-bottom:16px;text-align:center}.teaching-slide.slide-warmup .slide-heading h2{font-size:clamp(30px,3vw,46px)}
.warmup-stage{display:flex;flex:1;min-height:0;flex-direction:column;gap:18px;color:#294638}
.warmup-stage button{font:600 17px/1.4 var(--sans);padding:10px 16px;min-height:44px;border:1px solid #b5985d;border-radius:7px;background:#f7efd9;color:#36513d;cursor:pointer;transition:background .2s,box-shadow .2s}
.warmup-stage button:hover:not(:disabled),.warmup-stage button:focus-visible{background:#ead6a2;outline:2px solid #a77b35;outline-offset:2px;box-shadow:0 3px 12px #76521b22}.warmup-stage button:disabled{opacity:.5;cursor:default}
.warmup-stage .warmup-primary{background:#33553e;color:#fff0c9;border-color:#33553e}.warmup-stage .warmup-primary:hover:not(:disabled){background:#496b4a}
.warmup-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid #c8b88e;padding-bottom:12px;flex:none}
.warmup-scores,.warmup-scores>div,.warmup-clock{display:flex;gap:10px;align-items:center}.warmup-scores{gap:24px}.warmup-scores span{font:700 18px var(--sans)}.warmup-scores button{padding:4px;width:40px;min-height:40px}.warmup-scores output{font:750 26px var(--serif);min-width:1.5em;text-align:center}.warmup-clock output{font:700 23px var(--sans);min-width:3ch}.warmup-clock button{font-size:14px}
.warmup-menu{display:grid;grid-template-columns:1fr 1fr;gap:32px;flex:1;align-content:center}.warmup-stage .warmup-menu>button{padding:28px;text-align:center;background:linear-gradient(145deg,#f8f0dc,#eaddb9);border:3px double #b29150;border-radius:18px}.warmup-menu small,.warmup-prompt>small{display:block;color:#8b662e;font:600 14px/1.5 var(--sans);letter-spacing:2px}.warmup-emblem{display:block;font-size:55px;color:#9b7337;margin-bottom:10px}.teaching-slide .warmup-stage h3{font:750 clamp(25px,2.3vw,36px)/1.35 var(--serif);color:#2e4a38;margin:12px 0}.teaching-slide .warmup-stage p{font:400 clamp(19px,1.45vw,25px)/1.6 var(--sans);margin:10px 0}.warmup-menu b{display:block;font:650 18px var(--sans);color:#8c542c;margin-top:22px}.teaching-slide p.warmup-teacher-note{font-size:17px;text-align:center;color:#74694c}.warmup-clock-note{min-height:1.5em}.teaching-slide p.warmup-clock-note{font-size:16px;margin:0;color:#94612d}
.warmup-puzzle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center;flex:1}.warmup-picture{position:relative;aspect-ratio:4/3;max-height:45cqh;border:4px double #ad8f53;border-radius:10px;overflow:hidden;background:#ded4b7}.warmup-picture>img{display:block;width:100%;height:100%;object-fit:contain}.warmup-tiles{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px}.warmup-stage .warmup-tiles button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:0;background:linear-gradient(140deg,#315447,#173c37);color:#edcf8d;border:1px solid #b79b5d;font:750 37px var(--serif)}.warmup-stage .warmup-tiles button.revealed{visibility:hidden;pointer-events:none}.warmup-tiles span{font-size:24px}.warmup-actions,.warmup-rounds{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.warmup-rounds{justify-content:space-between;border-top:1px solid #c8b88e;padding-top:12px}.warmup-hint,.warmup-answer{padding:14px 18px;border-left:4px solid #b58e46;background:#e6d8b5}.warmup-answer{background:#dce4ce;border-color:#53764b}.warmup-answer strong{font:750 clamp(22px,1.8vw,30px)/1.4 var(--serif)}.teaching-slide .warmup-answer p{font-size:20px}
.warmup-door-game{text-align:center}.warmup-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1000px;margin:22px auto}.warmup-stage .warmup-door{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:clamp(155px,29cqh,260px);border-radius:60px 60px 8px 8px;border:4px double #b59759;background:linear-gradient(90deg,#153a32,#345947,#153a32);color:#eed699;box-shadow:inset 0 0 0 7px #142d2733}.warmup-door strong{font:750 clamp(32px,3vw,50px) var(--serif)}.door-symbol{font-size:29px}.warmup-stage .warmup-door.selected{outline:3px solid #b57b31;outline-offset:4px;background:linear-gradient(90deg,#79602d,#b0924d,#79602d)}.warmup-stage .warmup-door.door-open{opacity:1;background:#d6dfbe;color:#345437}.warmup-door-game>.warmup-actions{justify-content:center}.warmup-victory{display:flex;gap:22px;align-items:center;text-align:left;padding:18px;background:#dce4ce;border:1px solid #829969;max-width:1100px;margin:15px auto}.warmup-victory img{width:180px;max-height:130px;object-fit:contain}.warmup-victory strong{font:750 32px var(--serif)}.teaching-slide .warmup-victory p{font-size:21px}
@media(max-width:1000px){.warmup-tools{gap:10px}.warmup-scores{gap:15px}.warmup-puzzle-layout{gap:18px}.warmup-stage button{font-size:15px;padding:8px 11px}.teaching-slide .warmup-stage p{font-size:19px}.warmup-menu{gap:18px}.warmup-clock{margin-left:auto}}
@media(max-width:650px){.warmup-menu{grid-template-columns:1fr}.warmup-stage .warmup-menu>button{padding:20px}.warmup-emblem{font-size:35px}.warmup-puzzle-layout{grid-template-columns:1fr}.warmup-picture{max-height:none;width:100%;max-width:440px;margin:auto}.warmup-scores{width:100%;justify-content:space-around;order:3}.warmup-clock{gap:7px}.warmup-stage .warmup-back{font-size:13px}.warmup-clock button{font-size:12px}.warmup-scores span{font-size:15px}.warmup-scores output{font-size:22px}.warmup-doors{gap:12px}.warmup-stage .warmup-door{min-height:155px;border-radius:38px 38px 6px 6px;padding:12px 4px;gap:12px;font-size:12px}.warmup-door strong{font-size:28px}.warmup-victory{flex-direction:column;text-align:center}.warmup-victory img{width:200px}.teaching-slide .warmup-stage h3{font-size:25px}.teaching-slide .warmup-stage p{font-size:18px}.teaching-slide.slide-warmup .slide-heading h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.warmup-stage button{transition:none}}
/* Supplied HD images share this exact landscape ratio; masks follow the full frame. */
.warmup-picture{width:100%;height:auto;aspect-ratio:1672/941;max-height:none;box-sizing:border-box}
.warmup-picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* Slide 03: original cropped artwork on the exact Slide 08 background. */
.teaching-slide.slide-warmup,body.lesson-presenting .teaching-slide.slide-warmup{background:#091e18 url('../../assets/experience/allied/map-background.png') center/cover no-repeat;border:1px solid #a6955d;border-radius:6px;color:#e5c67f}
.teaching-slide.slide-warmup .slide-heading h2{color:#f3ce68;text-shadow:0 2px 1px #866127,0 4px 4px #000}
.slide-warmup .slide-kicker{color:#dfc78b;text-align:center}
.slide-warmup .warmup-stage{color:#e5c67f}
.slide-warmup .warmup-tools{border-color:#b9a87555}
.slide-warmup .warmup-tools button{background:linear-gradient(#343a35,#191f1d);border-color:#9e916b;color:#e8ce85;box-shadow:0 2px 4px #0008}
.slide-warmup .warmup-tools button:hover{background:#494835}
.slide-warmup .warmup-scores>div:first-child>span{color:#d76055}
.slide-warmup .warmup-scores>div:last-child>span{color:#7bc1cd}
.slide-warmup .warmup-scores output{color:#ee4d42;background:#230d0c;border:1px solid #615348;border-radius:4px;padding:2px 10px}
.slide-warmup .warmup-clock output{color:#f3ce68}
.slide-warmup .warmup-art-menu{gap:2%;align-items:center;align-content:center}
.slide-warmup .warmup-art-menu>button{display:block;width:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;line-height:0;filter:drop-shadow(0 5px 5px #0008)}
.slide-warmup .warmup-art-menu>button:hover:not(:disabled),.slide-warmup .warmup-art-menu>button:focus-visible{background:none;box-shadow:none;filter:brightness(1.08) drop-shadow(0 5px 5px #0008)}
.warmup-art-menu>button>img{display:block;width:100%;height:auto}
.teaching-slide.slide-warmup p.warmup-teacher-note,.teaching-slide.slide-warmup p.warmup-clock-note{color:#d9bc76}
.slide-warmup .warmup-prompt>h3,.slide-warmup .warmup-door-game>h3{color:#f3ce68}
.slide-warmup .warmup-prompt>small{color:#dfc78b}
.slide-warmup .warmup-hint,.slide-warmup .warmup-answer,.slide-warmup .warmup-victory{color:#294638}
@media(max-width:650px){.slide-warmup .warmup-art-menu{gap:16px}.slide-warmup .warmup-art-menu>button{padding:0}}

/* Bound the artwork by BOTH available dimensions, including projector heights. */
.slide-warmup:has(.warmup-art-menu){container-type:size}
.slide-warmup:has(.warmup-art-menu) .slide-heading{margin-bottom:clamp(4px,1.4cqh,16px)}
.slide-warmup:has(.warmup-art-menu) .slide-kicker{margin-bottom:clamp(3px,1cqh,13px)}
.slide-warmup:has(.warmup-art-menu) .warmup-stage{gap:clamp(5px,1.5cqh,18px)}
.slide-warmup .warmup-art-menu{min-height:0;grid-template-rows:minmax(0,1fr);align-content:stretch;align-items:stretch}
.slide-warmup .warmup-art-menu>button{height:100%;min-height:0;position:relative}
.slide-warmup .warmup-art-menu>button>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.slide-warmup:has(.warmup-art-menu) p.warmup-teacher-note{flex:none;font-size:clamp(12px,2.1cqh,17px);line-height:1.35;margin:2px 0}
.slide-warmup:has(.warmup-art-menu) .warmup-clock-note:empty{display:none}
@media(max-width:650px){
 body:has(.warmup-art-menu) #hud,body:has(.warmup-art-menu) #rail{display:none!important}
 body:has(.warmup-art-menu) #shell{padding-top:0!important}
 body[data-screen=notebook]:has(.warmup-art-menu) #screen{height:100dvh;margin:0;padding:5px}
 .teaching-slide.slide-warmup:has(.warmup-art-menu),body.lesson-presenting .teaching-slide.slide-warmup:has(.warmup-art-menu){padding:8px 6px}
 body:has(.warmup-art-menu) .screen-heading,body:has(.warmup-art-menu) .notebook-tabs{display:none}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores{gap:8px;justify-content:space-between}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores>div{gap:4px}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores button{width:30px;min-height:32px;padding:2px}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores output{padding:2px 4px;font-size:20px}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores span{font-size:13px}
 .slide-warmup .warmup-art-menu{grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
 .slide-warmup:has(.warmup-art-menu) .warmup-tools{gap:5px;padding-bottom:5px}
 .slide-warmup:has(.warmup-art-menu) .warmup-tools{display:grid;grid-template-columns:auto 1fr}
 .slide-warmup:has(.warmup-art-menu) .warmup-back{font-size:11px;padding:3px 5px;min-height:32px}
 .slide-warmup:has(.warmup-art-menu) .warmup-clock{grid-column:2;grid-row:1;gap:4px;justify-self:end}
 .slide-warmup:has(.warmup-art-menu) .warmup-clock button{font-size:10px;padding:3px 5px;min-height:32px}
 .slide-warmup:has(.warmup-art-menu) .warmup-clock output{font-size:19px}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores{grid-column:1/-1;grid-row:2}
 .slide-warmup:has(.warmup-art-menu) .slide-heading h2{font-size:clamp(20px,4cqh,28px)}
}
@media(max-width:950px) and (max-height:500px){
 body:has(.warmup-art-menu) #hud,body:has(.warmup-art-menu) #rail,body:has(.warmup-art-menu) .screen-heading,body:has(.warmup-art-menu) .notebook-tabs{display:none!important}
 body:has(.warmup-art-menu) #shell{padding-top:0!important}
 body[data-screen=notebook]:has(.warmup-art-menu) #screen{height:100dvh;margin:0;padding:5px}
 .teaching-slide.slide-warmup:has(.warmup-art-menu),body.lesson-presenting .teaching-slide.slide-warmup:has(.warmup-art-menu){padding:6px 2%}
}
@media(max-height:500px){
 .slide-warmup:has(.warmup-art-menu) .slide-heading h2{font-size:24px}
 .slide-warmup:has(.warmup-art-menu) .slide-kicker{font-size:10px;line-height:1.2}
 .slide-warmup:has(.warmup-art-menu) .warmup-tools{gap:5px;padding-bottom:4px}
 .slide-warmup:has(.warmup-art-menu) .warmup-tools button{min-height:30px;padding:3px 7px;font-size:12px}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores button{width:30px}
 .slide-warmup:has(.warmup-art-menu) .warmup-scores output{font-size:20px}
}
