/* The room moves beneath spatially attached people and their conversation choices. */
.scene-stage.classroom-stage { display:flex;flex-direction:column;isolation:isolate;min-height:600px; }
.classroom-stage > .scene-heading { z-index:6;top:18px;left:24px;max-width:70%;pointer-events:none; }
.classroom-stage > .scene-heading h1 { font:26px/1.1 Georgia,serif;margin:0; }
.classroom-stage > .scene-heading .scene-location,.classroom-stage > .scene-heading p { display:none; }
.classroom-view { position:relative;flex:1;min-height:420px;overflow:hidden;background:#202e29;cursor:grab;touch-action:pan-y pinch-zoom;outline-offset:-4px; }
.classroom-view.is-dragging,.classroom-view.is-dragging * { cursor:grabbing!important;user-select:none; }
.classroom-panorama,.classroom-panorama-fallback { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none; }
.classroom-panorama-fallback { object-fit:cover; }
.classroom-seats { position:absolute;inset:0;pointer-events:none; }
.classroom-seat { position:absolute;transform:translateX(-50%);pointer-events:none; }
.classroom-seat[hidden],.classroom-chat[hidden],.classroom-alex[hidden],.classroom-panorama[hidden],.classroom-panorama-fallback[hidden] { display:none!important; }
.classroom-student-rear { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:brightness(.91) saturate(.9); }
.classroom-student-front { position:absolute;inset:0;filter:brightness(.92) saturate(.92); }
.classroom-seat[data-facing="lesson"] .classroom-student-front { display:none; }
.classroom-seat[data-facing="toward-camera"] .classroom-student-rear { display:none; }
.classroom-front-body { position:absolute;top:0;left:-2%;width:104%;height:65%;overflow:hidden; }
.classroom-front-body img { position:absolute;top:-5%;left:50%;transform:translateX(-50%);height:240%;width:auto;max-width:none; }
.classroom-front-desk { position:absolute;left:-13%;top:42%;width:126%;height:62%;object-fit:fill; }
.classroom-view .classroom-chat.scene-choice { position:absolute;min-height:48px;max-width:none;transform:translate(-50%,-100%);padding:8px 10px;gap:6px;background:#122d32ed;border-color:#d8ecdc99;box-shadow:0 3px 14px #0004;pointer-events:auto;z-index:150; }
.classroom-chat .choice-title { font-size:12px;line-height:1.25; }
.classroom-chat .choice-detail { font-size:10px;line-height:1.2; }
.classroom-chat .choice-number { flex:0 0 22px;font-size:11px; }
.classroom-chat.scene-choice::before { display:none; }
.classroom-chat::after { content:'';position:absolute;left:calc(50% - 1px);bottom:-10px;height:9px;width:2px;background:#d5eee4; }
.classroom-alex { position:absolute;z-index:130;left:-4%;bottom:-31%;height:91%;width:auto;max-width:none;pointer-events:none;filter:brightness(.88) saturate(.87); }
.classroom-camera-controls { z-index:5;display:flex;align-items:center;gap:12px;padding:9px 16px;background:#10282b;border-top:1px solid #bad1bf33;color:#cdded8;flex-wrap:wrap; }
.classroom-turn-buttons { display:flex;gap:6px; }
.classroom-camera-controls button,.classroom-find { border:1px solid #afc8bc55;background:#1e3a3d;color:#e6efdf;border-radius:8px;padding:8px 10px;min-height:38px;font-family:inherit;font-size:12px;line-height:1.2; }
.classroom-camera-controls button:hover { background:#345453; }
.classroom-turn { min-width:38px; }
.classroom-drag-hint { font-size:12px; }
.classroom-direction { font-size:11px;margin-left:auto; }
.classroom-find { width:155px; }
.classroom-actions { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:12px 16px 16px;background:#0c2023;z-index:5;max-height:200px;overflow:auto; }
.classroom-stage .classroom-action.scene-choice { position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;min-height:56px;padding:10px;pointer-events:auto; }
.classroom-action.scene-choice::before { display:none; }
.classroom-action .choice-title { font-size:13px; }
.classroom-action .choice-detail { font-size:11px; }
@media(max-width:760px){
 .scene-stage.classroom-stage { min-height:650px; }
 .classroom-view { min-height:405px; }
 .classroom-stage > .scene-heading { top:18px;left:17px;max-width:90%; }
 .classroom-stage > .scene-heading h1 { font-size:23px; }
 .classroom-alex { left:-14%;bottom:-27%;height:70%; }
 .classroom-camera-controls { padding:8px 10px;gap:7px; }
 .classroom-drag-hint { width:100%;font-size:11px; }
 .classroom-direction { display:none; }
 .classroom-camera-controls button { padding:7px 8px; }
 .classroom-find { width:100%; }
 .classroom-actions { padding:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:200px; }
 .classroom-stage .classroom-action.scene-choice { min-height:56px;padding:8px;flex-direction:row;gap:6px; }
 .classroom-action .choice-title { font-size:12px; }
 .classroom-action .choice-detail { font-size:10px; }
 .classroom-view .classroom-chat.scene-choice { padding:7px;min-height:47px; }
 .classroom-chat .choice-title { font-size:12px; }
 .classroom-chat .choice-detail { font-size:10px; }
}

.classroom-student-front.has-seated-art .classroom-front-body,.classroom-student-front.has-seated-art .classroom-front-desk { display:none; }
.classroom-student-seated { position:absolute;inset:0;width:100%;height:100%;object-fit:contain; }
.scene-outcome.classroom-outcome { display:flex;flex-direction:column;padding-bottom:90px;background:#10272a;overflow:auto; }
.scene-outcome.classroom-outcome::after { display:none; }
.scene-outcome.classroom-outcome .classroom-view { flex:1;min-height:260px;cursor:default; }
.scene-outcome.classroom-outcome .outcome-copy { flex:0 0 auto;position:relative;inset:auto;max-width:none;max-height:none;padding:15px 28px;margin:0;overflow:visible; }
body[data-edition="v15"] .scene-outcome.classroom-outcome .outcome-copy h2 { font-size:27px;margin:7px 0; }
.scene-outcome.classroom-outcome .outcome-copy p { font-size:13px;line-height:1.5;margin:8px 0; }
.scene-outcome.classroom-outcome .effects { margin-top:8px; }

.classroom-alex-hat { clip-path:inset(0 0 60% 0); }

/* Side portraits keep their world-facing direction even during a camera turn. */
.classroom-student-side { display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:brightness(.94) saturate(.9); }
.classroom-seat[data-facing="side"] .classroom-student-rear,
.classroom-seat[data-facing="side"] .classroom-student-front { display:none; }
.classroom-seat[data-facing="side"] .classroom-student-side { display:block; }
.classroom-seat[data-profile-direction="left"] .classroom-student-side { transform:scaleX(-1); }
.classroom-seat { will-change:transform; }

/* Follow Alex's shoulder consistently at every viewing angle. */
.classroom-alex { left:-5%;bottom:-30%;height:100%;transform:none;filter:brightness(.96) saturate(.93); }
.classroom-background-student { pointer-events:none; }
.classroom-view .classroom-chat.scene-choice { background:#10282ae8;min-height:44px; }
.classroom-chat .choice-detail { display:none; }
@media(max-width:760px){
 .classroom-alex { left:-32%;bottom:-25%;height:83%; }
}
