:root{color-scheme:dark;font-family:Georgia,'Times New Roman',serif;color:#fff0c9;background:#071417;--gold:#dfb768;--cream:#fff0c9;--ink:#071e26;--teal:#123f43}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse,#163e43,#061116 75%);padding:12px}button,input{font:inherit}button{cursor:pointer;color:var(--cream);border:1px solid #bd9851;border-radius:8px;background:linear-gradient(#29474a,#10282d);min-height:44px;padding:8px 15px;box-shadow:inset 0 0 0 2px #0a242885;font-family:system-ui,sans-serif;font-size:13px}button:hover{background:linear-gradient(#496269,#24454b)}button:focus-visible,input:focus-visible{outline:3px solid #8cf7e1;outline-offset:3px}button:disabled{opacity:.48;cursor:default}button.primary{background:#762b47}button.small{padding:6px 10px}h1,h2,p{margin:0}small,.eyebrow{font-family:system-ui,sans-serif;font-size:10px;letter-spacing:2px;color:#d4b97d}.eyebrow{font-size:9px;letter-spacing:3px}
.game{position:relative;isolation:isolate;overflow:hidden;width:min(1120px,100%);height:min(830px,calc(100dvh - 24px));min-height:630px;display:flex;flex-direction:column;padding:24px 30px 12px;border:2px solid #c8a260;border-radius:18px;background:#0b3037 url('assets/ui/lounge.webp') center/cover;box-shadow:0 20px 90px #0009,inset 0 0 0 5px #35291b,inset 0 0 0 7px #c19b5770}
.game:before{content:'';pointer-events:none;position:absolute;inset:7px;border:1px solid #dfba6688;border-radius:10px;z-index:-1;background:linear-gradient(90deg,#031b2477,transparent 30%,#02182033)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 5px 14px}.brand h1{font-size:40px;line-height:1.1;font-weight:500;color:#fff0c3;text-shadow:0 2px 3px #000,0 0 20px #d59d6660;letter-spacing:-1px}.brand em{font-weight:400;color:#eabf75}.brand .eyebrow{display:block;margin-bottom:4px}.masthead nav{display:flex;gap:10px}.jackpots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:840px;width:100%;margin:0 auto 14px}.jackpots>div{border:1px solid #ae8a51;border-radius:9px;background:linear-gradient(120deg,#201e37dd,#2e3142c9);padding:7px;text-align:center;box-shadow:inset 0 0 12px #e4b66a18}.jackpots small{display:block;font-size:9px;letter-spacing:3px}.jackpots strong{font-size:25px;font-weight:500;color:#ffd87b;line-height:1.1}.jackpots>div:last-child{background:linear-gradient(120deg,#5d263bdd,#281d3ee8);border-color:#e0ac71}.stage{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;flex:1;min-height:0}.host-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:0;padding-bottom:8px}.host-art{width:210px;aspect-ratio:2/3;max-height:calc(100% - 112px);flex:1;min-height:0}.sprite{position:relative;background-repeat:no-repeat;background-size:500% 400%;background-position:0 0}.sprite.blend{isolation:isolate;background-image:none!important}.sprite-layer{position:absolute;inset:0;background-repeat:no-repeat;background-size:500% 400%;mix-blend-mode:plus-lighter}.host-name{font-style:italic;font-size:16px;color:#f4d893;white-space:nowrap;margin:2px 0 7px}.host-card p{font-style:italic;text-align:center;font-size:14px;line-height:1.5;color:#ded5c5;margin-bottom:12px}.host-card button{font-size:11px;min-height:40px}.cabinet{min-width:0;display:flex;flex-direction:column;min-height:0}.reel-heading{display:flex;justify-content:space-between;gap:6px;font:10px system-ui,sans-serif;letter-spacing:2px;color:#e7c88e;text-align:center;padding:0 8px 9px}.reel-frame{position:relative;flex:1;min-height:0;border:3px solid #d5ae61;border-radius:13px;padding:7px;background:#081e27dd;box-shadow:0 0 0 2px #2f3024,0 0 0 4px #80623d,0 8px 24px #0009,inset 0 0 45px #000b}.reel-frame:after{pointer-events:none;content:'';position:absolute;inset:-6px;border:12px solid transparent;border-image:url('assets/ui/reel-frame.png') 64 stretch;border-radius:18px}.reels{height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:hidden}.reel{position:relative;display:grid;grid-template-rows:repeat(4,minmax(0,1fr));min-height:0;gap:3px;border-right:1px solid #bc9e5940;padding-right:4px}.reel:last-child{border:0;padding-right:0}.symbol{position:relative;display:grid;place-items:center;min-height:0;aspect-ratio:auto;overflow:hidden;border-radius:5px;background:radial-gradient(ellipse,#25434e55,transparent 75%);transition:background .25s}.symbol-art{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;padding:3px}.symbol .sprite{width:100%;aspect-ratio:1;max-height:100%;background-image:url('assets/symbols/wild.webp')}.symbol.winner{background:radial-gradient(ellipse,#dfaf6455,#e2b66411);box-shadow:inset 0 0 0 1px #ebc56d}.symbol.held{background:radial-gradient(ellipse,#b9782655,#66501822);box-shadow:inset 0 0 0 1px #eec978}.cash-value{position:absolute;bottom:6%;font:bold 16px Georgia;color:#ffedaf;text-shadow:0 2px 3px #000,0 0 6px #000;line-height:1}.cash-badge{position:absolute;top:3px;left:2px;font:8px system-ui;letter-spacing:1px;color:#fff6ac}
.result{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;padding:10px 3px 5px;text-align:center}.result strong{font-size:23px;font-weight:500;color:#ffdea0}.result span{font:12px system-ui,sans-serif;color:#dddfd4;margin-top:4px;line-height:1.4}.controls{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.4fr;gap:16px;align-items:center;padding:12px 6px 7px;min-height:98px;border-top:1px solid #d8b46566}.meter{display:flex;flex-direction:column;gap:5px}.meter strong{font-size:27px;font-weight:500;line-height:1.1;color:#ffebba;font-variant-numeric:tabular-nums}.bet-control>small{display:block;text-align:center;margin-bottom:4px}.bet-control>div{display:flex;align-items:center;justify-content:center;gap:12px}.bet-control button{min-width:40px;padding:0;font-size:22px;min-height:40px}.bet-control strong{font-size:23px;min-width:35px;text-align:center;font-weight:500}.spin{min-height:72px;background:#a36e27 url('assets/ui/spin-button.png') center/100% 100%;border:2px solid #f5d085;border-radius:13px;box-shadow:0 4px 18px #0008,inset 0 0 10px #fff4;color:#fff5cb;display:flex;flex-direction:column;justify-content:center;align-items:center;text-shadow:0 2px 3px #5c251b}.spin span{font:700 27px Georgia;letter-spacing:5px}.spin small{font-size:8px;color:#fff0b6;letter-spacing:2px;margin-top:2px}.spin:hover{background:#be8b3f url('assets/ui/spin-button.png') center/100% 100%;filter:brightness(1.15)}.game-footer{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:32px}.game-footer button{border:0;background:transparent;box-shadow:none;min-height:30px;padding:4px;font-size:11px;color:#e1c98b}.game-footer span{font:11px system-ui;text-align:center;color:#e7dec6;max-width:65%;line-height:1.4}
.panel-shade{position:absolute;inset:0;background:#03151de3;z-index:20;display:grid;place-items:center;padding:18px}.panel{position:relative;width:min(620px,100%);max-height:100%;overflow:auto;padding:36px 30px 24px;border:1px solid #d6b063;border-radius:16px;background:linear-gradient(140deg,#193a3d,#151f30);box-shadow:0 8px 50px #0008,inset 0 0 0 5px #133335}.panel h2{font-size:30px;font-weight:500;color:#ffe1a7;margin:8px 0 20px}.close{position:absolute;right:12px;top:12px;font-size:25px;padding:0;width:40px;line-height:1}.panel p{font:14px/1.65 system-ui;color:#e2ded2;margin:12px 0}.panel h3{font-size:20px;color:#f4d797;font-weight:500;margin:22px 0 10px}.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel-actions button{min-height:52px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #d4bc7233;font:14px system-ui}.setting input[type=checkbox]{width:22px;height:22px;accent-color:#e5b865}.setting input[type=range]{width:130px;accent-color:#e5b865}.table{width:100%;border-collapse:collapse;font:12px system-ui}.table td,.table th{padding:10px 5px;border-bottom:1px solid #d7bb6b33;text-align:center}.table th:first-child,.table td:first-child{text-align:left}.table td:first-child{display:flex;align-items:center;gap:8px}.table img{width:35px;height:35px;object-fit:contain}.gallery-art{width:200px;aspect-ratio:2/3;margin:0 auto;max-height:300px}.demo-banner{font:11px system-ui;color:#d6f4eb;background:#164b47;padding:10px;border-radius:8px;border:1px solid #64c4a670}.performance{position:absolute;inset:0;z-index:12;display:flex;align-items:center;flex-direction:column;justify-content:center;pointer-events:none;background:radial-gradient(ellipse,#132b38d9,transparent 75%)}.performance-art{width:280px;height:420px;flex:none;max-height:56%}.performance-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:12px 25px;border:1px solid #d6b36d88;border-radius:12px;background:#092730ed;box-shadow:0 6px 20px #0005;max-width:90%}.performance-title strong{font-size:32px;font-weight:500;color:#ffdfa0}.performance-title span{font-size:25px;color:#fff3cd}.performance button{pointer-events:auto;margin-top:12px;background:#224447ed}.particles{pointer-events:none;position:absolute;inset:0;z-index:13;overflow:hidden}.mote{position:absolute;width:22px;height:22px;background:url('assets/effects/star.png') center/contain no-repeat;animation:mote-flight var(--duration,2s) ease-out forwards}.mote.round{background-image:url('assets/effects/mote.png')}@keyframes mote-flight{from{opacity:0;transform:translate(0,0)}15%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy))}}[hidden]{display:none!important}.still .reel.spinning .symbol:not(.held){animation:none;filter:none}.still .mote{animation:none}.still .performance{background:#092a36de}
@media(max-width:760px){body{padding:4px}.game{width:100%;height:calc(100dvh - 8px);min-height:600px;padding:19px 14px 8px;border-radius:13px;background-image:url('assets/ui/lounge-mobile.webp');background-position:center}.masthead{padding:0 0 10px;gap:6px}.brand h1{font-size:27px;letter-spacing:-.7px}.brand .eyebrow{font-size:7px;letter-spacing:2px}.masthead nav{gap:5px}.masthead nav button{padding:6px 10px;font-size:11px}.masthead #meet{display:none}.jackpots{gap:5px;margin-bottom:12px}.jackpots>div{padding:7px 2px}.jackpots small{font-size:7px;letter-spacing:1.5px}.jackpots strong{font-size:20px}.stage{display:flex;flex-direction:column;gap:6px}.host-card{height:53px;flex:none;display:block;padding:0}.host-art{position:absolute;right:2px;bottom:-2px;width:62px;height:93px;max-height:none;z-index:1}.host-name{font-size:15px;margin:0 0 3px}.host-card p{font-size:12px;text-align:left;line-height:1.3;margin:0;display:inline}.host-card p br{display:none}.host-card button{position:absolute;right:66px;bottom:5px;min-height:38px;padding:6px 9px;font-size:10px;max-width:106px}.cabinet{flex:1}.reel-heading{font-size:8px;letter-spacing:1px;padding:1px 3px 8px}.reel-frame{padding:4px;border-width:2px;border-radius:10px;max-height:420px}.reels{gap:2px}.reel{gap:2px;padding-right:2px}.symbol-art{padding:0}.cash-value{font-size:14px;bottom:9%}.cash-badge{font-size:6px}.result{min-height:66px;padding:9px 0 4px}.result strong{font-size:22px}.result span{font-size:11px;line-height:1.35}.controls{gap:6px;grid-template-columns:1fr 1fr 1fr 1.1fr;padding:10px 0 4px;min-height:91px}.meter strong{font-size:22px}.meter small,.bet-control small{font-size:8px;letter-spacing:1px}.bet-control>div{gap:3px}.bet-control button{min-width:26px;min-height:44px;padding:0;font-size:17px}.bet-control strong{font-size:19px;min-width:28px}.spin{min-height:65px;padding:4px;border-radius:9px}.spin span{font-size:22px;letter-spacing:2px}.spin small{font-size:6px;letter-spacing:1px}.game-footer{gap:4px;min-height:37px}.game-footer span{font-size:9px;max-width:63%}.game-footer button{font-size:10px}.panel-shade{padding:10px}.panel{padding:38px 20px 20px}.panel h2{font-size:27px}.panel-actions{gap:8px}.panel-actions button{padding:8px;font-size:12px}.performance-art{width:240px;height:360px;max-height:51%}.performance-title strong{font-size:27px}.performance-title span{font-size:23px}}
@media(max-height:670px) and (min-width:761px){.game{min-height:530px;padding-top:15px}.masthead{padding-bottom:9px}.brand h1{font-size:30px}.jackpots{margin-bottom:8px}.jackpots strong{font-size:21px}.stage{grid-template-columns:180px minmax(0,1fr)}.host-art{width:160px}.host-card p{display:none}.result{min-height:52px}.controls{min-height:80px;padding-top:6px}.spin{min-height:60px}}
@media(prefers-reduced-motion:reduce){.reel.spinning .symbol:not(.held){animation:none;filter:none}.mote{animation:none}}
.host-art{flex:none;width:210px;height:315px;aspect-ratio:2/3;max-height:none}
@media(max-width:760px){.game{min-height:min(600px,calc(100dvh - 8px))}.host-art{width:62px;height:93px}.host-card button{min-height:44px}.controls{grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);min-height:144px;gap:5px;padding-top:8px}.bet-control button{min-width:44px;min-height:44px}.bet-control>div{gap:6px}.spin{grid-column:1/-1;min-height:60px;flex-direction:row;gap:12px}.spin small{font-size:8px;letter-spacing:2px}.spin span{font-size:25px}.game-footer{min-height:44px}.game-footer button{min-width:44px;min-height:44px}.host-name{max-width:calc(100% - 60px)}.reel-frame{flex:1}.performance-art{width:min(240px,45dvh);height:min(360px,67.5dvh);max-height:none}}
@media(max-height:670px) and (min-width:761px){.host-art{width:160px;height:240px}.performance-art{width:200px;height:300px;max-height:none}}
.symbol{container-type:size}.symbol-art{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}.symbol .sprite{position:absolute;width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-height:none;left:50%;top:50%;transform:translate(-50%,-50%)}
.close{width:44px;min-height:44px}.performance[data-phase=entering] .performance-art{animation:host-enter .65s cubic-bezier(.16,1,.3,1) both}.performance[data-phase=leaving] .performance-art{animation:host-leave .8s ease-in both}.performance[data-phase=leaving] .performance-title,.performance[data-phase=leaving] button{opacity:0;transition:opacity .4s}
@keyframes host-enter{from{transform:translateX(-140%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes host-leave{from{transform:translateX(0);opacity:1}to{transform:translateX(160%);opacity:0}}
@media(max-width:760px){.host-card{height:95px}.host-art{bottom:0}.host-card p{max-width:calc(100% - 66px)}.performance-title strong{font-size:25px}.performance[data-phase=entering] .performance-art{animation-duration:.5s}}
.still .performance-art{animation:none!important}@media(prefers-reduced-motion:reduce){.performance-art{animation:none!important}}

.machine-meters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:5px 12px 10px;text-align:center;border:1px solid #cbb17777;border-radius:9px;margin-bottom:9px;background:linear-gradient(#142d3cdd,#2e273cd9)}.machine-meters>div{display:flex;flex-direction:column;gap:2px}.machine-meters small{font-size:10px;letter-spacing:2px}.machine-meters strong{font-size:27px;font-weight:500;line-height:1.1;color:#ffedaf;font-variant-numeric:tabular-nums}.reel-frame{padding:7px 35px}.reel{grid-template-rows:repeat(3,minmax(0,1fr))}.line-rail{position:absolute;top:8px;bottom:8px;width:27px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;z-index:3}.line-rail.left{left:4px}.line-rail.right{right:4px}.line-number{width:24px;min-height:23px;display:grid;place-items:center;font:700 16px system-ui,sans-serif;color:#fff;border:1px solid #ffe4b666;background:linear-gradient(120deg,var(--line-color),#132f45);border-radius:4px;text-shadow:0 1px 2px #000;box-shadow:0 1px 3px #0007}.line-number.active{border-color:#fff;filter:brightness(1.5);box-shadow:0 0 10px var(--line-color)}#line-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}.controls{grid-template-columns:1fr .7fr 1.8fr;min-height:87px;gap:20px}.controls>.bet-control{justify-self:start}.controls>#line-guide{align-self:center;justify-self:start}.controls>.spin{min-height:68px}.result strong{text-transform:uppercase;letter-spacing:1px;font-size:24px}.symbol.winner{box-shadow:inset 0 0 0 2px #f6d68a,0 0 8px #eabd6f55}.line-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.line-choice{min-height:54px;text-align:left;display:flex;align-items:center;gap:12px}.line-choice strong{min-width:25px;color:#ffe2aa}.line-choice canvas{width:150px;height:42px;max-width:80%}
@media(max-width:760px){.host-card{height:105px}.host-art{width:70px;height:105px}.host-card button{right:78px}.machine-meters{padding:7px 5px 6px;margin-bottom:8px;gap:8px}.machine-meters small{font-size:8px;letter-spacing:1.5px}.machine-meters strong{font-size:23px}.reel-heading{font-size:7px;letter-spacing:.8px}.reel-frame{padding:4px 24px}.line-rail{top:5px;bottom:5px;width:19px}.line-rail.left{left:2px}.line-rail.right{right:2px}.line-number{width:18px;min-height:19px;font-size:12px;line-height:1}.controls{grid-template-columns:1fr 1.25fr;min-height:81px;padding:9px 0 4px;gap:10px}.controls>.bet-control{justify-self:center}.controls>.spin{grid-column:auto;min-height:63px;flex-direction:column;gap:0}.controls .spin span{font-size:23px}.controls .spin small{font-size:7px;letter-spacing:1px}.controls #line-guide{display:none}.bet-control>small{font-size:8px;letter-spacing:.8px}.bet-control>div{gap:7px}.result{min-height:67px}.result strong{font-size:21px}.line-preview{grid-template-columns:1fr}.performance-title strong{font-size:25px}}

/* Stage magic is registered to the winning cells in stage-magic.js. */
#win-light-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;mix-blend-mode:screen}#line-overlay{z-index:4}.symbol.winner .symbol-art{filter:drop-shadow(0 0 5px #ffdc83)}.symbol.winner .sprite{filter:drop-shadow(0 0 5px #ffdc83)}

.host-card.on-stage:before{content:'';position:absolute;pointer-events:none;top:-50px;bottom:70px;left:-12%;width:124%;background:linear-gradient(#fff3be55,#ffe6a01b 75%,transparent);clip-path:polygon(47% 0,53% 0,94% 100%,6% 100%);mix-blend-mode:screen}.host-card .host-art{position:relative;z-index:1}.host-card.on-stage .host-art{filter:drop-shadow(0 0 13px #ffe09977)}
.performance:before{content:'';position:absolute;inset:0 12% 14%;pointer-events:none;background:linear-gradient(#fff8dc88,#ffe8ad30 75%,transparent);clip-path:polygon(46% 0,54% 0,85% 100%,15% 100%);mix-blend-mode:screen;animation:stage-shimmer 2.5s ease-in-out infinite}.performance:after{content:'';position:absolute;pointer-events:none;width:45%;height:12%;left:27.5%;bottom:20%;background:radial-gradient(ellipse,#ffdf9144,transparent 70%);z-index:-1}.performance-art{filter:drop-shadow(0 0 16px #ffe4a177);z-index:1}.performance-title,.performance button{z-index:1}.performance[data-phase=leaving]:before{opacity:0;transition:opacity .65s}@keyframes stage-shimmer{50%{opacity:.65}}
.glow-trail,.token-flight{position:absolute;pointer-events:none;z-index:2;width:15px;height:15px;background:url('assets/effects/star.png') center/contain no-repeat;filter:drop-shadow(0 0 8px #ffe7aa);animation:glow-drift var(--flight,900ms) ease-out forwards}.token-flight{width:24px;height:24px;background-image:url('assets/symbols/cash.png');animation:token-collect var(--flight,1050ms) cubic-bezier(.34,.1,.55,1) forwards}
@keyframes glow-drift{0%{opacity:.95;transform:translate(-50%,-50%) scale(.3)}30%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.1)}}@keyframes token-collect{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}15%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.5) rotate(180deg)}}.machine-meters strong.counting{color:#fff4bd;text-shadow:0 0 12px #ffd76a;animation:meter-glitter .6s ease-in-out infinite}@keyframes meter-glitter{50%{text-shadow:0 0 20px #ffd76a,0 0 4px #fff}}
.controls{min-height:130px}.controls>.spin{width:260px;aspect-ratio:615/288;height:auto;min-height:0;max-width:100%;justify-self:end;background:transparent url('assets/ui/spin-button.png') center/contain no-repeat;border:0;border-radius:0;box-shadow:none;flex-direction:column}.controls>.spin:hover{background:transparent url('assets/ui/spin-button.png') center/contain no-repeat}.spin span{letter-spacing:3px;font-size:28px}
@media(max-width:760px){.host-card .host-art{position:absolute}.controls{min-height:98px}.controls>.spin{width:100%;min-height:0;height:auto;aspect-ratio:615/288}.controls .spin span{font-size:23px}.controls .spin small{font-size:7px}.machine-meters small{letter-spacing:1px;font-size:7px}.host-card.on-stage:before{left:auto;right:-8%;width:105px;bottom:0;top:-40px}}
@media(max-width:760px) and (max-height:700px){.game{padding:12px 11px 5px}.masthead{padding-bottom:6px}.brand h1{font-size:24px}.jackpots{margin-bottom:6px}.jackpots>div{padding:5px 2px}.jackpots strong{font-size:17px}.host-card{height:52px}.host-card .host-art{width:35px;height:52.5px}.host-name{font-size:12px;max-width:calc(100% - 40px)}.host-card p{font-size:10px;max-width:calc(100% - 125px)}.host-card button{right:41px;bottom:0;min-height:44px;font-size:9px;padding:3px 5px}.machine-meters{padding:4px 4px;margin-bottom:5px}.machine-meters strong{font-size:20px}.reel-heading{padding-bottom:5px}.result{min-height:50px;padding:5px 0 3px}.result strong{font-size:17px}.result span{font-size:10px}.controls{min-height:75px;padding:5px 0 0;gap:6px}.controls>.spin{width:142px;justify-self:end}.controls .spin span{font-size:20px}.controls .spin small{font-size:6px}.game-footer{min-height:44px}.line-number{min-height:0;flex:1;width:18px;max-height:18px;font-size:10px}.line-rail{gap:2px;top:4px;bottom:4px}.cash-value{font-size:12px;bottom:7%}.performance-art{width:180px;height:270px}.performance-title strong{font-size:22px}.performance-title span{font-size:18px}}
.still .symbol.winner .symbol-art,.still .symbol.winner .sprite,.still .performance:before,.still .counting{animation:none!important}.still .glow-trail,.still .token-flight{display:none}@media(prefers-reduced-motion:reduce){.symbol.winner .symbol-art,.symbol.winner .sprite,.performance:before,.counting{animation:none!important}.glow-trail,.token-flight{display:none}}

/* The cabinet must also fit short desktop panels, not only tall browser windows. */
.line-rail{container-type:size;gap:2px}.line-number{min-height:0;flex:1;max-height:23px;font-size:clamp(8px,6cqh,16px)}
.symbol-art{width:min(100cqw,100cqh);height:min(100cqw,100cqh);inset:auto;left:50%;top:50%;transform:translate(-50%,-50%)}

.performance{container-type:size}.performance-art{width:min(320px,calc((100cqh - 172px)*.666667));height:min(480px,calc(100cqh - 172px));max-height:none}
@media(min-width:761px){.host-card{container-type:size}.host-card .host-art{width:min(210px,calc((100cqh - 112px)*.666667));height:min(315px,calc(100cqh - 112px))}}
@media(min-width:761px) and (max-height:670px){.host-card .host-art{width:min(160px,calc((100cqh - 70px)*.666667));height:min(240px,calc(100cqh - 70px))}}
@media(max-width:760px){.line-number{max-height:19px;font-size:clamp(8px,6cqh,12px)}}
@media(min-width:761px) and (max-height:800px){.controls{min-height:100px;padding-top:7px;gap:16px}.controls>.spin{width:210px}.machine-meters strong{font-size:24px}.machine-meters{padding-bottom:7px}}
@media(min-width:761px) and (max-height:670px){.controls{min-height:86px;padding-top:4px}.controls>.spin{width:175px}.masthead{padding-bottom:6px}.jackpots>div{padding:5px 4px}.jackpots{margin-bottom:6px}.machine-meters{padding:3px 8px 5px;margin-bottom:6px}.machine-meters strong{font-size:21px}.machine-meters small{font-size:8px}.result{min-height:46px}.result strong{font-size:20px}.result span{font-size:10px}.reel-heading{padding-bottom:6px}}
.reel-roll-window{position:absolute;overflow:hidden;z-index:1;pointer-events:none;border-radius:5px}.reel-track{position:absolute;left:0;top:0;width:100%;display:flex;flex-direction:column;will-change:transform}.reel-tile{position:relative;flex:0 0 var(--reel-cell-height);height:var(--reel-cell-height);container-type:size;overflow:hidden;border-radius:5px;background:radial-gradient(ellipse,#25434e55,transparent 75%)}
.reel.spinning>.symbol{animation:none!important;transform:none!important;filter:none!important;visibility:hidden}.reel.spinning>.symbol.held{visibility:visible;z-index:2;background:radial-gradient(ellipse,#69522d,#071e27 85%)}.reel-track[data-phase="rolling"] .symbol-art{filter:blur(.45px)}.reel-track[data-phase="braking"] .symbol-art{filter:none}
.symbol.winner .symbol-art,.symbol.winner .sprite{animation:none!important;transform:translate(-50%,-50%);filter:drop-shadow(0 0 5px #ffdc83)}.symbol.winner:after{content:'';position:absolute;inset:-50%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,#ffecb74d 49%,#fff6d67a 50%,transparent 57%);animation:winning-glint 1.8s ease-in-out infinite;mix-blend-mode:screen}@keyframes winning-glint{0%,20%{transform:translateX(-70%);opacity:0}40%{opacity:.8}70%,100%{transform:translateX(70%);opacity:0}}.still .symbol.winner:after{animation:none;opacity:0}@media(prefers-reduced-motion:reduce){.symbol.winner:after{animation:none;opacity:0}}
.symbol .winning-art{opacity:0}.symbol.winner .winning-art{opacity:1}.symbol.winner:has(.winning-art) .symbol-art{opacity:0}.game.still .symbol.winner .winning-art{opacity:0}.game.still .symbol.winner:has(.winning-art) .symbol-art{opacity:1}@media(prefers-reduced-motion:reduce){.symbol.winner .winning-art{opacity:0}.symbol.winner:has(.winning-art) .symbol-art{opacity:1}}
.game:has(.performance:not([hidden])) .host-card .host-art{visibility:hidden}.game:has(.performance:not([hidden])) .host-card:before{opacity:0}

.masthead #menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.2}.masthead #menu small{font-size:9px;letter-spacing:0;color:#ffe3a5}.masthead #menu small strong{font-variant-numeric:tabular-nums}
.game>.game-footer button{min-width:44px;min-height:44px}
