:root{
  --bg:#0b131c; --bg2:#11202e; --panel:#15212e; --panel2:#1c2c3d;
  --line:#21344a;
  --green:#16c784; --green2:#0fae6e; --greenglow:rgba(22,199,132,.45);
  --red:#ff4d4d; --gold:#f5a623; --txt:#eaf2f8; --mut:#8aa0b3; --cyan:#28d8c4;
  --cell1:#1f3144; --cell2:#16283a; --cellborder:#2c445e; --bgglow:#13283a;
  /* ---- Design tokens (sistema unificado): raio · sombra · espaçamento · tipografia.
     Temas retro/XP mantêm cantos retos via override próprio — não dependem destes. ---- */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-btn:14px; --r-pill:999px;
  --sh-1:0 2px 8px rgba(0,0,0,.20);
  --sh-2:0 8px 22px rgba(0,0,0,.34);
  --sh-card:inset 0 1px 0 rgba(255,255,255,.06),0 6px 16px rgba(0,0,0,.32);
  --sp-1:6px; --sp-2:10px; --sp-3:14px; --sp-4:20px;
  --fs-h1:22px; --fs-h2:15px; --fs-sm:12px; --fs-xs:11px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;overflow-x:clip}
body{
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
  background:radial-gradient(1200px 600px at 50% -10%,var(--bgglow) 0,var(--bg) 55%);
  color:var(--txt);min-height:100vh;overscroll-behavior:none;transition:background .3s;
  touch-action:manipulation; /* iOS: mata o "double-tap zoom" (tremor ao tocar rápido nas casas) */
}
#app{max-width:480px;margin:0 auto;padding:0 14px 90px;position:relative}
button{font-family:inherit;cursor:pointer;border:none}
input{font-family:inherit}
.hidden{display:none!important}

/* ---------- Feed ---------- */
.feed{max-width:480px;margin:0 auto;height:30px;line-height:30px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;color:var(--mut);text-align:center;padding:0 14px}
.feed b{color:var(--green)}

/* ---------- Top bar ---------- */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 2px 8px;position:sticky;top:0;z-index:20;
  background:linear-gradient(180deg,var(--bg) 70%,transparent)}
.logo{font-weight:800;font-size:20px;letter-spacing:.5px;display:flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0}
.logo .b{color:var(--gold)}
.balance{min-width:0}
.logo-emblem{height:26px;width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(245,166,35,.35))}
.balance{display:flex;align-items:center;gap:10px}
.bal-pill{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid #24384e;
  padding:7px 12px;border-radius:12px;font-weight:700}
.bal-pill svg{width:18px;height:18px}
.btn-dep{background:linear-gradient(180deg,var(--green),var(--green2));color:#04231a;font-weight:800;
  padding:9px 14px;border-radius:12px;box-shadow:0 4px 14px var(--greenglow)}
.btn-sml{background:var(--panel2);color:var(--txt);padding:9px 12px;border-radius:var(--r-md);font-weight:700;border:1px solid #2a4159}
.lang-btn{background:var(--panel2);color:var(--mut);border:1px solid #2a4159;padding:7px 10px;border-radius:12px;font-weight:700;font-size:13px;white-space:nowrap}

/* ---------- Mult display ---------- */
.mult-wrap{text-align:center;padding:10px 0 6px}
.mult-label{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:1px}
.mult{font-size:40px;font-weight:800;color:var(--cyan);line-height:1.1;
  text-shadow:0 0 22px rgba(40,216,196,.35);transition:color .25s, text-shadow .25s}
/* multiplicador "esquenta" pra dourado conforme sobe (≥2x) — reforça a tensão de continuar */
.mult.m-hi{color:var(--gold);text-shadow:0 0 26px rgba(245,166,35,.6)}
.mult.pop{animation:pop .25s ease}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.nextwin{font-size:13px;color:var(--gold);font-weight:700;min-height:18px}

/* ---------- Board ---------- */
.board{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:8px 0 4px}
.cell{aspect-ratio:1;border-radius:14px;
  background:linear-gradient(180deg,var(--cell1),var(--cell2));
  border:1px solid var(--cellborder);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2);
  display:flex;align-items:center;justify-content:center;position:relative;
  transition:transform .08s,background .2s;user-select:none}
.cell:active{transform:scale(.94)}
.cell.pending{animation:cellPulse .65s ease-in-out infinite}
@keyframes cellPulse{0%,100%{opacity:1;transform:scale(.97)}50%{opacity:.45;transform:scale(.92)}}
.cell svg{width:60%;height:60%}
.cell.revealed{background:linear-gradient(180deg,#0f3a30,#0c2a24);border-color:#1f6b56;
  animation:flip .3s ease, gemGlow .55s ease}
/* diamante "salta" pra dentro ao revelar — dá impacto a cada acerto */
.cell.revealed svg{animation:gemPop .4s cubic-bezier(.2,1.5,.4,1)}
/* onda verde que se espalha da casa acertada (feedback de acerto) */
.cell.revealed::before{content:'';position:absolute;inset:-1px;border-radius:14px;border:2px solid var(--green);opacity:0;pointer-events:none;animation:cellRipple .5s ease-out}
.cell.mine{background:linear-gradient(180deg,#4a1620,#2a0d12);border-color:#7a2230;animation:shake .4s, mineFlash .55s ease}
@keyframes gemPop{0%{transform:scale(0) rotate(-25deg);opacity:0}60%{transform:scale(1.25) rotate(6deg)}100%{transform:scale(1) rotate(0);opacity:1}}
@keyframes gemGlow{0%{box-shadow:0 0 0 0 var(--greenglow)}45%{box-shadow:0 0 20px 3px var(--greenglow)}100%{box-shadow:inset 0 -3px 0 rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.2)}}
@keyframes cellRipple{0%{transform:scale(.55);opacity:.85}100%{transform:scale(1.45);opacity:0}}
@keyframes mineFlash{0%{box-shadow:0 0 0 0 rgba(255,77,77,0)}40%{box-shadow:0 0 24px 5px rgba(255,77,77,.75)}100%{box-shadow:none}}
/* vitória: halo dourado envolve o tabuleiro inteiro */
.board.win{animation:boardWin 1.1s ease}
@keyframes boardWin{0%{box-shadow:0 0 0 0 rgba(245,166,35,0)}30%{box-shadow:0 0 46px 8px rgba(245,166,35,.5)}100%{box-shadow:0 0 0 0 rgba(245,166,35,0)}}
.cell.dim{opacity:.4}
.cell.special{background:linear-gradient(180deg,#5a4410,#3a2c08);border-color:var(--gold);
  box-shadow:0 0 16px rgba(245,166,35,.7),inset 0 0 10px rgba(255,226,122,.4);animation:goldpulse .8s ease}
.cell.special svg{filter:drop-shadow(0 0 4px var(--gold)) hue-rotate(-150deg) saturate(2) brightness(1.2)}
/* x2 que você NÃO abriu: apagado, sem brilho (não ganhou) */
.cell.special-missed{opacity:.5;border-color:#5e5224}
.cell.special-missed svg{filter:grayscale(.5) brightness(.9)}
.cell.special-missed .x2{background:#4a4a4a;color:#bbb}
/* selo x2 no diamante */
.cell .x2{position:absolute;top:3px;right:4px;font-size:11px;font-weight:800;line-height:1.3;
  color:#3a2400;background:var(--gold);border-radius:6px;padding:0 4px;z-index:2}
@keyframes goldpulse{0%{transform:scale(.6) rotate(-12deg)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
/* jackpot bar */
.jackpot-bar{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0;padding:8px 12px;border-radius:12px;
  font-weight:800;font-size:14px;color:#3a2400;background:linear-gradient(90deg,#ffe27a,#f5a623,#ffe27a);
  background-size:200% 100%;animation:jpshine 3s linear infinite;box-shadow:0 4px 14px rgba(245,166,35,.35)}
.jackpot-bar .jp-val{font-size:17px;letter-spacing:.3px}
.jackpot-bar .jp-ico{font-size:18px}
@keyframes jpshine{0%{background-position:0 0}100%{background-position:200% 0}}
@keyframes flip{0%{transform:rotateY(90deg)}100%{transform:rotateY(0)}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

/* ---------- Controls ---------- */
.panel{background:linear-gradient(180deg,#1a2a3b,var(--panel));border:1px solid #24394f;border-radius:var(--r-lg);padding:14px;margin:10px 0;box-shadow:var(--sh-card)}
/* card com recompensa pronta pra resgatar: borda dourada + brilho suave (o olho acha "o que dá pra pegar agora") */
.panel--hot{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,166,35,.25),0 8px 24px rgba(245,166,35,.10)}
/* 🔔 后台告警红条 */
.adm-alert-bar{background:rgba(255,77,77,.08);border:1px solid rgba(255,77,77,.35);border-radius:10px;margin:8px 0;padding:10px 12px}
.adm-alert-head{display:flex;justify-content:space-between;align-items:center;color:var(--red);margin-bottom:4px;font-size:14px}
.adm-alert-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.06);font-size:13px}
.adm-alert-msg{min-width:0;overflow:hidden;text-overflow:ellipsis}
.adm-alert-acts{display:flex;gap:6px;flex-shrink:0}
.row{display:flex;align-items:center;gap:8px}
.field-label{font-size:12px;color:var(--mut);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.bet-input{flex:1;display:flex;align-items:center;background:var(--bg2);border:1px solid #294056;border-radius:var(--r-md);padding:0 10px}
.bet-input input{flex:1;background:none;border:none;color:var(--txt);font-size:18px;font-weight:700;padding:12px 4px;width:100%;outline:none}
.bet-input span{color:var(--mut);font-weight:700}
.chip{background:var(--panel2);border:1px solid #2a4159;color:var(--txt);padding:11px 0;border-radius:var(--r-md);font-weight:700;flex:1;text-align:center;font-size:13px}
.chip.active{background:linear-gradient(180deg,var(--green),var(--green2));color:#04231a;border-color:transparent}
.mines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}

.btn-main{width:100%;padding:16px;border-radius:var(--r-btn);font-size:18px;font-weight:800;margin-top:12px;
  background:linear-gradient(180deg,var(--green),var(--green2));color:#04231a;
  box-shadow:0 6px 18px var(--greenglow);transition:transform .08s}
.btn-main:active{transform:scale(.98)}
/* botão Retirar "respira" em dourado — chama o jogador a sacar (e fechar a rodada no lucro) */
.btn-main.cash{background:linear-gradient(180deg,var(--gold),#e0901a);color:#3a2400;box-shadow:0 6px 18px rgba(245,166,35,.4);animation:cashBreath 1.5s ease-in-out infinite}
@keyframes cashBreath{0%,100%{box-shadow:0 6px 18px rgba(245,166,35,.4)}50%{box-shadow:0 6px 28px rgba(245,166,35,.8)}}
.btn-main.wait{background:var(--panel2);color:var(--mut);box-shadow:none}
.btn-main:disabled{opacity:.5;box-shadow:none}
/* botão lateral de minas (à direita do Apostar) */
.btn-mines{background:var(--panel2);border:1px solid var(--cellborder);color:var(--gold);font-weight:800;
  font-size:15px;padding:14px 15px;border-radius:14px;white-space:nowrap;flex:0 0 auto;cursor:pointer}

/* ---- área de aposta: rótulos (Aposta · 💰Saldo · Minas) em cima; dois steppers iguais embaixo ---- */
.stake-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:7px;padding:0 2px}
.stake-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stake-bal{display:flex;align-items:center;justify-content:center;gap:3px;background:transparent;border:0;box-shadow:none;cursor:pointer;padding:0;min-width:0;max-width:46vw;margin:0}
.stake-bal:active{opacity:.7}
.stake-bal .bal-amt{font-size:14px;font-weight:800;color:var(--gold);white-space:nowrap;display:flex;align-items:center;gap:2px;text-shadow:0 0 10px rgba(245,166,35,.3);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.stake-lbl{font-size:11px;color:var(--mut);text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.stepper{display:flex;align-items:center;background:var(--bg2);border:1px solid #294056;border-radius:14px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 2px 6px rgba(0,0,0,.18)}
.step-btn{flex:0 0 44px;height:50px;border:0;background:transparent;color:var(--txt);font-size:26px;font-weight:800;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background .12s,transform .07s}
.step-btn[data-d="1"]{color:var(--green)}   /* + em verde (aumentar) */
.step-btn[data-d="-1"]{color:var(--mut)}    /* − discreto */
.step-btn:hover{background:rgba(255,255,255,.05)}
.step-btn:active{background:rgba(255,255,255,.14);transform:scale(.85)}
.step-btn:disabled{opacity:.3;cursor:default}
.step-val{flex:1;min-width:0;width:100%;text-align:center;border:0;background:transparent;color:var(--txt);font-size:20px;font-weight:800;outline:none;-moz-appearance:textfield;padding:0 2px}
.step-val::-webkit-outer-spin-button,.step-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper.locked{opacity:.5}

/* ---------- Bottom nav ---------- */
.nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;
  max-width:480px;margin:0 auto;background:#0d1722;border-top:1px solid #1d2f42;padding:8px 0 calc(8px + env(safe-area-inset-bottom))}
.nav button{background:none;color:var(--mut);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;font-weight:600}
.nav button.active{color:var(--green)}
.nav .ic{font-size:23px;line-height:1;position:relative}
.nav .ic svg{width:25px;height:25px;display:block}
.nav-dot{position:absolute;top:-3px;right:-9px;width:9px;height:9px;border-radius:50%;background:#ff3b3b;border:1.5px solid #fff;animation:navDotPulse 1.6s ease-in-out infinite}
@keyframes navDotPulse{50%{transform:scale(1.25)}}

/* ---------- Generic ---------- */
.h1{font-size:var(--fs-h1);font-weight:800;margin:6px 0 14px;letter-spacing:-.3px}
.h2{font-size:var(--fs-h2);font-weight:700;margin:18px 0 8px;color:var(--txt);letter-spacing:-.2px}
.muted{color:var(--mut);font-size:13px;line-height:1.5}
.inp{width:100%;background:var(--bg2);border:1px solid #294056;border-radius:var(--r-md);padding:14px;color:var(--txt);font-size:16px;outline:none;margin-bottom:10px}
.inp-err{border-color:var(--red)!important;box-shadow:0 0 0 2px rgba(255,77,77,.18)}
.field-err{display:none;color:var(--red);font-size:12.5px;font-weight:600;margin:-6px 2px 10px;line-height:1.3}
.field-err.show{display:block}
.inp:focus{border-color:var(--green)}
.pw-wrap{position:relative}
.pw-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;opacity:.5;cursor:pointer;padding:6px}
.pw-wrap .inp{padding-right:44px}
.age-row{display:flex;align-items:center;gap:8px;margin:2px 0 12px;color:var(--mut);font-size:13px;cursor:pointer}
.age-row input{width:20px;height:20px;flex:0 0 auto}
.list{background:var(--panel);border:1px solid #21344a;border-radius:14px;overflow:hidden}
/* personal center */
.pc-head{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--panel2),var(--panel));
  border:1px solid var(--line);border-radius:16px;padding:16px;margin:8px 0}
.pc-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(180deg,var(--green),var(--green2));
  color:#04231a;font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pc-name{font-weight:800;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-id{font-size:12px;color:var(--mut)}
.pc-bal{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:800;color:var(--gold);white-space:nowrap}
.pc-bal svg{width:18px;height:18px}
.pc-menu{margin:10px 0}
.pc-row{cursor:pointer}
.pc-row .chev{color:var(--mut);font-size:20px}
.pc-row:active{background:var(--panel2)}
.li{display:flex;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px}
.li:last-child{border:none}
.tag{font-size:11px;padding:2px 8px;border-radius:var(--r-pill);font-weight:700}
.tag.done{background:rgba(22,199,132,.15);color:var(--green)}
.tag.pending{background:rgba(245,166,35,.15);color:var(--gold)}
.tag.rejected{background:rgba(255,77,77,.15);color:var(--red)}
.tag.expired{background:rgba(140,150,165,.16);color:var(--mut)}
.pos{color:var(--green)} .neg{color:var(--red)}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;box-shadow:var(--sh-1)}
.stat .v{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums}.stat .k{font-size:12px;color:var(--mut);margin-top:2px}
.link-box{display:flex;gap:8px;margin:8px 0}
.link-box input{flex:1}
.toast{position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);z-index:100;background:#1b2c3d;
  border:1px solid #2f4a64;color:var(--txt);padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;
  box-shadow:0 8px 30px rgba(0,0,0,.5);max-width:90%;text-align:center}
.toast.err{border-color:var(--red);color:#ffd9d9}
.toast.ok{border-color:var(--green);color:#cffaea}
.center{text-align:center}
#fx{position:fixed;inset:0;pointer-events:none;z-index:90}
.brand-hero{text-align:center;padding:24px 0 10px}
.hero-emblem{height:84px;width:auto;display:block;margin:0 auto 8px;filter:drop-shadow(0 6px 18px rgba(245,166,35,.4));animation:heroFloat 3.4s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.brand-hero .big{font-size:34px;font-weight:900;letter-spacing:.5px}
.brand-hero .tg{color:var(--mut);font-size:14px;margin-top:6px}
.howto li{margin-bottom:8px;color:var(--mut);font-size:14px;line-height:1.5}
/* ---- howto: hero ilustrado ---- */
.ht-hero{text-align:center;background:linear-gradient(180deg,#221813,#15100a);border:1px solid var(--line);border-radius:16px;padding:18px;margin:8px 0}
.ht-tiles{display:flex;gap:8px;justify-content:center}
.ht-tile{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#0f3a30,#0c2a24);border:1px solid #1f6b56}
.ht-tile.bomb{background:linear-gradient(180deg,#4a1620,#2a0d12);border-color:#7a2230}
.ht-tile.special{background:linear-gradient(180deg,#5a4410,#3a2c08);border-color:var(--gold);box-shadow:0 0 14px rgba(245,166,35,.6)}
.ht-tile.special svg{filter:hue-rotate(-150deg) saturate(2.2) brightness(1.2)}
.ht-tile svg{width:60%;height:60%}
.ht-mult{font-size:24px;font-weight:800;color:var(--cyan);margin-top:12px}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.feat{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;box-shadow:var(--sh-1)}
.feat-ic{font-size:24px}
.feat-t{font-weight:700;font-size:14px}
.feat-d{font-size:12px;color:var(--mut)}
a.txtlink{color:var(--green);text-decoration:none;font-weight:700}
.badge-fair{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--green);
  background:rgba(22,199,132,.1);padding:6px 12px;border-radius:20px;margin-top:8px}

/* ---- promo strip ---- */
.promo-strip{margin:10px 0 0;padding:11px 14px;border-radius:12px;font-size:13px;font-weight:700;
  color:#3a2400;background:linear-gradient(90deg,#ffe27a,#f5a623);animation:glow 2s ease-in-out infinite;
  display:flex;align-items:center;gap:8px}
.promo-txt{flex:1;text-align:center;cursor:pointer}
.promo-x{flex:0 0 auto;background:rgba(0,0,0,.18);border:none;color:#3a2400;font-weight:800;width:24px;height:24px;
  border-radius:50%;cursor:pointer;font-size:13px;line-height:1}
.mine-val{flex:1;text-align:center;font-size:20px;font-weight:800;background:var(--bg2);border:1px solid #294056;
  border-radius:12px;padding:10px;color:var(--gold)}
.chip.step{font-weight:800;display:flex;align-items:center;justify-content:center}
/* chip de minas ao lado do multiplicador + slider */
.mult-wrap{position:relative}
.mines-chip{position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--panel2);
  border:1px solid var(--cellborder);color:var(--gold);font-weight:800;font-size:14px;padding:9px 13px;
  border-radius:12px;cursor:pointer;white-space:nowrap}
/* jackpot pill (compartilha a linha do multiplicador) */
.jp-pill{position:absolute;left:0;top:2px;background:linear-gradient(90deg,#ffe27a,#f5a623);color:#3a2400;
  font-weight:800;font-size:12px;padding:5px 10px;border-radius:20px;white-space:nowrap;box-shadow:0 2px 8px rgba(245,166,35,.4)}
.theme-btn{position:absolute;right:0;top:2px;background:var(--panel2);border:1px solid var(--cellborder);
  font-size:16px;width:36px;height:32px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--txt)}
.theme-btn svg{width:20px;height:20px;display:block}
/* personal center: quick actions */
.pc-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.pc-act{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 4px;color:var(--txt);
  font-size:12px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;box-shadow:var(--sh-1);transition:transform .08s,background .15s}
.pc-act:active{background:var(--panel2);transform:scale(.95)}
.pc-act-ic{font-size:22px}
/* saldo no painel de aposta */
.bet-bal{background:var(--panel2);border:1px solid var(--cellborder);color:var(--mut);font-size:12px;font-weight:600;
  padding:5px 10px;border-radius:10px;cursor:pointer}
.bet-bal b{color:var(--gold);font-size:13px}
.bet-range{width:100%;-webkit-appearance:none;appearance:none;height:10px;border-radius:6px;outline:none;margin:10px 0 2px;
  background:linear-gradient(90deg,var(--green),var(--gold));border:1px solid rgba(255,255,255,.12)}
.bet-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.bet-range::-moz-range-thumb{width:24px;height:24px;border:none;border-radius:50%;background:#fff;cursor:pointer}
.mp-range{width:100%;-webkit-appearance:none;appearance:none;height:12px;border-radius:7px;outline:none;margin-top:14px;
  background:linear-gradient(90deg,#16c784 0%,#f5a623 55%,#ff4d4d 100%);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}
.mp-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;
  background:linear-gradient(180deg,var(--green),var(--green2));cursor:pointer;box-shadow:0 2px 8px var(--greenglow)}
.mp-range::-moz-range-thumb{width:28px;height:28px;border:none;border-radius:50%;background:var(--green);cursor:pointer}
@keyframes glow{0%,100%{box-shadow:0 0 0 rgba(245,166,35,0)}50%{box-shadow:0 0 18px rgba(245,166,35,.5)}}

/* ---- online indicator ---- */
.online{color:var(--green);font-weight:700}
.online .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:5px;
  box-shadow:0 0 0 0 var(--greenglow);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,199,132,.6)}70%{box-shadow:0 0 0 6px rgba(22,199,132,0)}100%{box-shadow:0 0 0 0 rgba(22,199,132,0)}}

/* ---- check-in grid ---- */
.ck-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.ck-day{background:var(--bg2);border:1px solid #294056;border-radius:var(--r-md);padding:10px 4px;text-align:center}
.ck-day .ck-d{font-size:11px;color:var(--mut)}
.ck-day .ck-coin svg{width:26px;height:26px;margin:4px 0}
.ck-day .ck-v{font-size:12px;font-weight:700}
.ck-day.ck-claimed{opacity:.45;border-color:var(--green)}
.ck-day.ck-claimed::after{content:'✅';display:block;font-size:11px}
.ck-day.ck-next{border-color:var(--gold);background:rgba(245,166,35,.08);animation:glow 1.8s ease-in-out infinite}

/* ---- escalada de tensão no tabuleiro ---- */
.board{transition:box-shadow .3s, border-radius .3s;border-radius:16px}
.board.heat1{box-shadow:0 0 16px rgba(233,196,106,.18)}
.board.heat2{box-shadow:0 0 22px rgba(245,200,110,.30)}
.board.heat3{box-shadow:0 0 28px rgba(255,226,122,.34)}
.board.heat4{box-shadow:0 0 34px rgba(245,166,35,.42);animation:heatpulse 1.1s infinite}
.board.heat5{box-shadow:0 0 44px rgba(255,107,58,.55);animation:heatpulse .7s infinite}
@keyframes heatpulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}

/* ---- overlay / modal ---- */
.overlay{position:fixed;inset:0;z-index:80;background:rgba(4,9,14,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:fade .2s ease}
.overlay .modal{max-width:360px;width:100%;animation:rise .25s ease;position:relative;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.modal-body{overflow-y:auto;overflow-x:hidden;min-height:0}
.modal-x{position:absolute;top:8px;right:8px;z-index:3;width:32px;height:32px;border:none;border-radius:8px;
  background:var(--panel2);color:var(--mut);font-size:15px;font-weight:700;cursor:pointer;line-height:1}
.modal-x:hover{background:var(--red);color:#fff}
.modal-body .h2:first-of-type,.modal-body .h1:first-child{padding-right:34px}
/* confirmação empilhável (z>modal, p/ aparecer por cima de userDetail/chat sem destruí-los) */
.cmodal-ov{position:fixed;inset:0;z-index:90;background:rgba(4,9,14,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade .15s ease}
.cmodal{max-width:400px;width:100%;padding:18px;animation:rise .2s ease}
.cmodal-t{font-size:16px;font-weight:800;margin-bottom:8px}
.cmodal-m{font-size:13px;color:var(--mut);margin-bottom:12px;line-height:1.45}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

.demo-badge{display:inline-block;background:rgba(245,166,35,.15);color:var(--gold);font-size:11px;font-weight:800;
  padding:5px 10px;border-radius:20px;border:1px solid var(--gold)}
/* chat estilo WhatsApp */
.chat-ov{align-items:flex-end;justify-content:center;padding:0}
.chat-box{width:100%;max-width:480px;height:80vh;max-height:80vh;background:var(--bg);border-radius:18px 18px 0 0;
  display:flex;flex-direction:column;overflow:hidden;animation:rise .25s ease}
.chat-head{display:flex;align-items:center;gap:11px;padding:12px 14px;background:linear-gradient(180deg,#241a10,#1a130b);color:var(--txt);border-bottom:1px solid var(--line)}
.chat-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,#e9c46a,#c9962f);color:#3a2400;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.chat-name{font-weight:800;font-size:15.5px}
.chat-status{font-size:11.5px;color:var(--mut)}
.chat-x{background:none;border:none;color:var(--mut);font-size:20px;cursor:pointer}
.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;
  background:linear-gradient(180deg,#0d1722,var(--bg))}
.chat-empty{color:var(--mut);text-align:center;font-size:13px;margin:auto;padding:20px}
.chat-msg{display:flex;flex-direction:column}
.chat-msg.user{align-items:flex-end}
.chat-msg.agent{align-items:flex-start}
.chat-msg .who{display:none}/* chat 1:1 estilo WhatsApp: lado já indica quem é (sem repetir nome) */
.chat-sys{align-self:center;text-align:center;font-size:11px;color:var(--mut);background:rgba(255,255,255,.06);padding:5px 12px;border-radius:12px;margin:2px auto 6px}
.chat-msg .bubble{max-width:80%;padding:9px 13px 6px;border-radius:16px;font-size:14.5px;line-height:1.5;word-break:break-word;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.chat-msg.user .bubble{background:linear-gradient(180deg,#1eb878,#149a62);color:#04231a;border-bottom-right-radius:5px}
.chat-msg.agent .bubble{background:var(--panel2);color:var(--txt);border-bottom-left-radius:5px}
.chat-msg .bub-time{display:block;font-size:10px;line-height:1;opacity:.5;text-align:right;margin-top:5px;font-weight:600}
.chat-msg.agent+.chat-msg.agent,.chat-msg.user+.chat-msg.user{margin-top:-3px}/* mensagens seguidas do mesmo lado ficam mais juntas (agrupadas) */
.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:var(--panel)}
.chat-input input{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:11px 14px;color:var(--txt);outline:none;font-size:15px}
.chat-input button{flex:0 0 46px;background:var(--green);color:#04231a;border:none;border-radius:50%;font-size:18px;cursor:pointer}
.chat-input button.tr-mode{background:var(--gold)}/* modo traduzir: botão dourado (não envia direto, abre pré-visualização) */
/* atendimento 3 colunas (PC): lista | conversa | ficha do jogador */
.chat3-conv{display:flex;flex-direction:column;min-height:380px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);margin-top:10px}
.chat3-prof{margin-top:10px}
body.admin-pc .chat3{display:flex;gap:12px;align-items:stretch;height:calc(100vh - 140px)}
body.admin-pc .chat3-list{flex:0 0 200px;overflow-y:auto}
body.admin-pc .chat3-conv{flex:1;min-width:0;min-height:0;margin-top:0}
body.admin-pc .chat3-prof{flex:0 0 240px;overflow-y:auto;margin-top:0}
/* tela estreita: esconde a ficha do jogador (continua acessível pelo botão 详情) p/ a conversa não espremer */
@media(max-width:1100px){body.admin-pc .chat3-prof{display:none}}
@media(max-width:819px){.chat3-prof{display:none}}

/* ---- welcome: passos ---- */
.welcome-sub{font-size:14.5px;line-height:1.65;max-width:330px;margin:8px auto 2px;text-wrap:pretty}
.how-list{text-align:left;background:var(--bg2);border:1px solid #294056;border-radius:var(--r-md);padding:12px;margin:12px 0}
.how-step{font-size:14px;color:var(--txt);padding:8px 0;font-weight:600;line-height:1.4;text-wrap:pretty}
.how-step+.how-step{border-top:1px solid var(--line)}

/* ---- trust badges ---- */
.trust-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}
.trust-row span{font-size:11px;color:var(--mut);background:var(--panel);border:1px solid #21344a;
  padding:5px 10px;border-radius:20px;font-weight:600}
.trust-row #authOnline{color:var(--green)}

/* ---- admin: navegação por seções ---- */
.admin-nav{display:flex;gap:6px;overflow-x:auto;padding:6px 0 12px;position:sticky;top:54px;z-index:15;
  background:linear-gradient(180deg,var(--bg) 80%,transparent)}
.admin-nav::-webkit-scrollbar{display:none}
.admin-tab{flex:0 0 auto;background:var(--panel2);color:var(--mut);border:1px solid #2a4159;
  padding:9px 13px;border-radius:12px;font-weight:700;font-size:13px;white-space:nowrap;cursor:pointer}
.admin-tab.active{background:linear-gradient(180deg,var(--green),var(--green2));color:#04231a;border-color:transparent}
/* rótulo de grupo (só no layout PC vertical) + badge de pendências (待审/未读) */
.nav-group{display:none}
body.admin-pc .admin-shell .nav-group{display:block;font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;margin:13px 6px 5px;opacity:.65}
body.admin-pc .admin-shell .nav-group:first-child{margin-top:0}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:800;vertical-align:middle}
.nav-badge:empty{display:none}
body.admin-pc .admin-shell .admin-tab{display:flex;align-items:center}
body.admin-pc .admin-shell .admin-tab .nav-badge{margin-left:auto}
/* grade de sub-seções de configuração (二级栏目) */
.cfg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.cfg-card{display:flex;align-items:center;gap:10px;text-align:left;background:var(--bg2);border:1px solid var(--line);
  border-radius:12px;padding:14px 14px;cursor:pointer;color:var(--fg,#eaf2f8);font-weight:700;font-size:14px;transition:border-color .15s,transform .05s}
.cfg-card:hover{border-color:var(--green)}
/* página de config: lista de categorias à esq. (não mais cartões que abrem modal) */
.cfg-navi{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;margin-bottom:6px;color:var(--txt);font-weight:700;font-size:14px;cursor:pointer;transition:border-color .12s}
.cfg-navi:hover{border-color:var(--green)}
.cfg-navi.active{background:linear-gradient(180deg,var(--green),var(--green2));color:#04231a;border-color:transparent}
body.admin-pc .adm-split .adm-master:has(.cfg-navi){flex:0 0 220px}
.cfg-form .h2:first-child{margin-top:0}
.cfg-card:active{transform:scale(.985)}
.cfg-card .cic{font-size:20px;flex:0 0 auto}
.cfg-card .ctt{flex:1}
.cfg-card .carr{color:var(--mut);font-size:18px;font-weight:400}
/* botão "novo" no canto do cabeçalho do painel */
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
.panel-head .h2{margin:0}
.asset-thumb{flex:0 0 auto;width:46px;height:46px;border-radius:8px;background-size:cover;background-position:center;
  border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:20px;background-color:var(--bg2)}
.asset-thumb.ph{color:var(--mut)}
/* tabela de dados do admin (colunas claras) */
.adm-table{width:100%;border-collapse:collapse;font-size:13px}
.adm-table th{text-align:left;color:var(--mut);font-size:11px;font-weight:700;padding:7px 8px;border-bottom:2px solid var(--line);white-space:nowrap}
.adm-table td{padding:9px 8px;border-bottom:1px solid var(--line)}
.adm-table td.num,.adm-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.adm-table tbody tr:hover{background:var(--bg2)}
.adm-table tr.row-click{cursor:pointer}
.adm-table th.th-sort{cursor:pointer;user-select:none}
.adm-table th.th-sort:hover{color:var(--txt)}
.adm-table th.sorted{color:var(--green)}
.adm-table th.sorted::after{content:attr(data-dir);margin-left:3px;font-size:9px}
.adm-table tr.sel{background:rgba(22,199,132,.12)}
/* mestre-detalhe (lista à esquerda, detalhe à direita) — padrão PC p/ finanças/usuários/risco */
.adm-split{display:block}
body.admin-pc .adm-split{display:flex;gap:16px;align-items:flex-start}
body.admin-pc .adm-split .adm-master{flex:0 0 44%;min-width:0}
body.admin-pc .adm-split .adm-detail{flex:1;min-width:0;position:sticky;top:12px}
.adm-detail-empty{display:flex;align-items:center;justify-content:center;min-height:220px;color:var(--mut);font-size:13px;text-align:center;border:1px dashed var(--line);border-radius:var(--r-lg)}
/* várias panels lado a lado no PC (concha/risco/overview) */
body.admin-pc .adm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start}
body.admin-pc .adm-cols>*{margin:0}
/* barra de filtros/ações acima das tabelas */
.adm-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.adm-toolbar .grow{flex:1;min-width:120px}
.li.eM{cursor:pointer;align-items:center;gap:8px}
.li.eM.sel{outline:2px solid var(--green);border-radius:8px;background:var(--bg2)}

/* ---- verificação provably fair ---- */
.vf-row{margin:8px 0}
.vf-k{display:block;font-size:11px;color:var(--mut);margin-bottom:3px}
.vf-v{display:block;font-size:11px;background:var(--bg2);border:1px solid #294056;border-radius:8px;padding:8px;
  word-break:break-all;color:var(--cyan);font-family:ui-monospace,Menlo,monospace}

/* ---- tabuleiro é o foco: GRANDE; controles compactos ---- */
.board{max-width:min(94vw,420px);margin:8px auto 4px;gap:8px;position:relative}
/* botão/feed alinhados à largura do tabuleiro; o painel de aposta fica largo (mais espaço p/ os steppers) */
.view-game .mult-wrap,
.view-game .promo-strip,
.view-game #actionRow,
.view-game .fair-pill{max-width:min(94vw,420px);margin-left:auto;margin-right:auto}
/* resultado no centro do tabuleiro */
.board-result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);z-index:6;pointer-events:none;
  text-align:center;font-weight:800;background:rgba(8,14,20,.85);border:1px solid var(--line);border-radius:18px;
  padding:18px 28px;transition:opacity .35s,transform .35s;animation:resPop .35s ease}
.board-result .big{font-size:30px;line-height:1.2;white-space:nowrap}
.board-result .sub{font-size:15px;margin-top:4px;color:var(--txt)}
.board-result.win{color:var(--green);box-shadow:0 0 28px rgba(22,199,132,.45)}
.board-result.lose{color:var(--red);box-shadow:0 0 28px rgba(255,77,77,.45)}
@keyframes resPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}60%{transform:translate(-50%,-50%) scale(1.12)}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}
.mult-wrap{padding:4px 0 2px}
.mult{font-size:32px;line-height:1}
.mult-label{font-size:11px}
.promo-strip{margin-top:6px;padding:8px 12px;font-size:12px}
.panel{padding:12px;margin:8px 0}
.field-label{margin-bottom:4px;font-size:11px}
.board .cell{border-radius:12px}
/* controles enxutos */
.bet-input input{padding:10px 4px;font-size:17px}
.chip{padding:8px 0;font-size:13px}
.mine-val{padding:8px;font-size:18px}
.btn-main{padding:14px}
.mines-grid{gap:6px}
/* topo compacto em telas de celular */
@media (max-height:950px){
  .feed{height:24px;font-size:11px}
  .topbar{padding:max(8px,env(safe-area-inset-top)) 2px 6px}
  .logo{font-size:18px}
  .balance{gap:6px}
  .bal-pill{padding:6px 8px;font-size:12px;white-space:nowrap} .bal-pill svg{width:15px;height:15px}
  .btn-dep{padding:8px 10px;font-size:13px;white-space:nowrap} .lang-btn{padding:6px 7px;font-size:11px}
  .demo-badge{white-space:nowrap;font-size:10px;padding:4px 6px}
  /* telas baixas: limita pela ALTURA (50vh) p/ o botão Apostar ficar acima da dobra,
     mas deixa o tabuleiro CRESCER com a largura em celulares grandes (antes era fixo em 300px = pequeno no Galaxy/Moto grandes) */
  .board,
  .view-game .mult-wrap,.view-game .promo-strip,.view-game #actionRow,
  .view-game .fair-pill{max-width:min(94vw,54vh,420px)}
  .mult{font-size:26px} .mult-wrap{padding:2px 0 0} .mult-label{font-size:10px}
  .jackpot-bar{padding:6px 12px;font-size:12px;margin-top:6px} .jackpot-bar .jp-val{font-size:15px}
  .promo-strip{padding:6px 12px} .panel{padding:11px;margin:7px 0}
  .btn-main{padding:13px;font-size:16px}
}

/* ---------- Item 3: depósito Pix + prova social + fair pill ---------- */
.dep-fd{background:linear-gradient(90deg,rgba(22,199,132,.16),rgba(245,166,35,.12));border:1px solid rgba(22,199,132,.4);
  border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13px;text-align:center;color:var(--txt)}
.pix-qr{display:flex;justify-content:center;margin:6px 0 10px}
.pix-qr svg{border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.feed-ago{color:var(--mut);opacity:.7;font-size:11px}
.fair-pill{display:block;width:100%;margin:10px 0 0;background:rgba(40,216,196,.08);border:1px solid rgba(40,216,196,.25);
  color:var(--mut);border-radius:12px;padding:9px;font-size:12px;font-weight:600;text-align:center}
.fair-pill:active{transform:scale(.98)}

/* ---------- Item 2: mini gráfico de relatório ---------- */
.rep-chart{display:flex;align-items:flex-end;gap:3px;height:74px;padding-top:4px}
.rep-bar{flex:1;min-width:2px;background:linear-gradient(180deg,var(--gold),#c47f12);border-radius:3px 3px 0 0}

/* ---------- Item 5: layout do ADMIN no desktop (operador usa PC) ---------- */
body.admin-pc #app{max-width:1180px;padding:0 24px 60px}
/* painel do 投手 no PC: largura confortável (não trava em coluna mobile) */
@media (min-width:820px){
  body.mb-wide #app{max-width:760px;padding:0 20px 60px}
  body.mb-wide .stat-grid{grid-template-columns:repeat(3,1fr)}
}
body.admin-pc .admin-nav{flex-wrap:wrap;overflow:visible;top:0}
@media (min-width:820px){
  body.admin-pc .stat-grid{grid-template-columns:repeat(4,1fr)}
  body.admin-pc #adView{display:block}
  body.admin-pc .overlay .modal{max-width:600px}
  body.admin-pc .list{font-size:14px}
  /* operador usa PC: navegação numa coluna fixa à ESQUERDA, conteúdo à direita */
  body.admin-pc .admin-shell{display:flex;gap:22px;align-items:flex-start}
  body.admin-pc .admin-shell .admin-nav{order:1;flex:0 0 210px;flex-direction:column;flex-wrap:nowrap;
    position:sticky;top:12px;padding:0;background:none;gap:4px}
  body.admin-pc .admin-shell #adView{order:2;flex:1;min-width:0}
  body.admin-pc .admin-shell .admin-tab{width:100%;text-align:left;font-size:14px;padding:11px 14px}
}

/* ============================================================
   TEMA "Ouro / 午夜金" — cassino PRETO & DOURADO (padrão novo).
   Preto quente + dourado champanhe + feltro vinho na mesa.
   O "material" (gradiente metálico, fio dourado, sombra interna)
   é o que dá peso de cassino — o que faltava no neon (cor pura).
   CTA continua esmeralda (= dinheiro / "ir"); dourado é o ACENTO.
   ============================================================ */
body[data-theme="ouro"]{
  --bg:#0a0805; --bg2:#120d07; --panel:#17110a; --panel2:#211910; --line:#3d2f1a;
  --green:#1bbd78; --green2:#119a61; --greenglow:rgba(27,189,120,.40);
  --red:#ff5470; --gold:#e9c46a; --txt:#f4e9d2; --mut:#a89070; --cyan:#e9c46a;
  --cell1:#241a0d; --cell2:#170f05; --cellborder:#4d3a1d; --bgglow:#2a1c06;
  background:
    radial-gradient(1100px 520px at 50% -8%, rgba(233,196,106,.10), transparent 60%),
    radial-gradient(1100px 700px at 50% 120%, rgba(120,22,42,.13), transparent 60%),
    #0a0805;
}
/* painéis: couro/metal escovado — gradiente quente + fio dourado + brilho interno */
body[data-theme="ouro"] .panel{
  background:linear-gradient(180deg,#221813,#15100a);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(233,196,106,.10),0 8px 22px rgba(0,0,0,.5)}
body[data-theme="ouro"] .panel--hot{border-color:var(--gold);box-shadow:0 0 0 1px rgba(233,196,106,.35),0 10px 26px rgba(233,196,106,.14)}
body[data-theme="ouro"] .list, body[data-theme="ouro"] .pc-head{background:var(--panel);border-color:var(--line)}
body[data-theme="ouro"] .bal-pill, body[data-theme="ouro"] .btn-sml, body[data-theme="ouro"] .lang-btn,
body[data-theme="ouro"] .chip, body[data-theme="ouro"] .bet-input{border-color:var(--line)}
body[data-theme="ouro"] .nav{background:#100b06;border-top:1px solid var(--line)}
/* mesa de jogo: "feltro" vinho com moldura dourada (recesso) */
body[data-theme="ouro"] .board{
  background:radial-gradient(120% 90% at 50% 0%, rgba(233,196,106,.06), transparent 55%),linear-gradient(180deg,#2a1116,#180a0d);
  border:1px solid rgba(233,196,106,.26);border-radius:16px;padding:12px;margin:10px auto 14px;
  box-shadow:inset 0 2px 14px rgba(0,0,0,.55),0 6px 18px rgba(0,0,0,.4)}
body[data-theme="ouro"] .board[class*="heat"]{border:1px solid rgba(233,196,106,.30)}
/* casas: ladrilho escuro com fio dourado + biséis */
body[data-theme="ouro"] .cell{
  background:linear-gradient(180deg,#2a1f10,#170f05);
  border:1px solid #4d3a1d;
  box-shadow:inset 0 1px 0 rgba(233,196,106,.10),inset 0 -3px 0 rgba(0,0,0,.4),0 2px 5px rgba(0,0,0,.35)}
body[data-theme="ouro"] .cell.revealed{background:linear-gradient(180deg,#3a2c12,#241a09);border-color:var(--gold);box-shadow:inset 0 0 10px rgba(233,196,106,.30)}
body[data-theme="ouro"] .cell.revealed::before{border-color:var(--gold)}
body[data-theme="ouro"] .mult{color:var(--gold);text-shadow:0 0 22px rgba(233,196,106,.45)}
body[data-theme="ouro"] .fair-pill{background:rgba(233,196,106,.07);border:1px solid rgba(233,196,106,.28);color:var(--gold)}
/* lobby (cards de jogo / passos / vencedores são injetados via JS com azul fixo) → reveste em dourado */
body[data-theme="ouro"] .game-card,
body[data-theme="ouro"] .home-step,
body[data-theme="ouro"] .hw-row{background:linear-gradient(180deg,#221813,#15100a);border-color:var(--line)}
body[data-theme="ouro"] .game-card.feat{background:linear-gradient(180deg,#2a2012,#1a130a)!important;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 8px 22px rgba(233,196,106,.16)}
body[data-theme="ouro"] .gc-ic{background:radial-gradient(circle at 50% 35%,#3a2c16,#1b1308)}
body[data-theme="ouro"] .gc-hook, body[data-theme="ouro"] .hw-g, body[data-theme="ouro"] .hs-d{color:var(--mut)}
body[data-theme="ouro"] .gc-tag{background:#c9a24a;color:#241704}
body[data-theme="ouro"] .hw-nm{color:var(--txt)} body[data-theme="ouro"] .hw-v{color:#ffe6a3}

/* ============================================================
   PRECISÃO DO TEMA: superfícies que eram cor fixa passam a seguir o tema ouro
   (`body[data-theme]` casa o único skin atual = ouro)
   ============================================================ */
body[data-theme] .stat, body[data-theme] .feat{background:var(--panel);border:1px solid var(--line)}
body[data-theme] .trust-row span{background:var(--panel);border:1px solid var(--line)}
body[data-theme] .ck-day{background:var(--bg2);border:1px solid var(--line)}
body[data-theme] .how-step+.how-step{border-top:1px solid var(--line)}
body[data-theme] .li{border-bottom:1px solid var(--line)}
body[data-theme] .bet-input{border:1px solid var(--line)}
body[data-theme] .chat-sys{background:rgba(0,0,0,.06);color:var(--mut)}
body[data-theme] .chat-input input{background:var(--bg2);border:1px solid var(--line);color:var(--txt)}
body[data-theme] .chat-input{background:var(--panel);border-top:1px solid var(--line)}
body[data-theme] .mine-val{background:var(--bg2);border:1px solid var(--line)}

/* ---- login (brand-hero): logo grande com acento dourado consistente ---- */
.brand-hero .big .b, .brand-hero .big span{font-weight:900}

/* ---------- Missões / conquistas ---------- */
.task{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.task:last-child{border-bottom:none}
.task-cl{opacity:.55}
.task-ic{font-size:22px;flex:0 0 auto;width:30px;text-align:center}
.task-mid{flex:1;min-width:0}
.task-t{font-size:13px;font-weight:700;color:var(--txt)}
.task-bar{height:6px;border-radius:4px;background:var(--bg2);border:1px solid var(--line);overflow:hidden;margin:5px 0 3px}
.task-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:4px;transition:width .4s}
.task-p{font-size:11px;color:var(--mut)}
.task-act{flex:0 0 auto;display:flex;align-items:center;gap:2px}
.task-go{cursor:pointer;border-radius:8px;transition:background .15s}
.task-go:active{background:rgba(127,127,127,.12)}
.task-go-arrow{font-size:20px;font-weight:700;color:var(--mut);line-height:1;margin-left:2px}
.task-reward{font-size:12px;font-weight:800;color:var(--gold)}
.task-done{font-size:12px;font-weight:700;color:var(--green)}
.task-claim{white-space:nowrap;font-size:12px;padding:7px 10px;background:linear-gradient(180deg,var(--green),var(--green2));color:#04231a;border-color:transparent;animation:glow 1.8s ease-in-out infinite}
/* monitor de RTP no painel de Jogo e odds */
.rtp-mon{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 12px;margin-bottom:14px}
.rtp-h{font-size:13px;font-weight:800;margin-bottom:8px}
.rtp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.rtp-k{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px}
.rtp-v{font-size:20px;font-weight:800;line-height:1.2;margin:2px 0}
.rtp-sub{font-size:10px;color:var(--mut)}
.rtp-foot{margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--mut)}
.rtp-good{color:var(--green)}
.rtp-bad{color:var(--red)}
.rtp-warn{color:var(--gold);font-size:11px}

.chat-orig{font-size:11px;opacity:.65;margin-top:4px;border-top:1px dashed rgba(255,255,255,.2);padding-top:3px}

/* superfícies do chat seguem o tema ouro */
body[data-theme] .chat-box{background:var(--bg2)}
body[data-theme] .chat-body{background:transparent !important}

/* sessões de atendimento encerradas (dobráveis) no chat do cliente */
.chat-fold{margin:4px 0}
.chat-fold-h{background:rgba(0,0,0,.12);color:var(--mut);font-size:12px;padding:7px 12px;border-radius:10px;cursor:pointer;text-align:center}
.chat-fold-b{margin-top:6px;opacity:.85}

/* Stepper de aposta nos jogos (slot/plinko/fs): botões mais estreitos p/ o valor "1.00" caber */
.gbet-step .step-btn{flex:0 0 32px;font-size:22px}
.gbet-step .step-val{min-width:0;font-size:17px;padding:0 1px}

/* Ajuda multi-jogo: lista "como jogar cada jogo" (clicável → abre o jogo) */
.how-games{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.how-game{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md,12px);background:var(--panel2);border:1px solid var(--line);color:var(--txt);cursor:pointer;text-align:left;width:100%}
.how-game .hg-ic{font-size:24px;flex:0 0 auto}
.how-game .hg-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.how-game .hg-tx b{font-size:15px}
.how-game .hg-tx span{font-size:12px;color:var(--mut,#9fb3c6)}
.how-game .hg-go{color:var(--gold);font-weight:800;font-size:18px}

/* ===== Missões (Promoções): diárias/conquistas/indicação com barra de progresso ===== */
.mt-grp{font-size:12px;font-weight:800;color:var(--mut);margin:12px 0 4px;text-transform:uppercase;letter-spacing:.03em}
.mt-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.mt-body{flex:1;min-width:0}
.mt-label{font-size:13px;font-weight:700;color:var(--txt)}
.mt-bar{height:6px;border-radius:99px;background:var(--panel2);margin-top:6px;overflow:hidden}
.mt-bar i{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .3s}
.mt-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:74px}
.mt-rew{font-size:13px;font-weight:900;color:var(--gold)}
.mt-claim{background:var(--green);color:#fff;border:none;font-weight:800;padding:5px 12px;border-radius:8px;cursor:pointer}
.mt-done{font-size:11px;color:var(--green);font-weight:700}
.mt-prog{font-size:11px;color:var(--mut);font-weight:700}

/* Dica "gire o celular": só em CELULAR deitado (paisagem + tela baixa + touch). Desktop/admin (pointer fino) nunca vê. */
#rotateHint{display:none}
@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){
  #rotateHint{display:flex;position:fixed;inset:0;z-index:200;background:#0b131c;color:#fff;flex-direction:column;
    align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;font-weight:800;font-size:16px}
  #rotateHint .ri-ic{font-size:52px;animation:riSpin 1.8s ease-in-out infinite}
}
@keyframes riSpin{0%,100%{transform:rotate(0)}50%{transform:rotate(-88deg)}}


/* ============ 统一赌场控件: 筹码 + 步进器 + 系统按钮(覆盖各皮肤,全站一致的赌场质感) ============ */
/* 下注筹码: 所有游戏统一成扑克筹码(圆形/白点边/虚线/分色/只显数字) */
body .chip.qb, body .chip.qbet, body .chip.plkQb, body .chip.fsQb, body .bal-chip{
  position:relative; flex:1 1 0; aspect-ratio:1; width:auto; max-width:44px; height:auto; min-width:0; margin:0 auto;
  padding:0 !important; border:none !important; border-radius:50% !important;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:12px; letter-spacing:-.5px; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.6);
  background:var(--qc,#3a4a5c) !important; background-image:none !important;
  box-shadow:0 3px 7px rgba(0,0,0,.4), inset 0 2px 3px rgba(255,255,255,.32), inset 0 -3px 5px rgba(0,0,0,.34);
  transition:transform .1s ease, box-shadow .15s ease; cursor:pointer;
}
body .chip.qb::before, body .chip.qbet::before, body .chip.plkQb::before, body .chip.fsQb::before, body .bal-chip::before{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:repeating-conic-gradient(rgba(255,255,255,.9) 0 9deg, transparent 9deg 30deg);
  -webkit-mask:radial-gradient(circle, transparent 66%, #000 67%); mask:radial-gradient(circle, transparent 66%, #000 67%); }
body .chip.qb::after, body .chip.qbet::after, body .chip.plkQb::after, body .chip.fsQb::after, body .bal-chip::after{
  content:""; position:absolute; inset:5px; border-radius:50%; border:1.5px dashed rgba(255,255,255,.5); }
/* ====== fichas de QUANTIDADE (direita): tema próprio, NÃO parecem ficha de aposta ====== */
/* Minas = BOMBA (esfera escura + faísca/pavio) */
body .chip.qmine{ position:relative; flex:1 1 0; aspect-ratio:1; max-width:44px; min-width:0; margin:0 auto; padding:0!important; border:none!important; border-radius:50%!important;
  display:flex; align-items:center; justify-content:center; font-weight:900; font-size:13px; color:#fff; text-shadow:0 1px 2px #000;
  background:radial-gradient(circle at 35% 28%, #5b626e 0%, #2c313b 46%, #11141a 100%)!important;
  box-shadow:0 3px 7px rgba(0,0,0,.45), inset 0 2px 4px rgba(255,255,255,.22), inset 0 -3px 6px rgba(0,0,0,.55); cursor:pointer; transition:transform .1s ease, box-shadow .15s ease; overflow:visible; }
body .chip.qmine::before{ content:""; position:absolute; top:-2px; right:30%; width:7px; height:7px; border-radius:50%; background:radial-gradient(circle,#fff6c8 0%,#ff8a1e 55%,transparent 72%); box-shadow:0 0 7px #ff9d2e; animation:fuseSpark 1s ease-in-out infinite; }
body .chip.qmine::after{ content:""; position:absolute; top:2px; right:40%; width:2px; height:6px; background:#7a5230; border-radius:2px; transform:rotate(18deg); }
@keyframes fuseSpark{0%,100%{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
body .chip.qmine.active{ box-shadow:0 0 0 3px var(--gold),0 0 11px rgba(245,166,35,.6),0 3px 7px rgba(0,0,0,.45); transform:translateY(-1px); }
body .chip.qmine:active{ transform:translateY(1px) scale(.94); }
/* Bolas = BOLA DE BILHAR (8-ball): esfera preta + círculo branco com o número */
body .chip.qball{ position:relative; flex:1 1 0; aspect-ratio:1; max-width:44px; min-width:0; margin:0 auto; padding:0!important; border:none!important; border-radius:50%!important;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 34% 27%, #585858 0%, #1b1b1b 50%, #000 100%)!important;
  box-shadow:0 3px 7px rgba(0,0,0,.45), inset 0 -3px 6px rgba(0,0,0,.6); cursor:pointer; transition:transform .1s ease, box-shadow .15s ease; }
body .chip.qball span{ display:flex; align-items:center; justify-content:center; width:60%; height:60%; border-radius:50%;
  background:radial-gradient(circle at 38% 30%, #fff 0%, #e3e3e3 100%); color:#111; font-weight:900; font-size:12px; box-shadow:inset 0 1px 2px rgba(0,0,0,.3); }
body .chip.qball.active{ box-shadow:0 0 0 3px var(--gold),0 0 11px rgba(245,166,35,.6),0 3px 7px rgba(0,0,0,.45); transform:translateY(-1px); }
body .chip.qball:active{ transform:translateY(1px) scale(.94); }
/* 经典面额分色(qbet/plkQb/fsQb=data-v, bal-chip=data-chip) */
[data-v="1"],[data-chip="1"]{--qc:#5d6b7c}
[data-v="5"],[data-chip="5"]{--qc:#d23b3b}
[data-v="10"],[data-chip="10"]{--qc:#2f74e0}
[data-v="20"],[data-v="25"],[data-chip="25"]{--qc:#15a35c}
[data-v="50"],[data-chip="50"]{--qc:#e0871e}
[data-v="100"],[data-chip="100"]{--qc:#8b5cf6}
[data-v="200"],[data-chip="200"]{--qc:#d4a017}
[data-v="max"]{--qc:#d4a017}
body .chip.qb:active, body .chip.qbet:active, body .chip.plkQb:active, body .chip.fsQb:active, body .bal-chip:active{ transform:translateY(1px) scale(.94) }
body .chip.qb.active, body .chip.qbet.active, body .chip.plkQb.active, body .chip.fsQb.active, body .bal-chip.sel{
  box-shadow:0 0 0 3px var(--gold), 0 0 11px rgba(245,166,35,.6), 0 3px 7px rgba(0,0,0,.4), inset 0 2px 3px rgba(255,255,255,.32);
  transform:translateY(-1px) }

/* 步进器: 深色赌场控件,金/绿点缀(覆盖各皮肤) */
body .stepper{ background:linear-gradient(180deg,#22303f,#172230) !important; border:1px solid #3c4d62 !important;
  border-radius:14px !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 2px 7px rgba(0,0,0,.3) !important; }
body .stepper .step-val, body .stepper input{ color:#fff !important; background:transparent !important; }
body .step-btn{ color:#aebccb !important; background:transparent !important; }
body .step-btn[data-d="1"]{ color:var(--green) !important; }
body .step-btn:active{ background:rgba(255,255,255,.12) !important; }

/* 系统按钮(声音/皮肤): 深色圆钮 + 金边,统一赌场感(覆盖各皮肤) */
body .theme-btn{ background:linear-gradient(180deg,#22303f,#172230) !important; border:1px solid #4a5d72 !important;
  color:#e7c66a !important; box-shadow:0 2px 6px rgba(0,0,0,.3) !important; }
body .theme-btn svg{ color:#e7c66a; }

/* 筹码面额 2 = 银色(最低档) */
[data-v="2"],[data-chip="2"]{--qc:#5d6b7c}
/* 主操作按钮(下注态): 赌场绿 + 金边 + 发光。cashout(.cash 金色)/reveal(.wait) 不受影响 */
body .btn-main:not(.cash):not(.wait){
  background:linear-gradient(180deg,#22d977 0%,#16bd66 52%,#0f9f54 100%);
  color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.22); font-weight:800; letter-spacing:.3px;
  border:1.5px solid rgba(245,206,120,.5);
  box-shadow:0 6px 18px rgba(22,199,132,.45), inset 0 2px 0 rgba(255,255,255,.42), inset 0 -4px 10px rgba(0,0,0,.18);
}
body .btn-main:not(.cash):not(.wait):active{ transform:translateY(1px); box-shadow:0 3px 10px rgba(22,199,132,.4), inset 0 2px 0 rgba(255,255,255,.35) }

/* 收手按钮(Retirar): 统一金色(钱=金,区别于绿色"下注/开始"),覆盖各皮肤的绿/黄。不动 box-shadow → 保留 cashBreath 金色呼吸 */
body .btn-main.cash{
  background:linear-gradient(180deg,#ffc94d,#e0901a) !important; color:#3a2400 !important; text-shadow:none !important;
  border:1.5px solid rgba(176,111,18,.55) !important;
}
/* 提示态(点格子/等待): 低调深色,跟暗色赌场控件一致,不抢戏(非动作) */
body .btn-main.wait{
  background:#27323f !important; color:#94a6b8 !important; border:1px solid #3a4a5e !important; box-shadow:none !important; text-shadow:none !important;
}

/* Auto 运行中：把 Auto 边按钮变成醒目的红色「Parar」停止键(不调暗,可点) */
body .chip.auto-stop{
  background:linear-gradient(180deg,#ff5b5b,#d62828) !important; background-image:linear-gradient(180deg,#ff5b5b,#d62828) !important;
  color:#fff !important; border:1.5px solid rgba(255,255,255,.45) !important; text-shadow:0 1px 2px rgba(0,0,0,.35);
  animation:autoStopPulse 1.1s ease-in-out infinite;
}
body .chip.auto-stop small{color:#fff !important;font-weight:800}
@keyframes autoStopPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(214,40,40,.5),0 4px 12px rgba(214,40,40,.4)}
  50%{box-shadow:0 0 0 2px rgba(255,120,120,.75),0 4px 16px rgba(255,90,90,.6)}
}

/* Telas muito estreitas (≤360px: iPhone SE 1ª ger / Androids baratos antigos). Mainstream BR é 360+, então isto só compacta o topo nos aparelhos abaixo do mainstream p/ o CTA de login/depósito não cortar. */
@media (max-width:360px){
  .logo{font-size:16px;gap:5px}
  .logo-emblem{height:20px}
  .demo-badge{font-size:9px;padding:3px 5px;white-space:nowrap}
  .btn-dep{padding:7px 9px;font-size:12px}
  .balance{gap:5px}
  .topbar{padding-left:2px;padding-right:2px}
  /* Plinko: linha Auto+Soltar+⚙ cabe em 320px */
  .plk-side{width:52px!important}
  .plk-actions .btn-main{font-size:15px}
}

/* ===== Modo imersivo do jogo (tela cheia vertical: esconde topo/rodapé do site) ===== */
body.immersive .topbar{display:none!important}
body.immersive .nav{display:none!important}
body.immersive #view{padding-bottom:max(16px,env(safe-area-inset-bottom))}
.game-topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:8px;
  max-width:min(96vw,460px);margin:0 auto 6px;padding:max(8px,env(safe-area-inset-top)) 4px 6px}
.gtb-btn{flex:0 0 auto;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:var(--panel2,#16273a);border:1px solid var(--cellborder,#28425e);color:var(--txt,#eaf2f8);font-size:20px;cursor:pointer}
.gtb-btn:active{transform:scale(.94)}
.gtb-btn svg{width:21px;height:21px;display:block}
.gtb-spacer{flex:1}
.gtb-tag{flex:0 0 auto;display:inline-flex;align-items:center;height:38px;padding:0 10px;border-radius:11px;background:rgba(42,169,230,.14);border:1px solid rgba(42,169,230,.4);color:#3aa0e6;font-size:12px;font-weight:800;white-space:nowrap}
/* boas-vindas enxuto: trunfos em chips */
.wc-adv{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px 0 2px}
.wc-adv span{font-size:12.5px;font-weight:700;color:var(--green,#16c784);background:rgba(22,199,132,.10);border:1px solid rgba(22,199,132,.32);padding:7px 12px;border-radius:999px}
/* ===== Tablet (768–1279px): amplia o jogo inteiro p/ ter mais presença (zoom degrada bem onde não houver suporte) ===== */
@media (min-width:768px) and (max-width:1279px){
  .view-game{zoom:1.3}
}
/* ===== Trilhos laterais (DESKTOP ≥1280px). Mobile/tablet: ocultos — não afeta o celular ===== */
.game-rail{display:none}
@media (min-width:1280px){
  .game-rail{position:fixed;top:0;bottom:0;width:268px;display:flex;flex-direction:column;gap:9px;padding:26px 14px 22px;overflow-y:auto;z-index:6;box-sizing:border-box;scrollbar-width:none}
  .game-rail::-webkit-scrollbar{display:none}
  .rail-left{right:calc(50% + 250px)}
  .rail-right{left:calc(50% + 250px)}
  .rail-title{font-size:12px;font-weight:800;color:var(--mut,#8aa0b3);text-transform:uppercase;letter-spacing:.04em;margin:2px 4px 3px}
  .rail-game{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:13px;border:1px solid var(--cellborder,#28425e);background:var(--panel2,#16273a);color:var(--txt,#eaf2f8);font-weight:700;font-size:14px;cursor:pointer;text-align:left;transition:border-color .12s,transform .1s}
  .rail-game:hover{border-color:var(--gold,#e9c46a)}
  .rail-game.on{border-color:var(--gold,#e9c46a);box-shadow:0 0 0 1px var(--gold,#e9c46a) inset}
  .rail-game:active{transform:scale(.98)}
  .rail-game .rg-ic{font-size:22px;line-height:1}
  .rail-title2{margin-top:10px}
  .rail-recs{display:flex;flex-direction:column;gap:5px}
  .rail-rec{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:var(--panel2,#16273a);border:1px solid var(--cellborder,#28425e);font-size:11.5px;overflow:hidden}
  .rail-rec .rr-g{flex:0 0 auto;font-size:15px;line-height:1}
  .rail-rec .rr-nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt,#eaf2f8);font-weight:700}
  .rail-rec .rr-mx{flex:0 0 auto;color:var(--mut,#8aa0b3);font-weight:700;font-size:10.5px}
  .rail-rec .rr-v{flex:0 0 auto;color:var(--gold,#e9c46a);font-weight:800;white-space:nowrap}
  .rail-rec.rr-new{animation:recIn .4s ease}
  @keyframes recIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
  .rail-wins{display:flex;flex-direction:column;gap:6px}
  .rail-win{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:11px;background:var(--panel2,#16273a);border:1px solid var(--cellborder,#28425e);font-size:12px}
  .rail-win .rw-nm{color:var(--txt,#dfe7f0);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
  .rail-win .rw-g{flex:0 0 auto}
  .rail-win .rw-v{color:var(--gold,#e9c46a);font-weight:800;white-space:nowrap;flex:0 0 auto}
  .rail-cta{margin-top:auto;padding:14px;border-radius:13px;border:none;cursor:pointer;background:linear-gradient(180deg,#16c784,#0fae6e);color:#04231a;font-weight:800;font-size:15px;box-shadow:0 6px 16px rgba(22,199,132,.35)}
  .rail-cta:active{transform:scale(.98)}
}
.gtb-dep{flex:0 0 auto;height:38px;padding:0 14px;border-radius:11px;border:none;cursor:pointer;
  background:linear-gradient(180deg,#16c784,#0fae6e);color:#04231a;font-weight:800;font-size:14px;display:flex;align-items:center;gap:3px;white-space:nowrap}
.gtb-dep:active{transform:scale(.96)}
.gm-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.gm-item{display:flex;align-items:center;gap:13px;padding:13px 10px;border-radius:12px;background:transparent;border:none;
  color:var(--txt,#eaf2f8);font-size:15px;font-weight:600;cursor:pointer;text-align:left;width:100%}
.gm-item:active{background:rgba(255,255,255,.06)}
.gm-item.gm-cur{background:rgba(233,196,106,.10);border:1px solid var(--line)}
.gm-now{margin-left:auto;font-size:11px;font-weight:700;color:var(--gold)}
.gm-item .gm-ic{flex:0 0 auto;width:26px;text-align:center;font-size:19px;display:inline-flex;align-items:center;justify-content:center}
.gm-item .gm-ic svg{width:23px;height:23px}
