/* One explicit scenery stack. No negative body pseudo-element can hide Star. */
body[data-room]{isolation:isolate;--scene-ratio:1.5;--scene-height:66.6667vw}
body[data-room]::before,body[data-room]::after{content:none!important;display:none!important}
.world-scene{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none;background:#050810;contain:strict}
.scene-frame{position:absolute;inset:0;overflow:hidden;will-change:transform}
.scene-plane{position:absolute;left:50%;top:50%;width:max(100vw,calc(100vh * var(--scene-ratio)));height:max(100vh,var(--scene-height));transform:translate(-50%,-50%);background:var(--scene-image) center/100% 100% no-repeat}
.scene-plane::after{content:'';position:absolute;inset:0;background:inherit;filter:brightness(1.65) contrast(1.15);mix-blend-mode:screen;opacity:.27;mask-image:linear-gradient(transparent 48%,#000 65%);-webkit-mask-image:linear-gradient(transparent 48%,#000 65%)}
.scene-tint{position:absolute;inset:0;background:inherit;opacity:0;pointer-events:none;animation:scene-colour 24s ease-in-out infinite;filter:hue-rotate(68deg) saturate(1.12)}
.scene-tint.second{filter:hue-rotate(154deg) saturate(1.1);animation-delay:-12s}
.scene-frame[data-scene=blue] .scene-tint{animation-duration:30s;filter:hue-rotate(95deg);mask-image:radial-gradient(ellipse 15% 19% at 48% 19%,#000 65%,transparent 99%),radial-gradient(ellipse 5% 10% at 72% 17%,#000 50%,transparent 100%),radial-gradient(ellipse 4% 9% at 29% 13%,#000 45%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 15% 19% at 48% 19%,#000 65%,transparent 99%),radial-gradient(ellipse 5% 10% at 72% 17%,#000 50%,transparent 100%),radial-gradient(ellipse 4% 9% at 29% 13%,#000 45%,transparent 100%)}
.scene-frame[data-scene=blue] .scene-tint.second{filter:hue-rotate(188deg);animation-delay:-15s}
.scene-frame:not([data-scene=blue]):not([data-scene=star]) .scene-tint{display:none}
@keyframes scene-colour{0%,12%,68%,100%{opacity:0}34%,45%{opacity:.86}}
/* Disable the old whole-room hue layers: Blue's floor and architecture stay blue. */
body[data-room] .world-effects::before,body[data-room] .world-effects::after{content:none!important;display:none!important}
body[data-room=blue] .room-atmosphere::before{display:none}
body[data-page-hidden=true] .scene-tint,body[data-spinning=true] .scene-tint{animation-play-state:paused}
body[data-motion=calm] .scene-tint{animation:none;opacity:0}

/* Side rail returns its former height to the glass instruments. */
.platform-nav{position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:5px;width:115px;margin:0;padding:6px;border:1px solid #d5bd7d4a;border-radius:24px;background:linear-gradient(150deg,#17232adf,#060c12ed);box-shadow:inset 0 1px #fff0c62b,0 15px 40px #0006;backdrop-filter:blur(12px)}
.platform-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:78px;padding:12px 4px;border:1px solid transparent;border-radius:18px;color:#a7b7c2;letter-spacing:.02em;font-size:10px;line-height:1.3}
.platform-nav button::before{font:26px/1 Georgia,serif;content:'◇';color:#d3bd89}
.platform-nav button[data-platform=duel]::before{content:'⚔'}
.platform-nav button[data-platform=atelier]::before{content:'♜'}
.platform-nav button span{display:block;font-size:7px;letter-spacing:.12em;margin:0;color:#b9c7cc}
.platform-nav button[aria-pressed=true]{border-color:#e5d1a160;background:linear-gradient(120deg,#ead19026,#a586400d);color:#fff1cc;box-shadow:inset 0 1px #fff1cf26,0 3px 13px #0004}
body[data-room] main{width:calc(100% - 280px);max-width:1380px;padding:0 8px 5px}
body[data-room] .topbar{height:25px;min-height:25px;padding-top:2px;padding-bottom:0}
body[data-room] #game-view .stage-header .game-heading{padding:0 0 3px}
body[data-room] .reels{--row-max:245;--reel-height-factor:3.8;--reel-width-factor:4.486;--row:clamp(32px,min(24vw,calc((100svh - 272px)/3.8)),245px)}
body[data-room] .reels .reel::after{inset:var(--capsule-inset,0 -4%);background-size:var(--capsule-size,162.04% 100%)}
body[data-room] .reels .symbol .symbol-art,body[data-room] .reels .symbol.center .symbol-art,body[data-room] .reels .strip-cell .symbol-art{width:calc(var(--row)*.94);height:calc(var(--row)*.94)}
body[data-room] .dual-game-note{margin-top:3px}
body[data-room] .console-bottom{padding-top:3px}
.duel-instrument .reel::after{inset:var(--capsule-inset,0 -4%)}
.platform-panel .duel-wallet{font-size:10px;margin:5px 0;color:#b1c6d2}
.match-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.match-options>.platform-primary{flex:1}
.bot-tag{display:inline-block;background:#bda46322;border:1px solid #e4ca8240;border-radius:4px;color:#ebd699;font:600 8px/1.4 Arial,sans-serif;padding:3px 5px;margin-left:5px}
.gift-strip{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid #d5bd7540;background:linear-gradient(120deg,#51421d30,#111e2dcc);padding:14px 18px;border-radius:12px;margin:14px 0}
.gift-strip p{margin:4px 0;font-size:11px;color:#c4cbd0}.gift-strip strong{font:20px Georgia,serif;color:#f6e3b4}
.quest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 20px}
.quest-card{border:1px solid #a5b5c130;border-radius:12px;padding:15px;background:#0a1720dc;font-size:11px}
.quest-card h3{font:17px Georgia,serif;color:#eedcaf}.quest-card p{color:#adc1cb;min-height:35px;line-height:1.5}
.quest-card progress{width:100%;height:5px;accent-color:#d7be80;margin:8px 0 12px}
.league-panel{max-width:880px;margin:22px auto;padding:20px;background:#0a1420de;border:1px solid #b9c6cf30;border-radius:16px}
.league-panel h2{font:22px Georgia,serif;letter-spacing:.08em;color:#ecdab3}
.league-panel p{font-size:11px;color:#b7c9d5;line-height:1.6}.league-summary{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.league-summary strong{font:22px Georgia,serif;color:#ffe9ae}.league-panel table{width:100%;border-collapse:collapse;font-size:11px}.league-panel td,.league-panel th{padding:8px 5px;text-align:left;border-bottom:1px solid #adc4d220}.league-panel th{color:#bdced9;font-weight:500}
.league-table-wrap{overflow:auto}.league-panel .next-league{font-size:10px;color:#ddc894}
.duel-online-note{font-size:10px;line-height:1.5;color:#b8c8d3}
@media(max-width:1050px){.platform-nav{left:7px;width:85px}.platform-nav button{font-size:9px;min-height:69px}body[data-room] main{width:calc(100% - 185px)}}
@media(max-width:650px){
 .platform-nav{left:3px;top:45%;width:40px;padding:3px;gap:4px;border-radius:15px}.platform-nav button{padding:9px 0;min-height:66px;font-size:7px;letter-spacing:0;border-radius:11px;gap:6px}.platform-nav button::before{font-size:20px}.platform-nav button span{display:none}
 body[data-room] main{margin-left:46px;margin-right:4px;width:calc(100% - 50px);padding:0 0 4px}
 body[data-room] .topbar{height:23px;min-height:23px;width:calc(100% - 18px)}
 body[data-room] #game-title{font-size:25px;line-height:1.05}body[data-room] #game-title span{font-size:7px}
 body[data-room] .reels{--row-max:180;--reel-width-factor:3.72;width:calc(var(--row)*3.72);gap:calc(var(--row)*.07)}
 body[data-room] .room-switch button{font-size:8px;min-height:30px;padding:4px 1px;gap:3px}
 body[data-room] .room-switch button small{display:none}body[data-room] .room-switch{margin:2px auto 4px}
 body[data-room] .reel-area{padding:0;width:100%}
 body[data-room] .orbit-console{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 61px;gap:3px 4px}
 body[data-room] .orbit-console>.spin{width:61px}body[data-room] .orbit-console .metric strong,body[data-room] .orbit-console .stake-input-wrap input{font-size:19px}
 body[data-room] .console-bottom{gap:3px 10px}body[data-room] .console-bottom .arena-footer{min-height:13px;font-size:7px}
 .platform-panel{padding:0 3px}.duel-players{gap:5px}.duel-player{padding:8px 3px}.duel-instrument{--row:clamp(22px,7vw,42px)}
 .duel-player-head h2{font-size:13px}.duel-score{font-size:20px}.duel-wallet{font-size:8px!important}
 .quest-grid{grid-template-columns:1fr}.quest-card p{min-height:0}.gift-strip{padding:12px}.gift-strip strong{font-size:17px}
 .league-panel{padding:12px}.edition-grid{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){.scene-tint{animation:none!important;opacity:0}}

@media(max-width:650px){body[data-room] .reels .symbol .symbol-art,body[data-room] .reels .symbol.center .symbol-art,body[data-room] .reels .strip-cell .symbol-art{max-width:82%}.platform-nav button[data-platform=duel]{font-size:6px}}
