/* Projector layout and teacher-controlled progressive disclosure. */
.deck .slide {padding:18px 0 16px;min-height:0;justify-content:flex-start;flex:1;margin:0 auto;max-width:1500px}
.deck .slide h1 {font-size:clamp(1.9rem,3.05vw,3.15rem);max-width:28em;line-height:1.18}
.deck .slide .slide-kicker {font-size:clamp(18px,1.45vw,20px);line-height:1.35;margin:0 0 10px;letter-spacing:.025em;font-weight:600}
.deck .slide .slide-body {font-size:clamp(1rem,1.45vw,1.35rem);margin-top:11px;line-height:1.45;max-width:65em}
.deck .slide-question {font-size:clamp(1rem,1.5vw,1.35rem);margin-top:12px;line-height:1.4;flex-shrink:0}
[data-reveal-hidden] {visibility:hidden;pointer-events:none}
.visual-stage.just-revealed {animation:reveal-in 340ms cubic-bezier(.2,.8,.2,1) both}
@keyframes reveal-in {from {opacity:0;transform:translateY(13px) scale(.975)} to {opacity:1;transform:translateY(0) scale(1)}}
.reveal-toolbar {display:flex;gap:12px;align-items:center;padding:5px 0 7px;min-height:46px;font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);flex-shrink:0}
.reveal-toolbar b {color:var(--g700);font-variant-numeric:tabular-nums;margin-left:7px}
.reveal-toolbar .plain-btn {font-size:.86rem;min-height:40px;padding:6px 10px}
.reveal-toolbar .plain-btn:first-of-type {margin-left:auto}
.reveal-toolbar .ic {width:16px;height:16px;margin-right:5px}
.reveal-dots {display:flex;gap:5px}
.reveal-dots i {width:20px;height:5px;border-radius:5px;background:var(--g100)}
.reveal-dots i.active {background:var(--g600)}
.deck .deck-controls {padding-top:9px;flex-shrink:0}
.deck-controls .action-row {flex-shrink:0}
.deck-controls .action-row .btn {white-space:nowrap}
.deck button:disabled {opacity:.4;cursor:default}
.full-explanation {margin-top:15px}
.full-explanation ul {list-style:disc;padding-left:22px;display:grid;gap:8px;margin-top:10px}
.mcp-visual {display:grid;grid-template-columns:minmax(0,1.78fr) minmax(260px,1fr);align-items:center;gap:30px;margin:12px 0 0;min-height:0;width:100%;flex:1}
.mcp-visual figure {margin:0;position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch}
.mcp-visual img {display:block;width:100%;height:clamp(300px,40vh,440px);max-height:100%;object-fit:contain;border-radius:0;mix-blend-mode:normal}
.mcp-visual figcaption {font-size:12px;line-height:1.35;color:var(--muted);margin-top:4px;text-align:center}
.mcp-labels {list-style:none;display:grid;gap:24px;margin:0;padding:0}
.mcp-labels li {display:flex;align-items:flex-start;gap:14px}
.mcp-number {width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:var(--g700);color:#fff;font-size:1rem}
.mcp-labels b {font-size:clamp(1.12rem,1.75vw,1.5rem);line-height:1.3;display:block}
.mcp-labels p {font-size:clamp(.9rem,1.22vw,1.05rem);line-height:1.4;color:var(--muted);margin:7px 0 0}
@media(min-width:761px){
 .deck{height:100dvh;min-height:0;padding-bottom:12px}
 .deck-top,.deck-progress{flex-shrink:0}
 .deck-top{min-height:62px}
 .deck>.slide{overflow:visible}
 .deck>.slide>.presentation-visual{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;margin-top:12px;padding-block:8px}
 .deck>.slide>.presentation-visual>ol{width:100%}
 .deck:has(.presenter-notes){height:auto;min-height:100dvh}
 .deck:has(.presenter-notes)>.slide{flex:none;min-height:calc(100dvh - 190px)}
}
@media(min-width:761px) and (max-height:780px){
 .deck .slide{padding:14px 0 12px}
 .deck .slide h1{font-size:clamp(1.85rem,2.95vw,2.6rem)}
 .deck .slide .slide-kicker{font-size:18px;margin-bottom:8px}
 .deck .slide-question{margin-top:9px;font-size:1.03rem;line-height:1.35}
 .deck .slide .slide-body{margin-top:8px;font-size:1.04rem;line-height:1.4}
 .mcp-visual{margin-top:8px;gap:24px}
 .mcp-visual img{height:300px}
 .mcp-labels{gap:20px}
 .mcp-labels b{font-size:1.15rem}
 .mcp-labels p{font-size:.94rem}
 .reveal-toolbar{min-height:42px;padding:2px 0 4px}
}
@media(min-width:761px) and (max-height:650px){
 .deck-top{min-height:56px}
 .deck .slide{padding:9px 0}
 .deck .slide h1{font-size:clamp(1.65rem,2.7vw,2.2rem)}
 .deck .slide .slide-kicker{font-size:17px;margin-bottom:6px}
 .deck .slide .slide-body{margin-top:6px;font-size:1rem}
 .mcp-visual img{height:245px}
 .mcp-labels{gap:13px}
 .mcp-number{width:31px;height:31px;flex-basis:31px}
 .mcp-labels b{font-size:1.06rem}
 .mcp-labels p{font-size:.85rem;margin-top:4px}
}
@media(max-width:850px){.mcp-visual{gap:18px;grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr)}.deck-controls .action-row{flex:1}}
@media(max-width:760px){
 .deck .slide{padding:20px 0 24px;flex:none;justify-content:flex-start}
 .deck .slide h1{font-size:1.85rem}
 .deck .slide .slide-kicker{font-size:17px;margin-bottom:10px}
 .deck .slide .slide-body{font-size:1rem;margin-top:12px}
 .deck .slide-question{margin-top:20px}
 .reveal-toolbar{flex-wrap:wrap;gap:8px}
 .reveal-toolbar .plain-btn{font-size:.75rem;padding:5px}
 .reveal-dots{display:none}
 .deck-controls>.action-row{gap:4px}
 .deck-controls .action-row .btn{font-size:.78rem;min-height:44px;padding:0 10px}
 .deck-controls .slide-count{font-size:.78rem}
 .mcp-visual{grid-template-columns:1fr;max-height:none;flex:none;margin-top:18px;gap:14px}
 .mcp-visual figure{height:auto}
 .mcp-visual img{height:auto;max-height:360px;aspect-ratio:1.78;object-fit:contain}
 .mcp-visual figcaption{font-size:12px}
 .mcp-labels{gap:20px;margin-top:8px}
 .mcp-labels b{font-size:1.2rem}
 .mcp-labels p{font-size:1rem}
 .full-explanation ul{padding-left:17px}
}
@media(prefers-reduced-motion:reduce){.visual-stage.just-revealed{animation:none!important;transform:none!important;transition:none!important}}
@media print{.deck{height:auto;min-height:0}.reveal-toolbar{display:none!important}.print-deck [data-reveal]{visibility:visible!important;opacity:1!important;transform:none!important;animation:none!important}.print-deck .slide{min-height:0;break-after:page}.print-deck .mcp-visual{max-height:none;grid-template-columns:1.25fr 1fr;flex:none}.print-deck .mcp-visual img{max-width:100%;height:230px}.print-deck .mcp-labels b{font-size:13pt}.print-deck .mcp-labels p{font-size:10pt}}
