/* NEON 777 premium game-room pass — July 2026 */

.blackjack-container {
  --bj-gold: #f5c96a;
  --bj-felt: #072b27;
  --bj-felt-deep: #031713;
  --blackjack-hand-stage-min:210px;
  max-width: 1040px;
  position: relative;
  isolation: isolate;
}

.blackjack-ambient {
  position: absolute;
  inset: -48px -8vw auto;
  height: 360px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 50% 0, rgba(20,184,166,.14), transparent 64%);
  filter: blur(8px);
}

.blackjack-table-header { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 4px 18px; }
.blackjack-eyebrow,.blackjack-rules,.blackjack-minimum { color:#b8ada8; font-size:10px; font-weight:750; letter-spacing:.18em; }
.blackjack-container .game-title { margin:3px 0 0!important; padding:0!important; text-align:left; font-size:clamp(30px,5vw,52px)!important; line-height:.98; letter-spacing:-.045em; background:linear-gradient(105deg,#fff 8%,#f5d58b 52%,#d49a38); -webkit-background-clip:text; background-clip:text; filter:drop-shadow(0 10px 24px rgba(0,0,0,.26)); }
.blackjack-rules { display:flex; gap:18px; color:rgba(245,213,139,.78); letter-spacing:.12em; white-space:nowrap; }
.blackjack-rules span+span::before { content:'◆'; margin-right:18px; color:rgba(245,201,106,.35); }

.blackjack-container .blackjack-table-shell {
  position:relative; overflow:hidden; border:1px solid rgba(245,201,106,.24); border-radius:30px;
  background:radial-gradient(ellipse at 50% 36%,rgba(24,120,104,.32),transparent 56%),linear-gradient(150deg,var(--bj-felt),var(--bj-felt-deep));
  box-shadow:inset 0 0 0 7px rgba(2,11,10,.36),inset 0 -48px 90px rgba(0,0,0,.28),0 30px 80px rgba(0,0,0,.42),0 0 60px rgba(13,148,136,.08);
}
.blackjack-container .blackjack-table-shell::after { content:''; position:absolute; inset:8px; z-index:0; border:1px solid rgba(245,201,106,.11); border-radius:22px; pointer-events:none; }
.blackjack-container .blackjack-table-shell>* { position:relative; z-index:1; }

.blackjack-container .betting-section { display:grid; grid-template-columns:minmax(170px,.52fr) minmax(420px,1.48fr) minmax(170px,.5fr); align-items:center; gap:20px; margin:0; padding:20px 28px; border:0; border-bottom:1px solid rgba(245,201,106,.13); border-radius:0; background:rgba(2,14,13,.56); backdrop-filter:blur(18px); }
.blackjack-bet-heading { align-self:center; }
.blackjack-bet-heading>div { display:flex; align-items:center; gap:10px; }
.blackjack-bet-heading label { margin:0; color:#f7f2e9; font-size:14px; letter-spacing:.01em; }
.blackjack-step { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(245,201,106,.35); border-radius:50%; color:var(--bj-gold); font-size:10px; font-weight:800; }
.blackjack-minimum { display:block; margin:7px 0 0 38px; color:#91a7a2; letter-spacing:.12em; }
.blackjack-container .bet-input-group { display:grid; grid-template-columns:minmax(140px,.75fr) minmax(220px,1.25fr); align-items:end; gap:10px 14px; margin:0; padding:10px; border:1px solid rgba(245,201,106,.16); border-radius:18px; background:rgba(0,0,0,.16); box-shadow:inset 0 1px rgba(255,255,255,.025); }
.blackjack-bet-input-wrap { position:relative; }
.blackjack-container .blackjack-bet-input-wrap input { height:54px; margin:0; padding:8px 78px 8px 16px; border:1px solid rgba(245,201,106,.28); border-radius:14px; background:rgba(0,0,0,.28); color:#fff; font-size:18px; text-align:left; box-shadow:inset 0 2px 12px rgba(0,0,0,.22); }
.blackjack-bet-input-wrap>span { position:absolute; top:50%; right:14px; transform:translateY(-50%); color:#91a7a2; font-size:9px; font-weight:800; letter-spacing:.12em; pointer-events:none; }
.blackjack-chip-rack { display:grid; gap:6px; }
.blackjack-chip-rack-header { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:8px; }
.blackjack-chip-rack-label { color:#91a7a2; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.blackjack-chip-rack output { min-width:0; color:#f5d889; font-size:9px; font-weight:800; letter-spacing:.04em; text-align:right; }
.blackjack-container .quick-bets { display:flex; justify-content:flex-start; flex-wrap:nowrap; gap:8px; margin:0; }
.blackjack-container .casino-chip { --chip-accent:#2b8c80; --chip-deep:#0b3934; position:relative; display:grid!important; width:46px!important; min-width:46px!important; max-width:46px!important; height:46px!important; min-height:46px!important; aspect-ratio:1; flex:0 0 46px!important; padding:0!important; place-items:center; border:3px dashed rgba(255,255,255,.62)!important; border-radius:50%!important; background:radial-gradient(circle,var(--chip-accent) 0 45%,transparent 46%),repeating-conic-gradient(#f8edd2 0 7deg,var(--chip-deep) 7deg 22deg)!important; color:#fffdf5; font-size:11px; font-weight:900; box-shadow:inset 0 0 0 4px var(--chip-deep),inset 0 0 0 6px rgba(255,255,255,.2),0 8px 18px rgba(0,0,0,.32); }
.blackjack-container .chip-50 { --chip-accent:#2563eb; --chip-deep:#102c70; }
.blackjack-container .chip-100 { --chip-accent:#dc2626; --chip-deep:#701717; }
.blackjack-container .chip-250 { --chip-accent:#0f9f76; --chip-deep:#064e3b; }
.blackjack-container .chip-500 { --chip-accent:#6d28d9; --chip-deep:#3b1678; }
.blackjack-container .casino-chip:hover,.blackjack-container .casino-chip.is-selected { transform:translateY(-5px) rotate(4deg); border-color:#fff8db; color:#fff; box-shadow:inset 0 0 0 4px var(--chip-deep),inset 0 0 0 6px rgba(255,255,255,.3),0 0 0 3px rgba(245,201,106,.38),0 12px 26px rgba(0,0,0,.4); }
.blackjack-container .casino-chip:active:not(:disabled) { transform:translateY(0) scale(.9); filter:brightness(1.12); }
.blackjack-container .casino-chip[data-count]:not([data-count=""])::after { content:'×' attr(data-count); position:absolute; right:-5px; top:-7px; display:grid; min-width:22px; height:22px; padding:0 4px; place-items:center; border:2px solid #f8edd2; border-radius:999px; background:#111827; color:#fff; font:900 9px/1 sans-serif; box-shadow:0 4px 10px rgba(0,0,0,.35); }
.blackjack-stake-actions { display:grid; grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.blackjack-stake-action { min-height:44px; padding:7px 10px; border:1px solid rgba(245,201,106,.22); border-radius:10px; background:rgba(255,255,255,.035); color:#d9e4e1; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.blackjack-stake-action:hover,.blackjack-stake-action:focus-visible { border-color:rgba(245,201,106,.68); background:rgba(245,201,106,.1); }
.blackjack-deal-btn { display:flex!important; width:100%; min-height:64px; align-items:center; justify-content:space-between; gap:12px; padding-inline:20px!important; border:1px solid #f8dc99!important; border-radius:16px!important; background:linear-gradient(110deg,#c99636,#f5d889 52%,#b47c20)!important; color:#171005!important; font-size:12px!important; font-weight:850!important; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 11px 24px rgba(187,128,31,.22),inset 0 1px rgba(255,255,255,.5)!important; }
.blackjack-deal-btn:hover:not(:disabled) { transform:translateY(-2px); filter:brightness(1.06); }

.blackjack-table-insignia { position:absolute!important; top:50%; left:50%; z-index:0!important; display:grid; transform:translate(-50%,-50%); color:rgba(245,201,106,.1); text-align:center; pointer-events:none; }
.blackjack-table-insignia span { font-size:clamp(72px,15vw,132px); font-weight:950; letter-spacing:-.09em; line-height:.78; }
.blackjack-table-insignia small { margin-top:12px; font-size:10px; font-weight:800; letter-spacing:.55em; }
.blackjack-container .game-area { position:relative; display:grid; grid-template-rows:minmax(var(--blackjack-hand-stage-min),1fr) auto minmax(var(--blackjack-hand-stage-min),1fr) auto auto; gap:12px; min-height:600px; margin:0; padding:28px 38px 30px; }
.blackjack-container .dealer-section,.blackjack-container .player-section { display:flex; min-height:var(--blackjack-hand-stage-min); flex-direction:column; justify-content:center; margin:0; padding:14px 18px; border:1px solid rgba(255,255,255,.055); border-radius:22px; background:rgba(0,0,0,.09); }
.blackjack-hand-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.blackjack-container .blackjack-hand-heading h3 { margin:0!important; color:#f8f4ed; font-size:12px!important; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.blackjack-container .score-display { display:inline-flex; min-width:78px; height:34px; align-items:center; justify-content:space-between; gap:10px; margin:0!important; padding:0 10px; border:1px solid rgba(245,201,106,.22); border-radius:999px; background:rgba(0,0,0,.22); color:#fff; }
.blackjack-container .score-label { color:#91a7a2; font-size:8px; font-weight:800; letter-spacing:.12em; }
.blackjack-container .score-display>span:last-child { color:var(--bj-gold); font-size:15px; font-variant-numeric:tabular-nums; }
.blackjack-container .score-display.is-soft { border-color:rgba(96,165,250,.48); background:rgba(30,64,175,.16); }
.blackjack-container .score-display.is-soft .score-label { color:#bfdbfe; }
.blackjack-container .cards-container { --blackjack-hand-origin:98px; width:calc(50% + var(--blackjack-hand-origin)); min-height:146px; justify-content:flex-start; align-self:center; margin-left:calc(50% - var(--blackjack-hand-origin)); margin-right:0; gap:0; padding:8px 0 12px; overflow:visible; perspective:1100px; }
.blackjack-container .cards-container:empty::before,.blackjack-container .cards-container:empty::after { content:''; width:76px; height:106px; margin-left:10px; border:1px dashed rgba(245,201,106,.2); border-radius:12px; background:rgba(0,0,0,.06); }

.blackjack-container .blackjack-card { position:relative; width:clamp(76px,10vw,104px); min-width:clamp(76px,10vw,104px); height:clamp(106px,14vw,146px); min-height:clamp(106px,14vw,146px); margin-left:-12px; border:0; border-radius:12px; background:transparent; box-shadow:none; transform-style:preserve-3d; transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .24s ease; }
.blackjack-container .blackjack-card:first-child { margin-left:0; }
.blackjack-container .blackjack-card:hover { z-index:3; transform:translateY(-7px) rotate(.7deg); }
.blackjack-card-inner { position:absolute; inset:0; transform-style:preserve-3d; transition:transform .68s cubic-bezier(.2,.8,.2,1); }
.blackjack-card.is-hidden .blackjack-card-inner { transform:rotateY(180deg); }
.blackjack-card-face { position:absolute; inset:0; overflow:hidden; border-radius:12px; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.blackjack-card-front { border:1px solid rgba(89,70,37,.17); background:linear-gradient(135deg,rgba(255,255,255,.95),transparent 30%),linear-gradient(150deg,#fffdf8,#eee7d9); color:#171717; box-shadow:0 14px 26px rgba(0,0,0,.26),inset 0 0 22px rgba(99,69,26,.05); }
.blackjack-card.is-red .blackjack-card-front { color:#c62d3f; }
.blackjack-card-back { display:grid; place-items:center; transform:rotateY(180deg); border:4px solid #eee2c7; background:linear-gradient(145deg,#111b32,#253964); box-shadow:0 14px 26px rgba(0,0,0,.3); }
.blackjack-card-back-grid { position:absolute; inset:5px; border:1px solid rgba(245,201,106,.58); border-radius:7px; background:linear-gradient(45deg,transparent 43%,rgba(245,201,106,.17) 44% 56%,transparent 57%) 0 0/13px 13px,linear-gradient(-45deg,transparent 43%,rgba(20,184,166,.18) 44% 56%,transparent 57%) 0 0/13px 13px; }
.blackjack-card-monogram { position:relative; z-index:1; color:#f2d591; font-size:clamp(18px,3vw,27px); font-weight:950; letter-spacing:-.08em; text-shadow:0 2px 8px rgba(0,0,0,.45); }
.blackjack-card-corner { position:absolute; top:8px; left:9px; display:grid; justify-items:center; line-height:.9; }
.blackjack-card-corner strong { font-family:Georgia,serif; font-size:clamp(15px,2.1vw,22px); }
.blackjack-card-corner i { margin-top:3px; font-family:Georgia,serif; font-size:clamp(10px,1.5vw,15px); font-style:normal; }
.blackjack-card-corner.is-bottom { inset:auto 9px 8px auto; transform:rotate(180deg); }
.blackjack-card-pip { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:Georgia,serif; font-size:clamp(34px,6vw,58px); text-shadow:0 1px rgba(255,255,255,.7); }
.blackjack-card.is-dealing { animation:bj-deal .76s cubic-bezier(.16,.82,.24,1.04) both; animation-delay:var(--deal-delay,0ms); }
.blackjack-card.is-revealing .blackjack-card-inner { animation:bj-reveal .72s cubic-bezier(.2,.78,.2,1) both; }
@keyframes bj-deal { from { opacity:0; transform:translate(160px,calc(var(--deal-direction)*-92px)) rotate(14deg) scale(.7); filter:blur(2px); } 72% { opacity:1; filter:none; } to { opacity:1; transform:none; filter:none; } }
@keyframes bj-reveal { from { transform:rotateY(180deg); } to { transform:rotateY(0); } }

.blackjack-container .result-display { min-height:0; margin:0 auto; padding:0; border:0; border-radius:999px; font-size:13px; letter-spacing:.035em; transition:min-height .25s ease,padding .25s ease,opacity .25s ease; }
.blackjack-container .result-display:not(:empty) { min-height:42px; padding:9px 22px; animation:bj-result .42s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-container .result-display.win { border:1px solid rgba(74,222,128,.62); background:rgba(20,83,45,.66); color:#baf7cf; box-shadow:0 0 30px rgba(34,197,94,.16); }
.blackjack-container .result-display.lose { border:1px solid rgba(248,113,113,.52); background:rgba(91,24,30,.68); color:#fecaca; }
.blackjack-container .result-display.tie { border:1px solid rgba(245,201,106,.45); background:rgba(74,57,26,.64); color:#f8e3ad; }
@keyframes bj-result { from { opacity:0; transform:translateY(8px) scale(.96); } to { opacity:1; transform:none; } }
.blackjack-container .insurance-section { position:relative; margin:0; padding:0; border:1px solid rgba(245,201,106,.35); background:rgba(69,48,15,.68); box-shadow:0 14px 34px rgba(0,0,0,.22); }
.blackjack-container .insurance-section:not(.hidden) { animation:bj-insurance-in .42s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-container .insurance-section.is-resolving .insurance-prompt { opacity:.28; }
.blackjack-container .insurance-section.is-resolving::after { content:attr(data-decision); position:absolute; inset:0; display:grid; place-items:center; color:#f8e3ad; font-size:12px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; animation:bj-insurance-decision .42s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-container .insurance-prompt { padding:16px 20px; transition:opacity .2s ease; }
.blackjack-container .game-controls { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:10px; margin:0; padding:14px; border:1px solid rgba(255,255,255,.07); border-radius:18px; background:rgba(1,12,11,.52); backdrop-filter:blur(16px); }
.blackjack-container .game-controls .btn { display:flex; width:100%!important; min-width:0; max-width:none; height:50px!important; min-height:50px!important; max-height:50px!important; align-items:center; justify-content:space-between; padding:10px 14px!important; border-radius:12px; font-size:12px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.blackjack-container .game-controls kbd { display:grid; width:22px; height:22px; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:6px; background:rgba(0,0,0,.18); color:#b8c7c4; font:800 9px/1 inherit; }
.blackjack-container .is-busy { cursor:progress; }
.blackjack-container .is-busy .blackjack-card { filter:saturate(.82); }
.blackjack-container .is-presenting .game-controls { pointer-events:none; }
.blackjack-container .betting-section.is-locked .blackjack-chip-rack { display:grid; opacity:.34; pointer-events:none; }
.blackjack-container .betting-section.is-locked .quick-bets { display:flex!important; }
.blackjack-container .betting-section.is-locked .blackjack-stake-actions { display:grid!important; opacity:.42; }
.blackjack-container .betting-section.is-locked #placeBetBtn { display:flex!important; opacity:.48; }
.blackjack-container .betting-section.is-locked .blackjack-bet-heading label::after { content:' · locked for this round'; color:#91a7a2; font-size:10px; font-weight:650; }

/* Split-hand and outcome presentation. The hand itself communicates the result. */
.blackjack-player-hands { display:grid; height:100%; grid-template-columns:minmax(0,1fr); gap:10px; min-width:0; }
.blackjack-table-shell.has-split-hands .blackjack-player-hands { grid-template-columns:repeat(2,minmax(0,1fr)); }
.blackjack-player-hand { display:flex; min-width:0; height:100%; flex-direction:column; justify-content:center; padding:0; border:1px solid transparent; border-radius:16px; transition:opacity .24s ease,filter .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease; }
.blackjack-table-shell.has-split-hands .blackjack-player-hand { padding:8px; }
.blackjack-player-hand.is-active { border-color:rgba(245,201,106,.52); background:rgba(245,201,106,.055); }
.blackjack-table-shell:not(.has-split-hands) .blackjack-player-hand { border-color:transparent; border-radius:0; background:transparent; box-shadow:none; animation:none; }
.blackjack-container .player-section:has(.blackjack-player-hand.is-active) { border-color:rgba(245,201,106,.52); background:rgba(245,201,106,.055); }
.blackjack-player-hand.is-winner { border-color:rgba(74,222,128,.72); background:rgba(20,83,45,.24); box-shadow:0 0 0 1px rgba(74,222,128,.12),0 10px 24px rgba(0,0,0,.18); }
.blackjack-player-hand.is-loser,.blackjack-container .dealer-section.is-loser { opacity:.46; filter:grayscale(.78) saturate(.45); }
.blackjack-player-hand.is-push { border-color:rgba(245,201,106,.48); background:rgba(74,57,26,.18); }
.blackjack-container .dealer-section.is-winner { border-color:rgba(248,113,113,.42); background:rgba(91,24,30,.18); }
.blackjack-hand-result { margin-left:auto; padding:4px 8px; border:1px solid currentColor; border-radius:999px; color:#86efac; font-size:9px; font-weight:900; letter-spacing:.1em; line-height:1; }
.blackjack-hand-result:empty { display:none; }
.blackjack-player-hand.is-loser .blackjack-hand-result { color:#fca5a5; }
.blackjack-player-hand.is-push .blackjack-hand-result { color:#f5d58b; }
.blackjack-container .dealer-section.is-bust { border-color:rgba(248,113,113,.5); background:rgba(91,24,30,.16); }
.blackjack-container .dealer-section.is-blackjack { border-color:rgba(245,201,106,.58); background:rgba(74,57,26,.18); }
.blackjack-container .dealer-result { margin-left:10px; color:#fca5a5; }
.blackjack-container .dealer-section:not(.is-bust) .dealer-result { color:#f8e3ad; }
.blackjack-container .score-display>span:last-child { color:#f4cc72; text-shadow:0 0 4px rgba(245,201,106,.22); }
.blackjack-container .cards-container.is-crowded .blackjack-card:not(:first-child) { margin-left:-24px; }

/* Semantic action, split, hand-focus, dealer-turn, and settlement choreography. */
.blackjack-player-hand::before { content:''; position:absolute; top:-7px; left:16px; height:14px; padding:0 7px; border-radius:999px; background:#f5c96a; color:#201506; font-size:7px; font-weight:950; letter-spacing:.12em; line-height:14px; opacity:0; transform:translateY(5px); transition:opacity .22s ease,transform .22s ease; }
.blackjack-player-hand { position:relative; }
.blackjack-player-hand.is-active::before { content:'PLAYING'; opacity:1; transform:none; }
.blackjack-player-hand.is-active { animation:bj-hand-focus-in .42s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-player-hand.is-inactive-hand:not(.is-winner):not(.is-loser):not(.is-push) { opacity:.68; filter:saturate(.72); }
.blackjack-player-hand.is-hand-complete { animation:bj-hand-complete .34s ease both; }
.blackjack-player-hand.is-bust { border-color:rgba(248,113,113,.5); background:rgba(91,24,30,.18); }
.blackjack-player-hand.is-blackjack { border-color:rgba(74,222,128,.72); background:rgba(20,83,45,.2); }
.blackjack-player-hand.is-splitting { animation:bj-split-hand-in .48s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-card.is-split-left { animation:bj-split-card-left .48s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-card.is-split-right { animation:bj-split-card-right .48s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-player-hand.is-settlement-reveal { animation:bj-hand-settlement .5s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-container .dealer-section { transition:border-color .3s ease,background .3s ease,box-shadow .3s ease,opacity .3s ease,filter .3s ease; }
.blackjack-table-shell.is-dealer-turn .dealer-section { border-color:rgba(245,201,106,.46); background:rgba(245,201,106,.055); box-shadow:0 0 0 1px rgba(245,201,106,.08),0 18px 32px rgba(0,0,0,.16); animation:bj-dealer-turn .55s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-table-shell.is-dealer-turn .player-section { opacity:.76; transition:opacity .3s ease; }
.blackjack-table-shell.is-resetting .dealer-section { animation:bj-round-clear-up .32s ease both; }
.blackjack-table-shell.is-resetting .player-section,.blackjack-table-shell.is-resetting .result-display { animation:bj-round-clear-down .32s ease both; }
.blackjack-container.is-wagering .betting-section:not(.is-locked) { animation:bj-wager-enter .4s cubic-bezier(.2,.8,.2,1) both; }
.blackjack-container .game-controls .btn.is-action-accepted { animation:bj-action-accepted .38s cubic-bezier(.2,.8,.2,1) both; }
#creditsAmount.blackjack-credit-settled { animation:bj-credit-settled .72s cubic-bezier(.2,.8,.2,1) both; }

@keyframes bj-split-hand-in { from { opacity:.4; transform:scale(.94); } to { opacity:1; transform:none; } }
@keyframes bj-split-card-left { from { transform:translateX(58%) rotate(4deg); } to { transform:none; } }
@keyframes bj-split-card-right { from { transform:translateX(-58%) rotate(-4deg); } to { transform:none; } }
@keyframes bj-hand-focus-in { 0% { box-shadow:0 0 0 rgba(245,201,106,0); } 55% { box-shadow:0 0 0 3px rgba(245,201,106,.16),0 12px 28px rgba(0,0,0,.18); } 100% { box-shadow:0 0 0 1px rgba(245,201,106,.08); } }
@keyframes bj-hand-complete { 50% { transform:translateY(-2px); } to { transform:none; } }
@keyframes bj-hand-settlement { from { opacity:.55; transform:translateY(8px) scale(.98); } 65% { opacity:1; transform:translateY(-2px) scale(1.01); } to { opacity:1; transform:none; } }
@keyframes bj-dealer-turn { from { transform:translateY(-5px); opacity:.7; } to { transform:none; opacity:1; } }
@keyframes bj-action-accepted { 45% { transform:translateY(2px) scale(.96); filter:brightness(1.22); } to { transform:none; } }
@keyframes bj-credit-settled { 45% { color:#86efac; transform:translateY(-2px) scale(1.12); text-shadow:0 0 18px rgba(74,222,128,.58); } to { transform:none; } }
@keyframes bj-insurance-in { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes bj-insurance-decision { from { opacity:0; transform:scale(.94); } 55% { opacity:1; transform:scale(1.02); } to { opacity:1; transform:none; } }
@keyframes bj-round-clear-up { to { opacity:0; transform:translateY(-14px) scale(.98); } }
@keyframes bj-round-clear-down { to { opacity:0; transform:translateY(14px) scale(.98); } }
@keyframes bj-wager-enter { from { opacity:.35; transform:translateY(-8px); } to { opacity:1; transform:none; } }

/* Shared premium surface and motion language for the remaining game rooms. */
.rl-container,.coinflip-casino-container,.crash-container,.pachinko-container,.poker-casino-container { position:relative; isolation:isolate; }
.rl-belt-wrapper,.room-item,.crash-chart-container,.crash-betting-panel,.pachinko-game-board,.pachinko-controls,.poker-table-card,.poker-table-top-bar { border-color:rgba(184,173,168,.16)!important; box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.025); }
.rl-belt-wrapper { overflow:hidden; border-radius:18px; background:linear-gradient(180deg,rgba(18,25,35,.96),rgba(7,11,17,.98)); }
.rl-chip { box-shadow:inset 0 1px rgba(255,255,255,.14),inset 0 -12px 20px rgba(0,0,0,.16); transition:filter .2s ease,transform .2s ease; }
.rl-chip-winner { filter:brightness(1.18) saturate(1.12); }
.coinflip-casino-container .coin-container { filter:drop-shadow(0 18px 22px rgba(0,0,0,.34)); perspective:900px; }
.coinflip-casino-container .coin-face { border:3px solid rgba(255,245,205,.64); box-shadow:inset 0 0 0 6px rgba(0,0,0,.1),inset 0 0 30px rgba(255,255,255,.16); }
.coinflip-casino-container .room-item,.poker-table-card { border-width:1px; border-radius:18px; background:linear-gradient(145deg,rgba(22,29,42,.92),rgba(9,13,21,.9)); transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease; }
.coinflip-casino-container .room-item:hover,.poker-table-card:hover { transform:translateY(-5px); border-color:rgba(56,189,248,.46)!important; box-shadow:0 24px 52px rgba(0,0,0,.32),0 0 28px rgba(56,189,248,.08); }
.crash-chart-container { overflow:hidden; border-radius:22px; background:linear-gradient(rgba(56,189,248,.025) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,rgba(56,189,248,.025) 1px,transparent 1px) 0 0/32px 32px,radial-gradient(circle at 50% 100%,rgba(56,189,248,.09),transparent 56%),#080d16; }
.pachinko-game-board { overflow:hidden; border-radius:24px; background:radial-gradient(circle at 50% 20%,rgba(168,85,247,.12),transparent 55%),rgba(7,10,18,.93); }
.poker-felt { border-color:rgba(245,201,106,.34)!important; background:radial-gradient(ellipse at 50% 42%,rgba(27,120,93,.36),transparent 58%),linear-gradient(145deg,#0a4438,#04251f)!important; box-shadow:inset 0 0 0 8px rgba(0,0,0,.18),inset 0 -45px 80px rgba(0,0,0,.22),0 28px 70px rgba(0,0,0,.34)!important; }

/* Roulette: casino belt with clearer bet hierarchy and a restrained landing glow. */
.rl-container { max-width:1100px; margin-inline:auto; padding:clamp(12px,2vw,24px); border-radius:28px; background:radial-gradient(circle at 50% 0,rgba(239,68,68,.09),transparent 38%),linear-gradient(160deg,rgba(16,11,18,.86),rgba(5,8,13,.96)); box-shadow:0 30px 85px rgba(0,0,0,.34); }
.rl-belt-section { padding:clamp(10px,2vw,20px); border:1px solid rgba(245,201,106,.14); border-radius:24px; background:rgba(0,0,0,.22); }
.rl-belt-indicator { filter:drop-shadow(0 0 9px rgba(255,215,130,.6)); }
.rl-status-row { min-height:54px; margin:10px 0 18px; padding:10px 16px; border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.025); }
.rl-bet-panel,.rl-info-panel { border:1px solid rgba(245,201,106,.13)!important; border-radius:20px!important; background:linear-gradient(150deg,rgba(26,19,28,.94),rgba(8,10,16,.96))!important; box-shadow:0 18px 42px rgba(0,0,0,.25); }
.rl-panel-title { color:#fff4db!important; font-size:11px!important; font-weight:850!important; letter-spacing:.14em!important; text-transform:uppercase; }
.rl-color-btn,.rl-quick-btn,.rl-adj-btn { transition:transform .18s ease,filter .18s ease,border-color .18s ease,box-shadow .18s ease!important; }
.rl-btn-green { background:linear-gradient(145deg,#16a34a,#15803d)!important; border-color:rgba(34,197,94,.58)!important; }
.rl-quick-row .wager-chip { --chip-accent:#2b8c80; --chip-deep:#0b3934; width:46px!important; min-width:46px!important; height:46px!important; padding:0!important; border:3px dashed rgba(255,255,255,.62)!important; border-radius:50%!important; background:radial-gradient(circle,var(--chip-accent) 0 45%,transparent 46%),repeating-conic-gradient(#f8edd2 0 7deg,var(--chip-deep) 7deg 22deg)!important; color:#fffdf5!important; font-size:10px!important; font-weight:900!important; box-shadow:inset 0 0 0 4px var(--chip-deep),inset 0 0 0 6px rgba(255,255,255,.2),0 8px 18px rgba(0,0,0,.32)!important; }
.rl-quick-row .chip-50 { --chip-accent:#2563eb; --chip-deep:#102c70; }
.rl-quick-row .chip-100 { --chip-accent:#dc2626; --chip-deep:#701717; }
.rl-quick-row .chip-250 { --chip-accent:#0f9f76; --chip-deep:#064e3b; }
.rl-quick-row .chip-500 { --chip-accent:#6d28d9; --chip-deep:#3b1678; }
.rl-quick-row .chip-1000 { --chip-accent:#171717; --chip-deep:#050505; }
.rl-quick-row .wager-chip:hover,.rl-quick-row .wager-chip.is-selected { transform:translateY(-5px) rotate(4deg); border-color:#fff8db!important; box-shadow:inset 0 0 0 4px var(--chip-deep),inset 0 0 0 6px rgba(255,255,255,.3),0 0 0 3px rgba(245,201,106,.38),0 12px 26px rgba(0,0,0,.4)!important; }
.rl-color-btn:hover,.rl-color-btn.rl-btn-active { transform:translateY(-3px); filter:brightness(1.08); box-shadow:0 12px 26px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.15)!important; }
.rl-btn-green.rl-btn-active { border-color:#86efac!important; background:linear-gradient(145deg,#16a34a,#166534)!important; box-shadow:0 0 0 3px rgba(34,197,94,.22),0 12px 26px rgba(0,0,0,.28)!important; }
.rl-belt-track.rl-belt-pre-spinning { animation:roulette-pre-spin .32s linear infinite; }
.rl-amount-row .rl-adj-btn { min-width:44px!important; min-height:44px!important; }
.rl-chip-winner { animation:premium-winner-pulse .7s ease both!important; }

/* Coinflip: a focused versus stage rather than a generic form room. */
.coinflip-casino-container { max-width:1080px; margin-inline:auto; padding:clamp(12px,2vw,24px); }
.coinflip-casino-container .game-section,.coinflip-casino-container .game-room-section { border:1px solid rgba(245,201,106,.14); border-radius:26px; background:radial-gradient(circle at 50% 42%,rgba(245,201,106,.075),transparent 38%),linear-gradient(155deg,rgba(24,18,29,.92),rgba(7,10,16,.97)); box-shadow:0 30px 80px rgba(0,0,0,.34); }
.coinflip-casino-container .room-selection-header,.coinflip-casino-container .room-header { padding:18px 22px; border-bottom:1px solid rgba(255,255,255,.07); }
.coinflip-casino-container .players-container { gap:clamp(12px,3vw,34px); padding:clamp(22px,5vw,52px); }
.coinflip-casino-container .player-card { border:1px solid rgba(245,201,106,.18); border-radius:20px; background:linear-gradient(145deg,rgba(32,27,40,.94),rgba(12,13,20,.96)); box-shadow:0 18px 42px rgba(0,0,0,.25); }
.coinflip-casino-container .coin { background:transparent!important; transform-style:preserve-3d; will-change:transform; }
.coinflip-casino-container .coin-face { text-shadow:0 1px rgba(255,255,255,.38); -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.coinflip-casino-container .coin-front { background:radial-gradient(circle at 36% 28%,#fff2ba,#d39b37 44%,#68400d 100%)!important; color:#2a1805!important; transform:rotateY(0deg) translateZ(1px); }
.coinflip-casino-container .coin-back { background:radial-gradient(circle at 36% 28%,#f7dcff,#a855f7 46%,#411075 100%)!important; color:#fff3e4!important; border-color:#a855f7!important; transform:rotateY(180deg) translateZ(1px); }
.coinflip-casino-container .result-message.win,.coinflip-casino-container .result-message.lose { padding:16px 22px; border-radius:16px; animation:premium-result-in .38s cubic-bezier(.2,.8,.2,1) both; }

/* Crash: cockpit-style chart and a decisive cash-out control. */
.crash-container { max-width:1120px; margin-inline:auto; padding:clamp(12px,2vw,24px); }
.crash-layout { gap:18px!important; }
.crash-canvas-wrap { overflow:hidden; aspect-ratio:25/13; border:1px solid rgba(56,189,248,.2)!important; border-radius:24px!important; background:linear-gradient(rgba(56,189,248,.035) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,rgba(56,189,248,.035) 1px,transparent 1px) 0 0/32px 32px,radial-gradient(circle at 30% 100%,rgba(14,165,233,.12),transparent 56%),#060b13!important; box-shadow:inset 0 0 60px rgba(0,0,0,.26),0 24px 64px rgba(0,0,0,.32); }
.crash-multiplier { font-variant-numeric:tabular-nums; letter-spacing:-.06em; text-shadow:0 0 24px rgba(56,189,248,.24),0 12px 30px rgba(0,0,0,.52); }
.crash-multiplier.betting-label { top:34%; width:calc(100% - 36px); font-size:clamp(1.45rem,7vw,2.6rem); line-height:1; letter-spacing:.02em; word-spacing:.18em; text-align:center; white-space:nowrap; }
.crash-status.betting { top:72%; bottom:auto; width:auto; max-width:calc(100% - 40px); box-sizing:border-box; transform:translate(-50%,-50%); line-height:1.2; text-align:center; white-space:nowrap; }
.crash-bet-section,.crash-feed-section { border:1px solid rgba(56,189,248,.15)!important; border-radius:20px!important; background:linear-gradient(150deg,rgba(16,24,36,.94),rgba(7,10,16,.96))!important; box-shadow:0 18px 48px rgba(0,0,0,.24); }
.crash-quick-bets .cqb { min-height:44px; border-radius:12px; transition:transform .17s ease,border-color .17s ease!important; }
.crash-bet-group input { min-height:44px!important; }
.crash-quick-bets .cqb:hover { transform:translateY(-2px); border-color:rgba(56,189,248,.52)!important; }
.crash-cashout-btn { min-height:54px!important; border:1px solid rgba(167,243,208,.72)!important; border-radius:14px!important; background:linear-gradient(110deg,#0f766e,#34d399)!important; color:#022c22!important; font-weight:900!important; box-shadow:0 14px 34px rgba(16,185,129,.24)!important; animation:premium-cashout-breathe 1.5s ease-in-out infinite; }
.crash-bet-status.win,.crash-bet-status.loss { padding:10px 12px; border-radius:11px; }
.crash-cashout-btn[aria-busy="true"] { animation:none; filter:saturate(.72); cursor:progress; }
.crash-bet-status.pending { color:#fde68a; }

/* Pachinko: jewel-box board and physical chip-like selectors. */
.pachinko-container { max-width:1080px; margin-inline:auto; padding:clamp(12px,2vw,24px); }
.pachinko-layout { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important; grid-template-areas:"board controls" "board results"; align-items:start; gap:18px!important; }
.pachinko-canvas-wrap { grid-area:board; min-width:0; overflow:hidden; aspect-ratio:50/59; border:1px solid rgba(192,132,252,.24)!important; border-radius:26px!important; background:radial-gradient(circle at 50% 18%,rgba(168,85,247,.17),transparent 54%),#080812!important; box-shadow:inset 0 0 70px rgba(76,29,149,.13),0 25px 65px rgba(0,0,0,.34); }
.pachinko-payout-legend { padding:10px 14px 13px; border-top:1px solid rgba(216,180,254,.13); color:#c9bdd5; font-size:10px; line-height:1.5; text-align:center; }
.pachinko-controls { grid-area:controls; border:1px solid rgba(192,132,252,.18)!important; border-radius:22px!important; background:linear-gradient(150deg,rgba(30,20,42,.94),rgba(8,10,17,.97))!important; box-shadow:0 18px 48px rgba(0,0,0,.26); }
.pach-results { grid-area:results; min-width:0; }
.pach-group { padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.065); }
.pach-group input { min-height:44px!important; }
.pach-quick .pqb,.pach-risk-btns .prb,.pach-ball-btns .pbb { min-height:44px; border-radius:12px; transition:transform .18s ease,background .18s ease,border-color .18s ease!important; }
.pach-quick .pqb:hover,.pach-risk-btns .prb:hover,.pach-ball-btns .pbb:hover,.pach-risk-btns .prb.active,.pach-ball-btns .pbb.active { transform:translateY(-2px); border-color:rgba(216,180,254,.58)!important; box-shadow:0 9px 20px rgba(88,28,135,.2); }
.pach-quick .pqb.active,.pach-risk-btns .prb.active,.pach-ball-btns .pbb.active { background:var(--amber)!important; border-color:var(--amber)!important; color:var(--bg)!important; box-shadow:0 0 0 2px rgba(255,181,77,.18),0 8px 18px rgba(255,181,77,.2)!important; }
.pach-drop-btn { min-height:56px!important; border-radius:15px!important; background:linear-gradient(110deg,#7e22ce,#c084fc 55%,#6b21a8)!important; font-weight:900!important; box-shadow:0 14px 34px rgba(147,51,234,.25)!important; }
.pach-result-item:first-child { animation:premium-result-in .34s cubic-bezier(.2,.8,.2,1) both; }

/* Poker: stronger seat focus, true card depth, and compact action hierarchy. */
.poker-casino-container { max-width:1180px; margin-inline:auto; padding:clamp(12px,2vw,24px); }
.poker-lobby,.poker-table-top-bar,.poker-actions,.poker-chat-section { border:1px solid rgba(245,201,106,.14)!important; border-radius:20px!important; background:linear-gradient(150deg,rgba(25,21,27,.94),rgba(8,11,16,.97))!important; box-shadow:0 18px 48px rgba(0,0,0,.24); }
.poker-seat.active-turn .seat-panel { border-color:rgba(245,201,106,.72)!important; box-shadow:0 0 0 3px rgba(245,201,106,.1),0 0 28px rgba(245,201,106,.2)!important; }
.poker-seat.is-me .seat-panel { background:linear-gradient(145deg,rgba(13,148,136,.34),rgba(5,46,42,.9))!important; }
.poker-casino-container .playing-card { box-shadow:0 10px 24px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.55); transition:transform .2s ease,filter .2s ease; }
.poker-casino-container .playing-card:hover { transform:translateY(-5px) rotate(.6deg); }
.poker-action-btns .pa-btn { min-height:48px; border-radius:12px!important; font-weight:850!important; letter-spacing:.035em; transition:transform .16s ease,filter .16s ease!important; }
.poker-action-btns .pa-btn:hover { transform:translateY(-2px); filter:brightness(1.08); }
.winner-announcement:not(.hidden) { animation:premium-result-in .4s cubic-bezier(.2,.8,.2,1) both; }

/* CS2: align the sportsbook surface with the premium game rooms. */
.cs2-betting-container { border-radius:28px; background:radial-gradient(circle at 20% 0,rgba(34,197,94,.07),transparent 35%),linear-gradient(155deg,rgba(10,15,18,.96),rgba(5,8,12,.99)); box-shadow:0 30px 80px rgba(0,0,0,.28); }
.cs2-betting-container .cs2-header { border-bottom-color:rgba(245,201,106,.13)!important; background:rgba(5,10,12,.82)!important; backdrop-filter:blur(18px); }
.cs2-betting-container .cs2-events-panel,.cs2-betting-container .cs2-sidebar,.cs2-betting-container .match-card { border-color:rgba(245,201,106,.12)!important; box-shadow:0 14px 38px rgba(0,0,0,.2); }
.cs2-betting-container .odds-card { transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important; }
.cs2-betting-container .odds-card:hover,.cs2-betting-container .odds-card.selected { transform:translateY(-2px); border-color:rgba(74,222,128,.5)!important; box-shadow:0 10px 24px rgba(34,197,94,.1)!important; }

@keyframes premium-winner-pulse { 0% { transform:scale(.9); filter:brightness(1); } 55% { transform:scale(1.08); filter:brightness(1.35); } 100% { transform:scale(1); filter:brightness(1.18); } }
@keyframes premium-result-in { from { opacity:0; transform:translateY(10px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes premium-cashout-breathe { 50% { transform:translateY(-1px); box-shadow:0 17px 40px rgba(16,185,129,.34)!important; } }
@keyframes roulette-pre-spin { from { transform:translate3d(0,0,0); } to { transform:translate3d(-108px,0,0); } }

@media (max-width:760px) {
  .blackjack-container { --blackjack-hand-stage-min:146px; }
  .rl-container,.coinflip-casino-container,.crash-container,.pachinko-container,.poker-casino-container { padding:8px; border-radius:18px; }
  .rl-belt-section { padding:8px; border-radius:16px; }
  .rl-status-row { align-items:flex-start; gap:8px; }
  .coinflip-casino-container .players-container { padding:18px 10px; }
  .crash-canvas-wrap,.pachinko-canvas-wrap { border-radius:18px!important; }
  .pachinko-layout { grid-template-columns:minmax(0,1fr)!important; grid-template-areas:"controls" "board" "results"; }
  .crash-bet-section,.crash-feed-section,.pachinko-controls,.poker-lobby,.poker-actions { border-radius:16px!important; }
  .poker-action-btns .pa-btn { min-height:44px; }
  .cs2-betting-container { border-radius:18px; }
  .blackjack-table-header { align-items:start; margin:0 10px 12px; }
  .blackjack-rules { display:grid; gap:4px; text-align:right; font-size:8px; }
  .blackjack-rules span+span::before { display:none; }
  .blackjack-container .game-title { font-size:clamp(28px,9vw,38px)!important; }
  .blackjack-eyebrow { font-size:8px; }
  .blackjack-container .betting-section,.blackjack-container .betting-section.is-locked { grid-template-columns:1fr!important; gap:8px!important; padding:12px!important; }
  .blackjack-container .bet-input-group { grid-template-columns:110px minmax(0,1fr); gap:6px 8px; padding:8px; }
  .blackjack-container .blackjack-bet-input-wrap input { height:48px; padding-inline:10px 52px; font-size:16px; }
  .blackjack-bet-input-wrap>span { right:8px; font-size:7px; }
  .blackjack-chip-rack { gap:4px; }
  .blackjack-chip-rack-label { font-size:8px; }
  .blackjack-stake-actions { grid-column:1/-1; gap:6px; }
  .blackjack-container .blackjack-stake-action { min-height:var(--casino-mobile-control-min,44px)!important; padding:7px 8px; }
  .blackjack-container .blackjack-deal-btn { min-height:52px; }
  .blackjack-minimum { margin-top:4px; }
  .blackjack-container .quick-bets,.blackjack-container .betting-section.is-locked .quick-bets { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; justify-items:center; gap:8px; }
  .blackjack-container .quick-bet-btn { display:grid!important; width:44px!important; min-width:44px!important; max-width:44px!important; height:44px!important; min-height:44px!important; aspect-ratio:1; flex:0 0 44px!important; padding:0!important; border-radius:50%!important; place-items:center; }

  .blackjack-container .game-area { min-height:500px; grid-template-rows:minmax(var(--blackjack-hand-stage-min),1fr) minmax(36px,auto) minmax(var(--blackjack-hand-stage-min),1fr) auto auto; gap:8px!important; padding:10px!important; contain:layout paint; }
  .blackjack-table-shell.has-split-hands .game-area { min-height:540px; }
  .blackjack-container .dealer-section,.blackjack-container .player-section { min-height:var(--blackjack-hand-stage-min)!important; padding:8px!important; }
  .blackjack-container .cards-container { --blackjack-hand-origin:62px; min-height:80px!important; padding:2px 0 5px; }
  .blackjack-container .cards-container { box-sizing:border-box; width:100%!important; margin-left:0!important; padding-left:calc(50% - var(--blackjack-hand-origin)); align-self:stretch; }
  .blackjack-container .cards-container .blackjack-card:not(:first-child) { margin-left:-24px!important; }

  /* Before a round starts, the wager rail is the task. Do not reserve the active-table rows. */
  .blackjack-container.is-wagering .game-area { display:block; min-height:112px; padding:8px!important; }
  .blackjack-container.is-wagering .dealer-section,
  .blackjack-container.is-wagering .result-display,
  .blackjack-container.is-wagering .player-section,
  .blackjack-container.is-wagering .insurance-section,
  .blackjack-container.is-wagering .game-controls { display:none!important; }
  .blackjack-container .blackjack-card,.blackjack-container.insurance-active .blackjack-card { width:clamp(50px,15vw,66px)!important; min-width:clamp(50px,15vw,66px)!important; height:clamp(70px,21vw,92px)!important; min-height:clamp(70px,21vw,92px)!important; margin-left:-8px; border-radius:8px!important; }
  .blackjack-card-face { border-radius:8px; }
  .blackjack-card-corner { top:5px; left:6px; }
  .blackjack-card-corner.is-bottom { inset:auto 6px 5px auto; }
  .blackjack-card-corner strong { font-size:13px; }
  .blackjack-card-corner i { margin-top:2px; font-size:9px; }
  .blackjack-card-pip { font-size:30px; }
  .blackjack-container .cards-container.is-crowded { width:100%; margin-left:0; padding-inline:6px; }
  .blackjack-container .cards-container.is-crowded .blackjack-card:not(:first-child) { margin-left:-34px; }
  .blackjack-table-shell.has-split-hands .blackjack-player-hand { padding:5px; }
  .blackjack-table-shell.has-split-hands .blackjack-hand-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:4px 6px; }
  .blackjack-table-shell.has-split-hands .blackjack-hand-heading h3 { grid-column:1; grid-row:1; }
  .blackjack-table-shell.has-split-hands .blackjack-hand-result { grid-column:1; grid-row:2; justify-self:start; margin:0; }
  .blackjack-table-shell.has-split-hands .score-display { grid-column:2; grid-row:1/3; align-self:center; min-width:62px; }
  .blackjack-table-shell.has-split-hands .blackjack-player-hand .cards-container { width:100%; margin-left:0; justify-content:center; }
  .blackjack-table-shell.has-split-hands .blackjack-card { width:46px!important; min-width:46px!important; height:64px!important; min-height:64px!important; }
  .blackjack-table-shell.has-split-hands .blackjack-card:not(:first-child) { margin-left:-24px; }
  .blackjack-container .game-controls { position:static; bottom:auto; z-index:auto; grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-auto-flow:row; grid-auto-columns:auto; gap:8px!important; padding:8px!important; }
  .blackjack-container .game-controls .btn,.blackjack-container.insurance-active .insurance-buttons .btn { width:100%!important; height:48px!important; min-height:48px!important; max-height:48px!important; padding:8px 10px!important; font-size:11px!important; }
  .blackjack-container .game-controls kbd { display:none; }
  .blackjack-container .result-display:not(:empty) { min-height:36px; padding:7px 14px; font-size:11px; }
}

/* Responsive workspace optimization — coordinated game-specific shells. */
:root {
  --game-shell-wide:1320px;
  --game-shell-pad:clamp(8px,1.6vw,20px);
}

.blackjack-container { width:min(100%,1180px)!important; max-width:1180px; padding-inline:var(--game-shell-pad); }
.rl-container { width:min(100%,1200px)!important; max-width:1200px; padding-inline:var(--game-shell-pad); }
.coinflip-casino-container { width:min(100%,1120px)!important; max-width:1120px; padding-inline:var(--game-shell-pad); }
.coinflip-casino-container .game-section { max-width:900px; margin-inline:auto; }
.coinflip-casino-container .game-room-section { width:100%; }
.crash-container { width:min(100%,1240px); max-width:1240px; padding-inline:var(--game-shell-pad); }
.pachinko-container { width:min(100%,1120px); max-width:1120px; padding-inline:var(--game-shell-pad); }
.poker-casino-container { width:min(100%,1280px); max-width:1280px; padding-inline:var(--game-shell-pad); }
.poker-lobby { max-width:900px; margin-inline:auto; }

.crash-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,320px);
  grid-template-areas:"chart controls" "history feed";
  align-items:start;
  gap:18px;
}
.crash-canvas-wrap { grid-area:chart; min-width:0; margin:0; }
.crash-history { grid-area:history; min-width:0; }
.crash-bet-section { grid-area:controls; }
.crash-feed-section { grid-area:feed; }

.pachinko-layout {
  grid-template-columns:minmax(0,760px) minmax(280px,320px)!important;
  justify-content:center;
}
.pach-results:empty { display:none; }
.pachinko-canvas-wrap canvas,.crash-canvas-wrap canvas { max-width:100%; }

@media (max-width:1020px) and (min-width:761px) {
  .blackjack-container .betting-section { grid-template-columns:minmax(150px,.45fr) minmax(380px,1.55fr); }
  .blackjack-deal-btn { grid-column:1/-1; }
}

@media (max-width:768px) {
  .blackjack-container,.rl-container,.coinflip-casino-container,.crash-container,.pachinko-container,.poker-casino-container { padding-inline:8px; }

  .rl-bet-panel { order:1; }
  .rl-info-panel { order:2; }
  .rl-clear-btn,.rl-adj-btn,.blackjack-stake-action { min-height:44px; }

  .crash-layout {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"controls" "chart" "history" "feed";
    gap:12px;
  }
  .crash-bet-section,.crash-feed-section { padding:12px; }

  .pachinko-layout { grid-template-columns:minmax(0,1fr)!important; grid-template-areas:"controls" "board" "results"; gap:12px!important; }
  .pachinko-controls { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:10px; }
  .pach-group { min-width:0; padding:4px 2px 12px; border:0!important; border-bottom:1px solid rgba(255,255,255,.08)!important; border-radius:0!important; background:transparent!important; }
  .pach-group:last-of-type { border-bottom:0!important; padding-bottom:4px; }
  .pach-group label { margin-bottom:8px; }
  .pach-quick { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:8px; }
  .pach-risk-btns,.pach-ball-btns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .pach-quick .pqb,.pach-risk-btns .prb,.pach-ball-btns .pbb { width:100%; min-width:0; padding:8px 4px; }
  .pach-quick .pqb.active,.pach-risk-btns .prb.active,.pach-ball-btns .pbb.active { transform:none; }
  .pach-drop-btn { margin-top:2px; }
  .pachinko-canvas-wrap { width:100%; }
  .pachinko-canvas-wrap canvas { width:100%; height:auto; }
  .pach-results { max-height:none; overflow:visible; }

  .coinflip-casino-container .room-selection-header,.poker-lobby .lobby-header { gap:10px; }
}

@media (max-width:360px) {
  .blackjack-table-header { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  .blackjack-rules { max-width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); text-align:left; white-space:normal; }
  .blackjack-rules span { min-width:0; overflow-wrap:anywhere; }
  .blackjack-container .cards-container.is-crowded { width:100%!important; max-width:100%!important; margin-left:0!important; padding-left:0; align-self:stretch; overflow:clip; }
  .blackjack-container .cards-container.is-crowded .blackjack-card:not(:first-child) { margin-left:-34px!important; }
}

@media (prefers-reduced-motion:reduce) {
  .blackjack-card.is-dealing,.blackjack-card.is-revealing .blackjack-card-inner,.blackjack-container .result-display:not(:empty),.blackjack-container .insurance-section:not(.hidden),.blackjack-container .insurance-section.is-resolving::after,.blackjack-player-hand.is-active,.blackjack-player-hand.is-hand-complete,.blackjack-player-hand.is-splitting,.blackjack-card.is-split-left,.blackjack-card.is-split-right,.blackjack-player-hand.is-settlement-reveal,.blackjack-table-shell.is-dealer-turn .dealer-section,.blackjack-table-shell.is-resetting .dealer-section,.blackjack-table-shell.is-resetting .player-section,.blackjack-table-shell.is-resetting .result-display,.blackjack-container.is-wagering .betting-section:not(.is-locked),.blackjack-container .game-controls .btn.is-action-accepted,#creditsAmount.blackjack-credit-settled,.rl-chip-winner,.result-message,.crash-cashout-btn,.pach-result-item,.winner-announcement { animation:none!important; }
  .blackjack-card-inner,.blackjack-container .blackjack-card,.blackjack-player-hand,.blackjack-player-hand::before,.blackjack-container .dealer-section,.coinflip-casino-container .coin,.room-item,.poker-table-card,.rl-color-btn,.rl-quick-btn,.crash-quick-bets .cqb,.pach-quick .pqb,.pach-risk-btns .prb,.pach-ball-btns .pbb,.poker-action-btns .pa-btn,.cs2-betting-container .odds-card { transition-duration:.01ms!important; }
  .rl-color-btn:hover,.rl-color-btn.rl-btn-active,.crash-quick-bets .cqb:hover,.pach-quick .pqb:hover,.pach-risk-btns .prb:hover,.pach-ball-btns .pbb:hover,.poker-action-btns .pa-btn:hover,.cs2-betting-container .odds-card:hover { transform:none!important; }
  .rl-belt-track.rl-belt-pre-spinning { animation:none!important; }
}

@media (orientation:landscape) and (max-width:900px) and (max-height:480px) {
  .blackjack-container .blackjack-stake-action { min-height:var(--casino-mobile-control-min,44px)!important; padding:7px 8px; }
}
