/* Las Vegas private-room presentation. Every playing surface remains native size. */
html body #app .game-scene{isolation:isolate}
html body.portrait-play #app .game-scene>:is(.table,.casino-table,.slot-machine,.cash-machine){border-color:#bd9c58!important;background-color:#080d0f!important;box-shadow:inset 0 0 0 2px #101619,inset 0 0 0 3px #b68f3c55,0 12px 35px #0009!important}
html body.portrait-play #app :is(.blackjack-table,.poker-table,.scene-spades>.table,.domino-table){background-image:radial-gradient(ellipse at 50% 30%,#26343166,#080d12bb 80%),url('assets/paxton-table-v2428.svg')!important;background-position:center!important;background-size:cover!important}
html body.portrait-play #app :is(.card,.domino){filter:drop-shadow(0 2px 2px #0006)}
html body.portrait-play #app .scene-poker .poker-seat{box-shadow:inset 0 1px #efd59b33,0 3px 8px #0007!important;border-color:#9e814c!important}
html body.portrait-play #app .scene-spades .scorebox{box-shadow:inset 0 1px #eacb8b22,0 4px 8px #0005!important}
/* Ambient cinema is beneath hardware; it cannot obscure symbols or intercept play. */
html body.portrait-play.slot-screen #app .scene-slots .cabinet-atmosphere{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;opacity:.13!important;filter:saturate(.7) brightness(.7)!important;z-index:-1!important;pointer-events:none!important;border-radius:inherit!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine,
html body.portrait-play.slot-screen #app .scene-slots .cash-machine{isolation:isolate!important;background-color:#080c11!important;background-image:linear-gradient(125deg,#181612e0,#080c14aa)!important}
html body.portrait-play.slot-screen #app .scene-slots .cabinet-spinning .cabinet-atmosphere{opacity:.24!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine>.cabinet-atmosphere{flex:none!important}
html body.portrait-play.slot-screen #app .scene-slots :is(.guardian-title,.cash-marquee){border:1px solid #bc9b58!important;background:linear-gradient(120deg,#2c2519b3,#080c12e8 45%,#49321960)!important;box-shadow:inset 0 1px #ffe7ae55,inset 0 -1px #f9d78933,0 2px 6px #0007!important}
html body.portrait-play.slot-screen #app .scene-slots .reel-frame{border:3px ridge #d1ac5d!important;background:linear-gradient(120deg,#ffe7a4,#73552b 22%,#171b24 50%,#bf994d 82%,#f7db8c)!important;box-shadow:inset 0 0 0 2px #050a10,0 3px 12px #000b!important}
html body.portrait-play.slot-screen #app .scene-slots .reel-window::after{content:''!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:8!important;background:linear-gradient(115deg,transparent 8%,#fff5df0b 15%,transparent 30%,transparent 65%,#ffffff08 74%,transparent 89%)!important;box-shadow:inset 0 12px 14px -10px #000e,inset 0 -12px 14px -10px #000e!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-reel{border-right:1px solid #bc985466!important}
html body.portrait-play.slot-screen #app .scene-slots .reel-new-stop{animation:vegas-reel-seat .28s cubic-bezier(.15,.75,.2,1)!important}
html body.portrait-play.slot-screen #app .scene-slots .symbol-win{animation:vegas-symbol-win 1.5s ease-in-out infinite!important}
html body.portrait-play.slot-screen #app .scene-slots .bonus-anticipation .reel-frame{animation:vegas-anticipation 1.15s ease-in-out infinite!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-fixed-frame{box-shadow:inset 0 0 16px #ffe4a511!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine.cash-inferno{background:radial-gradient(ellipse at center,#4c071d99,#09080e 75%)!important}
html body.portrait-play.slot-screen #app .scene-slots .cash-machine.cash-inferno .cash-stage{box-shadow:inset 0 0 30px #7b082caa,0 0 18px #ff234950!important}
/* Real-time 3D is progressive enhancement; the original wheel and dice remain
   underneath as the fully playable fallback when WebGL is unavailable. */
html body.portrait-play.casino-tables-screen #app .vegas-live-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;pointer-events:none!important;z-index:4!important;border-radius:inherit!important}
html body.portrait-play.casino-tables-screen #app .vegas-3d-ready{transform:none!important;filter:none!important}
html body.portrait-play.casino-tables-screen #app .roulette-wheel-shell.vegas-3d-ready>:is(svg,.roulette-ball-track,.roulette-pointer,.wheel-spindle){visibility:hidden!important}
html body.portrait-play.casino-tables-screen #app .dice-stage.vegas-3d-ready>.die-perspective{visibility:hidden!important}
html body.portrait-play.casino-tables-screen #app .casino-table{background:radial-gradient(ellipse at 50% 10%,#59421a33,transparent 60%),linear-gradient(145deg,#111918,#060a0f)!important;border:2px ridge #cbaa66!important;border-radius:20px!important;padding:6px 7px!important;gap:4px!important}
html body.portrait-play.casino-tables-screen #app .casino-room-sign{font-family:PaxtonScript,cursive!important;font-size:28px!important;color:#f4d99d!important}
html body.portrait-play.casino-tables-screen #app .roulette-surface{gap:2px!important}
html body.portrait-play.casino-tables-screen #app .roulette-surface>.casino-room-sign{height:24px!important;min-height:24px!important;font-size:23px!important;padding:0!important}
html body.portrait-play.casino-tables-screen #app .roulette-surface>.casino-room-sign>span{display:none!important}
html body.portrait-play.casino-tables-screen #app .roulette-surface>.roulette-wheel-shell{width:clamp(92px,17svh,150px)!important;height:clamp(92px,17svh,150px)!important;margin:24px auto 0!important;transform:none!important}
html body.portrait-play.casino-tables-screen #app .roulette-layout{background:radial-gradient(ellipse at 50% 25%,#23302a,#0c1515)!important;border:2px ridge #c7a76a!important;box-shadow:inset 0 0 0 2px #090d11,inset 0 0 20px #0008!important;gap:0!important;padding:2px!important}
html body.portrait-play.casino-tables-screen #app .roulette-layout .bet-spot{background:linear-gradient(135deg,#26332d,#111b1b)!important;border-color:#d1b57b88!important;font-family:Georgia,serif!important;font-weight:700!important}
html body.portrait-play.casino-tables-screen #app .roulette-layout .bet-spot.red{background:linear-gradient(135deg,#9d2337,#54132a)!important}
html body.portrait-play.casino-tables-screen #app .roulette-layout .bet-spot.black{background:linear-gradient(135deg,#26303a,#090c12)!important}
html body.portrait-play.casino-tables-screen #app .roulette-layout .bet-spot.green{background:linear-gradient(135deg,#145c46,#08281f)!important}
html body.portrait-play.casino-tables-screen #app .bet-spot:has(.chip-on-spot){box-shadow:inset 0 0 0 1px #ffe8a1!important}
html body.portrait-play.casino-tables-screen #app .chip-on-spot{animation:vegas-chip-seat .22s ease-out!important;box-shadow:0 2px 0 #6e4b21,0 3px 4px #0009!important}
html body.portrait-play.casino-tables-screen #app .roulette-closeup{background:radial-gradient(ellipse at 50% 40%,#2f2c2177,#050a0fed 80%)!important;gap:4px!important;padding:12px!important}
html body.portrait-play.casino-tables-screen #app .roulette-closeup .roulette-wheel-shell{width:min(90vw,390px)!important;height:min(90vw,390px,60svh)!important;margin:8px 0!important;transform:none!important}
html body.portrait-play.casino-tables-screen #app .roulette-closeup .casino-room-sign{font-size:38px!important}
html body.portrait-play.casino-tables-screen #app .roulette-closeup>p{font:600 12px/1.5 system-ui!important;color:#e2c88e!important}
html body.portrait-play.casino-tables-screen #app .casino-table .dice-stage{position:relative!important;flex:1 1 0!important;min-height:90px!important;height:0!important;max-height:none!important;border:1px solid #c2a167!important;background:radial-gradient(ellipse,#1d2f29,#071111)!important;box-shadow:inset 0 0 0 3px #111719,inset 0 0 0 4px #78603a,0 4px 12px #0008!important;border-radius:22px!important;overflow:hidden!important}
html body.portrait-play.casino-tables-screen #app .dice-stage>strong{position:absolute!important;bottom:5px!important;left:50%!important;translate:-50% 0!important;z-index:5!important;min-width:44px!important;padding:3px 12px!important;border:1px solid #bda063!important;border-radius:20px!important;background:#080d14dc!important;font:700 21px/1.15 Georgia!important;color:#ffe4ac!important}
html body.portrait-play.casino-tables-screen #app .craps-layout{padding:5px!important;background:linear-gradient(130deg,#182923,#0b1818)!important;border:1px solid #ae8e50!important;border-radius:12px!important;flex:none!important}
html body.portrait-play.casino-tables-screen #app .craps-layout .bet-spot{border-color:#b5a06c88!important;background:linear-gradient(140deg,#202e28,#0d1918)!important}
html body.portrait-play.casino-tables-screen #app .point-puck{border:2px ridge #d5b56f!important;box-shadow:0 3px 8px #0009!important;letter-spacing:.05em!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result{position:relative!important;isolation:isolate!important;background:linear-gradient(110deg,#3b2e18,#101819 70%)!important;border:1px solid #c7a962!important;box-shadow:inset 0 1px #ffe6a633,0 4px 9px #0008!important;min-height:0!important;max-height:92px!important;overflow:hidden!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>strong{font-size:15px!important;line-height:1.15!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>p{font-size:10px!important;line-height:1.25!important}
html body.portrait-play.casino-tables-screen #app .casino-action-row{gap:5px!important}
html body.portrait-play.casino-tables-screen #app .casino-action-row>span{font-size:10px!important}
html body.portrait-play.casino-tables-screen #app .casino-action-row>span b{font-size:15px!important;line-height:1.1!important}
html body.portrait-play.casino-tables-screen #app .casino-chip{font-variant-numeric:tabular-nums!important}
@keyframes vegas-reel-seat{0%{transform:translateY(-5%);filter:brightness(1.15)}55%{transform:translateY(1.5%)}100%{transform:translateY(0);filter:none}}
@keyframes vegas-symbol-win{0%,100%{filter:brightness(1);box-shadow:inset 0 0 0 2px #f8d281}50%{filter:brightness(1.2);box-shadow:inset 0 0 0 2px #fff5cb,inset 0 0 18px #ffd36b55}}
@keyframes vegas-anticipation{50%{box-shadow:inset 0 0 0 2px #d5a43b,0 0 18px #e9a93388}}
@keyframes vegas-chip-seat{0%{transform:translateY(-12px);opacity:.3}65%{transform:translateY(1px)}100%{transform:translateY(0);opacity:1}}
@media(max-height:680px){
 html body.portrait-play.casino-tables-screen #app .roulette-surface>.roulette-wheel-shell{width:76px!important;height:76px!important;margin-top:20px!important}
 html body.portrait-play.casino-tables-screen #app .roulette-surface>.casino-room-sign{height:20px!important;min-height:20px!important;font-size:20px!important}
 html body.portrait-play.casino-tables-screen #app .casino-round-result{max-height:58px!important;padding:3px 5px!important}
 html body.portrait-play.casino-tables-screen #app .casino-round-result .casino-result-totals{display:none!important}
 html body.portrait-play.casino-tables-screen #app .casino-play-guide>span{display:none!important}
 html body.portrait-play.casino-tables-screen #app .roulette-layout{grid-template-rows:18px minmax(0,1fr) 40px!important}
 html body.portrait-play.casino-tables-screen #app .roulette-outside .bet-spot{font-size:8px!important}
 html body.portrait-play.casino-tables-screen #app .craps-table>.casino-room-sign{display:none!important}
}
html body.no-motion #app .cabinet-atmosphere{display:none!important}
html body.no-motion #app :is(.reel-new-stop,.symbol-win,.bonus-anticipation .reel-frame,.chip-on-spot){animation:none!important}
@media(prefers-reduced-motion:reduce){html body #app .cabinet-atmosphere{display:none!important}html body #app :is(.reel-new-stop,.symbol-win,.bonus-anticipation .reel-frame,.chip-on-spot){animation:none!important}}
html body.portrait-play.casino-tables-screen #app .casino-room-cinema{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;opacity:.15!important;z-index:-1!important;pointer-events:none!important;border-radius:inherit!important;filter:saturate(.6) brightness(.7)!important}
html body.portrait-play.casino-tables-screen #app .roulette-surface{isolation:isolate!important}
html body.no-motion #app .casino-room-cinema{display:none!important}
@media(prefers-reduced-motion:reduce){html body #app .casino-room-cinema{display:none!important}}
/* The recap has one compact header and a readable explanation. Full accounting
   remains under Details and More, without duplicate disabled bet-slip controls. */
html body.portrait-play.casino-tables-screen #app .casino-round-result{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;grid-template-rows:auto auto auto!important;gap:2px 5px!important;max-height:none!important;padding:4px 6px!important;flex:none!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>header{display:contents!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>header>span{grid-column:1!important;grid-row:1!important;font-size:9px!important;line-height:12px!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>header>button{grid-column:2!important;grid-row:1/3!important;min-height:28px!important;height:28px!important;align-self:center!important;font-size:9px!important;padding:2px!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>strong{grid-column:1!important;grid-row:2!important;font-size:15px!important;line-height:17px!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result>p{grid-column:1/-1!important;grid-row:3!important;margin:0!important;font-size:10px!important;line-height:13px!important}
html body.portrait-play.casino-tables-screen #app .casino-round-result .casino-result-totals{display:none!important}
html body.portrait-play.casino-tables-screen #app .wheel-in-motion .roulette-wheel{animation-duration:4.6s!important}
html body.portrait-play.casino-tables-screen #app .wheel-in-motion .roulette-ball-track{animation-duration:4.6s!important}
html body.portrait-play.casino-tables-screen #app .rolling .die-cube{animation-duration:2.6s!important}
.paxton-kit-mark{position:absolute;left:50%;top:42%;translate:-50% -50%;display:grid;place-items:center;width:19%;height:19%;min-width:12px;min-height:12px;border:1px solid #e7c67b;border-radius:50%;background:#090b10;color:#f5d98e;font:700 clamp(9px,2vw,17px)/1 Georgia;box-shadow:0 1px 3px #000a;pointer-events:none}
html body.portrait-play.slot-screen #app .scene-slots .fresh-sport-art{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
html body.portrait-play.casino-tables-screen #app .dice-stage{isolation:isolate!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine .vault-bonus-overlay .lock-cell strong{font-size:clamp(11px,2.8vw,17px)!important;line-height:1.15!important;max-width:100%!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
html body.portrait-play.slot-screen #app .scene-slots .slot-machine .vault-bonus-overlay .vault-box strong{font-size:clamp(11px,3vw,20px)!important;line-height:1.15!important;max-width:100%!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
