/* MTT CASINO — premium casino design system. Extends the MTT rockstar theme.
   Dark + gold + crimson brand; deep green felts; super high-end only. */
.casino-shell{background:
  radial-gradient(120% 50% at 50% 0%,rgba(217,166,46,.10),transparent 60%),
  radial-gradient(100% 80% at 50% 110%,rgba(193,18,31,.12),transparent 60%),
  var(--bg);}
.casino-hero{text-align:center;padding:2.6rem 1rem 1.6rem;position:relative}
.casino-kicker{font-family:var(--cond);letter-spacing:.42em;color:var(--gold);font-size:.8rem;text-transform:uppercase}
.casino-title{font-family:var(--cond);font-weight:800;font-size:clamp(2.6rem,9vw,4.6rem);line-height:.95;
  text-transform:uppercase;margin:.4rem 0 .6rem;
  background:linear-gradient(180deg,#fff7e0 10%,var(--gold-hi) 45%,var(--gold) 70%,#8a5f14 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 14px rgba(217,166,46,.25))}
.casino-sub{color:var(--muted);max-width:34rem;margin:0 auto}
.playmoney{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;padding:.4rem .9rem;border:1px dashed rgba(217,166,46,.55);
  border-radius:999px;color:var(--gold-hi);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(217,166,46,.07)}

/* ---------- top balance bar ---------- */
.casino-bar{position:sticky;top:76px;z-index:800;display:flex;align-items:center;gap:.7rem;
  padding:.5rem .9rem;background:rgba(12,10,8,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.cb-back{font-family:var(--cond);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-size:.85rem;white-space:nowrap}
.cb-back:hover{color:var(--gold)}
.cb-bal{margin-left:auto;display:flex;align-items:center;gap:.5rem;background:#0d1410;border:1px solid rgba(217,166,46,.35);
  border-radius:999px;padding:.3rem .8rem}
.cb-bal b{color:var(--gold-hi);font-size:1.05rem;font-variant-numeric:tabular-nums}
.cb-chip-ico{font-size:1.1rem}
.cb-play{font-size:.6rem;letter-spacing:.18em;color:var(--faint);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:.1rem .35rem}
.cb-btns{display:flex;gap:.45rem}
.cb-bonus{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;cursor:pointer;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#241a05;border:0;border-radius:999px;padding:.42rem .8rem;font-weight:700}
.cb-bonus.claimed{background:#2a241c;color:var(--faint);cursor:default}
.cb-sound{background:#1c1815;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.35rem .6rem;cursor:pointer}

/* ---------- game hub cards ---------- */
.casino-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 0 2.5rem}
@media(max-width:760px){.casino-grid{grid-template-columns:1fr}}
.game-card{position:relative;display:block;border-radius:18px;overflow:hidden;text-decoration:none;
  border:1px solid rgba(217,166,46,.28);min-height:230px;
  background:linear-gradient(160deg,#101d14 0%,#0a120c 55%,#16090a 130%);
  transition:transform .25s ease,box-shadow .25s ease}
.game-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.55),0 0 0 1px rgba(217,166,46,.45)}
.game-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(217,166,46,.35);border-radius:12px;pointer-events:none}
.game-card .gc-glow{position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 18%,rgba(217,166,46,.16),transparent 70%)}
.game-card h3{position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1.1rem 1rem;font-size:1.9rem;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.78))}
.game-card .gc-tag{position:absolute;top:1rem;left:1.1rem;font-family:var(--cond);letter-spacing:.3em;font-size:.68rem;color:var(--gold-hi);text-transform:uppercase}
.game-card .gc-ico{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);font-size:3.4rem;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6))}
.game-card .gc-best{position:absolute;top:1rem;right:1.1rem;font-size:.72rem;color:var(--muted);letter-spacing:.06em}
.game-card .gc-best b{color:var(--gold-hi)}

/* ---------- leaderboards + trophies ---------- */
.lb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 2.2rem}
@media(max-width:760px){.lb-grid{grid-template-columns:1fr}}
.lb-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem}
.lb-panel h3{font-size:1.25rem;color:var(--gold-hi);letter-spacing:.06em;margin-bottom:.6rem}
.lb-row{display:flex;justify-content:space-between;padding:.42rem 0;border-top:1px solid rgba(255,255,255,.06);font-size:.92rem}
.lb-row span{color:var(--muted)} .lb-row b{color:var(--ink);font-variant-numeric:tabular-nums}
.lb-note{font-size:.78rem;color:var(--faint);margin-top:.7rem}
.trophy-wrap{background:linear-gradient(180deg,#141007,#0d0b08);border:1px solid rgba(217,166,46,.35);border-radius:16px;
  padding:1.3rem;margin:0 0 2.5rem}
.trophy-wrap h3{font-size:1.5rem;color:var(--gold-hi);letter-spacing:.06em}
.trophy-wrap .t-sub{color:var(--muted);font-size:.88rem;margin-bottom:1rem}
.trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.7rem}
.trophy{background:#1a1512;border:1px solid rgba(217,166,46,.25);border-radius:12px;padding:.8rem .5rem;text-align:center;transition:transform .2s}
.trophy.won{border-color:var(--gold);box-shadow:0 0 18px rgba(217,166,46,.18);background:linear-gradient(180deg,#241b0c,#141007)}
.trophy.locked{opacity:.55}
.trophy .t-ico{font-size:1.7rem;display:block;margin-bottom:.35rem}
.trophy .t-name{font-family:var(--cond);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);display:block}

/* ---------- table ---------- */
.table-wrap{max-width:860px;margin:0 auto;padding:0 1rem 3rem}
.felt{position:relative;border-radius:26px;padding:1.4rem 1rem 1.6rem;overflow:hidden;
  background:radial-gradient(120% 100% at 50% 0%,#14663a 0%,#0d4a28 45%,#07331c 100%);
  border:10px solid #2a1a10;
  box-shadow:inset 0 0 90px rgba(0,0,0,.55),0 24px 60px rgba(0,0,0,.5);
  outline:1px solid rgba(217,166,46,.4);outline-offset:-10px}
.felt::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 70% at 50% 40%,transparent 55%,rgba(0,0,0,.45) 100%)}
.felt .felt-brand{position:absolute;top:.7rem;left:0;right:0;text-align:center;font-family:'Cinzel',serif;
  font-size:.62rem;letter-spacing:.5em;color:rgba(244,201,93,.5);text-transform:uppercase;pointer-events:none}
.felt-row{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;position:relative;z-index:2;min-height:96px}
.felt-label{font-family:var(--cond);letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:rgba(245,241,230,.65);text-align:center;margin:.4rem 0}
.pot-line{display:flex;justify-content:center;gap:.6rem;align-items:center;margin:.5rem 0;position:relative;z-index:2}
.pot-pill{background:rgba(0,0,0,.45);border:1px solid rgba(217,166,46,.5);color:var(--gold-hi);border-radius:999px;
  padding:.28rem .9rem;font-weight:700;font-variant-numeric:tabular-nums}

/* ---------- playing cards ---------- */
.pcard{--cw:64px;--ch:90px;width:var(--cw);height:var(--ch);background:linear-gradient(160deg,#ffffff,#e9e4d6);
  border-radius:9px;position:relative;color:#141210;box-shadow:0 6px 14px rgba(0,0,0,.45);
  animation:dealIn .38s cubic-bezier(.2,.9,.3,1.2);flex:0 0 auto}
.pcard.small{--cw:46px;--ch:64px;border-radius:7px}
.pcard.red{color:#b3122e}
.pcard .corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700}
.pcard .corner.tl{top:5px;left:6px}.pcard .corner.br{bottom:5px;right:6px;transform:rotate(180deg)}
.pcard .rank{font-size:calc(var(--cw)*.26);font-family:var(--cond)}
.pcard .suit{font-size:calc(var(--cw)*.22)}
.pcard .pip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cw)*.5)}
.pcard.back{background:repeating-linear-gradient(45deg,#7a0b14 0 8px,#a31420 8px 16px);border:3px solid #f5f1e6}
.pcard.back .card-back{position:absolute;inset:5px;border:1px solid rgba(244,201,93,.7);border-radius:5px;
  background:radial-gradient(circle at 50% 40%,rgba(244,201,93,.35),transparent 65%)}
.pcard.dealt{animation:dealIn .38s cubic-bezier(.2,.9,.3,1.2)}
@keyframes dealIn{from{transform:translateY(-26px) rotate(-6deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
.pcard.flip{animation:flipIn .3s ease}
@keyframes flipIn{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}

/* ---------- chips ---------- */
.chip{--cs:56px;width:var(--cs);height:var(--cs);border-radius:50%;position:relative;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--cond);font-weight:700;font-size:calc(var(--cs)*.24);color:#fff;
  border:calc(var(--cs)*.09) dashed rgba(255,255,255,.85);
  box-shadow:0 5px 12px rgba(0,0,0,.5),inset 0 0 0 calc(var(--cs)*.06) rgba(0,0,0,.25);
  animation:chipIn .3s cubic-bezier(.2,.9,.3,1.4)}
.chip span{background:rgba(0,0,0,.42);border-radius:50%;width:68%;height:68%;display:flex;align-items:center;justify-content:center}
.chip.c1{background:#2b6cb0}.chip.c5{background:#c1121f}.chip.c25{background:#0d7a3f}
.chip.c100{background:#1a1a1a}.chip.c500{background:#7b2ff7}
.chip.sm{--cs:40px}.chip.lg{--cs:72px}
@keyframes chipIn{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.chip-rack{display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap;margin:.8rem 0}
.chip-pick{cursor:pointer;transition:transform .15s}
.chip-pick:hover{transform:translateY(-4px)}
.chip-pick.sel{outline:3px solid var(--gold-hi);outline-offset:3px;border-radius:50%}

/* ---------- controls ---------- */
.ctl-row{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1rem 0;position:relative;z-index:2}
.btn-gold{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:1rem;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,#a4761c);color:#241a05;border:0;border-radius:12px;
  padding:.75rem 1.5rem;cursor:pointer;box-shadow:0 6px 18px rgba(217,166,46,.35),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .12s,box-shadow .12s;min-height:48px}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(217,166,46,.45)}
.btn-gold:active{transform:translateY(1px)}
.btn-gold:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-ghost{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:1rem;
  background:rgba(0,0,0,.4);color:var(--ink);border:1px solid rgba(217,166,46,.5);border-radius:12px;
  padding:.75rem 1.4rem;cursor:pointer;min-height:48px;transition:border-color .15s,color .15s}
.btn-ghost:hover{border-color:var(--gold-hi);color:var(--gold-hi)}
.btn-ghost:disabled{opacity:.4;cursor:not-allowed}
.bet-display{text-align:center;color:var(--gold-hi);font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums;margin:.4rem 0}
.game-msg{min-height:2.6rem;text-align:center;font-family:var(--cond);font-size:1.35rem;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6);margin:.5rem 0;position:relative;z-index:2}
.game-msg.win{color:var(--gold-hi)} .game-msg.lose{color:#ff8a8a}
.hand-tag{display:inline-block;background:rgba(0,0,0,.5);border:1px solid rgba(217,166,46,.4);color:var(--gold-hi);
  border-radius:8px;padding:.15rem .6rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-left:.5rem}

/* ---------- toast ---------- */
.casino-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:3000;opacity:0;
  background:linear-gradient(180deg,#241b0c,#141007);border:1px solid var(--gold);border-radius:14px;
  padding:.8rem 1.3rem;text-align:center;transition:all .4s ease;box-shadow:0 14px 40px rgba(0,0,0,.6);max-width:88vw}
.casino-toast.show{opacity:1;transform:translate(-50%,0)}
.casino-toast b{display:block;font-family:var(--cond);font-size:1.2rem;letter-spacing:.08em;color:var(--gold-hi);text-transform:uppercase}
.casino-toast span{font-size:.85rem;color:var(--muted)}

/* ---------- roulette ---------- */
.roulette-layout{display:grid;grid-template-columns:1fr;gap:1rem;max-width:860px;margin:0 auto}
.wheel-holder{position:relative;width:min(340px,84vw);aspect-ratio:1;margin:0 auto}
#roulette-wheel{width:100%;height:100%;border-radius:50%;
  box-shadow:0 0 0 10px #2a1a10,0 0 0 11px rgba(217,166,46,.5),0 24px 60px rgba(0,0,0,.6)}
.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold) 55%,#7a5410);display:flex;align-items:center;justify-content:center;
  font-family:'Cinzel',serif;font-weight:700;color:#241a05;font-size:.8rem;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.wheel-pointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:0;height:0;z-index:3;
  border-left:11px solid transparent;border-right:11px solid transparent;border-top:20px solid var(--gold-hi);
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.bet-board{background:#0d1410;border:1px solid rgba(217,166,46,.35);border-radius:14px;padding:.8rem;overflow-x:auto}
.bb-grid{display:grid;grid-template-columns:repeat(13,minmax(34px,1fr));gap:4px;min-width:520px}
.bb-num{aspect-ratio:.86;border-radius:6px;border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:.85rem;cursor:pointer;
  color:#fff;display:flex;align-items:center;justify-content:center;min-height:40px;position:relative}
.bb-num.red{background:#a31420}.bb-num.black{background:#191919}.bb-num.green{background:#0d7a3f;grid-row:span 3}
.bb-num.sel{outline:3px solid var(--gold-hi);outline-offset:-1px}
.bb-num .bb-chipdot{position:absolute;bottom:2px;width:14px;height:14px;border-radius:50%;background:var(--gold-hi);
  border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.bb-outside{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px;min-width:520px}
.bb-out{border-radius:6px;border:1px solid rgba(217,166,46,.45);background:rgba(217,166,46,.08);color:var(--gold-hi);
  font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;padding:.6rem .2rem;cursor:pointer;min-height:44px;position:relative}
.bb-out.sel{outline:3px solid var(--gold-hi);outline-offset:-1px;background:rgba(217,166,46,.2)}
.bb-out .bb-chipdot{position:absolute;top:3px;right:5px;width:12px;height:12px;border-radius:50%;background:var(--gold-hi);border:2px solid #fff}

/* ---------- poker seats ---------- */
.seat{position:relative;background:rgba(0,0,0,.42);border:1px solid rgba(217,166,46,.3);border-radius:14px;
  padding:.55rem .6rem;min-width:118px;text-align:center}
.seat .s-name{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;color:var(--ink)}
.seat .s-chips{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.seat .s-cards{display:flex;gap:4px;justify-content:center;margin-top:.35rem;min-height:64px}
.seat.active{border-color:var(--gold-hi);box-shadow:0 0 16px rgba(217,166,46,.35)}
.seat.folded{opacity:.45}
.seat.winner{border-color:var(--gold-hi);box-shadow:0 0 22px rgba(217,166,46,.55)}
.seat .s-bet{position:absolute;top:-12px;right:6px;background:#000;border:1px solid var(--gold);color:var(--gold-hi);
  font-size:.68rem;border-radius:999px;padding:.1rem .45rem;font-variant-numeric:tabular-nums}
.opponents{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.8rem;position:relative;z-index:2}
@media(max-width:560px){.opponents{grid-template-columns:repeat(3,1fr);gap:.4rem}.seat{min-width:0;padding:.45rem .3rem}}

.fair-note{max-width:860px;margin:1.5rem auto 0;padding:0 1rem;color:var(--faint);font-size:.8rem;text-align:center}
.fair-note b{color:var(--muted)}
