/* Fit the active cabinet and its controls inside the visible browser viewport. */
body.slot-screen{overflow:hidden!important;height:100dvh;height:var(--visible-app-height,100dvh)}.slot-screen .game-wrap{height:100%;max-height:100%;padding:0 6px max(3px,env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column}.slot-screen .topbar,.slot-screen .footer,.slot-screen .game-heading,.slot-screen .game-toolbar{display:none!important}.slot-screen .mode-hud{flex:none;min-height:28px;padding:3px 5px;gap:4px;font-size:9px}.slot-screen .mode-hud>strong{font-size:10px}.slot-screen .mode-hud>button{min-height:25px;font-size:10px;padding:3px 8px}.slot-screen .lounge-clock{padding:3px 6px;gap:1px;display:flex;align-items:center;flex-wrap:wrap;width:auto;flex:1}.slot-screen .lounge-clock b{font-size:9px;white-space:nowrap}.slot-screen .lounge-clock span{font-size:9px}.slot-screen .lounge-clock small,.slot-screen .lounge-clock progress{display:none}.slot-screen .scene-slots,.slot-screen .scene-slots .game-scene{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0;margin:0}.slot-screen .slot-machine{height:100%!important;min-height:0!important;max-height:100%!important;flex:1;display:grid!important;grid-template-columns:100%;grid-template-rows:30px 54px 46px 24px minmax(100px,1fr) 20px 20px 60px 28px;grid-template-areas:'nav' 'title' 'meters' 'features' 'reels' 'message' 'lines' 'console' 'utilities';gap:3px;padding:4px!important;margin:0!important;overflow:hidden!important;border-radius:12px!important}.slot-screen .vault-play-area{display:contents!important}.slot-screen .vault-nav{grid-area:nav;min-height:0!important;padding:0!important;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:4px}.slot-screen .vault-nav>span{display:none}.slot-screen .vault-nav button{min-height:28px!important;padding:3px 6px!important;font-size:10px!important}.slot-screen .guardian-title{grid-area:title;height:auto!important;min-height:0!important;margin:0!important;padding:3px 6px 3px 68px!important;text-align:left!important;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:#081329bd;border-radius:8px}.slot-screen .guardian-title .eyebrow{font-size:8px;margin:0}.slot-screen .guardian-title h2{font-size:clamp(16px,4.4vw,24px)!important;line-height:1!important;margin:0!important}.slot-screen .guardian-title h2 br,.slot-screen .guardian-title h2>span,.slot-screen .guardian-title>p{display:none}.slot-screen .guardian-feature{position:static!important;font-size:8px!important;margin:3px 0 0!important;padding:2px 4px!important;align-self:flex-start;max-width:100%;white-space:nowrap}.slot-screen .cabinet-feature-art,.slot-screen .cabinet-host-portrait{position:absolute!important;inset:0 auto 0 3px!important;width:60px!important;height:54px!important;opacity:1!important;transform:none!important;object-fit:contain}.slot-screen .cabinet-feature-art .slot-symbol{height:100%;width:100%}.slot-screen .story-slot-rule,.slot-screen .free-feature-reveal,.slot-screen .free-banner{display:none!important}.slot-screen .progressive-meters{grid-area:meters;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px;margin:0!important;min-height:0}.slot-screen .progressive-meter{padding:4px 1px!important;min-height:0!important;line-height:1.1!important;border-width:2px!important;border-radius:8px!important;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.slot-screen .progressive-meter small{font-size:7px!important;letter-spacing:0!important}.slot-screen .progressive-meter strong{font-size:clamp(12px,3.3vw,23px)!important;line-height:1.1!important;white-space:nowrap}.slot-screen .progressive-meter>span{font-size:5px!important;letter-spacing:0!important;margin-top:2px}.slot-screen .progressive-guide{display:none}.slot-screen .jackpot-collection{position:absolute;top:calc(100% - 23px);left:4px;right:4px;z-index:5;height:18px;padding:2px 7px;font-size:8px;pointer-events:none;background:#081528dc}.slot-screen .slot-machine>.jackpot-collection{display:none}.slot-screen .feature-meters{grid-area:features;display:grid!important;grid-template-columns:repeat(3,1fr);gap:4px;margin:0!important}.slot-screen .feature-meter{padding:2px!important;display:flex;align-items:center;justify-content:center;gap:4px;min-height:0!important;border-radius:7px!important}.slot-screen .feature-meter span{font-size:7px!important}.slot-screen .feature-meter b{font-size:14px!important;line-height:1!important}.slot-screen .feature-meter small{font-size:5px!important}.slot-screen .reel-frame{grid-area:reels;position:relative;height:100%!important;min-height:0!important;margin:0!important;padding:5px!important;border-radius:14px!important;overflow:hidden!important}.slot-screen .reel-window{height:100%!important;min-height:0!important;aspect-ratio:auto!important;position:relative}.slot-screen .reel-grid{height:100%!important;min-height:0!important;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:100%;gap:2px!important}.slot-screen .slot-reel,.slot-screen .reel-stack{min-height:0;height:100%;overflow:hidden}.slot-screen .reel-stack .slot-symbol{height:33.3333%!important;min-height:0!important;aspect-ratio:auto!important}.slot-screen .slot-symbol{background-size:500% 200%;font-size:inherit}.slot-screen .symbol-label{font-size:clamp(7px,2vw,13px)!important;line-height:1.1;max-width:100%}.slot-screen .team-jersey .jersey-number{font-size:clamp(16px,4.4vw,32px)}.slot-screen .slot-message{grid-area:message;min-height:0!important;height:20px;margin:0!important;padding:2px;font-size:10px!important;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.slot-screen .winning-lines{grid-area:lines;margin:0!important;display:flex;gap:4px;height:20px;min-height:0;overflow-x:auto;overflow-y:hidden;align-items:center;white-space:nowrap;scrollbar-width:none}.slot-screen .line-total{font-size:8px;flex:none}.slot-screen .winning-lines button{font-size:8px;min-height:18px;padding:2px 6px;flex:none}.slot-screen .vault-console{grid-area:console;display:grid!important;grid-template-columns:1fr 1fr 1fr 1.25fr;grid-template-rows:100%;gap:4px;min-height:0!important;height:100%;padding:5px!important;margin:0!important;border-radius:10px!important;align-items:center}.slot-screen .console-stat strong{font-size:clamp(14px,3.8vw,24px)!important;line-height:1.1}.slot-screen .console-stat small{font-size:7px!important}.slot-screen .console-stat>span{font-size:7px!important}.slot-screen .bet-switch{gap:3px;flex-wrap:wrap;align-items:center;justify-content:center}.slot-screen .bet-switch>span{display:none}.slot-screen .bet-switch button{font-size:16px;padding:1px!important;width:27px;height:29px;min-height:29px!important}.slot-screen .bet-switch strong{font-size:13px}.slot-screen .slot-spin{min-height:40px!important;height:100%;padding:4px!important;line-height:1;border-radius:9px}.slot-screen .slot-spin strong{font-size:18px!important}.slot-screen .slot-spin small{font-size:6px!important;margin-top:4px}.slot-screen .vault-utilities{grid-area:utilities;min-height:0;gap:4px;display:flex;justify-content:space-between;margin:0!important}.slot-screen .vault-utilities button{min-height:25px!important;height:25px;padding:3px 7px!important;font-size:9px!important}.slot-screen .vault-utilities>span{display:none}.slot-screen .slot-big-win{position:absolute;left:15%;right:15%;bottom:3px;top:auto;padding:4px!important;min-height:0!important;max-height:54px;background:#071523d4;pointer-events:none}.slot-screen .slot-big-win>span{font-size:12px!important}.slot-screen .slot-big-win>strong{font-size:22px!important}.slot-screen .slot-big-win>small{display:none}.slot-screen .slot-celebration{position:absolute;left:0;right:0;top:calc(100% - 170px);height:85px!important;min-height:0!important;pointer-events:none;opacity:.95;z-index:6}.slot-screen .slot-celebration img{object-fit:contain;height:100%;max-width:30%}.slot-screen .progressive-award{position:absolute;left:12%;right:12%;top:135px;z-index:9;font-size:12px;padding:5px;background:#0c1d2ef0;border:2px solid gold}.slot-screen .anticipation-banner{font-size:9px;bottom:3px;top:auto;max-height:45px;padding:4px!important}.slot-screen .anticipation-banner strong{font-size:13px!important}.slot-screen .anticipation-banner small{font-size:8px}.slot-screen .vault-bonus-overlay{position:absolute!important;inset:32px 4px 3px!important;max-height:none!important;min-height:0!important;overflow:hidden!important;padding:5px!important;display:flex;align-items:stretch!important;justify-content:center;background:#04101bed;z-index:20}.slot-screen .vault-bonus-overlay>.slot-celebration,.slot-screen .bonus-cinematic{display:none!important}.slot-screen .vault-bonus-overlay .slot-bonus{margin:0!important;width:100%!important;max-height:100%!important;overflow:hidden!important}.slot-screen .bonus-reel-recap{margin:3px 0!important;border:1px solid #a38956;flex:none}.slot-screen .bonus-reel-recap>summary{font-size:9px;min-height:12px}.slot-screen .bonus-reel-grid{height:72px;max-height:72px;overflow:hidden}.slot-screen .bonus-reel-grid>div{height:100%;display:grid;grid-template-rows:repeat(3,1fr)}.slot-screen .bonus-reel-grid .slot-symbol{height:100%!important;min-height:0}.slot-screen .bonus-reel-grid .jersey-number{font-size:11px}.slot-screen .unique-bonus>.eyebrow{font-size:8px}.slot-screen .unique-scene{min-height:100px;flex:1;height:auto}.slot-screen .unique-hud{padding:5px;font-size:9px}.slot-screen .unique-status{font-size:10px!important;min-height:24px}.slot-screen .unique-actions button{font-size:10px;min-height:40px}.slot-screen .unique-rule{font-size:9px}.slot-screen .unique-award{min-height:50px}.slot-screen .bonus-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;height:auto;max-height:100%;flex:1;min-height:0}.slot-screen .bonus-choices button{min-height:0!important;padding:6px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px}.slot-screen .bonus-choices .bonus-art{height:45px!important;width:60px!important;font-size:35px!important;flex:none}.slot-screen .bonus-choices strong{font-size:11px}.slot-screen .bonus-choices small{font-size:8px}.slot-screen .theme-choice>p,.slot-screen .theme-choice>.eyebrow{font-size:10px;margin:2px}.slot-screen .slot-gallery{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.slot-screen .machine-carousel{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;align-items:stretch}.slot-screen .machine-card{height:100%;min-height:0;display:flex;flex-direction:column}.slot-screen .machine-cover{min-height:60px!important;height:40%!important;flex:1}.slot-screen .machine-card-copy{flex:none;padding:10px;min-height:0}.slot-screen .machine-card-copy h2{font-size:22px}.slot-screen .machine-feature-tags{font-size:9px}.slot-screen .slot-gallery-head{flex:none;padding:5px}.slot-screen .slot-gallery-head h1{font-size:20px}.slot-screen .slot-gallery-footer{flex:none;padding:4px;font-size:10px}
@media(orientation:landscape) and (max-height:600px){.slot-screen .mode-hud{min-height:24px;max-height:28px}.slot-screen .slot-machine{grid-template-columns:62% 38%;grid-template-rows:28px 44px 22px minmax(100px,1fr) 27px 20px;grid-template-areas:'nav nav' 'title meters' 'features features' 'reels console' 'reels utilities' 'message lines';gap:3px}.slot-screen .guardian-title{padding-left:50px!important}.slot-screen .cabinet-feature-art,.slot-screen .cabinet-host-portrait{height:44px!important;width:44px!important}.slot-screen .guardian-title h2{font-size:18px!important}.slot-screen .progressive-meters{gap:2px}.slot-screen .progressive-meter small{font-size:6px!important}.slot-screen .progressive-meter strong{font-size:12px!important}.slot-screen .vault-console{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr 1fr;padding:4px!important;align-content:center;gap:5px}.slot-screen .slot-spin{grid-column:2;grid-row:2;min-height:37px!important}.slot-screen .bet-switch{grid-column:1;grid-row:2}.slot-screen .console-stat strong{font-size:20px!important}.slot-screen .vault-bonus-overlay{inset:29px 4px 3px!important}.slot-screen .unique-bonus{display:grid!important;grid-template-columns:38% 62%;grid-template-rows:20px 20px minmax(100px,1fr) 36px 18px;gap:3px}.slot-screen .unique-bonus>.eyebrow{display:none}.slot-screen .unique-bonus h3{grid-column:1/3;font-size:19px}.slot-screen .unique-hud{grid-column:1/3;font-size:9px;padding:3px}.slot-screen .unique-scene{grid-column:2;grid-row:3;height:100%;min-height:0}.slot-screen .unique-bonus .bonus-reel-recap{grid-column:1;grid-row:3;margin:0!important;height:100%;display:flex;flex-direction:column}.slot-screen .bonus-reel-grid{height:auto;flex:1;max-height:none!important}.slot-screen .unique-actions,.slot-screen .unique-award{grid-column:1/3;grid-row:4;min-height:0}.slot-screen .unique-actions button{min-height:34px;font-size:10px}.slot-screen .unique-award{padding:3px}.slot-screen .unique-award strong{font-size:20px}.slot-screen .unique-award button{min-height:32px;font-size:11px}.slot-screen .unique-status{grid-column:1/3;grid-row:5;min-height:0;font-size:9px!important}.slot-screen .unique-rule{display:none}.slot-screen .unique-hud span b{font-size:13px}.slot-screen .new-die{height:30px;width:30px;padding:4px}.slot-screen .new-property-center{gap:4px}.slot-screen .new-property small{font-size:6px}.slot-screen .new-property b{font-size:16px}.slot-screen .dive-grid{gap:3px;inset:4px}}
@media(max-height:620px) and (orientation:portrait){.slot-screen .slot-machine{grid-template-rows:27px 42px 39px 20px minmax(85px,1fr) 18px 18px 50px 24px;gap:2px}.slot-screen .guardian-title h2{font-size:18px!important}.slot-screen .cabinet-feature-art,.slot-screen .cabinet-host-portrait{height:42px!important}.slot-screen .unique-bonus{gap:3px;padding:6px!important}.slot-screen .unique-bonus h3{font-size:18px}.slot-screen .unique-rule{display:none}.slot-screen .unique-actions button{min-height:36px}.slot-screen .bonus-reel-grid{height:54px;max-height:54px}.slot-screen .bonus-choices .bonus-art{height:32px!important}}
/* Explicit parent height is required for percentage-height cabinet tracks. */
body.slot-screen #app{height:100%;min-height:0;overflow:hidden}.slot-screen .wrap{box-sizing:border-box}.slot-screen .toolbar{display:none!important}
.slot-screen .slot-bonus:not(.unique-bonus){display:flex!important;flex-direction:column;gap:4px;min-height:0!important;height:100%!important;padding:8px!important;box-sizing:border-box}.slot-screen .slot-bonus>h3{font-size:21px!important;margin:2px 0!important;line-height:1.1;flex:none}.slot-screen .slot-bonus>.eyebrow,.slot-screen .slot-bonus>p{font-size:10px;margin:0;flex:none}.slot-screen .bonus-unlock-art{display:none}.slot-screen .slot-bonus>.gold{flex:none;min-height:35px!important;padding:4px!important;font-size:14px}.slot-screen .slot-bonus>.bonus-award{flex:none;font-size:17px!important;margin:0!important;padding:4px!important;line-height:1.2}.slot-screen .slot-bonus>.bonus-award strong{font-size:26px!important}.slot-screen .vault-grid,.slot-screen .vip-bonus-cards{flex:1!important;min-height:0!important;grid-template-rows:repeat(3,minmax(0,1fr));gap:5px}.slot-screen .vault-box{min-height:0!important;aspect-ratio:auto!important;padding:3px!important}.slot-screen .vault-box .bonus-illustration{height:50%;max-height:55px}.slot-screen .vault-box strong{font-size:20px}.slot-screen .vip-bonus-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}.slot-screen .vip-bonus-card{min-height:0!important;aspect-ratio:auto!important;padding:4px!important}.slot-screen .lock-feature-head{flex:none;font-size:9px;margin:0!important}.slot-screen .lock-feature-head strong{font-size:22px!important}.slot-screen .lock-board{flex:1;min-height:0!important;grid-template-rows:repeat(3,minmax(0,1fr));gap:4px!important;padding:5px!important}.slot-screen .lock-cell{min-height:0!important;aspect-ratio:auto!important}.slot-screen .lock-cell strong{font-size:clamp(14px,4vw,27px)!important}.slot-screen .lock-cell small{font-size:8px!important}.slot-screen .lock-status,.slot-screen .lock-auto-note{font-size:10px!important;margin:0!important;min-height:16px}.slot-screen .wheel-stage{flex:1;min-height:0!important;width:100%!important;max-width:none!important;aspect-ratio:auto!important;margin:10px auto!important;display:grid;place-items:center;container-type:size}.slot-screen .bonus-wheel{width:min(78cqw,88cqh)!important;height:min(78cqw,88cqh)!important;--wheel-radius:min(26cqw,29cqh);aspect-ratio:1!important;border-width:7px!important}.slot-screen .wheel-value{font-size:clamp(11px,4cqh,22px)!important}.slot-screen .wheel-pointer{top:3%!important;font-size:28px!important}.slot-screen .wheel-hub{width:min(22cqw,25cqh)!important;height:min(22cqw,25cqh)!important}.slot-screen .wheel-hub b{font-size:24px!important}
.slot-screen .spotlight-stage header{float:none!important;width:100%!important;flex:none}.slot-screen .spotlight-stage header h3{font-size:19px!important;margin:0!important}.slot-screen .spotlight-meter-stack{height:31px;min-height:0}.slot-screen .spotlight-meters{flex-direction:row!important;gap:4px;padding:2px}.slot-screen .spotlight-meters span{font-size:8px}.slot-screen .spotlight-meters b{font-size:14px}.slot-screen .spotlight-powers{margin:0!important;flex:none;height:68px;gap:4px}.slot-screen .spotlight-power{padding:3px!important;min-height:0!important}.slot-screen .power-portrait{height:25px!important}.slot-screen .spotlight-power strong{font-size:9px!important}.slot-screen .spotlight-power small{font-size:7px!important}.slot-screen .power-charge i{width:8px;height:8px}.slot-screen .spotlight-board{margin:0!important;padding:5px!important;flex:1;min-height:0!important}.slot-screen .spotlight-grid-stack,.slot-screen .spotlight-grid-stack>.sequence-layer{height:100%!important;min-height:0!important;aspect-ratio:auto!important}.slot-screen .spotlight-grid{height:100%;grid-template-rows:repeat(4,minmax(0,1fr));gap:4px}.slot-screen .prize-space{aspect-ratio:auto!important;min-height:0!important}.slot-screen .prize-coin{width:min(90%,64px);height:90%;aspect-ratio:auto!important}.slot-screen .prize-coin b{font-size:clamp(14px,4vw,24px)!important}.slot-screen .prize-coin small{font-size:6px!important}.slot-screen .coin-power-label{font-size:7px!important}.slot-screen .spotlight-status-stack{flex:none;height:28px;min-height:0!important;margin:0}.slot-screen .spotlight-status-stack b,.slot-screen .spotlight-status-stack span{font-size:9px}.slot-screen .spotlight-help{display:none}.slot-screen .spotlight-stage>.bonus-reel-recap{display:none}
@media(orientation:landscape) and (max-height:600px){.slot-screen .slot-bonus:not(.unique-bonus){gap:2px;padding:5px!important}.slot-screen .slot-bonus:not(.unique-bonus)>.bonus-reel-recap{position:absolute;left:12px;top:55px;width:24%;height:80px;z-index:3;opacity:.9}.slot-screen .wheel-stage{max-width:50%!important;margin:4px auto!important}.slot-screen .slot-bonus>h3{font-size:17px!important}.slot-screen .spotlight-powers{height:45px}.slot-screen .power-portrait{display:none}.slot-screen .spotlight-meter-stack{height:24px}.slot-screen .spotlight-status-stack{height:20px}.slot-screen .spotlight-stage header h3{font-size:16px!important}.slot-screen .spotlight-stage>.gold{min-height:26px!important;font-size:11px}.slot-screen .spotlight-stage .prize-coin b{font-size:15px!important}.slot-screen .spotlight-stage .bonus-award strong{font-size:18px!important}.slot-screen .spotlight-stage .bonus-award{font-size:12px!important}.slot-screen .slot-bonus>.bonus-award{font-size:13px!important}.slot-screen .lock-feature-head strong{font-size:17px!important}.slot-screen .slot-bonus>.eyebrow{display:none}}
/* Other game surfaces scale as a whole, retaining board-local zoom and pan. */
body.surface-fit{height:var(--visible-app-height,100dvh);overflow:hidden!important}body.surface-fit #app{height:100%;position:relative;overflow:hidden}body.surface-fit #app>main.wrap{position:absolute!important;left:50%;top:0;width:100vw;max-width:none!important;margin:0!important;box-sizing:border-box;transform:translateX(-50%) scale(var(--surface-scale,1));transform-origin:top center}body.surface-fit .wrap>.footer{display:none}.slot-screen .progressive-award{display:none}.slot-screen .vault-bonus-overlay>.slot-celebration{display:block!important;position:absolute!important;right:8px!important;left:auto!important;top:36px!important;width:68px!important;height:80px!important;z-index:30;pointer-events:none;opacity:.85}

/* Definite heights prevent a zero-height root when the story dialog closes. */
body.surface-fit,body.slot-screen{height:var(--visible-app-height,100dvh)!important}
body.surface-fit #app,body.slot-screen #app{height:var(--visible-app-height,100dvh)!important;min-height:0!important;max-height:var(--visible-app-height,100dvh)!important}
body.slot-screen .game-wrap{height:100%!important;max-height:100%!important}
