/* One illustrated cabinet: all live geometry maps to its 1000 x 1800 artwork. */
:root{--slot-safe-top:env(safe-area-inset-top,0px);--slot-safe-right:env(safe-area-inset-right,0px);--slot-safe-bottom:env(safe-area-inset-bottom,0px);--slot-safe-left:env(safe-area-inset-left,0px)}
.portrait-cabinet,.portrait-club-lights,.portrait-reel-trim,.portrait-meter-label,.portrait-button-copy{display:none}
#rotate{display:none!important}
#turboButton{left:92%;top:88.5%;width:7%;height:9%;border:1px solid #dab566;background:linear-gradient(#352031,#100517);border-radius:14%;color:#fce090;font-weight:900;display:none;flex-direction:column;align-items:center;justify-content:center;gap:.12cqw;font-size:.9cqw;line-height:1.15;transition:box-shadow .2s}
#turboButton[data-active=true]{background:linear-gradient(#ffe177,#9e5a0a);color:#2d1405}
#turboState{font-size:.85em}
#turboButton::after{content:'';position:absolute;inset:-3px;border:2px solid transparent;border-radius:inherit;pointer-events:none}
#turboButton[data-feedback=electricity]::after{animation:turbo-electric .7s ease-out both}
@keyframes turbo-electric{0%,100%{border-color:transparent;box-shadow:none}15%,45%{border-color:#fff6af;box-shadow:0 0 10px #ffd15a,inset 0 0 8px #fff2ae}30%,70%{border-color:#fff5;box-shadow:0 0 5px #ffad30}}
html[data-layout=portrait] body{background:#090310}
html[data-layout=portrait] #game{position:fixed;left:var(--slot-cabinet-left,max(0px,calc((100vw - (100dvh - 26px)*5/9)/2)));top:var(--slot-cabinet-top,max(0px,calc((100dvh - 26px - 180vw)/2)));width:var(--slot-cabinet-width,min(100vw,calc((100dvh - 26px)*5/9)));height:var(--slot-cabinet-height,min(180vw,calc(100dvh - 26px)));aspect-ratio:5/9;overflow:clip;max-width:none;--reel-x:7.27%;--reel-y:14.58%;--reel-w:85.24%;--reel-h:23.82%;border-radius:1.4cqw;box-shadow:0 0 30px #0008}
html[data-layout=portrait] #cabinet,html[data-layout=portrait] .payline-markers,html[data-layout=portrait] .payline-preview{display:none!important}
html[data-layout=portrait] .portrait-cabinet{display:block;position:absolute;inset:0;z-index:0;background:url('../assets/art/mobile/portrait-cabinet-base-v2.webp') center/100% 100% no-repeat;pointer-events:none}
html[data-layout=portrait] #game[data-mode=free] .portrait-cabinet,html[data-layout=portrait] #game[data-mode=pulse] .portrait-cabinet{background-image:url('../assets/art/mobile/portrait-cabinet-free-v2.webp')}
html[data-layout=portrait] .reels,html[data-layout=portrait] .line-overlay,html[data-layout=portrait] .portrait-reel-trim{left:var(--reel-x);top:var(--reel-y);width:var(--reel-w);height:var(--reel-h)}
html[data-layout=portrait] .reels{overflow:hidden;border-radius:1.2cqw;background:#090311;clip-path:inset(0 round 1.2cqw)}
html[data-layout=portrait] .symbol-art{filter:none}
/* Whole-pixel divider strips share the same physical thickness in both axes. */
html[data-layout=portrait] .portrait-reel-trim{display:block;position:absolute;pointer-events:none;z-index:5;overflow:hidden;background:none;box-shadow:inset 0 0 0 .18cqw #e4ab4e;border-radius:1.2cqw}
html[data-layout=portrait] .portrait-grid-rule{display:block;position:absolute;margin:0;padding:0;border:0;background:#987442;pointer-events:none}
html[data-layout=portrait] .line-overlay{filter:none}
html[data-layout=portrait] .portrait-meter-label{display:block;position:absolute;z-index:6;text-align:center;color:#ffeaa4;font-size:2.65cqw;font-weight:900;letter-spacing:.12cqw;line-height:1;pointer-events:none;text-shadow:0 1px 2px #000}
html[data-layout=portrait] .portrait-balance-label{left:8%;width:39%;top:41.22%}
html[data-layout=portrait] .portrait-win-label{left:53%;width:39%;top:41.22%}
html[data-layout=portrait] .portrait-bet-label{left:39%;width:22%;top:79.1%;font-size:2.15cqw}
html[data-layout=portrait] .meter{top:42.6%;height:3.3%;font-size:5.1cqw;padding:0 1.8cqw;color:#fff7ec;line-height:1;letter-spacing:0;text-shadow:0 1px 2px #210015}
html[data-layout=portrait] #balance{left:8%;width:39%}
html[data-layout=portrait] #win{left:53%;width:39%}
html[data-layout=portrait] #bet{left:39%;width:22%;top:80.7%;height:2.65%;font-size:4.2cqw;padding:0 .5cqw}
html[data-layout=portrait] .hotspot{min-width:44px;min-height:44px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:0;transition:box-shadow .15s;background:none;border:0;box-shadow:none}
html[data-layout=portrait] .hotspot:disabled{filter:none;opacity:1}
html[data-layout=portrait] .hotspot:not(:disabled):hover{box-shadow:none}
html[data-layout=portrait] .hotspot:not(:disabled):active .portrait-button-copy{filter:brightness(1.3)}
html[data-layout=portrait] .portrait-button-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35cqw;pointer-events:none;line-height:1.04;color:#fff1be;font-weight:900;text-align:center;text-shadow:0 .25cqw .2cqw #39120d;font-size:3.25cqw;letter-spacing:.03cqw}
html[data-layout=portrait] .portrait-button-copy svg{width:6.5cqw;height:5cqw;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
html[data-layout=portrait] .menu{left:23%;top:91.5%;width:16%;height:9%;border-radius:50%}
html[data-layout=portrait] .auto{left:77%;top:91.5%;width:16%;height:9%;border-radius:50%}
html[data-layout=portrait] .spin{left:50%;top:91%;width:23.5cqw;height:23.261421cqw;border-radius:50%}
html[data-layout=portrait] .spin canvas{width:100%;height:100%;object-fit:contain}
html[data-layout=portrait] .stop-face b{font-size:4.2cqw}
html[data-layout=portrait] .bet-down{left:31%;top:81.6%;width:9%;height:5%}
html[data-layout=portrait] .bet-up{left:69%;top:81.6%;width:9%;height:5%}
html[data-layout=portrait] .adjust-copy svg{width:5.5cqw;height:5.5cqw;stroke-width:2.8}
html[data-layout=portrait] .max-bet{left:85%;top:81.45%;width:17%;height:5%}
html[data-layout=portrait] .max-copy{font-size:3cqw;color:#e9f7ff}
html[data-layout=portrait] #turboButton{display:flex;left:15.5%;top:81.45%;width:17%;height:5%;font-size:2.5cqw;gap:.35cqw;color:#ffde73;line-height:1.1;border-radius:12%;background:none}
html[data-layout=portrait] #turboButton[data-active=true]{color:#fff9c9;text-shadow:0 0 6px #ffae00}
html[data-layout=portrait] .statusbar{position:fixed;left:var(--slot-cabinet-left,0px);top:calc(var(--slot-cabinet-top,0px) + var(--slot-cabinet-height,180vw));width:var(--slot-cabinet-width,100vw);height:24px;max-width:none;padding:0 10px;background:#090310;font-size:9px;letter-spacing:.1px}
html[data-layout=portrait] .statusbar #status{font-size:9px}
html[data-layout=portrait] .statusbar #muteButton{min-width:44px;height:24px;font-size:9px}
html[data-layout=portrait] .portrait-club-lights{display:block;position:absolute;top:46.5%;left:5%;width:90%;height:31%;z-index:1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 12% 78%,transparent);mix-blend-mode:screen;opacity:.35}
html[data-layout=portrait] .portrait-club-lights i{position:absolute;inset:-20% -30%;background:conic-gradient(from 164deg at 50% 0,transparent 0deg,#db65ff44 8deg,transparent 17deg);transform-origin:50% 0;animation:club-sweep 14s ease-in-out infinite alternate}
html[data-layout=portrait] .portrait-club-lights i:nth-child(2){animation-delay:-7s;animation-duration:18s;background:conic-gradient(from 190deg at 50% 0,transparent,#3abfff44 8deg,transparent 16deg)}
html[data-layout=portrait] .portrait-club-lights i:nth-child(3){animation-delay:-11s;opacity:.5}
@keyframes club-sweep{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
html[data-layout=portrait] .toast{top:73%;max-width:92%;font-size:3cqw;line-height:1.3;text-align:center;padding:2cqw 3cqw;white-space:normal}
html[data-layout=portrait] .loading{background:linear-gradient(#13031acc,#13031af5),url('../assets/art/mobile/portrait-cabinet-base-v2.webp') center/cover;padding:6%}
html[data-layout=portrait] .loading h1{font-size:11cqw;margin-bottom:5cqw}
html[data-layout=portrait] .loading-progress{width:72cqw;height:3cqw}
html[data-layout=portrait] .loading #loadMessage{font-size:3.4cqw;max-width:90%;margin-top:4cqw}
html[data-layout=portrait] .loading-progress-value{font-size:3.6cqw;margin-top:3cqw}
html[data-layout=portrait] .loading small{font-size:2.5cqw;margin-top:4cqw}
html[data-layout=portrait] .loader-disc{width:20cqw;height:20cqw}
.reduced-motion .portrait-club-lights{display:none!important}
@media(prefers-reduced-motion:reduce){.portrait-club-lights{display:none!important}#turboButton::after{animation:none!important}}

html[data-layout=portrait] #game[data-mode=free] .portrait-club-lights i,html[data-layout=portrait] #game[data-mode=pulse] .portrait-club-lights i{background:conic-gradient(from 164deg at 50% 0,transparent 0deg,#ffb14d66 8deg,transparent 17deg)}
