/* casino.css — premium casino styling for the redesigned game tables.
   Loaded alongside style.css (which still provides the topbar/balance pill).
   Scoped under .casino so it never collides with the older pages. */
.casino{
  --gold:#ffd24a; --gold-deep:#c8901f;
  --felt-1:#1c8a54; --felt-2:#0c5030; --felt-3:#06381f;
  --wood-1:#7a4a24; --wood-2:#4a2a12; --wood-edge:#2a1608;
  --chip-green:#27c06a; --chip-blue:#2f7fe0; --chip-purple:#9b4dd6; --chip-silver:#c7ccd6;
  max-width:460px;margin:0 auto;padding:8px 10px 30px;
}
.casino *{ -webkit-tap-highlight-color:transparent; }

/* round bar */
.casino .roundbar{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 12px;}
.casino .round-pill{background:linear-gradient(#3a2560,#241540);border:1px solid #5a3f8c;color:#e9deff;
  font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
.casino .menu-btn{padding:6px 12px;border-radius:10px;background:linear-gradient(#3a2560,#241540);
  border:1px solid #5a3f8c;color:#e9deff;font-size:13px;text-decoration:none;}

/* ---- table shell ---- */
.table-wrap{position:relative;border-radius:22px;padding:14px;
  background:linear-gradient(160deg,var(--wood-1),var(--wood-2) 55%,var(--wood-edge));
  box-shadow:0 10px 30px rgba(0,0,0,.5), inset 0 0 0 2px rgba(255,210,74,.25);}
.table-wrap::before{content:"";position:absolute;inset:7px;border-radius:16px;border:1px solid rgba(255,210,74,.35);pointer-events:none;}
.felt{position:relative;border-radius:14px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 30%, var(--felt-1), var(--felt-2) 62%, var(--felt-3));
  box-shadow:inset 0 0 40px rgba(0,0,0,.55), inset 0 0 0 2px rgba(0,0,0,.3);padding:16px 14px 18px;}
.felt::after{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:repeating-linear-gradient(45deg,#fff 0 1px,transparent 1px 4px);}

/* history tab */
.hist{position:absolute;left:0;top:64px;background:linear-gradient(#2a1608,#1a0e04);
  border:1px solid var(--gold-deep);border-left:none;border-radius:0 10px 10px 0;padding:6px 6px 8px;z-index:4;text-align:center;}
.hist .new{color:var(--gold);font-size:9px;font-weight:800;}
.hist .d{width:22px;height:22px;background:#fff;border-radius:5px;margin-top:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#111;box-shadow:0 1px 2px rgba(0,0,0,.4);}

/* timer ring */
.timer{position:absolute;top:-6px;right:16px;width:44px;height:44px;border-radius:50%;
  background:conic-gradient(var(--gold) var(--pct,100%), rgba(255,255,255,.15) 0);
  display:flex;align-items:center;justify-content:center;z-index:6;box-shadow:0 4px 10px rgba(0,0,0,.4);}
.timer span{width:34px;height:34px;border-radius:50%;background:#1a0e04;display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:900;font-size:15px;}
.state-tag{position:absolute;top:6px;left:50%;transform:translateX(-50%);z-index:6;
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;
  background:rgba(0,0,0,.4);padding:3px 12px;border-radius:999px;}

/* dice dome */
.dome-zone{display:flex;flex-direction:column;align-items:center;margin:6px 0 12px;}
.dome{width:150px;height:150px;border-radius:50%;position:relative;
  background:
    radial-gradient(circle at 38% 30%, rgba(255,255,255,.28), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 50% 60%, rgba(10,20,14,.55), rgba(10,20,14,.15) 70%),
    radial-gradient(circle at 50% 50%, rgba(120,180,150,.20), rgba(120,180,150,.05));
  border:3px solid rgba(0,0,0,.55);
  box-shadow:0 14px 26px rgba(0,0,0,.5), inset 0 6px 18px rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;gap:8px;}
.dome .base{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:120px;height:22px;border-radius:50%;
  background:radial-gradient(circle,#111,#000);box-shadow:0 8px 14px rgba(0,0,0,.6);}
.die{width:34px;height:34px;background:linear-gradient(150deg,#fff,#d8d8d8);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:24px;color:#c0392b;
  box-shadow:inset 0 -3px 5px rgba(0,0,0,.2),0 3px 6px rgba(0,0,0,.4);}
.dome.shaking{animation:cshake .4s ease-in-out infinite;}
@keyframes cshake{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-3px)}}

/* betting zones */
.zone-top{display:flex;justify-content:center;margin-bottom:10px;}
.zone{position:relative;border-radius:12px;padding:12px 10px;cursor:pointer;transition:transform .08s, box-shadow .2s;
  border:2px solid rgba(255,255,255,.18);background:rgba(0,0,0,.16);text-align:center;}
.zone:active{transform:scale(.98);}
.zone.sel{border-color:var(--gold);box-shadow:0 0 0 2px rgba(255,210,74,.4),inset 0 0 18px rgba(255,210,74,.35);}
.zone.win{animation:zpulse .8s ease infinite;border-color:var(--gold);}
@keyframes zpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,210,74,.6)}50%{box-shadow:0 0 0 12px rgba(255,210,74,0)}}
.zone .zname{font-weight:900;color:#fff;font-size:18px;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.5);}
.zone .zmul{display:inline-block;margin-top:3px;font-size:12px;font-weight:800;color:#08381f;background:var(--gold);border-radius:999px;padding:1px 10px;}
.zone .zpool{margin-top:6px;color:var(--gold);font-weight:800;font-size:13px;}
.zone .zmine{color:#8fe6b5;font-size:11px;font-weight:700;min-height:14px;}
.zone.triple{background:linear-gradient(#7a1f6a,#4a0f42);width:190px;}
.zone-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.zone.small{background:linear-gradient(150deg,#124a86,#0b2f57);}
.zone.big{background:linear-gradient(150deg,#8a2418,#4a120b);}
.chips-on{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;margin-top:8px;min-height:26px;}
.mchip{width:26px;height:26px;border-radius:50%;font-size:9px;font-weight:800;color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.4);margin-left:-8px;}
.mchip:first-child{margin-left:0;}
.mchip{min-width:32px;width:auto;height:32px;padding:0 6px;border-radius:999px;font-size:11px;}
.mchip.c100{background:radial-gradient(circle at 40% 35%,#63a9f5,#2f7fe0);}
.mchip.c1k{background:radial-gradient(circle at 40% 35%,#c07af0,#9b4dd6);}
.mchip.c5k{background:radial-gradient(circle at 40% 35%,#5fe39a,#27c06a);}
.mchip.c10k{background:radial-gradient(circle at 40% 35%,#eef1f6,#c7ccd6);color:#333;}
.mchip.c50k{background:radial-gradient(circle at 40% 35%,#ffb36b,#e8622f);}
.mchip.c100k{background:radial-gradient(circle at 40% 35%,#ffe58a,#e0a92f);color:#4a2f00;}
.mchip.c500k{background:radial-gradient(circle at 40% 35%,#5a6072,#23262f);color:#ffd24a;border:1px solid #ffd24a;}

/* winner podium */
.podium{display:flex;justify-content:center;align-items:flex-end;gap:10px;margin-top:16px;min-height:120px;}
.win{display:flex;flex-direction:column;align-items:center;opacity:.4;transition:opacity .3s;}
.win.filled{opacity:1;}
.frame{width:64px;height:64px;border-radius:50%;padding:3px;position:relative;
  background:conic-gradient(from 0deg,#ffd24a,#c8901f,#ffd24a,#8a5a00,#ffd24a);}
.frame.silver{background:conic-gradient(from 0deg,#e8ecf5,#9aa3b5,#e8ecf5,#6b7385,#e8ecf5);}
.frame.bronze{background:conic-gradient(from 0deg,#e8a76a,#a05a22,#e8a76a,#7a3f14,#e8a76a);}
.frame img,.frame .ava{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#241540;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;}
.win .rank{margin-top:-8px;font-size:10px;font-weight:900;color:#08381f;background:var(--gold);border-radius:999px;padding:1px 10px;position:relative;z-index:2;}
.win.first .frame{width:78px;height:78px;box-shadow:0 0 18px rgba(255,210,74,.7);}
.win .amt{margin-top:5px;font-size:12px;font-weight:800;color:#ffe9a8;}
.win .nm{font-size:10px;color:#cbd0e0;margin-top:1px;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.crown{font-size:16px;margin-bottom:-4px;}

/* chip rail — 7 denominations, wraps if narrow */
.rail{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:14px 8px 6px;}
.chip{width:46px;height:46px;border-radius:50%;position:relative;cursor:pointer;transition:transform .1s;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:12px;box-shadow:0 6px 12px rgba(0,0,0,.45);}
.chip:active{transform:translateY(2px) scale(.97);}
.chip::before{content:"";position:absolute;inset:4px;border-radius:50%;border:2px dashed rgba(255,255,255,.7);}
.chip.sel{transform:translateY(-6px) scale(1.08);box-shadow:0 0 0 3px var(--gold),0 8px 16px rgba(0,0,0,.5);}
.chip.c100{background:radial-gradient(circle at 38% 32%,#63a9f5,#2f7fe0);}
.chip.c1k{background:radial-gradient(circle at 38% 32%,#c07af0,#9b4dd6);}
.chip.c5k{background:radial-gradient(circle at 38% 32%,#5fe39a,#27c06a);}
.chip.c10k{background:radial-gradient(circle at 38% 32%,#eef1f6,#c7ccd6);color:#333;}
.chip.c50k{background:radial-gradient(circle at 38% 32%,#ffb36b,#e8622f);}
.chip.c100k{background:radial-gradient(circle at 38% 32%,#ffe58a,#e0a92f);color:#4a2f00;}
.chip.c500k{background:radial-gradient(circle at 38% 32%,#5a6072,#23262f);color:#ffd24a;border:1px solid #ffd24a;}

.casino .hint{color:#8b93a7;font-size:11px;text-align:center;padding:10px 20px 0;line-height:1.5;}
.casino .err{color:#ff8080;font-size:12px;text-align:center;min-height:16px;padding-top:6px;}

/* balance + betting history strip */
.game-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 2px 0;}
.bal-box{display:flex;align-items:center;gap:8px;background:linear-gradient(#241540,#1a0e2e);
  border:1px solid #5a3f8c;border-radius:12px;padding:8px 14px;}
.bal-box .lbl{color:#9a8fc0;font-size:11px;}
.bal-box .val{color:var(--gold);font-weight:900;font-size:16px;}
.hist-toggle{background:linear-gradient(#3a2560,#241540);border:1px solid #5a3f8c;color:#e9deff;
  border-radius:12px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;}
.bethist{margin:8px 2px 0;background:rgba(20,12,40,.6);border:1px solid #3a2a55;border-radius:12px;padding:8px 10px;max-height:150px;overflow-y:auto;display:none;}
.bethist.open{display:block;}
.bethist h4{margin:0 0 6px;font-size:12px;color:#cbd0e0;font-weight:800;}
.bethist .row{display:flex;justify-content:space-between;font-size:12px;padding:4px 6px;border-radius:8px;}
.bethist .row:nth-child(odd){background:rgba(255,255,255,.03);}
.bethist .row .res{font-weight:800;}
.bethist .row .win{color:#3ddc84;}
.bethist .row .lose{color:#ff8080;}
.bethist .empty{color:#8b93a7;font-size:12px;text-align:center;padding:8px;}

/* post-round winner popup */
.lb-overlay{position:fixed;inset:0;background:rgba(6,4,16,.72);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;z-index:50;padding:20px;}
.lb-overlay.show{display:flex;animation:lbfade .25s ease;}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
.lb-card{width:100%;max-width:360px;border-radius:20px;padding:20px 18px 22px;text-align:center;position:relative;
  background:linear-gradient(160deg,#2a1a52,#170e30);border:1px solid #6a4aa0;
  box-shadow:0 20px 50px rgba(0,0,0,.6),inset 0 0 0 2px rgba(255,210,74,.2);}
.lb-card h3{margin:0 0 4px;color:var(--gold);font-size:20px;font-weight:900;letter-spacing:.03em;}
.lb-card .sub{color:#b9aee0;font-size:12px;margin-bottom:14px;}
.lb-card .podium{margin-top:0;}
.lb-close{position:absolute;top:10px;right:12px;background:none;border:none;color:#b9aee0;font-size:18px;cursor:pointer;}
.lb-mine{margin-top:14px;padding:10px;border-radius:12px;font-weight:800;font-size:14px;}
.lb-mine.win{background:rgba(61,220,132,.14);color:#6ff0a8;border:1px solid rgba(61,220,132,.4);}
.lb-mine.lose{background:rgba(255,120,120,.12);color:#ff9a9a;border:1px solid rgba(255,120,120,.35);}
.lb-mine.none{background:rgba(255,255,255,.05);color:#b9aee0;}

/* ===== Lion / Tiger (boxing arena) theme ===== */
.casino.lt .table-wrap{background:linear-gradient(160deg,#5a2b7a,#2e1450 55%,#1a0a30);box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 0 0 2px rgba(226,120,255,.25);}
.casino.lt .table-wrap::before{border-color:rgba(226,120,255,.35);}
.casino.lt .felt{background:radial-gradient(120% 90% at 50% 22%, #7a34a8, #3f1a6e 55%, #230f42);box-shadow:inset 0 0 40px rgba(0,0,0,.5),inset 0 0 0 2px rgba(0,0,0,.3);}
.ring-ropes{position:absolute;left:0;right:0;top:8px;height:34px;pointer-events:none;}
.ring-ropes i{position:absolute;left:0;right:0;height:4px;border-radius:4px;opacity:.85;}
.ring-ropes i:nth-child(1){top:0;background:linear-gradient(90deg,#ff5c8a,#ff9a3c);}
.ring-ropes i:nth-child(2){top:12px;background:linear-gradient(90deg,#5cc8ff,#7c5cff);}
.ring-ropes i:nth-child(3){top:24px;background:linear-gradient(90deg,#ffd24a,#ff5c5c);}
.arena{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px 0 12px;}
.fighter{font-size:60px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));transition:transform .2s;}
.fighter.win{animation:zpulse .8s ease infinite;transform:scale(1.15);}
.vs{font-weight:900;color:#ffd24a;font-size:26px;text-shadow:0 2px 6px rgba(0,0,0,.6);}
.zone.lion{background:linear-gradient(150deg,#c8641e,#6f350c);}
.zone.tie{background:linear-gradient(150deg,#6a2b9a,#361356);}
.zone.tiger{background:linear-gradient(150deg,#b0281e,#5a120b);}

/* ===== Football (stadium) theme ===== */
.casino.fb .table-wrap{background:linear-gradient(160deg,#3a2a16,#241a0e 55%,#140e06);}
.casino.fb .felt{background:radial-gradient(120% 100% at 50% 10%, #1d7a41, #0e5228 55%, #06331a);}
.casino.fb .felt::after{background-image:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 42px);opacity:.05;}
.mode-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:10px;}
.mode-tab{flex:1;text-align:center;padding:8px 6px;border-radius:10px;font-weight:800;font-size:13px;cursor:pointer;
  background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.15);color:#dfe6da;}
.mode-tab.sel{background:linear-gradient(#ffd24a,#e0a92f);color:#3a2600;border-color:#ffd24a;}
.trophy{font-size:40px;text-align:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));}
.club-grid2{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0;}
.club2{position:relative;border-radius:12px;padding:8px 4px;text-align:center;cursor:pointer;
  background:rgba(0,0,0,.28);border:2px solid rgba(255,255,255,.14);transition:transform .08s,border-color .2s;}
.club2:active{transform:scale(.96);}
.club2.sel{border-color:var(--gold);}
.club2.win{animation:zpulse .8s ease infinite;border-color:var(--gold);}
.club2 .badge{width:34px;height:34px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;
  font-weight:900;color:#fff;font-size:14px;box-shadow:inset 0 -3px 6px rgba(0,0,0,.35),0 2px 4px rgba(0,0,0,.4);}
.club2 .badge img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.club2 .cn{font-size:11px;font-weight:700;margin-top:3px;color:#eff5ec;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.club2 .cm{font-size:11px;font-weight:800;color:#08381f;background:var(--gold);border-radius:999px;padding:0 6px;display:inline-block;margin-top:2px;}
.club2 .cp{font-size:10px;color:var(--gold);margin-top:2px;font-weight:700;}
.club2 .cmine{font-size:9px;color:#9fe6b5;min-height:12px;}
.club2 .chips-on{margin-top:2px;min-height:0;}
.club2 .chips-on .mchip{height:22px;min-width:22px;font-size:9px;}

/* ===== Crash game ===== */
.casino.crash .table-wrap{background:linear-gradient(160deg,#241a52,#140e30 55%,#0a0720);}
.casino.crash .felt{background:radial-gradient(120% 100% at 50% 20%, #2a2160, #171040 60%, #0b0826);box-shadow:inset 0 0 40px rgba(0,0,0,.6);}
.casino.crash .felt::after{background-image:radial-gradient(rgba(255,255,255,.5) 1px, transparent 1px);background-size:26px 26px;opacity:.06;}
.crash-stage{position:relative;height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.crash-mult{font-size:56px;font-weight:900;color:#5cf08a;text-shadow:0 0 22px rgba(92,240,138,.5);transition:color .1s;font-variant-numeric:tabular-nums;}
.crash-mult.bust{color:#ff5c5c;text-shadow:0 0 22px rgba(255,92,92,.6);}
.crash-rocket{font-size:40px;position:absolute;left:50%;bottom:20px;transform:translateX(-50%);transition:transform .1s, bottom .1s;}
.crash-status{margin-top:8px;font-size:13px;color:#b9aee0;font-weight:700;text-transform:uppercase;letter-spacing:.08em;min-height:18px;}
.crash-hist{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:6px;}
.crash-hist .cp{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.3);}
.cp.lo{color:#ff8080;} .cp.mid{color:#ffd24a;} .cp.hi{color:#5cf08a;}
.crash-players{margin:10px 2px 0;background:rgba(20,12,40,.5);border:1px solid #3a2a55;border-radius:12px;padding:8px 10px;max-height:150px;overflow-y:auto;}
.crash-players h4{margin:0 0 6px;font-size:12px;color:#cbd0e0;font-weight:800;}
.cplayer{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:4px 6px;border-radius:8px;}
.cplayer:nth-child(odd){background:rgba(255,255,255,.03);}
.cplayer .who{display:flex;align-items:center;gap:6px;}
.cplayer .cashed{color:#5cf08a;font-weight:800;}
.cplayer .waiting{color:#9a8fc0;}
.crash-bet-panel{margin-top:12px;text-align:center;}
.crash-amt{font-size:20px;font-weight:900;color:var(--gold);margin:4px 0;}
.crash-cashout{width:100%;max-width:360px;margin:6px auto 0;display:block;padding:16px;border-radius:14px;font-size:18px;font-weight:900;
  background:linear-gradient(#3ddc84,#1faa5c);color:#062a15;border:none;cursor:pointer;box-shadow:0 8px 18px rgba(61,220,132,.35);}
.crash-cashout:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4);}
.crash-place{width:100%;max-width:360px;margin:6px auto 0;display:block;padding:14px;border-radius:14px;font-size:16px;font-weight:900;
  background:linear-gradient(var(--gold),#e0a92f);color:#3a2600;border:none;cursor:pointer;}
.crash-place:disabled{opacity:.5;cursor:not-allowed;}

/* ===== Ferris Wheel theme (reuses .club-grid2 / .club2) ===== */
.casino.ferris .table-wrap{background:linear-gradient(160deg,#8a5a2a,#5a3818 55%,#3a230e);}
.casino.ferris .felt{background:radial-gradient(120% 100% at 50% 0%, #7ecbff, #4aa8f0 55%, #2b7fd0);}
.casino.ferris .felt::after{opacity:0;}
.casino.ferris .state-tag{background:rgba(0,0,0,.35);}
.casino.ferris .club2{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.12);}
.casino.ferris .club2 .cn{color:#3a2a10;}
.casino.ferris .club2 .badge{font-size:20px;background:#fff5e0 !important;}
.casino.ferris .club2.win{animation:zpulse .6s ease infinite;}
.ferris-hub{text-align:center;font-size:34px;margin:2px 0 8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));}

/* ===== Slots ===== */
.casino.slots .table-wrap{background:linear-gradient(160deg,#7a1f6a,#3a0f42 55%,#20081f);}
.casino.slots .felt{background:radial-gradient(120% 100% at 50% 10%, #3a2160, #241040 60%, #12061f);}
.casino.slots .felt::after{opacity:0;}
.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:6px;background:rgba(0,0,0,.35);border-radius:14px;border:2px solid rgba(255,210,74,.4);}
.reel{display:flex;flex-direction:column;gap:6px;overflow:hidden;}
.cell{height:60px;display:flex;align-items:center;justify-content:center;font-size:34px;border-radius:10px;
  background:linear-gradient(#2a1a48,#1a1030);box-shadow:inset 0 2px 6px rgba(0,0,0,.4);}
.cell.hit{background:linear-gradient(#4a2f00,#6a4500);box-shadow:0 0 12px rgba(255,210,74,.7);animation:zpulse .8s ease infinite;}
.reel.spinning .cell{animation:reelspin .35s linear infinite;}
@keyframes reelspin{0%{transform:translateY(-4px)}50%{transform:translateY(4px)}100%{transform:translateY(-4px)}}
.slot-win{text-align:center;margin-top:12px;font-weight:900;font-size:20px;color:var(--gold);min-height:26px;}
.slot-win.big{animation:zpulse .8s ease infinite;}
.spin-btn{width:100%;max-width:360px;margin:10px auto 0;display:block;padding:16px;border-radius:14px;font-size:18px;font-weight:900;
  background:linear-gradient(var(--gold),#e0a92f);color:#3a2600;border:none;cursor:pointer;box-shadow:0 8px 18px rgba(255,210,74,.3);}
.spin-btn:disabled{opacity:.5;cursor:not-allowed;}
.paytable{margin:10px 2px 0;background:rgba(20,12,40,.5);border:1px solid #3a2a55;border-radius:12px;padding:8px 10px;font-size:12px;color:#cbd0e0;}
.paytable .pr{display:flex;justify-content:space-between;padding:2px 0;}

/* ===== Ferris wheel v2 — real circular wheel like the reference ===== */
.fwheel { position: relative; width: 100%; max-width: 420px; aspect-ratio: 1/1.08; margin: 0 auto; }
.fw-legs { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 46%; height: 44%; z-index: 0; }
.fw-legs::before, .fw-legs::after { content: ""; position: absolute; bottom: 0; width: 12px; height: 100%;
  background: linear-gradient(#8a5a2a,#5a3818); border-radius: 6px; }
.fw-legs::before { left: 8%; transform: rotate(14deg); transform-origin: bottom; }
.fw-legs::after { right: 8%; transform: rotate(-14deg); transform-origin: bottom; }
.fw-base { position: absolute; left: 50%; bottom: -4px; transform: translateX(-50%);
  width: 70%; height: 16px; background: linear-gradient(#a9743c,#6a4218); border-radius: 8px; z-index: 1; }
.fw-spoke { position: absolute; left: 50%; top: 46%; width: 4px; height: 38%;
  background: #8a5a2a; transform-origin: top center; z-index: 1; border-radius: 2px; }
.fw-hub { position: absolute; left: 50%; top: 46%; transform: translate(-50%,-50%);
  width: 30%; aspect-ratio: 1; border-radius: 50%; z-index: 3;
  background: radial-gradient(circle at 35% 30%, #b07a42, #7a4a1e 70%);
  border: 5px solid #5a3612; display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px rgba(0,0,0,.35); text-align: center; }
.fw-hub .hublabel { font-size: 10px; font-weight: 800; color: #ffe9c0; text-transform: uppercase; letter-spacing: .05em; }
.fw-hub .hubtime { font-size: 22px; font-weight: 900; color: #fff; }
.fw-hub .bulb { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #ffe084; box-shadow: 0 0 6px #ffd24a; }
.fbasket { position: absolute; width: 25%; aspect-ratio: 1; transform: translate(-50%,-50%);
  border-radius: 50%; background: radial-gradient(circle at 50% 30%, #fffef5, #f6edd0 72%, #e8d9ae);
  border: 4px solid #b07a42; z-index: 2; cursor: pointer; text-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-shadow: 0 4px 10px rgba(0,0,0,.25); transition: transform .1s, box-shadow .15s; }
.fbasket:active { transform: translate(-50%,-50%) scale(.94); }
.fbasket.sel { box-shadow: 0 0 0 4px var(--gold); }
.fbasket.win { animation: basketPulse .5s ease infinite; }
@keyframes basketPulse { 0%,100%{ box-shadow: 0 0 0 4px var(--gold), 0 0 18px var(--gold);} 50%{ box-shadow: 0 0 0 8px rgba(255,201,60,.3);} }
.fbasket .fb-emoji { font-size: clamp(20px, 6vw, 30px); line-height: 1; }
.fbasket .fb-mult { font-size: 11px; font-weight: 900; color: #7a3b00; background: #ffe9a8; border-radius: 999px; padding: 0 7px; margin-top: 2px; }
.fbasket .fb-pool { font-size: 10px; font-weight: 700; color: #5a4a1a; }
.fbasket .fb-mine { font-size: 9px; font-weight: 800; color: #1f7a3d; min-height: 11px; }
.fw-sides { display: flex; justify-content: space-between; margin-top: 8px; gap: 10px; }
.fside { flex: 1; max-width: 150px; background: #fffdf2; border: 3px solid #b07a42; border-radius: 12px;
  padding: 8px; text-align: center; cursor: pointer; color: #3a2a10; transition: box-shadow .12s; }
.fside.sel { box-shadow: 0 0 0 3px var(--gold); }
.fside.win { animation: basketPulse .5s ease infinite; }
.fside .fb-emoji { font-size: 26px; }
.fside b { display: block; font-size: 13px; }
.fside .fb-mult { font-size: 11px; font-weight: 900; color: #7a3b00; }
.fside .fb-pool { font-size: 11px; color: #5a4a1a; font-weight: 700; }
.fw-spinning .fw-hub { animation: hubGlow .4s linear infinite; }
@keyframes hubGlow { 50% { box-shadow: 0 0 22px rgba(255,210,74,.9); } }

/* ===== Football pitch v2 — badges around the center trophy ===== */
.pitch { position: relative; width: 100%; max-width: 430px; height: 430px; margin: 0 auto; }
.pitch .goal {
  position: absolute; left: 50%; top: 46%; transform: translate(-50%,-50%);
  width: 42%; height: 26%; z-index: 1;
  border: 3px solid rgba(255,255,255,.75); border-bottom: none; border-radius: 6px 6px 0 0;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.28) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.28) 0 1px, transparent 1px 12px);
}
.pitch .trophy { position: absolute; left: 50%; top: 52%; transform: translate(-50%,-50%);
  font-size: 56px; z-index: 2; filter: drop-shadow(0 6px 10px rgba(0,0,0,.45)); }
.pitch .ptimer { position: absolute; left: 50%; top: 30%; transform: translate(-50%,-50%);
  z-index: 3; font-size: 44px; font-weight: 900; color: #fff; text-shadow: 0 3px 10px rgba(0,0,0,.6); }
.pnode { position: absolute; transform: translate(-50%,-50%); z-index: 4; width: 96px;
  text-align: center; cursor: pointer; transition: transform .1s; }
.pnode:active { transform: translate(-50%,-50%) scale(.94); }
.pnode .pbadge { width: 56px; height: 56px; margin: 0 auto; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 20px; color: #fff;
  border: 3px solid #ffe9a8; box-shadow: 0 4px 10px rgba(0,0,0,.4);
  background: #444; position: relative; }
.pnode .pbadge img { width: 100%; height: 100%; border-radius: 9px; object-fit: cover; }
.pnode.sel .pbadge { border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold); }
.pnode.win .pbadge { animation: basketPulse .5s ease infinite; }
.pnode .pmult { position: absolute; top: -8px; right: 6px; font-size: 11px; font-weight: 900;
  color: #241a00; background: var(--gold); border-radius: 6px; padding: 0 5px; z-index: 5;
  box-shadow: 0 2px 4px rgba(0,0,0,.4); }
.pnode .ppool { margin-top: 4px; font-size: 11px; font-weight: 800; color: #ffe9a8;
  background: rgba(0,0,0,.45); border-radius: 6px; padding: 1px 6px; display: inline-block; }
.pnode .pmine { font-size: 10px; color: #9fe6b5; font-weight: 700; min-height: 12px; }

/* ===== Slots v2 — scrolling reels ===== */
.reel-window { height: 186px; overflow: hidden; border-radius: 10px;
  background: linear-gradient(#2a1a48,#1a1030); box-shadow: inset 0 2px 8px rgba(0,0,0,.5); position: relative; }
.reel-window::before, .reel-window::after { content: ""; position: absolute; left: 0; right: 0; height: 28px; z-index: 2; pointer-events: none; }
.reel-window::before { top: 0; background: linear-gradient(rgba(10,6,26,.8), transparent); }
.reel-window::after { bottom: 0; background: linear-gradient(transparent, rgba(10,6,26,.8)); }
.reel-strip { display: flex; flex-direction: column; }
.reel-strip .cell { height: 62px; flex: 0 0 62px; display: flex; align-items: center; justify-content: center; font-size: 34px; background: transparent; box-shadow: none; }
.reel-window.spin .reel-strip { animation: reelScroll .28s linear infinite; }
@keyframes reelScroll { from { transform: translateY(0); } to { transform: translateY(-372px); } }
.reel-window .cell.hit { background: linear-gradient(#4a2f00,#6a4500); border-radius: 8px; box-shadow: 0 0 12px rgba(255,201,60,.7); animation: zpulse .8s ease infinite; }

/* v3: outcome history moves to the bottom as a horizontal results strip */
.hist { position: absolute; left: 10px; right: 10px; bottom: 10px; top: auto;
  display: flex; flex-direction: row; align-items: center; gap: 6px;
  border-radius: 10px; border: 1px solid var(--gold-deep); padding: 6px 10px; overflow-x: auto; }
.hist .new { flex: 0 0 auto; }
.hist .d { margin-top: 0; flex: 0 0 auto; }
.felt { padding-bottom: 56px; }

/* v3: integrated game header (round · balance · actions in one strip) */
.casino .roundbar, .casino .game-bar { margin: 0; padding: 6px 2px; }
.casino .round-pill, .casino .menu-btn, .casino .hist-toggle, .bal-box {
  border-radius: 9px; box-shadow: none; }
.casino .roundbar { border-bottom: none; }
