/* Interior scenes, restrained controls, and one readable activity surface. */
.world-room-stage{background:radial-gradient(circle at 50% 38%,#b67a74,#634255 63%,#241628);color:#fff5e8}
.world-room-stage .world-canvas{filter:saturate(1.08)}
.world-room-board{position:absolute;z-index:2;transform:translate(-50%,-50%);width:min(29vw,340px);padding:9px;text-align:center;pointer-events:none;text-shadow:0 2px 8px #170b1d}
.world-room-board span{display:block;color:#ffcf8f;font-size:clamp(14px,2vw,25px);font-weight:900;letter-spacing:-.03em}
.world-room-board strong{display:block;margin-top:5px;color:#fff4e5;font-size:clamp(9px,1vw,12px);line-height:1.3}
.world-room-label{flex-direction:column;justify-content:center;gap:1px;min-width:92px;min-height:59px;text-align:center;white-space:normal}.world-room-label span{width:auto;height:auto;background:none;color:#ffc981;font-size:20px}.world-room-label b{font-size:12px}.world-room-label small{font-size:8px}
.world-room-top .world-location{max-width:min(38vw,440px)}.world-room-top .world-location strong{font-size:11px;font-weight:600;color:#ffe0d3;line-height:1.3}
.world-room-side{width:225px}.world-camera-pick{display:flex;gap:3px;padding:4px;margin-top:10px;background:#1e1422a8;border-radius:10px}.world-camera-pick button{flex:1;min-height:30px;padding:3px!important;background:transparent!important;border:1px solid transparent!important;color:#f5dacd!important;font-size:10px}.world-camera-pick button.selected{background:#e8ad70!important;color:#2a1927!important;border-color:#ffe2a4!important;font-weight:850}
.world-room-map{position:relative;width:100%;aspect-ratio:1.25;background:repeating-linear-gradient(90deg,#91637124 0 1px,transparent 1px 22px),repeating-linear-gradient(#91637124 0 1px,transparent 1px 22px),#4c3045;border:1px solid #ba8b89;border-radius:12px;overflow:hidden}.world-room-map:after{position:absolute;inset:20% 9%;border:2px solid #c88b7b55;border-radius:10px;content:'';pointer-events:none}.world-room-map-you{position:absolute;z-index:3;left:50%;top:71%;transform:translate(-50%,-50%);padding:3px 4px;border-radius:5px;background:#ffce88;color:#331c2f;font-size:8px;font-weight:900;white-space:nowrap}.world-room-map button{position:absolute;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:24px;height:24px;min-height:24px;padding:0!important;background:#6b4455!important;border:1px solid #f1b783!important;border-radius:6px!important;color:#ffe0a8!important;font-size:13px;box-shadow:none!important}.world-room-map button.selected{background:#ffbf73!important;color:#2e1a2e!important;outline:2px solid #fff0c7}.world-room-map button small{display:none}
.world-nameplate{position:absolute;z-index:3;transform:translate(-50%,-50%);padding:3px 7px;border-radius:7px;border:1px solid #ffce94;background:#382339dc;color:#fff5e6;font-size:10px;font-weight:800;pointer-events:none;white-space:nowrap}
.world-character-button{position:absolute;left:18px;top:79px;z-index:5;min-height:35px;padding:6px 11px!important;border:1px solid #edbd91!important;border-radius:9px!important;background:#3b263adf!important;color:#ffe6c5!important;font-size:11px;font-weight:750}
.world-avatar-dialog,.world-activity-panel{position:absolute;inset:0;z-index:24;display:grid;place-items:center;padding:20px;background:#1b1020b9;backdrop-filter:blur(7px)}.world-avatar-dialog[hidden],.world-activity-panel[hidden]{display:none}
.world-avatar-dialog>div,.world-activity-panel>div{position:relative;width:min(760px,100%);max-height:min(82dvh,740px);overflow:auto;padding:clamp(20px,3vw,31px);border:1px solid #e4ac83;border-radius:23px;background:linear-gradient(140deg,#503246,#2c1e32);box-shadow:0 28px 90px #100b17;color:#fff2e4}.world-avatar-dialog h2,.world-activity-panel h2{font-size:clamp(23px,3vw,34px);margin:6px 42px 9px 0;line-height:1.1}.world-avatar-dialog p,.world-activity-panel p{font-size:13px;line-height:1.5;color:#ecd2cb}.world-dialog-close{position:absolute;right:16px;top:16px;width:39px;min-height:39px;padding:0!important;border:1px solid #b88987!important;border-radius:10px!important;background:#6b4657!important;color:white!important;font-size:24px}.world-avatar-dialog .eyebrow,.world-activity-panel .eyebrow{color:#ffc481;font-size:10px;letter-spacing:.15em;font-weight:850}
.world-avatar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.world-avatar-card{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 11px;min-height:84px;padding:12px!important;border:1px solid #b9828b!important;border-radius:13px!important;background:#634052!important;color:#fff1e6!important;text-align:left}.world-avatar-card.selected{border-color:#ffd19a!important;background:#81514f!important;box-shadow:inset 0 0 0 1px #ffca8d}.world-avatar-card small{grid-column:2;color:#ecd1c7;font-size:10px;line-height:1.25}.world-avatar-swatch{grid-row:1/3;display:grid;place-items:center;width:39px;height:48px;border-radius:40% 40% 12px 12px;background:linear-gradient(#e0b18e 0 28%,#5c264d 28%);font-size:0}.world-avatar-swatch.relativity{background:linear-gradient(#ccc2ab 0 28%,#54566f 28%)}.world-avatar-swatch.patterns{background:linear-gradient(#b89178 0 28%,#325e5b 28%)}.world-avatar-swatch.symmetry{background:linear-gradient(#9c6d57 0 28%,#81416a 28%)}
.world-topic-picks,.world-level-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.world-topic-picks button,.world-level-picks button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px;min-height:67px;padding:12px 14px!important;border:1px solid #a87c81!important;border-radius:12px!important;background:#604052!important;color:#fff5e6!important;text-align:left}.world-topic-picks button:hover,.world-level-picks button:hover{background:#764958!important;border-color:#ffca91!important}.world-topic-picks small,.world-level-picks small{grid-row:2;color:#f0d2c4;font-size:10px}.world-topic-picks span,.world-level-picks span{grid-column:2;grid-row:1/3;color:#ffca87;font-size:18px}.world-level-picks{grid-template-columns:repeat(3,minmax(0,1fr))}.world-level-picks button:disabled{opacity:.48;cursor:not-allowed}
.world-lesson-content{padding:16px 19px;margin:16px 0;border-radius:14px;border:1px solid #b98d86;background:#f8ead6;color:#2e2130;line-height:1.55}.world-lesson-content b{color:#7e3d42}.world-lesson-content p{color:#30232f;margin:5px 0 14px;font-size:15px}.world-lesson-content small{color:#725059}
.world-panel-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.world-panel-actions button{min-height:43px;padding:9px 15px!important;border:1px solid #d4a18c!important;border-radius:10px!important;background:#69475a!important;color:#fff5e9!important;font-weight:800}.world-panel-actions button.primary,.world-activity-panel .primary{background:#ffc07b!important;color:#382237!important;border-color:#ffe2a7!important}
.world-surface-pick{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px}.world-surface-pick span{width:100%;font-size:11px;color:#f0c8b8;font-weight:750}.world-surface-pick button{min-height:36px;padding:6px 11px!important;border:1px solid #a67a82!important;border-radius:8px!important;background:#614052!important;color:#fff0df!important;font-size:11px}.world-surface-pick button.selected{border-color:#ffc887!important;background:#ffc27f!important;color:#392338!important;font-weight:850}.world-disclosure{padding:9px 11px;background:#412e40;border-left:3px solid #ffc27f;border-radius:5px;font-size:11px!important}
.world-return-button{display:block;min-height:36px;margin-bottom:10px;padding:7px 13px!important;border:1px solid #c98d79!important;border-radius:9px!important;background:#603949!important;color:#fff3e8!important;font-size:12px;font-weight:800}
html[data-surface=book] .challenge-question,html[data-surface=book] .play-question{background:#fbf2df!important;color:#302431!important;border:2px solid #aa7664!important;border-radius:4px 20px 20px 4px!important;box-shadow:inset 8px 0 0 #d6b499!important}
html[data-surface=laptop] .challenge-question,html[data-surface=laptop] .play-question{background:#e9e5dd!important;color:#302431!important;border:9px solid #373039!important;border-radius:12px!important;box-shadow:0 8px 0 #aaa4a0!important}
.world-room-stage.map-mode .world-room-board,.world-room-stage.map-mode .world-character-button{display:none}.world-fallback .world-room-map{width:min(360px,100%);margin:16px auto}.world-fallback .world-room-map button{width:40px;height:40px;min-height:40px}.world-fallback .world-room-map button small{display:none}
@media(max-width:800px){.world-room-top .world-brand{display:none}.world-room-top .world-location{display:grid;max-width:calc(100% - 118px);padding:8px 10px}.world-room-top .world-location span{font-size:8px}.world-room-top .world-location strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-room-side{top:58px;width:min(200px,55vw)}.world-character-button{top:58px;left:8px;padding:5px 7px!important;font-size:9px;min-height:30px}.world-room-side{top:98px}.world-room-stage .world-minimap{bottom:86px;width:105px}.world-room-board{width:38vw}.world-room-board strong{display:none}.world-room-label{min-width:61px;min-height:40px;padding:3px!important}.world-room-label span{font-size:13px}.world-room-label b{font-size:9px}.world-room-label small{display:none}.world-avatar-dialog,.world-activity-panel{padding:9px}.world-avatar-dialog>div,.world-activity-panel>div{max-height:calc(100dvh - 96px);padding:18px;border-radius:16px}.world-topic-picks,.world-level-picks{grid-template-columns:1fr 1fr;gap:6px}.world-topic-picks button,.world-level-picks button{min-height:54px;padding:8px!important;font-size:11px}.world-level-picks button:last-child{grid-column:1/-1}.world-avatar-grid{gap:6px}.world-avatar-card{min-height:75px;padding:8px!important;grid-template-columns:27px 1fr}.world-avatar-swatch{width:27px;height:35px}.world-avatar-card b{font-size:11px}.world-avatar-card small{font-size:9px}}
@media(max-width:390px){.world-room-side{width:166px}.world-room-stage .world-minimap{width:88px}.world-room-top .world-location{max-width:calc(100% - 95px)}.world-avatar-grid{grid-template-columns:1fr}.world-avatar-card{min-height:50px}.world-avatar-card small{font-size:9px}}
@media(max-height:650px){.world-room-side{top:52px}.world-room-stage .world-minimap{bottom:53px;width:80px}.world-character-button{top:51px;left:8px}.world-activity-panel>div,.world-avatar-dialog>div{max-height:calc(100dvh - 36px)}}
@media(prefers-reduced-motion:reduce){.world-room-stage *{transition:none!important;animation:none!important}}
/* The selected reading surface follows a real question view, including assigned rounds. */
html[data-surface=book] .fixed-question-pane,html[data-surface=book] .arena-question-card,html[data-surface=book] .challenge-layout .panel:has(.qtext){background:#f8eedc!important;color:#2b2430!important;border:2px solid #b07c66!important;border-radius:5px 20px 20px 5px!important;box-shadow:inset 9px 0 0 #d4ad85,0 14px 30px #180d1a30!important}
html[data-surface=book] .fixed-question-pane .qtext,html[data-surface=book] .arena-question-card .qtext,html[data-surface=book] .challenge-layout .qtext{color:#2b2430!important}
html[data-surface=laptop] .fixed-question-pane,html[data-surface=laptop] .arena-question-card,html[data-surface=laptop] .challenge-layout .panel:has(.qtext){border:7px solid #322d38!important;border-radius:14px!important;box-shadow:0 8px 0 #928986,0 18px 24px #180d1a40!important}
html[data-surface=board] .fixed-question-pane,html[data-surface=board] .arena-question-card,html[data-surface=board] .challenge-layout .panel:has(.qtext){border:8px ridge #b77b55!important;background:#304940!important;color:#fff9e8!important;box-shadow:0 12px 28px #160f20a8!important}
html[data-surface=board] .fixed-question-pane .qtext,html[data-surface=board] .arena-question-card .qtext,html[data-surface=board] .challenge-layout .qtext{color:#fff9e8!important}
.world-entrance-label[hidden],.world-room-board[hidden],.world-nameplate[hidden]{display:none!important}
.world-stage button:focus-visible,.world-stage select:focus-visible{outline:3px solid #fff0b8!important;outline-offset:3px}
/* Accessible map tools remain available in the 3D, overview and fallback views. */
.world-view-controls{position:absolute;z-index:12;left:18px;bottom:255px;display:grid;grid-template-columns:repeat(3,33px);gap:4px;padding:7px;border:1px solid #d4a0849b;border-radius:12px;background:#302038e6;box-shadow:0 12px 24px #1b101c9c;backdrop-filter:blur(12px)}
.world-view-controls button{display:grid;place-items:center;width:33px;height:33px;min-height:33px;padding:0!important;border:1px solid #b28288!important;border-radius:7px!important;background:#644251!important;color:#ffe6c0!important;font-size:18px;font-weight:800;touch-action:manipulation}
.world-view-controls button:hover{background:#87525c!important;border-color:#ffcc94!important}.world-view-controls .world-reset-view{grid-column:1/-1;width:100%;display:flex;justify-content:center;gap:5px;background:#ffc380!important;color:#392132!important;font-size:14px}.world-view-controls .world-reset-view span{font-size:10px;font-weight:850}
.world-stage.map-mode .world-view-controls{position:absolute;top:18px;bottom:auto;left:18px;z-index:30}.world-fallback .world-map,.world-fallback .world-room-map{touch-action:none;will-change:transform}
.world-avatar-art{position:absolute;z-index:3;transform:translate(-50%,-100%);width:auto;max-width:none;object-fit:contain;pointer-events:none;filter:drop-shadow(0 6px 10px #100b12a8)}
.world-avatar-art.walking{animation:world-walk .32s ease-in-out infinite alternate}@keyframes world-walk{to{transform:translate(-50%,calc(-100% - 4px))}}
.world-stage[data-avatar=patterns] .world-avatar-art{filter:hue-rotate(65deg) drop-shadow(0 6px 10px #100b12a8)}
.world-stage[data-avatar=symmetry] .world-avatar-art{filter:hue-rotate(-32deg) drop-shadow(0 6px 10px #100b12a8)}
.world-stage[data-avatar=relativity] .world-avatar-art{filter:saturate(.65) drop-shadow(0 6px 10px #100b12a8)}
.world-stage.map-mode .world-avatar-art,.world-avatar-art[hidden]{display:none!important}
@media(max-width:800px){.world-view-controls{left:8px;bottom:180px;grid-template-columns:repeat(4,27px);gap:3px;padding:5px}.world-view-controls button{width:27px;height:27px;min-height:27px;font-size:14px}.world-view-controls .world-reset-view{grid-column:1/-1}.world-stage.map-mode .world-view-controls{top:8px;left:8px}.world-avatar-art{max-height:240px}}
@media(max-width:390px){.world-view-controls{bottom:163px}.world-avatar-art{max-height:200px}}
@media(max-height:650px){.world-view-controls{bottom:150px}.world-avatar-art{max-height:170px}}
@media(prefers-reduced-motion:reduce){.world-avatar-art.walking{animation:none}}
.world-avatar-swatch,.world-avatar-swatch.relativity,.world-avatar-swatch.patterns,.world-avatar-swatch.symmetry{width:46px;height:57px;border-radius:8px;background-color:#3b2638;background-image:url('assets/world-v2/explorer.webp');background-position:center 24%;background-size:75px auto;background-repeat:no-repeat;border:1px solid #ad7e80}
.world-avatar-swatch.patterns{background-image:url('assets/world-v2/patterns.webp')}.world-avatar-swatch.symmetry{background-image:url('assets/world-v2/symmetry.webp')}.world-avatar-swatch.relativity{filter:saturate(.62)}
.world-stage[data-avatar=patterns] .world-avatar-art,.world-stage[data-avatar=symmetry] .world-avatar-art{filter:drop-shadow(0 6px 10px #100b12a8)}
@media(max-width:800px){.world-avatar-swatch,.world-avatar-swatch.relativity,.world-avatar-swatch.patterns,.world-avatar-swatch.symmetry{width:33px;height:42px;background-size:60px auto}}
