/* The toy-world collection. DOM controls remain on top of every GPU picture. */
.adventure-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;background:#dcebe2}
.adventure-renderer{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;border-radius:inherit}
.adventure-renderer .three-canvas,.adventure-renderer .three-snapshot{display:block;width:100%;height:100%;object-fit:cover}
.adventure-flat{width:100%;height:100%}
.adventure-flat>svg{display:block;width:100%;height:100%}
[data-graphics="3d"]>.adventure-flat,[data-graphics="3d"]>.br-car-canvas,[data-graphics="3d"]>.br-race-canvas,[data-graphics="3d"]>.express-board,[data-graphics="3d"]>.block-board{opacity:0}
.br-track-view>.br-race-canvas{position:relative;z-index:2}
.br-bench-badge,.br-build-count,.br-pause,.express-station,.express-hint{z-index:4}
.br-workbench.adventure-stage{background:#deeadb;border:1px solid #bad4bd;box-shadow:0 8px 0 #aac7b525}
.br-track-view.adventure-stage{background:#cfdfca;border:5px solid #fff6df;box-shadow:0 6px 0 #96baad}
.game-room .express-yard.adventure-stage{border:5px solid #fff5db;box-shadow:0 5px 0 #a6c4b1;background:#dbebdd}
.game-room .express-board{position:relative;z-index:2}
.block-board-wrap.adventure-stage{border:4px solid #fff9e9;box-shadow:0 5px 0 #b5a9c5}
.block-scene{position:relative;background:#ece8f4}
.block-side .scene-pill{background:#fff8e3;color:#455369;border:2px solid #e0d6b9}
.block-side-label{color:#737189}
.block-next{border-radius:18px;border:2px solid #d4cbe4;background:#fffdf4;padding:10px}
.adventure-stop{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:2px solid #dfcfac;border-radius:24px;background:#fff9e9;box-shadow:0 8px 0 #435d4520;color:#294752;min-width:0}
.adventure-stop[hidden]{display:none!important}
.adventure-stop-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.adventure-stop-title{font-size:10px;letter-spacing:.13em;font-weight:850;color:#758773}
.adventure-stop-clue{font-size:clamp(29px,4vw,43px);font-weight:850;line-height:1.15;letter-spacing:.04em;white-space:nowrap}
.adventure-stop-prompt{font-size:16px;line-height:1.4;margin:0;max-width:350px}
.adventure-stop-choices{display:flex;gap:10px;flex:none}
.adventure-answer{width:68px;min-height:70px;border:2px solid #afcbb7;border-radius:18px;background:#e0eddb;color:#254b48;font-family:inherit;font-weight:800;font-size:30px;line-height:1;box-shadow:0 5px 0 #acc7ae;cursor:pointer;touch-action:manipulation}
.adventure-answer:hover{background:#cfe5cc;transform:translateY(-2px)}
.adventure-answer:active{transform:translateY(3px);box-shadow:0 2px 0 #acc7ae}
.adventure-answer:focus-visible{outline:4px solid #e7af41;outline-offset:4px}
.block-scene>.adventure-stop,.express-scene>.adventure-stop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(580px,calc(100% - 24px));box-sizing:border-box;flex-direction:column;text-align:center;box-shadow:0 0 0 100vmax #25444244,0 12px 30px #26433930}
.express-scene{position:relative}
.little-builder-game .lb-world,.snack-safari-game .sf-world{border:4px solid #fff7e0;box-shadow:0 5px 0 #b5cdb529;border-radius:24px;box-sizing:border-box}
.snack-safari-game .sf-world{height:clamp(180px,24vw,270px)}
.sf-heading,.lb-project-heading{color:#3b6259;letter-spacing:.025em}
.sf-food-card,.lb-choice{background:#fffaf0!important;border-color:#d5dcc6!important;box-shadow:0 5px 0 #c3ccb0!important;border-radius:20px!important}
.sf-plate{background:#fffcf0;border-color:#dddcc2}
.bubble-learning{background:#e3efdf;border:3px solid #fff8e2;border-radius:24px}
.bubble-learning .scene-art{display:none}
.bubble-learning .bubble-learning-body,.bubble-learning[data-level="1"] .bubble-learning-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.bubble-learning .bubble-pool,.bubble-learning[data-level="1"] .bubble-pool{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:156px;padding:12px;width:100%;box-sizing:border-box;background:#d8eeea;border-radius:26px}
.bubble-learning .bubble-target,.bubble-learning[data-level="1"] .bubble-target{width:min(100%,72px);min-height:44px;position:relative;z-index:2;aspect-ratio:1;box-sizing:border-box}
.bubble-pool[data-graphics="3d"] .bubble-target:not(.caught){background:transparent;border-color:transparent;box-shadow:none}
.bubble-pool[data-graphics="3d"] .bubble-target:not(.caught)>span{opacity:0}
.bubble-pool[data-graphics="3d"] .bubble-target.caught{background:#f2f9ee;box-shadow:none;border:2px dashed #8bbcab}
.bubble-pool .adventure-renderer{z-index:1}
.bubble-mission-heading,.bubble-tray-label{color:#315a54}
.bubble-tray-panel{border-color:#c5d8b8;background:#fff9e7;box-shadow:0 4px 0 #b7ccb0}
.bubble-existing{display:flex;align-items:center;justify-content:center;gap:8px;color:#416c62;font-size:14px}
.bubble-gift{width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#f4d379);border:2px solid #fff7cf;color:transparent}
@media(max-width:640px){
 .adventure-stop{padding:16px;gap:13px;flex-direction:column;text-align:center}
 .adventure-stop-clue{font-size:32px}.adventure-stop-prompt{font-size:15px}
 .adventure-answer{width:64px;min-height:60px}
 .bubble-learning .bubble-learning-body,.bubble-learning[data-level="1"] .bubble-learning-body{grid-template-columns:1fr;gap:10px}
 .bubble-learning .bubble-pool,.bubble-learning[data-level="1"] .bubble-pool{max-width:350px;padding:8px;min-height:120px}
 .bubble-learning .bubble-target,.bubble-learning[data-level="1"] .bubble-target{width:52px;min-height:44px}
 .bubble-learning-content{gap:10px}
 .bubble-tray{min-height:80px;grid-template-columns:repeat(6,minmax(0,1fr))}
 .bubble-tray-slot{min-height:40px}
 .bubble-existing{gap:5px;font-size:12px}.bubble-gift{width:19px;height:19px}
 .snack-safari-game .sf-world{height:170px}
 .little-builder-game .lb-world{height:210px}
}
@media(prefers-reduced-motion:reduce){.adventure-answer{transition:none;transform:none!important}}

.bubble-learning .bubble-tray{grid-template-columns:repeat(6,minmax(0,1fr));max-width:384px;margin:auto;min-height:104px}
.bubble-learning .bubble-tray-slot{max-width:58px;min-height:44px}
.little-builder-game>.adventure-stop{grid-column:1/-1}

.game-room .block-controls[hidden],.game-room .lb-controls[hidden]{display:none!important}
@media(max-width:380px){
 .game-room .block-controls{gap:6px;padding-left:0;padding-right:0}
 .game-room .block-controls .direction-controls{gap:5px}
 .game-room .block-controls .block-btn{width:46px;min-width:46px}
 .game-room .block-controls .block-drop{min-width:0;padding:10px 12px;font-size:17px;flex:1}
 body.immersive .game-room-header>.game-exit{width:44px;min-width:44px;padding:10px}
 body.immersive .game-room-header>.game-exit>span{display:none}
}
/* Build plans sit over the finished garage so the choices never fall below it. */
.game-room .little-builder-game[data-phase="inspection"]{position:relative;display:block;min-height:300px;padding:12px;overflow:hidden}
.game-room .little-builder-game[data-phase="inspection"] .lb-world{height:280px;opacity:.55}
.game-room .little-builder-game[data-phase="inspection"]>.adventure-stop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(580px,calc(100% - 20px));box-sizing:border-box;flex-direction:column;text-align:center;padding:18px;gap:12px}
@media(orientation:landscape) and (max-height:600px){
 .game-room .little-builder-game[data-phase="inspection"]{min-height:260px;padding:8px}
 .game-room .little-builder-game[data-phase="inspection"] .lb-world{height:240px}
 .game-room .little-builder-game[data-phase="inspection"]>.adventure-stop{padding:12px;gap:8px}
 .game-room .little-builder-game[data-phase="inspection"] .adventure-stop-copy{gap:5px}
 .game-room .little-builder-game[data-phase="inspection"] .adventure-stop-clue{font-size:28px}
 .game-room .little-builder-game[data-phase="inspection"] .adventure-stop-prompt{font-size:14px}
 .game-room .little-builder-game[data-phase="inspection"] .adventure-answer{min-height:50px;width:56px}
}
