/* Games page: lobby + full game screens. The game screens are always dark, like a real game table. */
.gmain{max-width:1100px;margin:0 auto;padding:20px 20px 60px;display:block}
.gmain>*{min-width:0}
#lobby{display:flex;flex-direction:column;gap:18px}
#lobby[hidden],.gv[hidden]{display:none}
@media (max-width:820px){ .gmain{padding:14px 14px 40px} }

/* ---------- lobby ---------- */
.gl-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 24px;border-radius:22px;color:#fff;
  background:radial-gradient(600px 300px at 0% 0%,rgba(139,92,246,.55),transparent 60%),radial-gradient(500px 300px at 100% 100%,rgba(236,72,153,.45),transparent 60%),linear-gradient(135deg,#120c2e,#1d1446 55%,#2a0f3a);box-shadow:0 20px 50px -28px rgba(76,29,149,.8)}
.gl-hero::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.5px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 70%);opacity:.5;pointer-events:none}
.gl-hero-txt{position:relative;z-index:1;min-width:0}
.gl-hero .kicker{color:#fbbf24}
.gl-hero h1{margin:4px 0 6px;font:700 clamp(26px,5vw,38px)/1.05 var(--f-display);letter-spacing:.01em}
.gl-hero p{margin:0;color:rgba(255,255,255,.78);font-size:15px} .gl-hero p b{color:#fbbf24}
.gl-wallet{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}
.gl-wl{font:600 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.gl-pts{font:700 34px/1 var(--f-display);display:flex;align-items:center;gap:8px} .gl-pts i{font-style:normal;color:#fbbf24;font-size:24px}
.gl-today{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.gl-today .g-chip{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.75)} .gl-today .g-chip b{color:#fff}
.gl-today .g-chip.up b{color:#4ade80} .gl-today .g-chip.down b{color:#f87171}
@media (max-width:620px){ .gl-hero{padding:18px} .gl-wallet{width:100%;align-items:flex-start} .gl-today{justify-content:flex-start} }

.gl-ticker{overflow:hidden;border-radius:999px;border:1px solid var(--line);background:var(--glass);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.gl-ticker[hidden]{display:none}
.gl-ticker-in{display:flex;gap:28px;width:max-content;padding:9px 0;animation:gltick 30s linear infinite}
.gl-tk{white-space:nowrap;font-size:13px;color:var(--muted)} .gl-tk b{color:var(--fg)} .gl-tk em{font-style:normal;font-weight:700;color:var(--good)}
@keyframes gltick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .gl-ticker-in{animation:none} }

.gl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){ .gl-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:420px){ .gl-grid{gap:10px} }
.gl-card{position:relative;display:flex;flex-direction:column;text-align:left;padding:0;border:0;border-radius:20px;overflow:hidden;cursor:pointer;color:#fff;font:inherit;background:var(--g1);
  box-shadow:0 14px 34px -20px var(--gs),inset 0 0 0 1px rgba(255,255,255,.1);transition:transform .18s,box-shadow .18s}
.gl-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px var(--gs),inset 0 0 0 1px rgba(255,255,255,.22)}
.gl-card:active{transform:scale(.98)}
.gl-card:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}
.gl-rush{--g1:linear-gradient(160deg,#4c1d95,#1e1b4b 70%);--gs:#7c3aed;grid-column:span 2}
.gl-mines{--g1:linear-gradient(160deg,#065f46,#022c22 75%);--gs:#10b981}
.gl-plinko{--g1:linear-gradient(160deg,#1d4ed8,#0b1a4a 75%);--gs:#3b82f6}
.gl-dice{--g1:linear-gradient(160deg,#be123c,#3b0717 75%);--gs:#f43f5e}
.gl-coin{--g1:linear-gradient(160deg,#b45309,#3a1a02 75%);--gs:#f59e0b}
@media (max-width:900px){ .gl-rush{grid-column:1/-1} }
.gl-art{position:relative;height:130px;display:grid;place-items:center;overflow:hidden}
.gl-rush .gl-art{height:150px}
.gl-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);filter:blur(6px)}
.gl-emoji{position:relative;z-index:2;font-size:64px;line-height:1;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));animation:glfloat 3.2s ease-in-out infinite}
.gl-card:hover .gl-emoji{animation-duration:1.4s}
@keyframes glfloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
.gl-deco{position:absolute;inset:0;pointer-events:none}
.gl-deco.mines{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:14px;opacity:.28;transform:rotate(-8deg) scale(1.2)}
.gl-deco.mines i{border-radius:6px;background:rgba(255,255,255,.35);font-style:normal;display:grid;place-items:center;font-size:14px}
.gl-deco.plinko{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 22px;padding:16px 30px;opacity:.35}
.gl-deco.plinko i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px #93c5fd}
.gl-deco.dice i,.gl-deco.coin i,.gl-deco.rush i{position:absolute;font-style:normal;opacity:.22;font:700 54px var(--f-display)}
.gl-deco.dice i:first-child{left:12%;top:12%;transform:rotate(-18deg)} .gl-deco.dice i:last-child{right:10%;bottom:4%;transform:rotate(14deg)}
.gl-deco.coin i{right:10%;top:14%;width:60px;height:60px;border-radius:50%;border:4px solid rgba(255,255,255,.7);display:grid;place-items:center;font-size:28px}
.gl-deco.rush i{right:8%;top:16%;font-size:40px;opacity:.3;color:#fbbf24}
.gl-deco.rush::before{content:'';position:absolute;left:-10%;bottom:-30%;width:120%;height:90%;border-top:3px solid rgba(251,191,36,.5);border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-12deg)}
.gl-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap;z-index:3}
.gl-badge{font:700 10px var(--f-mono);letter-spacing:.06em;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.2)}
.gl-badge.live{color:#fca5a5;animation:recblink 1.4s infinite}
.gl-badge.resume{background:#16a34a;border-color:#4ade80}
.gl-info{display:flex;flex-direction:column;gap:2px;padding:12px 14px 4px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25))}
.gl-info b{font:700 19px var(--f-display);letter-spacing:.02em}
.gl-info small{font-size:12.5px;color:rgba(255,255,255,.75);line-height:1.3}
.gl-play{margin:10px 14px 14px;align-self:flex-start;padding:8px 18px;border-radius:999px;background:#fff;color:#111;font:700 14px var(--f-display);letter-spacing:.04em;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.gl-card:hover .gl-play{background:#fbbf24}
@media (max-width:420px){ .gl-art{height:104px} .gl-emoji{font-size:52px} .gl-info b{font-size:16px} .gl-info small{font-size:11.5px} .gl-play{margin:8px 12px 12px;padding:7px 14px;font-size:13px} }
.g-rule{margin:0;text-align:center;font-size:12px;color:var(--muted)}

/* ---------- game screen (always dark) ---------- */
.gv{--gbg:#0b0f1e;--gpanel:#121833;--graise:#1a2246;--gline:rgba(148,163,255,.16);--gtxt:#eef1ff;--gmut:#97a0c8;--gacc:#fbbf24;--ggood:#22c55e;--gbad:#ef4444;
  display:flex;flex-direction:column;gap:14px;color:var(--gtxt);color-scheme:dark}
.gv-bar{display:flex;align-items:center;gap:10px;padding:8px;border-radius:16px;background:var(--gbg);border:1px solid var(--gline)}
.gv-back{display:flex;align-items:center;gap:4px;padding:8px 14px 8px 10px;border-radius:12px;border:1px solid var(--gline);background:var(--graise);color:var(--gtxt);font:600 14px inherit;cursor:pointer}
.gv-back{font-family:var(--f-display)} .gv-back:first-letter{font-size:20px}
.gv-back:hover{border-color:var(--gacc)}
.gv-title{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;font-size:22px} .gv-title b{font:700 18px var(--f-display);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gv-bal{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(251,191,36,.06));border:1px solid rgba(251,191,36,.35);font:700 16px var(--f-mono)} .gv-bal i{font-style:normal;color:var(--gacc)}
@media (max-width:480px){ .gv-back span{display:none} .gv-title b{font-size:16px} .gv-bal{padding:7px 10px;font-size:14px} }
.gv-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
@media (max-width:860px){ .gv-body{grid-template-columns:1fr} }
.gv-stage{position:relative;border-radius:22px;overflow:hidden;background:radial-gradient(700px 400px at 50% -10%,var(--stage-tint,rgba(99,102,241,.28)),transparent 70%),var(--gbg);border:1px solid var(--gline);box-shadow:inset 0 0 80px rgba(0,0,0,.5);min-height:300px}
.gv-ctrl{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:22px;background:var(--gpanel);border:1px solid var(--gline)}
.gv-box{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:var(--graise);border:1px solid var(--gline)}
.gv-lbl{display:flex;justify-content:space-between;align-items:baseline;gap:8px} .gv-lbl span{font:600 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gmut)} .gv-lbl small{font-size:12px;color:var(--gmut)}
.gv-amt{font:700 16px var(--f-mono);color:var(--gacc)}
.gv-chips{display:flex;gap:10px;flex-wrap:wrap}
.gv-chip{--c:#2563eb;position:relative;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;color:#fff;font:700 14px var(--f-display);
  background:radial-gradient(circle at 50% 50%,var(--c) 0 52%,transparent 53%),repeating-conic-gradient(var(--c) 0 20deg,#fff 20deg 30deg);
  box-shadow:0 4px 0 rgba(0,0,0,.45),inset 0 0 0 3px rgba(0,0,0,.18);transition:transform .12s}
.gv-chip span{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.gv-chip span::before{content:'';position:absolute;inset:9px;border-radius:50%;border:2px dashed rgba(255,255,255,.55)}
.gv-chip:hover:not(:disabled){transform:translateY(-3px)}
.gv-chip.on{transform:translateY(-5px);box-shadow:0 0 0 3px var(--gacc),0 9px 14px rgba(0,0,0,.5)}
.gv-chip:disabled{opacity:.3;cursor:not-allowed;transform:none}
.gv-stepper{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px}
.gv-step{height:44px;border-radius:12px;border:1px solid var(--gline);background:var(--gpanel);color:var(--gtxt);font:700 22px var(--f-display);cursor:pointer} .gv-step:disabled{opacity:.35}
.mn-mv{text-align:center;font:700 26px var(--f-display)}
.gv-quick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.gv-quick button{padding:8px 0;border-radius:10px;border:1px solid var(--gline);background:var(--gpanel);color:var(--gmut);font:600 13px var(--f-mono);cursor:pointer}
.gv-quick button.on{background:rgba(251,191,36,.16);border-color:var(--gacc);color:var(--gacc)} .gv-quick button:disabled{opacity:.4}
.gv-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:12px;background:var(--gpanel)}
.gv-seg button{padding:10px 4px;border:0;border-radius:9px;background:transparent;color:var(--gmut);font:700 14px var(--f-display);letter-spacing:.03em;cursor:pointer}
.gv-seg button.on{background:linear-gradient(135deg,#fbbf24,#f97316);color:#1a1205}
.gv-go{display:flex;align-items:center;justify-content:center;min-height:62px;border:0;border-radius:16px;cursor:pointer;color:#1a1205;font:700 19px var(--f-display);letter-spacing:.03em;
  background:linear-gradient(180deg,#fcd34d,#f59e0b);box-shadow:0 6px 0 #b45309,0 14px 24px -10px rgba(245,158,11,.8);transition:transform .08s,box-shadow .08s}
.gv-go span{display:flex;flex-direction:column;align-items:center;line-height:1.1} .gv-go small{font:600 12px var(--f-mono);opacity:.75;margin-top:3px}
.gv-go:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 #b45309}
.gv-go:disabled{filter:grayscale(.6) brightness(.7);cursor:not-allowed}
.gv-go.cash{color:#fff;background:linear-gradient(180deg,#4ade80,#16a34a);box-shadow:0 6px 0 #166534,0 14px 26px -8px rgba(34,197,94,.9);animation:gvpulse 1.2s ease-in-out infinite}
.gv-go.wait{background:linear-gradient(180deg,#334155,#1e293b);color:var(--gmut);box-shadow:0 6px 0 #0f172a}
@keyframes gvpulse{50%{box-shadow:0 6px 0 #166534,0 0 0 6px rgba(34,197,94,.25)}}
.gv-sub{padding:11px;border-radius:12px;border:1px dashed var(--gline);background:transparent;color:var(--gmut);font:600 14px inherit;cursor:pointer}
.gv-sub[hidden]{display:none} .gv-sub:hover:not(:disabled){color:var(--gtxt);border-color:var(--gacc)} .gv-sub:disabled{opacity:.4}
.gv-hist{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0} .gv-hist::-webkit-scrollbar{display:none}
.hc{flex:none;padding:5px 9px;border-radius:999px;font:700 12px var(--f-mono);background:var(--graise);border:1px solid var(--gline)}
.hc.w{color:#4ade80;border-color:rgba(74,222,128,.35)} .hc.l{color:#f87171} .hc.e{color:var(--gmut);font-weight:500}
.dc-win-line{font-size:13px;color:var(--gmut);text-align:center} .dc-win-line b{color:#4ade80;font-family:var(--f-mono)}

/* win / lose popup over the stage */
.gv-pop{position:absolute;left:50%;top:50%;z-index:20;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.2,1.6,.4,1),opacity .2s}
.gv-pop.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gv-pop>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 28px;border-radius:20px;background:rgba(8,10,22,.88);border:2px solid var(--ggood);box-shadow:0 0 40px rgba(34,197,94,.5);backdrop-filter:blur(4px);min-width:170px}
.gv-pop.lose>div{border-color:rgba(239,68,68,.7);box-shadow:0 0 30px rgba(239,68,68,.35)}
.gv-pop small{font:700 12px var(--f-mono);letter-spacing:.18em;color:#4ade80} .gv-pop.lose small{color:#f87171}
.gv-pop b{font:700 40px/1.05 var(--f-display);color:#fff} .gv-pop.win b{color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.6)}
.gv-pop span{font:600 13px var(--f-mono);color:var(--gmut)}
.gv-dice .gv-pop,.gv-coin .gv-pop{top:auto;bottom:14px;transform:translate(-50%,0) scale(.6)}
.gv-dice .gv-pop.show,.gv-coin .gv-pop.show{transform:translate(-50%,0) scale(1)}
.gv-dice .gv-pop>div,.gv-coin .gv-pop>div{flex-direction:row;gap:12px;padding:10px 18px} .gv-dice .gv-pop b,.gv-coin .gv-pop b{font-size:28px} .gv-dice .gv-pop>div *,.gv-coin .gv-pop>div *{white-space:nowrap}

.gv-below{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:860px){ .gv-below{grid-template-columns:1fr} }
.gv-card{padding:14px 16px;border-radius:18px;background:var(--gpanel);border:1px solid var(--gline)}
.gv-how summary{cursor:pointer;font:700 15px var(--f-display);letter-spacing:.03em}
.gv-how ol{margin:10px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--gmut);font-size:14px;line-height:1.45}
.gv-lb-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px} .gv-lb-h b{font:700 15px var(--f-display);letter-spacing:.03em} .gv-lb-h small{font:11px var(--f-mono);color:var(--gmut)}
.gv-lb-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.gv-lb-l li{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--graise)}
.gv-lb-l li.me{box-shadow:inset 0 0 0 1px var(--gacc)}
.gv-lb-l b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px} .gv-lb-l .mx{font:12px var(--f-mono);color:var(--gmut)} .gv-lb-l .wn{font:700 14px var(--f-mono);color:#4ade80}
.gv-empty{margin:4px 0;color:var(--gmut);font-size:14px}
.gv .g-rule{color:var(--muted)}

/* ---------- 💣 Mines ---------- */
.gv-mines .gv-stage{--stage-tint:rgba(16,185,129,.25)}
.gv-stage.boom{animation:gvshake .45s}
@keyframes gvshake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
.mn-stage{display:flex;flex-direction:column;gap:14px;padding:16px}
.mn-hud{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}
.mn-hud>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--gline)}
.mn-hud small{font:600 11px var(--f-mono);letter-spacing:.06em;color:var(--gmut);text-transform:uppercase}
.mn-hud b{font:700 18px var(--f-mono)} .mn-hud .big{font:700 26px var(--f-display);color:#4ade80;text-shadow:0 0 16px rgba(74,222,128,.45)}
.mn-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:min(100%,470px,calc(100cqh - 120px));margin:0 auto}
.mt{position:relative;aspect-ratio:1;border:0;border-radius:14px;padding:0;cursor:pointer;color:#fff;font-size:30px;
  background:linear-gradient(180deg,#2f3b6b,#222b52);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 5px 0 #141a36;transition:transform .12s,filter .12s}
.mt .mt-in{display:grid;place-items:center;width:100%;height:100%}
.mt.live:not(:disabled):hover{transform:translateY(-3px);filter:brightness(1.25)}
.mt.live:not(:disabled):active{transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 1px 0 #141a36}
.mt:disabled{cursor:default}
.mt.busy{animation:mtbusy .5s infinite alternate}
@keyframes mtbusy{to{filter:brightness(1.6)}}
.mt.gem{background:radial-gradient(circle at 50% 40%,#34d399,#047857 70%);box-shadow:inset 0 0 18px rgba(255,255,255,.25),0 0 22px rgba(52,211,153,.55),0 4px 0 #064e3b}
.mt.gem .mt-in{animation:mtpop .35s cubic-bezier(.2,1.8,.4,1)}
.mt.mine{background:radial-gradient(circle at 50% 40%,#7f1d1d,#3b0a0a 75%);box-shadow:inset 0 0 0 1px rgba(239,68,68,.5),0 4px 0 #2a0505}
.mt.hit{background:radial-gradient(circle,#fca5a5,#dc2626 50%,#7f1d1d);box-shadow:0 0 0 3px #fca5a5,0 0 40px rgba(239,68,68,.9);z-index:2}
.mt.hit .mt-in{animation:mtboom .5s}
.mt.dim{opacity:.4}
@keyframes mtpop{0%{transform:scale(.2) rotate(-30deg)}100%{transform:scale(1) rotate(0)}}
@keyframes mtboom{0%{transform:scale(.4)}50%{transform:scale(1.5)}100%{transform:scale(1)}}
.mn-foot{display:flex;justify-content:space-between;font:12px var(--f-mono);color:var(--gmut)} .mn-foot b{color:#f87171}

/* ---------- 🔵 Plinko ---------- */
.gv-plinko .gv-stage{--stage-tint:rgba(59,130,246,.3)}
.pk-stage{position:relative;padding:12px}
.pk-board{position:relative;width:100%;max-width:560px;margin:0 auto;aspect-ratio:1/0.98}
.pk-peg{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#e0e7ff;box-shadow:0 0 6px rgba(165,180,252,.8)}
.pk-peg.hit{animation:peghit .35s}
@keyframes peghit{0%{transform:scale(2.1);background:#fde68a;box-shadow:0 0 16px #fbbf24}100%{transform:scale(1)}}
.pk-ball{position:absolute;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#fde047 35%,#f97316);box-shadow:0 0 14px #fb923c,0 0 30px rgba(251,146,60,.5);z-index:3}
.pk-slots{position:absolute;left:0;right:0;top:86.5%;height:8.5%}
.pk-slot{--sc:#f59e0b;position:absolute;top:0;height:100%;transform:translateX(-50%);display:grid;place-items:center;border-radius:7px;font:700 11px var(--f-mono);color:#1a1205;
  background:linear-gradient(180deg,var(--sc),color-mix(in srgb,var(--sc) 70%,#000));box-shadow:0 4px 0 color-mix(in srgb,var(--sc) 45%,#000)}
.pk-slot.pop{animation:slotpop2 .5s}
@keyframes slotpop2{0%,100%{transform:translateX(-50%) translateY(0)}35%{transform:translateX(-50%) translateY(7px);filter:brightness(1.5);box-shadow:0 0 18px var(--sc)}}
.pk-recent{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:5px;z-index:4}
.pk-rc{--sc:#f59e0b;padding:4px 8px;border-radius:8px;font:700 11px var(--f-mono);color:#1a1205;background:var(--sc);animation:mtpop .3s}
.pk-rc:nth-child(n+2){opacity:.75} .pk-rc:nth-child(n+4){opacity:.45}

/* ---------- 🎲 Dice ---------- */
.gv-dice .gv-stage{--stage-tint:rgba(244,63,94,.28)}
.dc-stage{display:flex;flex-direction:column;justify-content:center;gap:12px;height:100%;padding:18px 18px 74px}
.dc-big{font:700 clamp(54px,14cqw,92px)/1 var(--f-display);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.dc-big.rolling{color:var(--gmut)} .dc-big.win{color:#4ade80;text-shadow:0 0 30px rgba(74,222,128,.5)} .dc-big.lose{color:#f87171}
.dc-sub{margin:-6px 0 6px;text-align:center;color:var(--gmut);font-size:14px}
.dc-track{position:relative;height:44px;padding:0 4px;display:flex;align-items:center;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--gline)}
.dc-bar{position:absolute;left:14px;right:14px;height:12px;border-radius:99px;background:linear-gradient(90deg,#b91c1c,#ef4444);overflow:hidden}
.dc-win{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#16a34a,#4ade80);transition:width .12s}
.dc-range{position:relative;z-index:2;width:calc(100% - 20px);margin:0 10px;-webkit-appearance:none;appearance:none;background:transparent;height:44px;cursor:pointer}
.dc-range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:9px;background:linear-gradient(180deg,#fff,#cbd5e1);border:3px solid #0b0f1e;box-shadow:0 0 0 2px #fbbf24,0 4px 10px rgba(0,0,0,.5)}
.dc-range::-moz-range-thumb{width:26px;height:26px;border-radius:9px;background:#fff;border:3px solid #0b0f1e;box-shadow:0 0 0 2px #fbbf24}
.dc-range::-moz-range-track{background:transparent}
.dc-mark{position:absolute;bottom:calc(100% + 4px);z-index:3;transform:translateX(-50%);transition:left .45s cubic-bezier(.2,1.2,.4,1)}
.dc-mark[hidden]{display:none}
.dc-mark span{display:block;padding:5px 9px;border-radius:9px;font:700 13px var(--f-mono);color:#fff;background:#16a34a;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.dc-mark.lose span{background:#dc2626}
.dc-mark::after{content:'';position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#16a34a}
.dc-mark.lose::after{border-top-color:#dc2626}
.dc-track{margin-top:30px}
.dc-scale{display:flex;justify-content:space-between;padding:0 14px;font:11px var(--f-mono);color:var(--gmut)}
.dc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dc-stats>div{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--gline)}
.dc-stats small{font:600 11px var(--f-mono);color:var(--gmut);text-transform:uppercase;letter-spacing:.05em} .dc-stats b{font:700 18px var(--f-mono)}

/* ---------- 🪙 Coin Flip ---------- */
.gv-coin .gv-stage{--stage-tint:rgba(245,158,11,.3)}
.cf-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:360px;padding:30px 10px 70px;perspective:900px}
.cf-streak{position:absolute;top:14px;font:700 14px var(--f-display);color:#fb923c;letter-spacing:.04em;min-height:1em}
.cf-toss{position:relative;z-index:2}
.cf-toss.up{animation:cftoss 1.4s cubic-bezier(.3,0,.4,1)}
@keyframes cftoss{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-120px) scale(1.12)}85%{transform:translateY(0) scale(1)}92%{transform:translateY(-10px)}100%{transform:translateY(0)}}
.cf-coin{position:relative;width:180px;height:180px;transform-style:preserve-3d;transition:transform 1.4s cubic-bezier(.25,.6,.3,1)}
.cf-face{position:absolute;inset:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background:radial-gradient(circle at 32% 28%,#fff7c2,#fbbf24 40%,#b45309 85%);box-shadow:inset 0 0 0 7px #d97706,inset 0 0 0 10px #fde68a,inset 0 -10px 24px rgba(120,53,15,.5),0 10px 30px rgba(0,0,0,.45);color:#78350f}
.cf-face.t{transform:rotateX(180deg);background:radial-gradient(circle at 32% 28%,#ffffff,#cbd5e1 40%,#64748b 85%);box-shadow:inset 0 0 0 7px #94a3b8,inset 0 0 0 10px #f1f5f9,inset 0 -10px 24px rgba(30,41,59,.5),0 10px 30px rgba(0,0,0,.45);color:#1e293b}
.cf-ring{position:absolute;inset:18px;border-radius:50%;border:2px dashed currentColor;opacity:.35}
.cf-face b{font-size:62px;line-height:1;filter:drop-shadow(0 3px 2px rgba(0,0,0,.25))}
.cf-face small{font:700 15px var(--f-display);letter-spacing:.25em}
.cf-shadow{width:150px;height:18px;margin-top:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.6),transparent 70%)}
.cf-shadow.up{animation:cfshadow 1.4s cubic-bezier(.3,0,.4,1)}
@keyframes cfshadow{45%{transform:scale(.45);opacity:.4}85%,100%{transform:scale(1);opacity:1}}
.cf-sides{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cf-side{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:14px;border:2px solid var(--gline);background:var(--gpanel);color:var(--gtxt);cursor:pointer;font:inherit}
.cf-side span{font-size:28px} .cf-side b{font:700 15px var(--f-display);letter-spacing:.06em}
.cf-side.on.heads{border-color:#fbbf24;background:rgba(251,191,36,.14);box-shadow:0 0 18px rgba(251,191,36,.25)}
.cf-side.on.tails{border-color:#cbd5e1;background:rgba(203,213,225,.12);box-shadow:0 0 18px rgba(203,213,225,.2)}
.cf-side:disabled{opacity:.6}
@media (prefers-reduced-motion:reduce){ .gl-emoji,.gv-go.cash{animation:none} }

/* ---------- lobby cards for the new games ---------- */
.gl-slots{--g1:linear-gradient(160deg,#a21caf,#3b0764 75%);--gs:#d946ef}
.gl-fish{--g1:linear-gradient(170deg,#0891b2,#083344 75%);--gs:#06b6d4}
.gl-wheel{--g1:linear-gradient(160deg,#ca8a04,#3f2a03 75%);--gs:#eab308}
.gl-chicken{--g1:linear-gradient(160deg,#65a30d,#1a2e05 75%);--gs:#84cc16}
.gl-hilo{--g1:linear-gradient(160deg,#047857,#022c22 75%);--gs:#10b981}
.gl-deco.slots{display:flex;justify-content:space-around;align-items:center;padding:0 10px;opacity:.28}
.gl-deco.slots i{font-style:normal;font-size:40px;width:56px;height:70px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.25)}
.gl-deco.fish i{position:absolute;font-style:normal;opacity:.35;font-size:30px}
.gl-deco.fish i:nth-child(1){left:8%;top:18%} .gl-deco.fish i:nth-child(2){right:6%;top:10%;font-size:44px;transform:scaleX(-1)} .gl-deco.fish i:nth-child(3){left:20%;bottom:6%} .gl-deco.fish i:nth-child(4){right:24%;bottom:12%;font-size:18px} .gl-deco.fish i:nth-child(5){left:42%;top:6%;font-size:14px}
.gl-deco.wheel i{position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;opacity:.3;background:repeating-conic-gradient(#fff 0 18deg,transparent 18deg 36deg);animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.gl-deco.chicken{background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.25) 46px 49px);opacity:.6}
.gl-deco.chicken i{position:absolute;font-style:normal;font-size:28px;opacity:.6}
.gl-deco.chicken i:first-child{left:14%;top:8%;transform:rotate(90deg)} .gl-deco.chicken i:last-child{right:16%;bottom:8%;transform:rotate(-90deg)}
.gl-deco.hilo i{position:absolute;font-style:normal;width:46px;height:64px;border-radius:7px;background:#fff;color:#111;font:700 18px var(--f-display);display:grid;place-items:center;opacity:.35}
.gl-deco.hilo i:first-child{left:12%;top:14%;transform:rotate(-14deg)} .gl-deco.hilo i:last-child{right:12%;top:20%;transform:rotate(12deg);color:#dc2626}

/* ---------- 🎰 Slots ---------- */
.gv-slots .gv-stage{--stage-tint:rgba(217,70,239,.3)}
.sl-stage{padding:14px}
.sl-machine{position:relative;padding:16px 14px 14px;border-radius:24px;background:linear-gradient(180deg,#7c2d12,#451a03);box-shadow:inset 0 0 0 4px #f59e0b,inset 0 0 0 7px #78350f,0 18px 40px -16px rgba(0,0,0,.8)}
.sl-lights{position:absolute;inset:4px;pointer-events:none;display:flex;justify-content:space-between;padding:0 18px}
.sl-lights i{width:7px;height:7px;margin-top:2px;border-radius:50%;background:#fde68a;box-shadow:0 0 8px #fbbf24;animation:slblink 1s infinite}
.sl-lights i:nth-child(2n){animation-delay:.5s}
@keyframes slblink{50%{opacity:.25}}
.sl-title{text-align:center;font:700 clamp(18px,4.5vw,26px) var(--f-display);letter-spacing:.14em;color:#fde68a;text-shadow:0 0 12px rgba(251,191,36,.8),0 2px 0 #92400e;margin:4px 0 10px}
.sl-free{position:absolute;left:50%;top:44px;transform:translateX(-50%);z-index:6;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff;font:700 14px var(--f-display);letter-spacing:.06em;white-space:nowrap;box-shadow:0 0 20px rgba(236,72,153,.7)}
.sl-free[hidden]{display:none}
.sl-window{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;border-radius:14px;background:#140a02;box-shadow:inset 0 6px 18px rgba(0,0,0,.8)}
.sl-reel{position:relative;aspect-ratio:1/3;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#d6d3d1,#fff 18%,#fff 82%,#d6d3d1);box-shadow:inset 0 10px 14px -8px rgba(0,0,0,.6),inset 0 -10px 14px -8px rgba(0,0,0,.6)}
.sl-strip{display:flex;flex-direction:column;height:100%}
.sl-reel.spin .sl-sym{filter:blur(1.2px)}
.sl-sym{flex:none;height:33.333%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(26px,7.5vw,48px);line-height:1;position:relative;transition:transform .2s}
.sl-sym small{font:700 9px var(--f-mono);letter-spacing:.1em;margin-top:2px;padding:1px 5px;border-radius:5px}
.s-wild small{background:#f59e0b;color:#fff} .s-scatter small{background:#9333ea;color:#fff}
.sl-sym.win{animation:slwin .6s ease-in-out infinite alternate;z-index:2}
.sl-sym.win::after{content:'';position:absolute;inset:4px;border-radius:10px;border:3px solid #facc15;box-shadow:0 0 14px #facc15,inset 0 0 14px rgba(250,204,21,.5)}
@keyframes slwin{to{transform:scale(1.12)}}
.sl-lines{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);pointer-events:none;z-index:3}
.sl-lines polyline{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.85;filter:drop-shadow(0 0 4px rgba(0,0,0,.6));stroke-dasharray:1200;stroke-dashoffset:1200;animation:sldraw .6s forwards}
@keyframes sldraw{to{stroke-dashoffset:0}}
.sl-meter{display:flex;justify-content:center;align-items:baseline;gap:10px;margin-top:10px;padding:8px;border-radius:12px;background:#000;box-shadow:inset 0 0 0 2px #78350f}
.sl-meter span{font:700 12px var(--f-mono);letter-spacing:.2em;color:#f87171} .sl-meter b{font:700 26px var(--f-mono);color:#fde047;text-shadow:0 0 10px rgba(253,224,71,.6);min-width:3ch;text-align:center}
.gv-stage.sl-hit .sl-machine{animation:slflash .5s}
@keyframes slflash{40%{box-shadow:inset 0 0 0 4px #fde047,inset 0 0 0 7px #78350f,0 0 50px rgba(250,204,21,.8)}}
.gv-stage.sl-bonus .sl-window{box-shadow:inset 0 6px 18px rgba(0,0,0,.8),0 0 0 3px #d946ef,0 0 30px rgba(217,70,239,.6)}
.sl-spin{font-size:24px;letter-spacing:.16em}
.sl-info{text-align:center;font-size:13px;color:var(--gmut)} .sl-info b{color:var(--gacc);font-family:var(--f-mono)}
.sl-pay summary{cursor:pointer;font:700 14px var(--f-display);letter-spacing:.03em}
.sl-pay-g{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.sl-pay-g div{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:8px;background:var(--gpanel)} .sl-pay-g span{font-size:22px;width:30px;text-align:center} .sl-pay-g small{font:12px var(--f-mono);color:var(--gmut)} .sl-pay-g b{color:var(--gtxt)}
.sl-pay .hint{margin:8px 0 0;font-size:12px;color:var(--gmut)}

/* ---------- 🐟 Fishing ---------- */
.gv-fish .gv-stage{--stage-tint:rgba(6,182,212,.2)}
.fs-stage{padding:0}
.fs-sea{position:relative;width:100%;aspect-ratio:16/11;overflow:hidden;cursor:crosshair;touch-action:manipulation;user-select:none;-webkit-user-select:none;
  background:radial-gradient(120% 70% at 50% -10%,rgba(125,211,252,.55),transparent 60%),linear-gradient(180deg,#0e7490 0%,#155e75 35%,#0c4a6e 70%,#082f49 100%)}
@media (max-width:640px){ .fs-sea{aspect-ratio:3/4} }
.fs-rays{position:absolute;inset:0;background:repeating-linear-gradient(100deg,rgba(255,255,255,.07) 0 30px,transparent 30px 90px);animation:fsrays 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes fsrays{to{transform:translateX(-40px)}}
.fs-bubbles i{position:absolute;bottom:-20px;width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);animation:fsbub 6s linear infinite}
@keyframes fsbub{to{transform:translateY(-120vh) translateX(10px)}}
.fs-floor{position:absolute;left:0;right:0;bottom:0;padding:0 8px;display:flex;justify-content:space-between;font-size:28px;opacity:.75;pointer-events:none;background:linear-gradient(0deg,rgba(120,53,15,.5),transparent);height:56px;align-items:flex-end}
.fs-fish{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;cursor:crosshair;z-index:2;line-height:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4))}
.fs-fish .fs-e{display:block}
.fs-fish small{font:700 10px var(--f-mono);color:#fff;background:rgba(0,0,0,.45);padding:1px 5px;border-radius:6px;margin-top:2px}
.fs-fish.boss small{background:#dc2626}
.fs-fish.boss{filter:drop-shadow(0 0 14px rgba(250,204,21,.8))}
.fs-fish.lock::before{content:'';position:absolute;inset:-14%;border:2px dashed #f87171;border-radius:50%;animation:spin 3s linear infinite}
.fs-fish.hit .fs-e{animation:fshit .25s}
@keyframes fshit{50%{filter:brightness(2.2) sepia(1) hue-rotate(-30deg)}}
.fs-fish.dying{pointer-events:none;animation:fsdie .9s forwards}
@keyframes fsdie{30%{transform:translate(-50%,-50%) scale(1.25) rotate(20deg)}100%{transform:translate(-50%,-50%) scale(.2) rotate(380deg);opacity:0}}
.fs-cannon{--a:0deg;position:absolute;left:50%;bottom:4px;width:80px;height:80px;margin-left:-40px;z-index:5;pointer-events:none}
.fs-barrel{position:absolute;left:50%;bottom:30px;width:18px;height:54px;margin-left:-9px;border-radius:9px 9px 4px 4px;background:linear-gradient(90deg,#64748b,#e2e8f0,#64748b);transform-origin:50% 100%;transform:rotate(var(--a));transition:transform .08s;box-shadow:0 0 0 2px #0f172a}
.fs-cannon[data-lv="2"] .fs-barrel{background:linear-gradient(90deg,#15803d,#86efac,#15803d);width:22px;margin-left:-11px}
.fs-cannon[data-lv="3"] .fs-barrel{background:linear-gradient(90deg,#1d4ed8,#93c5fd,#1d4ed8);width:26px;margin-left:-13px}
.fs-cannon[data-lv="4"] .fs-barrel{background:linear-gradient(90deg,#b45309,#fde68a,#b45309);width:30px;margin-left:-15px}
.fs-base{position:absolute;left:50%;bottom:0;width:70px;height:40px;margin-left:-35px;border-radius:35px 35px 8px 8px;background:radial-gradient(circle at 50% 30%,#475569,#0f172a);box-shadow:0 0 0 3px #fbbf24}
.fs-bullet{position:absolute;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:radial-gradient(circle,#fff,#fbbf24);box-shadow:0 0 12px #fbbf24;z-index:4;pointer-events:none}
.fs-bullet.lv2{background:radial-gradient(circle,#fff,#4ade80);box-shadow:0 0 12px #4ade80} .fs-bullet.lv3{background:radial-gradient(circle,#fff,#60a5fa);box-shadow:0 0 14px #60a5fa;width:14px;height:14px} .fs-bullet.lv4{background:radial-gradient(circle,#fff,#f97316);box-shadow:0 0 18px #f97316;width:16px;height:16px}
.fs-net{position:absolute;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;border:3px solid rgba(255,255,255,.8);background:repeating-linear-gradient(45deg,transparent 0 7px,rgba(255,255,255,.35) 7px 9px),repeating-linear-gradient(-45deg,transparent 0 7px,rgba(255,255,255,.35) 7px 9px);animation:fsnet .45s forwards;pointer-events:none;z-index:3}
@keyframes fsnet{from{transform:scale(.3);opacity:1}to{transform:scale(1.1);opacity:0}}
.fs-pay{position:absolute;transform:translate(-50%,-50%);z-index:6;font:700 22px var(--f-display);color:#fde047;text-shadow:0 2px 0 #92400e,0 0 12px rgba(253,224,71,.8);animation:fspay 1.4s forwards;pointer-events:none}
.fs-pay.big{font-size:36px}
@keyframes fspay{0%{transform:translate(-50%,-50%) scale(.4)}20%{transform:translate(-50%,-80%) scale(1.2)}100%{transform:translate(-50%,-200%) scale(1);opacity:0}}
.fs-coin{position:absolute;font-style:normal;font-size:18px;z-index:5;pointer-events:none;animation:fscoin 1s ease-out forwards}
@keyframes fscoin{to{transform:translate(var(--dx),var(--dy));opacity:0}}
.fs-hud{position:absolute;left:10px;top:10px;z-index:6;display:flex;gap:6px;pointer-events:none}
.fs-hud span{padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.45);font:600 12px var(--f-mono);color:#e0f2fe} .fs-hud .up b{color:#4ade80} .fs-hud .down b{color:#f87171}
.fs-tip{position:absolute;left:50%;top:44%;transform:translateX(-50%);z-index:6;padding:8px 16px;border-radius:999px;background:rgba(0,0,0,.5);font:700 15px var(--f-display);pointer-events:none;animation:recblink 1.6s infinite}
.fs-tip[hidden]{display:none}
.fs-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.fs-legend span{display:flex;align-items:center;gap:4px;padding:5px 6px;border-radius:9px;background:var(--gpanel)} .fs-legend i{font-style:normal;font-size:20px} .fs-legend b{font:700 12px var(--f-mono);color:var(--gacc)}

/* ---------- 🎡 Wheel ---------- */
.gv-wheel .gv-stage{--stage-tint:rgba(234,179,8,.25)}
.wh-stage{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 14px 70px}
.wh-wrap{position:relative;width:min(400px,calc(100cqw - 28px),calc(100cqh - 150px));aspect-ratio:1}
.wh-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 16px 30px rgba(0,0,0,.6))}
.wh-svg g{transform-origin:0 0}
.wh-ring{fill:none;stroke:#fbbf24;stroke-width:5;filter:drop-shadow(0 0 8px rgba(251,191,36,.6))}
.wh-t{font:700 8px var(--f-mono);fill:#fff;text-anchor:middle;dominant-baseline:middle}
.wh-pin{position:absolute;left:50%;top:-14px;z-index:3;width:0;height:0;margin-left:-14px;border:14px solid transparent;border-top:26px solid #fbbf24;filter:drop-shadow(0 3px 3px rgba(0,0,0,.6))}
.wh-hub{position:absolute;left:50%;top:50%;width:30%;height:30%;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#334155,#0b0f1e);box-shadow:0 0 0 5px #fbbf24,0 8px 20px rgba(0,0,0,.6)}
.wh-hub b{font:700 22px var(--f-display)} .wh-hub.win b{color:#4ade80} .wh-hub.lose b{color:#f87171}
.wh-legend{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.wh-legend span{display:flex;flex-direction:column;align-items:center;padding:5px 10px;border-radius:10px;background:rgba(255,255,255,.05);border-bottom:3px solid var(--c)} .wh-legend b{font:700 13px var(--f-mono)} .wh-legend small{font-size:11px;color:var(--gmut)}
.gv-wheel .gv-pop{top:auto;bottom:14px;transform:translate(-50%,0) scale(.6)} .gv-wheel .gv-pop.show{transform:translate(-50%,0) scale(1)}
.gv-wheel .gv-pop>div{flex-direction:row;gap:12px;padding:10px 18px} .gv-wheel .gv-pop b{font-size:28px} .gv-wheel .gv-pop>div *{white-space:nowrap}

/* ---------- 🐔 Chicken Road ---------- */
.gv-chicken .gv-stage{--stage-tint:rgba(132,204,22,.22)}
.ck-stage{display:flex;flex-direction:column;gap:12px;padding:14px}
.ck-scroll{overflow-x:auto;scrollbar-width:thin;border-radius:14px}
.ck-road{position:relative;display:flex;height:280px;width:max-content;background:#2a2f3a}
.ck-side{flex:none;width:76px;display:grid;place-items:center;background:repeating-linear-gradient(0deg,#64748b 0 18px,#475569 18px 36px);font:700 12px var(--f-mono);color:#e2e8f0}
.ck-side span{writing-mode:vertical-rl;letter-spacing:.3em} .ck-side.end{font-size:30px} .ck-side.end span{writing-mode:horizontal-tb;letter-spacing:0}
.ck-lane{position:relative;flex:none;width:68px;border-right:3px dashed rgba(255,255,255,.35);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12px;overflow:hidden}
.ck-lane:last-of-type{border-right:0}
.ck-m{position:relative;z-index:2;padding:4px 7px;border-radius:8px;font:700 12px var(--f-mono);background:rgba(0,0,0,.55);color:#e2e8f0;border:1px solid rgba(255,255,255,.15)}
.ck-lane.next .ck-m{background:#fbbf24;color:#1a1205;box-shadow:0 0 14px rgba(251,191,36,.7)}
.ck-lane.done{background:rgba(74,222,128,.08)} .ck-lane.done .ck-m{background:#16a34a;color:#fff}
.ck-car{position:absolute;left:50%;top:-60px;font-size:40px;transform:translateX(-50%) rotate(90deg);animation:ckdrive 3.2s linear infinite;opacity:.9}
.ck-lane:nth-child(2n) .ck-car{animation-duration:2.4s;animation-delay:-1s} .ck-lane:nth-child(3n) .ck-car{animation-duration:4s;animation-delay:-2.2s} .ck-lane:nth-child(5n) .ck-car{animation-duration:2s;animation-delay:-.4s}
@keyframes ckdrive{to{top:330px}}
.ck-lane.done .ck-car{display:none}
.ck-bar{position:absolute;top:40%;left:50%;transform:translateX(-50%);font-size:28px;display:none}
.ck-lane.done .ck-bar{display:block}
.ck-lane.crash .ck-car{animation:ckcrash .35s forwards;display:block}
@keyframes ckcrash{from{top:-60px}to{top:120px}}
.ck-lane.hit{background:rgba(239,68,68,.25)}
.ck-hen{position:absolute;top:44%;z-index:4;font-size:46px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 6px rgba(0,0,0,.5))}
.ck-hen.hop{animation:ckhop .35s}
@keyframes ckhop{50%{transform:translate(-50%,-90%) scale(1.1)}}
.ck-hen.dead{font-size:56px;animation:mtboom .5s}
.gv-seg.four{grid-template-columns:repeat(4,1fr)} .gv-seg.four button{font-size:12.5px}
.ck-btns{display:grid;grid-template-columns:1fr;gap:10px}
.ck-btns:has(.cash:not([hidden])){grid-template-columns:1fr 1fr}
.ck-btns .gv-go[hidden]{display:none}

/* ---------- 🃏 Hi-Lo ---------- */
.gv-hilo .gv-stage{--stage-tint:rgba(16,185,129,.18)}
.hl-stage{display:flex;flex-direction:column;gap:14px;padding:14px}
.hl-table{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;min-height:250px;border-radius:120px/60px;background:radial-gradient(ellipse at 50% 40%,#15803d,#064e3b 75%);box-shadow:inset 0 0 0 6px #78350f,inset 0 0 0 9px #a16207,inset 0 0 40px rgba(0,0,0,.5)}
.hl-deck{position:relative;width:96px;height:136px} .hl-deck .hl-card{position:absolute;left:0;top:0} .hl-deck .hl-card:last-child{left:4px;top:-4px}
.hl-card{position:relative;width:110px;height:154px;border-radius:12px;background:#fff;color:#111;box-shadow:0 10px 24px rgba(0,0,0,.5);display:grid;place-items:center;flex:none}
.hl-card.red{color:#dc2626}
.hl-card b{font-size:56px;line-height:1}
.hl-card .tl,.hl-card .br{position:absolute;display:flex;flex-direction:column;align-items:center;font:700 20px/1 var(--f-display)} .hl-card .tl{left:8px;top:8px} .hl-card .br{right:8px;bottom:8px;transform:rotate(180deg)}
.hl-card .tl i,.hl-card .br i{font-style:normal;font-size:16px}
.hl-card.back{background:repeating-linear-gradient(45deg,#1e3a8a 0 8px,#1e40af 8px 16px);box-shadow:inset 0 0 0 5px #fff,0 10px 24px rgba(0,0,0,.5)}
.hl-deck .hl-card{width:96px;height:136px}
.hl-card.flip{animation:hlflip .38s ease-out}
@keyframes hlflip{0%{transform:rotateY(90deg) translateX(-40px)}100%{transform:rotateY(0)}}
.hl-card.bad{box-shadow:0 0 0 4px #ef4444,0 0 30px rgba(239,68,68,.8)}
.hl-card.sm{width:44px;height:62px;border-radius:7px} .hl-card.sm b{font-size:20px} .hl-card.sm .tl{left:4px;top:3px;font-size:11px} .hl-card.sm .tl i{font-size:9px} .hl-card.sm .br{display:none}
.hl-card.skip{opacity:.55}
.hl-trail{display:flex;gap:6px;overflow-x:auto;min-height:84px;padding:2px}
.hl-tc{display:flex;flex-direction:column;align-items:center;gap:2px} .hl-tc span{font-size:13px} .hl-tc .ok{color:#4ade80}
.hl-gs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hl-g{display:flex;align-items:center;justify-content:center;min-height:70px;padding:8px;border:0;border-radius:16px;cursor:pointer;color:#fff;font:inherit;box-shadow:0 5px 0 rgba(0,0,0,.4)}
.hl-g span{display:flex;flex-direction:column;align-items:center;gap:3px} .hl-g b{font:700 15px var(--f-display);letter-spacing:.02em} .hl-g small{font:600 12px var(--f-mono);opacity:.85}
.hl-g.hi{background:linear-gradient(180deg,#22c55e,#15803d)} .hl-g.lo{background:linear-gradient(180deg,#ef4444,#b91c1c)}
.hl-g:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.4)}
.hl-g:disabled{filter:grayscale(.8) brightness(.6);cursor:not-allowed}
@media (max-width:420px){ .hl-card{width:92px;height:130px} .hl-card b{font-size:44px} .hl-deck{display:none} }

.gv-slots .gv-pop{top:auto;bottom:10px;transform:translate(-50%,0) scale(.6)} .gv-slots .gv-pop.show{transform:translate(-50%,0) scale(1)}
.gv-slots .gv-pop>div{flex-direction:row;gap:12px;padding:10px 18px} .gv-slots .gv-pop b{font-size:28px} .gv-slots .gv-pop>div *{white-space:nowrap}
.gv-slots .sl-stage{padding-bottom:70px}

/* ======================================================================= full-screen games */
body.gx-on{overflow:hidden}
body.gx-on #nav,body.gx-on .bnav,body.gx-on .gmain>#lobby{display:none!important}
body.gx-on.has-bnav{padding-bottom:0!important}
.gx{position:fixed;inset:0;z-index:1000;color:#fff;-webkit-user-select:none;user-select:none;overflow:hidden;background:#000;font-family:var(--f-body,inherit)}
.gx[hidden]{display:none}
.gx-modal{position:absolute;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.gx-modal-in{width:min(560px,100%);max-height:88%;overflow:auto;padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,#1f1338,#120a24);border:2px solid #fbbf24;box-shadow:0 20px 60px rgba(0,0,0,.6);color:#f5f3ff}
.gx-modal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px} .gx-modal-h b{font:700 18px var(--f-display);letter-spacing:.04em;color:#fde68a}
.gx-x{width:36px;height:36px;border-radius:50%;border:2px solid #fbbf24;background:#7c2d12;color:#fff;font-size:16px;cursor:pointer}
.gx-modal .gv-lb-l li{background:rgba(255,255,255,.06)} .gx-modal .gv-lb-l .mx{color:#c4b5fd} .gx-modal .gv-empty{color:#c4b5fd}
.gx-big{position:absolute;inset:0;z-index:40;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle,rgba(0,0,0,.55),transparent 70%);animation:gxbigin .35s cubic-bezier(.2,1.6,.4,1)}
.gx-big.out{opacity:0;transition:opacity .45s}
.gx-big-in{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 40px;border-radius:24px;background:linear-gradient(180deg,rgba(127,29,29,.92),rgba(69,10,10,.92));border:4px solid #fbbf24;box-shadow:0 0 60px rgba(251,191,36,.7)}
.gx-big small{font:700 26px var(--f-display);letter-spacing:.12em;color:#fde68a;text-align:center}
.gx-big b{font:700 72px/1 var(--f-display);background:linear-gradient(180deg,#fff7c2,#fbbf24 50%,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #7c2d12)}
@keyframes gxbigin{from{transform:scale(.4);opacity:0}}

/* ---------- shell for every game: one fixed design size, scaled to the screen ---------- */
.gs{position:fixed;left:0;top:0;z-index:1000;overflow:hidden;color:var(--gtxt);background:radial-gradient(120% 80% at 50% 0%,var(--stage-tint,rgba(99,102,241,.25)),transparent 60%),#070a16}
.gs[hidden]{display:none}
.gs-fit{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;gap:8px;padding:8px 10px 10px;box-sizing:border-box}
.gs-fit .gv-bar{flex:none;padding:6px;gap:6px}
.gs-fit .gv-title{justify-content:flex-start;font-size:20px;margin-left:4px} .gs-fit .gv-title b{font-size:16px}
.gs-fit .gv-back span{display:none}
.gs-ib{flex:none;width:38px;height:38px;border-radius:11px;border:1px solid var(--gline);background:var(--graise);color:var(--gtxt);font:700 16px var(--f-display);cursor:pointer;display:grid;place-items:center;padding:0}
.gs-ib:active{transform:translateY(1px)}
.gs-fit .gv-bal{padding:7px 10px;font-size:14px}
.gs-fit .gv-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.gs-fit .gv-stage{flex:1 1 auto;min-height:0;container-type:size;display:flex;flex-direction:column}
.gs-fit .gv-stage>div:first-child{flex:1;min-height:0}
.gs-fit .gv-ctrl{flex:none;gap:7px;padding:10px;border-radius:18px}
.gs-fit .gv-box{padding:9px 10px;gap:7px;border-radius:12px}
.gs-fit .gv-chips{gap:8px;flex-wrap:nowrap;justify-content:space-between}
.gs-fit .gv-chip{width:46px;height:46px;font-size:13px}
.gs-fit .gv-chip span::before{inset:7px}
.gs-fit .gv-go{min-height:54px;font-size:18px;border-radius:14px}
.gs-fit .gv-sub{padding:8px}
.gs-fit .gv-quick button{padding:6px 0}
.gs-fit .gv-step{height:38px}
.gs-fit .mn-mv{font-size:22px}
.gs-fit .dc-win-line{font-size:12px}
.gs-fit .gv-hist{min-height:26px}
.gs[data-orient="portrait"] .gv-hist{display:none}
.gs[data-orient="landscape"] .gs-fit .gv-body{flex-direction:row}
.gs[data-orient="landscape"] .gs-fit .gv-ctrl{width:350px;overflow-y:auto;scrollbar-width:none}
.gs[data-orient="landscape"] .gs-fit .gv-ctrl::-webkit-scrollbar{display:none}
.gs .gx-modal{position:absolute}
.gs-how ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:#ddd6fe;font-size:15px;line-height:1.45} .gs-how .muted{color:#a78bfa;font-size:12px}
/* each game fills the space it is given */
.gs .mn-stage{height:100%;justify-content:center;padding:12px;gap:10px}
.gs .mn-hud b{font-size:16px} .gs .mn-hud .big{font-size:22px} .gs .mn-hud>div{padding:6px}
.gs .pk-stage{height:100%;display:flex;align-items:center;justify-content:center;padding:8px}
.gs .pk-board{width:min(100%,calc((100cqh - 16px) / .98));max-width:none}
.gs .cf-stage{height:100%;min-height:0;padding:20px 10px 70px}
.gs .cf-coin{width:min(180px,40cqh);height:min(180px,40cqh)}
.gs .cf-face b{font-size:min(62px,14cqh)}
.gs .wh-stage{height:100%;justify-content:center;padding:18px 12px 66px}
.gs .ck-stage{height:100%;justify-content:center;padding:12px}

@keyframes ckdrive{from{top:-60px}to{top:110%}}
.gs .hl-stage{height:100%;justify-content:center;padding:12px}
.gs .hl-table{min-height:clamp(170px,calc(100cqh - 210px),260px)}
.gs .gv-pop b{font-size:34px}

/* ---------- 🎰 Golden Lantern (fixed design size, see fit() in fullgames.js) ---------- */
.gx-sl{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;box-sizing:border-box;overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(60,0,0,.65) 100%),
    radial-gradient(circle at 25% 25%,rgba(255,120,40,.35) 0 6%,transparent 7%) 0 0/90px 90px,
    radial-gradient(circle at 75% 75%,rgba(255,120,40,.35) 0 6%,transparent 7%) 0 0/90px 90px,
    repeating-conic-gradient(from 45deg at 50% 50%,rgba(255,150,50,.18) 0 15deg,transparent 15deg 45deg) 0 0/90px 90px,
    radial-gradient(circle at 50% 50%,#c2410c,#9a1b0b 45%,#5c0a06)}
.gx.gx-slots{background:#5c0a06}
.sl2-ring{position:absolute;left:50%;top:52%;width:150%;aspect-ratio:1;max-width:1100px;transform:translate(-50%,-50%);border-radius:50%;border:6px solid rgba(251,191,36,.5);box-shadow:0 0 0 14px rgba(251,191,36,.1),inset 0 0 80px rgba(0,0,0,.35);pointer-events:none}
.sl2-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none}
.sl2-round{flex:none;width:46px;height:46px;border-radius:50%;border:3px solid #fbbf24;background:radial-gradient(circle at 40% 30%,#6d28d9,#2e1065);color:#fff;font:700 22px/1 var(--f-display);cursor:pointer;box-shadow:0 4px 0 #1e0a46,0 0 14px rgba(251,191,36,.35);display:grid;place-items:center;padding:0}
.sl2-round:active{transform:translateY(2px)}
.sl2-jps{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;flex:1}
.sl2-jps .col{display:flex;flex-direction:column;gap:6px;align-items:center}
.jp2{display:flex;flex-direction:column;align-items:center;width:170px;padding:3px 10px 5px;border-radius:10px;background:linear-gradient(180deg,#111,#2a1a05);border:3px solid #fbbf24;box-shadow:inset 0 0 0 2px #7c2d12,0 4px 12px rgba(0,0,0,.5);box-sizing:border-box}
.jp2 span{font:700 13px/1 var(--f-display);letter-spacing:.12em}
.jp2 b{font:700 26px/1.1 var(--f-display);color:#fff;text-shadow:0 2px 0 #000;white-space:nowrap}
.jp2.grand span{color:#ef4444} .jp2.major span{color:#facc15} .jp2.minor span{color:#a78bfa} .jp2.mini span{color:#f472b6}
.jp2.minor,.jp2.mini{width:136px} .jp2.minor b,.jp2.mini b{font-size:19px}
.sl2-logo{display:flex;flex-direction:column;align-items:center;gap:3px}
.sl2-logo .emb{width:62px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:34px;background:radial-gradient(circle at 40% 30%,#fde68a,#f59e0b 50%,#b45309);border:3px solid #fff3c4;box-shadow:0 0 24px rgba(251,191,36,.8)}
.sl2-logo .ttl{display:flex;gap:7px;font:700 26px/1 var(--f-display);letter-spacing:.06em;white-space:nowrap}
.sl2-logo .ttl span{background:linear-gradient(180deg,#fff7c2,#fbbf24 55%,#c2410c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #7f1d1d) drop-shadow(0 0 6px rgba(0,0,0,.6))}
.sl2-logo .ttl .b{background:linear-gradient(180deg,#fecaca,#ef4444 55%,#7f1d1d);-webkit-background-clip:text;background-clip:text}
.sl2-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.sl2-bal{display:flex;align-items:center;gap:6px;padding:5px 14px 5px 6px;border-radius:999px;background:rgba(0,0,0,.55);border:2px solid #fbbf24;font:700 17px var(--f-mono);white-space:nowrap} .sl2-bal i{font-style:normal;font-size:20px}
.sl2-round.trophy{width:40px;height:40px;font-size:17px;background:radial-gradient(circle at 40% 30%,#b45309,#78350f)}
.sl2-mid{position:relative;z-index:2;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}
.sl2-reels{position:relative;aspect-ratio:1.28/1;width:min(100cqw,calc(100cqh * 1.28));display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;border-radius:16px;background:linear-gradient(180deg,#f59e0b,#b45309);box-shadow:0 0 0 3px #7c2d12,0 12px 40px rgba(0,0,0,.6);container-type:size;box-sizing:border-box}
.reel2{position:relative;overflow:hidden;border-radius:8px;background:radial-gradient(ellipse at 50% 50%,#166534,#052e16 85%);box-shadow:inset 0 0 0 3px #fbbf24,inset 0 14px 18px -10px rgba(0,0,0,.8),inset 0 -14px 18px -10px rgba(0,0,0,.8)}
.reel2 .strip{display:flex;flex-direction:column;height:100%}
.c2{position:relative;flex:none;height:33.333%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.c2 .e{font-size:21cqh;filter:drop-shadow(0 4px 4px rgba(0,0,0,.55))}
.reel2.spin .c2 .e{filter:blur(2px) drop-shadow(0 4px 4px rgba(0,0,0,.5))}
.c2 .tag{position:absolute;bottom:7%;font:700 3.6cqh var(--f-display);letter-spacing:.12em;padding:1px 7px;border-radius:6px;background:linear-gradient(180deg,#fde047,#d97706);color:#7c2d12}
.c2.coin .e{filter:drop-shadow(0 0 10px rgba(253,224,71,.9))}
.c2 .val{position:absolute;bottom:6%;font:700 4.6cqh var(--f-display);color:#fff;-webkit-text-stroke:1px #7c2d12;text-shadow:0 2px 0 #7c2d12;white-space:nowrap}
.c2 .val.jp{padding:1px 8px;border-radius:7px;-webkit-text-stroke:0;text-shadow:none;font-size:3.8cqh;letter-spacing:.08em}
.c2 .val.mini{background:#db2777} .c2 .val.minor{background:#7c3aed} .c2 .val.major{background:#ca8a04;color:#111}
.c2.hit{animation:c2hit .55s ease-in-out infinite alternate}
.c2.hit::after{content:'';position:absolute;inset:5% 6%;border-radius:12px;border:3px solid #fde047;box-shadow:0 0 18px #fde047,inset 0 0 14px rgba(253,224,71,.5)}
@keyframes c2hit{to{transform:scale(1.08)}}
.lines2{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);pointer-events:none;z-index:3}
.lines2 polyline{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(0,0,0,.7));stroke-dasharray:900;stroke-dashoffset:900;animation:sldraw .55s forwards}
@keyframes sldraw{to{stroke-dashoffset:0}}
.sl2-reels.hold .reel2{background:radial-gradient(ellipse at 50% 50%,#7f1d1d,#2a0505 85%)}
.c2.empty{background:radial-gradient(circle,rgba(0,0,0,.25),transparent 70%)}
.c2.roll{font-size:16cqh;animation:c2roll .18s linear infinite;filter:blur(1px);color:#fde047}
@keyframes c2roll{50%{opacity:.55}}
.c2.land{animation:c2land .45s cubic-bezier(.2,1.8,.4,1)}
@keyframes c2land{from{transform:scale(.2)}}
.c2.collect{animation:c2col .4s forwards}
@keyframes c2col{50%{transform:scale(1.2);filter:brightness(1.8)}100%{transform:scale(1);opacity:.55}}
.sl2-banner{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;padding:14px 32px;border-radius:20px;background:linear-gradient(180deg,#7f1d1d,#3f0707);border:4px solid #fbbf24;box-shadow:0 0 50px rgba(251,191,36,.7);animation:gxbigin .35s cubic-bezier(.2,1.6,.4,1);white-space:nowrap}
.sl2-banner[hidden]{display:none}
.sl2-banner b{font:700 46px/1 var(--f-display);letter-spacing:.06em;background:linear-gradient(180deg,#fff7c2,#fbbf24 55%,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent}
.sl2-banner small{font:700 17px var(--f-mono);color:#fde68a}
.sl2-banner.grand{border-color:#ef4444} .sl2-banner.jp.major{border-color:#facc15} .sl2-banner.jp.minor{border-color:#a78bfa} .sl2-banner.jp.mini{border-color:#f472b6}
.sl2-respin{position:absolute;z-index:5;top:2px;left:50%;transform:translate(-50%,0);display:flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;background:rgba(0,0,0,.75);border:2px solid #fbbf24}
.sl2-respin[hidden]{display:none}
.sl2-respin small{font:700 13px var(--f-display);letter-spacing:.12em;color:#fde68a} .sl2-respin i{width:14px;height:14px;border-radius:50%;background:#3f3f46;border:2px solid #78350f} .sl2-respin i.on{background:radial-gradient(circle,#fff7c2,#f59e0b);box-shadow:0 0 8px #fbbf24}
.sl2-bot{position:relative;z-index:2;flex:none;display:flex;align-items:center;justify-content:center;gap:12px;padding:7px 10px;border-radius:16px;background:linear-gradient(180deg,rgba(30,10,40,.88),rgba(15,5,25,.94));border:2px solid rgba(251,191,36,.7)}
.sl2-bet{display:flex;align-items:center;gap:6px;padding:4px;border-radius:12px;background:rgba(0,0,0,.45);border:2px solid #a16207}
.sl2-bet>div,.sl2-win{display:flex;flex-direction:column;align-items:center;min-width:84px}
.sl2-bet small,.sl2-win small{font:700 11px var(--f-display);letter-spacing:.14em;color:#fde68a} .sl2-win small{color:#4ade80}
.sl2-bet b,.sl2-win b{font:700 22px/1.1 var(--f-mono);color:#fff;white-space:nowrap}
.sl2-win{padding:4px 12px;border-radius:12px;background:linear-gradient(180deg,#3b0764,#1e0333);border:2px solid #a855f7;min-width:150px}
.pm{width:40px;height:40px;border-radius:10px;border:2px solid #fde68a;background:linear-gradient(180deg,#facc15,#d97706);color:#7c2d12;font:700 26px/1 var(--f-display);cursor:pointer;box-shadow:0 3px 0 #78350f;padding:0}
.pm:disabled{filter:grayscale(.7) brightness(.7)}
.sl2-auto{flex:none;width:52px;height:52px;border-radius:50%;border:3px solid #94a3b8;background:radial-gradient(circle at 40% 30%,#334155,#0f172a);color:#e2e8f0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;line-height:1;padding:0}
.sl2-auto span{font-size:20px} .sl2-auto small{font:700 9px var(--f-display);letter-spacing:.1em}
.sl2-auto.on{border-color:#4ade80;color:#4ade80;box-shadow:0 0 16px rgba(74,222,128,.6)}
.sl2-auto.on span{animation:spin 2.4s linear infinite;display:inline-block}
.sl2-spin{width:180px;height:60px;border-radius:16px;border:3px solid #bbf7d0;cursor:pointer;font:700 30px/1 var(--f-display);letter-spacing:.1em;color:#14532d;background:linear-gradient(180deg,#86efac,#22c55e 45%,#15803d);box-shadow:0 5px 0 #14532d,0 0 24px rgba(34,197,94,.5);text-shadow:0 1px 0 rgba(255,255,255,.5);padding:0}
.sl2-spin:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #14532d}
.sl2-spin.busy{background:linear-gradient(180deg,#fca5a5,#ef4444 45%,#991b1b);border-color:#fecaca;color:#fff;box-shadow:0 5px 0 #7f1d1d}
.sl2-spin:disabled{filter:grayscale(.8) brightness(.7)}
/* upright phone: everything stacked, same on every phone */
.gx-sl[data-orient="portrait"] .sl2-top{flex-wrap:wrap;row-gap:8px}
.gx-sl[data-orient="portrait"] .sl2-top>.home{order:1}
.gx-sl[data-orient="portrait"] .sl2-side{order:2;flex-direction:row;align-items:center}
.gx-sl[data-orient="portrait"] .sl2-jps{order:3;flex:1 1 100%;flex-wrap:wrap;gap:8px}
.gx-sl[data-orient="portrait"] .sl2-jps .sl2-logo{order:-1;flex:1 1 100%;flex-direction:row;justify-content:center;gap:10px}
.gx-sl[data-orient="portrait"] .sl2-logo .emb{width:48px;font-size:26px}
.gx-sl[data-orient="portrait"] .sl2-jps .col{flex-direction:column;gap:6px}
.gx-sl[data-orient="portrait"] .jp2{width:196px} .gx-sl[data-orient="portrait"] .jp2.minor,.gx-sl[data-orient="portrait"] .jp2.mini{width:196px}
.gx-sl[data-orient="portrait"] .sl2-reels{aspect-ratio:1/1.08;width:min(100cqw,calc(100cqh / 1.08))}
.gx-sl[data-orient="portrait"] .sl2-bot{flex-wrap:wrap;gap:8px}
.gx-sl[data-orient="portrait"] .sl2-win{min-width:110px}
.gx-sl[data-orient="portrait"] .sl2-spin{order:5;width:100%}
.sl2-pay p{margin:8px 0;font-size:14px;line-height:1.45;color:#ddd6fe} .sl2-pay .muted{color:#a78bfa;font-size:12px}
.sl2-pay .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.sl2-pay .grid div{display:flex;flex-direction:column;align-items:center;padding:6px;border-radius:10px;background:rgba(255,255,255,.06)} .sl2-pay .grid span{font-size:22px;letter-spacing:2px} .sl2-pay .grid b{color:#fde047;font-family:var(--f-mono)} .sl2-pay .grid small{color:#a78bfa;font-size:11px}
.sl2-pay .jps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px} .sl2-pay .jps span{display:flex;flex-direction:column;align-items:center;padding:6px;border-radius:10px;font:700 12px var(--f-display);letter-spacing:.08em;background:#111;border:2px solid #fbbf24} .sl2-pay .jps b{font:700 14px var(--f-mono);color:#fff}
.sl2-pay .jps .grand{color:#ef4444} .sl2-pay .jps .major{color:#facc15} .sl2-pay .jps .minor{color:#a78bfa} .sl2-pay .jps .mini{color:#f472b6}
.gx-modal-in{max-width:100%;box-sizing:border-box}

/* ---------- 🐟 Coral Reef Fishing (buttons are placed in the 1600 × 900 game space) ---------- */
.gx-fs{position:absolute;left:0;top:0;background:#000;touch-action:none}
.fs2-box{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden}
.fs2-cv{position:absolute;left:0;top:0;touch-action:none;cursor:crosshair}
.fs2-ui{position:absolute;transform-origin:0 0;pointer-events:none}
.fs2-ui>*{pointer-events:auto}
.fs2-left,.fs2-right{position:absolute;top:47%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px}
.fs2-left{left:26px} .fs2-right{right:26px}
.fs2-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;background:none;cursor:pointer;color:#fff}
.fs2-btn span{position:relative;display:grid;place-items:center;width:90px;height:90px;border-radius:50%;font-size:40px;border:5px solid rgba(255,255,255,.85);box-shadow:0 7px 0 rgba(0,0,0,.45),inset 0 -8px 14px rgba(0,0,0,.25),inset 0 8px 14px rgba(255,255,255,.3)}
.fs2-btn small{font:700 21px/1 var(--f-display);letter-spacing:.08em;color:#fde047;-webkit-text-stroke:1.5px #4c1d95;text-shadow:0 3px 0 #4c1d95}
.fs2-btn.exit span{background:radial-gradient(circle at 40% 30%,#c084fc,#7e22ce)} .fs2-btn.species span{background:radial-gradient(circle at 40% 30%,#fde047,#ca8a04)}
.fs2-btn.trophy span{background:radial-gradient(circle at 40% 30%,#5eead4,#0f766e)} .fs2-btn.lock span{background:radial-gradient(circle at 40% 30%,#86efac,#15803d)} .fs2-btn.auto span{background:radial-gradient(circle at 40% 30%,#fdba74,#c2410c)}
.fs2-btn.on span{box-shadow:0 0 0 6px #fde047,0 0 30px #fde047,0 7px 0 rgba(0,0,0,.45);animation:fspulse 1s ease-in-out infinite alternate}
@keyframes fspulse{to{transform:scale(1.07)}}
.fs2-bet{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:150px;pointer-events:none}
.fs2-bet>*{pointer-events:auto}
.fs2-bet .pm{width:70px;height:70px;border-radius:50%;font-size:40px;background:radial-gradient(circle at 40% 30%,#fca5a5,#b91c1c);border:4px solid #fecaca;color:#fff;box-shadow:0 5px 0 #450a0a}
.fs2-bet b{position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);font:700 24px var(--f-mono);padding:2px 12px;border-radius:9px;background:rgba(0,0,0,.7);border:2px solid #fbbf24;color:#fde047;white-space:nowrap}
.fs2-pts{position:absolute;transform:translate(0,-100%);display:flex;align-items:center;gap:8px;padding:6px 20px;border-radius:12px;background:linear-gradient(180deg,#16a34a,#14532d);border:4px solid #fbbf24;box-shadow:0 5px 0 rgba(0,0,0,.4);white-space:nowrap}
.fs2-pts i{font-style:normal;color:#fde047;font-size:28px} .fs2-pts b{font:700 36px var(--f-mono);color:#fde047;text-shadow:0 3px 0 #052e16}
.fs2-here{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;font:700 46px var(--f-display);color:#fde047;-webkit-text-stroke:2px #1e3a8a;text-shadow:0 4px 0 #1e3a8a;pointer-events:none;animation:fshere .8s ease-in-out infinite alternate;white-space:nowrap}
.fs2-here[hidden]{display:none} .fs2-here i{font-style:normal;font-size:.8em;color:#4ade80}
@keyframes fshere{to{transform:translate(-50%,calc(-100% - 14px))}}
.fs2-tag{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;padding:5px 14px;border-radius:10px;background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.3);font:600 22px var(--f-mono);white-space:nowrap;pointer-events:none;color:#fff}
.fs2-tag.top{transform:translate(-50%,0)}
.fs2-tag b{color:#fde047} .fs2-tag.empty{opacity:.55} .fs2-tag.me{display:none}
.fs2-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:16px 36px;border-radius:999px;background:rgba(0,0,0,.6);font:700 32px var(--f-display);color:#fff}
.fs2-status[hidden]{display:none}
.fs2-species p{margin:8px 0;font-size:14px;line-height:1.45;color:#ddd6fe} .fs2-species .muted{color:#a78bfa;font-size:12px}
.fs2-species .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.fs2-species .grid div{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.fs2-species .grid div.gold{border-color:#fbbf24;box-shadow:0 0 14px rgba(251,191,36,.35)}
.fs2-species .grid span{font-size:36px} .fs2-species .grid b{font:700 16px var(--f-mono);color:#fde047} .fs2-species .grid small{font-size:11px;color:#a78bfa}
/* modals inside the turned (sideways) fish screen */
.gx-fs .gx-modal{position:absolute;z-index:60}
/* chicken road v2 (canvas) */
.ck-view{position:relative;flex:1;min-height:200px;border-radius:14px;overflow:hidden;background:#2b2f3a;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.ck-cv{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;touch-action:manipulation}
.gs .ck-stage{display:flex;flex-direction:column}
.gv-chicken .gv-pop{top:auto;bottom:18px;transform:translate(-50%,0) scale(.6)} .gv-chicken .gv-pop.show{transform:translate(-50%,0) scale(1)}
.gv-chicken .gv-pop>div{flex-direction:row;gap:12px;padding:10px 18px} .gv-chicken .gv-pop b{font-size:28px} .gv-chicken .gv-pop>div *{white-space:nowrap}


/* ---------- lobby cards: new fish tables + table games ---------- */
.gl-fish_abyss{--g1:linear-gradient(170deg,#1e1b4b,#020617 75%);--gs:#6366f1}
.gl-fish_arctic{--g1:linear-gradient(170deg,#38bdf8,#0c4a6e 75%);--gs:#7dd3fc}
.gl-blackjack{--g1:linear-gradient(160deg,#166534,#052e16 75%);--gs:#22c55e}
.gl-roulette{--g1:linear-gradient(160deg,#991b1b,#1c0606 75%);--gs:#ef4444}
.gl-baccarat{--g1:linear-gradient(160deg,#1e3a8a,#0b1230 75%);--gs:#3b82f6}

/* ---------- casino felt ---------- */
.tb-felt{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:12px;box-sizing:border-box;border-radius:20px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%,#1f8a4c,#0e5a31 55%,#073d21);box-shadow:inset 0 0 0 5px #6b3a12,inset 0 0 0 8px #d4a017,inset 0 0 60px rgba(0,0,0,.55)}
.tb-felt::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1.2px);background-size:5px 5px;pointer-events:none}
.tb-felt.ro{background:radial-gradient(ellipse at 50% 30%,#1f7a46,#0b4a29 60%,#06331c)}
.tb-felt.bc{background:radial-gradient(ellipse at 50% 40%,#1e3a8a,#172554 60%,#0b1230);box-shadow:inset 0 0 0 5px #6b3a12,inset 0 0 0 8px #d4a017,inset 0 0 60px rgba(0,0,0,.55)}
.tb-area{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.tb-lbl{display:flex;align-items:center;gap:8px;font:700 12px var(--f-display);letter-spacing:.2em;color:rgba(255,255,255,.75)}
.tb-tot{min-width:30px;padding:3px 8px;border-radius:999px;background:#0b0f1e;border:2px solid #fbbf24;color:#fff;font:700 15px var(--f-mono);text-align:center;letter-spacing:0}
.tb-tot[hidden]{display:none} .tb-tot.bust{border-color:#ef4444;color:#fca5a5} .tb-tot.bj{border-color:#4ade80;color:#4ade80}
.tb-cards{display:flex;justify-content:center;min-height:104px;padding-left:34px}
.tb-cards .tc{margin-left:-34px}
.tb-arc{position:relative;z-index:1;align-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 18px;border-top:2px solid rgba(253,224,71,.45);border-bottom:2px solid rgba(253,224,71,.45);border-radius:50%}
.tb-arc b{font:700 13px var(--f-display);letter-spacing:.14em;color:#fde68a} .tb-arc small{font:600 10px var(--f-mono);letter-spacing:.1em;color:rgba(255,255,255,.6)}
.tb-msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);opacity:0;z-index:5;padding:10px 22px;border-radius:14px;background:rgba(0,0,0,.75);border:2px solid #fbbf24;font:700 22px var(--f-display);letter-spacing:.08em;color:#fde68a;white-space:nowrap;pointer-events:none;transition:all .25s cubic-bezier(.2,1.6,.4,1)}
.tb-msg.show{opacity:1;transform:translate(-50%,-50%) scale(1)} .tb-msg.win{border-color:#4ade80;color:#4ade80} .tb-msg.lose{border-color:#ef4444;color:#fca5a5}
.tb-shoe{position:absolute;right:16px;top:16px;width:46px;height:60px;z-index:0} .tb-shoe i{position:absolute;inset:0;border-radius:6px;background:repeating-linear-gradient(45deg,#7f1d1d 0 5px,#991b1b 5px 10px);box-shadow:0 0 0 2px #fff,0 4px 8px rgba(0,0,0,.5)} .tb-shoe i:nth-child(2){transform:translate(3px,-3px)} .tb-shoe i:nth-child(3){transform:translate(6px,-6px)}
.tb-spot{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:62px;height:62px;border-radius:50%;border:2px dashed rgba(253,224,71,.55);display:grid;place-items:center;z-index:1}
.gs .tb-felt.bj .tb-area.player{margin-bottom:70px}
/* playing cards */
.tc{position:relative;flex:none;width:70px;height:100px;border-radius:9px;background:linear-gradient(160deg,#ffffff,#f1f5f9);box-shadow:0 6px 14px rgba(0,0,0,.45),inset 0 0 0 1px rgba(0,0,0,.08);color:#111827;display:grid;place-items:center}
.tc.red{color:#dc2626}
.tc .c{position:absolute;display:flex;flex-direction:column;align-items:center;font:700 16px/1 var(--f-display)} .tc .c i{font-style:normal;font-size:13px}
.tc .tl{left:6px;top:6px} .tc .br{right:6px;bottom:6px;transform:rotate(180deg)}
.tc b{font-size:38px;line-height:1} .tc b.face{display:flex;flex-direction:column;align-items:center;font-size:36px;padding:6px 8px;border-radius:6px;background:linear-gradient(180deg,rgba(251,191,36,.25),rgba(251,191,36,.05));border:1px solid rgba(180,83,9,.35)} .tc b.face small{font-size:14px}
.tc.back{background:#7f1d1d;box-shadow:0 6px 14px rgba(0,0,0,.45),inset 0 0 0 4px #fff}
.tc.back i{position:absolute;inset:8px;border-radius:5px;background:repeating-linear-gradient(45deg,#991b1b 0 6px,#7f1d1d 6px 12px);border:1px solid rgba(255,255,255,.4)}
.tc.deal{animation:tcdeal .32s cubic-bezier(.2,.9,.3,1)}
@keyframes tcdeal{from{transform:translate(160px,-160px) rotate(25deg);opacity:0}}
.tc.flip{animation:tcflip .45s ease-out}
@keyframes tcflip{0%{transform:rotateY(90deg)}100%{transform:rotateY(0)}}
.tc.third{transform:rotate(90deg);margin-left:-8px!important;margin-right:20px}
/* chips on the table */
.tchip{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:700 10px var(--f-display);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.6);
  background:radial-gradient(circle,#dc2626 0 52%,transparent 53%),repeating-conic-gradient(#dc2626 0 20deg,#fff 20deg 30deg);box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 0 0 2px rgba(0,0,0,.2);pointer-events:none}
.tchip.big{width:52px;height:52px;font-size:14px}
/* blackjack buttons */
.tb-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tb-acts[hidden]{display:none}
.tb-act{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border:0;border-radius:14px;color:#fff;cursor:pointer;font:inherit;box-shadow:0 4px 0 rgba(0,0,0,.4)}
.tb-act b{font:700 17px var(--f-display);letter-spacing:.08em} .tb-act small{font:600 10.5px var(--f-mono);opacity:.85}
.tb-act.hit{background:linear-gradient(180deg,#22c55e,#15803d)} .tb-act.stand{background:linear-gradient(180deg,#ef4444,#b91c1c)} .tb-act.dbl{background:linear-gradient(180deg,#f59e0b,#b45309)}
.tb-act:disabled{filter:grayscale(.7) brightness(.65)}
.tb-act:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.4)}
.gv-go[hidden]{display:none}
.tb-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tb-small{padding:10px 4px;border-radius:12px;border:1px solid var(--gline);background:var(--graise);color:var(--gtxt);font:700 13px var(--f-display);letter-spacing:.04em;cursor:pointer} .tb-small:disabled{opacity:.4}
/* roulette */
.tb-felt.ro{justify-content:flex-start;gap:10px;padding:10px}
.ro-top{position:relative;z-index:1;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px}
.ro-wrap{position:relative;height:100%;max-height:260px;aspect-ratio:1}
.ro-wheel{width:100%;height:100%;border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.ro-res{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.5);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:700 20px var(--f-display);color:#fff;opacity:0;transition:all .3s cubic-bezier(.2,1.6,.4,1);border:3px solid #fde68a}
.ro-res.show{opacity:1;transform:translate(-50%,-50%) scale(1)} .ro-res.red{background:#b91c1c} .ro-res.black{background:#111827} .ro-res.green{background:#15803d}
.ro-side{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:96px}
.ro-side small{font:700 10px var(--f-mono);letter-spacing:.12em;color:rgba(255,255,255,.65)} .ro-side>b{font:700 18px var(--f-mono);color:#fde047}
.ro-hist{display:flex;flex-wrap:wrap;gap:4px;max-width:120px;min-height:26px}
.ro-hn{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--f-mono);color:#fff;border:1px solid rgba(255,255,255,.4)} .ro-hn.red{background:#b91c1c} .ro-hn.black{background:#111827} .ro-hn.green{background:#15803d}
.ro-board{position:relative;z-index:1;flex:none;display:grid;grid-template-columns:30px repeat(12,1fr) 30px;grid-template-rows:repeat(3,34px) 30px 30px;gap:2px;padding:4px;border-radius:10px;background:rgba(255,255,255,.55)}
.ro-c{position:relative;display:grid;place-items:center;border:0;padding:0;font:700 12px var(--f-mono);color:#fff;cursor:pointer;border-radius:3px;min-width:0}
.ro-c.red{background:#b91c1c} .ro-c.black{background:#111827} .ro-c.green{background:#15803d} .ro-c.out{background:#0e5a31;font-size:10.5px;font-family:var(--f-display);letter-spacing:.04em}
.ro-c.rd span{color:#ef4444;font-size:16px} .ro-c.bk span{color:#000;font-size:16px}
.ro-c .tchip{position:absolute;width:22px;height:22px;font-size:8px;z-index:2}
.ro-c.hit{box-shadow:0 0 0 3px #fde047,0 0 16px #fde047;z-index:3;animation:c2hit .5s infinite alternate}
.ro-c.won .tchip{box-shadow:0 0 0 2px #4ade80,0 0 12px #4ade80} .ro-c.lost .tchip{opacity:.25}
.ro-c:active{filter:brightness(1.3)}
/* baccarat */
.tb-felt.bc{gap:10px}
.bc-road{position:relative;z-index:1;display:flex;align-items:center;gap:3px;flex-wrap:wrap;min-height:22px;padding:4px 8px;border-radius:9px;background:rgba(0,0,0,.35)}
.bc-road small{font:700 9px var(--f-mono);letter-spacing:.12em;color:rgba(255,255,255,.6);margin-right:4px}
.bc-road i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font:700 9px var(--f-mono);font-style:normal;color:#fff} .bc-road i.p{background:#2563eb} .bc-road i.b{background:#dc2626} .bc-road i.t{background:#16a34a}
.bc-hands{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
.bc-hand{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;border-radius:16px;border:2px solid rgba(255,255,255,.15);transition:box-shadow .3s}
.bc-hand.p{background:rgba(37,99,235,.15)} .bc-hand.b{background:rgba(220,38,38,.15)}
.bc-hand.win{box-shadow:0 0 0 3px #fde047,0 0 28px rgba(253,224,71,.6)}
.bc-h{display:flex;align-items:center;gap:8px;font:700 13px var(--f-display);letter-spacing:.16em}
.bc-hand.p .bc-h{color:#93c5fd} .bc-hand.b .bc-h{color:#fca5a5}
.bc-score{min-width:30px;padding:2px 8px;border-radius:999px;background:#0b0f1e;border:2px solid #fbbf24;color:#fff;font:700 16px var(--f-mono);text-align:center}
.bc-score:empty{display:none}
.bc-hand .tb-cards{min-height:100px;padding-left:30px} .bc-hand .tc{width:62px;height:88px;margin-left:-30px} .bc-hand .tc b{font-size:30px}
.bc-spots{position:relative;z-index:1;display:grid;grid-template-columns:1fr .8fr 1fr;gap:8px}
.bc-spot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:74px;border-radius:40px/30px;border:2px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font:inherit}
.bc-spot b{font:700 15px var(--f-display);letter-spacing:.1em} .bc-spot small{font:600 11px var(--f-mono);opacity:.8}
.bc-spot.player{border-color:#60a5fa} .bc-spot.banker{border-color:#f87171} .bc-spot.tie{border-color:#4ade80}
.bc-spot.on{background:rgba(253,224,71,.16);box-shadow:0 0 0 3px #fde047,0 0 20px rgba(253,224,71,.4)}
.bc-spot .chipslot{position:absolute;top:-12px;right:8px}
.bc-spot:disabled{opacity:.8}
.fs2-species .grid canvas{width:72px;height:72px} .fs2-species .grid .nm{color:#e0e7ff;font-size:11px;text-align:center}

/* fishing extras: settings, freeze, rapid, energy + weapons */
.fs2-btn.settings span{background:radial-gradient(circle at 40% 30%,#cbd5e1,#475569)}
.fs2-btn.freeze span{background:radial-gradient(circle at 40% 30%,#bae6fd,#0369a1)} .fs2-btn.rapid span{background:radial-gradient(circle at 40% 30%,#fca5a5,#be123c)}
.fs2-btn.cool span{filter:grayscale(.75) brightness(.7)}
.fs2-btn .cd{position:absolute;inset:0;display:grid;place-items:center;font:700 34px var(--f-mono);font-style:normal;color:#fff;text-shadow:0 2px 6px #000}
.fs2-btn .cd:empty{display:none}
.fs2-wbox{position:absolute;transform:translate(0,-100%);display:flex;flex-direction:column;gap:8px;align-items:flex-start;pointer-events:none}
.fs2-wbox.r{transform:translate(-100%,-100%);align-items:flex-end}
.fs2-wbox>*{pointer-events:auto}
.fs2-wbox .row{display:flex;gap:10px}
.fs2-energy{position:relative;width:196px;height:26px;border-radius:13px;background:rgba(0,0,0,.6);border:3px solid rgba(255,255,255,.55);overflow:hidden;pointer-events:none}
.fs2-energy i{position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);background:linear-gradient(90deg,#0ea5e9,#a855f7,#facc15);transition:width .3s}
.fs2-energy b{position:relative;display:block;text-align:center;font:700 16px/20px var(--f-mono);color:#fff;text-shadow:0 1px 3px #000}
.fs2-w{display:flex;align-items:center;gap:6px;padding:6px 14px 6px 6px;border-radius:999px;border:3px solid rgba(255,255,255,.4);background:rgba(15,23,42,.75);color:#94a3b8;cursor:pointer;filter:grayscale(.8);opacity:.8}
.fs2-w span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:26px;background:radial-gradient(circle at 40% 30%,#7dd3fc,#1d4ed8)}
.fs2-w.drill span{background:radial-gradient(circle at 40% 30%,#fde68a,#b45309)}
.fs2-w small{font:700 18px var(--f-display);letter-spacing:.06em}
.fs2-wbox.ready .fs2-w{filter:none;opacity:1;color:#fde047;border-color:#fde047;box-shadow:0 0 18px rgba(253,224,71,.6);animation:fspulse 1s ease-in-out infinite alternate}
.fs2-wbox.ready .fs2-energy{border-color:#fde047}
.fs2-w.on{box-shadow:0 0 0 5px #38bdf8,0 0 26px #38bdf8!important}
.fs2-aim{position:absolute;transform:translate(-50%,-100%);padding:8px 20px;border-radius:999px;background:rgba(2,6,23,.75);border:2px solid #38bdf8;font:700 26px var(--f-display);color:#e0f2fe;white-space:nowrap;pointer-events:none}
.fs2-aim[hidden]{display:none}
.fs2-set .row{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.fs2-set .row>b{font:600 14px var(--f-display);color:#e0e7ff;letter-spacing:.04em}
.fs2-set .seg{display:flex;flex-wrap:wrap;gap:6px}
.fs2-set .seg button{flex:1 1 auto;min-width:90px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#e0e7ff;font:600 14px var(--f-body,inherit);cursor:pointer}
.fs2-set .seg button.on{background:linear-gradient(180deg,#a855f7,#6d28d9);border-color:#c4b5fd;color:#fff}
.fs2-set .muted{color:#a78bfa;font-size:12px;margin:4px 0 0}
.fs2-species .sp{margin:12px 0 4px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.fs2-species .sp p{margin:6px 0} .fs2-species .sp b{color:#fde047}

/* ---------- Golden Lantern: painted art ---------- */
.gx.gx-slots{background:#2a0612 url(/img/slots/bg_landscape.webp?v=1) center/cover no-repeat}
.gx.gx-slots[data-orient="portrait"]{background-image:url(/img/slots/bg_portrait.webp?v=1)}
.gx-sl{background:none}
.sl2-ring{display:none}
.sl2-frame{position:relative;flex:none;aspect-ratio:1998/1566;width:min(100cqw,calc(100cqh * 1.2759))}
.sl2-frame .frm{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;filter:drop-shadow(0 12px 22px rgba(0,0,0,.6));user-select:none}
.sl2-frame .sl2-reels{position:absolute;left:18.07%;top:17.18%;width:63.92%;height:71.39%;aspect-ratio:auto;padding:0;column-gap:3.76%;row-gap:0;border-radius:0;background:none;box-shadow:none}
.sl2-frame .reel2{border-radius:0;background:radial-gradient(ellipse at 50% 45%,#8a1616,#2a0505 92%);box-shadow:inset 0 16px 18px -10px rgba(0,0,0,.85),inset 0 -16px 18px -10px rgba(0,0,0,.85)}
.sl2-frame .sl2-reels.hold .reel2{background:radial-gradient(ellipse at 50% 45%,#5b21b6,#1e0a3c 92%)}
.sl2-frame .lines2{inset:0;width:100%;height:100%}
.c2 img.pic{display:block;height:74%;width:auto;max-width:88%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.6));user-select:none;-webkit-user-drag:none;pointer-events:none}
.reel2.spin .c2 img.pic{filter:blur(2.5px) drop-shadow(0 4px 4px rgba(0,0,0,.5))}
.c2.coin img.pic{filter:drop-shadow(0 0 10px rgba(253,224,71,.85))}
.c2.wild img.pic{height:80%;filter:drop-shadow(0 0 12px rgba(251,191,36,.9))}
.c2.roll img.pic{height:62%}
.c2 .val{z-index:2}
.gx-sl[data-orient="portrait"] .sl2-frame{width:min(118cqw,calc(100cqh * 1.2759))}
.gx-sl[data-orient="portrait"] .sl2-frame .sl2-reels{aspect-ratio:auto;width:63.92%}
/* jackpot plaques */
.jp2{position:relative;display:block;width:150px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.jp2 .plq{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55));user-select:none;pointer-events:none}
.jp2 .tx{position:absolute;left:15%;right:15%;top:21%;bottom:21%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.jp2.grand{width:168px} .jp2.grand .tx{top:47%;bottom:13%}
.jp2 .tx span{font:700 10px/1 var(--f-display);letter-spacing:.16em;color:#fde68a!important;text-shadow:0 1px 2px #000}
.jp2 .tx b,.jp2.minor .tx b,.jp2.mini .tx b{font:700 17px/1.1 var(--f-display);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.7)}
.jp2.grand .tx b{font-size:19px;color:#fde047}
.jp2.minor,.jp2.mini{width:150px}
.sl2-jps .col{flex-direction:row;gap:8px}
/* logo */
.sl2-logo.pic{position:relative;display:block;flex:none;width:132px}
.sl2-logo.pic img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.sl2-logo.pic .ttl{position:absolute;left:9%;right:9%;top:52%;height:21%;display:flex;align-items:center;justify-content:center;gap:4px;font:700 13px/1 var(--f-display);letter-spacing:.04em}
.sl2-logo.pic .ttl span,.sl2-logo.pic .ttl .b{background:none;-webkit-text-fill-color:#7f1d1d;color:#7f1d1d;filter:none;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.sl2-logo.pic .ttl .b{-webkit-text-fill-color:#b91c1c;color:#b91c1c}
.gx-sl[data-orient="portrait"] .sl2-jps .sl2-logo.pic{flex:0 0 112px;margin:0 calc((100% - 112px) / 2);width:112px}
.gx-sl[data-orient="portrait"] .sl2-logo.pic .ttl{font-size:11px}
.gx-sl[data-orient="portrait"] .sl2-jps .col{flex-direction:column;gap:4px}
.gx-sl[data-orient="portrait"] .jp2,.gx-sl[data-orient="portrait"] .jp2.minor,.gx-sl[data-orient="portrait"] .jp2.mini{width:176px}
.gx-sl[data-orient="portrait"] .jp2.grand{width:176px}
/* buttons */
.sl2-spin.pic{position:relative;flex:none;width:86px;height:86px;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.sl2-spin.pic img{display:block;width:100%;height:100%;pointer-events:none}
.sl2-spin.pic b{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);padding:1px 10px;border-radius:8px;background:linear-gradient(180deg,#fde047,#d97706);color:#7c2d12;font:700 12px/1.3 var(--f-display);letter-spacing:.1em;white-space:nowrap}
.sl2-spin.pic.busy{background:none;box-shadow:none}
.sl2-spin.pic.busy img{animation:spin 1.1s linear infinite}
.sl2-spin.pic:active:not(:disabled){transform:translateY(2px) scale(.97);box-shadow:none}
.sl2-auto.pic{width:62px;height:62px;padding:0;border:0;background:none;border-radius:50%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.sl2-auto.pic img{display:block;width:100%;height:100%;pointer-events:none}
.sl2-auto.pic.on{box-shadow:0 0 0 3px #4ade80,0 0 22px rgba(74,222,128,.8)}
.gx-sl[data-orient="portrait"] .sl2-spin.pic{order:5;width:86px}
.sl2-bot{background:linear-gradient(180deg,rgba(95,12,12,.9),rgba(40,4,6,.95));border-color:#fbbf24;box-shadow:0 -4px 20px rgba(0,0,0,.4)}
.sl2-pay .grid .pics{display:flex;gap:3px;justify-content:center} .sl2-pay .grid .pics img{width:30px;height:30px;object-fit:contain}
/* logo title sits on the gold banner */
.sl2-logo.pic .ttl{top:62%;height:20%;font-size:12px;letter-spacing:0;gap:3px}
.gx-sl[data-orient="portrait"] .sl2-logo.pic .ttl{font-size:10px}
/* portrait: the four jackpots in one row */
.gx-sl[data-orient="portrait"] .sl2-jps{gap:4px}
.gx-sl[data-orient="portrait"] .sl2-jps .col{flex-direction:row;gap:4px}
.gx-sl[data-orient="portrait"] .jp2,.gx-sl[data-orient="portrait"] .jp2.minor,.gx-sl[data-orient="portrait"] .jp2.mini,.gx-sl[data-orient="portrait"] .jp2.grand{width:98px}
.gx-sl[data-orient="portrait"] .jp2 .tx span{font-size:7px;letter-spacing:.1em}
.gx-sl[data-orient="portrait"] .jp2 .tx b,.gx-sl[data-orient="portrait"] .jp2.grand .tx b{font-size:12px}
.gx-sl[data-orient="portrait"] .jp2 .tx{left:12%;right:12%}
.gx-sl[data-orient="portrait"] .sl2-jps .sl2-logo.pic{flex:0 0 100px;margin:0 calc((100% - 100px) / 2);width:100px}
/* landscape: controls on both sides of the reels, like a real slot cabinet */
.gx-sl[data-orient="landscape"] .sl2-bot{position:static;padding:0;border:0;background:none;box-shadow:none}
.gx-sl[data-orient="landscape"] .sl2-bot>*{position:absolute;z-index:5}
.gx-sl[data-orient="landscape"] .sl2-bet{left:18px;top:47%;flex-direction:row;background:linear-gradient(180deg,rgba(95,12,12,.92),rgba(40,4,6,.95));border:2px solid #fbbf24;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.gx-sl[data-orient="landscape"] .sl2-win{left:18px;top:calc(47% + 74px);width:196px;box-sizing:border-box;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.gx-sl[data-orient="landscape"] .sl2-round[aria-label="Pay table"]{left:18px;bottom:18px}
.gx-sl[data-orient="landscape"] .sl2-spin.pic{right:34px;top:calc(50% - 30px);width:124px;height:124px}
.gx-sl[data-orient="landscape"] .sl2-spin.pic b{font-size:15px}
.gx-sl[data-orient="landscape"] .sl2-auto.pic{right:64px;top:calc(50% + 116px)}
.gx-sl[data-orient="landscape"] .sl2-mid{margin-bottom:4px}
.gx-sl[data-orient="landscape"] .jp2,.gx-sl[data-orient="landscape"] .jp2.minor,.gx-sl[data-orient="landscape"] .jp2.mini{width:132px}
.gx-sl[data-orient="landscape"] .jp2.grand{width:148px}
.gx-sl[data-orient="landscape"] .jp2 .tx b{font-size:16px}
.gx-sl[data-orient="landscape"] .sl2-logo.pic{width:118px}
.gx-sl[data-orient="landscape"] .sl2-logo.pic .ttl{font-size:11px}
.sl2-top>.home{position:relative;z-index:3}

/* ======================================================================= video slots (vslots.js) */
.gx.gx-vs{background:#120a1e center/cover no-repeat}
.gx.gx-vs-pharaoh{background-image:url(/img/vs/egypt/bg_land.webp?v=1);background-color:#0b1230}
.gx.gx-vs-candy{background-image:url(/img/vs/candy/bg_land.webp?v=1);background-color:#f5c6e0}
.gx.gx-vs-neon{background-image:url(/img/vs/neon/bg_land.webp?v=1);background-color:#1a0b2a}
.gx.gx-vs-goldrush{background-image:url(/img/vs/gold/bg_land.webp?v=1);background-color:#2a140a}
.gx.gx-vs-pharaoh[data-orient="portrait"]{background-image:url(/img/vs/egypt/bg_port.webp?v=1)}
.gx.gx-vs-candy[data-orient="portrait"]{background-image:url(/img/vs/candy/bg_port.webp?v=1)}
.gx.gx-vs-neon[data-orient="portrait"]{background-image:url(/img/vs/neon/bg_port.webp?v=1)}
.gx.gx-vs-goldrush[data-orient="portrait"]{background-image:url(/img/vs/gold/bg_port.webp?v=1)}
.gx-vsi{--acc:#fbbf24;--acc2:#7c2d12;--panel:rgba(20,10,30,.88);position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;gap:6px;padding:8px 12px 10px;box-sizing:border-box;overflow:hidden;color:#fff}
.gx-vsi[data-game="pharaoh"]{--acc:#fbbf24;--acc2:#1e3a8a;--panel:rgba(8,14,40,.9)}
.gx-vsi[data-game="candy"]{--acc:#f472b6;--acc2:#831843;--panel:rgba(120,20,80,.85)}
.gx-vsi[data-game="neon"]{--acc:#e879f9;--acc2:#4c1d95;--panel:rgba(30,8,50,.9)}
.gx-vsi[data-game="goldrush"]{--acc:#f59e0b;--acc2:#451a03;--panel:rgba(45,22,8,.92)}
.vs-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.vs-round{flex:none;width:44px;height:44px;border-radius:50%;border:3px solid var(--acc);background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.25),var(--acc2));color:#fff;font:700 21px/1 var(--f-display);cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:0 4px 0 rgba(0,0,0,.45)}
.vs-round.trophy{width:40px;height:40px;font-size:17px}
.vs-logo{position:relative;width:150px;flex:none}
.vs-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.vs-logo .ttl{position:absolute;left:8%;right:8%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;font:700 13px/1.05 var(--f-display);letter-spacing:.04em;text-align:center}
.vs-logo .ttl span{color:#fff7d6;text-shadow:0 1px 0 #000,0 0 6px rgba(0,0,0,.8)}
.vs-logo .ttl .b{color:#fde047;font-size:1.15em}
.gx-vsi[data-game="pharaoh"] .vs-logo .ttl{top:66%;height:24%}
.gx-vsi[data-game="pharaoh"] .vs-logo .ttl span{color:#3b1d02;text-shadow:0 1px 0 rgba(255,240,200,.6)} .gx-vsi[data-game="pharaoh"] .vs-logo .ttl .b{color:#1e3a8a}
.gx-vsi[data-game="candy"] .vs-logo .ttl{top:62%;height:20%}
.gx-vsi[data-game="candy"] .vs-logo .ttl span{color:#9d174d;text-shadow:0 1px 0 #fff} .gx-vsi[data-game="candy"] .vs-logo .ttl .b{color:#db2777}
.gx-vsi[data-game="neon"] .vs-logo .ttl{top:40%;height:50%;font-size:17px}
.gx-vsi[data-game="neon"] .vs-logo .ttl span{color:#be185d;text-shadow:0 0 6px #f9a8d4} .gx-vsi[data-game="neon"] .vs-logo .ttl .b{color:#7c3aed;font-size:1.4em;text-shadow:0 0 8px #c4b5fd}
.gx-vsi[data-game="goldrush"] .vs-logo .ttl{top:72%;height:18%;flex-direction:row;gap:5px}
.gx-vsi[data-game="goldrush"] .vs-logo .ttl span{color:#fde68a} .gx-vsi[data-game="goldrush"] .vs-logo .ttl .b{font-size:1em}
.vs-side{display:flex;align-items:center;gap:6px}
.vs-bal{display:flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;background:rgba(0,0,0,.6);border:2px solid var(--acc);font:700 17px var(--f-mono);white-space:nowrap} .vs-bal i{font-style:normal;color:#fde047}
.vs-mid{position:relative;z-index:2;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}
.vs-frame{position:relative;flex:none;width:min(100cqw,calc(100cqh * var(--ar)))}
.vs-frame .frm{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;user-select:none;filter:drop-shadow(0 10px 22px rgba(0,0,0,.6))}
.vs-reels{position:absolute;inset:0;z-index:1}
.vs-col{position:absolute;overflow:hidden;container-type:size}
.gx-vsi[data-game="pharaoh"] .vs-col{background:radial-gradient(ellipse at 50% 45%,#16245a,#060a1c 95%)}
.gx-vsi[data-game="candy"] .vs-col{background:linear-gradient(180deg,rgba(255,240,250,.9),rgba(252,214,236,.9))}
.gx-vsi[data-game="neon"] .vs-col{background:linear-gradient(90deg,#c9c9cf,#fff 30%,#fff 70%,#c9c9cf)}
.gx-vsi[data-game="goldrush"] .vs-col{background:radial-gradient(ellipse at 50% 45%,#4a2a14,#1d0e05 95%)}
.vs-col::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 14px 16px -10px rgba(0,0,0,.6),inset 0 -14px 16px -10px rgba(0,0,0,.6)}
.gx-vsi[data-game="candy"] .vs-col::after{box-shadow:none}
.vs-strip{position:relative;height:100%;display:flex;flex-direction:column;will-change:transform}
.vs-c{position:relative;flex:none;height:calc(100% / var(--n,3));display:flex;align-items:center;justify-content:center}
.vs-col.spin .vs-strip{height:auto}
.vs-col.spin .vs-c{height:calc(100cqh / var(--n,3))}
.vs-c img{display:block;max-width:86%;max-height:84%;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5));pointer-events:none;user-select:none}
.vs-c .e{font-size:min(60cqw,26cqh)}
.vs-col.spin .vs-c img{filter:blur(2px)}
.vs-c .tag{position:absolute;bottom:4%;font:700 9px var(--f-display);letter-spacing:.12em;padding:1px 6px;border-radius:5px;background:linear-gradient(180deg,#fde047,#d97706);color:#7c2d12}
.vs-c .bv{position:absolute;inset:0;display:grid;place-items:center;font:700 18px var(--f-display);color:#fff;-webkit-text-stroke:1.5px #831843;text-shadow:0 2px 0 #831843}
.vs-c.hit{animation:vshit .5s ease-in-out infinite alternate;z-index:2}
.vs-c.hit::before{content:'';position:absolute;inset:6%;border-radius:12px;background:radial-gradient(circle,rgba(253,224,71,.35),transparent 70%);box-shadow:0 0 0 2px rgba(253,224,71,.85),0 0 16px rgba(253,224,71,.7)}
.vs-c.dim{opacity:.4;filter:grayscale(.4)}
@keyframes vshit{from{transform:scale(1)}to{transform:scale(1.1)}}
.vs-c.pop{animation:vspop .38s forwards}
@keyframes vspop{40%{transform:scale(1.25)}100%{transform:scale(0);opacity:0}}
.vs-c.boom{animation:vsboom .5s ease-in-out 3}
@keyframes vsboom{50%{transform:scale(1.4);filter:drop-shadow(0 0 20px #fff)}}
.vs-col.xp{box-shadow:inset 0 0 30px 6px rgba(253,224,71,.9);animation:vsxp .65s ease-out}
@keyframes vsxp{from{filter:brightness(2.2)}to{filter:none}}
.vs-lines{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.vs-lines polyline{fill:none;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(0,0,0,.8));stroke-dasharray:4000;stroke-dashoffset:4000;animation:sldraw .5s forwards}
.vs-banner{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;padding:14px 34px;border-radius:20px;background:linear-gradient(180deg,var(--acc2),rgba(0,0,0,.9));border:4px solid var(--acc);box-shadow:0 0 50px var(--acc);animation:gxbigin .35s cubic-bezier(.2,1.6,.4,1);white-space:nowrap;text-align:center}
.vs-banner[hidden]{display:none}
.vs-banner b{font:700 44px/1 var(--f-display);letter-spacing:.05em;background:linear-gradient(180deg,#fff7c2,#fbbf24 55%,#d97706);-webkit-background-clip:text;background-clip:text;color:transparent}
.vs-banner small{font:700 16px var(--f-mono);color:#fde68a;margin-top:4px}
.vs-banner.bomb b{font-size:64px;background:linear-gradient(90deg,#f472b6,#facc15,#4ade80,#60a5fa,#c084fc);-webkit-background-clip:text;background-clip:text}
.vs-fs{position:absolute;z-index:6;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:5px 16px;border-radius:999px;background:rgba(0,0,0,.78);border:2px solid var(--acc);font:700 13px var(--f-display);letter-spacing:.08em;white-space:nowrap}
.vs-fs[hidden]{display:none} .vs-fs b{font-family:var(--f-mono);color:#fde047} .vs-fs .m{padding:1px 10px;border-radius:8px;background:linear-gradient(180deg,#fde047,#d97706);color:#7c2d12;font-size:16px}
.vs-winpop{position:absolute;z-index:7;left:50%;bottom:4%;transform:translateX(-50%);padding:4px 18px;border-radius:999px;background:rgba(0,0,0,.75);border:2px solid #fde047;font:700 22px var(--f-display);color:#fde047;white-space:nowrap;pointer-events:none;animation:vswp 1.2s forwards}
.vs-winpop.big{font-size:30px;box-shadow:0 0 20px rgba(253,224,71,.7)}
.vs-winpop[hidden]{display:none}
@keyframes vswp{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}15%{opacity:1;transform:translate(-50%,0) scale(1.05)}80%{opacity:1}100%{opacity:0}}
.vs-bot{position:relative;z-index:3;flex:none;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 10px;border-radius:16px;background:var(--panel);border:2px solid var(--acc);box-shadow:0 -4px 20px rgba(0,0,0,.4)}
.vs-bet{display:flex;align-items:center;gap:6px;padding:4px;border-radius:12px;background:rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.2)}
.vs-bet .pm{width:38px;height:38px;border-radius:10px;border:0;font:700 22px/1 var(--f-display);color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.08));cursor:pointer}
.vs-bet .pm:disabled{opacity:.35}
.vs-bet>div,.vs-win{display:flex;flex-direction:column;align-items:center;min-width:76px}
.vs-bet small,.vs-win small{font:700 11px var(--f-display);letter-spacing:.14em;color:#fde68a} .vs-win small{color:#4ade80}
.vs-bet b,.vs-win>b{font:700 21px/1.1 var(--f-mono);color:#fff;white-space:nowrap}
.vs-win{position:relative;padding:4px 12px;border-radius:12px;background:rgba(0,0,0,.5);border:2px solid #4ade80;min-width:120px}
.vs-gamble{position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);padding:3px 12px;border-radius:999px;border:2px solid #fde047;background:linear-gradient(180deg,#7f1d1d,#3f0707);color:#fde047;font:700 12px var(--f-display);letter-spacing:.06em;cursor:pointer;white-space:nowrap;animation:fspulse .8s ease-in-out infinite alternate;z-index:4}
.vs-gamble[hidden]{display:none}
.vs-pill{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:54px;height:54px;border-radius:50%;border:3px solid rgba(255,255,255,.4);background:radial-gradient(circle at 40% 30%,#334155,#0f172a);color:#e2e8f0;cursor:pointer;padding:0;line-height:1}
.vs-pill span{font-size:15px} .vs-pill small{font:700 9px var(--f-display);letter-spacing:.06em;white-space:nowrap}
.vs-pill.on{border-color:#4ade80;color:#4ade80;box-shadow:0 0 16px rgba(74,222,128,.6)}
.vs-pill.turbo.on{border-color:#fde047;color:#fde047;box-shadow:0 0 16px rgba(253,224,71,.6)}
.vs-buy{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 10px;border-radius:12px;border:2px solid #fde047;background:linear-gradient(180deg,#b45309,#7c2d12);color:#fff;cursor:pointer;line-height:1.1;box-shadow:0 4px 0 #431407}
.vs-buy small{font:700 10px var(--f-display);letter-spacing:.14em;color:#fde68a} .vs-buy b{font:700 13px var(--f-display)} .vs-buy em{font:700 12px var(--f-mono);font-style:normal;color:#fde047}
.vs-buy:disabled{filter:grayscale(.7) brightness(.7)}
.vs-spin{position:relative;flex:none;width:86px;height:86px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.vs-spin img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vs-spin i{position:relative;font-style:normal;font:700 38px/1 var(--f-display);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 10px rgba(0,0,0,.5)}
.gx-vsi[data-game="candy"] .vs-spin i,.gx-vsi[data-game="goldrush"] .vs-spin i,.gx-vsi[data-game="pharaoh"] .vs-spin i{color:#7c2d12;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.vs-spin b{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);padding:1px 10px;border-radius:8px;background:linear-gradient(180deg,#fde047,#d97706);color:#7c2d12;font:700 12px/1.3 var(--f-display);letter-spacing:.1em;white-space:nowrap}
.vs-spin.busy i{display:inline-block;animation:spin 1s linear infinite}
.vs-spin:disabled{filter:grayscale(.8) brightness(.7)}
.vs-spin:active:not(:disabled){transform:translateY(2px) scale(.97)}
/* portrait */
.gx-vsi[data-orient="portrait"] .vs-top{flex-wrap:wrap;row-gap:4px}
.gx-vsi[data-orient="portrait"] .vs-logo{order:3;flex:0 0 100%;display:flex;justify-content:center;width:auto}
.gx-vsi[data-orient="portrait"] .vs-logo img{width:150px}
.gx-vsi[data-orient="portrait"] .vs-logo .ttl{left:calc(50% - 63px);right:calc(50% - 63px)}
.gx-vsi[data-orient="portrait"] .vs-bot{flex-wrap:wrap;gap:8px}
.gx-vsi[data-orient="portrait"] .vs-bot .vs-bet,.gx-vsi[data-orient="portrait"] .vs-bot .vs-win{order:1}
.gx-vsi[data-orient="portrait"] .vs-bot .vs-round{order:0}
.gx-vsi[data-orient="portrait"] .vs-bot .vs-buy,.gx-vsi[data-orient="portrait"] .vs-bot .vs-pill,.gx-vsi[data-orient="portrait"] .vs-bot .vs-spin{order:2}
.gx-vsi[data-orient="portrait"] .vs-win{min-width:100px}
/* landscape: controls on the sides of the reels */
.gx-vsi[data-orient="landscape"] .vs-bot{position:static;padding:0;border:0;background:none;box-shadow:none}
.gx-vsi[data-orient="landscape"] .vs-bot>*{position:absolute;z-index:5}
.gx-vsi[data-orient="landscape"] .vs-bet{left:16px;top:40%;background:var(--panel);border-color:var(--acc)}
.gx-vsi[data-orient="landscape"] .vs-win{left:16px;top:calc(40% + 66px);width:180px;box-sizing:border-box;background:var(--panel)}
.gx-vsi[data-orient="landscape"] .vs-buy{left:16px;top:calc(40% + 150px);width:180px;box-sizing:border-box;flex-direction:row;gap:8px;padding:8px}
.gx-vsi[data-orient="landscape"] .vs-round[aria-label^="Pay"]{left:16px;bottom:14px}
.gx-vsi[data-orient="landscape"] .vs-spin{right:30px;top:calc(50% - 50px);width:116px;height:116px}
.gx-vsi[data-orient="landscape"] .vs-spin i{font-size:50px}
.gx-vsi[data-orient="landscape"] .vs-pill.auto{right:110px;top:calc(50% + 90px)}
.gx-vsi[data-orient="landscape"] .vs-pill.turbo{right:40px;top:calc(50% + 90px)}
.gx-vsi[data-orient="landscape"] .vs-mid{margin:0 200px 0 205px}
/* modals */
.vs-set .row{display:flex;flex-direction:column;gap:7px;margin:0 0 14px}
.vs-set .row>b{font:600 14px var(--f-display);color:#e0e7ff}
.vs-set .seg{display:flex;flex-wrap:wrap;gap:6px}
.vs-set .seg button{flex:1 1 auto;min-width:64px;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#e0e7ff;font:600 14px inherit;cursor:pointer}
.vs-set .seg button.on{background:linear-gradient(180deg,#a855f7,#6d28d9);border-color:#c4b5fd;color:#fff}
.vs-go{width:100%;padding:13px;border-radius:12px;border:0;font:700 18px var(--f-display);letter-spacing:.08em;color:#14532d;background:linear-gradient(180deg,#86efac,#22c55e 45%,#15803d);cursor:pointer;box-shadow:0 4px 0 #14532d}
.vs-go:disabled{filter:grayscale(.8);cursor:default}
.vs-set .muted,.vs-pay .muted{color:#a78bfa;font-size:12px;margin:8px 0 0}
.vs-buybox{text-align:center} .vs-buybox .big{display:flex;flex-direction:column;align-items:center;gap:6px} .vs-buybox .big img{width:90px;height:90px;object-fit:contain} .vs-buybox .big b{font:700 26px var(--f-display);color:#fde047}
.vs-buybox p{color:#ddd6fe;font-size:14px;line-height:1.45}
.vs-buybox .price{display:flex;flex-direction:column;align-items:center;margin:10px 0 14px;padding:10px;border-radius:12px;background:rgba(0,0,0,.35)} .vs-buybox .price b{font:700 30px var(--f-mono);color:#fff} .vs-buybox .price small{color:#a78bfa;font-size:12px}
.vs-gamblebox{text-align:center} .vs-gamblebox p{color:#ddd6fe;font-size:14px}
.vs-gamblebox .cur{display:flex;flex-direction:column;align-items:center;margin:6px 0 12px} .vs-gamblebox .cur b{font:700 32px var(--f-mono);color:#fde047} .vs-gamblebox .cur small{color:#a78bfa}
.vs-card{width:110px;height:154px;margin:0 auto;border-radius:12px;background:#fff;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.5);border:3px solid #e5e7eb;transition:transform .35s}
.vs-card span{font:700 34px var(--f-display)} .vs-card i{font-style:normal;font-size:56px;line-height:1}
.vs-card.red{color:#dc2626}
.vs-card.back{background:repeating-linear-gradient(45deg,#7f1d1d 0 10px,#991b1b 10px 20px);border-color:#fde047;color:#fde047}
.vs-card.flip{transform:rotateY(90deg)}
.vs-ghist{display:flex;justify-content:center;gap:6px;min-height:26px;margin:10px 0} .vs-ghist span{width:24px;height:24px;border-radius:6px;background:#fff;color:#111;display:grid;place-items:center;font-size:15px} .vs-ghist span.red{color:#dc2626}
.vs-gamblebox .gbs{display:flex;gap:10px;margin-bottom:10px}
.vs-gb{flex:1;padding:13px;border-radius:12px;border:2px solid rgba(255,255,255,.3);font:700 17px var(--f-display);color:#fff;cursor:pointer}
.vs-gb.red{background:linear-gradient(180deg,#ef4444,#991b1b)} .vs-gb.black{background:linear-gradient(180deg,#374151,#030712)} .vs-gb.coll{width:100%;background:linear-gradient(180deg,#22c55e,#15803d)}
.vs-gb:disabled{opacity:.4}
.vs-pay ul{margin:6px 0;padding-left:18px;color:#ddd6fe;font-size:13px;line-height:1.5}
.vs-pay .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin:8px 0}
.vs-pay .pr{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.06)}
.vs-pay .pr img{width:44px;height:44px;object-fit:contain;flex:none} .vs-pay .pr .e{font-size:30px}
.vs-pay .pr b{display:block;font-size:13px;color:#fff} .vs-pay .pr small{color:#fde68a;font:600 11px var(--f-mono)}
/* lobby card art */
.gl-deco.vs{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4%}
.gl-deco.vs img{width:28%;max-height:70%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.gl-deco.vs img:nth-child(2){width:36%;transform:translateY(-6%)}
.gl-pharaoh .gl-art{background:radial-gradient(circle at 50% 30%,#2b4aa8,#0b1230)} .gl-candy .gl-art{background:radial-gradient(circle at 50% 30%,#f9a8d4,#be185d)}
.gl-neon .gl-art{background:radial-gradient(circle at 50% 30%,#a21caf,#1a0b2a)} .gl-goldrush .gl-art{background:radial-gradient(circle at 50% 30%,#c2410c,#2a140a)}
.gl-pharaoh .gl-emoji,.gl-candy .gl-emoji,.gl-neon .gl-emoji,.gl-goldrush .gl-emoji{display:none}
.gx-vsi[data-game="goldrush"] .vs-logo .ttl{white-space:nowrap;font-size:12px;letter-spacing:.02em}

/* ---------- lobby: main game + categories ---------- */
.gl-feat{margin:14px 0 4px}
.gl-feat:empty{display:none}
.gl-card.feature{width:100%;flex-direction:row;align-items:stretch;min-height:170px}
.gl-card.feature .gl-art{flex:1.2;height:auto;min-height:170px}
.gl-card.feature .gl-info{flex:1;justify-content:center;padding:18px 18px 4px;background:none}
.gl-card.feature .gl-info b{font-size:26px} .gl-card.feature .gl-info small{font-size:14px}
.gl-card.feature .gl-play{position:absolute;right:16px;bottom:14px;margin:0;padding:10px 26px;font-size:16px}
.gl-card.feature .gl-emoji{font-size:84px}
.gl-cats{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:12px -20px 6px;padding:10px 20px;background:var(--bg);}
.gl-cats::-webkit-scrollbar{display:none}
.gl-cat{flex:none;display:flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--fg);font:600 14px var(--f-display);cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s}
.gl-cat span{font-size:16px} .gl-cat em{font-style:normal;font:700 11px var(--f-mono);padding:1px 7px;border-radius:999px;background:rgba(127,127,127,.18);color:var(--muted)}
.gl-cat.on{background:linear-gradient(135deg,#7c3aed,#db2777);border-color:transparent;color:#fff;box-shadow:0 8px 20px -10px #7c3aed} .gl-cat.on em{background:rgba(255,255,255,.25);color:#fff}
.gl-cat:active{transform:scale(.96)}
.gl-secs{display:flex;flex-direction:column;gap:22px;margin-top:6px}
.gl-sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.gl-sec-h h2{display:flex;align-items:center;gap:8px;margin:0;font:700 20px var(--f-display)} .gl-sec-h h2 small{font:500 12px var(--f-mono);color:var(--muted)}
.gl-more{border:0;background:none;color:var(--accent,#7c3aed);font:600 14px var(--f-display);cursor:pointer;padding:6px 4px}
.gl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
@media (max-width:900px){ .gl-sec.row .gl-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:2px 20px 10px}
.gl-sec.row .gl-list::-webkit-scrollbar{display:none}
.gl-sec.row .gl-card{flex:0 0 220px;scroll-snap-align:start} }
.gl-list .gl-card .gl-art{height:120px}
/* painted art on cards */
.gl-pharaoh{--g1:linear-gradient(180deg,rgba(11,18,48,.35),#0b1230 70%),url(/img/thumb/egypt.webp?v=1) center/cover;--gs:#3b5bdb}
.gl-candy{--g1:linear-gradient(180deg,rgba(190,24,93,.25),#9d174d 72%),url(/img/thumb/candy.webp?v=1) center/cover;--gs:#ec4899}
.gl-neon{--g1:linear-gradient(180deg,rgba(26,11,42,.3),#1a0b2a 70%),url(/img/thumb/neon.webp?v=1) center/cover;--gs:#c026d3}
.gl-goldrush{--g1:linear-gradient(180deg,rgba(42,20,10,.3),#2a140a 72%),url(/img/thumb/gold.webp?v=1) center/cover;--gs:#ea580c}
.gl-slots{--g1:linear-gradient(180deg,rgba(92,10,6,.35),#4a0805 72%),url(/img/thumb/slots.webp?v=1) center/cover;--gs:#dc2626}
.gl-fish{--g1:linear-gradient(180deg,rgba(8,51,68,.2),#083344 75%),url(/img/thumb/reef.webp?v=1) center/cover}
.gl-fish_abyss{--g1:linear-gradient(180deg,rgba(2,6,23,.2),#020617 75%),url(/img/thumb/abyss.webp?v=1) center/cover;--gs:#0ea5e9}
.gl-fish_arctic{--g1:linear-gradient(180deg,rgba(7,89,133,.2),#075985 75%),url(/img/thumb/arctic.webp?v=1) center/cover;--gs:#38bdf8}
.gl-pharaoh .gl-art,.gl-candy .gl-art,.gl-neon .gl-art,.gl-goldrush .gl-art,.gl-slots .gl-art,.gl-fish .gl-art,.gl-fish_abyss .gl-art,.gl-fish_arctic .gl-art{background:none}
.gl-slots .gl-emoji,.gl-fish .gl-emoji,.gl-fish_abyss .gl-emoji,.gl-fish_arctic .gl-emoji{display:none}
.gl-deco.fishart img{width:30%}
.gl-deco.fishart img:nth-child(2){width:44%}

@media (max-width:620px){
  .gl-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gl-sec.row .gl-card{flex-basis:46%}
  .gl-list .gl-card .gl-art{height:100px}
  .gl-list .gl-info b{font-size:16px} .gl-list .gl-info small{font-size:11.5px}
  .gl-list .gl-play{padding:6px 14px;font-size:13px;margin:8px 12px 12px}
  .gl-card.feature{min-height:140px} .gl-card.feature .gl-art{min-height:140px;flex:1} .gl-card.feature .gl-info{padding:14px 12px 50px} .gl-card.feature .gl-info b{font-size:21px} .gl-card.feature .gl-info small{font-size:12px} .gl-card.feature .gl-emoji{font-size:64px}
  .gl-cats{margin-inline:-14px;padding-inline:14px}
  .gl-sec.row .gl-list{margin:0 -14px;padding-inline:14px}
}
.gl-sec-h h2{white-space:nowrap;min-width:0} .gl-sec-h h2 small{white-space:nowrap}
.gl-more{white-space:nowrap;flex:none}
@media (max-width:620px){ .gl-sec-h h2{font-size:18px} }

/* ---------- per-game themes for the game screen ---------- */
.gs.gv-mines{--gacc:#10b981;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#10b981 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#10b981 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#10b981 16%,transparent),transparent 70%),#03140e}
.gs.gv-plinko{--gacc:#3b82f6;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#3b82f6 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#3b82f6 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#3b82f6 16%,transparent),transparent 70%),#040b1f}
.gs.gv-dice{--gacc:#f43f5e;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#f43f5e 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#f43f5e 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#f43f5e 16%,transparent),transparent 70%),#170409}
.gs.gv-coin{--gacc:#f59e0b;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#f59e0b 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#f59e0b 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#f59e0b 16%,transparent),transparent 70%),#150c02}
.gs.gv-wheel{--gacc:#eab308;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#eab308 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#eab308 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#eab308 16%,transparent),transparent 70%),#141003}
.gs.gv-chicken{--gacc:#84cc16;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#84cc16 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#84cc16 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#84cc16 16%,transparent),transparent 70%),#0b1403}
.gs.gv-hilo{--gacc:#14b8a6;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#14b8a6 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#14b8a6 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#14b8a6 16%,transparent),transparent 70%),#03120f}
.gs.gv-blackjack{--gacc:#22c55e;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#22c55e 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#22c55e 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#22c55e 16%,transparent),transparent 70%),#0f0a05}
.gs.gv-roulette{--gacc:#ef4444;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#ef4444 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#ef4444 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#ef4444 16%,transparent),transparent 70%),#0f0a05}
.gs.gv-baccarat{--gacc:#6366f1;background:radial-gradient(120% 70% at 50% -5%,color-mix(in srgb,#6366f1 38%,transparent),transparent 60%),radial-gradient(70% 50% at 0% 100%,color-mix(in srgb,#6366f1 16%,transparent),transparent 70%),radial-gradient(70% 50% at 100% 100%,color-mix(in srgb,#6366f1 16%,transparent),transparent 70%),#0a0a14}
.gs .gv-bar{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border-color:color-mix(in srgb,var(--gacc,#6366f1) 35%,rgba(255,255,255,.08));box-shadow:0 6px 20px -10px rgba(0,0,0,.6)}
.gs .gv-title{text-shadow:0 0 18px color-mix(in srgb,var(--gacc,#6366f1) 70%,transparent)}
.gs .gv-stage{border-color:color-mix(in srgb,var(--gacc,#6366f1) 40%,rgba(255,255,255,.08));box-shadow:inset 0 0 80px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.3),0 18px 40px -20px color-mix(in srgb,var(--gacc,#6366f1) 70%,transparent)}
.gs .gv-ctrl{border-color:color-mix(in srgb,var(--gacc,#6366f1) 30%,rgba(255,255,255,.08));background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.25)),var(--gpanel)}
.gs.gv-blackjack .gv-stage,.gs.gv-roulette .gv-stage,.gs.gv-baccarat .gv-stage{box-shadow:inset 0 0 80px rgba(0,0,0,.5),0 0 0 4px #3a2412,0 0 0 6px #b8862e,0 20px 40px -18px rgba(0,0,0,.8)}


/* ======================================================================= 🚀 Rocket Rush (space theme, two bets) */
.gx.gx-rush{background:#0b0620 url(/img/rush/bg_land.webp?v=1) center/cover no-repeat}
.gx.gx-rush[data-orient="portrait"]{background-image:url(/img/rush/bg_port.webp?v=1)}
.gx.gx-rush::before{content:'';position:absolute;inset:0;background:rgba(8,3,26,.8)}
.gx-rk{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;gap:8px;padding:8px 10px 10px;box-sizing:border-box;color:#f1ecff;font-family:var(--f-body,inherit)}
.gx-rk .gx-modal{position:absolute}
.rk-top{flex:none;display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:16px;background:linear-gradient(180deg,rgba(76,29,149,.55),rgba(30,12,60,.75));border:1px solid rgba(196,181,253,.25);box-shadow:0 8px 24px -12px rgba(0,0,0,.7)}
.rk-ib{flex:none;width:38px;height:38px;border-radius:12px;border:1px solid rgba(196,181,253,.3);background:rgba(255,255,255,.07);color:#fff;font:700 17px/1 var(--f-display);cursor:pointer;display:grid;place-items:center;padding:0}
.rk-ib.back{font-size:24px}
.rk-ib:active{transform:scale(.94)}
.rk-logo{position:relative;flex:none;width:132px;height:44px}
.rk-logo img{position:absolute;left:0;top:50%;width:132px;transform:translateY(-58%);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.rk-logo b{position:absolute;left:12%;right:12%;top:52%;height:34%;display:flex;align-items:center;justify-content:center;gap:4px;font:700 12px/1 var(--f-display);letter-spacing:.06em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap}
.rk-logo b em{font-style:normal;color:#fde047}
.rk-hist{flex:1;min-width:0;display:flex;gap:5px;overflow:hidden;mask-image:linear-gradient(90deg,#000 85%,transparent)}
.rk-h{flex:none;padding:4px 9px;border-radius:999px;font:700 12px var(--f-mono);background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08)}
.rk-h.lo{color:#60a5fa} .rk-h.mid{color:#c084fc} .rk-h.hi{color:#f472b6;border-color:rgba(244,114,182,.4)}
.rk-h.new{animation:rkpop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes rkpop{from{transform:scale(.4);opacity:0}}
.rk-tools{flex:none;display:flex;gap:6px}
.rk-bal{flex:none;display:flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:999px;background:rgba(0,0,0,.4);border:1px solid rgba(251,191,36,.5);font:700 15px var(--f-mono);color:#fde68a;white-space:nowrap}
.rk-bal img{width:28px;height:28px}
.rk-main{flex:1;min-height:0;display:flex;gap:8px}
.rk-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.rk-stage{position:relative;flex:1;min-height:0;border-radius:20px;overflow:hidden;border:1px solid rgba(196,181,253,.28);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 20px 40px -20px rgba(124,58,237,.7),inset 0 0 60px rgba(0,0,0,.4)}
.rk-cv{position:absolute;inset:0}
.rk-over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding-bottom:6%}
.rk-mult{font:700 84px/1 var(--f-display);letter-spacing:.01em;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.35),0 0 30px rgba(236,72,153,.6)}
.rk-mult.c1{color:#fff} .rk-mult.c2{color:#a5f3fc;text-shadow:0 4px 0 rgba(0,0,0,.35),0 0 30px rgba(34,211,238,.6)} .rk-mult.c3{color:#f0abfc;text-shadow:0 4px 0 rgba(0,0,0,.35),0 0 30px rgba(217,70,239,.7)} .rk-mult.c4{color:#fde047;text-shadow:0 4px 0 rgba(0,0,0,.35),0 0 36px rgba(250,204,21,.8)}
.rk-mult.crash{color:#f87171;text-shadow:0 4px 0 rgba(0,0,0,.4),0 0 30px rgba(239,68,68,.7);animation:rkshake .4s}
@keyframes rkshake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.rk-sub{margin-top:6px;font:700 18px var(--f-display);letter-spacing:.16em;color:#e9d5ff;text-shadow:0 2px 6px rgba(0,0,0,.7)}
.rk-mult.crash+.rk-sub{color:#fca5a5}
.rk-ring{position:relative;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:10px;background:conic-gradient(#ec4899 var(--p,360deg),rgba(255,255,255,.1) 0);box-shadow:0 0 30px rgba(236,72,153,.5)}
.rk-ring::before{content:'';position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,#2a1050,#120628)}
.rk-ring[hidden]{display:none}
.rk-ring b{position:relative;font:700 36px/1 var(--f-display);color:#fff} .rk-ring small{position:relative;font:700 9px var(--f-mono);letter-spacing:.14em;color:#c4b5fd;margin-top:4px}
.rk-live{position:absolute;left:12px;top:10px;display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.45);font:600 12px var(--f-mono);color:#e9d5ff}
.rk-live i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:recblink 1.4s infinite}
.rk-toast{position:absolute;right:14px;top:12px;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:16px;background:linear-gradient(135deg,#15803d,#065f46);border:2px solid #4ade80;box-shadow:0 10px 30px -8px rgba(34,197,94,.7)}
.rk-toast[hidden]{display:none} .rk-toast.pop{animation:gxbigin .4s cubic-bezier(.2,1.6,.4,1)}
.rk-toast img{width:40px;height:40px} .rk-toast small{display:block;font:700 10px var(--f-mono);letter-spacing:.12em;color:#bbf7d0} .rk-toast b{font:700 24px/1 var(--f-display)} .rk-toast span{font:700 18px var(--f-mono);color:#fde047}
/* bet panels */
.rk-panels{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rk-panel{padding:9px 10px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(46,16,101,.85),rgba(22,8,48,.92));border:1px solid rgba(196,181,253,.25);transition:border-color .2s,box-shadow .2s}
.rk-panel[data-state="cash"]{border-color:#fbbf24;box-shadow:0 0 0 1px #fbbf24,0 0 24px -4px rgba(251,191,36,.6)}
.rk-panel[data-state="cancel"]{border-color:#f87171}
.rk-ph{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.rk-ph .n{font:700 12px var(--f-mono);letter-spacing:.14em;color:#c4b5fd}
.rk-auto{display:flex;align-items:center;gap:6px;font:600 12px var(--f-display);color:#ddd6fe;white-space:nowrap}
.rk-sw{position:relative;width:34px;height:20px;border-radius:999px;border:0;background:rgba(255,255,255,.18);cursor:pointer;padding:0;transition:background .2s}
.rk-sw i{position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.rk-sw.on{background:#22c55e} .rk-sw.on i{transform:translateX(14px)}
.rk-av{display:flex;align-items:center;gap:2px;padding:2px;border-radius:9px;background:rgba(0,0,0,.35);opacity:.5}
.rk-panel.auto .rk-av{opacity:1}
.rk-av b{min-width:50px;text-align:center;font:700 13px var(--f-mono);color:#fde047}
.rk-am{width:22px;height:22px;border-radius:7px;border:0;background:rgba(255,255,255,.12);color:#fff;font:700 14px/1 var(--f-display);cursor:pointer;padding:0}
.rk-pb{display:flex;gap:8px;align-items:stretch}
.rk-amt{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.rk-stake{display:flex;align-items:center;gap:4px;padding:3px;border-radius:12px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08)}
.rk-stake b{flex:1;text-align:center;font:700 18px var(--f-mono);color:#fff;white-space:nowrap}
.rk-pm{width:32px;height:32px;border-radius:10px;border:0;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));color:#fff;font:700 20px/1 var(--f-display);cursor:pointer;padding:0}
.rk-pm:disabled,.rk-am:disabled{opacity:.35}
.rk-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.rk-quick button{padding:5px 0;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#ddd6fe;font:700 12px var(--f-mono);cursor:pointer}
.rk-quick button.on{background:rgba(236,72,153,.3);border-color:#ec4899;color:#fff}
.rk-quick button:disabled{opacity:.5}
.rk-btn{flex:1.1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;border-radius:16px;cursor:pointer;color:#fff;padding:6px 8px;transition:transform .1s,filter .2s}
.rk-btn span{font:700 22px/1 var(--f-display);letter-spacing:.06em} .rk-btn small{font:700 12px var(--f-mono);opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rk-btn.bet{background:linear-gradient(180deg,#4ade80,#16a34a 55%,#15803d);box-shadow:0 5px 0 #14532d,0 10px 20px -8px rgba(34,197,94,.7)}
.rk-btn.cancel{background:linear-gradient(180deg,#f87171,#dc2626 55%,#991b1b);box-shadow:0 5px 0 #7f1d1d}
.rk-btn.cash{background:linear-gradient(180deg,#fde047,#f59e0b 55%,#d97706);color:#3b1d02;box-shadow:0 5px 0 #92400e,0 0 26px rgba(251,191,36,.7);animation:rkcash .8s ease-in-out infinite alternate}
.rk-btn.done{background:linear-gradient(180deg,#22c55e,#15803d);opacity:.9}
.rk-btn.lost{background:linear-gradient(180deg,#475569,#1e293b);opacity:.85}
.rk-btn:active:not(:disabled){transform:translateY(3px)}
.rk-btn:disabled{filter:grayscale(.4) brightness(.8);cursor:default}
@keyframes rkcash{to{transform:scale(1.03)}}
/* bets list */
.rk-side{flex:none;width:340px;display:flex;flex-direction:column;min-height:0;border-radius:18px;background:linear-gradient(180deg,rgba(30,12,60,.85),rgba(15,6,34,.92));border:1px solid rgba(196,181,253,.22);overflow:hidden}
.rk-tabs{flex:none;display:flex;gap:4px;padding:6px;background:rgba(0,0,0,.25)}
.rk-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:10px;border:0;background:none;color:#c4b5fd;font:600 13px var(--f-display);cursor:pointer}
.rk-tabs button b{font:700 11px var(--f-mono);padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.12)}
.rk-tabs button.on{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff}
.rk-sum{flex:none;display:flex;justify-content:space-between;gap:8px;padding:7px 12px;font:600 12px var(--f-mono);color:#a78bfa;border-bottom:1px solid rgba(255,255,255,.06)} .rk-sum b{color:#fff} .rk-sum b.g{color:#4ade80}
.rk-list{flex:1;min-height:0;overflow:auto;padding:4px 8px 8px}
.rk-row{display:grid;grid-template-columns:minmax(0,1.6fr) .9fr .7fr .9fr;align-items:center;gap:4px;padding:6px 6px;margin-bottom:3px;border-radius:10px;font:600 12.5px var(--f-mono);color:#ddd6fe;background:rgba(255,255,255,.03)}
.rk-row.head{background:none;color:#8b7bbf;font-size:11px;letter-spacing:.06em;margin-bottom:2px}
.rk-row .nm{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--f-body,inherit)}
.rk-row .av{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--f-display);font-style:normal;color:#fff}
.rk-row .rk{font-style:normal;width:24px;text-align:center}
.rk-row .x{color:#c084fc;text-align:center} .rk-row .w{text-align:right}
.rk-row.won{background:linear-gradient(90deg,rgba(34,197,94,.18),rgba(34,197,94,.05));border:1px solid rgba(74,222,128,.25)} .rk-row.won .w{color:#4ade80}
.rk-row.lost{opacity:.5}
.rk-row.me{box-shadow:inset 3px 0 0 #fbbf24}
.rk-side .rk-row:not(.head):has(.rk){grid-template-columns:minmax(0,1.6fr) .7fr 1fr}
.rk-empty{text-align:center;color:#8b7bbf;font-size:13px;padding:20px 8px}
/* phone held upright */
.gx-rk[data-orient="portrait"]{gap:6px;padding:6px 8px 8px}
.gx-rk[data-orient="portrait"] .rk-top{flex-wrap:wrap;gap:6px;padding:6px}
.gx-rk[data-orient="portrait"] .rk-logo{width:110px;height:38px} .gx-rk[data-orient="portrait"] .rk-logo img{width:110px} .gx-rk[data-orient="portrait"] .rk-logo b{font-size:10px}
.gx-rk[data-orient="portrait"] .rk-hist{order:5;flex:0 0 100%}
.gx-rk[data-orient="portrait"] .rk-tools{margin-left:auto}
.gx-rk[data-orient="portrait"] .rk-ib{width:34px;height:34px;font-size:15px}
.gx-rk[data-orient="portrait"] .rk-bal{font-size:13px} .gx-rk[data-orient="portrait"] .rk-bal img{width:24px;height:24px}
.gx-rk[data-orient="portrait"] .rk-main{flex-direction:column;gap:6px}
.gx-rk[data-orient="portrait"] .rk-left{flex:none;gap:6px}
.gx-rk[data-orient="portrait"] .rk-stage{flex:none;height:300px}
.gx-rk[data-orient="portrait"] .rk-mult{font-size:60px}
.gx-rk[data-orient="portrait"] .rk-ring{width:96px;height:96px} .gx-rk[data-orient="portrait"] .rk-ring b{font-size:28px}
.gx-rk[data-orient="portrait"] .rk-sub{font-size:14px}
.gx-rk[data-orient="portrait"] .rk-panels{grid-template-columns:1fr;gap:6px}
.gx-rk[data-orient="portrait"] .rk-panel{padding:7px 8px 8px}
.gx-rk[data-orient="portrait"] .rk-btn span{font-size:20px}
.gx-rk[data-orient="portrait"] .rk-side{width:auto;flex:1;min-height:120px}
.gx-rk[data-orient="portrait"] .rk-toast{right:8px;top:8px;padding:6px 12px 6px 6px} .gx-rk[data-orient="portrait"] .rk-toast b{font-size:20px} .gx-rk[data-orient="portrait"] .rk-toast img{width:32px;height:32px}
.rk-logo{width:auto;height:44px;display:flex;align-items:center;gap:6px}
.rk-logo img{position:static;transform:none;width:auto;height:40px}
.rk-logo b{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:1px;font:700 15px/1 var(--f-display);letter-spacing:.08em;text-shadow:0 2px 0 rgba(0,0,0,.4)}
.rk-logo b em{font-size:17px;background:linear-gradient(180deg,#fde68a,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}
.gx-rk[data-orient="portrait"] .rk-logo{width:auto;height:36px} .gx-rk[data-orient="portrait"] .rk-logo img{width:auto;height:32px} .gx-rk[data-orient="portrait"] .rk-logo b{font-size:12px} .gx-rk[data-orient="portrait"] .rk-logo b em{font-size:14px}
.rk-btn.done:disabled,.rk-btn.lost:disabled{filter:none}
/* one bet panel */
.rk-panels{grid-template-columns:1fr}
.rk-panel.one{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.1fr);gap:12px;align-items:stretch;padding:12px 14px;border-radius:22px;background:radial-gradient(120% 140% at 0% 0%,rgba(236,72,153,.22),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(124,58,237,.35),transparent 60%),linear-gradient(180deg,rgba(46,16,101,.9),rgba(20,6,44,.95));border:1px solid rgba(232,121,249,.4);box-shadow:0 14px 40px -18px rgba(236,72,153,.6),inset 0 1px 0 rgba(255,255,255,.12)}
.rk-col{display:flex;flex-direction:column;gap:7px;min-width:0}
.rk-col.auto{padding:0 12px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}
.rk-lbl{display:flex;align-items:center;gap:8px;font:700 11px var(--f-mono);letter-spacing:.14em;color:#d8b4fe}
.rk-lbl img{width:20px;height:20px}
.rk-panel.one .rk-stake{padding:4px}
.rk-panel.one .rk-stake b{font-size:24px}
.rk-panel.one .rk-pm{width:40px;height:40px;font-size:22px}
.rk-panel.one .rk-quick{grid-template-columns:repeat(3,1fr)}
.rk-panel.one .rk-av{justify-content:space-between;padding:4px;border-radius:12px;opacity:.55}
.rk-panel.one.auto .rk-av{opacity:1;box-shadow:0 0 0 1px rgba(34,197,94,.5)}
.rk-panel.one .rk-av b{font-size:22px;color:#fde047}
.rk-panel.one .rk-am{width:34px;height:34px;font-size:18px;border-radius:10px}
.rk-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.rk-presets button{padding:6px 0;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#ddd6fe;font:700 12px var(--f-mono);cursor:pointer}
.rk-presets button.on{background:rgba(34,197,94,.28);border-color:#22c55e;color:#fff}
.rk-presets button:disabled{opacity:.5}
.rk-col.go .rk-btn{flex:1;border-radius:20px;min-height:100px}
.rk-col.go .rk-btn span{font-size:34px;letter-spacing:.08em}
.rk-col.go .rk-btn small{font-size:14px}
.rk-panel.one[data-state="cash"]{border-color:#fbbf24}
.gx-rk[data-orient="portrait"] .rk-panel.one{grid-template-columns:1fr 1fr;grid-template-areas:"amt auto" "go go";gap:8px;padding:9px 10px}
.gx-rk[data-orient="portrait"] .rk-col.amt{grid-area:amt} .gx-rk[data-orient="portrait"] .rk-col.auto{grid-area:auto;padding:0 0 0 8px;border-right:0}
.gx-rk[data-orient="portrait"] .rk-col.go{grid-area:go}
.gx-rk[data-orient="portrait"] .rk-col.go .rk-btn{min-height:66px}
.gx-rk[data-orient="portrait"] .rk-col.go .rk-btn span{font-size:28px}
.gx-rk[data-orient="portrait"] .rk-panel.one .rk-stake b,.gx-rk[data-orient="portrait"] .rk-panel.one .rk-av b{font-size:18px}
.gx-rk[data-orient="portrait"] .rk-panel.one .rk-pm,.gx-rk[data-orient="portrait"] .rk-panel.one .rk-am{width:32px;height:32px}
.gx-rk[data-orient="portrait"] .rk-stage{height:330px}
.rk-panel.one .rk-quick{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}
.rk-col.go .rk-btn span{white-space:nowrap;font-size:clamp(22px,3.2vw,32px)}
.gx-rk[data-orient="landscape"] .rk-col.go .rk-btn span{font-size:30px}

/* ---------- Royal Roulette: painted art ---------- */
.gl-roulette{--g1:linear-gradient(180deg,rgba(60,8,16,.15),#3b0a12 74%),url(/img/thumb/roulette.webp?v=1) center/cover;--gs:#e11d48}
.gs.gv-roulette{background:linear-gradient(180deg,rgba(18,4,8,.55),rgba(10,3,6,.82)),url(/img/ro/hall.webp?v=1) center/cover,#12040a;--gacc:#f5c66b}
.gv-roulette .gv-bar,.gv-roulette .gv-ctrl{background:linear-gradient(180deg,rgba(74,14,28,.82),rgba(36,6,14,.9));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-roulette .gs-ib,.gv-roulette .gv-back{background:rgba(20,4,9,.55);border-color:rgba(245,198,107,.35)}
.gv-roulette .gv-box{background:rgba(20,4,9,.45);border:1px solid rgba(245,198,107,.25)}
.gv-roulette .tb-small{background:rgba(20,4,9,.55);border:1px solid rgba(245,198,107,.3);color:#f8e7c0}
.tb-felt.ro{background:url(/img/ro/felt.webp?v=1) center/100% 100% no-repeat,#0b4a29;box-shadow:0 14px 34px rgba(0,0,0,.55);border-radius:26px;padding:7% 6% 6%;padding:clamp(18px,4.5cqh,34px) clamp(18px,4cqw,40px)}
.tb-felt.ro::before{display:none}
.ro-logo{align-self:center;width:clamp(70px,20cqw,150px);max-height:22cqh;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));pointer-events:none}
.ro-wrap{max-height:min(100%,60cqw);flex:none}
.ro-wheel{box-shadow:0 16px 34px rgba(0,0,0,.65)}
.ro-res{border-color:#f5c66b;box-shadow:0 0 0 3px rgba(0,0,0,.35),0 0 22px rgba(245,198,107,.7)}
.ro-side{gap:8px;min-width:0;align-items:stretch;justify-content:center}
.ro-frame{position:relative;width:clamp(124px,32cqw,230px);aspect-ratio:800/441;background:url(/img/ro/frame.webp?v=1) center/100% 100% no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:13% 14%;box-sizing:border-box}
.ro-frame::before{content:'';position:absolute;inset:16% 12%;background:radial-gradient(ellipse at 50% 40%,#5a1422,#2a060e);z-index:-1;border-radius:4px}
.ro-frame small{font:700 9px var(--f-mono);letter-spacing:.14em;color:#f5d38a}
.ro-frame .ro-hist{justify-content:center;max-width:none;gap:3px}
.ro-frame .ro-hn{width:20px;height:20px;font-size:10px;border-color:rgba(245,198,107,.6)}
.ro-tot{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:rgba(20,4,9,.6);border:1px solid rgba(245,198,107,.4)}
.ro-tot img{width:30px;height:30px}
.ro-tot span{display:flex;flex-direction:column;line-height:1.1}
.ro-tot small{font:700 9px var(--f-mono);letter-spacing:.12em;color:#f5d38a} .ro-tot b{font:700 16px var(--f-mono);color:#ffe08a}
/* betting table: gold lines on the felt */
.tb-felt.ro .ro-board{background:rgba(4,30,16,.35);border:2px solid #d9a845;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.35);gap:0;padding:0;border-radius:8px;overflow:visible}
.tb-felt.ro .ro-c{border-radius:0;box-shadow:inset 0 0 0 .5px rgba(245,205,120,.75);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.tb-felt.ro .ro-c.red{background:linear-gradient(180deg,#d22c2c,#8f1313)}
.tb-felt.ro .ro-c.black{background:linear-gradient(180deg,#30303a,#0d0d12)}
.tb-felt.ro .ro-c.green{background:linear-gradient(180deg,#22a35a,#0d5f2f);border-radius:6px 0 0 6px}
.tb-felt.ro .ro-c.out{background:transparent;color:#fbe7b5}
.tb-felt.ro .ro-c.out:hover{background:rgba(245,205,120,.12)}
.tb-felt.ro .ro-c.rd span,.tb-felt.ro .ro-c.bk span{display:block;width:22px;height:14px;font-size:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.tb-felt.ro .ro-c.rd span{background:#dc2626} .tb-felt.ro .ro-c.bk span{background:#0b0b10;outline:1px solid #f5c66b}
.tb-felt.ro .ro-c.hit{box-shadow:0 0 0 3px #ffd76a,0 0 18px #ffd76a}
.ro-mark{position:absolute;left:50%;bottom:58%;width:30px;transform:translateX(-50%);z-index:4;filter:drop-shadow(0 4px 4px rgba(0,0,0,.6));animation:roMark .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes roMark{from{transform:translate(-50%,-14px) scale(.4);opacity:0}}
.gv-roulette .tchip,.tb-felt.ro .tchip{background:url(/img/ro/chip_red.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 1px rgba(0,0,0,.6))}
.tb-felt.ro .ro-c .tchip{width:24px;height:24px;font-size:8px}
/* big win banner */
.ro-big{position:absolute;left:50%;top:34%;z-index:6;width:min(78%,520px);transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none;transition:all .45s cubic-bezier(.2,1.6,.4,1);text-align:center}
.ro-big img{width:100%;filter:drop-shadow(0 10px 24px rgba(0,0,0,.6))}
.ro-big b{display:block;margin-top:-4%;font:800 clamp(22px,6cqw,40px) var(--f-display);color:#ffe08a;text-shadow:0 3px 0 #7a1020,0 0 18px rgba(255,214,106,.8)}
.ro-big.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
/* bet chips use the painted chips */
.gv-roulette .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-roulette .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-roulette .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-roulette .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-roulette .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-roulette .gv-chip span::before{display:none}
.gv-roulette .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}
/* spin button */
.gv-roulette .gv-go{gap:12px;color:#fff3d6;background:linear-gradient(180deg,#9b1b32,#5a0b1b);border:2px solid #e9b85a;box-shadow:0 6px 0 #3a0611,0 14px 26px -10px rgba(233,184,90,.7),inset 0 1px 0 rgba(255,220,160,.35)}
.gv-roulette .gv-go span{align-items:flex-start;text-shadow:0 2px 0 rgba(0,0,0,.4)}
.gv-roulette .gv-go small{color:#f8dca0;opacity:.9}
.gv-roulette .gv-go .ro-spin{width:50px;height:50px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));transition:transform .6s}
.gv-roulette .gv-go:not(:disabled):hover .ro-spin{transform:rotate(25deg) scale(1.05)}
.gv-roulette .gv-go:disabled{filter:saturate(.5) brightness(.8)}
.gv-roulette .gv-go:active:not(:disabled){box-shadow:0 2px 0 #3a0611}
.gl-roulette .gl-emoji{display:none}
.gl-deco.ro{position:absolute;inset:0}
.gl-deco.ro .w{position:absolute;left:50%;top:50%;height:94%;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));animation:roCard 22s linear infinite}
.gl-deco.ro .c1,.gl-deco.ro .c2{position:absolute;width:24%;max-width:64px;filter:drop-shadow(0 5px 6px rgba(0,0,0,.55))}
.gl-deco.ro .c1{right:8%;bottom:6%;transform:rotate(-14deg)} .gl-deco.ro .c2{left:8%;bottom:10%;width:20%;transform:rotate(18deg)}
@keyframes roCard{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gl-deco.ro .w{animation:none}}

/* ---------- Blackjack: painted art (navy & gold) ---------- */
.gs.gv-blackjack{background:linear-gradient(180deg,rgba(3,8,24,.5),rgba(2,6,18,.85)),url(/img/bj/hall.webp?v=1) center/cover,#030816;--gacc:#f5c66b}
.gv-blackjack .gv-bar,.gv-blackjack .gv-ctrl{background:linear-gradient(180deg,rgba(16,30,72,.85),rgba(6,13,36,.92));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-blackjack .gs-ib,.gv-blackjack .gv-back{background:rgba(4,10,30,.6);border-color:rgba(245,198,107,.35)}
.gv-blackjack .gv-box{background:rgba(4,10,30,.5);border:1px solid rgba(245,198,107,.25)}
.tb-felt.bj{background:radial-gradient(ellipse at 50% 45%,rgba(40,70,150,.35),rgba(0,0,0,.35) 80%),url(/img/bj/felt.webp?v=1) center/645px auto repeat,#14244f;
  box-shadow:inset 0 0 0 3px #d9a845,inset 0 0 0 16px #0c1630,inset 0 0 0 18px rgba(217,168,69,.55),inset 0 0 70px rgba(0,0,0,.6),0 14px 34px rgba(0,0,0,.55);border-radius:28px;padding:26px}
.tb-felt.bj::before{display:none}
.bj-shoe{position:absolute;right:24px;top:22px;width:clamp(70px,16cqw,120px);z-index:0;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55));pointer-events:none}
.tb-felt.bj .tb-arc{border:0;border-radius:0;padding:0;gap:3px}
.tb-felt.bj .tb-arc::before{content:'';position:absolute;left:-14%;right:-14%;top:38%;height:120%;border-radius:50%;border-bottom:2px solid rgba(233,184,90,.7);pointer-events:none}
.bj-logo{width:min(30cqw,26cqh,210px);min-width:96px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6));margin-bottom:2px}
.tb-felt.bj .tb-arc b{color:#f5d38a;text-shadow:0 2px 4px rgba(0,0,0,.6)} .tb-felt.bj .tb-arc small{color:rgba(220,230,255,.7)}
.tb-felt.bj .tb-lbl{color:#f5d38a;text-shadow:0 2px 3px rgba(0,0,0,.6)}
.tb-felt.bj .tb-tot{background:url(/img/bj/panel.webp?v=1) center/100% 100%;border:0;padding:4px 12px;color:#fff3d6;min-width:38px}
.tb-felt.bj .tb-tot.bust{color:#ff8b8b} .tb-felt.bj .tb-tot.bj{color:#7ef0a8}
.tb-felt.bj .tb-tot.medal{background:url(/img/bj/medal.webp?v=1) center bottom/contain no-repeat;width:46px;height:64px;padding:26px 0 0;box-sizing:border-box;color:transparent;font-size:0;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.gv-blackjack .tc{background:linear-gradient(160deg,#fffdf6,#efe6d2);box-shadow:0 8px 16px rgba(0,0,0,.5),inset 0 0 0 1px rgba(150,110,40,.35)}
.gv-blackjack .tc.back{background:url(/img/bj/back.webp?v=1) center/100% 100%;box-shadow:0 8px 16px rgba(0,0,0,.5)}
.gv-blackjack .tc.back i{display:none}
.tb-felt.bj .tb-spot{width:min(78px,11cqh);height:min(78px,11cqh);bottom:22px;border:0;background:url(/img/bj/dbtn.webp?v=1) center/contain no-repeat;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.gv-blackjack .tchip{background:url(/img/ro/chip_red.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 3px 2px rgba(0,0,0,.6))}
.tb-felt.bj .tb-msg{background:url(/img/bj/panel.webp?v=1) center/100% 100%;border:0;padding:14px 30px;color:#f5d38a;text-shadow:0 2px 4px rgba(0,0,0,.6)}
.tb-felt.bj .tb-msg.win{color:#7ef0a8} .tb-felt.bj .tb-msg.lose{color:#ff9a9a}
.tb-felt.bj .tb-msg.badge{background:none;padding:0} .tb-felt.bj .tb-msg.badge img{width:clamp(220px,62cqw,380px);filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}
.gv-blackjack .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-blackjack .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-blackjack .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-blackjack .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-blackjack .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-blackjack .gv-chip span::before{display:none}
.gv-blackjack .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}
.tb-act.art{background:none;box-shadow:none;padding:0;min-height:0;gap:2px}
.tb-act.art img{width:100%;max-width:170px;filter:drop-shadow(0 5px 6px rgba(0,0,0,.5));transition:transform .1s}
.tb-act.art small{color:#f5d38a}
.tb-act.art:active:not(:disabled){transform:none;box-shadow:none} .tb-act.art:active:not(:disabled) img{transform:translateY(3px) scale(.97)}
.gv-blackjack .gv-go{color:#fff3d6;background:linear-gradient(180deg,#1f4fa8,#0c2559);border:2px solid #e9b85a;box-shadow:0 6px 0 #071a3d,0 14px 26px -10px rgba(233,184,90,.7),inset 0 1px 0 rgba(255,220,160,.35)}
.gv-blackjack .gv-go small{color:#f8dca0;opacity:.9}
.gv-blackjack .gv-go:active:not(:disabled){box-shadow:0 2px 0 #071a3d}
.gv-blackjack .gv-hist .hc{border-color:rgba(245,198,107,.35)}

.gs .tb-felt.bj .tb-area.player{margin-bottom:calc(min(78px,11cqh) + 12px)}
.gl-blackjack{--g1:linear-gradient(180deg,rgba(4,10,30,.15),#081538 74%),url(/img/thumb/blackjack.webp?v=1) center/cover;--gs:#3b82f6}
.gl-blackjack .gl-emoji{display:none}
.gl-deco.bjd{position:absolute;inset:0}
.gl-deco.bjd .lg{position:absolute;left:19%;top:8%;width:62%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));animation:glfloat 3.2s ease-in-out infinite}
.gl-deco.bjd .bk{position:absolute;right:6%;top:12%;width:17%;transform:rotate(14deg);filter:drop-shadow(0 6px 8px rgba(0,0,0,.6))}

/* ---------- Baccarat: painted art (crimson, black & gold) ---------- */
.gl-baccarat{--g1:linear-gradient(180deg,rgba(40,4,8,.15),#3a060c 74%),url(/img/thumb/baccarat.webp?v=1) center/cover;--gs:#dc2626}
.gl-baccarat .gl-emoji{display:none}
.gl-deco.bcd{position:absolute;inset:0}
.gl-deco.bcd .dr{position:absolute;right:4%;top:6%;width:30%;opacity:.9;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6));animation:roCard 30s linear infinite}
.gl-deco.bcd .lg{position:absolute;left:10%;top:6%;width:56%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));animation:glfloat 3.2s ease-in-out infinite}
.gs.gv-baccarat{background:linear-gradient(180deg,rgba(20,3,6,.5),rgba(12,2,4,.85)),url(/img/bc/hall.webp?v=1) center/cover,#120306;--gacc:#f5c66b}
.gv-baccarat .gv-bar,.gv-baccarat .gv-ctrl{background:linear-gradient(180deg,rgba(40,8,12,.88),rgba(12,3,5,.94));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-baccarat .gs-ib,.gv-baccarat .gv-back{background:rgba(15,3,5,.6);border-color:rgba(245,198,107,.35)}
.gv-baccarat .gv-box{background:rgba(15,3,5,.5);border:1px solid rgba(245,198,107,.25)}
.tb-felt.bc{background:radial-gradient(ellipse at 50% 45%,rgba(255,80,90,.18),rgba(0,0,0,.4) 80%),url(/img/bc/felt.webp?v=1) center/520px auto repeat,#6e0a17;
  box-shadow:inset 0 0 0 3px #d9a845,inset 0 0 0 16px #120406,inset 0 0 0 18px rgba(217,168,69,.55),inset 0 0 70px rgba(0,0,0,.6),0 14px 34px rgba(0,0,0,.55);border-radius:28px;padding:26px 24px}
.tb-felt.bc::before{display:none}
.bc-dragon{position:absolute;left:50%;top:50%;width:min(62cqw,54cqh);transform:translate(-50%,-50%);opacity:.13;pointer-events:none;z-index:0;filter:sepia(1) saturate(2)}
.bc-shoe{position:absolute;right:22px;top:20px;width:clamp(66px,15cqw,110px);z-index:0;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55));pointer-events:none}
.bc-top{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.bc-logo{width:min(34cqw,18cqh,200px);min-width:90px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.tb-felt.bc .bc-road{background:url(/img/bc/frame.webp?v=1) center/100% 100% no-repeat;padding:12px 7%;min-height:40px;border-radius:0;justify-content:center;max-width:86%;box-sizing:border-box}
.tb-felt.bc .bc-road small{color:#f5d38a}
.tb-felt.bc .bc-road i{border:1px solid rgba(245,198,107,.6)}
.tb-felt.bc .bc-hand{border:1px solid rgba(245,198,107,.35);background:rgba(10,2,4,.32);backdrop-filter:none}
.tb-felt.bc .bc-hand.p{box-shadow:inset 0 0 0 1px rgba(80,120,255,.25)} .tb-felt.bc .bc-hand.b{box-shadow:inset 0 0 0 1px rgba(255,80,80,.25)}
.tb-felt.bc .bc-hand.win{box-shadow:0 0 0 3px #ffd76a,0 0 28px rgba(255,215,106,.55)}
.tb-felt.bc .bc-h{text-shadow:0 2px 3px rgba(0,0,0,.6)}
.tb-felt.bc .bc-score{background:url(/img/bc/panel.webp?v=1) center/100% 100%;border:0;padding:3px 12px;color:#ffe9b0}
.gv-baccarat .tc{background:linear-gradient(160deg,#fffdf6,#efe6d2);box-shadow:0 8px 16px rgba(0,0,0,.5),inset 0 0 0 1px rgba(150,110,40,.35)}
.gv-baccarat .tc.back{background:url(/img/bc/back.webp?v=1) center/100% 100%} .gv-baccarat .tc.back i{display:none}
.bc-spot.art{background:none;border:0;min-height:0;padding:0;gap:3px;border-radius:0}
.bc-spot.art img{width:100%;max-width:min(150px,22cqh);filter:drop-shadow(0 5px 6px rgba(0,0,0,.5));transition:transform .15s,filter .15s}
.bc-spot.art small{color:#f5d38a;opacity:.9}
.bc-spot.art.on{background:none;box-shadow:none} .bc-spot.art.on img{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 0 10px #ffd76a) drop-shadow(0 6px 6px rgba(0,0,0,.5))}
.bc-spot.art .chipslot{top:-14px;right:2px;width:40px;height:40px;background:url(/img/bc/ring.webp?v=1) center/contain no-repeat;display:grid;place-items:center;opacity:0}
.bc-spot.art.on .chipslot{opacity:1}
.gv-baccarat .tchip{background:url(/img/ro/chip_red.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 3px 2px rgba(0,0,0,.6));width:28px;height:28px}
.tb-felt.bc .tb-msg{background:url(/img/bc/panel.webp?v=1) center/100% 100%;border:0;padding:14px 28px;color:#f5d38a;display:flex;flex-direction:column;align-items:center;gap:6px}
.tb-felt.bc .tb-msg.win{color:#7ef0a8} .tb-felt.bc .tb-msg.lose{color:#ff9a9a}
.tb-felt.bc .tb-msg.badge{background:none;padding:0;text-shadow:0 2px 4px #000,0 0 12px rgba(0,0,0,.8)}
.tb-felt.bc .tb-msg.badge img{width:clamp(200px,56cqw,340px);filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}
.tb-felt.bc .tb-msg.badge.tie img{width:clamp(110px,26cqw,160px)}
.tb-felt.bc .tb-msg.badge span{font-size:18px}
.gv-baccarat .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-baccarat .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-baccarat .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-baccarat .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-baccarat .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-baccarat .gv-chip span::before{display:none}
.gv-baccarat .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}
.gv-baccarat .gv-go{gap:12px;color:#3a0610;background:linear-gradient(180deg,#ffe08a,#c9922e);border:2px solid #fff0c0;box-shadow:0 6px 0 #7a4a10,0 14px 26px -10px rgba(233,184,90,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.gv-baccarat .gv-go span{align-items:flex-start} .gv-baccarat .gv-go small{color:#5a1a10;opacity:.85}
.gv-baccarat .gv-go .bc-deal{height:44px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.gv-baccarat .gv-go:active:not(:disabled){box-shadow:0 2px 0 #7a4a10}

/* ---------- Mines: painted art (crystal cave) ---------- */
.gl-mines{--g1:linear-gradient(180deg,rgba(20,8,40,.1),#1c0b33 74%),url(/img/thumb/mines.webp?v=1) center/cover;--gs:#a855f7}
.gl-mines .gl-emoji{display:none}
.gl-deco.mnd{position:absolute;inset:0}
.gl-deco.mnd .lg{position:absolute;left:18%;top:6%;width:64%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));animation:glfloat 3.2s ease-in-out infinite}
.gl-deco.mnd .gm{position:absolute;left:5%;bottom:8%;width:20%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.gl-deco.mnd .bm{position:absolute;right:6%;bottom:6%;width:18%;transform:rotate(12deg);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.gs.gv-mines{background:linear-gradient(180deg,rgba(14,6,30,.35),rgba(10,4,22,.8)),url(/img/mn/hall.webp?v=1) center/cover,#0e0620;--gacc:#f5c66b}
.gv-mines .gv-bar,.gv-mines .gv-ctrl{background:linear-gradient(180deg,rgba(40,18,70,.86),rgba(16,8,32,.93));border:1px solid rgba(245,198,107,.42);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-mines .gs-ib,.gv-mines .gv-back{background:rgba(14,6,30,.6);border-color:rgba(245,198,107,.35)}
.gv-mines .gv-box{background:rgba(14,6,30,.5);border:1px solid rgba(245,198,107,.25)}
.gv-mines .gv-quick button.on{background:linear-gradient(180deg,#a855f7,#6d28d9);color:#fff}
.gv-mines .mn-stage{position:relative;gap:8px}
.mn-logo{align-self:center;height:min(76px,10cqh);filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.mn-lamp{position:absolute;top:0;height:min(120px,16cqh);filter:drop-shadow(0 0 18px rgba(255,190,90,.55));pointer-events:none;z-index:0}
.mn-lamp.l{left:4px} .mn-lamp.r{right:4px;transform:scaleX(-1)}
.gv-mines .mn-hud{position:relative;z-index:1;width:min(100%,520px);margin:0 auto}
.gv-mines .mn-hud>div{background:url(/img/mn/panel.webp?v=1) center/100% 100%;border:0;border-radius:12px}
.gv-mines .mn-hud small{color:#e9d5ff}
.gv-mines .mn-hud .big{color:#5eead4;text-shadow:0 0 16px rgba(94,234,212,.55)}
.mn-board{position:relative;z-index:1;align-self:center;background:url(/img/mn/board.webp?v=1) center/100% 100% no-repeat;padding:calc(min(100cqw - 20px,100cqh - 200px,560px) * .07) calc(min(100cqw - 20px,100cqh - 200px,560px) * .075);filter:drop-shadow(0 12px 20px rgba(0,0,0,.55))}
.gv-mines .mn-board .mn-grid{width:calc(min(100cqw - 20px,100cqh - 200px,560px) * .85);gap:6px}
.gv-mines .mt{background:url(/img/mn/tile.webp?v=1) center/100% 100% no-repeat;box-shadow:none;border-radius:10px;filter:drop-shadow(0 4px 3px rgba(0,0,0,.5))}
.gv-mines .mt.live:not(:disabled):hover{filter:brightness(1.25) drop-shadow(0 0 8px rgba(168,85,247,.8))}
.gv-mines .mt.live:not(:disabled):active{box-shadow:none}
.gv-mines .mt.gem{background:url(/img/mn/open.webp?v=1) center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 0 10px rgba(94,234,212,.6))}
.gv-mines .mt.mine{background:url(/img/mn/open.webp?v=1) center/100% 100% no-repeat;box-shadow:none;filter:hue-rotate(150deg) saturate(.6) brightness(.7)}
.gv-mines .mt.mine img{filter:hue-rotate(-150deg) saturate(1.6) brightness(1.3)}
.gv-mines .mt.hit{background:url(/img/mn/expl.webp?v=1) center/125% auto no-repeat;box-shadow:none;filter:none;z-index:3}
.gv-mines .mt.hit img{opacity:.0}
.gv-mines .mt.dim{opacity:.55}
.gv-mines .mt img{width:66%;height:66%;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.5))}
.gv-mines .mn-foot{position:relative;z-index:1;width:min(100%,520px);margin:0 auto;color:#d8c8f0}
.gv-mines .mn-foot img{height:16px;vertical-align:-3px}
.mn-badge{position:absolute;left:50%;top:50%;z-index:6;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.2,1.6,.4,1)}
.mn-badge img{width:min(300px,62cqw);filter:drop-shadow(0 12px 24px rgba(0,0,0,.65))}
.mn-badge.win img{width:min(240px,52cqw)}
.mn-badge b{margin-top:-6px;font:800 34px var(--f-display);color:#ffe08a;text-shadow:0 3px 0 #5b21b6,0 0 18px rgba(255,214,106,.8)}
.mn-badge.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gv-mines .gv-go{gap:12px;color:#fff3d6;background:linear-gradient(180deg,#7c3aed,#4c1d95);border:2px solid #e9b85a;box-shadow:0 6px 0 #2e1065,0 14px 26px -10px rgba(233,184,90,.6),inset 0 1px 0 rgba(255,220,160,.35)}
.gv-mines .gv-go.cash{background:linear-gradient(180deg,#10b981,#047857);box-shadow:0 6px 0 #064e3b,0 14px 26px -10px rgba(52,211,153,.7)}
.gv-mines .gv-go span{align-items:flex-start} .gv-mines .gv-go small{color:#f8e7c0;opacity:.9}
.gv-mines .gv-go .mn-bi{height:40px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.gv-mines .gv-go:active:not(:disabled){box-shadow:0 2px 0 #2e1065}
.gv-mines .gv-stage{background:linear-gradient(180deg,rgba(18,8,36,.45),rgba(8,3,18,.6));border-color:rgba(245,198,107,.35)}
.gv-mines .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-mines .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-mines .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-mines .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-mines .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-mines .gv-chip span::before{display:none}
.gv-mines .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}

/* ---------- Chicken Road: painted art (sunny countryside) ---------- */
.gl-chicken{--g1:linear-gradient(180deg,rgba(255,255,255,0),#2f5d12 76%),url(/img/thumb/chicken.webp?v=1) center/cover;--gs:#84cc16}
.gl-chicken .gl-emoji{display:none}
.gl-deco.ckd{position:absolute;inset:0}
.gl-deco.ckd .lg{position:absolute;left:24%;top:4%;width:52%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.gl-deco.ckd .hn{position:absolute;left:7%;bottom:2%;height:52%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.4));animation:glfloat 2.4s ease-in-out infinite}
.gl-deco.ckd .cr{position:absolute;right:9%;bottom:-10%;height:70%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}
.gs.gv-chicken{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(20,50,10,.45)),url(/img/ck/farm.webp?v=1) center/cover,#7cc4f0;--gacc:#f5c66b}
.gv-chicken .gv-bar,.gv-chicken .gv-ctrl{background:linear-gradient(180deg,rgba(40,80,20,.85),rgba(18,40,10,.92));border:1px solid rgba(255,220,120,.5);box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,240,180,.25)}
.gv-chicken .gs-ib,.gv-chicken .gv-back{background:rgba(10,30,6,.55);border-color:rgba(255,220,120,.4)}
.gv-chicken .gv-box{background:rgba(10,30,6,.45);border:1px solid rgba(255,220,120,.25)}
.gv-chicken .gv-stage{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(10,30,6,.35));border-color:rgba(255,220,120,.45)}
.gv-chicken .gv-seg button.on{background:linear-gradient(180deg,#f59e0b,#ea580c);color:#fff}
.gv-chicken .ck-stage{position:relative;gap:8px}
.ck-logo{align-self:center;height:min(70px,9cqh);filter:drop-shadow(0 5px 8px rgba(0,0,0,.45))}
.gv-chicken .mn-hud>div{background:linear-gradient(180deg,rgba(255,250,235,.92),rgba(250,232,190,.92));border:2px solid #e2a83b;color:#5a2a00}
.gv-chicken .mn-hud small{color:#8a5a1a} .gv-chicken .mn-hud b{color:#3d1d00} .gv-chicken .mn-hud .big{color:#16a34a;text-shadow:none}
.gv-chicken .ck-view{border-radius:16px;box-shadow:0 0 0 3px #e2a83b,0 10px 24px rgba(0,0,0,.4)}
.mn-badge.ck img{width:min(300px,64cqw)}
.gv-chicken .gv-go{gap:10px;color:#fff;background:linear-gradient(180deg,#fb923c,#ea580c);border:2px solid #fde68a;box-shadow:0 6px 0 #9a3412,0 14px 26px -10px rgba(251,146,60,.7)}
.gv-chicken .gv-go.cash{background:linear-gradient(180deg,#4ade80,#16a34a);box-shadow:0 6px 0 #166534,0 14px 26px -10px rgba(74,222,128,.7)}
.gv-chicken .gv-go span{align-items:flex-start;text-shadow:0 2px 0 rgba(0,0,0,.25)} .gv-chicken .gv-go small{color:#fff7e0;opacity:.95}
.gv-chicken .gv-go .ck-bi{height:38px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.gv-chicken .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-chicken .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-chicken .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-chicken .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-chicken .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-chicken .gv-chip span::before{display:none}
.gv-chicken .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}

/* ---------- Plinko: painted art (neon space arcade) ---------- */
.gl-plinko{--g1:linear-gradient(180deg,rgba(20,8,50,.1),#1e0b45 74%),url(/img/thumb/plinko.webp?v=1) center/cover;--gs:#ec4899}
.gl-plinko .gl-emoji{display:none}
.gl-deco.pkd{position:absolute;inset:0}
.gl-deco.pkd .bd{position:absolute;left:50%;bottom:-4%;height:96%;transform:translateX(-50%);opacity:.85}
.gl-deco.pkd .lg{position:absolute;left:14%;top:22%;width:72%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.gl-deco.pkd .bl{position:absolute;left:47%;top:2%;width:9%;animation:pkCard 2.2s ease-in infinite}
@keyframes pkCard{0%{transform:translateY(0)}70%{transform:translateY(160%)}100%{transform:translateY(160%);opacity:0}}
.gs.gv-plinko{background:linear-gradient(180deg,rgba(14,6,40,.3),rgba(10,4,28,.75)),url(/img/pk/space.webp?v=1) center/cover,#0e0628;--gacc:#f5c66b}
.gv-plinko .gv-bar,.gv-plinko .gv-ctrl{background:linear-gradient(180deg,rgba(46,16,90,.85),rgba(18,6,40,.93));border:1px solid rgba(236,72,153,.5);box-shadow:0 0 24px rgba(236,72,153,.18),inset 0 1px 0 rgba(255,200,240,.2)}
.gv-plinko .gs-ib,.gv-plinko .gv-back{background:rgba(14,6,40,.6);border-color:rgba(236,72,153,.4)}
.gv-plinko .gv-box{background:rgba(14,6,40,.5);border:1px solid rgba(34,211,238,.25)}
.gv-plinko .gv-seg button.on{background:linear-gradient(180deg,#ec4899,#be185d);color:#fff}
.gv-plinko .gv-stage{background:linear-gradient(180deg,rgba(20,8,50,.35),rgba(8,3,24,.55));border-color:rgba(236,72,153,.45)}
.gv-plinko .pk-stage{position:relative}
.pk-logo{position:absolute;left:12px;top:10px;z-index:4;width:min(150px,28cqw);filter:drop-shadow(0 4px 10px rgba(236,72,153,.5))}
.gv-plinko .pk-board{background:url(/img/pk/board.webp?v=1) center 0/116% 93% no-repeat}
.gv-plinko .pk-peg{width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:0;background:url(/img/pk/peg.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 4px rgba(34,211,238,.8))}
.gv-plinko .pk-ball{width:18px;height:18px;margin:-9px 0 0 -9px;background:url(/img/pk/ball.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 8px rgba(251,191,36,.9))}
.gv-plinko .pk-slot{background:url(/img/pk/b_yellow.webp?v=1) center bottom/100% 100% no-repeat;box-shadow:none;border-radius:0;color:#fff;font-size:10px;text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 4px rgba(0,0,0,.7);background-size:contain;background-position:center top}
.gv-plinko .pk-slot.b-red{background-image:url(/img/pk/b_red.webp?v=1)} .gv-plinko .pk-slot.b-orange{background-image:url(/img/pk/b_orange.webp?v=1)}
.gv-plinko .pk-slot.b-green{background-image:url(/img/pk/b_green.webp?v=1)}
.gv-plinko .pk-rc{background:url(/img/pk/panel.webp?v=1) center/100% 100%;color:var(--sc);text-shadow:0 0 6px rgba(0,0,0,.6);padding:5px 10px}
.pk-big{position:absolute;left:50%;top:30%;z-index:6;width:min(320px,62cqw);transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.2,1.6,.4,1);display:flex;flex-direction:column;align-items:center}
.pk-big .bu{position:absolute;left:-25%;top:-35%;width:150%;opacity:.9;animation:spin 6s linear infinite}
.pk-big .bw{position:relative;width:100%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}
.pk-big b{position:relative;margin-top:-4px;font:800 32px var(--f-display);color:#ffe08a;text-shadow:0 3px 0 #7e22ce,0 0 18px rgba(236,72,153,.8)}
.pk-big.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gv-plinko .gv-go{gap:12px;color:#fff;background:linear-gradient(180deg,#ec4899,#9d174d);border:2px solid #f5c66b;box-shadow:0 6px 0 #500724,0 14px 26px -10px rgba(236,72,153,.8)}
.gv-plinko .gv-go span{align-items:flex-start} .gv-plinko .gv-go small{color:#ffe4f1;opacity:.9}
.gv-plinko .gv-go .pk-bi{height:40px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.gv-plinko .gv-go:active:not(:disabled){box-shadow:0 2px 0 #500724}
.gv-plinko .gv-sub{display:flex;align-items:center;justify-content:center;gap:10px;border-color:rgba(34,211,238,.45);color:#a5f3fc}
.gv-plinko .gv-sub .pk-ai{height:28px}
.gv-plinko .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-plinko .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-plinko .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-plinko .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-plinko .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-plinko .gv-chip span::before{display:none}
.gv-plinko .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}

.gv-plinko .pk-peg.hit{animation:pkPeg .35s}
@keyframes pkPeg{50%{transform:scale(1.7);filter:brightness(2) drop-shadow(0 0 8px #fff)}}

/* ---------- Lucky Wheel: painted art (game show) ---------- */
.gl-wheel{--g1:linear-gradient(180deg,rgba(60,6,10,.1),#3d070c 74%),url(/img/thumb/wheel.webp?v=1) center/cover;--gs:#f59e0b}
.gl-wheel .gl-emoji{display:none}
.gl-deco.whd{position:absolute;inset:0}
.gl-deco.whd .rg{position:absolute;left:50%;top:50%;height:120%;transform:translate(-50%,-50%);opacity:.75;animation:whCard 24s linear infinite}
@keyframes whCard{to{transform:translate(-50%,-50%) rotate(360deg)}}
.gl-deco.whd .lg{position:absolute;left:20%;top:12%;width:60%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.gl-deco.whd .cl{position:absolute;right:6%;bottom:6%;width:14%;transform:rotate(14deg)}
.gs.gv-wheel{background:linear-gradient(180deg,rgba(30,4,6,.35),rgba(20,2,4,.8)),url(/img/wh/stage.webp?v=1) center/cover,#1a0306;--gacc:#f5c66b}
.gv-wheel .gv-bar,.gv-wheel .gv-ctrl{background:linear-gradient(180deg,rgba(80,10,18,.86),rgba(30,4,8,.93));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-wheel .gs-ib,.gv-wheel .gv-back{background:rgba(25,3,6,.6);border-color:rgba(245,198,107,.35)}
.gv-wheel .gv-box{background:rgba(25,3,6,.5);border:1px solid rgba(245,198,107,.25)}
.gv-wheel .gv-seg button.on{background:linear-gradient(180deg,#f59e0b,#b45309);color:#fff}
.gv-wheel .gv-stage{background:linear-gradient(180deg,rgba(40,6,10,.3),rgba(15,2,4,.55));border-color:rgba(245,198,107,.4)}
.gv-wheel .wh-stage{position:relative;gap:10px;padding:10px 12px 64px}
.wh-logo{height:min(84px,11cqh);filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.gv-wheel .wh-wrap{width:min(380px,calc((100cqw - 40px) * .8),calc((100cqh - 200px) * .78));margin:5% 0}
.gv-wheel .wh-ring{display:none}
.wh-burst{position:absolute;left:50%;top:50%;width:160%;transform:translate(-50%,-50%);opacity:.75;pointer-events:none;animation:whCard 40s linear infinite}
.wh-rim{position:absolute;left:50%;top:50%;width:121%;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}
.wh-pin2{position:absolute;left:50%;top:-17%;height:26%;transform:translateX(-50%);z-index:3;pointer-events:none;filter:drop-shadow(0 4px 4px rgba(0,0,0,.55))}
.gv-wheel .wh-hub{width:32%;height:32%;background:url(/img/wh/hub.webp?v=1) center/contain no-repeat;box-shadow:none;border-radius:0}
.gv-wheel .wh-hub b{font-size:18px;color:#fff;text-shadow:0 2px 3px #000,0 0 10px rgba(0,0,0,.8)}
.gv-wheel .wh-hub.win b{color:#a7f3a0} .gv-wheel .wh-hub.lose b{color:#ffb4b4}
.gv-wheel .wh-t{font-size:8.5px;paint-order:stroke;stroke:rgba(0,0,0,.5);stroke-width:1.6px}
.gv-wheel .wh-legend span{background:url(/img/wh/panel.webp?v=1) center/100% 100%;border-bottom:0;box-shadow:inset 0 -3px 0 var(--c)}
.gv-wheel .wh-legend small{color:#f8dca0}
.wh-jack{position:absolute;left:50%;top:42%;z-index:6;width:min(320px,64cqw);transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.2,1.6,.4,1);display:flex;flex-direction:column;align-items:center}
.wh-jack img{width:100%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.6))}
.wh-jack b{margin-top:-10px;font:800 32px var(--f-display);color:#ffe08a;text-shadow:0 3px 0 #7a1020,0 0 18px rgba(255,214,106,.8)}
.wh-jack.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gv-wheel .gv-go{gap:12px;color:#fff3d6;background:linear-gradient(180deg,#dc2626,#7f1d1d);border:2px solid #f5c66b;box-shadow:0 6px 0 #450a0a,0 14px 26px -10px rgba(245,198,107,.6)}
.gv-wheel .gv-go span{align-items:flex-start} .gv-wheel .gv-go small{color:#f8dca0;opacity:.9}
.gv-wheel .gv-go .wh-bi{height:44px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.gv-wheel .gv-go:active:not(:disabled){box-shadow:0 2px 0 #450a0a}
.gv-wheel .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-wheel .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-wheel .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-wheel .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-wheel .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-wheel .gv-chip span::before{display:none}
.gv-wheel .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}

/* ---------- Hi-Lo: painted art (Wild West saloon) ---------- */
.gl-hilo{--g1:linear-gradient(180deg,rgba(40,20,8,.1),#2e1608 74%),url(/img/thumb/hilo.webp?v=1) center/cover;--gs:#d97706}
.gl-hilo .gl-emoji{display:none}
.gl-deco.hld{position:absolute;inset:0}
.gl-deco.hld .lg{position:absolute;left:18%;top:14%;width:62%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.gl-deco.hld .bk{position:absolute;right:7%;top:6%;width:16%;transform:rotate(12deg);filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.gl-deco.hld .ht{position:absolute;left:4%;bottom:4%;width:26%;transform:rotate(-8deg);filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.gs.gv-hilo{background:linear-gradient(180deg,rgba(25,12,4,.35),rgba(15,7,2,.8)),url(/img/hl/saloon.webp?v=1) center/cover,#1a0c04;--gacc:#f5c66b}
.gv-hilo .gv-bar,.gv-hilo .gv-ctrl{background:linear-gradient(180deg,rgba(70,36,14,.88),rgba(28,14,5,.94));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-hilo .gs-ib,.gv-hilo .gv-back{background:rgba(25,12,4,.6);border-color:rgba(245,198,107,.35)}
.gv-hilo .gv-box{background:rgba(25,12,4,.5);border:1px solid rgba(245,198,107,.25)}
.gv-hilo .gv-stage{background:linear-gradient(180deg,rgba(40,20,8,.3),rgba(15,7,2,.55));border-color:rgba(245,198,107,.4)}
.gv-hilo .hl-stage{position:relative;gap:10px}
.hl-logo{align-self:center;flex:none;height:min(64px,8cqh);filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.gv-hilo .mn-hud>div{background:url(/img/hl/panel.webp?v=1) center/100% 100%;border:0}
.gv-hilo .mn-hud small{color:#f8dca0} .gv-hilo .mn-hud .big{color:#ffd76a;text-shadow:0 0 14px rgba(255,215,106,.5)}
.gv-hilo .hl-table{background:url(/img/hl/table.webp?v=1) center/100% 100% no-repeat;border-radius:16px;box-shadow:0 14px 30px rgba(0,0,0,.55)}
.gv-hilo .hl-deck{width:130px;height:auto;display:grid;place-items:center} .gv-hilo .hl-deck img{width:130px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.hl-star{position:absolute;right:9%;bottom:12%;width:54px;transform:rotate(14deg);filter:drop-shadow(0 6px 8px rgba(0,0,0,.5));opacity:.95}
.gv-hilo .hl-card{background:linear-gradient(160deg,#fffdf6,#efe3c8);box-shadow:0 10px 24px rgba(0,0,0,.55),inset 0 0 0 1px rgba(150,110,40,.4)}
.gv-hilo .hl-card.back{background:url(/img/hl/back.webp?v=1) center/100% 100%}
.gv-hilo .hl-trail{flex:none;background:url(/img/hl/wanted.webp?v=1) center/100% 100% no-repeat;padding:38px 9% 8px;min-height:120px;align-items:flex-start;box-sizing:border-box;justify-content:center}
.gv-hilo .hl-tc span{color:#f5d38a}
.mn-badge.hl img{width:min(300px,64cqw)}
.gv-hilo .hl-g{border:2px solid #f5c66b;text-shadow:0 2px 0 rgba(0,0,0,.3)}
.gv-hilo .hl-g.hi{background:linear-gradient(180deg,#c0262d,#7f1418);box-shadow:0 5px 0 #4a0b0d}
.gv-hilo .hl-g.lo{background:linear-gradient(180deg,#1d4ed8,#1e3a8a);box-shadow:0 5px 0 #0f1e4a}
.gv-hilo .gv-go{gap:12px;color:#fff3d6;background:linear-gradient(180deg,#b45309,#78350f);border:2px solid #f5c66b;box-shadow:0 6px 0 #451a03,0 14px 26px -10px rgba(245,198,107,.6)}
.gv-hilo .gv-go.cash{background:linear-gradient(180deg,#15803d,#14532d);box-shadow:0 6px 0 #052e16}
.gv-hilo .gv-go span{align-items:flex-start} .gv-hilo .gv-go small{color:#f8dca0;opacity:.9}
.gv-hilo .gv-go .hl-bi{height:42px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.gv-hilo .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-hilo .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-hilo .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-hilo .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-hilo .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-hilo .gv-chip span::before{display:none}
.gv-hilo .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}
@media (max-width:420px){ .gv-hilo .hl-deck{display:grid} }
.gs.gv-hilo .hl-table{min-height:clamp(150px,calc(100cqh - 290px),260px)}
.gs.gv-hilo .hl-card{max-height:calc(100% - 16px)}

/* ---------- Dice: painted art (royal emerald) ---------- */
.gl-dice{--g1:linear-gradient(180deg,rgba(4,30,20,.1),#052e1f 74%),url(/img/thumb/dice.webp?v=1) center/cover;--gs:#10b981}
.gl-dice .gl-emoji{display:none}
.gl-deco.dcd{position:absolute;inset:0}
.gl-deco.dcd .lg{position:absolute;left:8%;top:24%;width:58%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.gl-deco.dcd .dc{position:absolute;right:4%;top:8%;width:32%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));animation:glfloat 3s ease-in-out infinite}
.gs.gv-dice{background:linear-gradient(180deg,rgba(2,20,14,.35),rgba(2,14,10,.8)),url(/img/dc/lounge.webp?v=1) center/cover,#02140e;--gacc:#f5c66b}
.gv-dice .gv-bar,.gv-dice .gv-ctrl{background:linear-gradient(180deg,rgba(6,60,42,.86),rgba(3,24,17,.94));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-dice .gs-ib,.gv-dice .gv-back{background:rgba(2,20,14,.6);border-color:rgba(245,198,107,.35)}
.gv-dice .gv-box{background:rgba(2,20,14,.5);border:1px solid rgba(245,198,107,.25)}
.gv-dice .gv-quick button.on{background:linear-gradient(180deg,#10b981,#047857);color:#fff}
.gv-dice .gv-stage{background:linear-gradient(180deg,rgba(4,30,20,.3),rgba(2,12,8,.55));border-color:rgba(245,198,107,.4)}
.gv-dice .dc-stage{position:relative;gap:8px;padding:10px 16px 70px}
.dc-logo{align-self:center;flex:none;height:min(66px,9cqh);filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.dc-show{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;flex:none}
.dc-frame{position:relative;display:grid;place-items:center;width:min(340px,62cqw);aspect-ratio:800/430;background:url(/img/dc/frame.webp?v=1) center/100% 100% no-repeat;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.gv-dice .dc-big{font-size:clamp(40px,11cqw,72px);color:#ffe9b0;text-shadow:0 3px 0 rgba(0,0,0,.45),0 0 18px rgba(255,215,106,.35)}
.gv-dice .dc-big.win{color:#7ef0a8} .gv-dice .dc-big.lose{color:#ff9a9a} .gv-dice .dc-big.rolling{color:#c8d8cf}
.dc-cup{width:min(90px,16cqw);filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.dc-dice{width:min(90px,16cqw);filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.dc-dice.tumble{animation:dcTumble .7s cubic-bezier(.3,1.4,.5,1)}
@keyframes dcTumble{0%{transform:translate(-120px,-30px) rotate(-200deg) scale(.7)}60%{transform:translate(8px,-14px) rotate(20deg)}100%{transform:none}}
.gv-dice .dc-sub{color:#cfe3d8}
.gv-dice .dc-track{background:url(/img/dc/track.webp?v=1) center/100% 100% no-repeat;border:0;height:52px}
.gv-dice .dc-bar{left:20px;right:20px;height:12px;background:linear-gradient(90deg,#7f1d1d,#dc2626);box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
.gv-dice .dc-win{background:linear-gradient(90deg,#047857,#34d399)}
.gv-dice .dc-range::-webkit-slider-thumb{width:40px;height:40px;border:0;border-radius:50%;background:url(/img/dc/knob.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}
.gv-dice .dc-range::-moz-range-thumb{width:38px;height:38px;border:0;border-radius:50%;background:url(/img/dc/knob.webp?v=1) center/contain no-repeat;box-shadow:none}
.gv-dice .dc-scale{color:#cfe3d8}
.gv-dice .dc-stats>div{background:url(/img/dc/panel.webp?v=1) center/100% 100%;border:0}
.gv-dice .dc-stats small{color:#f8dca0} .gv-dice .dc-stats b{color:#fff3d6}
.mn-badge.dc img{width:min(280px,60cqw)}
.gv-dice .gv-go{gap:12px;color:#fff3d6;background:linear-gradient(180deg,#059669,#065f46);border:2px solid #f5c66b;box-shadow:0 6px 0 #022c22,0 14px 26px -10px rgba(245,198,107,.6)}
.gv-dice .gv-go span{align-items:flex-start} .gv-dice .gv-go small{color:#f8dca0;opacity:.9}
.gv-dice .gv-go .dc-bi{height:42px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.gv-dice .gv-go:active:not(:disabled){box-shadow:0 2px 0 #022c22}
.gv-dice .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-dice .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-dice .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-dice .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-dice .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-dice .gv-chip span::before{display:none}
.gv-dice .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}

/* ---------- Coin Flip: painted art (royal treasure) ---------- */
.gl-coin{--g1:linear-gradient(180deg,rgba(10,14,50,.1),#0c1240 74%),url(/img/thumb/coin.webp?v=1) center/cover;--gs:#3b82f6}
.gl-coin .gl-emoji{display:none}
.gl-deco.cfd{position:absolute;inset:0}
.gl-deco.cfd .lg{position:absolute;left:6%;top:12%;width:46%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.gl-deco.cfd .cn{position:absolute;right:10%;top:10%;width:30%;filter:drop-shadow(0 8px 12px rgba(0,0,0,.55));animation:cfCard 3s ease-in-out infinite}
@keyframes cfCard{0%,100%{transform:rotateY(0)}50%{transform:rotateY(180deg)}}
.gl-deco.cfd .pl{position:absolute;right:4%;bottom:0;width:36%}
.gs.gv-coin{background:linear-gradient(180deg,rgba(6,10,40,.3),rgba(4,6,28,.8)),url(/img/cf/vault.webp?v=1) center/cover,#060a28;--gacc:#f5c66b}
.gv-coin .gv-bar,.gv-coin .gv-ctrl{background:linear-gradient(180deg,rgba(20,32,100,.86),rgba(8,12,44,.94));border:1px solid rgba(245,198,107,.45);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.18)}
.gv-coin .gs-ib,.gv-coin .gv-back{background:rgba(6,10,40,.6);border-color:rgba(245,198,107,.35)}
.gv-coin .gv-box{background:rgba(6,10,40,.5);border:1px solid rgba(245,198,107,.25)}
.gv-coin .gv-stage{background:linear-gradient(180deg,rgba(10,16,60,.3),rgba(4,6,24,.55));border-color:rgba(245,198,107,.4)}
.gv-coin .cf-stage{gap:0;justify-content:center}
.cf-logo{position:absolute;top:10px;left:50%;transform:translateX(-50%);height:min(84px,13cqh);filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));z-index:3}
.gv-coin .cf-streak{top:auto;bottom:14px;color:#ffd76a}
.gv-coin .cf-face.art{background:none;box-shadow:none;border-radius:50%}
.gv-coin .cf-face.art img{width:100%;height:100%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.cf-cushion{width:min(300px,62cqw);margin-top:-6%;position:relative;z-index:1;filter:drop-shadow(0 12px 18px rgba(0,0,0,.5))}
.gv-coin .cf-shadow{display:none}
.gv-coin .cf-toss{margin-top:6%}
.mn-badge.cf img{width:min(320px,66cqw)}
.cf-side.art{padding:0;border:0;background:none;box-shadow:none;transition:transform .15s,filter .15s}
.cf-side.art img{width:100%;max-width:190px;filter:drop-shadow(0 5px 6px rgba(0,0,0,.5))}
.cf-side.art:not(.on){filter:saturate(.45) brightness(.7)}
.cf-side.art.on{transform:translateY(-3px)} .cf-side.art.on img{filter:drop-shadow(0 0 10px #ffd76a) drop-shadow(0 6px 6px rgba(0,0,0,.5))}
.gv-coin .gv-go{gap:12px;color:#fff3d6;background:linear-gradient(180deg,#1d4ed8,#1e1b72);border:2px solid #f5c66b;box-shadow:0 6px 0 #0b0d3a,0 14px 26px -10px rgba(245,198,107,.6)}
.gv-coin .gv-go span{align-items:flex-start} .gv-coin .gv-go small{color:#f8dca0;opacity:.9}
.gv-coin .gv-go .cf-bi{height:42px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.gv-coin .gv-go:active:not(:disabled){box-shadow:0 2px 0 #0b0d3a}
.gv-coin .gv-chip{background:url(/img/ro/chip_blue.webp?v=1) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5));font-size:12px}
.gv-coin .gv-chip:nth-child(4n+2){background-image:url(/img/ro/chip_green.webp?v=1)}
.gv-coin .gv-chip:nth-child(4n+3){background-image:url(/img/ro/chip_red.webp?v=1)}
.gv-coin .gv-chip:nth-child(4n+4){background-image:url(/img/ro/chip_black.webp?v=1)}
.gv-coin .gv-chip:nth-child(n+5){filter:hue-rotate(70deg) drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.gv-coin .gv-chip span::before{display:none}
.gv-coin .gv-chip.on{box-shadow:none;filter:drop-shadow(0 0 7px #ffd76a) drop-shadow(0 6px 3px rgba(0,0,0,.5))}
