:root{--bg:#07101a;--panel:#0d1926;--panel2:#122235;--line:rgba(142,174,207,.16);--gold:#56a4ff;--mint:#55b7ff;--red:#ed5661;--text:#f5f8fc;--muted:#8ea3b8;--shadow:0 24px 70px rgba(0,0,0,.44)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}body{min-height:100vh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);overflow-x:hidden}button{font:inherit;color:inherit}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.17;pointer-events:none}.ambient-a{width:360px;height:360px;background:#16b766;top:-180px;right:-100px}.ambient-b{width:300px;height:300px;background:#e6aa2f;bottom:-180px;left:-140px}.app-shell{position:relative;width:min(1040px,100%);min-height:100vh;margin:auto;padding:18px 18px 120px}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px 0 28px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;font-weight:900;letter-spacing:.14em;cursor:pointer;justify-self:start}.brand-glyph{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--gold),#be7416);color:#181006;font-family:Georgia,serif;font-size:1.5rem;box-shadow:0 8px 20px rgba(247,191,72,.2)}.demo-pill{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(87,230,155,.28);border-radius:999px;color:var(--mint);background:rgba(87,230,155,.07);font-size:.72rem;font-weight:800;letter-spacing:.08em}.pulse{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(87,230,155,.4);animation:pulse 1.8s infinite}.balance{justify-self:end;text-align:right;border:1px solid var(--line);background:rgba(255,255,255,.035);padding:9px 12px;border-radius:13px;cursor:pointer}.balance span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.balance strong{font-size:1rem}.view{display:none;animation:rise .35s ease}.view.active{display:block}.lobby-head,.game-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 4px;color:var(--gold);text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.13em}h1{margin:0;font-size:clamp(1.7rem,5vw,2.7rem);letter-spacing:-.045em}.safe-note{margin:0;color:var(--muted);font-size:.82rem}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.game-card{position:relative;min-height:190px;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.015)),var(--panel);overflow:hidden;text-align:left;cursor:pointer;transition:.22s transform,.22s border-color,.22s box-shadow}.game-card:hover{transform:translateY(-4px);border-color:rgba(247,191,72,.5);box-shadow:var(--shadow)}.game-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-32px;top:-30px;background:var(--accent);filter:blur(25px);opacity:.22}.game-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:rgba(0,0,0,.22);font-size:1.9rem;margin-bottom:28px}.game-card h2{font-size:1.14rem;margin:0 0 5px}.game-card p{font-size:.78rem;margin:0;color:var(--muted)}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--panel);cursor:pointer;font-size:1.25rem}.game-head{align-items:center}.game-head>div:nth-child(2){flex:1}.history{color:var(--muted);font-size:.78rem;max-width:40%;text-align:right}.game-stage{position:relative;min-height:430px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(circle at 50% 30%,rgba(34,122,77,.28),transparent 45%),linear-gradient(160deg,#0b2418,#071710);overflow:hidden;display:grid;place-items:center;padding:24px;box-shadow:inset 0 1px rgba(255,255,255,.05)}.bet-dock{position:fixed;z-index:5;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(820px,calc(100% - 28px));display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;background:rgba(5,18,12,.9);border:1px solid var(--line);border-radius:20px;backdrop-filter:blur(18px);box-shadow:var(--shadow)}.bet-control{display:grid;grid-template-columns:1fr 38px auto 38px;align-items:center;gap:8px;padding:4px 8px}.bet-control>span{color:var(--muted);font-size:.78rem}.bet-control button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.06);cursor:pointer}.play-button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--gold),#d88917);color:#1c1204;font-weight:900;letter-spacing:.08em;cursor:pointer}.play-button:disabled{opacity:.5}.toast{position:fixed;z-index:10;left:50%;top:84px;transform:translate(-50%,-18px);padding:10px 16px;border-radius:12px;background:#172d22;border:1px solid var(--line);opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
.aviator{width:100%;height:320px;position:relative;border-bottom:1px solid var(--line)}.plane{position:absolute;left:10%;bottom:16%;font-size:2.6rem;transform:rotate(-12deg);transition:1s ease}.plane.fly{left:72%;bottom:70%;transform:rotate(-24deg) scale(1.2)}.multiplier{font-size:clamp(3rem,14vw,6rem);font-weight:950;color:var(--gold);letter-spacing:-.08em}.roulette-wheel{width:245px;height:245px;border-radius:50%;border:12px solid #c99836;background:conic-gradient(#c5333e 0 10deg,#121715 10deg 20deg,#c5333e 20deg 30deg,#121715 30deg 40deg,#138555 40deg 50deg,#121715 50deg 60deg,#c5333e 60deg 70deg,#121715 70deg 80deg,#c5333e 80deg 90deg,#121715 90deg 100deg,#c5333e 100deg 110deg,#121715 110deg 120deg,#c5333e 120deg 130deg,#121715 130deg 140deg,#c5333e 140deg 150deg,#121715 150deg 160deg,#c5333e 160deg 170deg,#121715 170deg 180deg,#c5333e 180deg 190deg,#121715 190deg 200deg,#c5333e 200deg 210deg,#121715 210deg 220deg,#c5333e 220deg 230deg,#121715 230deg 240deg,#c5333e 240deg 250deg,#121715 250deg 260deg,#c5333e 260deg 270deg,#121715 270deg 280deg,#c5333e 280deg 290deg,#121715 290deg 300deg,#c5333e 300deg 310deg,#121715 310deg 320deg,#c5333e 320deg 330deg,#121715 330deg 340deg,#c5333e 340deg 350deg,#121715 350deg);box-shadow:0 25px 45px rgba(0,0,0,.45);transition:2.4s cubic-bezier(.14,.72,.16,1);display:grid;place-items:center}.roulette-wheel::after{content:"J";display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:#072117;border:6px solid var(--gold);font:900 2rem Georgia;color:var(--gold)}.roulette-wheel.spin{transform:rotate(1100deg)}.result-badge{position:absolute;bottom:24px;padding:9px 14px;border-radius:12px;background:rgba(0,0,0,.35);font-weight:800}.cards{display:flex;gap:12px;justify-content:center;margin:10px}.card{width:86px;height:126px;background:#f7f5ed;color:#121212;border-radius:12px;padding:10px;font:800 1.5rem Georgia;box-shadow:0 14px 28px rgba(0,0,0,.3)}.card.red{color:#c9303b}.blackjack-board{text-align:center}.hand-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.dice-face,.coin{display:grid;place-items:center;width:180px;height:180px;font-size:5rem;background:linear-gradient(145deg,#f7f7ef,#cfcfc7);color:#101510;border-radius:34px;box-shadow:0 25px 45px rgba(0,0,0,.4);transition:.6s}.dice-face.roll{transform:rotate(540deg) scale(.86)}.coin{border-radius:50%;background:linear-gradient(145deg,var(--gold),#a96d10);font:900 4rem Georgia;color:#201400;transform-style:preserve-3d}.coin.flip{transform:rotateY(1080deg)}.plinko{width:min(420px,100%);height:340px;position:relative}.peg{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.65)}.ball{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--gold);left:50%;top:8px;box-shadow:0 0 18px var(--gold);transition:1.5s cubic-bezier(.4,.1,.65,1)}.slots{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.slot{padding:10px 2px;text-align:center;background:rgba(255,255,255,.06);border-radius:6px 6px 12px 12px;font-size:.7rem;color:var(--gold)}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(87,230,155,0)}}@keyframes rise{from{opacity:0;transform:translateY(8px)}}
@media(max-width:720px){.app-shell{padding:12px 12px 118px}.topbar{grid-template-columns:1fr auto}.demo-pill{display:none}.game-grid{grid-template-columns:repeat(2,1fr)}.game-card{min-height:160px}.game-icon{margin-bottom:18px}.safe-note{display:none}.game-stage{min-height:390px}.bet-dock{grid-template-columns:1.15fr .85fr}.balance strong{font-size:.9rem}}
@media(max-width:380px){.game-grid{grid-template-columns:1fr}.topbar{gap:6px}.brand{font-size:.86rem}.balance{padding:8px}.bet-control{grid-template-columns:38px auto 38px}.bet-control>span{display:none}}

/* Joker midnight-blue redesign */
body{background:radial-gradient(circle at 65% -15%,rgba(49,126,218,.2),transparent 36rem),linear-gradient(180deg,#091522,#060d15)}
.ambient{filter:blur(100px);opacity:.13}.ambient-a{background:#348fe9}.ambient-b{background:#184f91}
.brand-glyph{border-radius:10px 10px 15px 10px;background:linear-gradient(145deg,#6ab8ff,#3187ef);color:#06101a;font-family:Inter,sans-serif;font-size:1.3rem;box-shadow:0 8px 22px rgba(49,135,239,.28)}
.demo-pill{border-color:rgba(85,183,255,.25);color:#9bd2ff;background:rgba(85,183,255,.07)}
.pulse{background:#55b7ff}.balance{background:#101e2d;border-color:#263a4f;border-radius:10px}
.game-card{border-radius:16px;background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),var(--panel)}.game-card:hover{border-color:rgba(86,164,255,.55)}
.game-icon{border-radius:13px;background:#0a1520;border:1px solid rgba(255,255,255,.07)}
.game-stage{min-height:520px;border-radius:18px;background:radial-gradient(circle at 50% 28%,rgba(45,116,197,.23),transparent 44%),linear-gradient(160deg,#12243a,#09131e);box-shadow:inset 0 1px rgba(255,255,255,.05),0 24px 60px rgba(0,0,0,.25)}
.bet-dock{background:rgba(8,18,29,.93);border-radius:16px}.play-button{border-radius:11px;background:linear-gradient(135deg,#64b3ff,#2c83ee);color:#06111d;box-shadow:0 12px 26px rgba(44,131,238,.22)}
.toast{background:#182a3d}
.roulette-layout{width:100%;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(370px,1.2fr);gap:28px;align-items:center}.wheel-wrap{position:relative;display:grid;place-items:center;padding:30px}.wheel-pointer{position:absolute;z-index:3;top:17px;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:24px solid #f5b94c;filter:drop-shadow(0 3px 5px #000)}
.roulette-wheel{width:270px;height:270px;border:10px solid #293d51;background:repeating-conic-gradient(from -4.86deg,#df4855 0 4.86deg,#172430 4.86deg 9.72deg);box-shadow:0 26px 50px rgba(0,0,0,.48),0 0 0 2px #58738d,inset 0 0 0 7px #08111a}.roulette-wheel:before{content:"";position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#718ba3,#263a4e 38%,#0a131d 70%);border:7px solid #d0ad64;box-shadow:inset 0 0 0 5px #56452b}.roulette-wheel::after{position:relative;z-index:2;width:72px;height:72px;background:#0b1723;border:2px solid #66829d;font-family:Inter,sans-serif;color:#87c4ff}.roulette-wheel.spin{transform:rotate(1320deg)}
.roulette-board{min-width:0}.roulette-recent{display:flex;gap:6px;margin-bottom:14px}.recent-ball{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#1a2a39;color:#b8c8d8;font-size:.68rem;font-weight:800}.recent-ball.red{background:#b50922;color:#fff}.recent-ball.green{background:#16805c;color:#fff}.number-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.number-cell{min-height:39px;border:1px solid rgba(255,255,255,.13);border-radius:5px;background:#1b2937;color:#fff;font-size:.7rem;font-weight:800}.number-cell.red{background:#b50922}.number-cell.green{background:#16805c}.outside-bets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.outside-bet{min-height:43px;border:1px solid #2a4055;border-radius:7px;background:#122337;color:#aebfd0;font-size:.72rem;font-weight:800;cursor:pointer}.outside-bet.active{border-color:#62adff;box-shadow:inset 0 0 0 1px #62adff;color:#fff;background:rgba(54,139,238,.18)}.roulette-status{margin-top:13px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.72rem}.roulette-status strong{color:#fff;font-size:.85rem}
.aviator{overflow:hidden;border-radius:14px;background:linear-gradient(180deg,rgba(12,23,36,.15),rgba(8,14,22,.7))}.aviator:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(91,132,171,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(91,132,171,.09) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to top,#000,transparent)}.multiplier{color:#79bbff;text-shadow:0 0 32px rgba(74,156,255,.2)}
.blackjack-board{padding:26px 44px;border-radius:100px;background:radial-gradient(ellipse,#173c4e,#0d2334 72%);border:8px solid #263b4d;box-shadow:0 22px 50px rgba(0,0,0,.4)}
.dice-face{border:1px solid #405770;background:linear-gradient(145deg,#edf5fc,#b7c9d9);color:#172637}.coin{background:linear-gradient(145deg,#7ac3ff,#2c7ddd);color:#07121c;border:8px solid #a9d7ff}.slot{background:#13263a;color:#8cc7ff}.ball{background:#63b1ff;box-shadow:0 0 18px #63b1ff}.peg{background:rgba(198,224,248,.74)}
@media(max-width:760px){.roulette-layout{grid-template-columns:1fr;gap:4px}.wheel-wrap{padding:8px}.roulette-wheel{width:205px;height:205px}.wheel-pointer{top:-2px}.number-grid{grid-template-columns:repeat(12,minmax(24px,1fr));gap:3px}.number-cell{min-height:31px;font-size:.6rem}.game-stage{min-height:480px;padding:16px}.blackjack-board{padding:22px 18px;border-radius:70px}}

/* Casino chip betting and modern table games */
.game-stage.chip-game{display:flex;flex-direction:column;justify-content:center;gap:18px;padding-bottom:22px}.game-stage.chip-game+.bet-dock{grid-template-columns:1fr}.game-stage.chip-game+.bet-dock .bet-control{display:none}
.chip-rack{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;border:1px solid rgba(159,190,221,.18);border-radius:999px;background:rgba(3,10,17,.72);box-shadow:0 12px 30px rgba(0,0,0,.32);z-index:4}
.casino-chip{--chip:#4b79d8;position:relative;width:52px;height:52px;flex:0 0 52px;border:4px dashed rgba(255,255,255,.88);border-radius:50%;background:radial-gradient(circle,#f8fbff 0 27%,var(--chip) 29% 62%,#ecf5ff 64% 71%,var(--chip) 73%);color:#07111c;box-shadow:0 5px 0 color-mix(in srgb,var(--chip) 65%,#000),0 9px 18px rgba(0,0,0,.35);font-weight:950;cursor:pointer;transition:.18s transform,.18s filter}
.casino-chip:hover{transform:translateY(-4px)}.casino-chip.active{transform:translateY(-7px);filter:drop-shadow(0 0 9px #70baff)}.casino-chip span{display:grid;place-items:center;width:28px;height:28px;margin:auto;border-radius:50%;background:#edf6ff;font-size:.68rem}.chip-0-5{--chip:#11a6c7}.chip-1{--chip:#315ac4}.chip-5{--chip:#723bb5}.chip-10{--chip:#d34d55}.chip-25{--chip:#288a61}.chip-100{--chip:#252d38}
.wheel-spindle{position:absolute;z-index:5;inset:39%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#f4fbff,#718399 38%,#172431 72%);border:3px solid #b98d45;box-shadow:0 8px 15px rgba(0,0,0,.55)}
.number-cell{cursor:pointer;transition:.13s transform,.13s box-shadow}.number-cell:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px #fff}.number-cell.active{box-shadow:inset 0 0 0 3px #ffd061,0 0 14px rgba(255,208,97,.35)}
.dozen-bets{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px}.dozen-bets span{padding:7px;text-align:center;border:1px solid #2d455c;border-radius:5px;color:#98adbf;background:#102033;font-size:.66rem;font-weight:800}
.blackjack-table{position:relative;width:min(780px,100%);min-height:500px;overflow:hidden;border-radius:48% 48% 18px 18px/34% 34% 18px 18px;background:radial-gradient(ellipse at 50% 40%,#176078,#0b3a51 58%,#08283a 82%);border:9px solid #2b3d4e;box-shadow:inset 0 0 0 3px #b88845,inset 0 -32px 45px rgba(0,0,0,.3),0 24px 50px rgba(0,0,0,.44)}
.blackjack-table:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-17px;height:46px;border-radius:50%;background:linear-gradient(#c89955,#6d4825 42%,#111b24 46%);border-top:3px solid #e0b76f;box-shadow:0 -5px 15px rgba(0,0,0,.35)}
.bj-rules{position:absolute;left:50%;top:24px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#d3f0f7;text-align:center;white-space:nowrap}.bj-rules strong{font:italic 800 clamp(1.5rem,4vw,2.3rem) Georgia,serif;letter-spacing:.05em}.bj-rules span{color:#ffd15c;font-size:.74rem;font-weight:900;letter-spacing:.12em}.bj-rules small{margin-top:3px;color:#8ebcc8;font-size:.58rem;text-transform:uppercase;letter-spacing:.09em}
.shoe{position:absolute;right:35px;top:32px;width:62px;height:82px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#627281,#17232e);border:2px solid #9ba8b2;color:#e54e5c;font-size:2rem;transform:rotate(8deg);box-shadow:0 10px 20px rgba(0,0,0,.3)}.shoe span{position:absolute;bottom:-18px;color:#8ca9b9;font-size:.55rem;text-transform:uppercase}
.dealer-zone,.player-zone{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.dealer-zone{top:94px}.player-zone{bottom:92px}.blackjack-table .cards{margin:5px;min-height:92px;align-items:center}.blackjack-table .card{width:65px;height:92px;padding:7px;font-size:1.15rem;border-radius:8px;animation:dealCard .24s ease-out}.blackjack-table .card-back{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#2675bb 0 5px,#e8f5ff 5px 7px);border:5px solid #fff;color:#07111c}.blackjack-table .hand-label{margin:0;color:#a6c7d2;font-size:.68rem}.blackjack-table .hand-label b{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;border-radius:50%;background:#061b28;color:#fff;font-size:.72rem}.empty-hand{display:grid;place-items:center;min-width:150px;min-height:76px;border:1px dashed rgba(181,219,230,.28);border-radius:10px;color:#83a8b5;font-size:.72rem}
.betting-circle{position:absolute;z-index:2;left:9%;bottom:24px;width:86px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(205,235,244,.5);border-radius:50%;color:#a8c9d4;box-shadow:inset 0 0 18px rgba(255,255,255,.08)}.betting-circle.has-wager{border-color:#ffd260;box-shadow:inset 0 0 18px rgba(255,210,96,.14),0 0 20px rgba(255,210,96,.12)}.betting-circle span{font-size:.55rem;letter-spacing:.12em}.betting-circle strong{font-size:.72rem;color:#fff;margin-top:3px}.betting-circle i{margin-top:3px;color:#ffd260;font-size:.48rem;font-style:normal;font-weight:900;letter-spacing:.1em}
.bj-actions{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:min(560px,72%)}.bj-actions button{min-width:88px;min-height:42px;border:1px solid #5ba4e8;border-radius:10px;background:linear-gradient(180deg,#1f72b9,#154a7a);color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.28)}.bj-actions button:nth-child(2){border-color:#d5b25d;background:linear-gradient(180deg,#a17a2e,#664817)}.bj-actions button:disabled{opacity:.35;cursor:not-allowed}.bj-prompt{color:#b8cede;font-size:.78rem;text-align:center;min-height:20px}.split-hand{padding:5px;border:1px solid transparent;border-radius:10px}.split-hand.active{border-color:#ffd260;background:rgba(255,210,96,.08)}.split-hand>span{display:block;margin-bottom:4px;color:#b9d3dc;font-size:.58rem;font-weight:900}.split-hand>div{display:flex;gap:5px}.blackjack-table .split-hand .card{width:55px;height:80px;font-size:1rem}
@keyframes dealCard{from{opacity:0;transform:translate(45px,-45px) rotate(8deg)}to{opacity:1;transform:none}}
@media(max-width:760px){.chip-rack{gap:5px;padding:7px 9px;max-width:100%;overflow-x:auto;justify-content:flex-start}.casino-chip{width:44px;height:44px;flex-basis:44px;border-width:3px}.casino-chip span{width:24px;height:24px;font-size:.58rem}.blackjack-table{min-height:500px;border-width:6px;border-radius:42% 42% 15px 15px/25% 25% 15px 15px}.bj-rules{top:18px}.bj-rules small{display:none}.shoe{right:16px;top:48px;transform:scale(.78) rotate(8deg)}.dealer-zone{top:84px}.player-zone{bottom:142px}.betting-circle{left:3%;bottom:28px;width:58px;height:58px}.betting-circle strong{font-size:.55rem}.bj-actions{bottom:20px;left:auto;right:5px;transform:none;gap:4px;width:calc(100% - 72px);justify-content:flex-end}.bj-actions button{min-width:66px;min-height:38px;padding:0 5px;font-size:.55rem}.game-stage.chip-game{padding:12px 10px 18px}.roulette-board{width:100%}}

/* Full roulette: wheel, multi-bet felt and placed chips */
.game-stage.roulette-game{min-height:650px;display:flex;flex-direction:column;gap:14px;padding:18px;background:radial-gradient(circle at 25% 20%,rgba(55,119,190,.25),transparent 34%),linear-gradient(160deg,#101d2d,#080f19)}
.roulette-machine{width:100%;display:grid;grid-template-columns:minmax(285px,.75fr) minmax(470px,1.25fr);gap:22px;align-items:center}
.wheel-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.wheel-zone .wheel-pointer{top:2px}.numbered-wheel{position:relative;width:340px;height:340px;transition:transform 3.2s cubic-bezier(.12,.68,.13,1);background:var(--wheel-gradient);border-width:12px;box-shadow:0 26px 55px rgba(0,0,0,.52),0 0 0 2px #7390aa,inset 0 0 0 5px #08111a}
.numbered-wheel:before{inset:23%;border-color:#d3aa61;background:radial-gradient(circle at 38% 32%,#7d91a7,#2b4053 40%,#08121c 72%)}.numbered-wheel:after{display:none}.wheel-labels{position:absolute;inset:0;z-index:4;border-radius:50%}.wheel-number{position:absolute;left:calc(50% - 11px);top:calc(50% - 11px);width:22px;height:22px;display:grid;place-items:center;color:#fff;font-size:.62rem;font-weight:950;line-height:1;transform:rotate(var(--angle)) translateY(-142px) rotate(calc(-1 * var(--angle)));transform-origin:11px 11px;text-shadow:0 1px 2px #000,0 0 3px #000}.wheel-number.green{color:#fff;font-size:.72rem;text-shadow:0 1px 2px #003b26,0 0 4px #003b26}.wheel-bowl{position:absolute;z-index:3;inset:31%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#617991,#1b2a38 44%,#080f17 76%);border:3px solid #7e6337;box-shadow:inset 0 0 18px #000}.numbered-wheel .wheel-spindle{inset:42%;z-index:6}.roulette-ball{position:absolute;z-index:7;left:50%;top:8%;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;transform-origin:0 142px}.roulette-ball.rolling{animation:ballOrbit .42s linear infinite}
.wheel-zone .roulette-recent{margin-top:18px;max-width:100%;overflow:hidden}.roulette-table{min-width:0;padding:14px;border:1px solid rgba(137,176,213,.2);border-radius:14px;background:linear-gradient(145deg,#102235,#0b1725);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.inside-grid{display:grid;grid-template-columns:44px minmax(0,1fr) 45px;gap:5px}.roulette-number-grid{display:flex;flex-direction:column;gap:5px}.roulette-number-row{display:grid;grid-template-columns:repeat(12,minmax(28px,1fr));gap:5px}.column-bets{display:grid;grid-template-rows:repeat(3,1fr);gap:5px}
.roulette-table .number-cell{position:relative;min-height:43px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#1b2937;color:#fff;font-size:.72rem;font-weight:850;cursor:pointer;overflow:visible}.roulette-table .number-cell.red{background:linear-gradient(145deg,#d3132a,#990d1d);border-color:#e93a4c}.roulette-table .number-cell.black{background:linear-gradient(145deg,#293846,#151e27)}.roulette-table .number-cell.green{background:linear-gradient(145deg,#20a777,#117150)}.roulette-table .number-cell.outside{background:#14253a;color:#bacada}.roulette-table .zero-cell{height:100%;background:linear-gradient(145deg,#20b67e,#08734d);border-color:#65e5b5;font-size:1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.roulette-table .number-cell:hover{z-index:2;transform:translateY(-1px);box-shadow:inset 0 0 0 2px #fff}.roulette-table .number-cell.has-chip{z-index:3;box-shadow:inset 0 0 0 2px #ffd46b}
.placed-chip{position:absolute;z-index:5;left:50%;top:50%;display:none;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:50%;background:radial-gradient(circle,#f7fbff 0 35%,#3e86dc 37% 62%,#fff 64% 72%,#2866b3 74%);border:2px dashed #fff;color:#06111b;font-style:normal;font-size:.52rem;font-weight:950;transform:translate(-50%,-50%);box-shadow:0 4px 10px rgba(0,0,0,.45)}.has-chip .placed-chip{display:grid}
.roulette-table .dozen-bets{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:6px 50px 0 49px}.roulette-table .even-bets{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:6px}.roulette-table .even-bets .number-cell,.roulette-table .dozen-bets .number-cell{min-height:39px}.red-diamond span,.black-diamond span{font-size:1.25rem;transform:scaleX(1.25)}.red-diamond span{color:#df102b}.black-diamond span{color:#5d6a79}
.roulette-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;padding:9px 11px;border:1px solid #273c52;border-radius:8px;background:#0a1420;color:#8298ae;font-size:.65rem}.roulette-summary span:nth-child(2){text-align:center}.roulette-summary span:last-child{text-align:right}.roulette-summary strong{color:#f5f8fc;margin-left:3px}.roulette-summary span:last-child strong{color:#64d6aa}.roulette-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.roulette-actions button{min-width:90px;min-height:34px;border:1px solid #2a4057;border-radius:8px;background:#0c1826;color:#a8bbce;font-size:.67rem;font-weight:850;text-transform:uppercase;cursor:pointer}.roulette-actions button:hover{border-color:#6aafff;color:#fff}
@keyframes ballOrbit{to{transform:rotate(-360deg)}}
@media(max-width:900px){.game-stage.roulette-game{min-height:730px}.roulette-machine{grid-template-columns:1fr;gap:8px}.numbered-wheel{width:255px;height:255px}.wheel-number{left:calc(50% - 9px);top:calc(50% - 9px);width:18px;height:18px;font-size:.48rem;transform:rotate(var(--angle)) translateY(-105px) rotate(calc(-1 * var(--angle)));transform-origin:9px 9px}.roulette-ball{transform-origin:0 105px}.wheel-zone .roulette-recent{margin-top:9px}.roulette-table{width:100%}}
@media(max-width:560px){.game-stage.roulette-game{min-height:700px;padding:10px 6px}.roulette-table{padding:8px 5px}.inside-grid{grid-template-columns:30px minmax(0,1fr) 31px;gap:3px}.roulette-number-row,.column-bets{gap:3px}.roulette-number-row{grid-template-columns:repeat(12,minmax(20px,1fr))}.roulette-table .number-cell{min-height:32px;font-size:.54rem;border-radius:4px}.roulette-table .zero-cell{font-size:.8rem}.roulette-table .dozen-bets{margin:4px 34px 0 33px;gap:3px}.roulette-table .even-bets{gap:3px;margin-top:4px}.roulette-table .even-bets .number-cell,.roulette-table .dozen-bets .number-cell{min-height:30px}.placed-chip{min-width:22px;height:22px;font-size:.43rem}.roulette-summary{font-size:.54rem;padding:7px 6px}.roulette-actions button{min-width:78px}.numbered-wheel{width:225px;height:225px}.wheel-number{transform:rotate(var(--angle)) translateY(-91px) rotate(calc(-1 * var(--angle)))}.roulette-ball{transform-origin:0 91px}.game-stage.roulette-game .chip-rack{max-width:calc(100vw - 48px)}}
