/* One shared visual language for classic and saved Vexroll Originals. */
.casino-site #gameScreen{--original-surface:#0c1428;--original-control:#171e34;--original-tile:#23334e;--original-line:#334763;--original-soft:#aebed8;--original-success:#8ce9bb;--original-loss:#ff9caf}
.casino-site #gameScreen .game-controls{background:var(--original-control)}
.casino-site #gameScreen .play-surface{background:radial-gradient(ellipse at 50% 20%,#153047 0%,var(--original-surface) 72%);border:0;box-shadow:inset 0 1px 0 #89b7d00d}
.casino-site #gameScreen .game-layout{border-color:var(--vx-line)}
.casino-site #gameScreen .mode-label{background:var(--vx-raised)}
.casino-site #gameScreen .wager-input,.casino-site #gameScreen .control-field input,.casino-site #gameScreen .control-field select,.casino-site #gameScreen .input-suffix{background:var(--vx-deep);border-color:var(--original-line);color:var(--vx-text)}
.casino-site #gameScreen .secondary,.casino-site #gameScreen .wager-shortcuts button,.casino-site #gameScreen .dice-direction button{background:var(--vx-raised);color:var(--vx-text);border-radius:8px}
.casino-site #gameScreen .sound-button{background:var(--vx-raised);border-color:var(--original-line);color:var(--vx-text)}
.casino-site #gameScreen .sound-button[data-muted=true]{color:var(--vx-muted);background:#172039}
.casino-site #gameScreen .play-button{background:var(--vx-green);color:#062318}
.casino-site #gameScreen :is(button,input,select,summary):focus-visible{outline:2px solid var(--vx-green);outline-offset:3px}
.casino-site #gameScreen .round-summary{background:var(--vx-deep);border-color:var(--vx-line)}
.casino-site #gameScreen .round-summary.good strong,.casino-site #gameScreen .won{color:var(--original-success)!important}
.casino-site #gameScreen .round-summary.bad strong,.casino-site #gameScreen .lost{color:var(--original-loss)!important}
.casino-site #gameScreen :is(.expanded-wallet-note,.expanded-risk-note,.game-hints,.control-help,.canvas-caption,.surface-top,.range-markers,.limbo-stage>p,.dice-stage>p){color:var(--original-soft)}
.casino-site #gameScreen .surface-top>span:first-child{color:#b9ebd5}
.casino-site #gameScreen .game-title-row h1 .icon{color:var(--vx-green)}
.casino-site #gameScreen .dice-range-wrap input::-webkit-slider-thumb{background:#f3f6ff;border-color:var(--vx-green)}
.casino-site #gameScreen .dice-range-wrap input::-moz-range-thumb{background:#f3f6ff;border:4px solid var(--vx-green);border-radius:5px;width:15px;height:21px}
.casino-site #gameScreen .limbo-target-label{background:#18243b;border-color:var(--original-line);color:var(--original-soft);border-radius:8px}
.casino-site #gameScreen .limbo-target-label strong{color:var(--original-success)}
.casino-site #gameScreen .mine-tile{background:var(--original-tile);border-bottom-color:#111d32;color:#b0c8e3}
.casino-site #gameScreen .mine-tile:hover:not(:disabled){background:#304562}
.casino-site #gameScreen .mine-tile.is-gem{background:#185540;border-bottom-color:#103b30;color:#8ce9bb}
.casino-site #gameScreen .mine-tile.is-mine{background:#723650;border-bottom-color:#492539;color:#ffd1dd}
.casino-site #gameScreen .blackjack-table:before{border-color:#3b8b6c55;background:radial-gradient(ellipse,#17433333,transparent 70%)}
.casino-site #gameScreen .card-reverse{background:repeating-linear-gradient(45deg,#133c35,#133c35 4px,#1c5145 4px,#1c5145 6px);color:#bcf4d8}
.casino-site #gameScreen .card-shoe{background:#183b35;border-color:#4f9279;color:#c5f3dd}
.casino-site #gameScreen .hand-label b{background:var(--vx-raised);color:var(--vx-text)}
.casino-site #gameScreen .active-hand .hand-label b{background:#1b5742;color:#bcffdc}
.casino-site #gameScreen .table-watermark{color:#a6cabc}
.casino-site #gameScreen .plinko-recent span{background:var(--vx-raised);border-color:var(--original-line)}
.casino-site #gameScreen .plinko-recent .positive{background:#1c5742;border-color:#378568;color:#b8f7d5}
.casino-site #gameScreen .paytable{border-color:var(--original-line)}
.casino-site #gameScreen .paytable>div>span{background:var(--vx-panel)}
.casino-site #gameScreen .paytable strong{color:#d3eee0}
.casino-site #gameScreen .keno-number{background:linear-gradient(145deg,#293d59,#1b2941);border-color:var(--original-line);color:var(--vx-text);box-shadow:0 4px 0 #091124,0 6px 12px #0002}
.casino-site #gameScreen .keno-number:hover:not(:disabled){border-color:#70b69d}
.casino-site #gameScreen .keno-number.is-picked{background:linear-gradient(145deg,#74efb5,#38bd8c);color:#082b1e;border-color:#9cffd0;box-shadow:0 4px 0 #1a7151}
.casino-site #gameScreen .keno-number.is-drawn{background:#314560;border-color:#8194b4;color:#f1f5ff}
.casino-site #gameScreen .keno-number.is-hit{background:linear-gradient(145deg,#e5d3ff,#b297ed);border-color:#ecdeff;color:#291546;box-shadow:0 4px 0 #624396,0 0 20px #b599e62b}
.casino-site #gameScreen .keno-draw-tray{background:#0b1326cc;border-color:var(--original-line)}
.casino-site #gameScreen .keno-draw-tray>span{color:var(--original-soft)}
.casino-site #gameScreen .keno-draw-ball{background:var(--vx-raised);border-color:var(--original-line);color:var(--original-soft)}
.casino-site #gameScreen .keno-draw-ball.revealed{background:#314560;color:var(--vx-text)}
.casino-site #gameScreen .keno-draw-ball.hit{background:#c1a5ed;border-color:#e4d2ff;color:#291546}
.casino-site #gameScreen .expanded-pointer{border-top-color:#8ce9bb}
.casino-site #gameScreen .expanded-wheel-center>span{color:var(--vx-text);font-family:Manrope,'DM Sans',sans-serif}
.casino-site #gameScreen .expanded-wheel-center>small,.casino-site #gameScreen .expanded-recent>span{color:var(--original-soft)}
.casino-site #gameScreen .wheel-legend>span{background:var(--vx-panel);border-color:var(--original-line)}
.casino-site #gameScreen .wheel-legend strong{color:#dcf6e9}
.casino-site #gameScreen .wheel-legend small{color:var(--original-soft)}
.casino-site #gameScreen .roulette-layout button{background:#223149;border-color:#43516d}
.casino-site #gameScreen .roulette-number.red,.casino-site #gameScreen .roulette-outside .red{background:#843852}
.casino-site #gameScreen .roulette-layout .roulette-zero{background:#176447}
.casino-site #gameScreen .roulette-number.is-picked,.casino-site #gameScreen .roulette-zero.is-picked,.casino-site #gameScreen .roulette-outside button[aria-pressed=true]{outline-color:#8ce9bb;box-shadow:inset 0 0 0 2px #8ce9bb33}
.casino-site #gameScreen .expanded-paytable{background:var(--vx-panel);border-color:var(--vx-line);color:var(--vx-text)}
.casino-site #gameScreen .expanded-paytable summary>span{color:var(--original-success)}
.casino-site #gameScreen .expanded-paytable th{background:#1c2942;color:var(--original-soft)}
.casino-site #gameScreen .expanded-paytable td,.casino-site #gameScreen .expanded-paytable th{border-color:var(--vx-line)}
.casino-site #gameScreen .expanded-paytable td:last-child{color:#b2f4d1}
.casino-site #gameScreen .expanded-paytable p{color:var(--original-soft)}
.casino-site #gameScreen .game-below-toolbar{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.casino-site #gameScreen .game-bottom{flex-wrap:wrap;gap:14px}.casino-site #gameScreen .game-below-toolbar{justify-content:space-between;gap:12px;flex:1}.casino-site #gameScreen .surface-top{font-size:9px;letter-spacing:1px}}

/* Shared structure: one control rail and one information layout for every game. */
.casino-site #gameScreen .game-page-heading{gap:12px;margin-bottom:20px;font-size:11px;flex-wrap:wrap}
.casino-site #gameScreen .game-title-row{gap:12px;margin-bottom:20px}
.casino-site #gameScreen .game-title-row h1{font-size:26px;line-height:1.3;margin:0}
.casino-site #gameScreen .game-toolbar{gap:10px;flex-shrink:0}
.casino-site #gameScreen :is(.sound-button,.game-rules){height:40px;min-height:40px;font-size:11px}
.casino-site #gameScreen .game-layout{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:stretch;min-height:600px}
.casino-site #gameScreen .game-controls{display:flex;position:static;flex-direction:column;padding:24px;gap:0;min-width:0;width:auto;order:0}
.casino-site #gameScreen .mode-label{height:40px;margin:0 0 22px;flex-shrink:0}
.casino-site #gameScreen .bet-controls{margin:0 0 22px;min-width:0}
.casino-site #gameScreen .wager-input{height:48px}
.casino-site #gameScreen .wager-input input{font-size:16px;min-width:0}
.casino-site #gameScreen .wager-shortcuts{gap:8px;margin-top:8px}
.casino-site #gameScreen .wager-shortcuts button{height:32px;min-height:32px;font-size:12px}
.casino-site #gameScreen #gameSettings{min-height:172px;min-width:0}
.casino-site #gameScreen .control-field{margin:0 0 16px}
.casino-site #gameScreen .control-field>label{display:block;font-size:11px;margin:0 0 8px}
.casino-site #gameScreen .control-field :is(select,input){height:44px;min-height:44px;font-size:13px;padding:10px 12px}
.casino-site #gameScreen .control-stat{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;font-size:12px}
.casino-site #gameScreen .control-stat strong{margin:0;text-align:right;font-size:13px}
.casino-site #gameScreen :is(.expanded-risk-note,.game-hints,.control-help){font-size:12px;line-height:1.65;margin:0 0 16px}
.casino-site #gameScreen .expanded-selection-actions{margin:0 0 16px}
.casino-site #gameScreen #gameActions{margin:0;min-width:0}
.casino-site #gameScreen #gameActions button{min-height:48px;border-radius:8px;font-size:13px}
.casino-site #gameScreen .round-summary{min-height:76px;margin-top:18px;padding:14px;gap:8px;justify-content:center}
.casino-site #gameScreen .round-summary strong{font-size:13px;overflow-wrap:anywhere}
.casino-site #gameScreen .controls-foot{display:flex;align-items:flex-start;gap:8px;margin: auto 0 0;padding:24px 0 0;font-size:11px;line-height:1.6;color:var(--original-soft)}
.casino-site #gameScreen .controls-foot .icon{flex-shrink:0;width:14px;height:14px;margin-top:2px}
.casino-site #gameScreen .controls-foot small{display:block;font-size:10px;margin-top:4px;color:var(--vx-muted)}
.casino-site #gameScreen .play-surface{min-width:0;min-height:560px;order:0;overflow:hidden}
.casino-site #gameScreen .surface-top{padding:22px 24px;font-size:10px;letter-spacing:1.4px}
.casino-site #gameScreen .game-bottom{padding:18px 0;margin:0;font-size:11px;gap:16px;flex-wrap:wrap}
.casino-site #gameScreen .game-below-toolbar{display:flex;align-items:center;gap:20px}
.casino-site #gameScreen .sound-volume input{width:80px;max-width:80px}
.casino-site #gameScreen .original-info{margin:14px 0 0;padding:0;border:1px solid var(--vx-line);background:var(--vx-panel);border-radius:10px;overflow:hidden}
.casino-site #gameScreen .original-info summary{padding:18px 20px;cursor:pointer;font-size:13px;font-family:'DM Sans',sans-serif;font-weight:650;color:var(--vx-text);width:auto;line-height:1.6}
.casino-site #gameScreen .original-info summary>span{float:right;color:var(--original-success);font-size:11px;font-weight:500}
.casino-site #gameScreen .original-info p{padding:0 20px 18px;margin:0;font-size:12px;line-height:1.8;color:var(--original-soft);max-width:none}
.casino-site #gameScreen .original-table-scroll{overflow:auto}
.casino-site #gameScreen .original-paytable table{border-collapse:collapse;min-width:480px;width:100%;font-size:12px;white-space:nowrap}
.casino-site #gameScreen .original-paytable :is(th,td){padding:12px 20px;text-align:left;border-bottom:1px solid var(--vx-line)}
.casino-site #gameScreen .original-paytable th{color:var(--original-soft);background:#1c2942;font-weight:500}
.casino-site #gameScreen .original-paytable td:last-child{color:#b2f4d1;font-weight:700}
.casino-site #gameScreen #originalMathNote{padding-top:16px}
.casino-site #gameScreen .flight-readout{background:#0c1428e6;border-radius:10px}
.casino-site #gameScreen [hidden]{display:none!important}
@media(max-width:1100px) and (min-width:951px){.casino-site #gameScreen .game-layout{grid-template-columns:250px minmax(0,1fr)}.casino-site #gameScreen .game-controls{padding:20px}}
@media(max-width:950px){
 .casino-site #gameScreen .game-layout{display:flex;flex-direction:column;min-height:0}
 .casino-site #gameScreen .play-surface{order:1;width:100%;min-height:0}
 .casino-site #gameScreen .game-controls{order:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;padding:20px}
 .casino-site #gameScreen .mode-label{grid-column:1/-1;grid-row:1;margin:0}
 .casino-site #gameScreen .bet-controls{grid-column:1;grid-row:2;margin:0}
 .casino-site #gameScreen #gameSettings{grid-column:2;grid-row:2;min-height:0}
 .casino-site #gameScreen #gameActions{grid-column:1/-1;grid-row:3;margin:0}
 .casino-site #gameScreen .round-summary{grid-column:1/-1;grid-row:4;margin:0}
 .casino-site #gameScreen .controls-foot{grid-column:1/-1;grid-row:5;padding:0;margin:0}
}
@media(max-width:760px){
 .casino-site #gameScreen .game-page-heading{font-size:10px;margin-bottom:18px}
 .casino-site #gameScreen .game-title-row{margin-bottom:16px;gap:8px}
 .casino-site #gameScreen .game-title-row h1{font-size:24px;gap:9px}
 .casino-site #gameScreen .game-title-row h1 .icon{width:22px;height:22px}
 .casino-site #gameScreen .game-toolbar{gap:7px}
 .casino-site #gameScreen .game-controls{gap:14px 16px;padding:18px 16px}
 .casino-site #gameScreen .surface-top{padding:18px 16px;font-size:9px}
 .casino-site #gameScreen .control-stat{flex-wrap:wrap;gap:4px;font-size:11px}
 .casino-site #gameScreen .control-field :is(select,input){font-size:12px;padding:10px 8px}
 .casino-site #gameScreen .control-field input{font-size:16px}
 .casino-site #gameScreen .original-info summary{padding:16px}
 .casino-site #gameScreen .original-info summary>span{float:none;display:block;margin-top:5px}
 .casino-site #gameScreen .original-info p{padding:0 16px 16px}
 .casino-site #gameScreen .game-bottom{font-size:10px}
}

/* A shared result celebration sits over the board, without blocking controls. */
.casino-site #gameScreen .play-surface{position:relative;isolation:isolate}
.original-win{position:absolute;inset:0;z-index:12;display:grid;place-items:center;pointer-events:none;background:radial-gradient(ellipse at center,#051a22a8,transparent 72%);animation:original-win-veil 2.6s ease both}
.original-win-card{position:relative;display:flex;align-items:center;flex-direction:column;text-align:center;max-width:calc(100% - 36px);min-width:230px;padding:26px 34px;border:1px solid #77ffc987;border-radius:20px;background:linear-gradient(155deg,#163d3bea,#0b192bf5 80%);box-shadow:0 0 60px #4de3a344,inset 0 1px 0 #ccffe927,0 18px 50px #0008;animation:original-win-pop .55s cubic-bezier(.16,1.3,.3,1) both}
.original-win-eyebrow{font-size:12px;letter-spacing:4px;font-weight:800;color:#98ffd0}
.original-win-amount{font-family:Manrope,'DM Sans',sans-serif;line-height:1.2;font-size:clamp(30px,4vw,54px);letter-spacing:-1.5px;color:#f4fff9;margin:12px 0 14px;overflow-wrap:anywhere;max-width:100%}
.original-win-amount small{display:block;font:500 11px/1.6 'DM Sans',sans-serif;letter-spacing:.4px;margin-top:4px;color:#bad9d0}
.original-win-multiplier{display:flex;gap:8px;align-items:baseline;background:#4de3a3;color:#082e22;border-radius:9px;padding:7px 16px;font-weight:850;font-size:24px;line-height:1.3}
.original-win-multiplier small{font-size:11px;letter-spacing:.4px}
.original-win-profit{font-size:12px;margin-top:14px;color:#b4f3d0}
.original-win-burst{position:absolute;left:50%;top:50%;width:0;height:0}
.original-win-burst i{position:absolute;width:5px;height:13px;border-radius:2px;background:#87ffd0;transform:rotate(calc(var(--ray)*30deg));animation:original-win-ray .85s ease-out both;animation-delay:calc(var(--ray)*8ms)}
@keyframes original-win-pop{from{opacity:0;transform:scale(.72) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes original-win-ray{from{opacity:0;transform:rotate(calc(var(--ray)*30deg)) translateY(-80px) scale(.5)}20%{opacity:1}to{opacity:0;transform:rotate(calc(var(--ray)*30deg)) translateY(-230px) scale(1)}}
@keyframes original-win-veil{0%{opacity:0}8%,84%{opacity:1}100%{opacity:0}}
@media(max-width:760px){.original-win-card{padding:22px 24px;min-width:210px}.original-win-amount{font-size:34px}}
@media(max-width:950px){.original-win{position:fixed;inset:76px 0 62px;z-index:90}}
@media(prefers-reduced-motion:reduce){.original-win,.original-win-card{animation:none}.original-win-burst{display:none}}

/* Plinko uses the shared rail, board spacing and result treatment. */
.casino-site #gameScreen[data-game=plinko] .play-surface{display:flex;flex-direction:column}
.casino-site #gameScreen .plinko-board{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;width:100%;max-width:680px;padding:0 20px;margin:auto}
.casino-site #gameScreen .plinko-canvas{display:block;width:100%;height:auto;max-width:640px;aspect-ratio:900/620;margin:0}
.casino-site #gameScreen .plinko-recent{position:static;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:6px;min-height:47px;margin:6px 18px 0}
.casino-site #gameScreen .plinko-recent span{min-width:38px;padding:7px 9px;font-size:11px;border-radius:6px}
.casino-site #gameScreen .plinko-recent .plinko-empty{padding:0;border:0;background:none;color:var(--original-soft);font-size:11px;font-weight:400}
.casino-site #gameScreen .plinko-result-line{padding:10px 24px 20px;font-size:11px;color:var(--original-soft);gap:12px;flex-wrap:wrap}
.casino-site #gameScreen .plinko-result-line strong{color:var(--vx-text);font-weight:600}
.casino-site #gameScreen .plinko-keyboard-hint{display:flex;justify-content:center;align-items:center;gap:6px;margin:10px 0 0;color:var(--original-soft);font-size:11px;line-height:1.6}
.casino-site #gameScreen .plinko-keyboard-hint kbd{font-family:inherit;font-size:10px;font-weight:600;padding:2px 7px;border:1px solid var(--original-line);border-radius:4px;background:var(--vx-raised);box-shadow:0 2px 0 #091126}
@media(max-width:950px){.casino-site #gameScreen .plinko-board{max-width:620px;padding:0 16px 6px;flex:none}.casino-site #gameScreen .plinko-result-line{padding:10px 16px 18px}}
@media(hover:none) and (pointer:coarse){.casino-site #gameScreen .plinko-keyboard-hint{display:none}}
