/* Stage 19: the game itself owns the screen. Lobby artwork becomes atmospheric depth,
   never the source of truth for gameplay. Server-settled 3D scenes remain interactive. */
:root{--s19-glass:rgba(5,14,25,.76);--s19-line:rgba(150,215,246,.16)}
body[data-route^="game/"] .workspace{background:
  radial-gradient(circle at 74% 8%,rgba(17,105,151,.12),transparent 36%),
  linear-gradient(145deg,#050c16,#071521 54%,#07111c)}
body[data-route^="game/"] .workspace main{max-width:1500px;margin:0 auto}
body[data-route^="game/"] .game-page-heading{opacity:.78}
.px-game{grid-template-columns:230px minmax(0,1fr)!important;gap:12px!important;border:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important}
.px-controls{align-self:stretch;margin:11px 0 11px 11px!important;padding:19px!important;
  border:1px solid rgba(var(--game-rgb),.18)!important;border-radius:14px!important;
  background:linear-gradient(155deg,rgba(18,39,56,.88),rgba(5,15,25,.91))!important;
  box-shadow:0 22px 55px -38px #000,inset 0 1px #ffffff0c!important;
  backdrop-filter:blur(18px) saturate(1.2)}
.px-controls .section-heading h1{font-size:21px}.px-controls>.muted{font-size:10px;margin-bottom:12px}
.px-controls .field-label{font-size:10px}.px-controls .amount-control{height:44px}
.px-controls .amount-control input{font-size:17px}.px-controls .button,.px-primary{min-height:46px!important}
.px-arena{position:relative;min-height:640px!important;padding:0 18px 13px!important;border-radius:18px!important;
  border:1px solid rgba(var(--game-rgb),.24)!important;overflow:hidden!important;
  background:#040b14!important;box-shadow:0 35px 90px -45px rgba(var(--game-rgb),.32),inset 0 0 70px #0007!important}
.px-arena::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:.48!important;
  background:
   linear-gradient(90deg,#03101be8 0%,#04121a88 28%,transparent 63%),
   radial-gradient(circle at 72% 24%,rgba(var(--game-rgb),.18),transparent 42%)!important;
  pointer-events:none}
.px-arena::after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;height:auto!important;
  background:
   linear-gradient(180deg,#0208122b 0%,transparent 20%,transparent 68%,#020812b8 100%),
   repeating-linear-gradient(90deg,transparent 0 79px,#ffffff05 80px),
   repeating-linear-gradient(0deg,transparent 0 79px,#ffffff04 80px)!important;
  opacity:1!important;pointer-events:none}
.px-arena-head,.px-result,.px-toolbar{position:relative;z-index:5}
.px-arena-head{height:78px!important;border-bottom:1px solid rgba(var(--game-rgb),.16)!important}
.px-arena-head .px-label{color:var(--game)!important;font-weight:850!important}
.px-arena-head h2{font-size:42px!important;font-weight:950!important;letter-spacing:-1.6px!important}
.px-world{height:455px!important;min-height:455px!important;flex:0 0 455px!important;position:relative!important;isolation:isolate;
  border-radius:14px;overflow:hidden!important;background:#06101a}
.px-world::before{content:"";position:absolute;inset:-2%;z-index:0;background-image:url('/art/cinema12/approved-covers.webp');
  background-size:400% 400%;background-repeat:no-repeat;opacity:.60;filter:saturate(1.22) contrast(1.08) brightness(.72);
  transform:scale(1.045);pointer-events:none}
.px-world::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
   linear-gradient(90deg,#020915ad 0%,transparent 28%,transparent 72%,#0209159c 100%),
   linear-gradient(0deg,#020915d6 0%,transparent 35%,transparent 72%,#02091570 100%),
   radial-gradient(circle at 50% 45%,transparent 0 36%,rgba(2,8,18,.26) 72%,rgba(2,8,18,.58) 100%)}
.px-world>*:not(.v14-canvas):not(.g18-canvas):not(.c17-canvas){position:relative;z-index:2}
.v14-canvas,.g18-canvas,.c17-canvas{z-index:3!important}
.px-game[data-play13="coinflip"] .px-world::before{background-position:0% 0%}
.px-game[data-play13="mines"] .px-world::before{background-position:66.666% 0%}
.px-game[data-play13="plinko"] .px-world::before{background-position:100% 0%}
.px-game[data-play13="dice"] .px-world::before{background-position:0% 33.333%}
.px-game[data-play13="slots"] .px-world::before{background-position:33.333% 33.333%}
.px-game[data-play13="roulette"] .px-world::before{background-position:66.666% 33.333%}
.px-game[data-play13="blackjack"] .px-world::before{background-position:100% 33.333%}
.px-game[data-play13="tower"] .px-world::before{background-position:0% 66.666%}
.px-game[data-play13="limbo"] .px-world::before{background-position:33.333% 66.666%}
.px-game[data-play13="keno"] .px-world::before{background-position:66.666% 66.666%}
.px-game[data-play13="hilo"] .px-world::before{background-position:100% 66.666%}
.px-game[data-play13="wheel"] .px-world::before{background-position:0% 100%}
.px-game[data-play13="cups"] .px-world::before{background-image:
  radial-gradient(circle at 32% 42%,#2cf1c547,transparent 16%),
  radial-gradient(circle at 68% 38%,#20aefc35,transparent 18%),
  linear-gradient(145deg,#0a2b36,#07111e 55%,#111533)}
/* Crash is a real animated flight scene. Do not wallpaper it with a static poster. */
.px-game[data-play13="crash"] .px-world::before{background-image:
  radial-gradient(circle at 80% 18%,#5277b13d 0 2px,transparent 3px),
  radial-gradient(circle at 21% 72%,#65e5ff30 0 1px,transparent 2px),
  radial-gradient(circle at 55% 36%,#ffffff38 0 1px,transparent 2px),
  linear-gradient(150deg,#07162a,#030912 68%)}
.px-game[data-play13="crash"] .px-world::after{background:
  radial-gradient(ellipse at 74% 16%,#6179ff1c,transparent 30%),
  linear-gradient(180deg,transparent 58%,#020710c7 100%)}
/* Result reveal now reads like a game event, not an accounting row. */
.px-result{min-height:70px!important;margin-top:10px!important;border-radius:12px!important;
  background:rgba(6,20,32,.80)!important;border:1px solid rgba(var(--game-rgb),.24)!important;
  backdrop-filter:blur(16px) saturate(1.25);overflow:hidden;box-shadow:0 14px 38px -29px #000!important}
.px-result.is-win,.px-result.is-loss,.px-result.is-push{animation:s19ResultIn .42s cubic-bezier(.15,.75,.2,1)}
.px-result.is-win::after{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent,#51ffcf18,transparent,#ffffff12,transparent);
  animation:s19Burst 1.6s ease-out;pointer-events:none}
.px-result.is-win{box-shadow:0 0 0 1px #48efba30,0 14px 40px -22px #22e5ae55!important}
.px-result.is-loss{box-shadow:0 0 0 1px #ff6e8620,0 14px 36px -26px #ff557736!important}
.px-result-head>span{font-size:9px!important}.px-result-head>strong{font-size:15px!important}
.px-return b{font-size:25px!important}.px-toolbar{opacity:.82}
.px-history{max-width:100%;margin:0 auto}
@keyframes s19ResultIn{0%{opacity:.2;transform:translateY(10px) scale(.985)}100%{opacity:1;transform:none}}
@keyframes s19Burst{0%{transform:rotate(0) scale(.45);opacity:.9}100%{transform:rotate(130deg) scale(1.3);opacity:0}}
@media(min-width:1250px){.px-game{grid-template-columns:250px minmax(0,1fr)!important}.px-world{height:500px!important;min-height:500px!important;flex-basis:500px!important}.px-arena{min-height:690px!important}}
@media(max-width:760px){
 body[data-route^="game/"] .workspace main{padding:0 8px 18px!important}
 body[data-route^="game/"] .game-page-heading{padding:8px 4px!important;margin:0!important}
 body[data-route^="game/"] .quiet-badge{display:none}
 .px-game{display:flex!important;flex-direction:column!important;gap:0!important}
 .px-arena{order:0!important;min-height:0!important;padding:0 8px 7px!important;border-radius:14px 14px 0 0!important}
 .px-controls{order:1!important;margin:0!important;padding:11px 12px 13px!important;border-radius:0 0 14px 14px!important;border-top:1px solid rgba(var(--game-rgb),.22)!important}
 .px-arena-head{height:55px!important;padding:0 3px}.px-arena-head h2{font-size:28px!important;letter-spacing:-1px!important}
 .px-arena-head>a{font-size:8px!important}.px-label{font-size:6px!important}
 .px-world,.px-game[data-play13="dice"] .px-world,.px-game[data-play13="mines"] .px-world,.px-game[data-play13="plinko"] .px-world,
 .px-game[data-play13="tower"] .px-world,.px-game[data-play13="blackjack"] .px-world,.px-game[data-play13="crash"] .px-world{
   height:338px!important;min-height:338px!important;flex-basis:338px!important;margin:0!important;border-radius:10px!important}
 .px-world::before{opacity:.52;filter:saturate(1.2) contrast(1.06) brightness(.68)}
 .px-result{min-height:58px!important;margin-top:7px!important;padding:10px 11px!important}
 .px-result-head{margin-bottom:6px!important}.px-result-head>strong{font-size:12px!important}.px-return b{font-size:19px!important}
 .px-toolbar{margin-top:1px!important;min-height:29px!important}.px-toolbar button{min-height:28px!important}
 .px-controls .amount-control{height:40px!important}.px-controls .button,.px-primary{min-height:42px!important}
 .px-controls .play-disclaimer{display:none}.px-history{padding:8px 4px 12px!important}
}
@media(max-width:359px){.px-world,.px-game[data-play13="dice"] .px-world,.px-game[data-play13="mines"] .px-world,.px-game[data-play13="plinko"] .px-world,.px-game[data-play13="crash"] .px-world{height:300px!important;min-height:300px!important;flex-basis:300px!important}}
@media(prefers-reduced-motion:reduce){.px-result.is-win,.px-result.is-loss,.px-result.is-push,.px-result.is-win::after{animation:none!important}}
html.reduce-motion .px-result.is-win,html.reduce-motion .px-result.is-loss,html.reduce-motion .px-result.is-push,html.reduce-motion .px-result.is-win::after{animation:none!important}
