.school-room-host{position:relative;width:100%;height:100%;min-height:560px;overflow:hidden;color:#344936;font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;font-size:14px;isolation:isolate}
.school-room-world{position:absolute;inset:0;overflow:hidden;outline:none;touch-action:none}
.school-room-world:focus-visible{outline:3px solid #a8bc71;outline-offset:-3px}
.sr-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.sr-art{display:block}

.sr-actor{position:absolute;left:0;top:0;width:1px;height:1px;will-change:transform;cursor:pointer}
.sr-actor-visual{position:absolute;left:0;top:0;transform-origin:0 0}
.sr-actor.is-me{cursor:default}
.sr-avatar{position:absolute;pointer-events:none;contain:layout style}
.sr-motion{position:absolute;left:0;top:0}.sr-motion[hidden]{display:none}
.sr-player-name,.sr-bubble{position:absolute;left:0;transform:translateX(-50%);white-space:nowrap;pointer-events:none;line-height:1.45;font-weight:700;font-size:12px;color:#354335;border-radius:5px;background:#fffcf0ed;border:1px solid #cfbf9d;padding:1px 5px;box-shadow:0 1px 2px #2a382122;text-shadow:none;letter-spacing:0}
.sr-player-name{z-index:2}
.sr-bubble{z-index:3;font-size:14px;padding:5px 9px}
.sr-actor.is-me .sr-player-name{border-color:#79a364;background:#f9ffeaf0}
.sr-motion-paused *{animation-play-state:paused!important}
.sr-destination{position:absolute;width:13px;height:13px;border:2px solid #5b8856;border-radius:50%;background:#fbfff560;transform:translate(-50%,-50%);z-index:12;pointer-events:none}
.sr-hud{position:absolute;left:16px;top:13px;display:flex;align-items:flex-start;gap:10px;pointer-events:none;z-index:1200}
.sr-room-title,.sr-friend-count{padding:9px 13px;border:1px solid #c8b792;border-radius:10px;background:#fffcedf2;box-shadow:0 2px 4px #38462a20}
.sr-room-title strong{display:block;font-size:20px;font-weight:800;color:#496744;line-height:1.35;text-shadow:none}
.sr-network{display:block;margin-top:2px;color:#697360;font-size:12px;line-height:1.45}
.sr-friend-count{font-size:13px;margin-top:0}
.sr-friend-count b{color:#477541;margin-left:6px}
.sr-tools{position:absolute;top:13px;right:16px;display:flex;gap:6px;z-index:1200}
.school-room-host button{font-family:inherit;font-weight:700;font-size:13px;line-height:1.4;color:#46523a;text-shadow:none!important;letter-spacing:0!important;padding:8px 11px;border:1px solid #bdaa7c;border-radius:9px;background:#fffced;box-shadow:0 2px 0 #b2a06e;cursor:pointer;white-space:nowrap;min-height:37px}
.school-room-host button:hover{background:#f1f7dd;border-color:#839d60}
.school-room-host button:focus-visible{outline:3px solid #76a667;outline-offset:2px}
.school-room-host button:disabled{opacity:.62;cursor:default}
.sr-tools button[data-tool="zoom-out"],.sr-tools button[data-tool="zoom-in"]{font-size:20px;padding:3px 12px}
/* 조작 안내는 오른쪽 퀴즈 순위·팀 점수 판(폭 280, 맵 밖 층이라 z-index로는 못 올림) 왼쪽에 연다 */
.sr-help{position:absolute;right:312px;top:65px;background:#fffdf1f7;border:1px solid #c1b188;border-radius:9px;padding:14px 16px;line-height:1.9;box-shadow:0 3px 10px #29372722;z-index:1202;font-size:13px}
/* 상황 단추(표지판 앞 E, 사다리 ↑↓)만 여기에 뜬다. 인사는 1·2·3 키. */
.sr-controls{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:1200}
.sr-controls .sr-interact{min-width:175px;padding:8px 16px}
.sr-controls .sr-interact:disabled{display:none}
.sr-notice{position:absolute;bottom:80px;left:50%;transform:translateX(-50%) translateY(5px);max-width:580px;opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;border:1px solid #b8af84;background:#fffbeefa;padding:8px 14px;border-radius:10px;line-height:1.5;box-shadow:0 2px 6px #42503720;z-index:1203;text-align:center;font-size:13px}
.sr-notice.is-visible{opacity:1;transform:translateX(-50%)}
.school-room-host [hidden]{display:none!important}

@media(prefers-reduced-motion:reduce){.sr-world{will-change:auto}.sr-notice{transition:none}.sr-avatar *{animation-duration:0s!important}}
