/* One centered game, with more of the casino revealed as the screen widens. */
html{background:#070c16}body{background:transparent}.casino-stage{isolation:isolate;position:relative;width:100%;padding-bottom:16px;overflow:clip;background:radial-gradient(ellipse at top,#19304488,transparent 70%),#070c16}
.view-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1440px;margin:0 auto;padding:12px 18px;color:#f4f8ff;font-family:system-ui,sans-serif}.view-brand{font-weight:850;font-size:18px;letter-spacing:.2px}.view-brand em{color:#ff86d7;font-family:Georgia,serif}.view-bar>div{display:flex;gap:8px}.view-bar button{min-height:44px;padding:9px 13px;font:700 13px system-ui,sans-serif;background:linear-gradient(#294154,#101e30);color:#ecfbff;border:1px solid #698ba0;border-radius:10px;box-shadow:inset 0 1px #ffffff25;cursor:pointer}.view-bar button[aria-pressed=true]{border-color:#68f4ff;background:#145066}.view-hint{display:none;margin:0;text-align:center;font:13px/1.5 system-ui,sans-serif;color:#c5e7f4}
.casino-stage>main{position:relative;z-index:1}.casino-stage button:focus-visible,.casino-stage a:focus-visible,dialog button:focus-visible{outline:4px solid #fff6a3;outline-offset:4px;box-shadow:0 0 0 8px #11182e,0 0 22px #51eaff!important}
@media(min-width:720px){.casino-stage{padding-bottom:24px;background:linear-gradient(90deg,#050a1540,transparent 24% 76%,#050a1540),linear-gradient(0deg,#070c16 0%,#070c1620 45%,#070c1640 100%),url('../../winn-casino-scenery/room/casino-room.png') center top/cover no-repeat,#070c16}.casino-stage>main{box-shadow:0 0 35px 18px #070c1670}.casino-stage .view-bar{background:linear-gradient(#070c16db,#070c1655)}.casino-stage>main:not(.game){padding:0;max-width:670px}.casino-stage .game-layout{box-shadow:none}.casino-stage .game{border:1px solid #486877;border-radius:18px}.casino-stage>main:not(.game) .game-layout{border-radius:18px}}
@media(min-width:1600px){.casino-stage>main:not(.game),.casino-stage .game{max-width:760px}.casino-stage .card{width:72px;height:100px;font-size:24px}.casino-stage .dealer-zone .card{width:62px;height:86px;font-size:21px}}
@media(max-width:719px){.view-bar{max-width:590px;padding:8px 10px}.view-brand{font-size:15px}.view-bar button{font-size:11px;padding:7px 10px;min-height:40px}.casino-stage{padding-bottom:0}.casino-stage main{box-shadow:none}}
/* TV mode fits the artwork to the remaining height while retaining a broad,
   centered control dock. Short viewports can scroll; controls are never clipped. */
html.casino-tv .casino-stage{min-height:100vh;min-height:100dvh;padding:12px 3vw 16px;background:linear-gradient(#060c1640,#060c1680),url('../../winn-casino-scenery/room/casino-room.png') center/cover no-repeat,#070c16}
.casino-tv .view-bar{max-width:1200px;padding:0 8px 8px}.casino-tv .view-brand{font-size:22px}.casino-tv .view-bar button{font-size:16px;min-height:46px}.casino-tv .view-hint{display:block;padding-bottom:8px}
.casino-tv .casino-stage>main,.casino-tv .casino-stage>main.game{width:100%;max-width:1000px;padding:0;margin:auto;overflow:visible;background:transparent;box-shadow:none;border:0;border-radius:0}
.casino-tv .game-layout{border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none;align-items:center}.casino-tv .scene{width:var(--tv-art-width,400px);max-width:100%;flex-shrink:0;border-radius:14px 14px 0 0;border:1px solid #4e6a80;box-shadow:0 0 30px #0009}
.casino-tv .console{width:100%;max-width:1000px;border:1px solid #4e6a80;border-radius:14px;padding:10px 18px;gap:8px 16px;box-shadow:0 12px 30px #0009}.casino-tv .console .chips{grid-column:1;grid-row:1;gap:26px;margin:3px 0}.casino-tv .console .chips button{width:48px;height:48px;font-size:17px}.casino-tv .console #deal{grid-column:2;grid-row:1;min-height:52px;font-size:20px}.casino-tv .console .actions{grid-row:2}.casino-tv .console .actions button{min-height:56px;font-size:20px}.casino-tv .console .status{grid-row:3;font-size:16px;text-align:center}.casino-tv .console .dock-toolbar{grid-row:4;padding-top:6px}.casino-tv .console .dock-toolbar button{min-height:40px;font-size:13px}.casino-tv .console #reset,.casino-tv .console .disclaimer{grid-row:5;font-size:11px}.casino-tv .table-label{font-size:16px;letter-spacing:0}.casino-tv .table-label b{font-size:21px}.casino-tv .host-tag{display:none}
.casino-tv .machine-window{width:var(--tv-art-width,400px);max-width:100%;aspect-ratio:2/2.35;overflow:hidden;margin:auto;border-radius:14px 14px 0 0;box-shadow:0 0 30px #0009}.casino-tv .machine{width:100%;aspect-ratio:2/3}.casino-tv .toolbar{justify-content:center;border:1px solid #58778c;border-radius:12px 12px 0 0;gap:16px}.casino-tv .toolbar button{min-height:46px;font-size:16px}.casino-tv .toolbar>span{font-size:12px}.casino-tv .result{font-size:20px;padding:10px;min-height:52px;margin:0}.casino-tv .game .bottom{background:#0c1727;padding:6px 18px}.casino-tv .game .bottom button,.casino-tv .game .bottom span{font-size:12px}.casino-tv .game .disclaimer{background:#0c1727;padding:5px 12px;font-size:11px}.casino-tv .meters output{font-size:4.3cqw}
.casino-tv .tv-slot-dock{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 12px;background:#112238;border:1px solid #496779;border-bottom:0;border-radius:12px 12px 0 0}.tv-slot-dock{display:none}.casino-tv .tv-slot-dock button{min-width:64px;min-height:54px;font-size:22px}.casino-tv .tv-slot-dock .tv-spin{min-width:220px;color:#052536;background:linear-gradient(#b1fbff,#22c4d5);font-weight:850}.casino-tv .tv-slot-dock output{font:800 20px system-ui,sans-serif;min-width:70px;text-align:center;color:#ffb8e6}
@media(max-width:700px){.casino-tv .casino-stage{padding:6px}.casino-tv .console{padding:8px}.casino-tv .console .chips{gap:14px}.casino-tv .console .chips button{width:36px;height:36px;font-size:13px}.casino-tv .console #deal{font-size:16px}.casino-tv .console .actions button{font-size:16px;min-height:48px}.casino-tv .view-hint{font-size:11px}.casino-tv .tv-slot-dock{gap:8px}.casino-tv .tv-slot-dock .tv-spin{min-width:120px}.casino-tv .toolbar{gap:8px}.casino-tv .toolbar button{font-size:13px}.casino-tv .result{font-size:16px}}
:fullscreen{overflow-y:auto;background:#070c16}html.casino-tv :focus-visible{scroll-margin:20px}@media(prefers-reduced-motion:reduce){.casino-stage *{scroll-behavior:auto!important}}

.casino-tv #slots-preview-link{display:none}
.casino-tv .scene{container-type:inline-size}
.casino-tv .scene .card{width:clamp(28px,12cqw,78px);height:clamp(40px,16.7cqw,108px);font-size:clamp(12px,4cqw,24px);max-width:none;max-height:none}
.casino-tv .scene .dealer-zone .card{width:clamp(26px,10cqw,65px);height:clamp(36px,14cqw,90px);font-size:clamp(11px,3.5cqw,21px)}
.casino-tv .scene .cards{min-height:0}.casino-tv .scene .dealer-zone{top:45%}.casino-tv .scene .player-zone{top:70%}
.casino-tv .scene .table-label{font-size:clamp(10px,2.8cqw,16px);padding:3px 6px;gap:5px}.casino-tv .scene .table-label b{font-size:clamp(13px,3.8cqw,22px);min-width:22px;padding:2px 4px}
.casino-tv .scene .table-meter strong{font-size:clamp(14px,4.5cqw,28px)}.casino-tv .scene .table-meter span{font-size:clamp(7px,1.8cqw,10px);letter-spacing:.5px}
.casino-tv .scene .wager-chip{width:clamp(25px,7cqw,48px);height:clamp(25px,7cqw,48px);font-size:clamp(10px,2.8cqw,15px)}

.dealer-zone .cards{min-height:0}
.tv-slot-summary{display:grid;gap:2px;text-align:center;min-width:90px;color:#94ecff;font-size:11px;letter-spacing:1px}.tv-slot-summary strong{font-size:23px;letter-spacing:0}.tv-slot-summary:last-child{color:#ffb0e6}
@media(max-width:700px){.tv-slot-summary{min-width:55px;font-size:9px}.tv-slot-summary strong{font-size:16px}.casino-tv .tv-slot-dock{flex-wrap:wrap}.casino-tv .tv-slot-dock button{min-width:42px}.casino-tv .tv-slot-dock .tv-spin{min-width:90px}}

/* Bet chips occupy the lower rail, covering the decorative W medallion. */
.scene{container-type:inline-size}
.scene .table-chip-choices{position:absolute;z-index:8;left:0;right:0;bottom:0;height:12%;min-height:48px;max-height:86px;display:flex;align-items:center;justify-content:center;gap:clamp(16px,4cqw,28px);margin:0;padding:2px 10px;background:linear-gradient(180deg,#142b40,#091625 65%,#132a3e);border-top:1px solid #6dd4e583;box-shadow:0 -5px 18px #06101e77}
.scene .table-chip-choices button{--chip:#235b73;flex-shrink:0;width:clamp(40px,8cqw,54px);height:clamp(40px,8cqw,54px);padding:0;border:4px dashed #d0e0ebc2;border-radius:50%;font-size:clamp(13px,2.8cqw,17px);font-weight:800;background:radial-gradient(circle,#ffffff1f 0 46%,#0003 47% 53%,transparent 54%),linear-gradient(145deg,var(--chip),#101a30);box-shadow:inset 0 0 0 2px #ffffff38,0 3px 5px #0009;color:white}
.scene .table-chip-choices button:nth-child(2){--chip:#a42d85}.scene .table-chip-choices button:nth-child(3){--chip:#7556a9}.scene .table-chip-choices button:nth-child(4){--chip:#647186}
.scene .table-chip-choices button[aria-pressed=true]{outline:2px solid #6ceaf4;outline-offset:3px;box-shadow:0 0 18px #4be5ee66,inset 0 0 0 2px #ffffff50}
.scene .table-chip-choices button:disabled{opacity:.55;cursor:not-allowed}
.console #deal{grid-row:1}.console .actions{grid-row:2}.console .status{grid-row:3}.console .dock-toolbar{grid-row:4}.console #reset,.console .disclaimer{grid-row:5}
.casino-tv .console #deal{grid-column:1/-1;grid-row:1}
.casino-tv .scene .dealer-zone{top:43%}.casino-tv .scene .player-zone{top:64%}
.casino-tv .scene .card{height:clamp(40px,14cqw,96px);width:clamp(28px,10cqw,68px)}
.casino-tv .scene .dealer-zone .card{height:clamp(34px,12cqw,78px);width:clamp(25px,8.5cqw,55px)}
@media(max-width:420px){.scene .dealer-zone{top:43%}.scene .player-zone{top:64%}.scene .card{height:clamp(42px,13vw,55px);width:clamp(30px,9.5vw,40px);font-size:15px}.scene .dealer-zone .card{height:clamp(34px,10vw,42px);width:clamp(26px,8vw,34px);font-size:13px}.scene .table-label{font-size:11px;padding:3px 6px;gap:5px}.scene .table-label b{font-size:16px;padding:1px 4px;min-width:23px}.scene .player-zone .table-label{margin-top:3px}.scene .table-chip-choices{gap:16px}.scene .table-chip-choices button{width:40px;height:40px}}

.scene .cards{min-height:0}
/* Compact TV card rows leave a clear lane above the chip rail. */
.casino-tv .scene .dealer-zone{top:41%}.casino-tv .scene .player-zone{top:62%}
.casino-tv .scene .table-label{padding-top:1px;padding-bottom:1px}
.casino-tv .scene .dealer-zone .table-label{margin-bottom:3px}.casino-tv .scene .player-zone .table-label{margin-top:3px}

.casino-tv button.host-tag{display:block}
