*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:radial-gradient(circle at top,#1b2a4a,#0a0f1e 70%);color:#f3f3f3;min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 24px;background:rgba(0,0,0,.45);border-bottom:2px solid #d4af37;position:sticky;top:0;z-index:10}
.logo{font-size:1.5rem;font-weight:bold;color:#d4af37}
nav{display:flex;gap:6px;flex-wrap:wrap}
.nav-btn{background:transparent;border:1px solid transparent;color:#ddd;padding:8px 14px;border-radius:20px;cursor:pointer;font-size:1rem}
.nav-btn:hover,.nav-btn.active{border-color:#d4af37;color:#d4af37}
.wallet{display:flex;align-items:center;gap:8px;background:#111a2e;padding:6px 14px;border-radius:24px;border:1px solid #d4af37}
.wallet strong{color:#ffd700;font-size:1.2rem}
main{flex:1;padding:28px 20px;max-width:1100px;width:100%;margin:0 auto}
.view{display:none;animation:fade .3s}
.view.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
h2{color:#d4af37;margin-bottom:20px;text-align:center;font-size:2rem}
.hero{text-align:center;padding:40px 20px;background:linear-gradient(135deg,rgba(212,175,55,.15),rgba(128,0,32,.2));border-radius:18px;margin-bottom:30px;border:1px solid rgba(212,175,55,.4)}
.hero h1{font-size:2.4rem;color:#ffd700;margin-bottom:12px}
.hero p{font-size:1.1rem;color:#ccc}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px}
.game-card{background:#131d33;border-radius:16px;padding:26px;text-align:center;border:1px solid #2a3a5e;cursor:pointer;transition:.25s}
.game-card:hover{transform:translateY(-6px);border-color:#d4af37;box-shadow:0 10px 30px rgba(212,175,55,.25)}
.game-card .icon{font-size:3.5rem;margin-bottom:10px}
.game-card h3{color:#ffd700;margin-bottom:8px}
.game-card p{color:#aaa;margin-bottom:16px;min-height:40px}
.stats{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.stats div{background:#131d33;padding:14px 24px;border-radius:12px;text-align:center;min-width:160px}
.stats span{display:block;color:#999;font-size:.9rem}
.stats strong{font-size:1.4rem;color:#ffd700}
#resetBtn{display:block;margin:0 auto}
.btn{background:#2a3a5e;color:#fff;border:none;padding:10px 20px;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:bold;transition:.2s}
.btn:hover:not(:disabled){filter:brightness(1.2)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.gold{background:linear-gradient(135deg,#ffd700,#b8860b);color:#1a1a1a}
.btn.big{padding:14px 40px;font-size:1.2rem}
.btn.small{padding:5px 10px;font-size:.8rem}
.btn.outline{background:transparent;border:1px solid #888;color:#aaa}
select,input{background:#0d1528;color:#fff;border:1px solid #d4af37;border-radius:8px;padding:8px;font-size:1rem;margin-inline-start:6px}
.msg{text-align:center;margin:14px 0;font-size:1.15rem;min-height:1.5em}
.msg.win{color:#4cff7a;font-weight:bold}
.msg.lose{color:#ff5c5c}
.controls{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:16px}
/* slots */
.slot-machine{max-width:560px;margin:0 auto;background:linear-gradient(#5a0d1c,#2b0610);border:4px solid #d4af37;border-radius:24px;padding:28px}
.reels{display:flex;justify-content:center;gap:14px}
.reel{width:120px;height:130px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:4rem;box-shadow:inset 0 0 18px rgba(0,0,0,.5)}
.reel.spinning{animation:blur .1s infinite}
@keyframes blur{0%{transform:translateY(-4px)}50%{transform:translateY(4px)}100%{transform:translateY(-4px)}}
.paytable{width:100%;margin-top:18px;border-collapse:collapse;font-size:.95rem}
.paytable th,.paytable td{padding:6px;border-bottom:1px solid rgba(212,175,55,.3);text-align:center}
.paytable th{color:#ffd700}
/* roulette */
.roulette-wrap{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;align-items:flex-start}
.wheel-area{position:relative;text-align:center}
.pointer{color:#ffd700;font-size:2rem;line-height:1;margin-bottom:-6px;position:relative;z-index:2}
#wheel{border-radius:50%;border:6px solid #d4af37;box-shadow:0 0 30px rgba(212,175,55,.4)}
.result-ball{margin:14px auto 0;width:70px;height:70px;border-radius:50%;background:#222;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:bold;border:3px solid #d4af37}
.bet-panel{background:#131d33;padding:22px;border-radius:16px;max-width:380px;width:100%;display:flex;flex-direction:column;gap:12px}
.bet-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bet-opt{padding:10px;border-radius:8px;border:2px solid transparent;background:#2a3a5e;color:#fff;cursor:pointer;font-weight:bold}
.bet-opt.red{background:#b3001b}.bet-opt.black{background:#111}.bet-opt.green{background:#0a7d34}
.bet-opt.selected{border-color:#ffd700;box-shadow:0 0 10px #ffd700}
/* blackjack */
.table{background:radial-gradient(#0f6b3a,#063d20);border:8px solid #5a3a1a;border-radius:120px/60px;padding:30px 40px;max-width:800px;margin:0 auto}
.hand-area{margin-bottom:18px;text-align:center}
.hand-area h4{margin-bottom:8px;color:#ffd700}
.hand{display:flex;justify-content:center;gap:8px;min-height:110px;flex-wrap:wrap}
.card{width:72px;height:104px;background:#fff;color:#111;border-radius:8px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;font-weight:bold;font-size:1.2rem;box-shadow:0 4px 10px rgba(0,0,0,.4);animation:deal .3s}
.card.red{color:#c00}
.card .mid{text-align:center;font-size:2rem}
.card .bot{align-self:flex-end;transform:rotate(180deg)}
.card.back{background:repeating-linear-gradient(45deg,#8b0000,#8b0000 6px,#b22222 6px,#b22222 12px);border:3px solid #fff}
@keyframes deal{from{transform:translateY(-30px) scale(.8);opacity:0}}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:#ffd700;color:#111;padding:12px 24px;border-radius:30px;font-weight:bold;transition:.3s;z-index:99}
.toast.show{transform:translateX(-50%) translateY(0)}
footer{text-align:center;padding:16px;color:#777;font-size:.85rem;border-top:1px solid #222}
@media(max-width:600px){.reel{width:80px;height:90px;font-size:2.6rem}.table{border-radius:30px;padding:20px}.hero h1{font-size:1.7rem}}
/* video slots */
.vs-game{max-width:720px;margin:0 auto;background:linear-gradient(#24124a,#0d0820);border:4px solid #d4af37;border-radius:24px;padding:20px}
.vs-game{background:linear-gradient(rgba(10,6,25,.35),rgba(10,6,25,.75)),var(--vs-bg,none) center/cover,#140b2a;position:relative}
.vs-game[data-key=sweet]{border-color:#ff7ac8}
.vs-game[data-key=zeus]{border-color:#7fb4ff}
.vs-game[data-key=pharaoh]{border-color:#e6b450}
.vs-game[data-key=bass]{border-color:#3fd0c9}
.vs-game.free{box-shadow:0 0 0 3px #ffd700,0 0 40px rgba(255,215,0,.6)}
.vs-head h3{display:flex;align-items:center;justify-content:center;gap:10px}
.vs-head h3 img{width:48px;height:48px;border-radius:10px;object-fit:cover;box-shadow:0 0 0 2px #ffd700}
.vs-lobby{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.vs-card{background:#131d33;border-radius:18px;overflow:hidden;border:2px solid #2a3a5e;cursor:pointer;transition:.25s;display:flex;flex-direction:column}
.vs-card:hover{transform:translateY(-6px);border-color:#ffd700;box-shadow:0 12px 34px rgba(255,215,0,.3)}
.vs-cover{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.vs-card-body{padding:14px;text-align:center;display:flex;flex-direction:column;gap:6px;flex:1}
.vs-card-body h3{color:#ffd700;font-size:1.3rem}
.vs-card-body small{color:#9fb3d9;letter-spacing:1px;text-transform:uppercase}
.vs-card-body p{color:#bbb;font-size:.9rem;flex:1}
.vs-sym{width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45));pointer-events:none}
.vs-ic{width:30px;height:30px;object-fit:contain;vertical-align:middle}
.vs-cell{position:relative}
.vs-fish{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#ffd700;font-size:clamp(.55rem,2.4vw,.8rem);padding:1px 6px;border-radius:8px;white-space:nowrap}
.vs-mult{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.vs-mult .vs-sym{position:absolute;inset:4%}
.vs-mult b{position:relative;font-size:clamp(.8rem,3.6vw,1.3rem)!important;color:#fff!important;text-shadow:0 0 4px #000,0 0 8px #ff2d87}
.vs-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.vs-head h3{color:#ffd700;font-size:1.5rem;flex:1;text-align:center}
.vs-status{text-align:center;color:#ffd700;font-weight:bold;min-height:1.4em;margin-bottom:8px}
.vs-grid{direction:ltr;display:grid;grid-template-columns:repeat(var(--cols,6),1fr);gap:6px;background:rgba(0,0,0,.35);padding:10px;border-radius:14px}
.vs-cell{aspect-ratio:1;background:rgba(255,255,255,.14);backdrop-filter:blur(2px);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:clamp(1.4rem,6vw,2.6rem);transition:transform .2s,box-shadow .2s;overflow:hidden}
.vs-game[data-kind=lines] .vs-cell{font-size:clamp(1.8rem,8vw,3.2rem)}
.vs-grid.spinning .vs-cell{filter:blur(1.5px)}
.vs-cell.hit{background:rgba(255,215,0,.35);box-shadow:0 0 0 3px #ffd700,0 0 16px #ffd700;transform:scale(1.06)}
.vs-cell.mult{background:rgba(255,79,216,.35);box-shadow:0 0 0 3px #ff4fd8,0 0 18px #ff4fd8;transform:scale(1.1)}
.vs-cell.expand{background:rgba(255,152,0,.4);box-shadow:0 0 0 3px #ff9800}
.vs-mult{display:flex;flex-direction:column;align-items:center;line-height:1}
.vs-mult b{font-size:.45em;color:#b0006d}
.vs-info{margin-top:10px;background:rgba(0,0,0,.3);border-radius:12px;padding:10px}
.vs-info summary{cursor:pointer;color:#ffd700;font-weight:bold}
.vs-rules{margin:12px 20px 0;color:#ccc;line-height:1.7}
@media(max-width:600px){.vs-game{padding:10px;border-width:3px}.vs-grid{gap:4px;padding:6px}.vs-cell{border-radius:7px}}
.hidden{display:none!important}
.uname{color:#fff;font-weight:bold;margin-inline-end:6px}
.auth-screen{position:fixed;inset:0;z-index:50;background:radial-gradient(circle at top,#1b2a4a,#0a0f1e 70%);display:flex;align-items:center;justify-content:center;padding:20px}
.auth-box{background:#131d33;border:2px solid #d4af37;border-radius:20px;padding:30px;width:100%;max-width:380px;text-align:center;display:flex;flex-direction:column;gap:14px}
.logo.big{font-size:2rem;margin-bottom:6px}
.tabs{display:flex;gap:6px}
.tab{flex:1;padding:10px;border:1px solid #2a3a5e;background:transparent;color:#ccc;border-radius:10px;cursor:pointer;font-size:1rem}
.tab.active{border-color:#d4af37;color:#ffd700;background:rgba(212,175,55,.1)}
#authForm{display:flex;flex-direction:column;gap:10px}
#authForm input{margin:0;padding:12px}
.hint{color:#aaa;font-size:.9rem}
.history{background:#131d33;border-radius:16px;padding:20px;margin-top:10px;overflow-x:auto}
.history h3{color:#ffd700;margin-bottom:10px}
.pos{color:#4cff7a}.neg{color:#ff5c5c}
/* ===== social platform ===== */
body.app{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
body.app .topbar{padding:10px 16px}
body.app .logo{font-size:1.25rem}
body.app main{padding:16px 12px}
.wallet{cursor:pointer}
.center{text-align:center}
.gold-t{color:#ffd700}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:rgba(8,12,26,.97);border-top:1px solid #d4af37;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav .nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border:0;border-radius:0;font-size:.78rem;position:relative;color:#aaa}
.bottom-nav .nav-btn i{font-style:normal;font-size:1.35rem}
.bottom-nav .nav-btn.active{color:#ffd700;border:0;background:rgba(212,175,55,.08)}
.badge-n{background:#e0245e;color:#fff;border-radius:10px;padding:1px 7px;font-size:.72rem;font-weight:bold}
.bottom-nav .badge-n{position:absolute;top:4px;left:calc(50% - 22px)}
.back-games{margin-bottom:6px}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.page-head h2{margin:0}
.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:50%;background:#2a3a5e;font-size:1.5rem;border:2px solid #3a4d78;overflow:visible}
.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.avatar.m{border-color:#3b82f6}.avatar.f{border-color:#ec4899}
.avatar.sup{background:#0a7d34;border-color:#4cff7a}
.avatar.empty{background:rgba(255,255,255,.06);border:2px dashed #555;font-size:1.2rem}
.avatar.lg{width:72px;height:72px;font-size:2.4rem}
.avatar.xl{width:96px;height:96px;font-size:3.2rem}
.avatar .dot{position:absolute;bottom:1px;left:1px;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid #0a0f1e}
.lv{display:inline-block;font-size:.72rem;font-weight:bold;padding:1px 7px;border-radius:10px;margin:0 3px;background:#374151;color:#ddd;vertical-align:middle}
.lv.t1{background:#1e6f5c;color:#fff}.lv.t2{background:#2563eb;color:#fff}.lv.t3{background:#9333ea;color:#fff}.lv.t4{background:linear-gradient(90deg,#ffd700,#ff8c00);color:#111}
.lv.c.t1,.lv.c.t2,.lv.c.t3{background:#be185d}
.chip{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:10px;background:rgba(255,255,255,.08);margin:0 2px;color:#ccc}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:6px 0}
/* rooms list */
.room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.room-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1a2544,#131d33);border:1px solid #2a3a5e;border-radius:14px;padding:12px;cursor:pointer}
.room-card:hover{border-color:#d4af37}
.r-icon{font-size:2rem;width:56px;height:56px;min-width:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(212,175,55,.15)}
.r-body{flex:1;display:flex;flex-direction:column;min-width:0}
.r-body b{color:#ffd700}
.r-body small{color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-online{font-size:.85rem;white-space:nowrap}
/* room view */
body.in-room .bottom-nav{display:none}
body.in-room{padding-bottom:0}
body.in-room .topbar{display:none}
body.in-room main{padding:0;max-width:760px}
.room-view.active{display:flex;flex-direction:column;height:100vh;height:100dvh}
#room.room-view{background:radial-gradient(circle at top,#3b1a5a,#0a0f1e 75%)}
.room-top{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(0,0,0,.4);border-bottom:1px solid rgba(212,175,55,.4)}
.room-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;cursor:pointer}
.room-title b{color:#ffd700}
.room-title small{color:#aaa;font-size:.78rem;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.voice-status{text-align:center;font-size:.8rem;color:#bbb;padding:4px}
.seats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px;padding:10px 12px}
.seat{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;position:relative}
.seat .avatar{width:58px;height:58px;min-width:58px;font-size:1.9rem;transition:box-shadow .15s}
.seat b{font-size:.75rem;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ddd;font-weight:normal}
.seat.speaking .avatar{box-shadow:0 0 0 3px #4cff7a,0 0 16px #4cff7a}
.seat.muted .avatar::after{content:"🔇";position:absolute;bottom:-4px;right:-4px;font-size:.9rem}
.seat .crown{position:absolute;top:-10px;font-style:normal;font-size:1rem}
.listeners{grid-column:1/-1;text-align:center;font-size:.8rem;color:#aaa}
.chat-box{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.chat-box .line{background:rgba(0,0,0,.35);padding:6px 10px;border-radius:12px;align-self:flex-start;max-width:92%;word-break:break-word}
.chat-box .line .n{color:#7dd3fc;cursor:pointer}
.chat-box .gift-line{background:linear-gradient(90deg,rgba(212,175,55,.35),rgba(236,72,153,.25));border:1px solid #d4af37}
.chat-box .big{font-size:1.4rem}
.chat-box .sys{align-self:center;color:#aaa;font-size:.8rem;background:rgba(255,255,255,.05);padding:4px 10px;border-radius:10px;text-align:center}
.chat-input{display:flex;gap:6px;align-items:center;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(0,0,0,.5);border-top:1px solid #2a3a5e}
.chat-input input{flex:1;margin:0;border-radius:20px;padding:10px 14px;min-width:0}
.round{width:42px;height:42px;min-width:42px;border-radius:50%;border:1px solid #3a4d78;background:#1a2544;color:#fff;font-size:1.2rem;cursor:pointer}
.round.gold{background:linear-gradient(135deg,#ffd700,#b8860b);color:#111;border:0}
.gift-fx{position:fixed;inset:0;pointer-events:none;z-index:40;display:flex;align-items:center;justify-content:center}
.gift-fx .fx{position:absolute;display:flex;flex-direction:column;align-items:center;animation:giftpop 2.6s ease-out forwards}
.gift-fx .fx span{font-size:7rem;filter:drop-shadow(0 0 20px #ffd700)}
.gift-fx .fx small{color:#ffd700;font-size:2rem;font-weight:bold}
@keyframes giftpop{0%{transform:scale(.2);opacity:0}15%{transform:scale(1.2);opacity:1}30%{transform:scale(1)}80%{opacity:1}100%{transform:translateY(-160px) scale(.6);opacity:0}}
/* dm */
.chat-box.dm .bubble{max-width:80%;padding:8px 12px;border-radius:14px;background:#1f2b48;align-self:flex-start;word-break:break-word;white-space:pre-wrap}
.chat-box.dm .bubble.mine{align-self:flex-end;background:#6b4f0a}
.chat-box.dm .bubble b{display:block;color:#4cff7a;font-size:.8rem}
.chat-box.dm .bubble small{display:block;font-size:.68rem;color:#aaa;margin-top:2px}
#chat.room-view{background:#0d1426}
.thread{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #1f2b48;cursor:pointer}
.thread:hover{background:rgba(255,255,255,.03)}
.t-body{flex:1;min-width:0;display:flex;flex-direction:column}
.t-body small{color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-time{font-size:.72rem;color:#888}
.support-thread{background:rgba(10,125,52,.12);border:1px solid rgba(76,255,122,.3);border-radius:12px;margin-bottom:8px}
/* discover */
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filters input{flex:1;min-width:160px;margin:0}
.seg{display:flex;border:1px solid #d4af37;border-radius:10px;overflow:hidden}
.seg-btn{background:transparent;border:0;color:#ccc;padding:8px 14px;cursor:pointer}
.seg-btn.active{background:#d4af37;color:#111;font-weight:bold}
.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.user-card{background:#131d33;border:1px solid #2a3a5e;border-radius:14px;padding:12px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.user-card:hover{border-color:#d4af37}
.user-card small{color:#999;font-size:.75rem;max-height:2.6em;overflow:hidden}
/* profile */
.profile-card{background:linear-gradient(160deg,#2a1a4a,#131d33);border:1px solid #d4af37;border-radius:18px;padding:20px;text-align:center;margin-bottom:16px}
.profile-card h2{margin:8px 0 0;font-size:1.5rem}
.avatar-edit{position:relative;display:inline-block;cursor:pointer}
.avatar-edit i{position:absolute;bottom:0;right:0;font-style:normal;background:#d4af37;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.counts{display:flex;justify-content:center;gap:10px;margin:12px 0;flex-wrap:wrap}
.counts div{display:flex;flex-direction:column;min-width:70px}
.counts b{color:#ffd700;font-size:1.15rem}
.counts span{font-size:.75rem;color:#aaa}
.me-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.profile-mini{text-align:center}
.profile-mini p{margin:8px 0}
/* modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}
.modal-box{position:relative;background:#131d33;border:2px solid #d4af37;border-radius:16px;padding:20px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto}
.modal-box h3{color:#ffd700;margin-bottom:12px;padding-left:28px}
.modal-box label{display:block;margin-bottom:10px}
.modal-box input,.modal-box select,.modal-box textarea{width:100%;margin:6px 0 0;background:#0d1528;color:#fff;border:1px solid #d4af37;border-radius:8px;padding:8px;font-size:1rem;font-family:inherit}
.modal-box label.chk input{width:auto}
.modal-x{position:absolute;top:10px;left:10px;background:transparent;border:0;color:#aaa;font-size:1.2rem;cursor:pointer}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row.end{justify-content:flex-end;margin-top:14px}
.btn.green{background:#0a7d34}.btn.red{background:#b3001b}
.gift-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}
.gift{background:#0d1528;border:2px solid #2a3a5e;border-radius:10px;padding:6px 2px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.gift i{font-style:normal;font-size:1.7rem}
.gift span{font-size:.7rem}.gift b{font-size:.68rem;color:#ffd700}
.gift.sel{border-color:#ffd700;box-shadow:0 0 10px #ffd700}
.icon-pick{display:flex;flex-wrap:wrap;gap:6px}
.ip{font-size:1.5rem;background:#0d1528;border:2px solid #2a3a5e;border-radius:10px;padding:4px 8px;cursor:pointer}
.ip.sel{border-color:#ffd700}
.price-box{text-align:center;font-size:1.3rem;font-weight:bold;color:#ffd700;background:rgba(212,175,55,.12);border:1px solid #d4af37;border-radius:12px;padding:12px;margin-bottom:12px}
.price-box small{display:block;font-size:.85rem;color:#ccc;font-weight:normal}
.agency{display:flex;align-items:center;gap:8px;background:#0d1528;border-radius:10px;padding:8px 10px;margin:6px 0}
.agency b{flex:1}.agency span{color:#aaa;font-size:.85rem}
.agency .btn{text-decoration:none}
label.chk{display:flex;align-items:center;gap:8px;justify-content:center;color:#ccc}
label.chk input{margin:0}
@media(max-width:420px){.seats .avatar{width:50px;height:50px;min-width:50px}.gift-grid{grid-template-columns:repeat(4,1fr)}}

/* ===== Golden Casino ===== */
.logo{display:flex;align-items:center;gap:8px}
.logo-img{width:38px;height:38px;border-radius:50%}
.auth-logo{width:110px;height:110px;border-radius:50%;display:block;margin:0 auto 8px;box-shadow:0 0 30px rgba(212,175,55,.6)}
.tagline{text-align:center;color:#ffd700;font-weight:bold;letter-spacing:1px;margin:4px 0}
body.app main{padding-bottom:90px}
.me-card{background:#131d33;border:1px solid #d4af37;border-radius:16px;padding:18px;margin-bottom:16px;text-align:center}
.me-card strong{color:#ffd700;font-size:1.6rem}
.support-box{max-height:320px;overflow:auto;background:#0d1528;border-radius:12px;padding:10px;margin:10px 0;display:flex;flex-direction:column;gap:6px}
.sup-m{background:#1b2a4a;border-radius:10px;padding:6px 10px;max-width:85%;align-self:flex-start}
.sup-m.me{background:#3a2c08;align-self:flex-end}
.sup-m small{display:block;color:#999;font-size:.7rem}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row input{flex:1;min-width:140px;background:#0d1528;color:#fff;border:1px solid #d4af37;border-radius:10px;padding:10px}
.table-wrap{overflow:auto}
.pos{color:#4cff7a}.neg{color:#ff5c5c}
/* table & instant games */
.cg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0 18px}
.cg-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:14px;border:1px solid #3a3150;background:linear-gradient(160deg,#1c1530,#0e1426);color:#eee;cursor:pointer;font-family:inherit;text-align:center}
.cg-card:hover{border-color:#d4af37;transform:translateY(-2px)}
.cg-ic{font-size:2.4rem}.cg-card small{color:#aaa;font-size:.72rem;line-height:1.3}
.cg-game{max-width:760px;margin:0 auto}
.cg-board{margin:10px 0;min-height:120px}
.cg-opts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:8px 0}
.cg-opts input[type=range]{width:180px;vertical-align:middle}.cg-opts input[type=number]{width:90px}
.seg{display:flex;gap:4px}
#cgBtns{display:inline-flex;gap:8px;flex-wrap:wrap}
.spot{position:relative;border:1px solid #3a4a70;background:#14203a;color:#fff;border-radius:8px;padding:8px 4px;cursor:pointer;font-family:inherit;font-weight:bold}
.spot.red{background:#8e1b1b}.spot.black{background:#111}.spot.green{background:#156b3a}
.spot.bet{box-shadow:0 0 0 2px #d4af37 inset}
.spot em{position:absolute;top:-8px;left:-6px;font-style:normal;font-size:.62rem;background:#d4af37;color:#000;border-radius:10px;padding:1px 5px}
.spot em:empty{display:none}
.spot.won{animation:cgWon 1s ease-in-out 3;box-shadow:0 0 14px 4px #ffd700}
@keyframes cgWon{50%{transform:scale(1.08)}}
.spot.big{flex:1;padding:16px 4px;font-size:1rem}
.spots3{display:flex;gap:8px;margin-top:10px}
.rl-res{width:70px;height:70px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:bold;background:#26304a;border:3px solid #d4af37}
.rl-res.red{background:#a31f1f}.rl-res.black{background:#111}.rl-res.green{background:#156b3a}.rl-res.spin{opacity:.8}
.rl-table{display:flex;gap:3px;direction:ltr}.rl-zero .spot{height:100%;width:36px}
.rl-nums{flex:1;display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.rl-nums .spot{padding:7px 0;font-size:.78rem}
.rl-out{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}.rl-out .spot{font-size:.8rem}
.hands{display:flex;flex-direction:column;gap:10px}
.hand{padding:8px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid #2a3a5e}.hand.win{border-color:#ffd700;box-shadow:0 0 12px rgba(255,215,0,.5)}
.hv{background:#d4af37;color:#000;border-radius:10px;padding:0 8px;margin-right:4px}
.cards{display:flex;gap:6px;justify-content:center;margin-top:6px;direction:ltr}
.pcard{width:46px;height:66px;border-radius:7px;background:#fff;color:#111;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-weight:bold;font-size:1.1rem;box-shadow:0 2px 6px rgba(0,0,0,.5);animation:cgDeal .3s ease-out}
.pcard i{font-style:normal;font-size:1.3rem}.pcard.red{color:#c0392b}
.pcard.back{background:repeating-linear-gradient(45deg,#7a1f5c,#7a1f5c 5px,#4a1370 5px,#4a1370 10px);border:2px solid #fff}
@keyframes cgDeal{from{transform:translateY(-20px) rotate(-8deg);opacity:0}}
.bj-res{text-align:center;font-size:1.3rem;font-weight:bold;color:#ffd700;margin-top:8px}
.fruit-ring{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:330px;margin:0 auto}
.spot.fr{display:flex;flex-direction:column;align-items:center;padding:10px 2px}.spot.fr span{font-size:2rem}.spot.fr small{color:#ffd700}
.spot.fr.lit{background:#d4af37;color:#000}.spot.fr.lit small{color:#000}
.fr-center{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:2.4rem;border-radius:12px;background:radial-gradient(#3a2a60,#120d22);border:2px solid #d4af37}
.fr-center small{font-size:.9rem;color:#ffd700}
.big-num{text-align:center;font-size:2.6rem;font-weight:bold;letter-spacing:1px;color:#fff;direction:ltr}
.big-num.win{color:#4cd964}.big-num.lose{color:#ff5a5a}
.dc-bar{position:relative;height:14px;border-radius:7px;background:#5a1f2a;margin:12px 6px;direction:ltr;overflow:visible}
.dc-bar div{position:absolute;top:0;bottom:0;background:#2e8b57;border-radius:7px}
.dc-bar i{position:absolute;top:-6px;width:4px;height:26px;background:#fff;left:50%;transition:left .3s}
.crash-sky{position:relative;height:220px;border-radius:14px;overflow:hidden;background:linear-gradient(#0b1030,#25124a);direction:ltr}
.crash-sky .big-num{position:absolute;top:40%;left:0;right:0}
.cr-rocket{position:absolute;bottom:10%;left:8%;font-size:2.2rem;transform:rotate(45deg)}
.cr-rocket.boom{filter:hue-rotate(160deg) brightness(1.5);transform:scale(1.6)}
.plinko{max-width:420px;margin:0 auto;direction:ltr}
.pegs{position:relative;height:260px}
.pegs i{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:#bbb}
.pegs b{display:none;position:absolute;width:14px;height:14px;margin:-7px;border-radius:50%;background:#ffd700;box-shadow:0 0 10px #ffd700;transition:top .11s linear,left .11s linear}
.pl-slots{display:flex;gap:2px}.pl-slots span{flex:1;text-align:center;font-size:.62rem;padding:4px 0;border-radius:4px;background:#5a1f2a}
.pl-slots span.mid{background:#7a5a10}.pl-slots span.hot{background:#a31f1f}.pl-slots span.won{background:#ffd700;color:#000;transform:scale(1.15)}
.keno{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;direction:ltr}
.kn{padding:9px 0;border-radius:8px;border:1px solid #2a3a5e;background:#14203a;color:#ddd;cursor:pointer;font-family:inherit}
.kn.pick{background:#4a1370;color:#fff;border-color:#9b5cff}.kn.drawn{background:#3a3a3a;color:#fff}.kn.hit{background:#d4af37;color:#000;font-weight:bold}
.wheel-wrap{position:relative;width:min(80vw,300px);margin:0 auto}
.wheel{width:100%;aspect-ratio:1;border-radius:50%;border:5px solid #d4af37;position:relative;transition:transform 4s cubic-bezier(.15,.85,.25,1)}
.wheel span{position:absolute;left:50%;top:0;height:50%;transform-origin:bottom center;margin-left:-8px;width:16px;text-align:center}
.wheel span b{display:block;font-size:.62rem;color:#fff;padding-top:6px}
.wheel-ptr{position:absolute;top:-16px;left:50%;transform:translateX(-50%);color:#ffd700;font-size:1.6rem;z-index:2}
.wh-res{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:#0a0f1e;border:3px solid #d4af37;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:1.2rem}
.mines{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:340px;margin:0 auto}
.mn{aspect-ratio:1;border-radius:10px;border:1px solid #2a3a5e;background:#1a2744;font-size:1.5rem;cursor:pointer}
.mn.safe{background:#155a3a}.mn.mine{background:#3a1a1a}.mn.boom{background:#c0392b;animation:cgWon .4s 3}
.vp td{padding:3px 8px}.vp tr.won{background:#d4af37;color:#000}
.vp-hand{margin-top:10px}.vp-c{background:none;border:2px solid transparent;border-radius:9px;padding:2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;color:#ffd700}
.vp-c.held{border-color:#ffd700}.vp-c small{font-size:.6rem}
.soon-box{max-width:460px;margin:30px auto;padding:30px 20px;text-align:center;border-radius:20px;border:1px solid #d4af37;background:radial-gradient(circle at 50% 0,#3a2a60,#0e1426 70%)}
.soon-ic{font-size:4rem;filter:drop-shadow(0 0 16px rgba(255,215,0,.6))}
.soon-box h3{color:#ffd700;margin:10px 0}
