/* A definite portrait scene is required before its flexible reel stage can grow.
   The scene qualifier also defeats retired intrinsic-height cabinet rules. */
html body.portrait-play.slot-screen #app .game-scene.scene-slots{
 display:flex!important;flex:1 1 0!important;flex-direction:column!important;
 height:0!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
 width:100%!important;margin:0!important;padding:0!important;
}
html body.portrait-play.slot-screen #app .scene-slots>.slot-machine,
html body.portrait-play.slot-screen #app .scene-slots>.cash-machine,
html body.portrait-play.slot-screen #app .scene-slots>.slot-gallery{
 flex:1 1 0!important;height:100%!important;min-height:0!important;max-height:100%!important;
 width:100%!important;box-sizing:border-box!important;overflow:hidden!important;
}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine{grid-template-areas:none!important;grid-template-rows:none!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-play-area{position:relative!important;flex:1 1 0!important;min-height:0!important;display:flex!important;flex-direction:column!important}
html body.portrait-play.slot-screen #app .scene-slots .reel-frame{container-type:normal!important;contain:none!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-message{flex:none!important;min-height:17px!important;max-height:34px!important;font-size:11px!important;line-height:15px!important;margin:0!important;padding:1px 3px!important;overflow:hidden!important}
/* Reset both the console tracks and the explicit placements left by the old two-row console. */
html body.portrait-play.slot-screen #app .scene-slots .vault-console{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(94px,1.2fr) minmax(0,.65fr) minmax(68px,1fr)!important;grid-template-rows:64px!important;height:76px!important;min-height:76px!important;align-items:center!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console>*{grid-row:1!important;grid-column:auto!important;min-width:0!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .console-stat{width:auto!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .console-stat:first-child{grid-column:1!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .console-stat:nth-child(3){grid-column:3!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .bet-switch{grid-column:2!important;display:grid!important;grid-template-columns:27px minmax(0,1fr) 27px!important;grid-template-rows:12px 40px!important;height:60px!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .bet-switch>span{grid-column:1/-1!important;display:block!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .bet-switch strong{font-size:15px!important;min-width:0!important}
html body.portrait-play.slot-screen #app .scene-slots .vault-console .slot-spin{grid-column:4!important;width:100%!important;max-width:none!important;height:60px!important;min-height:60px!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-spin strong{font-size:23px!important;letter-spacing:0!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-spin small{font-size:8px!important;line-height:1.2!important}
/* Cash Machine has a full-height stage; the fixed medallions stay square within it. */
html body.portrait-play.slot-screen #app .scene-slots .cash-machine{display:flex!important;flex-direction:column!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-marquee{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;height:90px!important;min-height:90px!important;overflow:hidden!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-paxton-sign{font:400 25px/1.1 PaxtonScript,cursive!important;margin:0!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-marquee h2{font:900 32px/1.05 Georgia,serif!important;margin:0!important;letter-spacing:.04em!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-marquee h2 small{display:block!important;font-size:13px!important;line-height:1.05!important;letter-spacing:.18em!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-stage{position:relative!important;flex:1 1 0!important;height:auto!important;min-height:110px!important;container-type:normal!important;contain:none!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-columns{position:absolute!important;inset:24px 5px 20px!important;height:auto!important;min-height:0!important;max-height:none!important;grid-template-rows:minmax(0,1fr)!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-column{container-type:size!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-drum-window{height:min(100cqw,100cqh)!important;width:min(100cqw,100cqh)!important;max-height:100%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;overflow:hidden!important;aspect-ratio:1!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-live-digit{font-size:min(55cqw,55cqh)!important;line-height:1!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-double-digit{font-size:min(39cqw,39cqh)!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-spin-outcome{flex:none!important;font-size:11px!important;line-height:15px!important;padding:3px!important;min-height:0!important;margin:0!important}
/* Secondary controls are touch-sized without consuming the reel stage. */
html body.portrait-play.slot-screen #app .scene-slots :is(.vault-nav,.cash-nav,.vault-utilities,.cash-tools){height:40px!important;min-height:40px!important;flex:none!important;align-items:center!important}
html body.portrait-play.slot-screen #app .scene-slots :is(.vault-nav,.cash-nav,.vault-utilities,.cash-tools) button{height:38px!important;min-height:38px!important;font-size:11px!important;padding:4px 7px!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-carousel{flex:1 1 0!important;height:0!important;min-height:0!important;overflow-x:auto!important;overflow-y:hidden!important;align-items:stretch!important;padding:4px!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-card{height:100%!important;min-height:0!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-cover{height:0!important;min-height:100px!important;flex:1 1 0!important;max-height:none!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-card-copy{flex:none!important;padding:10px!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-card-copy h2{font-size:24px!important;margin:4px 0!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-feature-tags{margin:4px 0 8px!important}
html body.portrait-play.slot-screen #app .scene-slots .machine-feature-tags span{font-size:10px!important}
html body.home-screen #app .showgirl-cover-art{position:relative!important;overflow:hidden!important;background:none!important}
html body.home-screen #app .showgirl-cover-art>svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important}
html body.portrait-play.slot-screen #app .scene-slots .lounge-cover-art{object-fit:cover!important}
@media(max-height:620px){
 html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-marquee{height:76px!important;min-height:76px!important}
 html body.portrait-play.slot-screen #app .scene-slots .vault-console{grid-template-rows:58px!important;height:68px!important;min-height:68px!important}
 html body.portrait-play.slot-screen #app .scene-slots .vault-console .slot-spin{height:54px!important;min-height:54px!important}
}
/* Fit the prize wheel to its allocated stage without stretching the circle. */
html body.portrait-play.slot-screen #app .scene-slots .slot-machine .vault-bonus-overlay .wheel-stage{position:relative!important;flex:1 1 0!important;width:100%!important;height:auto!important;min-height:0!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;container-type:size!important;overflow:hidden!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine .vault-bonus-overlay .bonus-wheel{position:absolute!important;left:50%!important;top:50%!important;translate:-50% -50%;width:min(88cqw,88cqh)!important;height:min(88cqw,88cqh)!important;aspect-ratio:1!important;--wheel-radius:min(31cqw,31cqh);border-width:7px!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine .vault-bonus-overlay .wheel-pointer{top:calc(50% - min(44cqw,44cqh) - 9px)!important;font-size:25px!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine .vault-bonus-overlay .wheel-value{font-size:clamp(11px,3vw,18px)!important}
html body.portrait-play.slot-screen #app .scene-slots .progressive-meters{height:43px!important;min-height:43px!important;grid-template-rows:43px!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:27px 44px!important;min-height:85px!important;height:85px!important;gap:3px 6px!important;padding:5px!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console .cash-stat strong{font-size:17px!important;line-height:1.15!important;white-space:nowrap!important;overflow-wrap:normal!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console small{font-size:8px!important;line-height:1.1!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console .cash-spin{height:44px!important;min-height:44px!important;padding:2px!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console .cash-spin strong{font-size:24px!important;line-height:1.05!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console .cash-bet{min-height:0!important;gap:0!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console .cash-bet b{font-size:18px!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-console .cash-bet button{height:36px!important;min-height:36px!important;width:32px!important;padding:0!important;font-size:20px!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-ribbon{display:none!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-feature-display{height:38px!important;min-height:38px!important;padding:2px!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-feature-display strong{font-size:17px!important;line-height:1.1!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine:has(.cash-total-bank) .cash-feature-display,
html body.portrait-play.slot-screen #app .scene-slots .cash-machine:has(.cash-total-bank) .cash-spin-outcome{display:none!important}
@media(max-height:620px){
 html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-marquee{height:64px!important;min-height:64px!important}
 html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-paxton-sign{font-size:21px!important}
 html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-marquee h2{font-size:28px!important}
 html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-stage{min-height:100px!important}
 html body.portrait-play.slot-screen #app .scene-slots .cash-machine .cash-columns{inset:18px 4px 14px!important}
 html body.portrait-play.slot-screen #app .scene-slots .cash-drum-top{font-size:7px!important;padding:0!important;line-height:1.1!important}
 html body.portrait-play.slot-screen #app .scene-slots .progressive-meters{height:35px!important;min-height:35px!important;grid-template-rows:35px!important}
}
