/* Layout: sticky header with chip balance; lobby of game tiles; each game is a controls rail beside a felt stage, stacking on phones */
:root{
  --bg:#0b111b; --panel:#111a28; --panel-2:#17233a; --line:#25344d;
  --felt:#0e5a3d; --felt-hi:#1a8a5c; --felt-line:rgba(255,255,255,.14);
  --gold:#f2c45c; --gold-ink:#2a1d00;
  --text:#e8eef7; --muted:#8e9cb3;
  --win:#3ddc8c; --lose:#ff6170;
  --card:#f7f4ec; --ink:#141a27; --card-red:#c92a3c; --wheel-red:#c5303f; --wheel-black:#1a2232; --wheel-green:#138a59;
  --f-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --f-body:"Figtree", ui-sans-serif, system-ui, sans-serif;
  --f-num:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --r:14px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--bg);color:var(--text)}
body{font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:12px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:-.01em;margin-right:auto}
.brand em{font-style:normal;color:var(--gold)}
.brand svg{width:34px;height:34px;flex:none}
.spin-btn{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-weight:600;font-size:13px}
.spin-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.spin-btn.ready .dot{background:var(--win);box-shadow:0 0 0 4px color-mix(in srgb,var(--win) 25%,transparent)}
.bal{display:flex;align-items:baseline;gap:8px;background:var(--gold);color:var(--gold-ink);border-radius:999px;padding:7px 14px;font-weight:700}
.bal small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
.bal .num{font-size:15px}
.bal.flash-win{animation:fw .5s}
@keyframes fw{50%{transform:scale(1.08)}}
@media (max-width:520px){.spin-btn .lbl{display:none}.brand span{display:none}}

/* Lobby */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding-block:40px 24px}
.hero h1{font-family:var(--f-display);font-weight:800;font-size:clamp(34px,6vw,60px);line-height:1;letter-spacing:-.025em;margin:0 0 14px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p{color:var(--muted);font-size:17px;max-width:46ch;margin:0 0 22px}
.perks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0 0;padding:0;list-style:none;color:var(--muted);font-size:14px}
.perks b{color:var(--text)}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 22px;font-weight:700;font-size:16px;background:var(--gold);color:var(--gold-ink);text-decoration:none}
.cta:hover{filter:brightness(1.07)}
.cta.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px}
.soft{position:relative;background:radial-gradient(120% 90% at 50% 30%,var(--felt-hi),var(--felt) 70%);border-radius:24px;aspect-ratio:5/4;max-width:100%;display:grid;place-items:center;border:1px solid var(--felt-line);overflow:hidden}
.soft .pair{display:flex;transform:rotate(-4deg)}
.soft .pair .card{width:96px;height:136px;font-size:30px}
.soft .pair .card+.card{margin-left:-34px;transform:rotate(9deg) translateY(6px)}
.soft figcaption{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:13px;color:rgba(255,255,255,.78);letter-spacing:.06em;text-transform:uppercase}
.soft .total{position:absolute;top:16px;right:16px;font-family:var(--f-num);background:rgba(0,0,0,.35);border-radius:8px;padding:4px 10px;font-size:13px}
@media (max-width:760px){.hero{grid-template-columns:1fr;padding-block:24px 8px}.soft{aspect-ratio:16/9}.soft .pair .card{width:74px;height:104px;font-size:24px}}

.sec-title{font-family:var(--f-display);font-weight:800;font-size:24px;letter-spacing:-.01em;margin:32px 0 14px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:820px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;gap:4px;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;transition:transform .15s,border-color .15s}
.tile:hover{transform:translateY(-2px);border-color:var(--felt-hi)}
.tile .glyph{height:92px;border-radius:10px;background:radial-gradient(100% 120% at 30% 20%,var(--felt-hi),var(--felt));display:grid;place-items:center;font-family:var(--f-num);font-weight:700;font-size:30px;color:#fff;margin-bottom:8px;letter-spacing:-.02em}
.tile h3{margin:0;font-size:16px;font-weight:700}
.tile p{margin:0;color:var(--muted);font-size:13px}

.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;max-width:100%}
@media (max-width:760px){.faq{grid-template-columns:1fr}}
.faq details{border-top:1px solid var(--line);padding-block:12px}
.faq summary{cursor:pointer;font-weight:600}
.faq details p{color:var(--muted);margin:8px 0 0;max-width:62ch}

.foot{border-top:1px solid var(--line);margin-top:40px;padding-block:24px 40px;color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
.age{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--muted);font-weight:700;font-size:11px;margin-right:8px;vertical-align:middle}

/* Game shell */
.game-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-block:20px 14px}
.back{text-decoration:none;color:var(--muted);font-weight:600;font-size:14px}
.back:hover{color:var(--text)}
.game-head h2{font-family:var(--f-display);font-weight:800;font-size:28px;margin:0;letter-spacing:-.01em}
.game-head p{margin:0;color:var(--muted);font-size:14px;flex-basis:100%}
.game-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:820px){.game-grid{grid-template-columns:1fr}.rail{order:2}}
.rail{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:14px}
.stage{position:relative;border-radius:var(--r);min-height:380px;overflow:hidden;min-width:0}
.felt{background:var(--felt-bg,radial-gradient(120% 90% at 50% 0%,var(--felt-hi),var(--felt) 75%));border:1px solid var(--felt-line)}
.dark-stage{background:var(--panel);border:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:6px}
.field>label,.lab{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.betrow{display:flex;align-items:stretch;background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.betrow span{display:grid;place-items:center;padding:0 0 0 12px;color:var(--muted);font-family:var(--f-num)}
.betrow input{flex:1;min-width:0;background:transparent;border:0;color:var(--text);font-family:var(--f-num);font-size:16px;padding:10px 8px;outline:none}
.betrow button{border:0;border-left:1px solid var(--line);background:var(--panel-2);padding:0 12px;font-weight:600;font-size:13px}
.betrow button:hover{background:var(--line)}
select,.txt{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px;font:inherit;font-family:var(--f-num)}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px;gap:3px}
.seg button{border:0;background:transparent;border-radius:7px;padding:8px 4px;font-weight:600;font-size:13px;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--panel-2);color:var(--text)}
.btn{border:0;border-radius:10px;padding:13px 14px;font-weight:700;font-size:15px;background:var(--gold);color:var(--gold-ink)}
.btn:hover:not(:disabled){filter:brightness(1.07)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.alt{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}
.btn.cash{background:var(--win);color:#04230f}
.btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.keys{font-size:12px;color:var(--muted)}
.keys kbd{font-family:var(--f-num);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stat{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.stat small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.stat b{font-family:var(--f-num);font-variant-numeric:tabular-nums;font-size:15px}

.log{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;font-size:13px}
.log li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:5px 0;border-top:1px solid var(--line)}
.log li:first-child{border-top:0}
.log .g{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log .w{color:var(--win)} .log .l{color:var(--lose)}
.log .empty{display:block;color:var(--muted);border:0}

/* Cards */
.card{width:68px;height:96px;border-radius:9px;background:var(--card);color:var(--ink);box-shadow:0 4px 12px rgba(0,0,0,.35);position:relative;font-family:var(--f-display);font-weight:800;font-size:22px;line-height:1;flex:none}
.card .c1{position:absolute;top:7px;left:8px;display:flex;flex-direction:column;align-items:center;gap:1px}
.card .c1 i{font-style:normal;font-size:.8em}
.card .c2{position:absolute;bottom:7px;right:8px;display:flex;flex-direction:column;align-items:center;gap:1px;transform:rotate(180deg)}
.card .c2 i{font-style:normal;font-size:.8em}
.card .mid{position:absolute;inset:0;display:grid;place-items:center;font-size:1.6em}
.card.face .mid{font-family:Georgia,serif;font-size:1.5em}
.card.face .mid::before{content:"";position:absolute;inset:22% 24%;border:2px solid currentColor;border-radius:6px;opacity:.35}
.card.red{color:var(--card-red)}
.card.back{background:var(--card-back,repeating-linear-gradient(45deg,#7b1e2b 0 6px,#952636 6px 12px));border:4px solid var(--card)}
.card.deal{animation:deal .28s ease-out}
@keyframes deal{from{transform:translateY(-30px) rotate(-6deg);opacity:0}}
@media (max-width:520px){.card{width:54px;height:78px;font-size:18px}}

/* Crash */
.crash canvas{display:block;width:100%;height:440px}
.crash{background:#0a0620!important;border-color:#2a1650!important}
.crash .big b{text-shadow:0 4px 24px rgba(0,0,0,.6)}
.crash .big span{color:rgba(255,255,255,.75)}
.crash .big{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;text-align:center}
.crash .big b{font-family:var(--f-num);font-size:clamp(44px,9vw,84px);font-weight:700;letter-spacing:-.03em}
.crash .big span{display:block;font-size:14px;color:var(--muted);font-weight:600}
.crash .big.boom b{color:var(--lose)}
.hist{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;position:absolute;left:0;right:0;top:0}
.hist span{font-family:var(--f-num);font-size:12px;padding:3px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--line)}
.hist .hi{color:var(--win)} .hist .lo{color:var(--lose)}

/* Mines */
.mines{padding:18px;display:grid;place-items:center}
.mgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(100%,440px)}
.mgrid button{aspect-ratio:1;border:0;border-radius:10px;background:var(--panel-2);box-shadow:inset 0 -4px 0 rgba(0,0,0,.35);display:grid;place-items:center;font-size:26px;transition:transform .1s}
.mgrid button:hover:not(:disabled){transform:translateY(-2px);background:var(--line)}
.mgrid button:disabled{cursor:default}
.mgrid .gem{background:color-mix(in srgb,var(--win) 22%,var(--panel));box-shadow:none}
.mgrid .bomb{background:color-mix(in srgb,var(--lose) 30%,var(--panel));box-shadow:none}
.mgrid .ghost{opacity:.45}
.gemico{width:60%;height:60%}

/* Plinko */
.plinko canvas{display:block;width:100%;height:460px}
@media (max-width:520px){.plinko canvas{height:380px}}

/* Dice */
.dice{padding:28px 20px;display:flex;flex-direction:column;gap:26px;justify-content:center;min-height:380px}
.roll{font-family:var(--f-num);font-weight:700;font-size:clamp(52px,10vw,92px);text-align:center;letter-spacing:-.03em}
.roll.w{color:var(--win)} .roll.l{color:var(--lose)}
.track{position:relative;height:14px;border-radius:999px;background:var(--lose)}
.track .ok{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--win)}
.track .pin{position:absolute;top:-12px;width:4px;height:38px;border-radius:2px;background:#fff;transform:translateX(-2px);transition:left .35s}
.scale{display:flex;justify-content:space-between;font-family:var(--f-num);font-size:12px;color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--gold)}

/* Roulette */
.rl{padding:16px;display:flex;flex-direction:column;gap:16px;align-items:center}
.rl canvas{width:min(100%,300px);aspect-ratio:1;display:block}
.rl .res{font-family:var(--f-display);font-weight:800;font-size:22px;min-height:30px;text-align:center}
.tablewrap{width:100%;overflow-x:auto}
.rtable{display:grid;grid-template-columns:44px repeat(12,minmax(36px,1fr));grid-template-rows:repeat(3,40px) 40px;gap:3px;min-width:520px}
.rtable button{position:relative;border:1px solid var(--felt-line);border-radius:6px;font-family:var(--f-num);font-weight:700;font-size:13px;color:#fff;padding:0}
.rtable .z{grid-row:1/4;background:var(--wheel-green)}
.rtable .r{background:var(--wheel-red)} .rtable .b{background:var(--wheel-black)}
.rtable .o{background:rgba(0,0,0,.22);font-family:var(--f-body);font-size:12px}
.rtable button:hover{filter:brightness(1.2)}
.rtable .chipm{position:absolute;right:-4px;top:-6px;background:var(--gold);color:var(--gold-ink);border-radius:999px;font-size:10px;padding:1px 5px;box-shadow:0 2px 4px rgba(0,0,0,.4);pointer-events:none}
.rtable .hit{outline:3px solid var(--gold);outline-offset:-3px}
.chips{display:flex;gap:6px}
.chips button{flex:1;border-radius:999px;border:2px dashed rgba(255,255,255,.35);background:var(--panel-2);padding:7px 0;font-family:var(--f-num);font-weight:700;font-size:12px}
.chips button[aria-pressed="true"]{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}

/* Overlays */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--panel-2);border:1px solid var(--line);padding:10px 16px;border-radius:10px;font-weight:600;opacity:0;transition:.25s;z-index:50;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%)}
.broke{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--panel-2);border-top:1px solid var(--line);padding-block:12px calc(12px + env(safe-area-inset-bottom,0px))}
.broke .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.modal{position:fixed;inset:0;z-index:60;background:rgba(3,6,12,.72);display:grid;place-items:center;padding:16px}
.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;width:min(100%,380px);display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}
.modal-card h3{font-family:var(--f-display);font-weight:800;font-size:24px;margin:0}
.modal-card p{margin:0;color:var(--muted)}
.modal-card canvas{width:260px;height:260px;max-width:100%}
.modal-card .btns{width:100%}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- Multiplayer additions ---- */
.me-btn{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 5px;font-weight:600;font-size:13px;max-width:160px}
.me-btn .av{width:26px;height:26px;border-radius:50%;background:var(--felt-hi);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.me-btn .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:520px){.me-btn .nm{display:none}.me-btn{padding:5px}}
.conn{position:fixed;top:calc(64px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:30;background:var(--lose);color:#fff;border-radius:999px;padding:6px 14px;font-weight:600;font-size:13px}

.lobby-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
@media (max-width:820px){.lobby-cols{grid-template-columns:1fr}}
.lb{list-style:none;margin:0;padding:0;counter-reset:lb}
.lb li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.lb li:first-child{border-top:0}
.lb li::before{counter-increment:lb;content:counter(lb);font-family:var(--f-num);color:var(--muted);font-size:12px}
.lb li:nth-child(-n+3)::before{color:var(--gold);font-weight:700}
.lb .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb .num{color:var(--win)}
.lb .empty{display:block;color:var(--muted);border:0}
.lb .empty::before{content:none}
.online{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:600}
.online::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--win)}

/* Crash players */
.plist{list-style:none;margin:0;padding:0;font-size:13px;max-height:220px;overflow:auto}
.plist li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:4px 0;border-top:1px solid var(--line)}
.plist li:first-child{border-top:0}
.plist .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plist .c{color:var(--win)}
.plist .empty{display:block;color:var(--muted);border:0}

/* Chat drawer */
.chat-fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;border:0;border-radius:999px;background:var(--felt-hi);color:#fff;font-weight:700;padding:12px 18px;box-shadow:0 8px 24px rgba(0,0,0,.4);display:flex;gap:8px;align-items:center}
.chat-fab .badge{background:var(--gold);color:var(--gold-ink);border-radius:999px;font-size:11px;padding:1px 7px}
.chat{position:fixed;top:0;right:0;bottom:0;width:min(360px,100%);z-index:45;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.chat header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.chat header b{font-family:var(--f-display);font-size:18px}
.chat header button{background:none;border:0;font-size:22px;color:var(--muted);line-height:1}
.msgs{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.msgs .m b{color:var(--gold);font-weight:700;margin-right:6px}
.msgs .m span{overflow-wrap:anywhere}
.msgs .sys{color:var(--muted);font-size:13px}
.chat form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.chat form input{flex:1;min-width:0}
.chat form .btn{padding:10px 14px}

/* Profile */
.modal-card.wide{width:min(100%,420px);text-align:left;align-items:stretch}
.modal-card hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.modal-card .row{display:flex;gap:8px}
.modal-card .row input{flex:1;min-width:0}
.modal-card .hint{font-size:13px;color:var(--muted)}
.tabs{display:flex;gap:6px}

/* ---- Blackjack table ---- */
.bjwrap{display:flex;flex-direction:column;gap:14px;padding-block:14px 30px}
.bj-top{display:flex;align-items:center;gap:14px}
.bj-title{flex:1;min-width:0;text-align:center}
.bj-title b{display:block;font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:-.01em}
.bj-title span{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.table{position:relative;aspect-ratio:16/10;min-height:540px;max-height:760px;border-radius:28px 28px 48% 48% / 28px 28px 22% 22%;background:var(--felt-bg,radial-gradient(120% 90% at 50% 0%,var(--felt-hi),var(--felt) 70%));border-bottom:16px solid #b98f3f;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),inset 0 -40px 80px rgba(0,0,0,.35),0 20px 50px rgba(0,0,0,.45);overflow:hidden}
.table::after{content:"";position:absolute;inset:auto 0 0;height:22px;border-radius:0 0 48% 48% / 0 0 100% 100%;background:linear-gradient(#d4a84f,#8a6420);opacity:.9}
.live-badge{position:absolute;left:16px;top:16px;z-index:3;background:rgba(0,0,0,.35);color:#fff;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.chip{width:46px;height:46px;flex:none;border-radius:50%;border:4px dashed rgba(255,255,255,.9);background:var(--cc);color:#fff;display:grid;place-items:center;font-family:var(--f-num);font-weight:700;font-size:11px;box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 0 0 5px color-mix(in srgb,var(--cc) 70%,#000);padding:0;transition:transform .12s}
.chip span{background:color-mix(in srgb,var(--cc) 65%,#000);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;line-height:1}
.chip.c10{--cc:#d23b3b}.chip.c25{--cc:#2a9d5c}.chip.c100{--cc:#d9a62d}.chip.c500{--cc:#3b6fd2}.chip.c1k{--cc:#2b2f38}.chip.c5k{--cc:#9ba3b4;color:#111}.chip.c25k{--cc:#7b4fd2}.chip.c100k{--cc:#2ab0a8}
.arcs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.arcs .ring{fill:none;stroke:rgba(255,255,255,.14);stroke-width:34}
.arcs text{fill:rgba(255,255,255,.88);font-family:var(--f-display);letter-spacing:.14em}
.arcs .t1{font-size:30px;font-weight:800}
.arcs .t2{font-size:19px;font-style:italic;font-family:Georgia,serif;letter-spacing:.04em;fill:rgba(255,255,255,.75)}
.arcs .t3{font-size:16px;font-weight:700;fill:rgba(255,255,255,.7)}
.dealer{position:absolute;left:50%;top:11%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2}
.cards{display:flex;justify-content:center;min-height:78px}
.cards .card+.card{margin-left:-26px}
.ttl{white-space:nowrap;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:3px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.ttl b{font-family:var(--f-num);font-size:15px;margin-left:4px}
.seats{position:absolute;inset:0;pointer-events:none}
.seat{position:absolute;transform:translateX(-50%);width:150px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto}
.seat.p0{left:50%;bottom:7%}.seat.p1{left:28%;bottom:14%}.seat.p2{left:72%;bottom:14%}.seat.p3{left:10%;bottom:34%}.seat.p4{left:90%;bottom:34%}
.seat .hand{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:78px;justify-content:flex-end}
.seat .card{width:56px;height:78px;font-size:17px}
.seat .cards .card+.card{margin-left:-22px}
.seat .tag{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.55);border-radius:999px;padding:4px 12px 4px 4px;max-width:100%}
.seat .av{width:26px;height:26px;border-radius:50%;background:var(--felt-hi);display:grid;place-items:center;font-weight:800;font-size:12px;color:#fff;flex:none}
.seat.mine .av{background:var(--gold);color:var(--gold-ink)}
.seat .tag div{min-width:0;line-height:1.15}
.seat .tag .n{display:block;font-weight:700;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seat .tag .b{display:block;font-family:var(--f-num);font-size:11px;color:rgba(255,255,255,.7)}
.seat .res{font-family:var(--f-num);font-weight:700;font-size:12px;padding:2px 8px;border-radius:6px;background:rgba(0,0,0,.5);color:#fff}
.seat .res.w{color:var(--gold)}.seat .res.l{color:#ffb3bb}
.seat.empty{opacity:.55}
.seat.empty .hint{font-size:11px;color:#fff;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.more{position:absolute;right:16px;bottom:9%;z-index:3;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bj-bar{display:flex;flex-direction:column;align-items:center;gap:10px}
.bj-status{font-size:17px;font-weight:600;text-align:center;min-height:26px}
.bj-status.w{color:var(--gold)}.bj-status.l{color:var(--lose)}
.bj-timer{display:flex;align-items:center;gap:10px;width:min(100%,420px)}
.bj-timer .bar{flex:1;height:8px;border-radius:999px;background:var(--panel-2);overflow:hidden}
.bj-timer .bar div{height:100%;background:var(--win);border-radius:999px;transition:width .25s linear}
.bj-timer span{font-weight:700;min-width:2ch;text-align:right}
.bj-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:min(100%,520px)}
.bj-actions .btn{flex:1;min-width:110px}
.betrow.stake{flex:1.4;min-width:140px}
.bj-log{max-width:520px;width:100%;margin:0 auto}
@media (max-width:760px){
  .bj-title span{display:none}
  .table{aspect-ratio:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:center;gap:14px;padding:70px 10px 28px;border-radius:24px 24px 40px 40px}
  .arcs{display:none}
  .rack{max-width:calc(100% - 20px);top:12px}
  .live-badge{display:none}
  .dealer,.seats,.seat{position:static;transform:none}
  .seats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 4px}
  .seat{width:136px}
  .seat.empty:not(.mine){display:none}
  .seat .res{white-space:nowrap}
  .more{position:static;max-width:100%}
}

/* ---- Progression ---- */
.me-btn{padding:4px 12px 4px 4px;max-width:200px}
.me-btn .who{display:flex;flex-direction:column;line-height:1.1;min-width:0;text-align:left}
.me-btn small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ring{--p:0;--ring:var(--gold);width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--ring) calc(var(--p)*360deg),var(--line) 0);position:relative}
.ring::before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--panel)}
.ring b{position:relative;font-family:var(--f-num);font-size:12px;font-weight:700}
.ring.big{width:72px;height:72px}.ring.big::before{inset:5px}.ring.big b{font-size:26px}
@media (max-width:520px){.me-btn .who{display:none}.me-btn{padding:4px}}

.modal-card.panel{width:min(100%,1040px);max-height:calc(100vh - 32px);overflow:auto;text-align:left;align-items:stretch;padding:0;gap:0}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.tabs .tab{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;padding:8px 16px;font-weight:700}
.tabs .tab[aria-selected="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.panel .x{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:36px;height:36px;font-size:20px;color:var(--text)}
.tabpane{padding:18px}
.prof-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}
@media (max-width:820px){.prof-cols{grid-template-columns:1fr}}
.lvl-head{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.lvl-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.lvl-text .row{display:flex;gap:8px}
.txt.name{font-family:var(--f-display);font-weight:800;font-size:20px;padding:6px 10px;flex:1;min-width:0}
.btn.sm{padding:8px 12px;font-size:13px}
.xpbar{height:8px;border-radius:999px;background:var(--panel-2);overflow:hidden}
.xpbar div{height:100%;background:var(--win);border-radius:999px}
.lab.gold{color:var(--gold)}
.stat-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:18px}
@media (max-width:720px){.stat-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{background:var(--panel-2);border-radius:12px;padding:12px 8px;text-align:center;min-width:0}
.tile b{display:block;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ach-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ach-legend{border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);background:linear-gradient(color-mix(in srgb,var(--gold) 8%,transparent),transparent);border-radius:14px;padding:12px;margin-bottom:12px}
.ach-legend p{margin:0 0 10px;font-size:12px;color:var(--muted)}
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.ach{display:flex;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px;opacity:.5}
.ach.on{opacity:1;border-color:color-mix(in srgb,var(--win) 50%,transparent);background:color-mix(in srgb,var(--win) 8%,var(--panel-2))}
.ach.leg.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--panel-2))}
.ach .ico{font-size:22px;flex:none;width:28px;text-align:center}
.ach div{min-width:0}
.ach b{display:block;font-size:14px}
.ach small{display:block;color:var(--muted);font-size:12px;line-height:1.3}
.ach em{display:block;font-style:normal;font-size:11px;color:var(--gold);margin-top:3px}
.prof-side{display:flex;flex-direction:column;gap:12px}
.side-card{background:var(--panel-2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.side-card h4{margin:0;font-size:16px}
.side-card .hint{margin:0;font-size:13px;color:var(--muted)}
.side-card .row{display:flex;gap:8px;align-items:center}
.side-card.center{text-align:center;color:var(--muted);font-weight:600}
.code{flex:1;font-family:var(--f-num);font-size:15px;letter-spacing:.08em;white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:center}
.set-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
@media (max-width:760px){.set-cols{grid-template-columns:1fr}}
.set{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer}
.set b{display:block;font-size:17px;font-weight:500}
.set small{display:block;color:var(--muted);font-size:13px}
.switch{appearance:none;width:52px;height:30px;border-radius:999px;background:var(--line);position:relative;flex:none;cursor:pointer;transition:.2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#ccc;transition:.2s}
.switch:checked{background:var(--win)}.switch:checked::after{left:25px;background:#fff}
.set-side{display:flex;flex-direction:column;gap:10px}
.side-card.rules div{display:flex;justify-content:space-between;font-size:14px}
.side-card.rules span{color:var(--muted)}
.hist-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px;color:var(--muted)}
.hist-head .w{color:var(--win)}.hist-head .l{color:var(--lose)}
.hist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.hh{display:flex;justify-content:space-between;gap:12px;background:var(--panel-2);border-radius:12px;padding:12px 14px}
.hh>div{min-width:0}
.hh b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hh b small{color:var(--muted);font-weight:500}
.hh>div>small{color:var(--muted);font-size:12px}
.hh i.r{font-style:normal;color:var(--lose)}
.hh .r{text-align:right;flex:none}
.hh .tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:var(--line)}
.hh .tag.win{background:color-mix(in srgb,var(--gold) 30%,var(--panel-2));color:var(--gold)}
.hh .tag.lose{background:color-mix(in srgb,var(--lose) 30%,var(--panel-2));color:#ffb3bb}
.hh .r b{font-size:17px}.hh .w{color:var(--win)}.hh .l{color:var(--lose)}
.btn.coach{box-shadow:0 0 0 3px var(--win),0 0 18px var(--win);animation:coach 1s infinite alternate}
@keyframes coach{to{box-shadow:0 0 0 3px var(--win),0 0 4px var(--win)}}
.levelup{position:fixed;inset:0;z-index:70;display:grid;place-items:center;pointer-events:none}
.levelup>div{background:linear-gradient(135deg,var(--gold),#ffe9a8);color:var(--gold-ink);border-radius:20px;padding:22px 36px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:scale(.6);opacity:0}
.levelup.go>div{animation:lu 3.2s ease forwards}
@keyframes lu{10%{transform:scale(1.05);opacity:1}20%{transform:scale(1)}85%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}
.levelup small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.levelup b{display:block;font-family:var(--f-display);font-size:40px;line-height:1.1}
.levelup span{display:block;font-family:var(--f-num);font-weight:700}

/* ---- Top nav ---- */
.top .wrap{gap:10px}
.brand{margin-right:6px}
.sections{display:flex;gap:4px;margin-right:auto}
.sections a{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:15px;color:var(--muted);padding:10px 14px;border-radius:12px;position:relative}
.sections a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sections a.on{color:var(--text)}
.sections a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:-11px;height:3px;border-radius:3px;background:var(--win)}
.sections .badge{background:var(--win);color:#04230f;border-radius:999px;font-size:10px;padding:1px 6px;font-weight:800}
.bal{padding:5px 5px 5px 14px;gap:10px}
.bal .buy{border:0;border-radius:999px;background:var(--win);color:#04230f;font-weight:800;font-size:13px;padding:7px 12px}
.icon-btn{position:relative;width:40px;height:40px;border-radius:12px;background:var(--panel);border:1px solid var(--line);display:grid;place-items:center;padding:0}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.icon-btn .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:transparent}
.icon-btn.ready .dot{background:var(--win);box-shadow:0 0 0 3px color-mix(in srgb,var(--win) 30%,transparent)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.subnav{border-top:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;padding-block:6px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{text-decoration:none;color:var(--muted);font-weight:600;font-size:14px;padding:8px 14px;border-radius:10px;white-space:nowrap}
.subnav a.on{background:var(--panel-2);color:var(--text)}
.subnav a:hover{color:var(--text)}
@media (max-width:900px){.sections a span:not(.badge),.sections a{font-size:0}.sections a svg{width:22px;height:22px}.sections a{padding:9px 10px}.sections a .badge{font-size:10px}.bal .buy{display:none}}
@media (max-width:520px){.bal small{display:none}}

/* ---- Lobby ---- */
.lobby{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding-block:18px 8px;align-items:start}
@media (max-width:980px){.lobby{grid-template-columns:1fr}}
.lobby-main{min-width:0;display:flex;flex-direction:column;gap:18px}
.hero-car{position:relative;border-radius:22px;overflow:hidden;min-height:330px;border:1px solid var(--line)}
.slides{position:relative;min-height:330px}
.slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:16px;padding:34px 40px;opacity:0;transition:opacity .6s;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide-text{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.slide .tag{background:rgba(0,0,0,.35);color:#fff;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.slide h1{margin:0;font-family:var(--f-display);font-weight:800;font-size:clamp(28px,4vw,44px);line-height:1.02;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.slide p{margin:0;color:rgba(255,255,255,.8);max-width:44ch;font-size:16px}
.slide .cta{background:var(--win);color:#04230f;padding:12px 24px;box-shadow:0 8px 24px rgba(61,220,140,.3)}
.slide-art{display:grid;place-items:center;min-width:0}
.art-svg{width:min(100%,240px);height:auto;filter:drop-shadow(0 16px 30px rgba(0,0,0,.45))}
.art-cards{position:relative;width:200px;height:180px}
.art-cards .card{position:absolute;width:88px;height:124px;font-size:26px;left:60px;top:20px;transform:rotate(14deg);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.art-cards .card:first-child{left:30px;top:30px;transform:rotate(-12deg)}
.art-cards .coin{position:absolute;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,#c99a2e 70%);box-shadow:0 4px 0 #8a6420,0 10px 20px rgba(0,0,0,.4)}
.art-cards .c1{left:0;top:120px}.art-cards .c2{left:150px;top:0}.art-cards .c3{left:160px;top:130px}
.dots{position:absolute;right:24px;bottom:18px;display:flex;gap:6px;z-index:2}
.dots button{width:8px;height:8px;border-radius:999px;border:0;background:rgba(255,255,255,.35);padding:0;transition:width .2s}
.dots button.on{width:28px;background:#fff}
@media (max-width:700px){.slide{grid-template-columns:1fr;padding:24px 22px 40px}.slide-art{display:none}.hero-car,.slides{min-height:300px}}
.ltabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.ltabs::-webkit-scrollbar{display:none}
.ltabs button{flex:none;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:12px 18px;font-weight:700;font-size:15px}
.ltabs button[aria-selected="true"]{color:var(--text);border-color:var(--win);background:color-mix(in srgb,var(--win) 8%,var(--panel))}
.lsec{display:flex;flex-direction:column;gap:12px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sec-head .sec-title{margin:0}
.sec-sub{color:var(--muted);font-size:14px}
.soon-card{background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:22px;color:var(--muted);text-align:center}
.jackpot-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(90deg,#4a1414,#2a0c0c);border:1px solid #7a2a2a;border-radius:12px;padding:12px 16px}
.jackpot-bar .star{color:var(--gold);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.jackpot-bar>b{font-size:22px;color:var(--gold)}
.jp-split{margin-left:auto;display:flex;gap:16px;font-size:12px;color:var(--muted)}
.jp-split b{color:var(--text);margin-left:4px}
.tile .glyph{position:relative}
.live-pill{position:absolute;right:8px;top:8px;background:rgba(0,0,0,.45);color:#fff;border-radius:999px;font-family:var(--f-body);font-size:11px;font-weight:700;padding:3px 8px}
.reward-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:760px){.reward-row{grid-template-columns:1fr}}
.reward{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:left}
.reward .ico{font-size:26px}
.reward div{flex:1;min-width:0}
.reward b{display:block}.reward small{display:block;color:var(--muted);font-size:12px}
.reward .arrow{color:var(--muted);font-size:20px}
.lobby-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(118px + env(safe-area-inset-top,0px))}
@media (max-width:980px){.lobby-side{position:static}}
.night{background:linear-gradient(160deg,#1c1a3a,#121a2e);border:1px solid #2a2f5a;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}
.night .link{background:none;border:0;color:var(--win);font-weight:700;padding:0}
.night-row{display:flex;align-items:center;gap:14px}
.night-row .num.big{font-size:26px;display:block}
.night-row small{color:var(--muted)}
.night-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.night-btns .btn{padding:9px 6px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-box{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.lab.live::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--win);margin-right:8px;box-shadow:0 0 0 3px color-mix(in srgb,var(--win) 30%,transparent)}
.live-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.live-list li{border-top:1px solid var(--line);font-size:14px}
.live-list li:first-child{border-top:0}
.live-list a{text-decoration:none;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:8px 6px;margin:0 -6px;border-radius:8px;transition:background .15s}
.live-list a:hover{background:rgba(255,255,255,.05)}
.live-list .g-nm{display:flex;align-items:center;gap:10px}
.live-list .st{display:flex;align-items:center;gap:7px;color:var(--muted);font-weight:600;font-size:13px}
.live-list .st i{width:7px;height:7px;border-radius:50%;background:#2ecc71;box-shadow:0 0 6px #2ecc71}
.live-list .st.busy{color:#7ee2a8}.live-list .st.busy i{animation:lvpulse 1.6s ease-in-out infinite}
@keyframes lvpulse{50%{box-shadow:0 0 0 4px rgba(46,204,113,.25),0 0 8px #2ecc71}}
.live-list .st b{color:var(--gold);font-size:16px;line-height:1;opacity:.5;transition:opacity .15s,transform .15s}
.live-list a:hover .st b{opacity:1;transform:translateX(2px)}
.live-list .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.d-blackjack{background:#3ddc8c!important}.d-crash{background:#2ab0a8!important}.d-mines{background:#4fa3ff!important}.d-plinko{background:#f2994a!important}.d-dice{background:#c084fc!important}.d-roulette{background:#ff6170!important}.d-slots{background:#f2c45c!important}

.wins-list{list-style:none;margin:0;padding:0}
.wins-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:13px}
.wins-list li:first-child{border-top:0}
.wins-list .nm{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wins-list .g{color:var(--muted);font-size:12px}
.wins-list .w{color:var(--win);font-weight:700}
.wins-list .empty{display:block;color:var(--muted);border:0}
.slide{padding-bottom:54px}
.night-btns .btn{font-size:11px;padding:9px 4px}
@media (max-width:600px){#set-open{display:none}.top .wrap{gap:6px}.icon-btn{width:36px;height:36px}.bal{padding:5px 10px}.bal .num{font-size:13px}.brand img{width:30px;height:30px}}

/* ---- Slots ---- */
.slots-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:820px){.slots-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.slot-glyph{background:var(--hue)!important;height:150px!important;flex-direction:column;gap:6px;font-size:16px!important;letter-spacing:0!important}
.slot-glyph .slot-art{font-size:34px;letter-spacing:-6px}
.slot-glyph b{font-family:var(--f-display);font-size:16px;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.slot-tag{position:absolute;top:8px;right:8px;background:var(--lose);color:#fff;font-family:var(--f-body);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 8px}
.slotswrap{display:flex;flex-direction:column;gap:12px;padding-block:14px 30px}
.machines{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;justify-content:center}
.machines::-webkit-scrollbar{display:none}
@media (max-width:640px){.machines{justify-content:flex-start}}
.mach{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 10px;text-align:left;min-width:0;flex:none}
.mach span{font-size:24px;width:40px;height:40px;border-radius:10px;background:var(--hue);display:grid;place-items:center;flex:none}
.mach b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mach small{display:block;color:var(--muted);font-size:11px}
.mach.on{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 30%,transparent)}
.jp-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.jp-strip .t{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;align-items:center}
.jp-strip small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.jp-strip b{font-size:16px}
.jp-strip .minor b{color:#3ddc8c}.jp-strip .major b{color:#4fa3ff}.jp-strip .grand b{color:var(--gold)}
.slotswrap{display:flex;flex-direction:column;gap:12px;padding-block:10px 30px}
.machines-row{display:flex;align-items:center;gap:12px}
.cabinet{position:relative;overflow:hidden;min-height:min(92vh,980px);display:flex;flex-direction:column;justify-content:space-between;background:#0b111b}
.scene{position:absolute;inset:0}
.scene-svg{position:absolute;inset:0;width:100%;height:100%}
.cab-hud,.cab-head,.cab-mid,.info-bar,.cab-bottom{position:relative;z-index:1}
.cab-hud{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 0}
.hud-bal{display:flex;align-items:center;gap:10px;background:rgba(10,16,30,.75);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 18px;color:#fff;font-size:18px;min-width:180px}
.hud-bal .coin{width:14px;height:20px;border-radius:50%;background:linear-gradient(#ffe08a,#c9811a);box-shadow:inset 0 0 0 2px rgba(0,0,0,.2)}
.hud-btns{display:flex;gap:8px}
.hud{width:40px;height:40px;border-radius:50%;border:2px solid #f2c45c;background:rgba(10,16,30,.8);color:#f2c45c;display:grid;place-items:center;font-weight:800;font-size:18px;text-decoration:none;padding:0;font-family:var(--f-display)}
.cab-head{display:flex;flex-direction:column;align-items:center;gap:0;padding:4px 18px 0}
.jp-pill{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#5a0e1c,#8a1a2e,#5a0e1c);border:2px solid #f2c45c;border-radius:999px;padding:4px 20px;color:#f2c45c;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.jp-pill b{font-size:18px;color:#ffe08a;text-shadow:0 2px 0 #8a5a08}
.jp-pill small{letter-spacing:.04em;text-transform:none;font-weight:600;color:#ffd0d8}
.jp-pill small i{font-style:normal;color:#fff}
.title-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:-6px}
.logo{width:min(440px,70vw)}
.logo-svg{width:100%;height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}
.flank{width:80px;height:80px;flex:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.flank .symsvg{width:100%;height:100%}
.flank:first-child{transform:rotate(-12deg)}.flank:last-child{transform:rotate(12deg)}
@media (max-width:640px){.flank{display:none}}
.cab-mid{display:flex;justify-content:center;align-items:stretch;gap:14px;padding:6px 18px}
.frame{position:relative;padding:14px;border-radius:14px;width:min(100%,960px);background:linear-gradient(135deg,#ffe9a8,#c9931e 25%,#8a5a10 50%,#e2b94a 75%,#ffe9a8);box-shadow:0 0 0 2px #5a3a08,0 14px 40px rgba(0,0,0,.6),0 0 40px rgba(255,220,120,.35)}
.frame::before{content:"";position:absolute;inset:5px;border-radius:10px;border:2px solid rgba(90,58,8,.5);background-image:radial-gradient(circle,#5a3a08 2.5px,transparent 3px),radial-gradient(circle,#5a3a08 2.5px,transparent 3px),radial-gradient(circle,#5a3a08 2.5px,transparent 3px),radial-gradient(circle,#5a3a08 2.5px,transparent 3px);background-size:48px 8px,48px 8px,8px 48px,8px 48px;background-position:0 -1px,0 calc(100% + 1px),-1px 0,calc(100% + 1px) 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;pointer-events:none}
.frame::after{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;background:radial-gradient(circle at 50% 0,#8ad0ff 4px,transparent 5px),radial-gradient(circle at 50% 100%,#8ad0ff 4px,transparent 5px),radial-gradient(circle at 0 50%,#8ad0ff 4px,transparent 5px),radial-gradient(circle at 100% 50%,#8ad0ff 4px,transparent 5px)}
.cabinet.classic .frame{width:min(100%,640px);background:linear-gradient(135deg,#f4f6fa,#9aa5b8 30%,#5a6478 50%,#c8d0dc 75%,#f4f6fa);box-shadow:0 0 0 2px #2a3040,0 14px 40px rgba(0,0,0,.6),0 0 40px rgba(255,120,160,.35)}
.cabinet.classic .frame::before{border-color:rgba(40,48,64,.5);background-image:radial-gradient(circle,#b58a3a 2.5px,transparent 3px),radial-gradient(circle,#b58a3a 2.5px,transparent 3px),radial-gradient(circle,#b58a3a 2.5px,transparent 3px),radial-gradient(circle,#b58a3a 2.5px,transparent 3px)}
.frame-inner{position:relative;border-radius:8px;background:var(--tile-bg,#0e2a4a);padding:6px}
.reels{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:6px;position:relative;max-width:none;margin:0}
.reel{overflow:hidden;aspect-ratio:2/5;position:relative;display:flex;flex-direction:column}
.strip{display:flex;flex-direction:column;height:100%;gap:6px}
.sym{flex:1;display:grid;place-items:center;padding:8%;position:relative;min-height:0;border-radius:12px;border:3px solid var(--tile-edge,#e2b94a);background:var(--tile,radial-gradient(circle,#4fa3ff,#1f5fa8));box-shadow:inset 0 0 20px rgba(0,0,0,.35)}
.sym::before{content:"";position:absolute;inset:0;border-radius:9px;background:repeating-conic-gradient(rgba(255,255,255,.12) 0 6deg,transparent 6deg 12deg);pointer-events:none}
.cabinet[data-theme="bay"]{--tile:radial-gradient(circle,#5ab0ff,#1f5fa8);--tile-bg:#0e2a4a;--tile-edge:#e2b94a}
.cabinet[data-theme="sun"]{--tile:radial-gradient(circle,#c02a3a,#6a0e1c);--tile-bg:#2a0a12;--tile-edge:#e2b94a}
.cabinet[data-theme="crystal"]{--tile:radial-gradient(circle,#2a1a4a,#140a2a);--tile-bg:#0e0620;--tile-edge:#5a3a8a}
.cabinet[data-theme="sevens"]{--tile:linear-gradient(#fff8ec,#eee4d0);--tile-bg:#e8dcc4;--tile-edge:#cfc4ad}
.cabinet[data-theme="crystal"] .sym::before{display:none}
.cabinet[data-theme="sevens"] .sym::before{display:none}
.cabinet[data-theme="sevens"] .sym{border-radius:0;border:0;border-right:2px solid #cfc4ad}
.cabinet[data-theme="sevens"] .strip{gap:0}
.symsvg{width:100%;height:100%;position:relative;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.sym.land{animation:land .45s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes land{from{transform:translateY(-60%);opacity:0}60%{transform:translateY(5%);opacity:1}to{transform:none}}
.sym.hot{border-color:#fff;box-shadow:0 0 0 3px var(--gold),0 0 24px var(--gold),inset 0 0 18px rgba(242,196,92,.5);animation:hotf .5s infinite alternate}
.sym.hot .symsvg{animation:hot .5s infinite alternate}
@keyframes hotf{to{box-shadow:0 0 0 3px var(--gold),0 0 6px var(--gold),inset 0 0 18px rgba(242,196,92,.5)}}
.sym.wild .symsvg{filter:drop-shadow(0 0 10px #3ddc8c)}
.sym.scat .symsvg{filter:drop-shadow(0 0 10px #4fa3ff)}
.reel.spin .strip{animation:reelspin .12s linear infinite;filter:blur(3px)}
.reel.spin .sym{flex:none;height:33.4%}
@keyframes reelspin{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.lines{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,255,255,.6))}
.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.free-banner{position:absolute;left:50%;top:-10px;transform:translateX(-50%);background:var(--win);color:#04230f;border-radius:999px;padding:5px 14px;display:flex;gap:10px;align-items:center;font-size:13px;white-space:nowrap;z-index:2;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.win-flash{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);background:linear-gradient(135deg,#ffe9a8,#c9931e);color:#3a2605;border-radius:12px;padding:6px 18px;text-align:center;z-index:2;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.win-flash small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.win-flash b{font-size:22px}
.panels{display:flex;flex-direction:column;gap:8px;width:170px;flex:none}
@media (max-width:760px){.cab-mid{flex-direction:column}.panels{flex-direction:row;flex-wrap:wrap;width:100%}.panel-box{flex:1;min-width:100px}}
.panel-box{background:linear-gradient(180deg,#4a1a7a,#2a0a4a);border:2px solid #b78ae8;border-radius:12px;padding:10px 12px;text-align:center;box-shadow:inset 0 0 20px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.4)}
.panel-box b{display:block;font-size:20px;color:#fff}
.panel-box small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#e2d0ff}
.panel-box.mult b{color:#ffe08a;font-size:26px}
.panel-box.fs{background:linear-gradient(180deg,#7a1a3a,#4a0a2a);border-color:#ff8ab0}
.cabinet.feature .panel-box.mult{animation:hotf .6s infinite alternate}
.info-bar{margin:6px auto 0;width:min(100%,900px);background:linear-gradient(#2a1a0a,#1a1006);border:2px solid #f2c45c;border-radius:999px;padding:8px 18px;text-align:center;color:#fff;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.cab-bottom{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 18px 22px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.75))}
.bet-pill{display:flex;align-items:center;gap:6px;background:rgba(10,16,30,.85);border:2px solid #f2c45c;border-radius:16px;padding:6px}
.bet-mid{display:flex;flex-direction:column;align-items:center;min-width:120px;cursor:text}
.bet-mid small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#f2c45c}
.bet-mid b{font-family:var(--f-display);font-weight:800;font-size:26px;color:#ffe08a;text-shadow:0 2px 0 #8a5a08}
.bet-mid input{display:none;width:110px;background:#0b111b;border:1px solid var(--line);color:#fff;border-radius:8px;padding:4px 8px;font-family:var(--f-num);text-align:center}
.bet-pill.edit .bet-mid b{display:none}.bet-pill.edit .bet-mid input{display:block}
.pm{width:36px;height:36px;border-radius:50%;border:2px solid #f2c45c;background:#1a1006;color:#f2c45c;font-size:22px;font-weight:700;display:grid;place-items:center;padding:0;line-height:1}
.spin-btn-big{width:110px;height:110px;border-radius:50%;border:5px solid #f2c45c;background:radial-gradient(circle at 35% 30%,#7af0a8,#1fa050 60%,#0a6a30);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 3px #0a4a22,0 10px 30px rgba(0,0,0,.6),0 0 30px rgba(61,220,140,.5);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.1em;transition:transform .08s}
.spin-btn-big svg{width:44px;height:44px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.spin-btn-big span{margin-top:-4px}
.spin-btn-big:active:not(:disabled){transform:scale(.95)}
.spin-btn-big:disabled{filter:grayscale(.5) brightness(.8);cursor:not-allowed}
.side-btns{display:flex;flex-direction:column;gap:8px}
.cab-btn{min-width:200px;border-radius:999px;padding:12px 20px;font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;border:2px solid #f2c45c}
.cab-btn.auto{background:linear-gradient(#3a1a6a,#1a0a3a);color:#fff}
.cab-btn.turbo{background:linear-gradient(#ffe08a,#f2c45c);color:#3a2605}
.cab-btn.turbo[aria-pressed="true"]{box-shadow:0 0 0 3px #fff,0 0 20px #ffe08a}
@media (max-width:640px){.cab-btn{min-width:0;padding:10px 14px;font-size:13px}.side-btns{flex-direction:row}.hud-bal{min-width:0;font-size:14px}.cabinet{min-height:0}}
.mach span .symsvg{width:28px;height:28px}
.slot-glyph{padding:0!important;overflow:hidden}
.slot-glyph .thumb{position:absolute;inset:0}
.slot-glyph .thumb .scene-svg{position:absolute;inset:0;width:100%;height:100%}
.slot-glyph .thumb-logo{position:relative;width:85%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}
.slot-glyph .thumb-logo .logo-svg{width:100%;height:auto}
.sl-bar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;justify-content:center}
.sl-bar .bet{flex:1;min-width:220px;max-width:360px}
.big-spin{padding:14px 40px;font-size:18px;min-width:160px}
.paytable{display:flex;flex-direction:column;gap:6px;width:100%}
.pt-row{display:grid;grid-template-columns:44px repeat(3,minmax(0,1fr));gap:8px;align-items:center;background:var(--panel-2);border-radius:10px;padding:8px 10px;font-size:13px}
.pt-sym{font-size:24px;text-align:center}
.paytable .hint{margin:4px 0 0;font-size:12px;color:var(--muted)}
.bigwin{position:fixed;inset:0;z-index:70;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle,rgba(242,196,92,.25),transparent 60%)}
.bigwin>div{background:linear-gradient(135deg,var(--gold),#ffe9a8);color:var(--gold-ink);border-radius:20px;padding:22px 40px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:lu 2.6s ease forwards}
.bigwin small{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.bigwin b{display:block;font-size:40px}

/* ---- Shop ---- */
.gold{color:var(--gold)!important}
.modal-card.shop{width:min(100%,1100px)}
.shop-bal{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 4px 4px 14px;font-weight:700}
.shop-bal .buy{border:0;border-radius:999px;background:var(--win);color:#04230f;font-weight:800;font-size:13px;padding:7px 12px}
.shop-body{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:420px}
@media (max-width:700px){.shop-body{grid-template-columns:1fr}.shop-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}}
.shop-nav{display:flex;flex-direction:column;gap:2px;padding:12px;border-right:1px solid var(--line)}
.shop-nav button{display:flex;align-items:center;gap:10px;background:none;border:1px solid transparent;border-radius:10px;padding:10px 12px;font-weight:700;color:var(--muted);text-align:left;white-space:nowrap}
.shop-nav button span{font-size:18px;width:24px;text-align:center}
.shop-nav button.on{background:var(--panel-2);color:var(--text);border-color:var(--line)}
.shop-main{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.shop-note{display:flex;align-items:center;gap:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-align:left;color:var(--text);font:inherit}
.shop-note .ico{font-size:24px}
.shop-note div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.shop-note span{color:var(--muted);font-size:13px}
.shop-note b{color:var(--text)}
.shop-note.link{cursor:pointer}
.shop-note .arrow{color:var(--win);font-size:22px}
.shop-note .xpbar{margin-top:4px}
.packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:760px){.packs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pack{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.pack .ico{font-size:28px}
.deal{border:1px solid var(--lose);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--lose) 10%,var(--panel))}
.deal-head{background:var(--lose);color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.item{position:relative;display:flex;align-items:center;gap:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:12px;min-width:0}
.item.big{padding:18px;border:0;background:transparent}
.item.big .ico,.item.big .prev{width:72px;height:72px;font-size:40px}
.item.owned{border-color:color-mix(in srgb,var(--win) 40%,transparent)}
.item .ico{font-size:28px;width:48px;height:48px;border-radius:12px;background:var(--bg);display:grid;place-items:center;flex:none}
.item .prev{width:48px;height:48px;border-radius:12px;flex:none;border:1px solid rgba(255,255,255,.15)}
.item .it{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.item b{font-size:15px}
.item small{color:var(--muted);font-size:12px;line-height:1.3}
.item .lim{color:var(--gold)}
.item .emo{font-size:18px;letter-spacing:4px}
.item .own{color:var(--win);font-weight:700;font-size:13px;white-space:nowrap}
.item .lock{color:var(--muted);font-weight:700;font-size:12px;white-space:nowrap;background:var(--bg);border-radius:8px;padding:6px 10px}
.item .btn.sm s{opacity:.6;font-weight:500;margin-right:4px}
.item .star{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--muted);font-size:16px;padding:2px 4px}
.item .star.on{color:var(--gold)}
.nt-star{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);background:rgba(0,0,0,.25);border-radius:10px;padding:8px 12px}
.nt-star b{color:var(--gold)}
.emote-bar{display:flex;gap:6px;padding:8px 16px 0;flex-wrap:wrap}
.emote-bar button{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;font-size:18px;padding:4px 10px}

.dc-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13px}
.dc-steps li b{display:block}
.dc-steps small{display:block;color:var(--muted)}
.dc-steps .btn{margin-top:4px;display:inline-block;text-decoration:none}
.dc-steps .code{display:inline-block;margin-top:6px;padding:6px 10px;font-size:16px}
.side-card.discord{border:1px solid #5865f2;background:color-mix(in srgb,#5865f2 12%,var(--panel-2))}
.broke.debt{background:#3a1a0a;border-top-color:#8a4a1a;bottom:auto;top:calc(118px + env(safe-area-inset-top,0px));z-index:30}

.tgem{display:inline-block;width:10px;height:10px;margin-right:5px;background:var(--g);transform:rotate(45deg) scale(.8);border-radius:2px;box-shadow:0 0 6px var(--g);vertical-align:middle}
.tier-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tier{display:flex;align-items:center;gap:6px;font-size:13px}
.tier small{color:var(--muted)}

.glyph.art{padding:0;overflow:hidden;height:130px;background:var(--panel-2)!important}
.glyph.art .tile-svg{object-fit:cover}
.glyph.art .tile-svg{position:absolute;inset:0;width:100%;height:100%}
.tile:hover .glyph.art .tile-svg{transform:scale(1.04);transition:transform .3s}

.slide-text .cta{margin-top:4px}
@media (max-width:700px){.dots{right:auto;left:50%;transform:translateX(-50%);bottom:12px}.slide{padding-bottom:44px}}

/* ---- Clubs ---- */
.ctag{display:inline-block;font-family:var(--f-num);font-size:10px;font-weight:700;letter-spacing:.06em;background:color-mix(in srgb,#2ab0d0 22%,transparent);color:#7ad8f0;border-radius:5px;padding:1px 6px;vertical-align:middle}
.club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.club-grid{grid-template-columns:1fr}}
.club-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}
.club-card h3{margin:0;font-family:var(--f-display);font-size:20px}
.club-card .hint,.club-panel .hint{margin:0;color:var(--muted);font-size:13px}
.row2{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.row2>*{flex:1;min-width:0}.row2>.btn{flex:none}
.icons{display:flex;flex-wrap:wrap;gap:6px}.icons button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font-size:20px;padding:0}.icons button.on{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 30%,transparent)}
.club-list,.top-clubs,.mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.club-list li,.top-clubs li{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.club-list li b,.top-clubs li b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.club-list small{margin-left:auto;color:var(--muted)}.top-clubs .num{margin-left:auto;color:#7ad8f0;font-weight:700}
.top-clubs .rk{width:20px;color:var(--muted);font-family:var(--f-num)}.ci{font-size:20px}
.club-list .empty,.top-clubs .empty{color:var(--muted);justify-content:center}
.club-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;max-width:720px}
.cp-head{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line)}
.cp-icon{width:52px;height:52px;border-radius:14px;background:var(--panel-2);display:grid;place-items:center;font-size:28px}
.cp-head h3{margin:0;font-family:var(--f-display);font-size:22px}.cp-head small{color:var(--muted)}
.cp-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px}
.cp-tabs button{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:12px;padding:10px;font-weight:700}
.cp-tabs button[aria-selected="true"]{color:var(--text);border-color:var(--win);background:color-mix(in srgb,var(--win) 10%,var(--panel))}
.cp-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px}
.cp-msgs{height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;background:var(--bg);border-radius:12px;padding:10px;font-size:14px}
.cp-msgs .m b{color:var(--gold);margin-right:6px}.cp-msgs .sys{color:var(--muted);font-size:12px;text-align:center}
.cp-form{display:flex;gap:8px}.cp-form input{flex:1;min-width:0}
.goal-box{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.goal-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.goal-top b{font-size:18px}
.goal-bar{height:10px;border-radius:999px;background:var(--panel-2);overflow:hidden}.goal-bar div{height:100%;background:linear-gradient(90deg,#2ab0d0,#7ad8f0);border-radius:999px}
.goal-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gt{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;background:var(--panel)}
.gt b{display:block;font-size:17px}.gt small{color:var(--gold);font-weight:700}
.gt.on{border-color:var(--win);background:color-mix(in srgb,var(--win) 10%,var(--panel))}.gt.on small{color:var(--win)}
.w{color:var(--win)}.muted{color:var(--muted)}
.mem-list li{display:flex;align-items:center;gap:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.mem-list .av{position:relative;width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-weight:800;flex:none}
.mem-list .av i{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--muted);border:2px solid var(--panel-2)}.mem-list .av i.on{background:var(--win)}
.mem-list div{flex:1;min-width:0}.mem-list small{display:block;color:var(--muted)}.mem-list .own{color:var(--gold);font-size:12px;font-weight:700}
.code-box{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.code-box span{color:var(--muted)}.code-box b{font-size:20px;letter-spacing:.24em;margin-right:auto}

/* ---- Graphics pass: Mines ---- */
.mines{background:radial-gradient(120% 90% at 50% 0%,#14506a,#0a2030 75%)!important;border-color:#1f4a5e!important}
.mgrid{gap:10px;width:min(100%,480px)}
.mgrid button{border-radius:12px;background:linear-gradient(180deg,#2a4a6a,#1a3048);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 -5px 0 rgba(0,0,0,.35),0 4px 10px rgba(0,0,0,.35);transition:transform .12s,filter .12s}
.mgrid button:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.15)}
.mgrid .gem{background:radial-gradient(circle,#2a6a5a,#123a32)!important;box-shadow:inset 0 0 18px rgba(61,220,140,.4),0 0 0 2px rgba(61,220,140,.5)!important}
.mgrid .bomb{background:radial-gradient(circle,#6a2a32,#2a0e14)!important;box-shadow:inset 0 0 18px rgba(255,97,112,.4)!important}
.mgrid .ghost{opacity:.4;filter:saturate(.6)}
.mgrid .pop .gemico{animation:gempop .45s cubic-bezier(.2,1.4,.4,1)}
.mgrid .boom{animation:boomshake .5s}
.mgrid .boom .gemico{animation:gempop .4s}
@keyframes gempop{from{transform:scale(.2) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
@keyframes boomshake{0%,100%{transform:none}20%{transform:translate(-5px,2px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-3px,1px)}80%{transform:translate(3px,0)}}
.gemico{width:68%;height:68%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4))}
/* Plinko */
.plinko{background:#120a2a!important;border-color:#2a1a5a!important}
/* Dice */
.dice{background:radial-gradient(120% 90% at 50% 0%,#3a1a6a,#140a2a 75%)!important;border-color:#2a1a5a!important}
.dice-top{display:flex;align-items:center;justify-content:center;gap:28px}
.die{width:84px;height:84px;border-radius:18px;background:linear-gradient(145deg,#fff,#d8dce6);box-shadow:inset 0 -6px 0 rgba(0,0,0,.12),0 12px 28px rgba(0,0,0,.45);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:12px;gap:2px}
.die i{border-radius:50%;background:#1a2232;transform:scale(.8);opacity:0}
.die[data-face="1"] i:nth-child(5),.die[data-face="2"] i:nth-child(1),.die[data-face="2"] i:nth-child(9),.die[data-face="3"] i:nth-child(1),.die[data-face="3"] i:nth-child(5),.die[data-face="3"] i:nth-child(9),.die[data-face="4"] i:nth-child(1),.die[data-face="4"] i:nth-child(3),.die[data-face="4"] i:nth-child(7),.die[data-face="4"] i:nth-child(9),.die[data-face="5"] i:nth-child(1),.die[data-face="5"] i:nth-child(3),.die[data-face="5"] i:nth-child(5),.die[data-face="5"] i:nth-child(7),.die[data-face="5"] i:nth-child(9),.die[data-face="6"] i:nth-child(1),.die[data-face="6"] i:nth-child(3),.die[data-face="6"] i:nth-child(4),.die[data-face="6"] i:nth-child(6),.die[data-face="6"] i:nth-child(7),.die[data-face="6"] i:nth-child(9){opacity:1}
.die.tumble{animation:tumble .45s cubic-bezier(.3,1.4,.5,1)}
@keyframes tumble{0%{transform:rotate(0) translateY(-30px) scale(.8)}50%{transform:rotate(300deg) translateY(4px)}100%{transform:rotate(360deg)}}
.roll{text-shadow:0 6px 24px rgba(0,0,0,.5)}
.roll.w{color:var(--win);text-shadow:0 0 30px rgba(61,220,140,.5)}.roll.l{color:var(--lose)}
.track{height:18px;box-shadow:inset 0 2px 6px rgba(0,0,0,.4)}
.track .ok{box-shadow:0 0 16px rgba(61,220,140,.5)}
.track .pin{width:8px;top:-14px;height:46px;border-radius:4px;transform:translateX(-4px);box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.track .pin.w{background:var(--win)}.track .pin.l{background:var(--lose)}
input[type=range]{height:28px}
/* Roulette */
.rl{background:var(--felt-bg,radial-gradient(120% 90% at 50% 0%,#1a8a5c,#0a4a30 75%))!important}
.rl canvas{width:min(100%,340px);filter:drop-shadow(0 18px 30px rgba(0,0,0,.5))}
.rtable button{box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.rtable .chipm{background:radial-gradient(circle at 35% 30%,#ffe9a8,#c9931e);border:2px dashed rgba(255,255,255,.8);padding:2px 6px}

.gate{position:fixed;inset:0;z-index:100;background:rgba(5,8,14,.92);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px}
.gate-card{width:min(100%,440px);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.gate-card h2{margin:0;font-family:var(--f-display);font-size:28px}
.gate-card p{margin:0;color:var(--muted)}
.gate-card .small{font-size:12px}
.gate-card a{color:var(--text)}
.gate-btns{display:flex;flex-direction:column;gap:8px;width:100%}
.gate-btns .btn{padding:14px}
.foot a{color:var(--muted)}

/* ---- Sports ---- */
.sports{padding-bottom:30px}
.sp-tabs{display:flex;gap:4px;justify-content:center;overflow-x:auto;scrollbar-width:none;padding:8px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
.sp-tabs::-webkit-scrollbar{display:none}
.sp-tabs button{flex:none;display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--muted);font-weight:700;font-size:15px;padding:10px 14px;border-radius:10px}
.sp-tabs button.on{background:var(--panel-2);color:var(--text)}
.sp-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding-block:16px;align-items:start}
@media (max-width:980px){.sp-grid{grid-template-columns:1fr}.sp-side{order:-1}}
.sp-main{min-width:0;display:flex;flex-direction:column;gap:12px}
.sp-filter{display:flex;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px;flex-wrap:wrap}
.sp-filter button{background:none;border:0;color:var(--muted);font-weight:700;padding:8px 14px;border-radius:10px;display:flex;align-items:center;gap:6px}
.sp-filter button.on{background:var(--panel-2);color:var(--text)}
.sp-filter .dot{width:8px;height:8px;border-radius:50%;background:var(--lose)}
.sp-filter b{background:var(--lose);color:#fff;border-radius:999px;font-size:11px;padding:0 6px}.sp-filter b:empty{display:none}
.sp-filter select{margin-left:auto;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px 10px;font:inherit}
.feat{border-radius:16px;overflow:hidden;background:linear-gradient(120deg,#0e3a2a,#103a5a);border:1px solid #1f5a4a}
.feat-head{display:flex;justify-content:space-between;padding:12px 18px 0;color:rgba(255,255,255,.75);font-size:13px;font-weight:600}
.feat-body{display:flex;align-items:center;gap:14px;padding:14px 18px 18px;flex-wrap:wrap}
.ft-team{display:flex;align-items:center;gap:10px;font-size:18px}.ft-team img,.ft-team .nologo{width:40px;height:40px}
.feat .v{color:rgba(255,255,255,.5)}
.odds.big{margin-left:auto;min-width:300px}
.grp{margin:8px 0 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.grp.live{color:var(--lose)}
.lg{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.lg-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;color:var(--muted);font-size:13px;font-weight:600;border-bottom:1px solid var(--line)}
.lg-head .cols{display:grid;gap:8px;width:290px;text-align:center;font-style:normal;font-size:12px}.lg-head .cols.three{grid-template-columns:repeat(3,1fr)}.lg-head .cols.two{grid-template-columns:repeat(2,1fr);width:194px}
.lg-head i{font-style:normal}
.ev{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.ev:first-of-type{border-top:0}
.ev-time{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.ev-time .live{color:var(--lose);font-weight:800}.ev-time .ft{color:var(--muted);font-weight:700}
.ev-time i{font-style:normal;font-size:9px;letter-spacing:.08em;color:var(--muted);opacity:.6}
.ev-teams{display:flex;flex-direction:column;gap:4px;min-width:0}
.tm{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600}.tm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm img,.nologo{width:20px;height:20px;object-fit:contain;flex:none}
.nologo{display:grid;place-items:center;border-radius:50%;background:var(--panel-2);font-size:8px;font-weight:800;color:var(--muted)}
.tm .sc{margin-left:auto;font-size:15px}
.odds{display:grid;gap:8px}.odds.three{grid-template-columns:repeat(3,90px)}.odds.two{grid-template-columns:repeat(2,93px)}
.odds.closed{color:var(--muted);font-size:13px;width:200px;text-align:center}
.odd{display:flex;flex-direction:column;align-items:center;gap:0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:6px 4px;min-width:0}
.odd small{font-size:10px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.odd b{font-size:15px}
.odd:hover:not(:disabled){border-color:var(--win)}
.odd.on{background:var(--win);border-color:var(--win);color:#04230f}.odd.on small{color:#04230f}
.odd:disabled{opacity:.4}
@media (max-width:640px){.ev{grid-template-columns:1fr;gap:8px}.ev-time{flex-direction:row;gap:8px}.odds.three,.odds.two{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.lg-head .cols{display:none}.odds.big{min-width:0;width:100%}}
.sp-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:calc(80px + env(safe-area-inset-top,0px))}
@media (max-width:980px){.sp-side{position:static}}
.slip{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.slip h3{margin:0;font-family:var(--f-display);font-size:20px}
.slip .hint{margin:0;color:var(--muted);font-size:13px;text-align:center;padding:14px 0}
.picks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.picks li{display:flex;align-items:center;gap:10px;background:var(--panel-2);border-radius:10px;padding:8px 10px}
.picks li div{flex:1;min-width:0}.picks b{display:block}.picks small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.picks .x{background:none;border:0;color:var(--muted);font-size:18px;padding:0 4px}
.acc{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.acc b{color:var(--gold)}
.slip-sum{display:flex;justify-content:space-between;font-size:14px}.slip-sum span{color:var(--muted)}
.slip .link{background:none;border:0;color:var(--muted);font-size:13px;text-decoration:underline}
.mybet{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.mybet.won{border-color:color-mix(in srgb,var(--win) 50%,transparent)}.mybet.lost{opacity:.75}
.mb-head{display:flex;justify-content:space-between;align-items:center}
.mybet .tag{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:var(--line)}
.mybet .tag.won{background:var(--win);color:#04230f}.mybet .tag.lost{background:var(--lose);color:#fff}.mybet .tag.open{background:var(--blue,#4fa3ff);color:#04122a}
.mb-leg{display:flex;gap:8px;font-size:13px}.mb-leg small{display:block;color:var(--muted)}
.mb-leg .r{width:16px;text-align:center;color:var(--muted)}.mb-leg .r.won{color:var(--win)}.mb-leg .r.lost{color:var(--lose)}
.mb-foot{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:6px}.mb-foot b{color:var(--text)}.mb-foot .w{color:var(--win)}

/* Predictions */
.preds{padding-block:18px 40px;display:flex;flex-direction:column;gap:14px}
.pr-head h2{font-family:var(--f-display);font-size:30px;margin:0}.pr-head p{margin:4px 0 0;color:var(--muted)}
.pr-filter{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px}
.pr-filter::-webkit-scrollbar{display:none}
.pr-filter button{flex:none;display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted);font-weight:700;padding:8px 14px;border-radius:10px}
.pr-filter button.on{background:var(--panel-2);color:var(--text)}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.pr-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px;position:relative;transition:border-color .2s,transform .2s}
.pr-card:hover{border-color:#36507a;transform:translateY(-1px)}
.pr-card.feat{border-color:rgba(242,196,92,.5);background:radial-gradient(120% 140% at 0 0,rgba(242,196,92,.14),transparent 60%),linear-gradient(180deg,var(--panel-2),var(--panel));padding:20px}
.pr-card.feat h3{font-size:22px}
.pr-pick{align-self:flex-start;background:var(--gold);color:var(--gold-ink);font-weight:800;font-size:12px;border-radius:999px;padding:3px 10px}
.pr-top{display:flex;gap:12px;align-items:flex-start}
.pr-q{flex:1;min-width:0}.pr-q h3{margin:0;font-size:16px;line-height:1.3}.pr-q small{color:var(--muted);font-size:12px}
.pr-ico{flex:none;width:40px;height:40px;border-radius:12px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:20px}
.pr-logos{flex:none;display:flex}.pr-logos img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:50%;padding:3px;border:2px solid var(--panel)}.pr-logos img+img{margin-left:-10px}
.gauge{flex:none;width:76px;position:relative;text-align:center}.gauge.big{width:110px}
.gauge svg{width:100%;display:block}.gauge path{fill:none;stroke-width:9;stroke-linecap:round}.g-bg{stroke:var(--line)}
.gauge b{position:absolute;left:0;right:0;top:46%;font-size:15px}.gauge.big b{font-size:22px}
.gauge small{display:block;color:var(--muted);font-size:10px;margin-top:-2px;text-transform:uppercase;letter-spacing:.08em}
.pr-split{position:relative;height:18px;border-radius:999px;background:rgba(255,97,112,.2);overflow:hidden;font-size:11px}
.pr-split i{position:absolute;inset:0 auto 0 0;background:rgba(61,220,140,.35)}.pr-split span{position:relative;padding-left:8px;line-height:18px;color:var(--text)}
.pr-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pr-btns button{display:flex;justify-content:space-between;align-items:center;border-radius:12px;padding:11px 14px;font-weight:800;font-size:15px;border:1px solid;cursor:pointer}
.pr-btns .yes{background:rgba(61,220,140,.12);border-color:rgba(61,220,140,.4);color:var(--win)}.pr-btns .yes:hover{background:rgba(61,220,140,.22)}
.pr-btns .no{background:rgba(255,97,112,.12);border-color:rgba(255,97,112,.4);color:var(--lose)}.pr-btns .no:hover{background:rgba(255,97,112,.22)}
.pr-btns b{color:var(--text)}
.pr-closed{text-align:center;color:var(--muted);background:var(--bg);border-radius:12px;padding:11px;font-weight:700}
.pr-meta{display:flex;gap:12px;color:var(--muted);font-size:12px}.pr-meta span:last-child{margin-left:auto}
.pr-slip{display:flex;flex-direction:column;gap:8px;background:var(--bg);border-radius:12px;padding:10px;border:1px solid var(--line)}
.pr-slip.yes{border-color:rgba(61,220,140,.5)}.pr-slip.no{border-color:rgba(255,97,112,.5)}
.ps-top{display:flex;justify-content:space-between;align-items:center;font-size:14px}.ps-top .link{background:none;border:0;color:var(--muted);text-decoration:underline}
.ps-row{display:flex;gap:6px}.ps-row .txt{flex:1;min-width:0}
.pr-done,.pr-mine{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pr-done li{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.pr-done .pr-ico{width:30px;height:30px;font-size:15px;border-radius:9px}.pr-done .t{flex:1;min-width:0;font-size:14px}
.pr-done .res{flex:none;font-size:13px;border-radius:999px;padding:3px 10px;background:var(--bg)}.pr-done .res.yes{color:var(--win)}.pr-done .res.no{color:var(--lose)}.pr-done .res.v{color:var(--muted)}
.pr-mine li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:10px 12px}
.pr-mine li b{display:block;font-size:14px}.pr-mine li small{color:var(--muted);font-size:12px}
.pr-mine li.won{border-left-color:var(--win)}.pr-mine li.won .st{color:var(--win)}.pr-mine li.lost{border-left-color:var(--lose)}.pr-mine li.lost .st{color:var(--lose)}.pr-mine li.open{border-left-color:var(--gold)}
.pr-mine .st{font-weight:800;font-size:13px;min-width:90px;text-align:right}
@media (max-width:560px){.pr-grid{grid-template-columns:1fr}.gauge.big{width:86px}.pr-card.feat h3{font-size:18px}.pr-mine li{grid-template-columns:1fr auto}.pr-mine .num{display:none}}
.pr-btns button:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:560px){.sections a{position:relative;padding:9px 8px}.sections a .badge{position:absolute;top:2px;right:0;font-size:0;width:9px;height:9px;padding:0;border:2px solid var(--bg)}}
.pr-card.feat{margin-bottom:4px}

/* Blackjack: rack, shoe, chip stacks, betting circles, dealing */
.rack{position:absolute;left:16px;top:52px;z-index:3;display:flex;gap:3px;align-items:flex-end;background:linear-gradient(#1a1f2b,#0b0e15);border:2px solid #3a3222;border-radius:10px;padding:6px 8px 5px;box-shadow:inset 0 2px 6px rgba(0,0,0,.8),0 6px 14px rgba(0,0,0,.35)}
.rk{display:flex;flex-direction:column-reverse;width:26px}
.rk .chip{width:26px;height:7px;border-radius:50%/50%;border:0;box-shadow:inset 0 -2px 0 rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.2);background:repeating-linear-gradient(90deg,var(--cc) 0 5px,#f2f2f2 5px 7px);margin-top:-2px}
.shoebox{position:absolute;right:16px;top:16px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px}
.shoe-body{position:relative;width:92px;height:58px;border-radius:8px 8px 6px 18px;background:linear-gradient(160deg,#2b3140,#10141d);border:2px solid #4a4433;box-shadow:0 8px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12);transform:perspective(300px) rotateY(-14deg);overflow:hidden}
.shoe-body i{position:absolute;top:8px;width:46px;height:40px;border-radius:4px;background:repeating-linear-gradient(45deg,#7b1e2b 0 4px,#952636 4px 8px);border:2px solid var(--card)}
.shoe-body i:nth-child(1){left:10px}.shoe-body i:nth-child(2){left:14px}.shoe-body i:nth-child(3){left:18px}
.shoe-top{position:absolute;left:4px;top:10px;width:24px;height:36px;border-radius:4px;background:linear-gradient(90deg,#0a0d13,#262c39);box-shadow:inset -2px 0 0 rgba(255,255,255,.08)}
.shoe-meter{position:relative;width:80px;height:5px;border-radius:999px;background:rgba(0,0,0,.45)}
.shoe-meter i{display:block;height:100%;border-radius:999px;background:rgba(255,255,255,.75)}
.shoe-meter .cut{position:absolute;top:-3px;width:3px;height:11px;border-radius:2px;background:#ff5a6a}
.shoebox small{font-family:var(--f-num);font-size:10px;color:rgba(255,255,255,.7)}
.discard{position:absolute;right:122px;top:24px;z-index:2;width:30px;height:var(--h,0px);max-height:40px;border-radius:3px;background:repeating-linear-gradient(#e9e4d6 0 2px,#b9b2a0 2px 3px);box-shadow:0 4px 8px rgba(0,0,0,.35)}
.discard{border:2px solid rgba(0,0,0,.35);min-height:8px}
/* A dealt card slides out of the shoe face down, lands, then turns over */
.card.fly{animation:fly .62s cubic-bezier(.2,.75,.25,1) var(--d,0ms) backwards}
.card.fly:not(.back)::after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--card-back,repeating-linear-gradient(45deg,#7b1e2b 0 6px,#952636 6px 12px));border:4px solid var(--card);animation:unback .62s linear var(--d,0ms) both}
@keyframes fly{0%{transform:translate(var(--dx,300px),var(--dy,-300px)) rotate(-28deg) scale(.62)}62%{transform:translate(0,0) rotate(0) scale(1)}76%{transform:scaleX(.04)}100%{transform:none}}
.card.fly.down{animation-name:flydown}
@keyframes flydown{0%{transform:translate(var(--dx,300px),var(--dy,-300px)) rotate(-28deg) scale(.62)}70%,100%{transform:none}}
@keyframes unback{0%,75%{opacity:1}76%,100%{opacity:0}}
.cards{position:relative}
.bust{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:5}
.bust span{font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:.08em;color:#fff;background:linear-gradient(#ff4a5a,#b0101e);border:3px solid #fff;border-radius:10px;padding:2px 14px;box-shadow:0 8px 22px rgba(176,16,30,.6);transform:rotate(-12deg);animation:stamp .5s cubic-bezier(.2,1.8,.4,1) var(--d,0ms) both}
@keyframes stamp{0%{transform:rotate(-12deg) scale(2.6);opacity:0}60%{opacity:1}100%{transform:rotate(-12deg) scale(1);opacity:1}}
.busted .cards .card{animation:bshake .45s ease var(--bd,0ms) 1}
.seat.busted .cards .card:not(.fly),.dealer.busted .card:not(.fly){filter:brightness(.7) sepia(.4) hue-rotate(-30deg) saturate(2.2)}
@keyframes bshake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.card.flip{animation:flip .45s ease var(--d,0ms) backwards}
@keyframes flip{0%{transform:rotateY(90deg)}100%{transform:none}}
.stack{position:relative;width:52px;height:calc(52px + (var(--n) - 1) * 5px)}
.stack .chip{position:absolute;left:0;bottom:calc(var(--i) * 5px);width:52px;height:52px;font-size:11px;box-shadow:0 2px 0 rgba(0,0,0,.5),inset 0 0 0 5px color-mix(in srgb,var(--cc) 70%,#000)}
.stack .chip:not(:last-child){box-shadow:0 2px 0 rgba(0,0,0,.6),inset 0 0 0 5px color-mix(in srgb,var(--cc) 70%,#000)}
.stack.sm{width:34px;height:calc(34px + (var(--n) - 1) * 3px)}
.stack.sm .chip{width:34px;height:34px;bottom:calc(var(--i) * 3px);border-width:3px;font-size:8px}.stack.sm .chip span{width:18px;height:18px}
.seat .bets{display:flex;align-items:flex-end;gap:8px}
.seat .spot{width:70px;height:70px;border-radius:50%;border:2px solid rgba(255,255,255,.4);display:grid;place-items:end center;padding-bottom:8px;box-shadow:inset 0 0 0 5px rgba(255,255,255,.06)}
.seat.mine .spot{border-color:rgba(242,196,92,.85);box-shadow:inset 0 0 0 5px rgba(242,196,92,.12),0 0 18px rgba(242,196,92,.25)}
.seat.mine.open .spot{cursor:pointer}
.seat.turn .spot{animation:turn 1.2s ease-in-out infinite}
@keyframes turn{50%{box-shadow:inset 0 0 0 5px rgba(242,196,92,.25),0 0 30px rgba(242,196,92,.6)}}
.sidespot{position:relative;width:44px;height:44px;border-radius:50%;border:2px dashed rgba(255,255,255,.32);display:grid;place-items:end center;padding-bottom:4px;margin-bottom:6px}
.sidespot small{align-self:center;font-size:9px;font-weight:800;letter-spacing:.06em;color:rgba(255,255,255,.55);text-transform:uppercase;margin-bottom:-4px}
.sidespot.tap{cursor:pointer}.sidespot.tap:hover{border-color:rgba(242,196,92,.8)}
.sidespot.on{border-style:solid}.sidespot.won{border-color:var(--gold);box-shadow:0 0 16px rgba(242,196,92,.6)}.sidespot.lost{opacity:.45}
.sidespot em{position:absolute;top:-18px;left:50%;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:10px;font-weight:800;background:var(--gold);color:var(--gold-ink);border-radius:999px;padding:1px 7px}
.seat.empty:not(.mine) .bets .spot{opacity:.6;border-style:dashed}
.seat{width:190px}
.seat .ttl{font-family:var(--f-num);font-size:14px;padding:2px 10px}
.bj-betbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px 16px;width:min(100%,980px)}
.bj-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bj-chips .chip{width:54px;height:54px;font-size:12px;cursor:pointer;box-shadow:0 4px 0 rgba(0,0,0,.5),inset 0 0 0 6px color-mix(in srgb,var(--cc) 70%,#000),0 0 0 1px rgba(255,255,255,.08)}
.bj-chips .chip span{width:30px;height:30px}
.bj-chips .chip:hover:not(:disabled){transform:translateY(-5px)}
.bj-chips .chip:disabled{opacity:.45;cursor:not-allowed}
.bj-chips .allin{--cc:transparent;border:2px solid var(--gold);color:var(--gold);box-shadow:none;font-family:var(--f-display);font-size:11px;line-height:1}
.bj-chips .allin span{background:none;width:auto;height:auto}
.bj-betinfo{display:flex;flex-direction:column;align-items:center;min-width:120px}
.bj-betinfo small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bj-betinfo b{font-size:26px}.bj-betinfo span{font-size:11px;color:var(--muted)}
.bj-btns{display:flex;gap:8px}.bj-btns .btn{min-width:96px}
.btn.deal{background:linear-gradient(#3ddc8c,#22b06a);color:#04230f;box-shadow:0 0 18px rgba(61,220,140,.35)}
.bj-target{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-size:13px;color:var(--muted)}
.bj-target button{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:5px 12px;font-weight:700;font-size:13px}
.bj-target button[aria-pressed="true"]{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.bj-target .info{width:26px;height:26px;padding:0;font-family:Georgia,serif;font-style:italic}
.bj-paytable{display:grid;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13px;width:min(100%,640px)}
.bj-paytable span{display:block;color:var(--muted)}
@media (max-width:760px){.rack{display:none}.shoebox{transform:scale(.8);transform-origin:top right}.discard{display:none}.seat{width:140px}.seat .spot{width:56px;height:56px}.sidespot{width:34px;height:34px}.stack{transform:scale(.8);transform-origin:bottom center}.bj-chips .chip{width:44px;height:44px;font-size:10px}.bj-chips .chip span{width:24px;height:24px}}
.gate-dob{display:flex;flex-direction:column;gap:10px;align-items:stretch;width:100%;max-width:320px;margin:0 auto}
.dob{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:8px}.dob .txt{text-align:center;font-size:20px;letter-spacing:.08em}
.gate-err{margin:0;color:var(--lose);font-size:13px}
.badge.dot{width:9px;height:9px;padding:0!important;font-size:0!important;border-radius:50%;background:var(--win);box-shadow:0 0 0 3px rgba(61,220,140,.2);animation:ldot 1.6s ease-in-out infinite;display:inline-block;vertical-align:middle}
.badge.dot[hidden]{display:none}
@keyframes ldot{50%{box-shadow:0 0 0 6px rgba(61,220,140,0)}}
.sp-tabs button.live::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--win);margin-left:2px}
.dc-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:0;color:inherit;text-align:left;cursor:pointer}
.dc-head:disabled{cursor:default}.dc-head:disabled .chev{display:none}
.dc-head h4{margin:0}.dc-head .chev{font-size:20px;color:var(--muted);transition:transform .2s}
.dc-head[aria-expanded="true"] .chev{transform:rotate(90deg)}
.side-card.discord.done{padding-block:12px}

/* Rank emblems */
.ring .em{position:absolute;inset:3px;border-radius:50%;overflow:hidden;display:grid;place-items:center;z-index:1;background:radial-gradient(circle at 50% 40%,#1a2438,#0a0f19)}
.ring .em:empty{display:none}
.ring .em svg{width:118%;height:118%;flex:none}
.ring.big .em{inset:5px}
.ring .em:not(:empty)+b{position:absolute;right:-5px;bottom:-4px;z-index:2;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--ring);color:#0b111b;font-size:9px;line-height:15px;text-align:center;box-shadow:0 0 0 2px var(--bg)}
.ring.big .em:not(:empty)+b{min-width:24px;height:24px;font-size:13px;line-height:24px;right:-4px;bottom:-2px;padding:0 5px;box-shadow:0 0 0 3px var(--panel)}
.em-xs{display:inline-block;width:14px;height:14px;vertical-align:-3px;margin-right:4px}.em-xs svg{width:100%;height:100%}
.emblem{display:block;overflow:visible}.emblem.locked{filter:saturate(.3) brightness(.6)}
.emblem .spk{animation:spk 2.4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes spk{0%,100%{opacity:.25}50%{opacity:1}}
.rank-info{width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:12px;padding:0;cursor:pointer;margin-left:6px}
.rank-info:hover{border-color:var(--gold);color:var(--gold)}
.ranks-modal{position:fixed;inset:0;z-index:80;background:rgba(3,6,12,.72);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.ranks-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;width:min(100%,560px);max-height:88vh;overflow:auto}
.ranks-top{display:flex;justify-content:space-between;align-items:center}.ranks-top h2{margin:0;font-family:var(--f-display)}
.ranks-top .x{background:none;border:0;color:var(--muted);font-size:28px;line-height:1}
.ranks-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.rank{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px}
.rank.cur{border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,196,92,.15)}
.rank .em-lg{width:64px;height:64px;flex:none}.rank .em-lg svg{width:100%;height:100%}
.rank b{display:block;font-family:var(--f-display);font-size:18px}.rank small{display:block;color:var(--muted);font-size:12px}
.rank em{display:inline-block;margin-top:4px;font-style:normal;font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;background:var(--gold);color:var(--gold-ink)}
.rank em.ok{background:rgba(61,220,140,.15);color:var(--win)}.rank em.lk{background:var(--panel-2);color:var(--muted)}
.rank.locked b{opacity:.7}
@media (max-width:520px){.ranks-list{grid-template-columns:1fr}}
.em-sm{display:inline-block;width:22px;height:22px;vertical-align:-6px;margin-right:4px}.em-sm svg{width:100%;height:100%}
.tier-r{display:inline-flex;align-items:center}
.slot-glyph .thumb.lobby .lobby-svg,.glyph.art .lobby-svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.slot-glyph{height:auto!important;aspect-ratio:300/280}
.slot-glyph .slot-tag{top:auto;bottom:8px;right:8px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.tile:hover .lobby-svg{transform:scale(1.06)}
.lobby-svg .bl{animation:bulb 1s steps(1) infinite}.lobby-svg .bl.b{animation-delay:.5s}
@keyframes bulb{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.lobby-svg .bl{animation:none}.tile:hover .lobby-svg{transform:none}}

/* Reload popup */
.reload-pop{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:rgba(8,3,20,.7);backdrop-filter:blur(5px);padding:16px}
.rl-card{position:relative;width:min(100%,360px);text-align:center;background:radial-gradient(120% 90% at 50% 0%,#3a1f6e,#160a30 70%);border:2px solid #c9a34a;border-radius:24px;padding:26px 22px 20px;box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.06)}
.rl-card .x{position:absolute;right:12px;top:8px;background:none;border:0;color:#cbb8ee;font-size:26px}
.rl-card h3{margin:6px 0 4px;font-family:var(--f-display);font-size:26px;color:#fff}
.rl-card p{margin:0 0 12px;color:#d9ccf2}
.rl-stack{display:flex;flex-direction:column-reverse;align-items:center;height:56px;margin:-56px auto 0;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}
.rl-stack i{display:block;width:64px;height:14px;margin-top:-6px;border-radius:50%;background:repeating-linear-gradient(90deg,#e8b23a 0 7px,#fff3c4 7px 10px);box-shadow:inset 0 -3px 0 rgba(0,0,0,.3),0 1px 0 #7a5200}
.rl-ring{position:relative;width:130px;height:130px;margin:0 auto 14px}
.rl-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rl-ring circle{fill:none;stroke-width:9}.rl-ring .bg{stroke:rgba(255,255,255,.1)}
.rl-ring .fg{stroke:url(#none);stroke:#f2c45c;stroke-linecap:round;stroke-dasharray:326.7;transition:stroke-dashoffset .5s linear}
.rl-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;color:#fff}
.rl-card .btn.big{width:100%;font-size:18px;padding:14px}
.rl-card small{display:block;margin-top:10px}
/* Rank up */
.rankup{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(6,2,16,.78);animation:ruIn .3s ease}
.ru-card{position:relative;text-align:center;padding:24px 30px;color:#fff}
.ru-rays{position:absolute;left:50%;top:110px;width:520px;height:520px;margin:-260px 0 0 -260px;background:repeating-conic-gradient(rgba(242,196,92,.22) 0 8deg,transparent 8deg 20deg);border-radius:50%;mask:radial-gradient(circle,#000 30%,transparent 70%);animation:spin 14s linear infinite;pointer-events:none}
.ru-em{position:relative;width:200px;height:200px;margin:0 auto;animation:ruPop .7s cubic-bezier(.2,1.6,.4,1)}
.ru-em svg{width:100%;height:100%}
.ru-card small{position:relative;display:block;letter-spacing:.2em;text-transform:uppercase;color:#d9ccf2;margin-top:6px}
.ru-card h2{position:relative;margin:2px 0;font-family:var(--f-display);font-size:48px;text-shadow:0 4px 20px rgba(0,0,0,.6)}
.ru-card p{position:relative;color:#f2e6ff;margin:0 0 16px}
.ru-card .btn{position:relative;min-width:140px}
@keyframes ruIn{from{opacity:0}}@keyframes ruPop{from{transform:scale(.2) rotate(-30deg);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}
.rank .perks{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rank .perks i{font-style:normal;font-size:11px;color:#e9dcff;background:rgba(154,79,224,.18);border:1px solid rgba(154,79,224,.35);border-radius:999px;padding:1px 7px}

/* ================= Royal theme =================
   Deep royal purple and velvet, gold trim and a faint gold fleur-de-lis lattice behind everything. */
:root{
  --bg:#0e0720; --panel:#1a0f35; --panel-2:#251648; --line:#3b2a68;
  --text:#f3edff; --muted:#a99bcb;
  --gold:#f2c45c; --gold-hi:#ffe9a6; --gold-lo:#b27a14; --gold-ink:#2a1700;
  --royal:#5a2aa8; --royal-hi:#8a5ae0; --crimson:#a3173c;
  --trim:rgba(226,184,90,.28);
}
html{background:#0e0720}
body{background:
  radial-gradient(900px 600px at 12% -10%,rgba(122,60,220,.35),transparent 60%),
  radial-gradient(800px 600px at 100% 30%,rgba(163,23,60,.22),transparent 60%),
  radial-gradient(1200px 700px at 50% 110%,rgba(90,42,168,.3),transparent 60%),
  url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2272%22%20height%3D%2272%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e3b85a%22%20stroke-opacity%3D%22.09%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M36%200L72%2036%2036%2072%200%2036Z%22/%3E%3Cpath%20d%3D%22M36%2010L62%2036%2036%2062%2010%2036Z%22%20stroke-opacity%3D%22.05%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23e3b85a%22%20fill-opacity%3D%22.1%22%3E%3Cpath%20d%3D%22M36%2024c-2%203-5%204-5%208%200%202%201.4%203.4%203%203.6-.8%201.2-2.4%202-4%201.4%200%202.6%202.2%203.6%204%203.2L33%2044h6l-1-3.8c1.8.4%204-.6%204-3.2-1.6.6-3.2-.2-4-1.4%201.6-.2%203-1.6%203-3.6%200-4-3-5-5-8z%22/%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2272%22%20cy%3D%220%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2272%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2272%22%20cy%3D%2272%22%20r%3D%222%22/%3E%3C/g%3E%3C/svg%3E") 0 0/72px 72px,
  linear-gradient(180deg,#140a2c,#0e0720 40%,#0a0518);
  background-attachment:fixed}
.top{background:linear-gradient(180deg,rgba(28,14,58,.94),rgba(18,9,40,.9));border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-hi) 50%,var(--gold) 80%,transparent) 1}
.brand em{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 50%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent}
/* Buttons: polished gold, and royal velvet with a gold edge */
.btn{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,#d49a24 70%,var(--gold-lo));color:var(--gold-ink);border:1px solid #8a5a0a;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.18),0 4px 14px rgba(242,196,92,.22);text-shadow:0 1px 0 rgba(255,255,255,.35);letter-spacing:.01em;transition:transform .12s,filter .12s,box-shadow .12s}
.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.18),0 8px 22px rgba(242,196,92,.32)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn.alt{background:linear-gradient(180deg,#3b2475,#25154c);color:var(--text);border:1px solid var(--trim);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 12px rgba(0,0,0,.3);text-shadow:none}
.btn.alt:hover:not(:disabled){border-color:rgba(242,196,92,.6)}
.btn.cash,.btn.deal{background:linear-gradient(180deg,#7dffc0,#3ddc8c 45%,#1f9e5e);border-color:#0f5a32;color:#032212;text-shadow:0 1px 0 rgba(255,255,255,.4)}
/* Panels, tiles and cards get velvet with a gold hairline */
.tile,.side-card,.slip,.club-card,.club-panel,.pr-card,.sp-filter,.pr-filter,.bj-betbar,.rank,.ranks-card,.soon-card,.lg,.feat{border-color:var(--trim)!important}
.tile{background:linear-gradient(180deg,#22134a,#170c33);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.25)}
.tile:hover{border-color:rgba(242,196,92,.6)!important;box-shadow:0 0 0 1px rgba(242,196,92,.25),0 14px 30px rgba(90,42,168,.35)}
.side-card{background:linear-gradient(180deg,#241550,#1a0f38)}
.modal-card,.panel{background:linear-gradient(180deg,#1e1140,#140a2c)!important;border:1px solid var(--trim)!important}
.panel-head{background:linear-gradient(180deg,#24154c,#1e1140)!important}
.txt,input.txt,select{background:#0d0620!important;border-color:var(--line)!important}
.txt:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(242,196,92,.18)}
.sections a.on,.sections a[aria-current="page"]{color:var(--gold)}
h2,h3{text-wrap:balance}
/* Chip balance: velvet pill with a chip stack, gold numbers */
.bal{background:linear-gradient(180deg,#2c1758,#170b33);border:1px solid rgba(242,196,92,.55);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 3px rgba(242,196,92,.08),0 6px 18px rgba(0,0,0,.35);align-items:center;padding:4px 5px 4px 6px;gap:8px}
.bal-stack{width:34px;height:34px;flex:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));margin:-4px 0 -2px}
.bal-stack svg{width:100%;height:100%;display:block}
.bal-txt{display:flex;flex-direction:column;line-height:1.05}
.bal-txt small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#cdb8f0;opacity:1}
.bal .num{font-size:16px;font-weight:800;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,#d49a24);-webkit-background-clip:text;background-clip:text;color:transparent}
.bal .buy{background:linear-gradient(180deg,#7dffc0,#3ddc8c 50%,#1f9e5e);border:1px solid #0f5a32;color:#032212;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.bal.flash-win{animation:balwin .6s}
@keyframes balwin{40%{box-shadow:0 0 0 4px rgba(242,196,92,.5),0 0 30px rgba(242,196,92,.6)}}
@media (max-width:560px){.bal-stack{width:26px;height:26px}.bal-txt small{display:none}}
.sections a.on::after{background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi),var(--gold-lo))}

/* Blackjack payout chips */
.bj-fx{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden}
.fx-chip{position:absolute;transform:translate(-50%,-50%);filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}
.fx-chip>.chip{display:block;width:52px;height:52px}
.bust.win span{background:linear-gradient(180deg,#fff3b0,#f2c45c 50%,#c8901e);color:#2a1700;border-color:#fff;box-shadow:0 8px 26px rgba(242,196,92,.65);animation-delay:.25s}
.bust.push span{background:linear-gradient(#5a4a8a,#2a1a5a);animation-delay:.25s}
.seat .tag.paid{animation:paid .6s ease}
@keyframes paid{40%{box-shadow:0 0 0 3px var(--gold),0 0 24px rgba(242,196,92,.7);transform:scale(1.06)}}

/* ===== Blackjack table, casino style ===== */
.bjwrap{gap:0}
.bj-top{margin-bottom:12px}
.table{aspect-ratio:16/8.6;min-height:430px;max-height:600px;border:14px solid transparent;border-bottom-width:14px;
  background:var(--felt-bg,radial-gradient(120% 95% at 50% 0%,#1b9a64,#0c6a43 55%,#07472c)) padding-box,linear-gradient(180deg,#6a2436,#3a0e1c 60%,#24060f) border-box;
  box-shadow:inset 0 0 0 2px rgba(242,196,92,.55),inset 0 0 0 5px rgba(0,0,0,.25),inset 0 -50px 90px rgba(0,0,0,.35),0 0 0 2px #c9a34a,0 24px 60px rgba(0,0,0,.55);border-radius:30px 30px 46% 46% / 30px 30px 24% 24%}
.table::after{display:none}

.live-badge{background:rgba(0,0,0,.28);border:1px solid rgba(242,196,92,.35);color:#f6e3a6;font-size:10px;top:12px;left:14px}
.rack{top:42px;left:14px}
.shoebox{top:12px;right:14px}
.discard{right:120px;top:18px}
.arcs .ring{stroke:rgba(255,255,255,.1)}
.arcs .t1{fill:rgba(255,236,180,.92)}
.seat.empty:not(.mine) .bets .spot{border:2px solid rgba(255,255,255,.1);box-shadow:none;opacity:1;position:relative}
.seat.empty:not(.mine) .bets .spot::after{content:"Open";position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.22)}
.seat.mine.empty .hint{font-size:10px;letter-spacing:.14em;color:rgba(255,236,180,.85)}
/* The rail: one padded leather bar under the table holding everything you press */
.bj-rail{position:relative;width:min(100%,1000px);margin:-6px auto 0;z-index:4;background:linear-gradient(180deg,#3a1424,#22081a 60%,#16040f);border:1px solid #c9a34a;border-top:0;border-radius:0 0 26px 26px;padding:10px 16px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -2px 0 rgba(0,0,0,.4),0 16px 40px rgba(0,0,0,.5)}
.rail-timer{position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:rgba(0,0,0,.4);overflow:hidden}
.rail-timer div{height:100%;background:linear-gradient(90deg,#f2c45c,#ffe9a6);transition:width .25s linear}
.rail-status{display:flex;justify-content:center;align-items:center;gap:10px;min-height:28px;margin-bottom:8px}
.rail-status .bj-status{font-size:15px;color:#f6e3a6;min-height:0}
.rail-status .bj-status.w{color:var(--gold-hi)}.rail-status .bj-status.l{color:#ff9aa8}
.rail-secs{min-width:26px;height:26px;border-radius:50%;border:2px solid rgba(242,196,92,.6);display:grid;place-items:center;font-size:12px;color:#fff}
.rail-secs:empty{display:none}
.rail-body{display:flex;align-items:center;gap:14px;justify-content:center}
.bj-betbar{display:none}
.bj-target{flex-direction:column;align-items:stretch;gap:4px;background:rgba(0,0,0,.3);border:1px solid rgba(242,196,92,.25);border-radius:14px;padding:5px;flex:none}
.bj-target button{border-radius:9px;padding:4px 10px;font-size:12px;background:transparent;border:0;color:#d8c8f0}
.bj-target button[aria-pressed="true"]{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--gold-ink)}
.bj-target .info{align-self:center;width:22px;height:22px;border:1px solid rgba(242,196,92,.4)!important}
.bj-chips{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:8px 2px 4px;justify-content:center;gap:10px}
.bj-chips::-webkit-scrollbar{display:none}
.bj-chips .chip{width:56px;height:56px;flex:none;box-shadow:0 5px 0 rgba(0,0,0,.55),inset 0 0 0 6px color-mix(in srgb,var(--cc) 70%,#000),0 0 0 1px rgba(255,255,255,.1),0 8px 14px rgba(0,0,0,.4)}
.bj-chips .chip:hover:not(:disabled){transform:translateY(-6px)}
.bj-chips .allin{background:radial-gradient(circle,#3a1f6e,#1a0a30)!important;border:2px solid var(--gold)!important}
.bj-betinfo{flex:none;min-width:110px;padding:0 6px;border-left:1px solid rgba(242,196,92,.2);border-right:1px solid rgba(242,196,92,.2)}
.bj-betinfo b{font-size:24px;background:linear-gradient(180deg,var(--gold-hi),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.bj-btns{flex:none;display:flex;flex-direction:column;gap:6px}
.bj-btns .btn{min-width:110px;padding:10px 14px}
.bj-btns .btn.deal{font-size:17px;padding:13px 14px}
.rail-body.play{gap:12px}
.act{display:flex;align-items:center;gap:10px;min-width:150px;justify-content:center;padding:14px 18px;border-radius:16px;font-weight:800;font-size:18px;border:1px solid;cursor:pointer;color:#fff;transition:transform .1s,filter .1s}
.act:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.act:disabled{opacity:.35;cursor:not-allowed}
.act svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.act kbd{font-size:10px;opacity:.6;border:1px solid currentColor;border-radius:4px;padding:0 4px;background:none}
.act.hit{background:linear-gradient(180deg,#3ddc8c,#1f9e5e);border-color:#0f5a32;color:#032212}
.act.stand{background:linear-gradient(180deg,#ff6a7a,#b0182e);border-color:#5a0614}
.act.double{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 50%,#c8901e);border-color:#7a5200;color:var(--gold-ink)}
.bj-paytable{margin:10px auto 0}
details.bj-log{margin:14px auto 0;max-width:620px;background:var(--panel);border:1px solid var(--trim);border-radius:14px;padding:10px 14px}
details.bj-log summary{cursor:pointer;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
details.bj-log[open] summary{margin-bottom:6px}
.bj-actions,.keys{display:none}
@media (max-width:760px){.table{aspect-ratio:auto;min-height:440px;border-width:9px}.bj-rail{padding:10px 10px 12px;border-radius:0 0 18px 18px}.rail-body{flex-wrap:wrap;gap:10px}.bj-target{flex-direction:row;order:2}.bj-chips{order:1;flex-basis:100%;justify-content:flex-start}.bj-betinfo{order:3;border:0}.bj-btns{order:4;flex-direction:row}.bj-chips .chip{width:46px;height:46px}.act{min-width:0;flex:1;padding:12px 8px;font-size:16px}.act kbd{display:none}}
.act .x2{font-family:var(--f-num);font-weight:800;font-size:15px;border:2px solid currentColor;border-radius:6px;padding:0 4px;line-height:1.3}

/* One piece of furniture: the felt is set into a padded leather table top, and the rail you play from is the
   same leather running round the front edge, so the table and your controls read as one table. */
.bj-stage{position:relative;width:min(100%,1060px);margin:0 auto;padding:14px 14px 0;border-radius:34px 34px 40px 40px;
  background:radial-gradient(140% 60% at 50% 100%,#4a1828,transparent 70%),linear-gradient(180deg,#5a1e30,#3a0f1f 45%,#240611);
  border:2px solid #c9a34a;box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 0 0 6px rgba(0,0,0,.18),0 26px 60px rgba(0,0,0,.55)}
.bj-stage::before{content:"";position:absolute;inset:6px;border-radius:29px 29px 35px 35px;border:1.5px dashed rgba(242,196,92,.28);pointer-events:none}
.bj-stage .table{border:0;max-height:560px;border-radius:22px 22px 50% 50% / 22px 22px 30% 30%;
  background:var(--felt-bg,radial-gradient(120% 95% at 50% 0%,#1b9a64,#0c6a43 55%,#07472c));
  box-shadow:0 0 0 3px #c9a34a,0 0 0 9px #2a0812,0 0 0 10px rgba(242,196,92,.35),inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -40px 90px rgba(0,0,0,.4),inset 0 10px 30px rgba(0,0,0,.25)}
.bj-stage .table::after{display:block;content:"";position:absolute;inset:8px;border-radius:16px 16px 50% 50% / 16px 16px 30% 30%;border:1px solid rgba(255,255,255,.07);background:none;height:auto;opacity:1;pointer-events:none}
.bj-stage .bj-rail{width:100%;margin:0;background:none;border:0;border-radius:0;box-shadow:none;padding:14px 18px 18px}
.bj-stage .rail-timer{left:12%;right:12%;top:6px;border-radius:4px}
.bj-stage .bj-target{background:rgba(0,0,0,.28);border-color:rgba(242,196,92,.3)}
.bj-stage .bj-betinfo{border-color:rgba(242,196,92,.22)}
@media (max-width:760px){.bj-stage{padding:8px 8px 0;border-radius:22px 22px 26px 26px}.bj-stage::before{border-radius:18px 18px 22px 22px;inset:4px}.bj-stage .bj-rail{padding:12px 8px 14px}}

/* Background: a fixed layer behind the whole page, so it carries on however far you scroll.
   The gold lattice drifts slowly and three soft royal glows breathe. Moved with transforms only, so it's cheap. */
html{background:#0b0518!important;min-height:100%}
body{background:transparent!important;min-height:100vh}
.bg-royal{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#160b30,#0e0720 45%,#0a0518)}
.bg-pat{position:absolute;inset:-144px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2272%22%20height%3D%2272%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e3b85a%22%20stroke-opacity%3D%22.1%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M36%200L72%2036%2036%2072%200%2036Z%22/%3E%3Cpath%20d%3D%22M36%2010L62%2036%2036%2062%2010%2036Z%22%20stroke-opacity%3D%22.05%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23e3b85a%22%20fill-opacity%3D%22.11%22%3E%3Cpath%20d%3D%22M36%2024c-2%203-5%204-5%208%200%202%201.4%203.4%203%203.6-.8%201.2-2.4%202-4%201.4%200%202.6%202.2%203.6%204%203.2L33%2044h6l-1-3.8c1.8.4%204-.6%204-3.2-1.6.6-3.2-.2-4-1.4%201.6-.2%203-1.6%203-3.6%200-4-3-5-5-8z%22/%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2272%22%20cy%3D%220%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2272%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2272%22%20cy%3D%2272%22%20r%3D%222%22/%3E%3C/g%3E%3C/svg%3E") 0 0/72px 72px;animation:patdrift 60s linear infinite;will-change:transform}
@keyframes patdrift{to{transform:translate(72px,144px)}}
.bg-glow{position:absolute;border-radius:50%;filter:blur(40px);will-change:transform,opacity}
.bg-glow.g1{width:70vw;height:60vh;left:-15vw;top:-20vh;background:radial-gradient(circle,rgba(122,60,220,.42),transparent 65%);animation:glow1 18s ease-in-out infinite alternate}
.bg-glow.g2{width:60vw;height:60vh;right:-15vw;top:25vh;background:radial-gradient(circle,rgba(163,23,60,.3),transparent 65%);animation:glow2 22s ease-in-out infinite alternate}
.bg-glow.g3{width:80vw;height:50vh;left:10vw;bottom:-25vh;background:radial-gradient(circle,rgba(242,196,92,.1),transparent 65%);animation:glow3 26s ease-in-out infinite alternate}
@keyframes glow1{to{transform:translate(12vw,10vh) scale(1.15);opacity:.7}}
@keyframes glow2{to{transform:translate(-10vw,-8vh) scale(1.2);opacity:.75}}
@keyframes glow3{to{transform:translate(-8vw,-6vh) scale(1.1);opacity:.6}}
@media (prefers-reduced-motion:reduce){.bg-pat,.bg-glow{animation:none}}
/* Live chat button */
.chat-fab{background:linear-gradient(180deg,#3b2475,#22124a);border:1.5px solid var(--gold);padding:7px 16px 7px 7px;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 4px rgba(242,196,92,.12),inset 0 1px 0 rgba(255,255,255,.15);transition:transform .15s,box-shadow .15s}
.chat-fab:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 36px rgba(0,0,0,.55),0 0 0 5px rgba(242,196,92,.22),0 0 30px rgba(242,196,92,.35)}
.cf-ico{position:relative;width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 50%,#c8901e);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 3px 8px rgba(0,0,0,.4);animation:cfbob 3s ease-in-out infinite}
.cf-ico svg{width:24px;height:24px}.cf-ico path{fill:#2a1700}.cf-ico circle{fill:var(--gold);animation:cfdot 1.4s ease-in-out infinite}
.cf-ico circle:nth-of-type(2){animation-delay:.2s}.cf-ico circle:nth-of-type(3){animation-delay:.4s}
@keyframes cfdot{0%,60%,100%{opacity:.35}30%{opacity:1}}
@keyframes cfbob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-6deg)}}
.cf-ring{position:absolute;left:7px;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:2px solid var(--gold);animation:cfring 2.4s ease-out infinite;pointer-events:none}
@keyframes cfring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.9);opacity:0}}
.cf-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;text-align:left}
.cf-txt b{font-family:var(--f-display);font-size:15px;color:#fff}
.cf-txt small{display:flex;align-items:center;gap:5px;font-size:11px;color:#cdb8f0}
.cf-txt small i{width:7px;height:7px;border-radius:50%;background:var(--win);box-shadow:0 0 0 2px rgba(61,220,140,.25)}
.chat-fab .badge{position:absolute;top:-6px;left:34px;min-width:20px;height:20px;line-height:20px;padding:0 6px;font-weight:800;background:var(--lose)!important;color:#fff!important;box-shadow:0 0 0 2px #1a0f35;animation:pop .3s ease}
@keyframes pop{from{transform:scale(0)}}
.chat-peek{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:35;max-width:260px;background:#fff;color:#1a0f35;border-radius:16px 16px 4px 16px;padding:8px 12px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.45);cursor:pointer}
.chat-peek b{display:block;font-size:12px;color:#5a2aa8}.chat-peek span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-peek.go{animation:peek 4.2s ease forwards}
@keyframes peek{0%{opacity:0;transform:translateY(8px) scale(.9)}8%,85%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@media (max-width:560px){.cf-txt{display:none}.chat-fab{padding:6px}.chat-peek{max-width:70vw}}

.rail-status{position:relative}
.hint-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#e9dcff;background:rgba(0,0,0,.28);border:1px solid rgba(242,196,92,.3);border-radius:999px;padding:4px 6px 4px 12px;cursor:pointer}
.hint-toggle .switch{margin:0}
/* The best play glows gold and gets a little tag */
.act.coach{position:relative;box-shadow:0 0 0 3px var(--gold),0 0 22px rgba(242,196,92,.75);animation:coachglow 1.1s ease-in-out infinite alternate}
.act.coach::after{content:"Best play";position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--gold);color:var(--gold-ink);border-radius:999px;padding:1px 8px;box-shadow:0 2px 6px rgba(0,0,0,.4)}
@keyframes coachglow{to{box-shadow:0 0 0 3px var(--gold-hi),0 0 34px rgba(242,196,92,.95)}}
@media (max-width:760px){.hint-toggle{position:static;transform:none}.rail-status{flex-wrap:wrap}}
.hint-toggle .switch{width:40px;height:22px}.hint-toggle .switch::after{top:3px;left:3px;width:16px;height:16px}.hint-toggle .switch:checked::after{left:21px}

.sym.shatter{animation:shatter .38s ease-in forwards;z-index:2}
@keyframes shatter{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.15);filter:brightness(2.2) drop-shadow(0 0 12px #e9d4ff)}100%{transform:scale(.2) rotate(25deg);opacity:0;filter:brightness(3)}}
.sym.fall{animation:fall .5s cubic-bezier(.35,0,.3,1.25) both}
@keyframes fall{from{transform:translateY(var(--from))}to{transform:none}}

/* ===== Slots: moving scenery ===== */
.scene{overflow:hidden}
.scene-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.scene-fx i{position:absolute;display:block}
.glint{width:calc(26px*var(--s));height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#fff6c8,transparent);animation:glint 3s ease-in-out infinite;opacity:0}
@keyframes glint{0%,100%{opacity:0;transform:scaleX(.3)}50%{opacity:.85;transform:scaleX(1)}}
.bub{bottom:-20px;width:calc(10px*var(--s));height:calc(10px*var(--s));border-radius:50%;border:1.5px solid rgba(220,245,255,.7);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.6),transparent 50%);animation:bub 8s linear infinite}
@keyframes bub{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}100%{transform:translate(14px,-110vh);opacity:0}}
.bird{left:-60px;width:calc(34px*var(--s,1));height:calc(12px*var(--s,1));animation:bird 26s linear infinite}
.bird::before,.bird::after{content:"";position:absolute;top:0;width:50%;height:100%;border-top:2.5px solid rgba(30,20,50,.65);border-radius:50% 50% 0 0;animation:flap .7s ease-in-out infinite alternate}
.bird::before{left:0;transform-origin:right bottom}.bird::after{right:0;transform-origin:left bottom}
@keyframes flap{to{transform:rotate(14deg) scaleY(.6)}}
@keyframes bird{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 120px))}}
.fx-wave{position:absolute;left:-50%;right:-50%;bottom:0;height:30%;background:repeating-linear-gradient(90deg,transparent 0 60px,rgba(160,220,255,.08) 60px 120px);animation:wave 9s linear infinite;mask:linear-gradient(transparent,#000)}
@keyframes wave{to{transform:translateX(120px)}}
.fx-rays{position:absolute;left:50%;top:-40%;width:160%;aspect-ratio:1;margin-left:-80%;background:repeating-conic-gradient(rgba(255,210,110,.12) 0 6deg,transparent 6deg 15deg);border-radius:50%;mask:radial-gradient(circle,#000 10%,transparent 60%);animation:spin 50s linear infinite}
.fx-heat{position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(transparent,rgba(255,170,60,.12));animation:heat 3.5s ease-in-out infinite alternate}
@keyframes heat{to{opacity:.4;transform:scaleY(1.06)}}
.dust{width:calc(4px*var(--s));height:calc(4px*var(--s));border-radius:50%;background:#ffd98a;box-shadow:0 0 6px #ffb02e;animation:dust 12s linear infinite;opacity:.7}
@keyframes dust{0%{transform:translate(0,0)}50%{transform:translate(40px,-30px)}100%{transform:translate(90px,-10px);opacity:0}}
.twinkle{width:calc(18px*var(--s));height:calc(18px*var(--s));background:radial-gradient(circle,#fff 0 12%,transparent 14%),linear-gradient(transparent 46%,#fff 46% 54%,transparent 54%),linear-gradient(90deg,transparent 46%,#fff 46% 54%,transparent 54%);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);background:#fff;animation:twinkle 3s ease-in-out infinite;opacity:0;filter:drop-shadow(0 0 6px #fff)}
.twinkle.gold{background:#ffe9a6;filter:drop-shadow(0 0 6px #f2c45c)}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}70%{opacity:.2;transform:scale(.5) rotate(90deg)}}
.fx-aura{position:absolute;inset:10% 15%;border-radius:50%;background:radial-gradient(circle,rgba(196,138,255,.28),transparent 65%);animation:aura 4s ease-in-out infinite alternate}
@keyframes aura{to{transform:scale(1.25);opacity:.55}}
.mote{bottom:-10px;width:calc(6px*var(--s));height:calc(6px*var(--s));border-radius:50%;background:var(--hue);box-shadow:0 0 10px var(--hue);animation:mote 10s linear infinite}
@keyframes mote{0%{transform:translate(0,0);opacity:0}15%{opacity:1}100%{transform:translate(-20px,-105vh);opacity:0}}
.fx-burst{position:absolute;left:50%;top:50%;width:200%;aspect-ratio:1;margin:-100% 0 0 -100%;background:repeating-conic-gradient(rgba(255,80,90,.12) 0 8deg,transparent 8deg 20deg);animation:spin 40s linear infinite}
.fx-bulbs{position:absolute;left:2%;right:2%;display:flex;justify-content:space-between}.fx-bulbs.top{top:6px}.fx-bulbs.bot{bottom:6px}
.fx-bulbs i{position:static;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fffbe0,#ffd24a 60%,#c47a00);box-shadow:0 0 8px #ffd24a;animation:bulb .75s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.scene-fx *{animation:none!important}}
/* Symbols glisten now and then */
.sym{overflow:hidden}
.sym::after{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);transform:translateX(-120%);animation:glisten 6s ease-in-out infinite;pointer-events:none}
.reel:nth-child(2) .sym::after{animation-delay:1.2s}.reel:nth-child(3) .sym::after{animation-delay:2.4s}.reel:nth-child(4) .sym::after{animation-delay:3.6s}.reel:nth-child(5) .sym::after{animation-delay:4.8s}
.sym:nth-child(2)::after{animation-duration:6.6s}.sym:nth-child(3)::after{animation-duration:7.2s}
@keyframes glisten{0%,82%{transform:translateX(-120%)}96%,100%{transform:translateX(120%)}}
.sym.wild .symsvg,.sym.scat .symsvg{animation:symbreath 2.4s ease-in-out infinite}
@keyframes symbreath{50%{transform:scale(1.07);filter:drop-shadow(0 0 8px rgba(255,236,170,.8))}}
.reel.spin .sym::after{display:none}
/* Anticipation: the last reels glow and crawl when the bonus could land */
.reel.tease{box-shadow:0 0 0 3px #f2c45c,0 0 26px rgba(242,196,92,.9);border-radius:10px;animation:teasepulse .5s ease-in-out infinite alternate;z-index:2}
@keyframes teasepulse{to{box-shadow:0 0 0 3px #fff3c4,0 0 40px rgba(242,196,92,1)}}
.reel.tease.spin .strip{animation-duration:.5s!important}
.lobby-svg .lspk{animation:lspk 3s ease-in-out infinite}
@keyframes lspk{0%,100%{opacity:.15}50%{opacity:1}}
/* ===== Bonus marquee on top of the reels ===== */
.frame{position:relative}
.bonus-marquee{position:relative;display:flex;align-items:center;gap:14px;margin:0 6% -4px;padding:8px 18px;min-height:58px;border-radius:18px 18px 6px 6px;overflow:hidden;
  background:linear-gradient(180deg,#4a1a7a,#2a0a4a 60%,#1a0430);border:2px solid #f2c45c;border-bottom:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 -6px 22px rgba(242,196,92,.25);z-index:3}
.cabinet[data-theme="bay"] .bonus-marquee{background:linear-gradient(180deg,#1a5aa8,#0b2f68 60%,#061a40)}
.cabinet[data-theme="sun"] .bonus-marquee{background:linear-gradient(180deg,#8a2a14,#4a1206 60%,#2a0802)}
.cabinet[data-theme="crystal"] .bonus-marquee{background:linear-gradient(180deg,#5a2aa8,#2a0d5a 60%,#140630)}
.cabinet[data-theme="sevens"] .bonus-marquee{background:linear-gradient(180deg,#b0122a,#5a0614 60%,#2a0008)}
.bm-bulbs{position:absolute;left:10px;right:10px;top:3px;display:flex;justify-content:space-between;pointer-events:none}
.bm-bulbs i{width:5px;height:5px;border-radius:50%;background:#ffe9a6;box-shadow:0 0 6px #f2c45c;animation:bulb .9s steps(1) infinite}
.bm-bulbs i:nth-child(odd){animation-delay:.45s}
.bm-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-100%);animation:bmshine 4.5s ease-in-out infinite;pointer-events:none}
@keyframes bmshine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.bm-icons{display:flex;flex:none}
.bm-ico{width:42px;height:42px;margin-right:-10px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));animation:bmhop 2.4s ease-in-out infinite;animation-delay:calc(var(--i) * .25s)}
.bm-ico .symsvg{width:100%;height:100%}
@keyframes bmhop{0%,60%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-7px) rotate(-8deg) scale(1.1)}40%{transform:translateY(0) rotate(4deg)}}
.bm-text{flex:1;min-width:0;line-height:1.15;text-align:center}
.bm-text b{display:block;font-family:var(--f-display);font-size:19px;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(180deg,#fff7c2,#ffd34a 50%,#e09a12);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(0,0,0,.6))}
.bm-text small{display:block;font-size:12px;color:#f1e6ff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bm-mult{flex:none;font-weight:800;font-size:18px;color:#2a1700;background:linear-gradient(180deg,#fff3b0,#f2c45c 50%,#c8901e);border-radius:12px;padding:6px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 4px 10px rgba(0,0,0,.4)}
.bonus-marquee.live{border-color:#fff3c4;animation:bmlive 1s ease-in-out infinite alternate}
.bonus-marquee.live .bm-ico{animation-duration:1.2s}
.bonus-marquee.live .bm-left{color:#fff;font-size:15px}
@keyframes bmlive{to{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 -10px 40px rgba(242,196,92,.7)}}
.free-banner{display:none!important}
@media (max-width:560px){.bonus-marquee{margin:0 2% -4px;padding:6px 10px;gap:8px;min-height:48px}.bm-ico{width:30px;height:30px}.bm-text b{font-size:14px}.bm-text small{font-size:10px}.bm-mult{font-size:13px;padding:4px 7px}}
/* ===== Bonus intro ===== */
.bonus-intro{position:fixed;inset:0;z-index:95;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,rgba(40,10,70,.85),rgba(5,0,12,.95));animation:biIn .3s ease;cursor:pointer}
.bonus-intro.out{animation:biOut .35s ease forwards}
@keyframes biIn{from{opacity:0}}@keyframes biOut{to{opacity:0;transform:scale(1.08)}}
.bi-rays{position:absolute;left:50%;top:50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;background:repeating-conic-gradient(rgba(242,196,92,.22) 0 7deg,transparent 7deg 18deg);mask:radial-gradient(circle,#000 8%,transparent 55%);animation:spin 10s linear infinite}
.bi-card{position:relative;text-align:center;color:#fff}
.bi-icons{display:flex;justify-content:center;gap:10px;margin-bottom:6px}
.bi-icons span{width:110px;height:110px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.6)) drop-shadow(0 0 20px rgba(242,196,92,.6));animation:biSlam .55s cubic-bezier(.2,1.6,.4,1) both,symbreath 1.6s ease-in-out .8s infinite;animation-delay:calc(var(--i) * .16s),calc(.8s + var(--i) * .2s)}
.bi-icons .symsvg{width:100%;height:100%}
@keyframes biSlam{from{transform:scale(3) rotate(-25deg);opacity:0}}
.bi-card small{display:block;letter-spacing:.24em;text-transform:uppercase;color:#e9dcff;font-weight:700;animation:biUp .4s ease .5s both}
.bi-card h2{margin:2px 0;font-family:var(--f-display);font-size:clamp(40px,9vw,84px);line-height:1;text-transform:uppercase;letter-spacing:.02em;background:linear-gradient(180deg,#fff7c2,#ffd34a 45%,#e09a12 70%,#8a4b00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 0 rgba(0,0,0,.6)) drop-shadow(0 0 30px rgba(242,196,92,.5));animation:biPop .6s cubic-bezier(.2,1.8,.4,1) .6s both}
.bi-big{display:block;font-size:clamp(56px,12vw,120px);line-height:1;color:#fff;text-shadow:0 0 30px rgba(255,255,255,.6),0 6px 0 rgba(0,0,0,.5);animation:biPop .6s cubic-bezier(.2,1.8,.4,1) .85s both}
.bi-card p{margin:8px 0 0;font-size:18px;font-weight:700;color:#ffe9a6;animation:biUp .4s ease 1.1s both}
@keyframes biPop{from{transform:scale(.2);opacity:0}}@keyframes biUp{from{transform:translateY(14px);opacity:0}}
.bi-conf{position:absolute;top:-20px;width:10px;height:16px;border-radius:2px;animation:conf 2.6s linear both}
@keyframes conf{to{transform:translateY(110vh) rotate(720deg)}}
@media (max-width:560px){.bi-icons span{width:72px;height:72px}}
/* Footer: solid panel the full width of the screen so the 18+ and help text is easy to read */
.foot{position:relative;background:#0c0619;box-shadow:0 0 0 100vmax #0c0619;clip-path:inset(0 -100vmax -100vmax);border-top:0;color:#cbbfe6;z-index:1}
.foot::before{content:"";position:absolute;left:-100vmax;right:-100vmax;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(242,196,92,.6) 30%,rgba(242,196,92,.6) 70%,transparent)}
.foot a{color:#e9dcff}.foot b{color:#fff}
/* ===== Bonus card on the side of the machine ===== */
.bonus-side{position:relative;flex:none;width:176px;align-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px 12px 14px;border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#4a1a7a,#2a0a4a 60%,#1a0430);border:2px solid #f2c45c;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 30px rgba(0,0,0,.5),0 0 24px rgba(242,196,92,.2)}
.cabinet[data-theme="bay"] .bonus-side{background:linear-gradient(180deg,#1a5aa8,#0b2f68 60%,#061a40)}
.cabinet[data-theme="sun"] .bonus-side{background:linear-gradient(180deg,#8a2a14,#4a1206 60%,#2a0802)}
.cabinet[data-theme="crystal"] .bonus-side{background:linear-gradient(180deg,#5a2aa8,#2a0d5a 60%,#140630)}
.cabinet[data-theme="sevens"] .bonus-side{background:linear-gradient(180deg,#b0122a,#5a0614 60%,#2a0008)}
.bonus-side .bm-bulbs{top:5px}
.bonus-side .bm-icons{margin-top:6px}
.bonus-side .bm-ico{width:46px;height:46px;margin:0 -6px}
.bonus-side .bm-text b{font-size:17px;line-height:1.1}
.bonus-side .bm-text small{white-space:normal;font-size:12px;margin-top:4px;line-height:1.35}
.bonus-side .bm-mult{font-size:20px}
.bonus-side.live{border-color:#fff3c4;animation:bmlive 1s ease-in-out infinite alternate}
.bonus-side.live .bm-left{color:#fff;font-size:18px}
.cabinet.feature .bonus-side{display:flex}
/* ===== Shared jackpot built into the top of each machine ===== */
.jp-marquee{position:relative;display:flex;align-items:stretch;justify-content:center;gap:10px;margin:-4px -4px 12px;padding:14px 56px 20px;border-radius:12px 12px 8px 8px;overflow:hidden;z-index:2}
.jpm-lights{position:absolute;left:14px;right:14px;top:5px;display:flex;justify-content:space-between;pointer-events:none}
.jpm-lights i{width:6px;height:6px;border-radius:50%;background:#fff3c4;box-shadow:0 0 8px #f2c45c;animation:bulb .8s steps(1) infinite}
.jpm-lights i:nth-child(3n){animation-delay:.27s}.jpm-lights i:nth-child(3n+1){animation-delay:.54s}
.jpm-p{position:relative;flex:1;max-width:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 10px;border-radius:12px;text-align:center}
.jpm-p small{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.jpm-p b{font-size:20px;font-weight:800;line-height:1.1;white-space:nowrap}
.jpm-p.big{flex:1.5;max-width:340px}
.jpm-p.big b{font-size:32px}
.jpm-p.big small{font-size:11px}
.jpm-glow{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-100%);animation:bmshine 3.5s ease-in-out infinite;pointer-events:none}
.jpm-p.bump b{animation:jpbump .5s ease}
@keyframes jpbump{40%{transform:scale(1.08);filter:brightness(1.4)}}
.jpm-p.hit{animation:jphit .4s ease-in-out 8 alternate}
@keyframes jphit{to{filter:brightness(1.8) drop-shadow(0 0 20px #fff3c4);transform:scale(1.05)}}
.jpm-ico{position:absolute;top:50%;width:46px;height:46px;margin-top:-26px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));animation:symbreath 2.6s ease-in-out infinite}
.jpm-ico.l{left:8px}.jpm-ico.r{right:8px;animation-delay:1.3s}
.jpm-ico .symsvg{width:100%;height:100%}
.jpm-tag{position:absolute;left:0;right:0;bottom:3px;text-align:center;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
/* Big Catch Bay: weathered planks and a treasure plaque */
.jp-marquee[data-theme="bay"]{background:repeating-linear-gradient(90deg,#8a5a2e 0 46px,#7a4c24 46px 48px),linear-gradient(#9a6a3a,#5a3414);box-shadow:inset 0 0 0 3px #3a2008,inset 0 -6px 12px rgba(0,0,0,.35)}
.jp-marquee[data-theme="bay"] .jpm-p{background:linear-gradient(180deg,#0f5aa0,#073566);border:2px solid #e2b94a;color:#bfe6ff;box-shadow:inset 0 2px 0 rgba(255,255,255,.2),0 4px 0 #3a2008}
.jp-marquee[data-theme="bay"] .jpm-p b{color:#fff}
.jp-marquee[data-theme="bay"] .jpm-p.big{background:linear-gradient(180deg,#ffe58a,#e0a326 55%,#9a6206);border-color:#fff3c4;color:#5a3000}
.jp-marquee[data-theme="bay"] .jpm-p.big b{color:#3a1e00;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.jp-marquee[data-theme="bay"] .jpm-tag{color:#ffe9b8}
/* Sun King: lapis and gold cartouches */
.jp-marquee[data-theme="sun"]{background:linear-gradient(180deg,#14287a,#0a1648);box-shadow:inset 0 0 0 3px #c9931e,inset 0 0 0 6px #0a1648,inset 0 0 0 7px rgba(242,196,92,.6)}
.jp-marquee[data-theme="sun"]::before{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,#f2c45c 0 8px,#14287a 8px 12px,#d0202e 12px 20px,#14287a 20px 24px);opacity:.85}
.jp-marquee[data-theme="sun"] .jpm-p{border-radius:40px;background:linear-gradient(180deg,#fff0b0,#e0a326 50%,#8a5200);border:2px solid #4a2600;color:#4a2600;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 4px 10px rgba(0,0,0,.5)}
.jp-marquee[data-theme="sun"] .jpm-p b{color:#2a1200}
.jp-marquee[data-theme="sun"] .jpm-tag{color:#f2c45c;bottom:10px}
.jp-marquee[data-theme="sun"]{padding-bottom:26px}
/* Crystal Cavern: frosted amethyst glass */
.jp-marquee[data-theme="crystal"]{background:radial-gradient(120% 140% at 50% 0%,#3a1a6e,#150838);box-shadow:inset 0 0 0 2px #b48aff,inset 0 0 30px rgba(196,138,255,.35)}
.jp-marquee[data-theme="crystal"] .jpm-p{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(180,120,255,.12) 40%,rgba(90,40,180,.35));border:1.5px solid rgba(220,190,255,.8);color:#e9dcff;backdrop-filter:blur(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 18px rgba(180,120,255,.35)}
.jp-marquee[data-theme="crystal"] .jpm-p b{color:#fff;text-shadow:0 0 12px rgba(220,190,255,.9)}
.jp-marquee[data-theme="crystal"] .jpm-p.big{background:linear-gradient(160deg,rgba(255,255,255,.35),rgba(74,224,255,.2) 40%,rgba(90,40,180,.45));border-color:#bff5ff}
.jp-marquee[data-theme="crystal"] .jpm-tag{color:#d9c4ff}
/* Lucky Sevens: classic LED progressive sign */
.jp-marquee[data-theme="sevens"]{background:linear-gradient(180deg,#2a0008,#120004);box-shadow:inset 0 0 0 3px #f2c45c,inset 0 0 0 6px #2a0008,inset 0 0 0 7px rgba(242,196,92,.5)}
.jp-marquee[data-theme="sevens"] .jpm-p{background:#050002;border:2px solid #5a0a14;color:#ff8a8a;box-shadow:inset 0 0 14px rgba(255,0,40,.25)}
.jp-marquee[data-theme="sevens"] .jpm-p b{font-family:var(--f-num);color:#ff2a3a;text-shadow:0 0 6px #ff0020,0 0 14px #ff0020;letter-spacing:.04em}
.jp-marquee[data-theme="sevens"] .jpm-p.big b{color:#ffd24a;text-shadow:0 0 6px #ffb000,0 0 16px #ff8a00}
.jp-marquee[data-theme="sevens"] .jpm-tag{color:#ffd24a}
@media (max-width:900px){.cab-mid{flex-wrap:wrap}.bonus-side{order:2;width:100%;flex-direction:row;padding:10px 12px;text-align:left}.bonus-side .bm-icons{margin:0}.bonus-side .bm-ico{width:34px;height:34px}.bonus-side .bm-text{text-align:left}.bonus-side .bm-text small{font-size:11px}.frame{order:1}.panels{order:3}}
@media (max-width:640px){.jp-marquee{padding:12px 8px 18px;gap:6px}.jpm-ico{display:none}.jpm-p{padding:4px 4px}.jpm-p b{font-size:13px}.jpm-p.big b{font-size:18px}.jpm-p small{font-size:8px;letter-spacing:.08em}}
/* ===== Royal Jackpots: the network jackpot banner, same brand on every machine, recoloured per game ===== */
.jp-marquee{display:none}
.cab-mid{padding-top:40px}
.jpx{--in1:#2a0a4a;--in2:#12031f;--back1:#3a1660;--back2:#1a0630;--rib1:#6a2ab8;--rib2:#3a0c78;position:relative;margin:-4px -4px 14px;padding:30px 18px 26px;border-radius:14px 14px 10px 10px;z-index:3;
  background:radial-gradient(120% 140% at 50% 0%,var(--back1),var(--back2));box-shadow:inset 0 0 0 2px #fff3c4,inset 0 0 0 4px #b47a14,inset 0 0 0 6px rgba(0,0,0,.4),inset 0 -14px 30px rgba(0,0,0,.45),0 6px 16px rgba(0,0,0,.45)}
.jpx[data-theme="bay"]{--in1:#0a4a8a;--in2:#031a3a;--back1:#1a6ab8;--back2:#062a5a;--rib1:#1a8ad8;--rib2:#0a3a80}
.jpx[data-theme="sun"]{--in1:#14287a;--in2:#050c30;--back1:#a8501e;--back2:#4a1606;--rib1:#2a50d0;--rib2:#0c1a60}
.jpx[data-theme="crystal"]{--in1:#3a1a7e;--in2:#120430;--back1:#5a2aa8;--back2:#1a0838;--rib1:#9a5ae8;--rib2:#4a1a9a}
.jpx[data-theme="sevens"]{--in1:#4a0010;--in2:#140004;--back1:#c0142e;--back2:#4a0010;--rib1:#e0203a;--rib2:#6a0014}
.jpx-back{position:absolute;inset:6px;border-radius:10px;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 10px,transparent 10px 20px);mask:linear-gradient(#000,transparent 85%)}
.jpx-row{position:relative;display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:22px;align-items:center}
.jpx-tier{position:relative;padding:14px 12px 8px;border-radius:16px;
  background:linear-gradient(180deg,#fffbe0,#ffd34a 22%,#c88a12 48%,#7a4a00 52%,#e0a326 78%,#fff3b0) border-box;border:4px solid transparent;
  box-shadow:0 0 0 2px #4a2600,0 10px 20px rgba(0,0,0,.6),0 0 22px rgba(242,196,92,.25)}
.jpx-glass{position:relative;overflow:hidden;border-radius:10px;padding:8px 10px 6px;text-align:center;
  background:radial-gradient(120% 100% at 50% 0%,var(--in1),var(--in2));box-shadow:inset 0 0 0 2px rgba(0,0,0,.55),inset 0 6px 14px rgba(255,255,255,.16),inset 0 -10px 18px rgba(0,0,0,.5)}
.jpx-glass::before{content:"";position:absolute;left:6%;right:6%;top:3px;height:42%;border-radius:8px 8px 40% 40%;background:linear-gradient(rgba(255,255,255,.22),transparent);pointer-events:none}
.jpx-glass b{position:relative;display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(16px,2.2vw,26px);line-height:1.15;letter-spacing:.01em;white-space:nowrap;
  background:linear-gradient(180deg,#fffbe0 0%,#ffe27a 40%,#f0a818 62%,#ffd34a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #3a1a00) drop-shadow(0 0 8px rgba(255,200,80,.45))}
.jpx-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-110%);animation:bmshine 4s ease-in-out infinite}
.jpx-tier.minor .jpx-shine{animation-delay:1.2s}.jpx-tier.major .jpx-shine{animation-delay:2.4s}
.jpx-ribbon{position:absolute;left:50%;top:-15px;transform:translateX(-50%);z-index:2;white-space:nowrap}
.jpx-ribbon span{display:block;padding:3px 16px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.6);
  background:linear-gradient(180deg,var(--rib1),var(--rib2));border:2px solid #ffd34a;border-radius:6px;box-shadow:0 3px 8px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.35)}
.jpx-tier.minor .jpx-ribbon span{background:linear-gradient(180deg,#22c070,#0a5a30)}
.jpx-tier.major .jpx-ribbon span{background:linear-gradient(180deg,#e8304a,#7a0018)}
.jpx-gem{position:absolute;top:50%;width:30px;height:30px;margin-top:-12px;z-index:2;filter:drop-shadow(0 3px 4px rgba(0,0,0,.6))}
.jpx-gem.l{left:-17px}.jpx-gem.r{right:-17px}
.jpx-gem svg{width:100%;height:100%;display:block}
.jpx-tier.big{padding:18px 16px 10px;transform:translateY(-4px);box-shadow:0 0 0 2px #4a2600,0 14px 26px rgba(0,0,0,.7),0 0 34px rgba(255,220,120,.55);animation:grandglow 2.4s ease-in-out infinite alternate}
@keyframes grandglow{to{box-shadow:0 0 0 2px #4a2600,0 14px 26px rgba(0,0,0,.7),0 0 52px rgba(255,230,140,.85)}}
.jpx-tier.big .jpx-glass b{font-size:clamp(22px,3.4vw,40px)}
.jpx-tier.big .jpx-ribbon{top:-17px}.jpx-tier.big .jpx-ribbon span{font-size:12px;padding:4px 20px;background:linear-gradient(180deg,#fff3b0,#e0a326 50%,#9a6206);color:#3a1a00;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.jpx-tier.big .jpx-gem{width:38px;height:38px;margin-top:-16px}.jpx-tier.big .jpx-gem.l{left:-22px}.jpx-tier.big .jpx-gem.r{right:-22px}
.jpx-rays{position:absolute;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;z-index:-1;border-radius:50%;background:repeating-conic-gradient(rgba(255,226,140,.3) 0 6deg,transparent 6deg 15deg);mask:radial-gradient(circle,#000 18%,transparent 62%);animation:spin 18s linear infinite;pointer-events:none}
.jpx-spk{position:absolute;width:16px;height:16px;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 6px #fff);animation:twinkle 2.6s ease-in-out infinite;opacity:0;z-index:3}
.jpx-spk.a{left:8%;top:-6px}.jpx-spk.b{right:12%;top:30%;animation-delay:.9s}.jpx-spk.c{left:30%;bottom:-6px;animation-delay:1.7s}
.jpx-badge{position:absolute;left:50%;top:-46px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;z-index:4;pointer-events:none}
.jpx-crownsvg{width:92px;height:62px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.6)) drop-shadow(0 0 14px rgba(255,210,90,.5));animation:crownbob 3s ease-in-out infinite}
@keyframes crownbob{50%{transform:translateY(-3px) rotate(-2deg)}}
.jpx-brand{margin-top:-8px;padding:2px 14px;font-family:var(--f-display);font-weight:800;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#3a1a00;background:linear-gradient(180deg,#fffbe0,#ffd34a 50%,#c88a12);border:2px solid #4a2600;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.5),inset 0 1px 0 #fff;white-space:nowrap}
.jpx-foot{position:relative;margin-top:10px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,240,200,.85)}
.jpx-tier.bump .jpx-glass b{animation:jpbump .5s ease}
.jpx-tier.hit{animation:jphit .35s ease-in-out 10 alternate}
@media (max-width:760px){.cab-mid{padding-top:34px}.jpx{padding:26px 8px 20px;margin:-2px -2px 10px}.jpx-row{grid-template-columns:1fr 1.3fr 1fr;gap:12px}.jpx-tier{padding:12px 4px 6px;border-width:3px}.jpx-glass{padding:6px 4px 4px}.jpx-glass b{font-size:12px}.jpx-tier.big .jpx-glass b{font-size:17px}.jpx-gem{display:none}.jpx-ribbon span{font-size:8px;padding:2px 7px;letter-spacing:.08em}.jpx-tier.big .jpx-ribbon span{font-size:9px;padding:3px 9px}.jpx-crownsvg{width:68px;height:46px}.jpx-badge{top:-36px}.jpx-brand{font-size:10px}.jpx-rays{width:260px;height:260px;margin:-130px 0 0 -130px}}
.cab-mid{padding-top:58px}
.jpx{padding-top:44px}
.jpx-badge{top:-60px}
@media (max-width:760px){.cab-mid{padding-top:46px}.jpx{padding-top:34px}.jpx-badge{top:-46px}}
/* Crystal Cavern: 7 by 6 cluster grid */
.cabinet[data-theme="crystal"] .frame{width:min(100%,660px)}
.reels.cluster{gap:4px}
.reels.cluster .reel{aspect-ratio:1/6.1}
.reels.cluster .strip{gap:4px}
.reels.cluster .sym{padding:6%;border-width:2px;border-radius:9px}
.reels.cluster .reel.spin .sym{height:calc(100% / 6)}
.reels.cluster .sym.hot{box-shadow:0 0 0 2px #fff,0 0 16px rgba(220,190,255,.9);z-index:2}
.shard{position:absolute;z-index:6;width:9px;height:14px;background:linear-gradient(160deg,#fff,#c48aff 50%,#4ae0ff);clip-path:polygon(50% 0,100% 40%,60% 100%,0 60%);pointer-events:none;animation:shard .65s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes shard{from{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(.3);opacity:0}}
.mult-pop{position:absolute;left:50%;top:50%;z-index:7;transform:translate(-50%,-50%);font-size:64px;font-weight:800;pointer-events:none;background:linear-gradient(180deg,#fff,#ffe27a 45%,#f0a818);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #3a1a00) drop-shadow(0 0 20px rgba(255,220,120,.9));animation:multpop 1.1s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes multpop{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}25%{transform:translate(-50%,-50%) scale(1.2);opacity:1}70%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-90%) scale(.9);opacity:0}}
/* Bonus table on the side card */
.bm-table{display:flex;flex-direction:column;gap:4px;margin-top:8px;width:100%}
.bm-table i{display:flex;align-items:center;gap:6px;font-style:normal;font-size:12px;font-weight:700;color:#fff;background:rgba(0,0,0,.28);border:1px solid rgba(242,196,92,.3);border-radius:8px;padding:3px 6px}
.bm-table em{font-style:normal;min-width:22px;height:20px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;font-weight:800}
.bm-table b{margin-left:auto;color:var(--gold-hi)}
.bm-table i:nth-child(2){border-color:rgba(242,196,92,.55)}.bm-table i:nth-child(3){border-color:#ffe9a6;box-shadow:0 0 10px rgba(242,196,92,.35)}
@media (max-width:900px){.bm-table{flex-direction:row;flex-wrap:wrap;margin-top:4px}.bm-table i{font-size:10px}}

/* Docked chat: the page makes room for it on screens wide enough to show both */
@media (min-width:900px){
  body.chat-docked{padding-right:360px;transition:padding-right .25s ease}
  body.chat-docked .top{right:0}
  body.chat-docked .chat{box-shadow:-10px 0 30px rgba(0,0,0,.4);border-left:1px solid var(--trim)}
  body.chat-docked .chat-peek{display:none}
}
.chat{background:linear-gradient(180deg,#1e1140,#140a2c)}
.seo-about{margin-top:36px;padding-block:22px 6px;color:#cbbfe6;font-size:14px}
.seo-about h1,.seo-about h2{font-family:var(--f-display);font-size:22px;color:#fff;margin:0 0 8px}
.seo-about p{max-width:820px;margin:0 0 12px;line-height:1.7}.seo-about a{color:var(--gold)}
.seo-links{display:flex;flex-wrap:wrap;gap:8px}.seo-links a{text-decoration:none;font-size:13px;font-weight:700;color:#f3edff;background:linear-gradient(180deg,#2a1858,#1c0f3c);border:1px solid var(--trim);border-radius:999px;padding:6px 12px}.seo-links a:hover{border-color:var(--gold)}
.brand,.bal .buy{white-space:nowrap}@media (min-width:900px) and (max-width:1300px){body.chat-docked .bal .buy{display:none}body.chat-docked .me-btn .who{display:none}}

#rld-go{display:block;color:#2a1700!important;-webkit-text-fill-color:#2a1700;font-weight:800;font-size:19px;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,255,255,.5);min-height:52px}
#rld-go:disabled{opacity:.55}
.reload-pop{z-index:85}
.toast{z-index:120}
.seo-about{margin-top:28px;padding:20px 22px;border-radius:16px;background:linear-gradient(180deg,rgba(36,21,80,.7),rgba(26,15,56,.7));border:1px solid var(--trim)}

/* Animated Originals tiles */
.ta{transform-box:fill-box;transform-origin:center}
.ta-c1{animation:tac1 4s ease-in-out infinite}.ta-c2{animation:tac2 4s ease-in-out infinite}
@keyframes tac1{50%{transform:translate(-4px,-6px) rotate(-4deg)}}@keyframes tac2{50%{transform:translate(4px,-8px) rotate(5deg)}}
.ta-chip{animation:tachip 2.6s ease-in-out infinite}.ta-chip.d2{animation-delay:.35s}.ta-chip.d3{animation-delay:.8s}
@keyframes tachip{0%,100%{transform:translateY(0)}40%{transform:translateY(-8px) rotateY(0)}55%{transform:translateY(-8px) scaleX(.2)}70%{transform:translateY(-8px) scaleX(1)}}
.ta-glint{animation:taglint 5s ease-in-out infinite}@keyframes taglint{0%,60%{transform:translateX(0)}100%{transform:translateX(420px)}}
.ta-stars circle{animation:twinkle2 2.4s ease-in-out infinite}.ta-stars circle:nth-child(3n){animation-delay:.8s}.ta-stars circle:nth-child(3n+1){animation-delay:1.6s}
@keyframes twinkle2{50%{opacity:.1}}
.ta-trail{animation:tatrail 1s linear infinite}@keyframes tatrail{to{stroke-dashoffset:-22}}
.ta-rocket{animation:tarocket 2.2s ease-in-out infinite}@keyframes tarocket{0%,100%{transform:translate(0,0)}50%{transform:translate(6px,-7px)}}
.ta-flame{transform-origin:50% 0;animation:taflame .14s ease-in-out infinite alternate}@keyframes taflame{to{transform:scaleY(1.35) scaleX(.85)}}
.ta-gem{animation:tagem 2.8s ease-in-out infinite}.ta-gem.d2{animation-delay:.6s}.ta-gem.d3{animation-delay:1.2s}
@keyframes tagem{0%,100%{transform:translateY(0) scale(1);filter:none}50%{transform:translateY(-5px) scale(1.08);filter:brightness(1.35) drop-shadow(0 0 6px #fff)}}
.ta-bomb{animation:tabomb 3s ease-in-out infinite}@keyframes tabomb{0%,100%{transform:rotate(0)}92%{transform:rotate(0)}96%{transform:rotate(-8deg)}}
.ta-spark{animation:taspark .25s steps(2) infinite}@keyframes taspark{50%{opacity:.2;transform:scale(.6)}}
.ta-ball{animation:taball 3.2s cubic-bezier(.5,0,.5,1) infinite}
@keyframes taball{0%{transform:translate(0,0);opacity:0}6%{opacity:1}18%{transform:translate(-15px,18px)}30%{transform:translate(0,36px)}42%{transform:translate(15px,54px)}54%{transform:translate(0,72px)}66%{transform:translate(15px,90px)}80%{transform:translate(30px,112px)}92%{transform:translate(30px,124px);opacity:1}100%{transform:translate(30px,124px);opacity:0}}
.ta-die1{animation:tadie 3s ease-in-out infinite}.ta-die2{animation:tadie 3s ease-in-out infinite .5s}
@keyframes tadie{0%,70%,100%{transform:rotate(0) translateY(0)}78%{transform:rotate(-90deg) translateY(-10px)}86%{transform:rotate(-180deg) translateY(0)}}
.ta-pin{animation:tapin 3s ease-in-out infinite}@keyframes tapin{0%,100%{transform:translateX(0)}30%{transform:translateX(-60px)}65%{transform:translateX(70px)}}
.ta-wheel{animation:spin 9s linear infinite;transform-origin:0 0}
.ta-orbit{transform-origin:150px 86px;animation:taorbit 2.5s linear infinite reverse}
@keyframes taorbit{from{transform:scale(1,.5) rotate(0) scale(1,2)}to{transform:scale(1,.5) rotate(360deg) scale(1,2)}}
.tile:hover .ta-wheel{animation-duration:3s}.tile:hover .ta-rocket{animation-duration:1s}
@media (prefers-reduced-motion:reduce){.tile-svg *,.lobby-svg *{animation:none!important}}

/* Royal prize wheel */
.rw{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
.rw-rot{transform-origin:0 0;will-change:transform}
.rw-bulb{fill:#fff3c4;filter:drop-shadow(0 0 3px #ffd24a)}
.rw-bulb.a{animation:rwb 1s steps(1) infinite}.rw-bulb.b{animation:rwb 1s steps(1) infinite .5s}
@keyframes rwb{50%{fill:#7a4a00;filter:none}}
.rw-pointer{transform-origin:0 -128px;transition:transform .08s}
.rw-pointer.kick{transform:rotate(-14deg)}
.art-wheel{width:min(300px,100%);margin:0 auto;animation:rwfloat 5s ease-in-out infinite}
.art-wheel .rw-rot{animation:spin 26s linear infinite}
@keyframes rwfloat{50%{transform:translateY(-6px)}}
.spin-w{width:min(320px,80vw);margin:6px auto 14px;position:relative}
.spin-w::before{content:"";position:absolute;inset:-12%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(rgba(242,196,92,.18) 0 7deg,transparent 7deg 18deg);mask:radial-gradient(circle,#000 30%,transparent 70%);animation:spin 30s linear infinite}
.spin-w.won .rw{animation:rwwin .9s ease}
@keyframes rwwin{30%{filter:drop-shadow(0 18px 30px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(255,220,120,.95));transform:scale(1.04)}}
#spin-modal .modal-card{background:radial-gradient(120% 80% at 50% 0%,#3a1f6e,#160a30 70%)!important;border:2px solid #c9a34a!important;text-align:center}
#spin-modal h3{font-family:var(--f-display);font-size:28px;margin:0;background:linear-gradient(180deg,#fff7c2,#ffd34a 55%,#e09a12);-webkit-background-clip:text;background-clip:text;color:transparent}
.art-wheel{width:min(250px,100%)}@media (max-width:760px){.art-wheel{width:min(190px,100%)}}

/* ===== Lobby banner: room for the words, bigger pictures with depth and motion ===== */
.hero-car,.slides{min-height:360px}
.hero-car{border:1px solid var(--trim);box-shadow:0 20px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}
.slide{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:34px 40px 56px;gap:10px;overflow:hidden}
.slide::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 12px,transparent 12px 24px)}
.slide::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-hi) 50%,var(--gold) 70%,transparent);opacity:.7}
.slide-text{position:relative;z-index:1;gap:14px}
.slide h2{margin:0;font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.3vw,42px);line-height:1.04;letter-spacing:-.02em;color:#fff;text-wrap:balance;text-shadow:0 4px 20px rgba(0,0,0,.35)}
.slide .tag{background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border:1px solid #7a4a00}
.slide .cta{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c8901e);color:#2a1700;border:1px solid #7a4a00;box-shadow:0 8px 24px rgba(242,196,92,.3),inset 0 1px 0 rgba(255,255,255,.7);font-weight:800}
.slide .cta:hover{filter:brightness(1.06);transform:translateY(-1px)}
.slide-art{position:relative;z-index:1;align-self:stretch}
.hero-svg{width:100%;max-width:380px;height:auto;max-height:290px;overflow:visible;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.slide .art-wheel{width:min(250px,100%)}
/* motion */
.hero-svg .h-c1{animation:hc1 5s ease-in-out infinite}.hero-svg .h-c2{animation:hc2 5s ease-in-out infinite}
@keyframes hc1{50%{transform:translate(-6px,-8px) rotate(-18deg)}}@keyframes hc2{50%{transform:translate(6px,-10px) rotate(16deg)}}
.hero-svg .h-c1,.hero-svg .h-c2{transform-box:view-box;transform-origin:160px 130px}
.hero-svg .h-bob{animation:hbob 3s ease-in-out infinite}@keyframes hbob{50%{transform:translateY(-6px)}}
.hero-svg .h-pop{animation:hpop 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes hpop{50%{transform:scale(1.07)}}
.hero-svg .h-spk{animation:lspk 2.6s ease-in-out infinite}
.hero-svg .h-star{animation:twinkle2 2.6s ease-in-out infinite}
.hero-svg .h-trail{stroke-dasharray:260;animation:htrail 3s ease-in-out infinite}@keyframes htrail{0%{stroke-dashoffset:260}60%,100%{stroke-dashoffset:0}}
.hero-svg .h-rocket{animation:hrocket 3s ease-in-out infinite}@keyframes hrocket{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-10px)}}
.hero-svg .h-flame{transform-box:fill-box;transform-origin:50% 0;animation:taflame .12s ease-in-out infinite alternate}
.hero-svg .h-gem{animation:hgem 3s ease-in-out infinite}@keyframes hgem{50%{filter:brightness(1.4) drop-shadow(0 0 10px #fff)}}
.hero-svg .h-bomb{animation:hbomb 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes hbomb{0%,85%,100%{transform:rotate(0)}90%{transform:rotate(-10deg)}95%{transform:rotate(8deg)}}
.hero-svg .h-fuse{animation:taspark .25s steps(2) infinite;transform-box:fill-box;transform-origin:center}
.hero-svg .h-ball{animation:hball 3.4s cubic-bezier(.5,0,.5,1) infinite}
@keyframes hball{0%{transform:translate(0,0);opacity:0}5%{opacity:1}15%{transform:translate(-13px,22px)}27%{transform:translate(0,44px)}39%{transform:translate(13px,66px)}51%{transform:translate(26px,88px)}63%{transform:translate(39px,110px)}75%{transform:translate(52px,132px)}87%{transform:translate(65px,154px)}95%{transform:translate(105px,212px);opacity:1}100%{transform:translate(105px,212px);opacity:0}}
.hero-svg .h-slot{animation:hslot 3.4s linear infinite}@keyframes hslot{0%,92%{opacity:0}95%{opacity:1}100%{opacity:0}}
.hero-svg .h-wheel{animation:spin 10s linear infinite;transform-origin:0 0}
.hero-svg .h-orbit{animation:spin 3s linear infinite reverse;transform-origin:0 0}
@media (prefers-reduced-motion:reduce){.hero-svg *{animation:none!important}}
@media (max-width:700px){.slide{padding:24px 22px 46px}.hero-car,.slides{min-height:320px}}

/* ===== Logo: the crowned crest and a two-tone royal wordmark ===== */
.brand.royal{gap:11px;align-items:center;margin-right:auto}
.brand-mark{position:relative;flex:none;width:44px;height:44px;border-radius:12px;overflow:hidden;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5)) drop-shadow(0 0 10px rgba(242,196,92,.25));transition:transform .25s cubic-bezier(.2,1.4,.4,1)}
.brand-mark img{display:block;width:100%;height:100%}
.brand-mark::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);animation:markshine 6s ease-in-out infinite}
@keyframes markshine{0%,80%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.brand.royal:hover .brand-mark{transform:rotate(-6deg) scale(1.06)}
.wm{display:flex;flex-direction:column;line-height:1}
.wm-top{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.wm-hit,.wm-stand{font-family:var(--f-display);font-weight:800;font-size:23px;letter-spacing:-.01em}
.wm-hit{background:linear-gradient(180deg,#ffffff,#e9dcff 60%,#b9a6e8);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(20,6,50,.9))}
.wm-or{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:600;font-size:16px;color:var(--gold);transform:translateY(-3px);text-shadow:0 1px 0 #2a1700}
.wm-stand{position:relative;background:linear-gradient(180deg,#fffbe0 0%,#ffe27a 35%,#f0a818 60%,#ffd34a 100%);background-size:100% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #3a1a00) drop-shadow(0 0 10px rgba(255,200,80,.25))}
.wm-tag{margin-top:4px;font-size:8.5px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:#cdb8f0;opacity:.85;white-space:nowrap}
.wm-tag::before,.wm-tag::after{content:"✦";color:var(--gold);font-size:7px;margin:0 5px;letter-spacing:0;vertical-align:1px}
.wm-tag::before{margin-left:0}
@media (max-width:900px){.wm-tag{display:none}.wm-hit,.wm-stand{font-size:20px}.brand-mark{width:38px;height:38px}}
@media (max-width:560px){.wm{display:none}}
@media (max-width:520px){.brand.royal .brand-mark{display:block!important}}

/* ===== Slots layout tidy ===== */
.cabinet{justify-content:flex-start;gap:0}
.cab-head{padding-top:18px}
.title-row{margin-top:0}
.cab-mid{align-items:center;gap:22px;padding:58px 18px 10px}
/* keep the reels centred: when the right-hand feature panels are hidden, a matching empty column balances the bonus card */
@media (min-width:901px){.cab-mid:has(.panels[hidden])::after{content:"";flex:none;width:176px}}
.bonus-side{align-self:center;margin-top:60px}
/* the jackpot banner always fits its machine, classic or video */
.cabinet.classic .frame{width:min(100%,720px)}
.jpx{container-type:inline-size}
.jpx-row{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);gap:clamp(10px,3cqi,22px)}
.jpx-glass b{font-size:clamp(13px,3.3cqi,26px)}
.jpx-tier.big .jpx-glass b{font-size:clamp(17px,5cqi,40px)}
.jpx-ribbon span{font-size:clamp(8px,1.4cqi,11px)}
.jpx-tier{min-width:0}
/* the win amount sits on the frame's bottom edge, not over the reels */
.win-flash{bottom:-26px;padding:4px 18px;z-index:4}
.cab-bottom{margin-top:26px}
/* ===== Slots fit the window: everything from the title to the Spin button sits on one screen ===== */
.cabinet{min-height:0}
.cab-hud{padding-top:8px}
.cab-head{padding-top:0}
.logo{width:auto;height:clamp(54px,9vh,96px)}
.logo-svg{height:100%;width:auto}
.flank{width:clamp(44px,7vh,72px);height:clamp(44px,7vh,72px)}
.cab-mid{padding:46px 18px 4px}
.jpx{padding:34px 14px 16px;margin-bottom:10px}
.jpx-badge{top:-50px}.jpx-crownsvg{width:76px;height:52px}
.jpx-foot{margin-top:6px}
/* the reel frame's width is limited by the height left over, so the reels never push the controls off screen */
.frame{width:min(100%,960px,calc((100vh - 500px) * 1.75 + 120px))}
.cabinet.classic .frame{width:min(100%,720px,calc((100vh - 500px) * 1.02 + 140px))}
.cabinet[data-theme="crystal"] .frame{width:min(100%,660px,calc((100vh - 500px) * 1.12 + 130px))}
.frame{min-width:min(100%,420px)}
.cab-bottom{margin-top:22px;padding:8px 18px 14px}
@media (max-width:900px){.frame,.cabinet.classic .frame,.cabinet[data-theme="crystal"] .frame{width:100%}}

.cab-hud{gap:12px;align-items:center}
.hud-pick{flex:1;justify-content:center;display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.hud-pick .mach{padding:5px 10px;font-size:12px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(242,196,92,.3);backdrop-filter:blur(4px)}
.hud-pick .mach.on{background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border-color:#7a4a00}
.hud-pick .mach img,.hud-pick .mach svg,.hud-pick .mach .ico{width:20px;height:20px}
.frame{width:min(100%,960px)}
.cabinet.classic .frame{width:min(100%,720px)}
.cabinet[data-theme="crystal"] .frame{width:min(100%,660px)}
.logo{height:clamp(48px,8vh,84px)}
@media (max-width:900px){.hud-pick{order:3;flex-basis:100%}.cab-hud{flex-wrap:wrap}}
@media (max-height:860px) and (min-width:901px){
  .cab-head{display:none}
  .cab-mid{padding-top:50px}
  .jpx{padding:28px 12px 10px}.jpx-foot{display:none}
  .cab-bottom{margin-top:18px;padding:4px 18px 10px}
}

/* Wide but short screens: Spin, bet and Auto form a column to the right of the reels, in the same row */
.cabinet.side-ctl .cab-mid{flex-wrap:nowrap;justify-content:center;gap:clamp(12px,2vw,26px);padding-bottom:34px}
.cabinet.side-ctl .cab-mid::after{display:none}
.cabinet.side-ctl .frame{flex:0 1 auto;min-width:380px}
.cabinet.side-ctl .bonus-side{margin-top:0;flex:none;width:clamp(150px,13vw,190px)}
.cabinet.side-ctl .cab-bottom{position:static;transform:none;flex:none;width:clamp(210px,15vw,236px);flex-direction:column;gap:12px;margin:0;padding:14px;background:rgba(0,0,0,.45);border:1px solid rgba(242,196,92,.3);border-radius:22px;backdrop-filter:blur(6px);z-index:5}
.cabinet.side-ctl .cab-bottom .bet-pill{width:100%;min-width:0;box-sizing:border-box;padding-left:8px;padding-right:8px}.cabinet.side-ctl .cab-bottom .bet-pill .pm{flex:none;width:34px;height:34px}.cabinet.side-ctl .cab-bottom .bet-mid{min-width:0;flex:1}
.cabinet.side-ctl .side-btns{flex-direction:column;width:100%}
.cabinet.side-ctl .side-btns .cab-btn{width:100%;min-width:0}
.jpx-glass b{font-size:clamp(10px,3.3cqi,26px)}
.jpx-tier.big .jpx-glass b{font-size:clamp(13px,5cqi,40px)}
@container (max-width:560px){.jpx-brand{display:none}.jpx-gem{display:none}.jpx-row{gap:8px}.jpx-tier{padding:12px 4px 6px;border-width:3px}.jpx-glass{padding:5px 3px 4px}}

/* Recent bets: a short list in the controls column when they sit beside the reels, otherwise under the machine */
.side-log{display:none}
.cabinet.side-ctl .side-log{display:block;width:100%;border-top:1px solid rgba(242,196,92,.25);padding-top:10px}
.side-log .lab{font-size:10px;letter-spacing:.16em;margin-bottom:4px}
.side-log .log{font-size:11.5px}
.side-log .log li{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:3px 0}
.side-log .log li .num:not(.w):not(.l){display:none}
.side-log .log li .g{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-log .log li.empty{display:block;font-size:11px}
body:has(.cabinet.side-ctl) .sl-log-under{display:none}
@media (max-height:820px){
  .cabinet.side-ctl .cab-bottom{gap:8px;padding:10px 12px}
  .cabinet.side-ctl .spin-btn-big{width:84px;height:84px}
  .cabinet.side-ctl .side-btns .cab-btn{padding-top:9px;padding-bottom:9px}
  .cabinet.side-ctl .side-log{padding-top:6px}
  .side-log .log li{padding:2px 0}
}

/* ===== Blackjack: round countdown, Rebet, rank badges ===== */
.rail-secs{position:relative;width:46px;height:46px;min-width:0;border:0;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2a0d18 55%,transparent 56%)}
.rail-secs[hidden]{display:none}
.rail-secs svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.rail-secs circle{fill:none;stroke-width:4}
.rail-secs .bg{stroke:rgba(255,255,255,.12)}
.rail-secs .fg{stroke:#f2c45c;stroke-linecap:round;stroke-dasharray:119.4;transition:stroke-dashoffset .25s linear,stroke .2s;filter:drop-shadow(0 0 4px rgba(242,196,92,.6))}
.rail-secs b{position:relative;font:800 16px var(--f-num);color:#fff}
.rail-secs.low .fg{stroke:#ff5a6a;filter:drop-shadow(0 0 5px rgba(255,90,106,.8))}
.rail-secs.low b{color:#ffb0b8;animation:secpulse .5s ease-in-out infinite alternate}
@keyframes secpulse{to{transform:scale(1.15)}}
#bj-timer{display:none!important}
.btn.rebet{background:linear-gradient(180deg,#ffe9a6,#f2c45c 50%,#c88a12);border-color:#7a4a00;color:#2a1700;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.btn.rebet small{font:700 10.5px var(--f-num);opacity:.75;margin-top:2px;letter-spacing:0}
.btn.rebet[hidden],#bj-clear[hidden]{display:none}
.seat .av.av-rank{width:34px;height:34px;background:none;border-radius:0;margin:-6px 0 -6px -4px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.seat .av.av-rank svg{width:100%;height:100%;display:block}
.seat.mine .av.av-rank{background:none}
.seat .tag .b .rk{font-style:normal;font-family:var(--f-body,inherit);font-weight:700;color:#f2c45c}

.seat .tag .b{white-space:nowrap}
.seat .tag .b .rk{display:block;font-size:11px;line-height:1.1}
/* Side layout as a grid: bonus card and feature panels share the left column, so a multiplier panel popping up
   mid-tumble (Crystal Cavern) can never squeeze the reels or make the machine jump in size */
.cabinet.side-ctl .cab-mid{display:grid;grid-template-columns:auto auto auto;grid-template-rows:1fr auto 1fr;justify-content:center;align-items:center;column-gap:clamp(12px,2vw,26px);row-gap:10px}
.cabinet.side-ctl .bonus-side{grid-column:1;grid-row:1/4;align-self:center}
.cabinet.side-ctl.feature .bonus-side,.cabinet.side-ctl .cab-mid:has(.panels:not([hidden])) .bonus-side{grid-row:1;align-self:end}
.cabinet.side-ctl .panels{grid-column:1;grid-row:2/4;align-self:start;width:clamp(150px,13vw,190px)}
.cabinet.side-ctl .frame{grid-column:2;grid-row:1/4;flex:none}
.cabinet.side-ctl .cab-mid>.cab-bottom{grid-column:3;grid-row:1/4;align-self:center}

/* ===== Royal Jackpots: themed ornaments per machine ===== */
.jpx{overflow:visible}
.jpx-pat{position:absolute;inset:6px;border-radius:10px;overflow:hidden;pointer-events:none;z-index:0}
.jpx-pat{background-size:120px 40px;background-repeat:repeat}
.jpx-deco{position:absolute;z-index:3;top:-30px;width:clamp(58px,13cqi,104px);aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.55))}
.jpx-deco.l{left:clamp(-34px,-4cqi,-14px);transform:rotate(-8deg);animation:jxbob 4s ease-in-out infinite}
.jpx-deco.r{right:clamp(-34px,-4cqi,-14px);transform:rotate(8deg);animation:jxbob 4s ease-in-out infinite reverse}
.jpx-deco svg{width:100%;height:100%;display:block;overflow:visible}
@keyframes jxbob{50%{translate:0 -4px}}
.jpx-deco .jxs{transform-box:fill-box;transform-origin:center;animation:jxspark 2.2s ease-in-out infinite}.jpx-deco .jxs.b{animation-delay:1.1s}
@keyframes jxspark{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1)}}
.jpx-deco .jxflame{transform-box:fill-box;transform-origin:50% 100%;animation:jxflame .45s ease-in-out infinite alternate}
@keyframes jxflame{to{transform:scaleY(1.1) scaleX(.94)}}
.jpx-deco .jxglow{animation:jxglow 2.6s ease-in-out infinite}
@keyframes jxglow{50%{opacity:.45}}
.jpx-row,.jpx-foot{position:relative;z-index:2}.jpx-badge{z-index:4}
.jpx-gem svg{width:100%;height:100%;display:block}
@container (max-width:460px){.jpx-deco{top:-22px;width:52px}}
@media (max-width:760px){.jpx-deco{width:48px;top:-18px}.jpx-deco.l{left:-10px}.jpx-deco.r{right:-10px}}

/* ===== Slot cabinet columns (slotside.js) ===== */
.ss-col{--ssw:clamp(56px,5.8vw,108px);position:absolute;top:0;bottom:0;width:var(--ssw);display:flex;flex-direction:column;z-index:1;pointer-events:none;filter:drop-shadow(6px 0 14px rgba(0,0,0,.55))}
.ss-col.l{left:0}
.ss-col.r{right:0;transform:scaleX(-1)}
.ss-col svg{display:block;width:100%;height:auto;overflow:visible}
.ss-cap,.ss-base{flex:none;position:relative;z-index:1}
.ss-shaft{flex:1;min-height:0;background-size:100% auto;background-repeat:repeat-y;background-position:0 0;position:relative;margin:-1px 0}
.ss-light{position:absolute;top:42%;left:62%;width:calc(var(--ssw) * .95);z-index:2}
.ss-light .ss-flame{transform-box:fill-box;transform-origin:50% 100%;animation:ssflame .32s ease-in-out infinite alternate}
@keyframes ssflame{0%{transform:scale(1,1) skewX(0)}50%{transform:scale(.94,1.08) skewX(3deg)}100%{transform:scale(1.04,.95) skewX(-2deg)}}
.ss-glow{animation:ssglow 1.8s ease-in-out infinite}
@keyframes ssglow{50%{opacity:.6}}
.ss-light .ss-swing{transform-box:view-box;transform-origin:60px 56px;animation:ssswing 3.4s ease-in-out infinite}
@keyframes ssswing{50%{transform:rotate(5deg)}}
.ss-light .ss-flick{animation:ssflick 2.2s steps(1) infinite}
@keyframes ssflick{0%,100%{opacity:1}42%{opacity:.85}44%{opacity:1}71%{opacity:.9}}
.ss-light .ss-float{transform-box:fill-box;transform-origin:center;animation:ssfloat 3s ease-in-out infinite}
@keyframes ssfloat{50%{transform:translateY(-10px) rotate(4deg)}}
.ss-base .ss-wave{animation:sswave 3s ease-in-out infinite}
@keyframes sswave{50%{transform:translateX(-8px) translateY(2px)}}
.ss-col[data-theme="crystal"] .ss-shaft::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(196,138,255,.18) 50%,transparent);background-size:100% 300%;animation:ssvein 4s linear infinite}
@keyframes ssvein{from{background-position:0 0}to{background-position:0 300%}}
.ss-bulbs{position:absolute;top:0;bottom:0;width:14px;background:radial-gradient(circle at 50% 50%,#fffbe0 0 3px,#ffd34a 3.5px 4.5px,rgba(255,200,80,.0) 5.5px) 0 0/14px 24px repeat-y;filter:drop-shadow(0 0 4px #ffd34a);animation:ssbulb .8s steps(2) infinite}
.ss-bulbs.l{left:4px}.ss-bulbs.r{right:4px;animation-delay:.4s}
@keyframes ssbulb{0%{background-position:0 0;opacity:1}50%{background-position:0 12px;opacity:.75}}
@media (max-width:900px){.ss-col{--ssw:40px}.ss-light{display:none}}
@media (max-width:560px){.ss-col{display:none}}
@media (prefers-reduced-motion:reduce){.ss-col *{animation:none!important}}

/* ===== Machine picker: graphic marquee cards ===== */
.hud-pick{gap:10px;align-items:center}
.hud-pick .mach.mcard{position:relative;display:block;width:clamp(104px,9.4vw,150px);height:clamp(54px,4.9vw,76px);padding:0;border-radius:14px;overflow:hidden;background:#0a0418;border:2px solid rgba(242,196,92,.4);box-shadow:0 6px 16px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.5);cursor:pointer;transition:transform .18s cubic-bezier(.2,1.4,.4,1),box-shadow .2s,border-color .2s,filter .2s;filter:saturate(.75) brightness(.8);backdrop-filter:none}
.hud-pick .mach.mcard:hover{filter:none;transform:translateY(-2px)}
.hud-pick .mach.mcard.on{filter:none;border-color:#ffe27a;transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 2px #7a4a00,0 0 22px rgba(255,211,74,.55),0 10px 22px rgba(0,0,0,.6);background:#0a0418;color:inherit}
.mcard .mc-scene{position:absolute;inset:0}
.mcard .mc-scene svg{position:absolute;inset:0;width:100%!important;height:100%!important}
.mcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));pointer-events:none}
.mcard .mc-sym{position:absolute;left:4%;top:50%;width:40%;aspect-ratio:1;transform:translateY(-50%) rotate(-8deg);z-index:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.6))}
.mcard .mc-sym svg{width:100%!important;height:100%!important;display:block}
.mcard .mc-logo{position:absolute;right:3%;top:8%;bottom:8%;width:62%;z-index:2;display:grid;place-items:center}
.mcard .mc-logo svg{width:100%!important;height:100%!important;display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.7))}
.mcard .mc-shine{position:absolute;inset:0;z-index:3;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-130%);pointer-events:none}
.mcard.on .mc-shine{animation:mcshine 3.2s ease-in-out infinite}
@keyframes mcshine{0%,70%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@media (max-width:900px){.hud-pick .mach.mcard{width:calc(25% - 8px);height:56px}}

.mcard .mc-sym{left:3%;width:44%}
.mcard .mc-name{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:56%;z-index:2;text-align:right;font:800 clamp(11px,1vw,14px)/1.05 var(--f-display);letter-spacing:.01em;text-transform:uppercase;color:#fff3c4;text-shadow:0 2px 0 rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.7)}
.mcard.on .mc-name{color:#ffe27a}

/* keep the balance and the round buttons clear of the cabinet columns */
@media (min-width:901px){.cabinet .cab-hud{padding-left:calc(clamp(56px,5.8vw,108px) + 10px);padding-right:calc(clamp(56px,5.8vw,108px) + 10px)}}
@media (max-width:900px) and (min-width:561px){.cabinet .cab-hud{padding-left:48px;padding-right:48px}}
.hud-pick{padding-top:6px}

/* ===== Roulette: royal table ===== */
.stage.rl{background:radial-gradient(120% 90% at 50% 0%,#4a1c86,#22093e 55%,#0c0318);border:2px solid transparent;background-clip:padding-box;position:relative;box-shadow:0 0 0 2px #7a4a00,0 0 0 5px #e0a326,0 0 0 7px #6a3c00,0 20px 50px rgba(0,0,0,.55);border-radius:20px}
.stage.rl::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.08;background:repeating-linear-gradient(45deg,#f2c45c 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,#f2c45c 0 1px,transparent 1px 22px)}
.stage.rl>*{position:relative}
.rl canvas{width:min(100%,360px);filter:drop-shadow(0 22px 30px rgba(0,0,0,.6)) drop-shadow(0 0 30px rgba(242,196,92,.18))}
.rl .res{color:#ffe9a6;text-shadow:0 2px 0 rgba(0,0,0,.6)}
.rtable{gap:4px;padding:10px;border-radius:14px;background:linear-gradient(180deg,rgba(255,211,74,.12),rgba(0,0,0,.25));box-shadow:inset 0 0 0 2px #c88a12,inset 0 0 0 4px rgba(0,0,0,.4)}
.rtable button{border:1.5px solid rgba(255,211,74,.55);border-radius:7px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.15);text-shadow:0 1px 0 rgba(0,0,0,.6);transition:transform .1s,filter .15s}
.rtable .r{background:linear-gradient(180deg,#e8243a,#8a0a1c)}
.rtable .b{background:linear-gradient(180deg,#2e2640,#0e0a16)}
.rtable .z{background:linear-gradient(180deg,#1fc07a,#0a5a34)}
.rtable .o{background:linear-gradient(180deg,rgba(90,40,160,.7),rgba(30,8,60,.85));color:#ffe9a6;font-weight:800;letter-spacing:.02em}
.rtable .o.r{background:linear-gradient(180deg,#e8243a,#8a0a1c);color:#fff}.rtable .o.b{background:linear-gradient(180deg,#2e2640,#0e0a16);color:#fff}
.rtable button:hover{filter:brightness(1.25);transform:translateY(-1px)}
.rtable .hit{outline:3px solid #ffe27a;outline-offset:-3px;box-shadow:0 0 18px rgba(255,226,122,.8),inset 0 -3px 0 rgba(0,0,0,.3);animation:rlhit .5s ease-in-out 3 alternate}
@keyframes rlhit{to{filter:brightness(1.5)}}
.rtable .chipm.chip{position:absolute;right:-6px;top:-8px;width:26px;height:26px;padding:0;border:2px dashed rgba(255,255,255,.85);font-size:8.5px;z-index:2;display:grid;place-items:center;pointer-events:none;box-shadow:0 3px 0 rgba(0,0,0,.5),inset 0 0 0 3px color-mix(in srgb,var(--cc) 70%,#000),0 4px 8px rgba(0,0,0,.45);animation:rlchip .22s cubic-bezier(.2,1.6,.4,1)}
@keyframes rlchip{from{transform:translateY(-10px) scale(.6);opacity:0}}
.rl-chipset{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;justify-items:center;padding:4px 0}
.rl-chipset .chip{width:52px;height:52px;font-size:11.5px;cursor:pointer;padding:0;box-shadow:0 5px 0 rgba(0,0,0,.55),inset 0 0 0 6px color-mix(in srgb,var(--cc) 70%,#000),0 0 0 1px rgba(255,255,255,.1),0 8px 14px rgba(0,0,0,.4);transition:transform .16s cubic-bezier(.2,1.5,.4,1),box-shadow .2s}
.rl-chipset .chip:hover{transform:translateY(-3px)}
.rl-chipset .chip[aria-pressed="true"]{transform:translateY(-6px) scale(1.08);box-shadow:0 0 0 3px #ffe27a,0 0 18px rgba(255,226,122,.75),0 9px 0 rgba(0,0,0,.45),inset 0 0 0 6px color-mix(in srgb,var(--cc) 70%,#000)}

.stage.felt.rl{background:radial-gradient(120% 90% at 50% 0%,#4a1c86,#22093e 55%,#0c0318)!important}
.rtable button:has(.chipm){z-index:3}
.rtable .chipm.chip{width:32px;height:32px;font-size:9.5px;left:50%;top:50%;right:auto;margin:-16px 0 0 -16px}

/* prize wheel labels stay level while the wheel turns */
.rw .rw-up{transform:rotate(calc(-1 * var(--rwa, 0rad)))}
.art-wheel .rw-up{animation:spin 26s linear infinite reverse}
/* ===== Form fields fill their card, buttons line up with them ===== */
.gate-dob{width:100%}
.dob .txt{width:100%;min-width:0}
.side-card>.txt,.side-card>div>.txt{display:block;width:100%;min-width:0;margin:0 0 8px}
.side-card>.btn,.side-card>div>.btn:not(.sm){display:block;width:100%;margin-top:2px}
.side-card .row{display:flex;gap:8px;align-items:center}.side-card .row .code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ===== Chip packs and checkout ===== */
.packs{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.pack{position:relative;padding:18px 10px 12px;background:radial-gradient(120% 90% at 50% 0%,rgba(122,58,224,.35),transparent 60%),var(--panel-2);border-color:rgba(242,196,92,.3);transition:transform .15s,border-color .15s}
.pack:hover{transform:translateY(-2px);border-color:rgba(242,196,92,.6)}
.pack.hot{border-color:#ffd34a;box-shadow:0 0 0 1px #7a4a00,0 0 18px rgba(255,211,74,.3)}
.pack .pk-art{width:58px;height:58px}.pack .pk-art svg{width:100%;height:100%}
.pack b{font-family:var(--f-display);font-size:16px}
.pack .pk-chips{font-size:15px;color:#ffe27a;font-weight:700}
.pack .btn{width:100%}
.pack-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:linear-gradient(180deg,#ffe27a,#e0a326);color:#2a1700;border:1px solid #7a4a00}
.pay-test{font-size:10px;padding:2px 7px;border-radius:999px;background:#ffb84a;color:#2a1700;margin-left:6px;letter-spacing:.04em}
.pay-confirm{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:10px auto 0}
.pay-back{align-self:flex-start}
.pc-row{display:flex;gap:16px;align-items:center;background:var(--panel-2);border:1px solid rgba(242,196,92,.35);border-radius:16px;padding:14px 16px}
.pc-art{width:72px;height:72px;flex:none}.pc-art svg{width:100%;height:100%}
.pc-row b,.pc-row span{display:block}
.pc-name{font-family:var(--f-display);font-size:20px}
.pc-chips{font-size:18px;color:#ffe27a;font-weight:700}
.pc-price{font-size:14px;color:var(--muted)}
.pay-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--text);background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}
.pay-consent input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:#e0a326}
.pay-go{width:100%}
.pay-go:disabled{opacity:.55;cursor:not-allowed}
.pay-warn{font-size:13px;background:rgba(255,184,74,.12);border:1px solid rgba(255,184,74,.5);border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.set select.txt{min-width:150px;max-width:180px}
button.link{background:none;border:0;padding:0;color:var(--gold);font:inherit;cursor:pointer;text-decoration:underline}

.pack .pk-art{width:72px;height:72px}
/* The full-width footer trim reaches past the page edges; never let anything make the page scroll sideways */
html,body{overflow-x:clip}
.foot::before{left:50%;right:auto;width:100vw;transform:translateX(-50%)}
/* segmented buttons wrap their labels instead of pushing out of narrow cards */
.seg{grid-auto-columns:minmax(0,1fr);min-width:0}
.seg button{min-width:0;white-space:normal;line-height:1.15;overflow-wrap:anywhere}
.row2>.field{min-width:min(100%,150px)}
/* profile on phones: one column that never grows wider than the screen */
@media (max-width:820px){.prof-cols{grid-template-columns:minmax(0,1fr)}}
.prof-main,.prof-side{min-width:0}
.lvl-text .row .txt{flex:1;min-width:0;width:auto}
.lvl-text .row .btn{flex:none}
.tier-row{flex-wrap:wrap;row-gap:4px}
/* phones: keep every header button on screen (the eye lives in Settings there) */
@media (max-width:440px){.sections{gap:0}.sections a{padding:10px 9px}.top .wrap{gap:5px}.bal{padding:5px 8px;gap:6px}}
@media (max-width:360px){.bal .bal-stack{display:none}}
@media (max-width:440px){.top .wrap{padding-inline:12px}.top .icon-btn{width:34px;height:34px}}
@media (max-width:440px){.bal .bal-stack{display:none}}@media (max-width:350px){.top .brand{display:none}}

/* ===== One-time welcome offer ===== */
.pay-offer{position:relative;overflow:hidden;margin-top:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 22px;border-radius:20px;
  background:radial-gradient(120% 140% at 0% 0%,#ff4a7a 0%,#b0122a 32%,#5a0a6a 70%,#2a0640 100%);border:2px solid #ffe27a;box-shadow:0 0 0 2px #7a4a00,0 0 34px rgba(255,90,140,.45),0 14px 30px rgba(0,0,0,.5);animation:pooglow 2.4s ease-in-out infinite}
@keyframes pooglow{50%{box-shadow:0 0 0 2px #7a4a00,0 0 50px rgba(255,211,74,.6),0 14px 30px rgba(0,0,0,.5)}}
.po-rays{position:absolute;left:70px;top:50%;width:520px;height:520px;margin:-260px 0 0 -260px;background:repeating-conic-gradient(rgba(255,226,122,.16) 0 10deg,transparent 10deg 20deg);animation:spin 18s linear infinite;pointer-events:none}
.po-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);animation:poshine 3.4s ease-in-out infinite;pointer-events:none}
@keyframes poshine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.po-ribbon{position:absolute;top:14px;right:-38px;transform:rotate(35deg);background:linear-gradient(180deg,#ffe27a,#e0a326);color:#2a1700;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:4px 44px;border:1px solid #7a4a00;box-shadow:0 3px 8px rgba(0,0,0,.4)}
.po-art{position:relative;width:96px;height:96px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}.po-art svg{width:100%;height:100%}
.po-burst{position:absolute;right:-14px;top:-10px;width:52px;height:52px;display:grid;place-content:center;text-align:center;line-height:.95;color:#2a1700;background:radial-gradient(circle,#fff6c8,#ffd34a 60%,#e0a326);clip-path:polygon(50% 0,61% 12%,77% 5%,80% 22%,96% 25%,89% 40%,100% 52%,88% 63%,94% 79%,78% 81%,73% 97%,59% 89%,46% 100%,37% 87%,21% 94%,19% 78%,3% 73%,11% 58%,0 45%,12% 34%,6% 18%,23% 16%,28% 0,41% 10%);animation:poburst 1.6s ease-in-out infinite}
.po-burst b{font-size:15px;font-weight:900}.po-burst small{font-size:8px;font-weight:900;letter-spacing:.08em}
@keyframes poburst{50%{transform:rotate(10deg) scale(1.08)}}
.po-txt{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0}
.po-txt small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffe9a6}
.po-txt b{font-family:var(--f-display);font-size:clamp(26px,3.2vw,38px);line-height:1;background:linear-gradient(180deg,#fffbe0,#ffe27a 45%,#f0a818);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #3a0a10)}
.po-txt span{font-size:15px;color:#ffd8e0}.po-txt s{opacity:.75}.po-txt em{font-style:normal;font-weight:900;font-size:22px;color:#fff;margin-left:4px;text-shadow:0 2px 0 rgba(0,0,0,.4)}
.po-go{position:relative;white-space:nowrap;background:linear-gradient(180deg,#7dffc0,#3ddc8c 45%,#1f9e5e);border-color:#0f5a32;color:#032212;font-weight:900;box-shadow:0 0 20px rgba(61,220,140,.5),0 5px 0 #0a4a26}
.po-go:hover:not(:disabled){transform:translateY(-1px)}
@media (max-width:640px){.pay-offer{grid-template-columns:auto 1fr;padding:18px 16px}.po-go{grid-column:1/-1;width:100%}.po-art{width:76px;height:76px}}
.pc-row.offer{background:radial-gradient(120% 140% at 0% 0%,#ff4a7a,#b0122a 40%,#4a0a5a);border-color:#ffe27a}
@media (prefers-reduced-motion:reduce){.pay-offer,.po-rays,.po-shine,.po-burst{animation:none}}
@media (max-width:640px){.po-txt small{padding-right:54px;letter-spacing:.1em}.po-ribbon{right:-44px;top:12px;font-size:9px}}

.seat .tag .b .stk{display:block;font-style:normal;font-size:10.5px;color:#cbbfe6;line-height:1.15}

/* ===== Profile, Settings and History: the royal window ===== */
#me-modal .modal-card{position:relative;background:radial-gradient(120% 70% at 50% 0%,rgba(122,58,224,.28),transparent 60%),linear-gradient(180deg,#1d0b3e,#12062a 60%,#0c0418);border:2px solid #c88a12;box-shadow:0 0 0 1px #4a2600,0 0 0 5px rgba(242,196,92,.12),0 30px 80px rgba(0,0,0,.7);border-radius:22px}
#me-modal .modal-card::before{content:"";position:absolute;inset:6px;border:1px solid rgba(242,196,92,.28);border-radius:17px;pointer-events:none;z-index:0}
#me-modal .modal-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.05;background:repeating-linear-gradient(45deg,#f2c45c 0 1px,transparent 1px 26px),repeating-linear-gradient(-45deg,#f2c45c 0 1px,transparent 1px 26px);z-index:0}
#me-modal .modal-card>*{position:relative;z-index:1}
#me-modal .panel-head{background:linear-gradient(180deg,#2a1260,#1d0b3e)!important;border-bottom:1px solid rgba(242,196,92,.35);padding:14px 20px;border-radius:20px 20px 0 0}
#me-modal .panel-head::after{content:"";position:absolute;left:10%;right:10%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#ffe27a,transparent)}
#me-modal .tabs{gap:8px}
#me-modal .tabs .tab{display:flex;align-items:center;gap:7px;background:rgba(0,0,0,.3);border:1px solid rgba(242,196,92,.3);color:#d8c8f4;padding:9px 18px;font-size:14.5px;transition:background .15s,border-color .15s,transform .15s}
#me-modal .tabs .tab span{font-size:15px;filter:saturate(.9)}
#me-modal .tabs .tab:hover{border-color:rgba(242,196,92,.7);color:#fff}
#me-modal .tabs .tab[aria-selected="true"]{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c88a12);color:#2a1700;border-color:#7a4a00;box-shadow:0 0 16px rgba(242,196,92,.35),inset 0 1px 0 rgba(255,255,255,.6)}
#me-modal .x{border:1px solid rgba(242,196,92,.45);background:rgba(0,0,0,.35);color:#ffe9a6;border-radius:50%;width:38px;height:38px}
#me-modal .tabpane{padding:20px 22px 24px}
/* profile */
#me-modal .ring.big{filter:drop-shadow(0 0 14px rgba(242,196,92,.35))}
#me-modal .txt.name{background:rgba(0,0,0,.35);border:1px solid rgba(242,196,92,.35);font-family:var(--f-display);font-size:20px;font-weight:800;color:#fff3c4}
#me-modal .xpbar{height:8px;background:rgba(0,0,0,.45);border:1px solid rgba(242,196,92,.25);border-radius:999px;overflow:hidden}
#me-modal .xpbar>div{background:linear-gradient(90deg,#c88a12,#ffe27a,#fff3b0);box-shadow:0 0 10px rgba(255,211,74,.6)}
#me-modal .stat-tiles .tile{position:relative;background:linear-gradient(180deg,#2a1462,#170838);border:1px solid rgba(242,196,92,.3);border-top:2px solid #e0a326;border-radius:14px;padding:14px 8px 12px;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 14px rgba(0,0,0,.3)}
#me-modal .stat-tiles .tile b{display:block;font-size:22px;background:linear-gradient(180deg,#fffbe0,#ffe27a 50%,#e0a326);-webkit-background-clip:text;background-clip:text;color:transparent}
#me-modal .stat-tiles .tile small{display:block;margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b9a6e8}
#me-modal .ach-head .lab,#me-modal .set-side .lab{color:#ffe27a;letter-spacing:.16em}
#me-modal .ach-legend{background:linear-gradient(180deg,rgba(242,196,92,.1),rgba(242,196,92,.02));border:1px solid rgba(242,196,92,.45);border-radius:16px}
#me-modal .ach{background:linear-gradient(180deg,#22104a,#160936);border:1px solid rgba(185,166,232,.18);border-radius:14px}
#me-modal .ach.on{opacity:1;border-color:rgba(242,196,92,.7);background:linear-gradient(180deg,#3a1a6e,#22104a);box-shadow:0 0 14px rgba(242,196,92,.18)}
#me-modal .ach.on .ico{filter:drop-shadow(0 0 6px rgba(255,211,74,.6))}
#me-modal .side-card{background:linear-gradient(180deg,#26125a,#170838);border:1px solid rgba(242,196,92,.3);border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
#me-modal .side-card h4{margin:0 0 4px;font-family:var(--f-display);color:#ffe9a6;padding-bottom:8px;border-bottom:1px solid rgba(242,196,92,.2)}
#me-modal .side-card .txt{background:rgba(0,0,0,.35);border-color:rgba(242,196,92,.25)}
/* settings */
#me-modal .set-list{background:linear-gradient(180deg,#22104a,#150836);border:1px solid rgba(242,196,92,.3);border-radius:16px;padding:4px 18px}
#me-modal .set{border-bottom:1px solid rgba(242,196,92,.14)}
#me-modal .set:last-child{border-bottom:0}
#me-modal .set b{font-weight:700;color:#fff3c4;font-size:16px}
#me-modal .set small{color:#b9a6e8}
#me-modal .switch{background:rgba(0,0,0,.45);border:1px solid rgba(242,196,92,.35)}
#me-modal .switch::after{background:#8a7aaa}
#me-modal .switch:checked{background:linear-gradient(180deg,#ffe27a,#e0a326);border-color:#7a4a00}
#me-modal .switch:checked::after{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
#me-modal .set select.txt{background:rgba(0,0,0,.4);border:1px solid rgba(242,196,92,.4);color:#ffe9a6;font-family:inherit;font-weight:700}
/* history */
#me-modal .hist-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(180deg,#2a1462,#170838);border:1px solid rgba(242,196,92,.4);border-radius:16px;padding:14px 18px;margin-bottom:16px}
#me-modal #hist-sum{display:flex;gap:22px;flex-wrap:wrap}
.hs-k{display:flex;flex-direction:column;align-items:flex-start}
.hs-k b{font:800 22px var(--f-num);color:#fff3c4}.hs-k.w b{color:#7dffc0}.hs-k.l b{color:#ff9aa8}
.hs-k small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#b9a6e8}
.hs-empty{color:#cbbfe6}
#me-modal #hist-net{display:flex;flex-direction:column;align-items:flex-end;font-size:26px;font-weight:800}
#me-modal #hist-net small{font:800 10px var(--f-body,inherit);letter-spacing:.14em;text-transform:uppercase;color:#b9a6e8}
#me-modal .hist-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
#me-modal .hh{position:relative;display:flex;flex-direction:column;gap:8px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#1d7a4c,#0d4a2c 70%,#073420);border:1px solid rgba(242,196,92,.45);border-radius:16px;padding:14px 14px 12px;box-shadow:inset 0 0 0 3px rgba(0,0,0,.18),0 8px 18px rgba(0,0,0,.35)}
#me-modal .hh.lose{background:radial-gradient(120% 90% at 50% 0%,#3a1660,#22093e 70%,#160628);border-color:rgba(185,166,232,.3)}
#me-modal .hh.push{background:radial-gradient(120% 90% at 50% 0%,#33305a,#1e1b3a 70%,#141228);border-color:rgba(185,166,232,.3)}
#me-modal .hh.blackjack{border-color:#ffe27a;box-shadow:0 0 0 1px #7a4a00,0 0 18px rgba(255,211,74,.35),inset 0 0 0 3px rgba(0,0,0,.18)}
.hh-rib{position:absolute;top:10px;right:-30px;transform:rotate(35deg);width:110px;text-align:center;font-size:9.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:3px 0;background:linear-gradient(180deg,#ffe27a,#e0a326);color:#2a1700;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.hh.lose .hh-rib{background:linear-gradient(180deg,#ff7a8a,#b0122a);color:#fff}
.hh.push .hh-rib{background:linear-gradient(180deg,#d8d0ee,#8a80aa);color:#1a1230}
.hh-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:34px}
.hh-who{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.hh-cards{display:flex;gap:4px;min-width:0;overflow:hidden}
.hh-tot{font:800 15px var(--f-num);color:#fff;min-width:30px;text-align:right}
.hh-tot.is-bust{color:#ff9aa8;font-size:12px;letter-spacing:.04em}
.mc{flex:none;width:28px;height:38px;border-radius:5px;background:linear-gradient(180deg,#fffdf6,#ebe3cf);border:1px solid #c8b88a;box-shadow:0 2px 3px rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;color:#141a27}
.mc b{font:800 13px Georgia,"Times New Roman",serif}.mc i{font-style:normal;font-size:13px}
.mc.red{color:#c92a3c}
.hh-foot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:2px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12)}
.hh-foot span{font-size:11.5px;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hh-foot b{font-size:18px}.hh-foot b.w{color:#7dffc0}.hh-foot b.l{color:#ffb0b8}
@media (max-width:560px){#me-modal .tabs .tab{padding:8px 12px;font-size:13.5px}#me-modal .tabs .tab span{display:none}#me-modal .tabpane{padding:16px 14px 20px}#me-modal #hist-sum{gap:14px}.hs-k b{font-size:18px}}

/* ===== Royal frame for every game: stages, rails and headings ===== */
.game-head h2{background:linear-gradient(180deg,#fffbe0,#ffe27a 45%,#e0a326);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(20,6,50,.9))}
.game-head .back{color:#cdb8f0}
.game-head p{color:#b9a6e8}
.rail{background:linear-gradient(180deg,#22104a,#140732);border:1px solid rgba(242,196,92,.35);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 30px rgba(0,0,0,.4)}
.rail .lab,.rail label{color:#ffe27a;letter-spacing:.14em}
.rail .stat{background:rgba(0,0,0,.3);border:1px solid rgba(242,196,92,.22);border-radius:12px}
.rail .stat b{color:#fff3c4}
.rail .betrow,.rail select,.rail .seg,.rail input:not([type=range]){background:rgba(0,0,0,.35);border-color:rgba(242,196,92,.3)}
.stage.dark-stage{position:relative;background:radial-gradient(120% 90% at 50% 0%,#3a1670,#1d0b3e 55%,#0c0418);border:2px solid transparent;background-clip:padding-box;border-radius:20px;box-shadow:0 0 0 2px #7a4a00,0 0 0 5px #e0a326,0 0 0 7px #6a3c00,0 20px 50px rgba(0,0,0,.55)}
.stage.dark-stage::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.07;background:repeating-linear-gradient(45deg,#f2c45c 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,#f2c45c 0 1px,transparent 1px 22px);z-index:0}
.stage.dark-stage>canvas,.stage.dark-stage>.mgrid,.stage.dark-stage>.dice-top,.stage.dark-stage>.field,.stage.dark-stage>div:not(.hist):not(.big){position:relative;z-index:1}
.stage.dark-stage>.hist,.stage.dark-stage>.big{z-index:2}
/* crash */
.stage.crash canvas{border-radius:16px}
.crash .big b{background:linear-gradient(180deg,#fffbe0,#ffe27a 40%,#f0a818);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #3a1a00) drop-shadow(0 0 24px rgba(255,200,80,.45))}
.crash .big.boom b{background:linear-gradient(180deg,#ffd0d8,#ff5a6a 45%,#a8001e);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 4px 0 #3a0008) drop-shadow(0 0 24px rgba(255,90,106,.5))}
.crash .big span{color:#e9dcff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;text-shadow:0 2px 6px rgba(0,0,0,.8)}
.hist span{background:linear-gradient(180deg,#2a1462,#170838);border:1px solid rgba(242,196,92,.4);color:#ffe9a6;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.4)}
.hist .hi{color:#7dffc0;border-color:rgba(125,255,192,.5)}.hist .lo{color:#ffb0b8;border-color:rgba(255,97,112,.45)}
/* mines */
.stage.mines{display:grid;place-items:center;padding:22px}
.mgrid{gap:10px;width:min(100%,500px);padding:14px;border-radius:18px;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.2));box-shadow:inset 0 0 0 2px #c88a12,inset 0 0 0 4px rgba(0,0,0,.45),inset 0 0 40px rgba(0,0,0,.5)}
.mgrid button{position:relative;border-radius:12px;background:linear-gradient(180deg,#4a2290,#2a1060 60%,#1a0a3e);border:1px solid rgba(242,196,92,.45);box-shadow:inset 0 2px 0 rgba(255,255,255,.14),inset 0 -5px 0 rgba(0,0,0,.4),0 5px 12px rgba(0,0,0,.4);transition:transform .12s,filter .15s,box-shadow .15s}
.mgrid button::after{content:"";position:absolute;inset:7px;border-radius:7px;border:1px solid rgba(242,196,92,.22);pointer-events:none}
.mgrid button:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.2);box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -5px 0 rgba(0,0,0,.4),0 0 16px rgba(255,211,74,.45),0 8px 14px rgba(0,0,0,.4)}
.mgrid .gem{background:radial-gradient(circle at 50% 40%,#1a7a52,#0a3a2a 70%)!important;border-color:#3ddc8c;box-shadow:inset 0 0 22px rgba(61,220,140,.5),0 0 14px rgba(61,220,140,.45)!important}
.mgrid .gem::after{border-color:rgba(61,220,140,.35)}
.mgrid .bomb{background:radial-gradient(circle at 50% 40%,#7a1a2a,#2a0810 70%)!important;border-color:#ff5a6a;box-shadow:inset 0 0 22px rgba(255,97,112,.5),0 0 14px rgba(255,97,112,.4)!important}
.mgrid .bomb::after{border-color:rgba(255,97,112,.35)}
.mgrid .ghost{opacity:.42;filter:saturate(.6)}
.mgrid .pop .gemico{animation:gempop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes gempop{from{transform:scale(.2) rotate(-20deg)}}
.mgrid .boom .gemico{animation:bombshake .45s ease-in-out}
@keyframes bombshake{0%,100%{transform:translate(0)}25%{transform:translate(-4px,2px) rotate(-6deg)}50%{transform:translate(4px,-2px) rotate(6deg)}75%{transform:translate(-3px,-1px)}}
.gemico{width:66%;height:66%;overflow:visible;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
/* dice */
.stage.dice{padding:28px 30px 24px;display:flex;flex-direction:column;gap:26px;justify-content:center}
.die{width:92px;height:92px;border-radius:20px;background:linear-gradient(145deg,#fffdf6,#efe6cf 60%,#c8b890);border:1.5px solid #8a6a2a;box-shadow:inset 0 -7px 0 rgba(0,0,0,.14),inset 0 2px 0 rgba(255,255,255,.9),0 14px 30px rgba(0,0,0,.5),0 0 24px rgba(242,196,92,.2);padding:13px}
.die i{background:radial-gradient(circle at 35% 30%,#ff8a9a,#c0142e 60%,#5a0010);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.roll{background:linear-gradient(180deg,#fffbe0,#ffe27a 45%,#e0a326);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #3a1a00) drop-shadow(0 0 20px rgba(255,200,80,.3))}
.roll.w{background:linear-gradient(180deg,#d8ffee,#7dffc0 45%,#1f9e5e);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #063a20) drop-shadow(0 0 24px rgba(61,220,140,.5))}
.roll.l{background:linear-gradient(180deg,#ffd0d8,#ff5a6a 45%,#a8001e);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #3a0008) drop-shadow(0 0 24px rgba(255,90,106,.4))}
.track{height:22px;border-radius:999px;background:linear-gradient(180deg,#ff6a7a,#a8001e);box-shadow:inset 0 2px 6px rgba(0,0,0,.5),0 0 0 3px #6a3c00,0 0 0 5px #e0a326,0 0 0 6px #4a2600}
.track .ok{background:linear-gradient(180deg,#7dffc0,#1f9e5e);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),0 0 18px rgba(61,220,140,.5)}
.track .pin{width:22px;height:34px;top:-8px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;transform:translateX(-11px);background:radial-gradient(circle at 40% 35%,#fff6c8,#ffd34a 45%,#8a5200);border:2px solid #4a2600;box-shadow:0 4px 10px rgba(0,0,0,.5),0 0 12px rgba(255,211,74,.6)}
.track .pin::after{content:"";position:absolute;left:50%;bottom:-8px;width:2px;height:10px;margin-left:-1px;background:#ffe27a}
.track .pin.w{background:radial-gradient(circle at 40% 35%,#d8ffee,#3ddc8c 45%,#0a5a3a)}.track .pin.l{background:radial-gradient(circle at 40% 35%,#ffd0d8,#ff5a6a 45%,#5a0010)}
.scale span{color:#cdb8f0;font-weight:700}
.dice .field label{color:#ffe27a;letter-spacing:.14em;font-size:11px;text-transform:uppercase;font-weight:800}
.dice input[type=range]{appearance:none;height:10px;border-radius:999px;background:linear-gradient(90deg,#6a3c00,#e0a326,#6a3c00);box-shadow:inset 0 1px 3px rgba(0,0,0,.6)}
.dice input[type=range]::-webkit-slider-thumb{appearance:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff6c8,#ffd34a 45%,#8a5200);border:2px solid #4a2600;box-shadow:0 3px 8px rgba(0,0,0,.5);cursor:pointer}
.dice input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff6c8,#ffd34a 45%,#8a5200);border:2px solid #4a2600;cursor:pointer}

/* ===== Lobby in the royal style ===== */
.sec-title{color:#ffe9a6;text-shadow:0 2px 0 rgba(20,6,50,.9),0 0 18px rgba(242,196,92,.25)}
.sec-sub{color:#b9a6e8}
.sec-head{position:relative;padding-bottom:8px}
.sec-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(242,196,92,.7),rgba(242,196,92,.15) 50%,transparent)}
.ltabs button{background:rgba(0,0,0,.3);border:1px solid rgba(242,196,92,.3);color:#d8c8f4;border-radius:999px;padding:10px 18px;transition:background .15s,border-color .15s,transform .15s}
.ltabs button:hover{border-color:rgba(242,196,92,.7);color:#fff}
.ltabs button[aria-selected="true"]{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c88a12);color:#2a1700;border-color:#7a4a00;box-shadow:0 0 16px rgba(242,196,92,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.tile{border:1px solid rgba(242,196,92,.32)!important;border-radius:16px;background:linear-gradient(180deg,#24124e,#150a30);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.3)}
.tile h3{color:#fff3c4}
.tile p{color:#b9a6e8}
.tile .glyph,.tile .slot-glyph{border-radius:12px;box-shadow:inset 0 0 0 1px rgba(242,196,92,.35),0 6px 14px rgba(0,0,0,.35)}
.tile:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(242,196,92,.55),0 0 22px rgba(242,196,92,.22),0 16px 32px rgba(0,0,0,.4)}
.side-card{background:linear-gradient(180deg,#26125a,#170838);border:1px solid rgba(242,196,92,.3);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.3)}
.side-card .lab{color:#ffe27a;letter-spacing:.14em}
.side-card h4{color:#ffe9a6}
.reward{background:linear-gradient(180deg,#26125a,#170838);border:1px solid rgba(242,196,92,.35);border-radius:16px;box-shadow:0 8px 20px rgba(0,0,0,.3);transition:transform .15s,box-shadow .15s}
.reward:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(242,196,92,.55),0 0 18px rgba(242,196,92,.2)}
.reward .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#3a1a7e,#1a0838);border:1px solid rgba(242,196,92,.6);box-shadow:inset 0 0 12px rgba(242,196,92,.2);font-size:22px;flex:none}
.reward b{color:#fff3c4}.reward small{color:#b9a6e8}
.club-card,.club-panel,.soon-card,.pr-card,.sp-filter,.pr-filter,.slip{border-color:rgba(242,196,92,.3)!important;background:linear-gradient(180deg,#22104a,#140732)}
.club-card h3,.club-panel h3,.slip h3{color:#ffe9a6}
.jp-strip .t{background:linear-gradient(180deg,#2a1462,#170838);border:1px solid rgba(242,196,92,.35)}
.jpall{border:1px solid rgba(242,196,92,.5)}
.faq details,.lobby-intro{border-color:rgba(242,196,92,.25)}

/* ===== Sports and Predictions in the royal style ===== */
.sp-tabs{border-bottom:1px solid rgba(242,196,92,.25)}
.sp-tabs button{color:#cdb8f0;border-radius:999px}
.sp-tabs button.on{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c88a12);color:#2a1700;box-shadow:0 0 14px rgba(242,196,92,.3)}
.sp-filter{background:linear-gradient(180deg,#22104a,#140732);border-color:rgba(242,196,92,.3)!important;border-radius:999px;padding:5px}
.sp-filter button{color:#cdb8f0;border-radius:999px}
.sp-filter button.on{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c88a12);color:#2a1700}
.sp-filter select{background:rgba(0,0,0,.35);border-color:rgba(242,196,92,.3);color:#ffe9a6;border-radius:999px}
.feat{background:radial-gradient(120% 90% at 0% 0%,#1d7a4c,#0d4a2c 55%,#073420);border:1px solid rgba(242,196,92,.55);box-shadow:inset 0 0 0 3px rgba(0,0,0,.18),0 10px 24px rgba(0,0,0,.35)}
.feat-head{color:#ffe9a6}
.lg{background:linear-gradient(180deg,#22104a,#140732);border:1px solid rgba(242,196,92,.3)!important;border-radius:16px}
.lg-head{color:#ffe27a;border-bottom:1px solid rgba(242,196,92,.2);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}
.ev{border-top:1px solid rgba(242,196,92,.12)}
.ev:hover{background:rgba(255,255,255,.03)}
.grp{color:#ffe27a}
.odd{background:linear-gradient(180deg,#2a1462,#170838);border:1px solid rgba(242,196,92,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 3px 8px rgba(0,0,0,.3);transition:transform .12s,border-color .15s,box-shadow .15s}
.odd b{color:#fff3c4}.odd small{color:#b9a6e8}
.odd:hover:not(:disabled){border-color:#ffe27a;transform:translateY(-1px);box-shadow:0 0 12px rgba(242,196,92,.35)}
.odd.on{background:linear-gradient(180deg,#7dffc0,#3ddc8c 45%,#1f9e5e);border-color:#0f5a32;color:#032212;box-shadow:0 0 14px rgba(61,220,140,.5)}
.odd.on b,.odd.on small{color:#032212}
.slip,.sp-side .slip{background:linear-gradient(180deg,#26125a,#170838);border:1px solid rgba(242,196,92,.35)!important;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.slip h3{color:#ffe9a6}
.pr-head h2{color:#ffe9a6;text-shadow:0 2px 0 rgba(20,6,50,.9),0 0 18px rgba(242,196,92,.25)}
.pr-head p{color:#b9a6e8}
.pr-filter{background:linear-gradient(180deg,#22104a,#140732);border-color:rgba(242,196,92,.3)!important;border-radius:999px}
.pr-filter button{color:#cdb8f0;border-radius:999px}
.pr-filter button.on{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c88a12);color:#2a1700}
.pr-card{background:linear-gradient(180deg,#26125a,#170838)!important;border:1px solid rgba(242,196,92,.35)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 24px rgba(0,0,0,.3);transition:transform .15s,box-shadow .15s}
.pr-card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(242,196,92,.5),0 0 18px rgba(242,196,92,.2),0 14px 28px rgba(0,0,0,.4)}
.pr-card.feat{background:radial-gradient(120% 90% at 0% 0%,#4a1c86,#22093e 55%,#12062a)!important;border-color:#ffe27a!important;box-shadow:0 0 0 1px #7a4a00,0 0 24px rgba(255,211,74,.3)}
.pr-card h3{color:#fff3c4}
.gauge .g-bg{stroke:rgba(255,255,255,.1)}
.gauge b{color:#fff3c4}.gauge small{color:#b9a6e8}
.pr-card .tag,.pr-card .pick{background:linear-gradient(180deg,#ffe27a,#e0a326);color:#2a1700;border:1px solid #7a4a00}
/* ===== Shop and the shared modal frame ===== */
.modal-card.panel{background:radial-gradient(120% 70% at 50% 0%,rgba(122,58,224,.28),transparent 60%),linear-gradient(180deg,#1d0b3e,#12062a 60%,#0c0418);border:2px solid #c88a12;box-shadow:0 0 0 1px #4a2600,0 0 0 5px rgba(242,196,92,.12),0 30px 80px rgba(0,0,0,.7);border-radius:22px}
.modal-card.panel .panel-head{background:linear-gradient(180deg,#2a1260,#1d0b3e)!important;border-bottom:1px solid rgba(242,196,92,.35)}
.modal-card.panel .panel-head h3{color:#ffe9a6}
.modal-card.panel .x{border:1px solid rgba(242,196,92,.45);background:rgba(0,0,0,.35);color:#ffe9a6;border-radius:50%;width:38px;height:38px}
.shop-nav{border-right:1px solid rgba(242,196,92,.2)}
.shop-nav button{color:#cdb8f0;border-radius:12px}
.shop-nav button.on{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c88a12);color:#2a1700;border-color:#7a4a00;box-shadow:0 0 14px rgba(242,196,92,.3)}
.shop-nav button.on span{filter:none}
.item{background:linear-gradient(180deg,#26125a,#170838);border:1px solid rgba(242,196,92,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 6px 14px rgba(0,0,0,.3)}
.item .it b{color:#fff3c4}.item .it small{color:#b9a6e8}
.item.owned{border-color:rgba(61,220,140,.55);box-shadow:inset 0 0 18px rgba(61,220,140,.12)}
.item .star{color:#ffe27a}
.shop-note{background:linear-gradient(180deg,#26125a,#170838);border:1px solid rgba(242,196,92,.3);border-radius:14px}
.shop-note b{color:#ffe9a6}
.deal{border:1px solid #ffe27a;border-radius:16px;box-shadow:0 0 0 1px #7a4a00,0 0 20px rgba(255,211,74,.3)}
.deal-head{background:linear-gradient(180deg,#ffe27a,#e0a326);color:#2a1700}
/* the ranks and prize wheel dialogs */
.ranks-card,.modal-card:not(.panel){background:radial-gradient(120% 70% at 50% 0%,rgba(122,58,224,.28),transparent 60%),linear-gradient(180deg,#1d0b3e,#12062a 60%,#0c0418);border:2px solid #c88a12;box-shadow:0 0 0 1px #4a2600,0 0 0 5px rgba(242,196,92,.12),0 30px 80px rgba(0,0,0,.7)}
.modal-card h3,.ranks-card h2{color:#ffe9a6}
/* chat panel */
.chat{background:linear-gradient(180deg,#1d0b3e,#12062a);border-left:1px solid rgba(242,196,92,.3)}
.chat .chat-head,.chat h3{color:#ffe9a6}
.chat .msgs .msg .n{color:#ffe27a}
/* blackjack: gold heading and a faint crest woven into the felt */
.bj-title b{color:#ffe9a6;text-shadow:0 2px 0 rgba(20,6,50,.9),0 0 18px rgba(242,196,92,.25)}
.bj-title span{color:#b9a6e8}
.bj-stage .table::before{content:"";position:absolute;left:50%;top:9%;width:150px;height:150px;margin-left:-75px;background:url(/logo-mark.svg?v=3) center/contain no-repeat;opacity:.1;filter:grayscale(1) brightness(1.6);pointer-events:none;mix-blend-mode:luminosity}
/* ===== Hero slides on phones and small tablets: art tucked behind the text, everything fits the card ===== */
@media (max-width:700px){
  .hero-car,.slides{min-height:340px}
  .slide{display:block;padding:20px 18px 48px}
  .slide-text{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:64%}
  .slide h2{font-size:clamp(24px,7vw,30px)}
  .slide p{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .slide .cta{padding:10px 18px;font-size:14px}
  .slide-art{display:block;position:absolute;right:-8%;bottom:30px;width:46%;max-width:220px;z-index:0;pointer-events:none;opacity:.95}
  .slide-art .hero-svg{max-height:190px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
  .slide .art-wheel{width:100%}
  .dots{bottom:14px}
}
@media (min-width:701px) and (max-width:900px){
  .slide{padding:26px 26px 52px;gap:8px}
  .slide h2{font-size:clamp(24px,3.6vw,32px)}
  .slide p{font-size:14px}
  .hero-svg{max-height:230px}
}

/* ===== Blackjack table overhaul: mahogany, leather, woven felt, brass and jewels ===== */
:root{--card-back:radial-gradient(circle at 50% 50%,rgba(255,226,122,.18) 0 18%,transparent 19%),repeating-linear-gradient(45deg,rgba(255,211,74,.22) 0 1.5px,transparent 1.5px 9px),repeating-linear-gradient(-45deg,rgba(255,211,74,.22) 0 1.5px,transparent 1.5px 9px),linear-gradient(160deg,#4a1a9a,#2a0d5a 55%,#16053a)}
.bj-stage{padding:16px 16px 0;border-radius:36px 36px 44px 44px;border:2px solid #e0a326;
  background:radial-gradient(120% 50% at 50% 100%,rgba(90,30,50,.6),transparent 70%),repeating-radial-gradient(circle at 30% 20%,rgba(255,255,255,.025) 0 2px,transparent 2px 5px),linear-gradient(180deg,#5a1a2e,#3a0f1f 45%,#22060f);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.14),inset 0 0 0 6px rgba(0,0,0,.2),0 0 0 4px #3a1608,0 0 0 14px #6a2e12,0 0 0 15px #c9a34a,0 0 0 16px #3a1608,0 30px 70px rgba(0,0,0,.6)}
.bj-stage::before{inset:7px;border:1.5px dashed rgba(242,196,92,.38);border-radius:30px 30px 38px 38px}
/* the felt: woven, lit from above the dealer, dark at the rail */
.bj-stage .table{background:
  repeating-linear-gradient(45deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),
  radial-gradient(60% 55% at 50% 0%,rgba(255,240,180,.16),transparent 70%),var(--felt-bg,radial-gradient(120% 95% at 50% 0%,#1a9a62,#0b6a42 55%,#05452a));
  box-shadow:0 0 0 3px #e0a326,0 0 0 10px #2a0812,0 0 0 11px rgba(242,196,92,.45),inset 0 0 0 1px rgba(255,255,255,.1),inset 0 -50px 100px rgba(0,0,0,.45),inset 0 12px 36px rgba(0,0,0,.3)}
.bj-stage .table::after{inset:9px;border:1px solid rgba(255,226,122,.22)}
.bj-stage .table::before{top:34%;width:170px;height:170px;margin-left:-85px;opacity:.08}
.arcs .ring{stroke:rgba(255,255,255,.085);stroke-width:36}
.arcs .t1{fill:#ffe9a6;font-size:31px;letter-spacing:.18em;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}
.arcs .t2{fill:rgba(255,243,196,.8)}
.arcs .t3{fill:rgba(255,243,196,.7);letter-spacing:.16em}
.live-badge{background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border:1px solid #7a4a00;box-shadow:0 3px 8px rgba(0,0,0,.4);letter-spacing:.14em}
/* dealer station: a brass plaque and a lit pad */
.dealer{padding:30px 22px 12px;border-radius:18px;background:radial-gradient(80% 90% at 50% 0%,rgba(255,255,255,.07),transparent 75%);min-width:170px}
.dealer-plaque{position:absolute;top:-2px;left:50%;transform:translateX(-50%);padding:3px 16px;border-radius:999px;background:linear-gradient(180deg,#fff3b0,#e0a326 60%,#b8780e);color:#2a1700;font-size:10px;font-weight:900;letter-spacing:.26em;text-transform:uppercase;border:1px solid #7a4a00;box-shadow:0 3px 8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.7)}
.table[data-phase="dealer"] .dealer{box-shadow:0 0 0 1px rgba(255,226,122,.35),0 0 40px rgba(255,211,74,.3);background:radial-gradient(80% 90% at 50% 0%,rgba(255,226,122,.14),transparent 75%)}
.ttl{background:linear-gradient(180deg,#1a0a30,#0c0418);border:1px solid rgba(242,196,92,.6);color:#ffe9a6;box-shadow:0 3px 8px rgba(0,0,0,.45)}
.ttl b{color:#fff}
/* betting spots: engraved gold rings */
.seat .spot{border:2px solid rgba(255,226,122,.75);box-shadow:inset 0 0 0 4px rgba(0,0,0,.18),inset 0 0 0 5px rgba(255,226,122,.35),inset 0 0 22px rgba(0,0,0,.3);background:radial-gradient(circle,rgba(0,0,0,.14),rgba(0,0,0,.02) 70%)}
.seat.empty:not(.mine) .bets .spot{opacity:.5;border-style:solid;border-color:rgba(255,226,122,.35)}
.seat.empty:not(.mine) .bets .spot::before{content:"OPEN";font-size:9px;font-weight:800;letter-spacing:.2em;color:rgba(255,226,122,.6);align-self:center}
.seat.mine .spot{border-color:#ffe27a;box-shadow:inset 0 0 0 4px rgba(0,0,0,.18),inset 0 0 0 5px rgba(255,226,122,.5),0 0 18px rgba(255,211,74,.35)}
.table[data-phase="betting"] .seat.mine.open .spot,.table[data-phase="idle"] .seat.mine.open .spot{animation:spotpulse 1.6s ease-in-out infinite}
@keyframes spotpulse{50%{box-shadow:inset 0 0 0 4px rgba(0,0,0,.18),inset 0 0 0 5px rgba(255,226,122,.5),0 0 30px rgba(255,211,74,.7)}}
.sidespot{border:2px dashed rgba(255,226,122,.5);background:radial-gradient(circle,rgba(0,0,0,.12),transparent 70%)}
.sidespot small{color:rgba(255,243,196,.75)}
.sidespot.on{border-style:solid;border-color:rgba(255,226,122,.8)}
.seat.won .spot{border-color:#7dffc0;box-shadow:inset 0 0 0 5px rgba(125,255,192,.3),0 0 28px rgba(61,220,140,.6);animation:wonring 1s ease-in-out 3}
@keyframes wonring{50%{box-shadow:inset 0 0 0 5px rgba(125,255,192,.5),0 0 44px rgba(61,220,140,.9)}}
.seat.lost .spot{border-color:rgba(255,97,112,.6)}
/* brass nameplates */
.seat .tag{background:linear-gradient(180deg,#2a1462,#150836);border:1px solid rgba(242,196,92,.6);box-shadow:0 4px 10px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);padding:4px 14px 4px 5px}
.seat .tag .n{color:#fff3c4}
.seat .tag .b{color:#cdb8f0}
.seat.mine .tag{border-color:#ffe27a;box-shadow:0 4px 10px rgba(0,0,0,.5),0 0 14px rgba(255,211,74,.3)}
.seat .res{border:1px solid rgba(242,196,92,.4);background:linear-gradient(180deg,#1a0a30,#0c0418)}
/* chip rack and shoe in mahogany and black lacquer with gold trim */
.rack{background:linear-gradient(180deg,#6a2e12,#3a1608);border:2px solid #c9a34a;box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 6px 14px rgba(0,0,0,.5);border-radius:10px}
.shoe-body{background:linear-gradient(160deg,#2a2232,#0a0810);border:2px solid #c9a34a;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 16px rgba(0,0,0,.55)}
.shoe-body i{background:var(--card-back);border:1px solid rgba(255,226,122,.5)}
.discard{background:var(--card-back);border-color:rgba(255,226,122,.5)}
/* cards: ivory stock, gold hairline, serif corners, framed face cards, royal backs */
.card{background:linear-gradient(160deg,#fffdf6,#f3ecd8 70%,#e6dcc0);border:1px solid #c8b88a;box-shadow:inset 0 0 0 3px #fffdf6,inset 0 0 0 4px rgba(200,150,60,.45),0 6px 14px rgba(0,0,0,.45);font-family:Georgia,"Times New Roman",serif;font-weight:700}
.card .c1,.card .c2{font-size:15px;line-height:1}
.card .c1 i,.card .c2 i{font-size:.9em}
.card .mid{font-size:2.1em;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.card.face .mid{font-size:1em}
.card.face .mid::before{display:none}
.card.face .fr{position:absolute;inset:27% 22%;border:2px solid currentColor;border-radius:5px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,226,122,.35),transparent 50%,rgba(255,226,122,.35));box-shadow:inset 0 0 0 2px #fffdf6,inset 0 0 0 3px rgba(200,150,60,.6)}
.card.face .fr b{font-size:1.55em;line-height:1;background:linear-gradient(180deg,currentColor,currentColor);-webkit-background-clip:text;background-clip:text}
.card.face .fr i{position:absolute;right:3px;bottom:2px;font-style:normal;font-size:.8em}
.card.red{color:#c0142e}
.card.back{background:var(--card-back);border:3px solid #fffdf6;box-shadow:inset 0 0 0 1px rgba(255,226,122,.7),0 6px 14px rgba(0,0,0,.45)}
.crest-back .card.back::after,.crest-back .shoe-body i:first-child::after{content:"";position:absolute;inset:0;background:url(/logo-mark.svg?v=3) center/40% no-repeat;opacity:.9;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
/* the rail: dark leather with gold rivets, jewel buttons */
.bj-stage .bj-rail{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.4));border-top:1px solid rgba(242,196,92,.25);border-radius:0 0 30px 30px}
.bj-stage .bj-rail::before,.bj-stage .bj-rail::after{content:"";position:absolute;top:14px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6c8,#e0a326 50%,#6a3c00);box-shadow:0 1px 2px rgba(0,0,0,.6)}
.bj-stage .bj-rail::before{left:16px}.bj-stage .bj-rail::after{right:16px}
.rail-status .bj-status{color:#ffe9a6;font-weight:700}
.act{border:2px solid rgba(0,0,0,.4);box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -5px 0 rgba(0,0,0,.28),0 0 0 2px rgba(242,196,92,.35),0 8px 18px rgba(0,0,0,.45);font-weight:900;letter-spacing:.02em;transition:transform .1s,box-shadow .15s,filter .15s}
.act:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08);box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -5px 0 rgba(0,0,0,.28),0 0 0 2px rgba(242,196,92,.7),0 0 20px rgba(242,196,92,.35),0 12px 22px rgba(0,0,0,.45)}
.act:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.28),0 0 0 2px rgba(242,196,92,.5),0 4px 10px rgba(0,0,0,.45)}
.act kbd{background:rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.3);color:inherit}
.act.hit{background:linear-gradient(180deg,#8dffc8,#3ddc8c 45%,#178a52);border-color:#0f5a32}
.act.stand{background:linear-gradient(180deg,#ff9aa8,#e0243a 45%,#8a0a1a);border-color:#5a0614;color:#fff}
.act.double{background:linear-gradient(180deg,#fff6c8,#f2c45c 45%,#b8780e);border-color:#7a4a00}
.bj-stage .bj-target button{border:1px solid rgba(242,196,92,.3);color:#cdb8f0}
.bj-stage .bj-target button[aria-pressed="true"]{background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border-color:#7a4a00}
.bj-betinfo small{color:#ffe27a;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}
.bj-betinfo b{color:#fff3c4}
.btn.deal{box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -5px 0 rgba(0,0,0,.28),0 0 0 2px rgba(242,196,92,.35),0 8px 18px rgba(0,0,0,.45)}
/* the multiplier sits above the rocket's flight path, not on it */
.crash .big{inset:auto auto 18px 18px;display:block;text-align:left;padding:10px 18px 8px 16px;border-radius:14px;background:linear-gradient(180deg,rgba(26,10,48,.85),rgba(12,4,24,.9));border:1px solid rgba(242,196,92,.55);box-shadow:0 8px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.crash .big b{font-size:clamp(34px,4.6vw,52px);line-height:1}
.crash .big span{text-align:left;margin-top:2px}
.crash .big.boom{border-color:rgba(255,97,112,.7)}
@media (max-width:700px){.crash .big{inset:auto auto 12px 12px;padding:8px 14px 6px 12px}.crash .big b{font-size:30px}}

/* ---- Founder Pack, extras, founder badge ---- */
.pack .pk-free{font-size:11px;font-weight:800;color:#7dffc0;margin-top:-4px}
.pack .pk-chips{font-size:14px}
.founder{position:relative;margin-top:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 22px 18px;border-radius:18px;border:2px solid #ffd34a;background:radial-gradient(120% 100% at 0% 0%,rgba(255,211,74,.22),transparent 55%),linear-gradient(135deg,#3a1770,#1a0a3e 60%,#2a0d5a);box-shadow:0 0 0 1px #7a4a00,0 0 30px rgba(255,211,74,.25),inset 0 1px 0 rgba(255,255,255,.12)}
.founder.mine{border-color:#7dffc0;box-shadow:0 0 0 1px #0b5a3a,0 0 26px rgba(125,255,192,.25)}
.founder.gone{opacity:.7;filter:saturate(.6)}
.fd-ribbon{position:absolute;top:-12px;left:18px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border:1px solid #7a4a00;box-shadow:0 4px 10px rgba(0,0,0,.4)}
.founder.mine .fd-ribbon{background:linear-gradient(180deg,#b8ffe0,#3ddc8c);color:#03301c;border-color:#0b5a3a}
.fd-crown{font-size:56px;line-height:1;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(255,211,74,.6));animation:fdbob 2.4s ease-in-out infinite}
@keyframes fdbob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}
.fd-txt b{display:block;font-family:var(--f-display);font-size:22px;color:#fff3c4;margin-bottom:6px}
.fd-txt ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;font-size:13px;color:var(--muted)}
.fd-txt li::before{content:"✦ ";color:#ffd34a}
.fd-txt em{font-style:normal;color:#ffe27a;font-weight:700}
.fd-buy .btn{font-size:16px;padding:12px 22px;white-space:nowrap}
.fd-buy .own{font-weight:800;color:#7dffc0}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.extra{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--panel-2);border:1px solid rgba(242,196,92,.3)}
.extra .ex-ico{font-size:30px;flex:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}
.extra>div{flex:1;min-width:0}
.extra b{display:block;font-family:var(--f-display);font-size:15px}
.extra>div span{display:block;font-size:12px;color:var(--muted);line-height:1.35}
.extra .btn,.extra .own{flex:none;white-space:nowrap}
.extra .own{font-size:12px;font-weight:800;color:#7dffc0}
.fbadge{display:inline-block;font-style:normal;font-size:.72em;font-weight:900;line-height:1;margin-left:5px;padding:2px 6px;border-radius:999px;background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border:1px solid #7a4a00;vertical-align:middle;letter-spacing:.02em}
.pc-emoji{font-size:44px;line-height:1;display:grid;place-items:center;width:100%;height:100%}
@media (max-width:640px){.founder{grid-template-columns:auto 1fr;padding:22px 16px 16px}.fd-buy{grid-column:1/-1}.fd-buy .btn{width:100%}.fd-txt ul{grid-template-columns:1fr}.fd-crown{font-size:44px}.extras{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fd-crown{animation:none}}

/* ---- Casino chips: edge inserts round the rim, a raised inlay with a fine ring, a gloss highlight and a visible edge ---- */
.bj-chips .chip:not(.allin) {border:0!important;
  background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.42),rgba(255,255,255,0) 40%),
    radial-gradient(circle,transparent 0 60%,rgba(0,0,0,.28) 61% 63%,transparent 64%),
    repeating-conic-gradient(from 11deg,#fdf8ec 0 14deg,var(--cc) 14deg 45deg)!important;
  box-shadow:0 4px 0 color-mix(in srgb,var(--cc) 45%,#000),0 5px 0 rgba(0,0,0,.35),0 9px 14px rgba(0,0,0,.45),inset 0 0 0 2px color-mix(in srgb,var(--cc) 60%,#000),inset 0 2px 1px rgba(255,255,255,.35)!important;
  text-shadow:0 1px 0 rgba(0,0,0,.55)}
.bj-chips .chip:not(.allin) span {width:64%!important;height:64%!important;border-radius:50%;
  background:radial-gradient(circle at 40% 30%,color-mix(in srgb,var(--cc) 70%,#fff),var(--cc) 55%,color-mix(in srgb,var(--cc) 65%,#000))!important;
  box-shadow:0 0 0 2px rgba(255,248,225,.9),0 0 0 3px color-mix(in srgb,var(--cc) 50%,#000),inset 0 0 0 3px color-mix(in srgb,var(--cc) 80%,#000),inset 0 -2px 4px rgba(0,0,0,.35),inset 0 2px 3px rgba(255,255,255,.3);
  outline:1px dashed rgba(255,255,255,.55);outline-offset:-5px;font-weight:800;letter-spacing:-.02em}
.bj-chips .chip.c5k span {color:#1a1a1a;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.bj-chips .chip.c100 span {text-shadow:0 1px 0 rgba(90,50,0,.8)}
.bj-chips .chip:not(.allin){transition:transform .16s cubic-bezier(.2,1.5,.4,1),filter .2s}
.bj-chips .chip:not(.allin):hover:not(:disabled){transform:translateY(-6px) rotate(-8deg);filter:brightness(1.08)}
.bj-chips .chip:not(.allin):active:not(:disabled){transform:translateY(-2px) scale(.96)}
.bj-chips .allin{background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.3),transparent 40%),repeating-conic-gradient(from 11deg,#ffe27a 0 14deg,#2a0d5a 14deg 45deg)!important;border:0!important;box-shadow:0 4px 0 #120530,0 9px 14px rgba(0,0,0,.45),inset 0 0 0 2px #7a4a00!important}
.bj-chips .allin span{width:66%!important;height:66%!important;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 30%,#5a2aa8,#2a0d5a 70%)!important;box-shadow:0 0 0 2px #ffe27a,inset 0 0 0 2px #1a0a30;color:#ffe27a;font-size:9.5px;line-height:1.05;letter-spacing:.02em}
.bj-chips .chip.c100k span{font-size:10px;letter-spacing:-.04em}

.cr-sound{position:absolute;top:12px;right:14px;z-index:3;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:999px;background:rgba(10,4,30,.65);border:1px solid rgba(242,196,92,.45);backdrop-filter:blur(6px)}
.cr-sound button{width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.08);font-size:15px;line-height:1;cursor:pointer;padding:0}
.cr-sound button:hover{background:rgba(255,226,122,.2)}
.cr-sound input{-webkit-appearance:none;appearance:none;width:90px;height:5px;border-radius:999px;background:linear-gradient(90deg,#ffd34a var(--v,80%),rgba(255,255,255,.18) var(--v,80%));cursor:pointer}
.cr-sound input.off{opacity:.5}
.cr-sound input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff3c4;border:2px solid #e0a326;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.cr-sound input::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff3c4;border:2px solid #e0a326}
@media (max-width:700px){.cr-sound input{width:64px}.cr-sound{top:auto;bottom:10px;right:10px}}
#cr-hist{right:170px}@media (max-width:700px){#cr-hist{right:0}}
.stage.dark-stage.crash > div.cr-sound{position:absolute;z-index:3;top:12px;right:14px;left:auto;bottom:auto;width:auto;height:auto;inset:12px 14px auto auto}@media (max-width:700px){.stage.dark-stage.crash > div.cr-sound{inset:auto 10px 10px auto}}

/* ---- invite + streak ---- */
.side-card.invite{border-color:rgba(125,255,192,.4);background:radial-gradient(120% 100% at 0 0,rgba(61,220,140,.14),transparent 60%),var(--panel)}
.inv-link{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.inv-banner{display:flex;align-items:center;gap:14px;margin-top:12px;padding:12px 16px;border-radius:14px;border:1px solid rgba(125,255,192,.45);background:linear-gradient(90deg,rgba(61,220,140,.16),rgba(61,220,140,.04))}
.inv-banner .ib-ico{font-size:30px}.inv-banner>div{flex:1;min-width:0}.inv-banner b{display:block;font-family:var(--f-display);font-size:16px}.inv-banner small{color:var(--muted);font-size:12px}
@media (max-width:640px){.inv-banner{flex-wrap:wrap}.inv-banner .btn{width:100%}}
.streak-card{width:min(100%,520px)!important;padding:26px 22px 22px!important;text-align:center!important;align-items:center!important;gap:6px!important;background:radial-gradient(90% 60% at 50% 0%,rgba(255,140,40,.25),transparent 70%),linear-gradient(180deg,#2a1462,#150836)!important;border:2px solid #ffd34a!important}
.sk-flame{font-size:54px;line-height:1;filter:drop-shadow(0 0 18px rgba(255,140,40,.8));animation:skf 1.2s ease-in-out infinite alternate}
@keyframes skf{from{transform:scale(1) rotate(-4deg)}to{transform:scale(1.1) rotate(4deg)}}
.sk-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffb84a}
.streak-card h3{margin:0;font-family:var(--f-display);font-size:34px;color:#fff3c4}
.sk-won{margin:0 0 8px;font-family:var(--f-num);font-size:22px;font-weight:800;color:#7dffc0}
.sk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;margin:6px 0 4px}
.sk-day{position:relative;padding:8px 2px 7px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid rgba(242,196,92,.25);display:flex;flex-direction:column;gap:2px;align-items:center}
.sk-day small{font-size:9.5px;color:var(--muted);font-weight:700}.sk-day b{font-family:var(--f-num);font-size:12px;color:#ffe27a}
.sk-day.done{opacity:.6}.sk-day.done i{position:absolute;top:-6px;right:-4px;font-style:normal;font-size:11px;background:#3ddc8c;color:#03301c;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;font-weight:900}
.sk-day.now{background:linear-gradient(180deg,#ffe9a6,#e0a326);border-color:#fff3b0;box-shadow:0 0 16px rgba(255,211,74,.55);transform:translateY(-3px)}.sk-day.now small,.sk-day.now b{color:#2a1700}
.sk-day.big:not(.now){border-color:#ffd34a;background:rgba(255,211,74,.12)}
.streak-card .btn{width:100%;margin-top:8px}
@media (max-width:460px){.sk-days{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.sk-flame{animation:none}}
/* slot picker tiles: earlier ".mach" icon rules were shrinking the scene to a 42px box in the corner */
.hud-pick .mach.mcard .mc-scene{position:absolute;inset:0;width:auto!important;height:auto!important;display:block;border-radius:0;background:none;margin:0}
.hud-pick .mach.mcard .mc-sym{height:auto!important}
.hud-pick .mach.mcard .mc-sym,.hud-pick .mach.mcard .mc-name{background:none;border-radius:0;font-size:inherit}
.hud-pick .mach.mcard .mc-name{display:block;height:auto;font:800 clamp(11px,1vw,14px)/1.05 var(--f-display)}
.hud-pick .mach.mcard .mc-sym{display:block}

/* ===== Roulette: dozens, columns and the inside bets between the numbers ===== */
.rtable{grid-template-columns:44px repeat(12,minmax(36px,1fr)) 44px;grid-template-rows:repeat(3,40px) 34px 38px;position:relative;min-width:600px}
.rtable .o.col{font-size:11px;font-family:var(--f-num)}
.rtable .hs{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;z-index:4;cursor:pointer;transform:none}
.rtable .hs::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#e0a326 60%,#7a4a00);box-shadow:0 0 0 1.5px rgba(0,0,0,.5),0 0 6px rgba(255,211,74,.5);opacity:.45;transition:opacity .15s,transform .15s}
.rtable .hs:hover{filter:none;transform:none}.rtable .hs:hover::before,.rtable .hs:focus-visible::before{opacity:1;transform:scale(1.5)}
.rtable .hs.hit{outline:0;box-shadow:none;animation:none}.rtable .hs.hit::before{opacity:1;transform:scale(1.6);background:radial-gradient(circle at 35% 30%,#fff,#ffe27a 60%,#c88a12);box-shadow:0 0 0 2px #fff,0 0 14px #ffe27a}
.rtable .hs:has(.chipm)::before{opacity:0}
.rtable .hs .chipm.chip{margin:-16px 0 0 -16px}
.rl-hint{margin:8px 2px 0;font-size:12px;color:#cbbfe6;line-height:1.5;min-height:1.5em;text-align:center}
@media (hover:none){.rtable .hs::before{opacity:.7}}

/* ===== Lobby banner: the roulette ball drifts down into the pockets; the poker fan deals itself ===== */
.hero-svg .h-ballin{animation:hballin 6s ease-in-out infinite;transform-origin:0 0}
@keyframes hballin{0%,55%{transform:scale(1)}80%,92%{transform:scale(.78)}100%{transform:scale(1)}}
.hero-svg .h-fan{animation:hfan 6s ease-out infinite;transform-box:view-box;transform-origin:160px 260px}
@keyframes hfan{0%{transform:translate(0,40px) rotate(-30deg);opacity:0}10%,88%{transform:none;opacity:1}100%{transform:none;opacity:1}}

/* ===== Royal once-over: the last teal and green surfaces join the purple and gold ===== */
.stage.mines{background:radial-gradient(120% 90% at 50% 0%,#3a1670,#1d0b3e 55%,#0c0418)!important;border-color:transparent!important}
.feat{background:radial-gradient(120% 90% at 0% 0%,#4a1c86,#22093e 55%,#12062a)!important;border:1px solid rgba(242,196,92,.55)!important;box-shadow:inset 0 0 0 3px rgba(0,0,0,.18),0 0 0 1px #7a4a00,0 10px 24px rgba(0,0,0,.35)}

/* ===== Invite rules ===== */
.inv-rules{margin:8px 0 10px;padding-left:18px;font-size:12.5px;line-height:1.5;color:#e2d6ff}.inv-rules li{margin:3px 0}.inv-rules li::marker{color:#ffd34a;font-weight:800}
.invite .hint a{color:#ffe9a6;text-decoration:underline}
/* ===== Chip packs: wider art for the new stacks ===== */
.pack .pk-art{width:110px;height:92px;display:block;margin:0 auto 4px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.5))}
.pc-art{width:86px;height:72px}

/* ===== Poker: the table lobby ===== */
.pk-lobby-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-4px 0 16px}
.pk-seated{flex:1;padding:10px 14px;border-radius:12px;background:rgba(242,196,92,.1);border:1px solid rgba(242,196,92,.45);color:#ffe9a6;font-size:14px}.pk-seated a{color:#fff;font-weight:800}
.pk-open{margin-left:auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 22px}.pk-open small{font-weight:600;font-size:11px;opacity:.75;letter-spacing:0;text-transform:none}
.pk-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:12px 0 26px}
.pk-tcard{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px 16px 14px;border-radius:18px;text-decoration:none;color:#fff;background:radial-gradient(120% 80% at 0 0,rgba(255,211,74,.12),transparent 55%),linear-gradient(180deg,#2a1060,#170838);border:1.5px solid rgba(242,196,92,.4);box-shadow:0 10px 30px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .15s,border-color .15s}
.pk-tcard:hover{transform:translateY(-3px);border-color:#ffe27a}
.pk-tcard.here{border-color:#ffe27a;box-shadow:0 0 0 1px #7a4a00,0 0 24px rgba(255,211,74,.3)}
.pk-tcard.house::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 1px,transparent 1px 10px)}
.pk-tc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pk-tc-top b{font:800 18px/1.1 var(--f-display);color:#ffe9a6}
.pk-badge{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15);color:#cbbfe6;white-space:nowrap}
.pk-badge.low{color:#7dffc0;border-color:rgba(61,220,140,.5)}.pk-badge.mid{color:#ffe27a;border-color:rgba(242,196,92,.55)}.pk-badge.high{color:#ffb0b8;border-color:rgba(255,97,112,.55)}.pk-badge.user{color:#d8c8ff;border-color:rgba(192,132,252,.5)}
.pk-tc-blinds,.pk-tc-buy{display:flex;justify-content:space-between;font-size:13px;color:#b9a6e8}.pk-tc-blinds b,.pk-tc-buy b{color:#fff}
.pk-tc-seats{display:flex;align-items:center;gap:10px;font-size:12px;color:#cbbfe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk-tc-seats .dots{display:flex;gap:4px;flex:none}.pk-tc-seats .dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.pk-tc-seats .dots i.on{background:#3ddc8c;border-color:#1f9e5e;box-shadow:0 0 6px rgba(61,220,140,.6)}
.pk-tc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.pk-live{font-size:12px;font-weight:700;color:#7dffc0}.pk-live.wait{color:#b9a6e8}
.pk-tc-go{font-weight:800;color:#ffe9a6}
.pk-tc-meta{font-size:11px;color:#9f8dc9}.pk-close{background:none;border:0;color:#ffb0b8;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
.pk-empty{grid-column:1/-1;padding:22px;border-radius:16px;border:1.5px dashed rgba(242,196,92,.35);color:#b9a6e8;text-align:center;line-height:1.5}
.pk-create-card,.pk-buy-card{max-width:460px;text-align:left}.pk-create-card h3,.pk-buy-card h3{margin:0 0 6px;font:800 24px/1.1 var(--f-display);color:#ffe9a6}
.pk-create-card input[type=text],.pk-create-card #pk-cname{width:100%;margin:6px 0 14px}
.pk-blinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 16px}
.pk-blinds button{padding:9px 6px;border-radius:12px;border:1.5px solid rgba(242,196,92,.3);background:rgba(0,0,0,.25);color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:center}.pk-blinds button b{font-family:var(--f-num);font-size:13px}.pk-blinds button small{font-size:10px;color:#b9a6e8}
.pk-blinds button[aria-pressed=true]{border-color:#ffe27a;background:rgba(242,196,92,.16);box-shadow:0 0 14px rgba(255,211,74,.25)}
.pk-buyrow{display:flex;align-items:center;gap:14px;margin:12px 0}.pk-buyrow input{flex:1}.pk-buyrow b{min-width:110px;text-align:right;font-size:18px;color:#ffe9a6}
.pk-presets{display:flex;gap:6px;flex-wrap:wrap}.pk-presets button{flex:1;padding:7px 8px;border-radius:999px;border:1px solid rgba(242,196,92,.4);background:rgba(0,0,0,.25);color:#ffe9a6;font-weight:700;font-size:12px;cursor:pointer}.pk-presets button:hover{background:rgba(242,196,92,.18)}
.pk-buy-card .btn.big{margin-top:14px;width:100%}

/* ===== Poker: the table. Same mahogany, leather and gold as the blackjack table, on a royal purple felt ===== */
.pk-topbtns{display:flex;gap:8px}
.pk-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}
.pk-stage{padding:16px 16px 0;border-radius:36px 36px 28px 28px;border:2px solid #e0a326;
  background:radial-gradient(120% 50% at 50% 100%,rgba(90,30,50,.6),transparent 70%),repeating-radial-gradient(circle at 30% 20%,rgba(255,255,255,.025) 0 2px,transparent 2px 5px),linear-gradient(180deg,#5a1a2e,#3a0f1f 45%,#22060f);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.14),inset 0 0 0 6px rgba(0,0,0,.2),0 0 0 4px #3a1608,0 0 0 14px #6a2e12,0 0 0 15px #c9a34a,0 0 0 16px #3a1608,0 30px 70px rgba(0,0,0,.6);margin:0 16px}
.pk-felt{position:relative;aspect-ratio:16/10;min-height:470px;max-height:640px;border-radius:46%/40%;overflow:visible;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),radial-gradient(60% 55% at 50% 0%,rgba(255,240,180,.14),transparent 70%),radial-gradient(120% 95% at 50% 0%,#5a2aa8,#3a1480 55%,#1d0a44);
  box-shadow:0 0 0 3px #e0a326,0 0 0 10px #2a0812,0 0 0 11px rgba(242,196,92,.45),inset 0 0 0 1px rgba(255,255,255,.1),inset 0 -50px 100px rgba(0,0,0,.45),inset 0 12px 36px rgba(0,0,0,.3)}
.pk-felt::after{content:"";position:absolute;inset:10px;border-radius:inherit;border:1px solid rgba(255,226,122,.22);pointer-events:none}
.pk-centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);display:flex;flex-direction:column;align-items:center;gap:8px;width:min(70%,460px);z-index:1}
.pk-plaque{text-align:center;color:rgba(255,243,196,.75);font:800 13px/1.2 var(--f-display);letter-spacing:.2em;text-transform:uppercase}.pk-plaque b{display:block;font-size:17px;color:rgba(255,243,196,.9);letter-spacing:.08em;text-transform:none}.pk-plaque span{display:block;font:italic 500 11px/1.3 var(--f-body);letter-spacing:.06em;text-transform:none;margin-top:2px}
.pk-board{display:flex;gap:8px;min-height:96px;justify-content:center}
.pk-board .card,.pcards .card{animation:none}
.pk-board .card.fly,.pcards .card.fly{animation:pkdeal .38s cubic-bezier(.2,.9,.3,1) both;animation-delay:var(--d,0ms)}
@keyframes pkdeal{from{transform:translate(0,-120px) rotate(-8deg) scale(.7);opacity:0}}
.pk-board .card.slot{background:none;border:1.5px dashed rgba(255,226,122,.3);box-shadow:inset 0 0 0 4px rgba(0,0,0,.12)}
.pk-pot{display:flex;align-items:center;gap:10px;min-height:38px;color:#ffe9a6;font-size:16px;font-weight:800}
.pk-potlabel{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,233,166,.7)}.pk-potchips{transform:scale(.9)}
.pk-msg{font-size:12px;color:#cbbfe6;font-style:italic;min-height:1.2em}
.pk-seats{position:absolute;inset:0}
.pseat{position:absolute;width:150px;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%,-50%);z-index:2}
.pseat.s0{left:50%;top:91%}.pseat.s1{left:12%;top:73%}.pseat.s2{left:12%;top:27%}.pseat.s3{left:50%;top:9%}.pseat.s4{left:88%;top:27%}.pseat.s5{left:88%;top:73%}
.pseat.empty{justify-content:center;height:70px}
.pk-sit{padding:10px 18px;border-radius:999px;border:2px dashed rgba(255,226,122,.6);background:rgba(0,0,0,.25);color:#ffe9a6;font-weight:800;cursor:pointer;transition:transform .12s,background .15s}.pk-sit:hover{background:rgba(242,196,92,.2);transform:scale(1.05)}
.pk-emptytag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,226,122,.45);border:1.5px dashed rgba(255,226,122,.3);border-radius:999px;padding:6px 14px}
.pseat .tag{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:999px;background:linear-gradient(180deg,#1a0a30,#0c0418);border:1px solid rgba(242,196,92,.55);box-shadow:0 4px 12px rgba(0,0,0,.5);position:relative;max-width:100%;color:#fff}
.pseat .tag .n{display:block;font-weight:800;font-size:13px;line-height:1.1;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pseat .tag .b{display:block;font-size:11px;color:#ffe9a6;line-height:1.2}
.pseat .tag .av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#3a1480;font-weight:800;flex:none}.pseat .tag .av svg{width:100%;height:100%}
.pseat.turn .tag{border-color:#ffe27a;box-shadow:0 0 0 2px rgba(255,226,122,.35),0 0 22px rgba(255,211,74,.5)}
.pseat.mine .tag{border-color:#ffe27a}
.pseat.folded .tag,.pseat.waiting .tag,.pseat.away .tag{opacity:.55}
.pseat.won .tag{border-color:#7dffc0;box-shadow:0 0 0 2px rgba(61,220,140,.4),0 0 26px rgba(61,220,140,.55)}
@property --pkp{syntax:'<percentage>';inherits:false;initial-value:100%}
.ptimer{position:absolute;inset:-4px;border-radius:999px;pointer-events:none;--pkp:calc(var(--left) / var(--t) * 100%);background:conic-gradient(#ffe27a var(--pkp),rgba(255,255,255,.1) 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:3px;animation:ptimer var(--left) linear forwards}
@keyframes ptimer{to{--pkp:0%}}
.pcards{display:flex;justify-content:center;height:62px}.pcards .card{width:46px;height:64px;font-size:15px;border-radius:7px}.pcards .card+.card{margin-left:-16px;transform:rotate(7deg) translateY(2px)}
.pcards.folded{opacity:.3;filter:grayscale(.7)}
.pcards .card.reveal{animation:pkflip .5s ease both}@keyframes pkflip{from{transform:rotateY(90deg)}}
.pseat.mine .pcards .card{width:62px;height:86px;font-size:20px}.pseat.mine .pcards{height:84px}
.pbet{position:absolute;display:flex;align-items:center;gap:6px;z-index:3;pointer-events:none}.pbet small{color:#ffe9a6;font-weight:800;font-size:11px;text-shadow:0 1px 0 #000}
.pbet .stack.sm{transform:scale(.8)}
.pseat.s0 .pbet{top:-44px;left:50%;transform:translateX(-50%)}.pseat.s3 .pbet{bottom:-44px;left:50%;transform:translateX(-50%)}
.pseat.s1 .pbet,.pseat.s2 .pbet{left:100%;top:30%}.pseat.s4 .pbet,.pseat.s5 .pbet{right:100%;top:30%;flex-direction:row-reverse}
.pk-dbtn{position:absolute;right:-6px;top:30%;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff,#d8d8d8);color:#1a0a30;font:900 11px/22px var(--f-display);text-align:center;border:1px solid #777;box-shadow:0 2px 4px rgba(0,0,0,.5);z-index:3}
.pseat.s4 .pk-dbtn,.pseat.s5 .pk-dbtn{right:auto;left:-6px}
.pact{position:absolute;top:-10px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;background:linear-gradient(180deg,#fff3b0,#e0a326);color:#2a1700;border:1px solid #7a4a00;box-shadow:0 3px 8px rgba(0,0,0,.45);z-index:4;animation:pkpop .25s cubic-bezier(.2,1.5,.4,1);white-space:nowrap}
.pact.f{background:linear-gradient(180deg,#3a3f52,#1a1e2a);color:#cbd;border-color:#000}.pact.r{background:linear-gradient(180deg,#ff6a7a,#b0182e);color:#fff;border-color:#5a0614}.pact.a{background:linear-gradient(180deg,#c084fc,#7b3fe0);color:#fff;border-color:#3a1480}
.pseat .pcards~.pact{top:-12px}
@keyframes pkpop{from{transform:scale(.5);opacity:0}}
.pwin{position:absolute;top:-14px;padding:5px 12px;border-radius:999px;background:linear-gradient(180deg,#9dffd0,#3ddc8c 50%,#1f9e5e);color:#032212;font:800 14px/1 var(--f-num);border:1px solid #0f5a32;box-shadow:0 4px 14px rgba(61,220,140,.5);z-index:5;text-align:center;animation:pkpop .35s cubic-bezier(.2,1.5,.4,1)}.pwin small{display:block;font:700 10px/1.2 var(--f-body);margin-top:2px}
.phand{position:absolute;top:-10px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.6);color:#ffe9a6;font-size:11px;font-weight:700;border:1px solid rgba(242,196,92,.4);z-index:4;white-space:nowrap}
.pk-fx{position:absolute;inset:0;pointer-events:none;z-index:6}.pk-fx .fx-chip{position:absolute;transform:translate(-50%,-50%)}
/* the action bar under the felt */
.pk-bar{margin:12px -16px 0;padding:14px 18px 16px;border-radius:0 0 26px 26px;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45));border-top:1px solid rgba(242,196,92,.35)}
.pk-status{display:flex;align-items:center;justify-content:center;gap:12px;min-height:32px;font-weight:700;color:#ffe9a6}.pk-status .w{color:#7dffc0}
.pk-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.act.fold{background:linear-gradient(180deg,#5a6478,#2a2f3c);border-color:#0e1018;min-width:120px}
.act.check{background:linear-gradient(180deg,#3ddc8c,#1f9e5e);border-color:#0f5a32;color:#032212;min-width:150px}.act.check.call{background:linear-gradient(180deg,#5ab0ff,#2a6fd0);border-color:#0a3a80;color:#fff}
.pk-raise{display:flex;flex-direction:column;gap:6px;min-width:300px;flex:1;max-width:480px}
.pk-rzrow{display:flex;align-items:center;gap:8px}.pk-rzrow input[type=range]{flex:1;min-width:80px}.pk-amt{width:130px}.pk-amt input{width:100%}
.act.raise{background:linear-gradient(180deg,#ff6a7a,#b0182e);border-color:#5a0614;min-width:150px;font-size:15px;padding:12px 14px}
.pk-chat{display:flex;flex-direction:column;height:min(640px,calc(100vh - 220px));min-height:380px;padding:12px}
.pk-chat-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#ffe9a6;padding:0 2px 8px;border-bottom:1px solid rgba(242,196,92,.3)}
.pk-msgs{flex:1;overflow-y:auto;padding:8px 2px;display:flex;flex-direction:column;gap:5px}.pk-msgs .m{font-size:13px;line-height:1.35;word-break:break-word}.pk-msgs .m b{color:#ffe9a6;margin-right:6px}.pk-msgs .m.sys{color:#9f8dc9;font-style:italic;font-size:12px}
.pk-chatform{display:flex;gap:6px;padding-top:8px;border-top:1px solid rgba(242,196,92,.3)}.pk-chatform input{flex:1;min-width:0}
@media (max-width:1000px){.pk-layout{grid-template-columns:1fr}.pk-chat{height:300px;min-height:0}}
@media (max-width:760px){.pk-stage{margin:0 6px;padding:8px 8px 0;border-radius:24px}.pk-felt{min-height:0;aspect-ratio:3/4;border-radius:40%/30%}.pseat{width:112px}.pseat .tag .n{max-width:64px;font-size:11px}.pseat .tag .b{font-size:10px}.pcards .card{width:36px;height:50px;font-size:12px}.pseat.mine .pcards .card{width:48px;height:66px;font-size:15px}.pk-board{gap:4px;min-height:64px}.pk-board .card{width:44px;height:62px;font-size:14px}.pk-centre{width:92%;transform:translate(-50%,-58%)}.pk-plaque b{font-size:13px}.pk-plaque span{display:none}
  .pseat.s1{left:14%;top:70%}.pseat.s2{left:14%;top:30%}.pseat.s4{left:86%;top:30%}.pseat.s5{left:86%;top:70%}.pseat.s3{top:8%}
  .pk-bar{margin:8px -8px 0;padding:10px}.pk-raise{min-width:0;width:100%}.act.fold,.act.check{min-width:0;flex:1;font-size:15px;padding:12px}.pk-actions{gap:6px}}
/* poker: bets beside the cards for the top and bottom seats, labels under the tag for the top row, phone trims */
.pseat.s0 .pbet{top:auto;bottom:70px;left:auto;right:100%;transform:none;margin-right:6px;flex-direction:row-reverse}
.pseat.s3 .pbet{bottom:auto;top:10px;left:100%;transform:none;margin-left:6px}
.pseat.s2 .pact,.pseat.s3 .pact,.pseat.s4 .pact,.pseat.s2 .pwin,.pseat.s3 .pwin,.pseat.s4 .pwin,.pseat.s2 .phand,.pseat.s3 .phand,.pseat.s4 .phand{top:auto;bottom:-16px}
.pseat.s2 .pwin,.pseat.s3 .pwin,.pseat.s4 .pwin{bottom:-26px}
@media (max-width:760px){.pk-plaque{display:none}.pseat.empty{width:70px;height:40px}.pk-emptytag{padding:4px 8px;font-size:8px;letter-spacing:.1em}.pk-sit{padding:7px 10px;font-size:12px}.pseat.s1,.pseat.s2{left:11%}.pseat.s4,.pseat.s5{left:89%}.pseat.s0 .pbet{bottom:56px}}

/* ===== Mute button on every game stage ===== */
.stage,.bj-stage,.pk-stage{position:relative}
.snd-btn{position:absolute;right:12px;top:12px;z-index:9;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(242,196,92,.6);background:rgba(20,6,50,.75);font-size:16px;cursor:pointer;display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.45);transition:transform .12s}.snd-btn:hover{transform:scale(1.08)}.snd-btn.off{opacity:.7}
.rl .snd-btn{right:14px;top:14px}.pk-stage .snd-btn{right:-2px;top:-2px}.bj-stage .snd-btn{right:22px;top:22px}

/* ===== Chip packs: every card lines up, tags readable ===== */
.packs{align-items:stretch;gap:14px;margin-top:14px}
.pack{justify-content:flex-start;padding-top:22px}
.pack .btn{margin-top:auto}
.pack .pk-free{min-height:1.3em;margin-top:-2px}
.pack .pk-chips{color:#ffe9a6}
.pack-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;width:auto;font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:linear-gradient(180deg,#fff3b0,#f2c45c 50%,#c8901e);color:#2a1700;border:1px solid #7a4a00;box-shadow:0 3px 8px rgba(0,0,0,.45);text-shadow:0 1px 0 rgba(255,255,255,.4)}
.pack.hot .pack-tag{background:linear-gradient(180deg,#ffd0d8,#ff6170 50%,#b0182e);color:#fff;border-color:#5a0614;text-shadow:0 1px 0 rgba(0,0,0,.35)}

/* ===== Founder Pack: the headline of the shop ===== */
.founder{margin:22px 0 6px;grid-template-columns:150px 1fr auto;gap:22px;padding:30px 26px 24px;border-radius:22px;border:2px solid transparent;overflow:hidden;isolation:isolate;
  background:radial-gradient(80% 120% at 0% 0%,rgba(255,211,74,.28),transparent 55%),radial-gradient(70% 90% at 100% 100%,rgba(200,20,90,.3),transparent 60%),linear-gradient(135deg,#4a1a9a,#2a0d5a 55%,#3a0f4a) padding-box,
  linear-gradient(120deg,#7a4a00,#ffe27a,#fff9d6,#e0a326,#7a4a00,#ffe27a,#7a4a00) border-box;background-size:auto,auto,auto,300% 100%;animation:fdborder 6s linear infinite;
  box-shadow:0 0 0 1px #3a1608,0 18px 50px rgba(0,0,0,.55),0 0 50px rgba(255,211,74,.25)}
@keyframes fdborder{to{background-position:0 0,0 0,0 0,300% 0}}
.fd-shine{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,243,196,.18) 50%,transparent 60%);background-size:250% 100%;animation:fdshine 4.5s ease-in-out infinite}
@keyframes fdshine{0%{background-position:120% 0}60%,100%{background-position:-120% 0}}
.fd-ribbon{top:0;left:50%;transform:translateX(-50%);border-radius:0 0 12px 12px;padding:5px 18px;font-size:11px;letter-spacing:.16em;background:linear-gradient(180deg,#fff3b0,#e0a326 60%,#b8780e);color:#2a1700;border:1px solid #7a4a00;border-top:0;white-space:nowrap}
.fd-art{position:relative;display:grid;place-items:center}
.fd-crownsvg{width:140px;height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(255,211,74,.55));animation:fdbob 2.6s ease-in-out infinite}
.fd-num{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font:800 13px/1 var(--f-num);color:#ffe9a6;background:rgba(20,6,50,.85);border:1px solid rgba(242,196,92,.6);border-radius:999px;padding:4px 10px;white-space:nowrap}
.fd-kick{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#7dffc0;margin-bottom:2px}
.fd-txt b{font-size:30px;line-height:1.05;margin-bottom:2px;background:linear-gradient(180deg,#fffbe0,#ffd34a 55%,#e0a326);-webkit-background-clip:text;background-clip:text;color:transparent}
.fd-big{display:flex;align-items:baseline;gap:8px;margin:2px 0 10px}.fd-big .num{font-size:34px;font-weight:800;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.4),0 0 20px rgba(255,211,74,.35)}.fd-big em{font-style:normal;color:#ffe9a6;font-weight:700}
.fd-txt ul{color:#e2d6ff;font-size:13.5px;gap:5px 18px}.fd-txt li:last-child{grid-column:1/-1}
.fd-meter{margin-top:12px;display:flex;align-items:center;gap:12px;font-size:12px;color:#cbbfe6}.fd-meter b{color:#fff}
.fd-bar{flex:0 0 160px;height:8px;border-radius:999px;background:rgba(0,0,0,.4);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(242,196,92,.35)}.fd-bar i{display:block;height:100%;background:linear-gradient(90deg,#e0a326,#ffe27a);border-radius:inherit}
.fd-buy{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:220px}
.fd-buy small{font-size:11.5px;color:#7dffc0;font-weight:700;line-height:1.3}
.fd-go{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 26px;border-radius:16px;font-size:14px;animation:fdpulse 2.2s ease-in-out infinite}
.fd-go b{font:800 26px/1 var(--f-num)}
@keyframes fdpulse{0%,100%{box-shadow:0 8px 24px rgba(242,196,92,.35),0 0 0 0 rgba(255,226,122,.55)}50%{box-shadow:0 8px 24px rgba(242,196,92,.5),0 0 0 10px rgba(255,226,122,0)}}
.founder.mine{background:radial-gradient(80% 120% at 0% 0%,rgba(125,255,192,.2),transparent 55%),linear-gradient(135deg,#1a4a3a,#0d2a22) padding-box,linear-gradient(120deg,#0b5a3a,#7dffc0,#0b5a3a) border-box;animation:none}
@media (max-width:760px){.founder{grid-template-columns:90px 1fr;padding:34px 16px 18px;gap:14px}.fd-crownsvg{width:86px}.fd-buy{grid-column:1/-1;max-width:none}.fd-go{width:100%;flex-direction:row;justify-content:center;gap:12px}.fd-txt b{font-size:24px}.fd-big .num{font-size:26px}.fd-txt ul{grid-template-columns:1fr}.fd-bar{flex-basis:90px}}
@media (prefers-reduced-motion:reduce){.founder,.fd-shine,.fd-go,.fd-crownsvg{animation:none}}
.fd-meter b{display:inline;font:800 12px/1 var(--f-body);margin:0;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff;-webkit-text-fill-color:#fff}

/* ===== Poker v2: fits its frame, a dealer station with the deck and chip tray, felts, tidy lobby cards ===== */
.pk-stage{padding:26px 26px 0;margin:0}
.pk-felt{width:100%;min-height:0;max-height:none;aspect-ratio:16/10.4;background:repeating-linear-gradient(45deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),radial-gradient(60% 55% at 50% 0%,rgba(255,240,180,.14),transparent 70%),var(--pkf,radial-gradient(120% 95% at 50% 0%,#5a2aa8,#3a1480 55%,#1d0a44))}
.pk-felt::before{content:"";position:absolute;left:50%;top:55%;width:150px;height:150px;transform:translate(-50%,-50%);background:url(/logo-mark.svg?v=3) center/contain no-repeat;opacity:.07;pointer-events:none;filter:grayscale(.3)}
.pk-bar{margin:16px -26px 0}
.pk-centre{transform:translate(-50%,-52%);gap:6px}
.pk-station{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:2px}
.pk-station .dealer-plaque{position:static;transform:none}
.pk-rack.rack,.pk-shoe.shoebox{position:static;left:auto;top:auto;right:auto}
.pk-rack.rack{padding:5px 7px 4px}.pk-rack .rk{width:20px}.pk-rack .rk .chip{width:20px;height:6px}
.pk-shoe .shoe-body{width:78px;height:48px}.pk-shoe .shoe-body i{width:38px;height:32px;top:7px}.pk-shoe .shoe-top{height:30px;width:20px}
.pk-plaque b{font-size:15px}
.pk-board .card.fly,.pcards .card.fly{animation:pkdeal2 .42s cubic-bezier(.25,.8,.3,1) both;animation-delay:var(--d,0ms)}
@keyframes pkdeal2{from{transform:translate(var(--dx,0),var(--dy,-120px)) rotate(-12deg) scale(.55);opacity:.9}}
.pseat.s3{top:7%}.pseat.s2{top:25%}.pseat.s4{top:25%}
.pseat .tag.bot{border-color:rgba(192,132,252,.7)}.av-bot{font-size:18px;background:linear-gradient(180deg,#5a2aa8,#2a0d5a)!important}
/* owner controls */
.pk-owner{display:flex;align-items:center;gap:8px;margin-right:4px}
.pk-felts{display:flex;gap:4px}
.pk-sw{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;padding:0;box-shadow:inset 0 -3px 6px rgba(0,0,0,.4)}
.pk-sw.on{border-color:#ffe27a;box-shadow:0 0 0 2px rgba(255,226,122,.35),inset 0 -3px 6px rgba(0,0,0,.4)}
/* lobby cards: nothing spills */
.pk-tcard{overflow:hidden;min-width:0}
.pk-tc-top{min-width:0}.pk-tc-top b{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-badge.shut{color:#ffb0b8;border-color:rgba(255,97,112,.55)}
.pk-tc-seats{min-width:0}.pk-tc-who{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pk-dots{display:flex;gap:4px;flex:none;position:static}.pk-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.pk-dots i.on{background:#3ddc8c;border-color:#1f9e5e;box-shadow:0 0 6px rgba(61,220,140,.6)}.pk-dots i.bot{background:#c084fc;border-color:#7b3fe0}
.pk-tc-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#9f8dc9}
.pk-tc-felt{position:absolute;right:0;bottom:0;width:64px;height:64px;border-radius:64px 0 0 0;opacity:.35;pointer-events:none}
.pk-tc-felt.felt-royal{background:radial-gradient(circle at 100% 100%,#5a2aa8,transparent 70%)}.pk-tc-felt.felt-emerald{background:radial-gradient(circle at 100% 100%,#1a9a62,transparent 70%)}.pk-tc-felt.felt-ruby{background:radial-gradient(circle at 100% 100%,#c0304a,transparent 70%)}.pk-tc-felt.felt-sapphire{background:radial-gradient(circle at 100% 100%,#2f6fd8,transparent 70%)}.pk-tc-felt.felt-onyx{background:radial-gradient(circle at 100% 100%,#454b60,transparent 70%)}.pk-tc-felt.felt-gold{background:radial-gradient(circle at 100% 100%,#c89a2a,transparent 70%)}
@media (max-width:760px){.pk-stage{padding:12px 12px 0}.pk-bar{margin:10px -12px 0}.pk-felt{aspect-ratio:3/4.2}.pk-rack{display:none}.pk-shoe{transform:scale(.75)}.pk-station{gap:6px}.pk-felt::before{width:90px;height:90px}.pk-owner{flex-wrap:wrap}.pk-felts{display:none}.pseat.s2,.pseat.s4{top:29%}}

/* ===== Founder Pack: neat, aligned list ===== */
.founder{align-items:center}
.fd-txt{min-width:0}
.fd-txt ul{grid-template-columns:repeat(2,minmax(0,max-content));column-gap:28px;row-gap:6px;font-size:13.5px;line-height:1.3}
.fd-txt li{white-space:nowrap;display:flex;align-items:center;gap:6px}
.fd-txt li::before{content:"✦";color:#ffd34a;font-size:12px;flex:none}
.fd-txt li:last-child{grid-column:auto}
.fd-meter{margin-top:14px}
.fd-buy{align-self:center;min-width:200px}
.fd-buy small{max-width:200px}
@media (max-width:980px){.fd-txt ul{grid-template-columns:1fr}}
@media (max-width:760px){.fd-txt li{white-space:normal}}
/* the bottom seat's action label sits beside the name, not over the cards */
.pseat.s0 .pact,.pseat.s0 .phand{top:auto;bottom:8px;left:calc(100% + 6px)}
.pseat.s0 .pwin{top:-30px}
.pk-centre{transform:translate(-50%,-56%)}

.founder{grid-template-columns:150px minmax(0,1fr) 210px}
.fd-txt ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.fd-txt li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-txt li::before{content:"✦ ";font-size:12px}
.fd-buy{min-width:0;max-width:none;width:100%}.fd-buy small{max-width:none}
@media (max-width:760px){.founder{grid-template-columns:90px 1fr}.fd-txt ul{grid-template-columns:1fr}.fd-txt li{white-space:normal}}

/* ===== Blackjack splits: a Split button, and split hands side by side ===== */
.act.split{background:linear-gradient(180deg,#d8c8ff,#8a5cf0 50%,#4a1a9a);border-color:#2a0d5a;color:#fff}
.seat.split{width:auto;min-width:180px}
.seat .hands{display:flex;gap:10px;align-items:flex-end;justify-content:center}
.shand{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 6px 4px;border-radius:12px;border:1.5px solid transparent;position:relative;transition:border-color .2s,box-shadow .2s,opacity .2s}
.shand .cards .card{width:48px;height:68px;font-size:16px}.shand .cards .card+.card{margin-left:-24px}
.shand.on{border-color:#ffe27a;box-shadow:0 0 18px rgba(255,211,74,.45);background:rgba(255,226,122,.06)}
.seat.turn .shand:not(.on){opacity:.65}
.shand .ttl{position:static;font-size:11px}
.shand .stack.sm{transform:scale(.75);margin-top:-4px}
.shand.won .ttl{border-color:#7dffc0;color:#7dffc0}.shand.lost .ttl{opacity:.7}
@media (max-width:760px){.shand .cards .card{width:38px;height:54px;font-size:13px}.seat .hands{gap:4px}}

/* ===== Poker: the chat is a side cabinet built onto the table, same mahogany and gold, tucked under the rail ===== */
.pk-layout{gap:0;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch}
.pk-stage{position:relative;z-index:2;padding:26px 34px 0}
.pk-bar{margin:16px -34px 0}
.pk-chat{position:relative;z-index:1;align-self:center;height:calc(100% - 70px);min-height:380px;margin-left:-20px;padding:18px 16px 16px 36px;border-radius:0 26px 26px 0;border:2px solid #e0a326;border-left:0;
  background:radial-gradient(120% 60% at 0% 50%,rgba(0,0,0,.35),transparent 60%),repeating-radial-gradient(circle at 30% 20%,rgba(255,255,255,.025) 0 2px,transparent 2px 5px),linear-gradient(180deg,#5a1a2e,#3a0f1f 45%,#22060f);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 0 0 4px #3a1608,0 0 0 10px #6a2e12,0 0 0 11px #c9a34a,0 0 0 12px #3a1608,0 24px 50px rgba(0,0,0,.5)}
.pk-chat::before{content:"";position:absolute;inset:8px 8px 8px 26px;border:1.5px dashed rgba(242,196,92,.3);border-radius:0 20px 20px 0;pointer-events:none}
.pk-chat-head{position:relative;justify-content:center;border-bottom:0;padding:0 0 10px}
.pk-chat-head b{padding:4px 16px;border-radius:999px;background:linear-gradient(180deg,#fff3b0,#e0a326 60%,#b8780e);color:#2a1700;font-size:10px;font-weight:900;letter-spacing:.24em;text-transform:uppercase;border:1px solid #7a4a00;box-shadow:0 3px 8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.7)}
.pk-msgs{position:relative;margin:0 0 10px;padding:10px 12px;border-radius:14px;background:radial-gradient(120% 80% at 50% 0%,rgba(255,240,180,.08),transparent 70%),linear-gradient(180deg,#24104a,#12062a);box-shadow:inset 0 0 0 1px rgba(255,226,122,.25),inset 0 4px 14px rgba(0,0,0,.5)}
.pk-msgs .m{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.pk-chatform{position:relative;border-top:0;padding-top:0}
.pk-chatform input{background:rgba(0,0,0,.4);border:1px solid rgba(242,196,92,.4);border-radius:10px;color:#fff}
@media (max-width:1000px){.pk-layout{grid-template-columns:1fr}.pk-chat{margin:-16px 24px 0;padding:30px 14px 14px;border-radius:0 0 22px 22px;border:2px solid #e0a326;border-top:0;height:300px;min-height:0;align-self:stretch}.pk-chat::before{inset:22px 8px 8px 8px;border-radius:0 0 16px 16px}}
@media (max-width:760px){.pk-stage{padding:12px 12px 0}.pk-bar{margin:10px -12px 0}.pk-chat{margin:-12px 10px 0}}
.pk-chat{padding-left:46px}.pk-chat::before{left:34px}
@media (max-width:1000px){.pk-chat{padding-left:14px}.pk-chat::before{left:8px}}


/* ===== Playing cards: ivory stock, real pips, gold-framed court cards ===== */
.card{background:radial-gradient(120% 90% at 30% 10%,#fffdf4,#f4ecd8 70%,#e9dfc4);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px rgba(90,60,20,.18) inset,0 5px 14px rgba(0,0,0,.4);overflow:hidden}
.card .c1,.card .c2{font-size:.68em;line-height:1;font-family:var(--f-display);font-weight:800;letter-spacing:-.02em;top:5px;left:6px}.card .c2{top:auto;left:auto;bottom:5px;right:6px}
.card .c1 i,.card .c2 i{font-size:.95em}
.card .pips{position:absolute;inset:14% 16%;font-size:.82em;line-height:1}
.card .pips i{position:absolute;transform:translate(-50%,-50%);font-style:normal;text-shadow:0 1px 0 rgba(255,255,255,.5)}.card .pips i.r{transform:translate(-50%,-50%) rotate(180deg)}
.card[data-r="10"] .pips{font-size:.72em}.card[data-r="9"] .pips{font-size:.74em}
.card .ace{position:absolute;inset:0;display:grid;place-items:center}
.card .ace i{font-style:normal;font-size:2.3em;line-height:1;text-shadow:0 2px 0 rgba(255,255,255,.7),0 0 14px color-mix(in srgb,currentColor 35%,transparent)}
.card .ace::before{content:"";position:absolute;inset:22% 22%;border:1.5px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:50%}
.card .ace::after{content:"";position:absolute;inset:27% 27%;border:1px dashed color-mix(in srgb,currentColor 30%,transparent);border-radius:50%}
.card.s .ace i,.card.c .ace i{color:#141a27}
.card .court{position:absolute;inset:16% 13%;display:block}
.card .court svg{position:absolute;inset:0;width:100%;height:100%}
.card .court .cr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:.9em;color:#7a4a00;background:radial-gradient(circle,#fff8e6 55%,transparent 56%);width:1.5em;height:1.5em;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 0 1px #c9a34a}
.card .court .cs{position:absolute;font-style:normal;font-size:.5em;line-height:1}.card .court .cs-tl{left:9%;top:7%}.card .court .cs-br{right:9%;bottom:7%;transform:rotate(180deg)}
.card.face .fr,.card .mid{display:none}
.card.red{color:#c0142e}.card.s,.card.c{color:#141a27}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 55%,rgba(255,255,255,.35) 60%,transparent 66%);pointer-events:none}
.card.back::after{display:none}
.card.back{background:var(--card-back);border:3px solid #f4ecd8;box-shadow:0 5px 14px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,226,122,.35)}
.card.back::before{content:"";position:absolute;inset:4px;border-radius:5px;border:1px solid rgba(255,226,122,.5)}
.mc{display:inline-grid;place-items:center}

/* ===== Chips: clay casino chips. Six edge spots, a darker inlay with a dashed ring, a lit top and a bevelled rim ===== */
.chip{border:0;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.42),rgba(255,255,255,0) 48%),repeating-conic-gradient(from -11deg,#f7f1e3 0 22deg,var(--cc) 22deg 60deg);
  box-shadow:0 3px 0 color-mix(in srgb,var(--cc) 55%,#000),0 5px 10px rgba(0,0,0,.45),inset 0 0 0 1.5px rgba(0,0,0,.25),inset 0 0 0 7px var(--cc),inset 0 0 0 8px rgba(0,0,0,.18),inset 0 2px 3px rgba(255,255,255,.25);color:#fff}
.chip span{width:58%;height:58%;border-radius:50%;background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--cc) 70%,#fff 10%),color-mix(in srgb,var(--cc) 60%,#000) 75%);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.65),inset 0 0 0 3px color-mix(in srgb,var(--cc) 60%,#000),0 0 0 1px rgba(0,0,0,.2);font-weight:800;text-shadow:0 1px 1px rgba(0,0,0,.6);outline:1.5px dashed rgba(255,255,255,.55);outline-offset:-5px;letter-spacing:-.02em}
.chip.c5k span{color:#111;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.chip.c100 span,.chip.c100k span{color:#fff}
.stack .chip,.stack .chip:not(:last-child){border:0;box-shadow:0 2px 0 color-mix(in srgb,var(--cc) 55%,#000),0 3px 6px rgba(0,0,0,.4),inset 0 0 0 1.5px rgba(0,0,0,.25),inset 0 0 0 6px var(--cc),inset 0 0 0 7px rgba(0,0,0,.18)}
.stack.sm .chip{box-shadow:0 2px 0 color-mix(in srgb,var(--cc) 55%,#000),0 2px 5px rgba(0,0,0,.4),inset 0 0 0 1px rgba(0,0,0,.25),inset 0 0 0 4px var(--cc),inset 0 0 0 5px rgba(0,0,0,.18)}
.rtable .chipm.chip{border:0;outline:0}
.bj-chips .chip[aria-pressed=true],.rl-chipset .chip[aria-pressed=true],.chipset .chip[aria-pressed=true]{transform:translateY(-6px) scale(1.08);box-shadow:0 3px 0 color-mix(in srgb,var(--cc) 55%,#000),0 10px 18px rgba(0,0,0,.5),0 0 0 3px #ffe27a,0 0 22px rgba(255,211,74,.6),inset 0 0 0 1.5px rgba(0,0,0,.25),inset 0 0 0 7px var(--cc),inset 0 0 0 8px rgba(0,0,0,.18)}
.chip.allin{background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.4),transparent 48%),repeating-conic-gradient(from -11deg,#2a0d5a 0 22deg,#f2c45c 22deg 60deg);--cc:#f2c45c}
.chip.allin span{background:radial-gradient(circle at 40% 35%,#ffe9a6,#c8901e 75%);color:#2a1700;text-shadow:none;font-size:8px;line-height:1.05}
.rk .chip{border-radius:50%/50%;background:repeating-linear-gradient(90deg,var(--cc) 0 5px,#f7f1e3 5px 7px);box-shadow:inset 0 -2px 0 rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.2)}
.bj-chips .chip,.rl-chipset .chip{box-shadow:0 4px 0 color-mix(in srgb,var(--cc) 55%,#000),0 6px 12px rgba(0,0,0,.5),inset 0 0 0 1.5px rgba(0,0,0,.25),inset 0 0 0 7px var(--cc),inset 0 0 0 8px rgba(0,0,0,.18),inset 0 2px 3px rgba(255,255,255,.25)}
.bj-chips .chip:hover:not(:disabled),.rl-chipset .chip:hover{transform:translateY(-3px)}


/* ===== Lobby tiles: gold-foil frames, a spotlight on the art, an engraved name plaque, and a tilt as you hover ===== */
.tiles{gap:18px;perspective:1200px}
.tile{position:relative;padding:0;border-radius:20px;border:2px solid transparent;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#22134a,#150a30) padding-box,linear-gradient(160deg,#7a4a00,#f2c45c 30%,#fff3b0 45%,#c8901e 60%,#7a4a00) border-box;
  box-shadow:0 0 0 1px rgba(0,0,0,.6),0 18px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);transform-style:preserve-3d;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s}
.tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.14) 50%,transparent 58%);background-size:260% 100%;background-position:120% 0;transition:background-position .9s ease}
.tile:hover{transform:translateY(-6px) rotateX(3deg);box-shadow:0 0 0 1px rgba(0,0,0,.6),0 28px 60px rgba(0,0,0,.55),0 0 40px rgba(242,196,92,.25)}
.tile:hover::after{background-position:-40% 0}
.tile .glyph.art{height:150px;border-radius:0;margin:0;box-shadow:inset 0 -40px 50px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.06)}
.tile .glyph.art::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(70% 60% at 50% 0%,rgba(255,240,180,.16),transparent 70%)}
.tile h3{position:relative;margin:12px 14px 2px;font-family:var(--f-display);font-size:19px;letter-spacing:-.01em;color:#ffe9a6;text-shadow:0 2px 0 rgba(0,0,0,.5)}
.tile h3::before{content:"";position:absolute;left:0;right:0;top:-12px;height:1px;background:linear-gradient(90deg,transparent,rgba(242,196,92,.6),transparent)}
.tile p{margin:0 14px 14px;font-size:12.5px;color:#b9a6e8}
.tile .live-pill{z-index:2}
.tile .tile-svg .ta-gem{filter:drop-shadow(0 0 6px rgba(255,255,255,.55))}
.tile .tile-svg .ta-chip{filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.tile:hover .glyph.art .tile-svg{transform:scale(1.07)}
@media (max-width:820px){.tiles{gap:12px}.tile .glyph.art{height:120px}.tile h3{font-size:16px;margin:10px 12px 2px}.tile p{margin:0 12px 12px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.tile,.tile::after{transition:none}.tile:hover{transform:none}}

/* ===== Mines: velvet plaques with a gold rim and the crest pressed into them; gems light up, mines scorch ===== */
.mgrid button{border-radius:14px;background:radial-gradient(80% 70% at 50% 20%,rgba(255,255,255,.1),transparent 60%),url(/logo-mark.svg?v=3) center/44% no-repeat,linear-gradient(180deg,#4a1c9a,#2a0d5a 60%,#1a0838);background-blend-mode:normal,luminosity,normal;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.14),inset 0 -5px 0 rgba(0,0,0,.4),inset 0 0 0 2px rgba(224,163,38,.55),inset 0 0 0 3px rgba(0,0,0,.35),0 6px 14px rgba(0,0,0,.45);position:relative;overflow:hidden;transition:transform .12s,filter .15s,box-shadow .2s}
.mgrid button::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%,rgba(0,0,0,.15));pointer-events:none}
.mgrid button:not(:disabled):hover{transform:translateY(-4px) scale(1.03);filter:brightness(1.15);box-shadow:inset 0 2px 0 rgba(255,255,255,.14),inset 0 -5px 0 rgba(0,0,0,.4),inset 0 0 0 2px #ffe27a,inset 0 0 0 3px rgba(0,0,0,.35),0 12px 22px rgba(0,0,0,.5),0 0 20px rgba(255,211,74,.35)}
.mgrid .gem{background:radial-gradient(circle at 50% 40%,#2fb56a,#0f5a30 70%,#063a1e)!important;box-shadow:inset 0 0 0 2px #7dffc0,inset 0 0 0 3px rgba(0,0,0,.3),inset 0 0 26px rgba(125,255,192,.45),0 0 22px rgba(61,220,140,.45)!important}
.mgrid .gem::after{background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.25),transparent 55%)}
.mgrid .bomb{background:radial-gradient(circle at 50% 45%,#7a2030,#3a0a14 70%,#1a0408)!important;box-shadow:inset 0 0 0 2px #ff6170,inset 0 0 0 3px rgba(0,0,0,.3),inset 0 0 26px rgba(255,97,112,.45)!important}
.mgrid .bomb.boom{animation:boomshake .5s ease-in-out;box-shadow:inset 0 0 0 2px #fff,inset 0 0 40px rgba(255,120,60,.9),0 0 50px rgba(255,97,112,.8)!important}
@keyframes boomshake{0%,100%{transform:none}20%{transform:translate(-3px,2px) rotate(-2deg)}40%{transform:translate(3px,-2px) rotate(2deg)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}
.mgrid .ghost{opacity:.5;filter:saturate(.7)}
.mgrid button svg{width:62%;height:62%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}

/* ===== Chrome: the header, nav, panels, headings, buttons and modals get the same gold-and-velvet finish as the tables ===== */
.top{box-shadow:0 1px 0 rgba(242,196,92,.35),0 2px 0 rgba(0,0,0,.6),0 12px 30px rgba(0,0,0,.45)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(242,196,92,.9) 20%,#fff3b0 50%,rgba(242,196,92,.9) 80%,transparent);pointer-events:none}
.brand em{background:linear-gradient(100deg,#c8901e 0%,#ffe27a 30%,#fff9d6 45%,#ffe27a 60%,#c8901e 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:brandshine 6s linear infinite}
@keyframes brandshine{0%{background-position:120% 0}100%{background-position:-120% 0}}
.sections a{position:relative;letter-spacing:.01em}
.sections a.on{color:#ffe9a6;text-shadow:0 0 14px rgba(255,211,74,.35)}
.sections a.on::after{height:3px;bottom:-12px;background:linear-gradient(90deg,transparent,#f2c45c 25%,#fff3b0 50%,#f2c45c 75%,transparent);box-shadow:0 0 10px rgba(255,211,74,.6)}
#subnav a.on,#subnav a.on:hover{background:linear-gradient(180deg,rgba(242,196,92,.22),rgba(242,196,92,.08));box-shadow:inset 0 0 0 1px rgba(242,196,92,.6),inset 0 1px 0 rgba(255,255,255,.12),0 4px 12px rgba(0,0,0,.35);color:#ffe9a6}
/* lobby tabs as engraved pills */
.ltabs button{background:linear-gradient(180deg,#2a1560,#1a0b3a);border:1px solid rgba(242,196,92,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.3);color:#cbbfe6}
.ltabs button[aria-selected="true"]{background:linear-gradient(180deg,#fff3b0,#f2c45c 45%,#c8901e);color:#2a1700;border-color:#7a4a00;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 16px rgba(242,196,92,.35)}
/* section headings with a filigree rule */
.sec-head{position:relative;padding-bottom:10px;margin-bottom:6px}
.sec-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#f2c45c,rgba(242,196,92,.35) 40%,transparent)}
.sec-head::before{content:"◆";position:absolute;left:0;bottom:-6px;font-size:9px;color:#ffe27a;text-shadow:0 0 8px rgba(255,211,74,.8)}
.sec-title{background:linear-gradient(180deg,#fff9d6,#ffd34a 55%,#e0a326);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.5))}
.sec-title::first-letter{color:inherit}
/* side cards and panels: velvet with gold corner brackets */
.side-card,.panel,.rail,.lsec .club-card,.pr-card,.slip{position:relative;border:1px solid rgba(242,196,92,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 26px rgba(0,0,0,.35)}
.side-card::before,.rail::before,.modal-card::before{content:"";position:absolute;inset:6px;border-radius:10px;border:1px solid rgba(242,196,92,.14);pointer-events:none}
.side-card::after,.rail::after{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,#f2c45c,transparent);opacity:.8;pointer-events:none}
.side-card>*,.rail>*{position:relative;z-index:1}
.side-card h4,.lab{color:#ffe9a6;letter-spacing:.14em}
/* buttons: bevelled gold with a press */
.btn{background:linear-gradient(180deg,#fff6c8 0%,#ffd34a 40%,#e0a326 70%,#b8780e 100%);border:1px solid #7a4a00;color:#2a1700;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -2px 0 rgba(90,50,0,.35),0 4px 0 #6a3c00,0 8px 18px rgba(0,0,0,.45);text-shadow:0 1px 0 rgba(255,255,255,.4);transition:transform .08s,box-shadow .08s,filter .15s}
.btn:hover:not(:disabled){filter:brightness(1.06)}
.btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -2px 0 rgba(90,50,0,.35),0 1px 0 #6a3c00,0 3px 8px rgba(0,0,0,.45)}
.btn.alt{background:linear-gradient(180deg,#3a1a7a,#22104a);color:#ffe9a6;border-color:rgba(242,196,92,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 0 #0e0520,0 8px 18px rgba(0,0,0,.45);text-shadow:none}
.btn.alt:active:not(:disabled){box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 0 #0e0520,0 3px 8px rgba(0,0,0,.45)}
.btn.cash{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 0 #0b4a28,0 8px 18px rgba(0,0,0,.45)}
.btn:disabled{box-shadow:none;transform:none}
/* modals: a gold double frame and the crest in the velvet */
.modal-card{border:2px solid transparent;background:linear-gradient(180deg,#24114e,#140828) padding-box,linear-gradient(160deg,#7a4a00,#f2c45c 35%,#fff3b0 50%,#c8901e 65%,#7a4a00) border-box;box-shadow:0 0 0 1px rgba(0,0,0,.7),0 30px 70px rgba(0,0,0,.7),0 0 60px rgba(242,196,92,.15)}
.modal-card::before{inset:8px;border-radius:14px;border:1px dashed rgba(242,196,92,.3)}
.modal-card::after{content:"";position:absolute;right:-10px;bottom:-10px;width:160px;height:160px;background:url(/logo-mark.svg?v=3) center/contain no-repeat;opacity:.06;pointer-events:none;filter:grayscale(.4)}
.modal-card>*{position:relative;z-index:1}
/* the chips pill in the header */
.chips-pill,.bal-pill,#bal-wrap{box-shadow:inset 0 0 0 1px rgba(242,196,92,.5),inset 0 1px 0 rgba(255,255,255,.1),0 6px 16px rgba(0,0,0,.4)}
/* page backdrop: deeper vignette so the gold reads */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(90% 60% at 50% -10%,rgba(122,58,224,.28),transparent 60%),radial-gradient(70% 50% at 50% 110%,rgba(0,0,0,.55),transparent 60%)}


/* ===== Royal Jackpots marquee in the lobby: a lit gold cabinet with the three pots on plaques and a crown ===== */
.jackpot-bar{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:22px;padding:16px 22px;border-radius:20px;border:2px solid transparent;overflow:hidden;isolation:isolate;
  background:radial-gradient(70% 120% at 0% 50%,rgba(255,211,74,.28),transparent 60%),radial-gradient(60% 100% at 100% 50%,rgba(200,20,90,.3),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 30px),linear-gradient(135deg,#4a1a9a,#2a0d5a 55%,#3a0f4a) padding-box,
  linear-gradient(120deg,#7a4a00,#ffe27a,#fff9d6,#e0a326,#7a4a00,#ffe27a,#7a4a00) border-box;background-size:auto,auto,auto,auto,300% 100%;animation:fdborder 7s linear infinite;
  box-shadow:0 0 0 1px #3a1608,0 16px 40px rgba(0,0,0,.55),0 0 40px rgba(255,211,74,.18),inset 0 1px 0 rgba(255,255,255,.1)}
.jpb-shine{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,243,196,.16) 50%,transparent 60%);background-size:250% 100%;animation:fdshine 5s ease-in-out infinite}
.jpb-crown{width:86px;height:72px;display:grid;place-items:center;filter:drop-shadow(0 8px 12px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(255,211,74,.55));animation:fdbob 2.8s ease-in-out infinite}
.jpb-crown svg{width:100%;height:100%}
.jpb-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.jpb-kick{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#ffe27a}
.jackpot-bar #jp-total{font-size:clamp(28px,3.4vw,42px);line-height:1.05;font-weight:800;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.5),0 0 26px rgba(255,211,74,.55);letter-spacing:-.01em;background:linear-gradient(180deg,#fffbe0,#ffd34a 55%,#e0a326);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(255,211,74,.45))}
.jpb-sub{font-size:12.5px;color:#d8c8ff}
.jpb-tiers{display:flex;gap:10px}
.jpb-tier{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:112px;padding:9px 14px 8px;border-radius:12px;border:1.5px solid rgba(242,196,92,.55);background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.25));box-shadow:inset 0 2px 6px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.05),0 4px 10px rgba(0,0,0,.35);position:relative;overflow:hidden}
.jpb-tier::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--jt,#f2c45c);box-shadow:0 0 12px var(--jt,#f2c45c)}
.jpb-tier small{font-size:9.5px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--jt,#f2c45c)}
.jpb-tier b{font-size:17px;color:#fff;text-shadow:0 0 10px color-mix(in srgb,var(--jt,#f2c45c) 60%,transparent)}
.jpb-tier.minor{--jt:#7dffc0}.jpb-tier.major{--jt:#ffe27a}.jpb-tier.grand{--jt:#ff6a9a;min-width:140px}
.jpb-tier.grand b{font-size:20px}
.jpb-tier.bump b{animation:jpbump .5s ease}.jpb-tier.hit{animation:jphit .35s ease-in-out 10 alternate}
.jpb-go{padding:14px 22px;border-radius:14px;font-size:15px;white-space:nowrap;animation:fdpulse 2.4s ease-in-out infinite}
@media (max-width:980px){.jackpot-bar{grid-template-columns:auto minmax(0,1fr);gap:14px 18px;padding:14px 16px}.jpb-tiers{grid-column:1/-1;justify-content:space-between}.jpb-tier{flex:1;min-width:0}.jpb-go{grid-column:1/-1;text-align:center}}
@media (max-width:520px){.jpb-crown{width:56px;height:48px}.jpb-tier{padding:8px 6px}.jpb-tier b{font-size:14px}.jpb-tier.grand b{font-size:15px}.jpb-tier small{letter-spacing:.12em}}
@media (prefers-reduced-motion:reduce){.jackpot-bar,.jpb-shine,.jpb-crown,.jpb-go{animation:none}}
.jackpot-bar{grid-template-columns:auto minmax(240px,1fr) auto auto}
.jpb-kick{white-space:nowrap}
.jackpot-bar #jp-total{text-shadow:none}
.jpb-go,.jpb-go:hover{text-decoration:none}
@media (max-width:980px){.jackpot-bar{grid-template-columns:auto minmax(0,1fr)}}
.jackpot-bar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"crown main go" "tiers tiers tiers";gap:14px 18px}
.jpb-crown{grid-area:crown}.jpb-main{grid-area:main}.jpb-go{grid-area:go}.jpb-tiers{grid-area:tiers;justify-content:stretch}
.jpb-tier{flex:1}
.jackpot-bar #jp-total{font-size:clamp(26px,3vw,38px)}
@media (max-width:980px){.jackpot-bar{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"crown main" "tiers tiers" "go go"}}
