/* Give the instrument priority; compact the chrome, never scale the whole page. */
body[data-room] .reels{--row-max:240;--reel-width-factor:3.65;width:calc(var(--row)*3.65);gap:calc(var(--row)*.075)}
body[data-room] .reels .symbol .symbol-art,body[data-room] .reels .strip-cell .symbol-art{width:calc(var(--row)*.94);height:calc(var(--row)*.94);max-width:82%}
body[data-room] .topbar{height:24px;min-height:24px;margin-top:0;padding-top:0;padding-bottom:0}
body[data-room] .topbar .version-button,body[data-room] .utility-menu>summary{min-height:24px;padding:0}
body[data-room] #game-title{font-size:25px}
body[data-room] .room-switch button{min-height:33px}
.room-range-caption{font-size:6px;line-height:8px;margin-bottom:0}
body[data-room] .dual-game-note{line-height:10px}
body[data-room] .dual-game-note .dual-game-title{font-size:8px;line-height:14px;letter-spacing:.17em}
body[data-room] .dual-game-title button{min-height:20px;padding:0 7px;font-size:9px}
body[data-room] .result{height:31px;min-height:31px;max-height:31px}
body[data-room] .orbit-console{margin:1px auto;gap:6px;min-height:50px}
body[data-room] .orbit-console>.metric,body[data-room] .orbit-console>.stake-control{height:50px;padding:4px 10px}
body[data-room] .payout-shelf{margin-top:1px}
body[data-room] .console-bottom>.text-btn,body[data-room] .game-options>summary,body[data-room] .session-drawer>summary{min-height:26px}
/* Short shooting stars stay in a genuinely clipped sky, never on the floor. */
.world-effects .sky-meteors{inset:0 12% auto;height:min(24vh,190px);overflow:hidden;clip-path:inset(0);contain:paint;transform:none}
.world-effects .sky-meteors i{left:65%;top:18%;width:44px;height:1px;animation:sky-streak-821 12s linear infinite;background:linear-gradient(90deg,transparent,#cde1ff);box-shadow:none}
.world-effects .sky-meteors i:nth-child(2){left:35%;top:12%;width:30px;animation-delay:4s;animation-duration:17s}
.world-effects .sky-meteors i:nth-child(3){left:84%;top:8%;width:36px;animation-delay:8s;animation-duration:21s}
@keyframes sky-streak-821{0%,88%{opacity:0;transform:translate(0,0) rotate(-22deg)}89%{opacity:.8}96%,100%{opacity:0;transform:translate(-75px,30px) rotate(-22deg)}}
/* A photographed, crusted molten flow replaces the old SVG line. */
.lava-reveal{position:absolute;inset:0;background:url('room-red-lava-v821.webp') center/cover no-repeat;animation:lava-spread-821 22s ease-in-out infinite;will-change:clip-path;opacity:.95}
@keyframes lava-spread-821{0%,8%{clip-path:inset(0 0 48% 0);opacity:.65}55%,85%{clip-path:inset(0);opacity:1}100%{clip-path:inset(0);opacity:0}}
/* The dragon starts behind the glass, then comes forward and leaves the stage. */
.dragon-flight{display:none;pointer-events:none;position:absolute;left:49%;top:13%;width:clamp(120px,18vw,260px);height:auto;aspect-ratio:1;filter:drop-shadow(0 4px 8px #0005);animation:dragon-departure-821 12s linear infinite;z-index:0}
body[data-room=red] .reel-area>.dragon-flight{display:block}
.dragon-sprite{display:block;width:100%;height:100%;background:url('dragon-flight-v821.webp') 0 0/300% 200% no-repeat;animation:dragon-wingbeat-821 .9s steps(1,end) infinite}
@keyframes dragon-wingbeat-821{0%,100%{background-position:0 0}16.667%{background-position:50% 0}33.334%{background-position:100% 0}50%{background-position:0 100%}66.667%{background-position:50% 100%}83.334%{background-position:100% 100%}}
@keyframes dragon-departure-821{0%,10%{transform:translate(0,8%) scale(.22);opacity:0;z-index:0}16%{opacity:1;z-index:0}30%{transform:translate(-25%,-15%) scale(.6);z-index:0}31%{z-index:9}50%{transform:translate(-95%,-42%) scale(.9);opacity:1;z-index:9}85%{transform:translate(-95vw,-15%) scale(.7);opacity:1;z-index:9}86%,100%{transform:translate(-95vw,-15%) scale(.7);opacity:0;z-index:9}}
body[data-motion=calm] .dragon-flight,body[data-motion=calm] .dragon-sprite,body[data-page-hidden=true] .dragon-flight,body[data-page-hidden=true] .dragon-sprite{animation-play-state:paused!important}
body[data-motion=calm] .dragon-flight{display:none!important}
@media(prefers-reduced-motion:reduce){.dragon-flight{display:none!important}.lava-reveal{animation:none;clip-path:inset(0);opacity:1}}
@media(max-width:650px){
 body[data-room] main{padding-left:3px;padding-right:3px}
 body[data-room] .reels{--row-max:190;--reel-width-factor:3.2;width:calc(var(--row)*3.2);gap:calc(var(--row)*.04)}
 body[data-room] .reel-area{padding-left:3px;padding-right:3px}
 body[data-room] .room-switch button{min-height:30px}
 body[data-room] .orbit-console{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 69px;gap:2px 5px}
 body[data-room] .orbit-console>.metric,body[data-room] .orbit-console>.stake-control{height:43px;padding:3px 8px}
 body[data-room] .orbit-console>.spin{width:69px}
 body[data-room] .orbit-console .bet-chips button{min-height:26px}
 body[data-room] .console-bottom{gap:0 6px}
 .dragon-flight{width:160px}
 .world-effects .sky-meteors{inset:0 4% auto;height:18vh}
}
