:root{
  --bg:#0D1520; --bg2:#101a27; --panel:#162232; --raised:#1D2B3F; --raised2:#24354C;
  --line:#27384F; --text:#E9EFF6; --muted:#8C9DB3; --dim:#5C6E86;
  --gold:#FFC24B; --gold2:#FF9F1C; --win:#35E39A; --loss:#FF5470; --violet:#9B7BFF; --sky:#4FC3FF;
  --r-sm:8px; --r-md:12px; --r-lg:18px;
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --ui:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --bg:#0D1520; } }
:root[data-theme="dark"]{ --bg:#0D1520; }
*,*::before,*::after{box-sizing:border-box}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

/* ---------- shell ---------- */
.app{height:100%;display:grid;grid-template-columns:232px 1fr;grid-template-rows:60px 1fr;grid-template-areas:"side top" "side main"}
.top{grid-area:top;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--bg2);border-bottom:1px solid var(--line);position:relative;z-index:20}
.side{grid-area:side;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.main{grid-area:main;overflow-y:auto;overflow-x:hidden;position:relative;min-width:0}
.logo{display:flex;align-items:center;gap:10px;padding:0 18px;height:60px;flex:none;border-bottom:1px solid var(--line)}
.logo-word{font-family:var(--display);font-weight:900;font-size:17px;letter-spacing:.02em}
.logo-word span{color:var(--gold)}
.side-scroll{overflow-y:auto;padding:10px;flex:1}
.nav-group{margin:8px 0 14px}
.nav-head{color:var(--dim);font-size:12px;font-weight:700;padding:4px 10px}
.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--r-sm);color:var(--muted);font-weight:600;text-align:left;transition:background .15s,color .15s}
.nav-item:hover{background:var(--panel);color:var(--text)}
.nav-item.active{background:var(--raised);color:var(--text)}
.nav-item .ic{width:22px;text-align:center;font-size:16px}
.badge{margin-left:auto;font-size:11px;font-weight:800;padding:2px 6px;border-radius:99px;background:var(--gold);color:#241700}
.badge.hot{background:var(--loss);color:#fff}
.side-foot{padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--dim);display:flex;align-items:center;gap:6px}
.save-dot{width:7px;height:7px;border-radius:50%;background:var(--win);flex:none}
.save-dot.saving{background:var(--gold);animation:pulse .6s infinite alternate}

.top .hamb{display:none;font-size:20px;padding:6px}
.top .logo-mini{display:none}
.wallet{margin:0 auto;display:flex;align-items:stretch;border-radius:var(--r-md);overflow:visible;position:relative}
.bal{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-right:0;padding:0 14px;border-radius:var(--r-md) 0 0 var(--r-md);font-weight:800;font-size:15px;min-width:130px;height:40px;transition:color .2s}
.bal.up{color:var(--win)} .bal.down{color:var(--loss)}
.coin{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE9A8,#FFC24B 45%,#C97F0B);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25);flex:none;display:inline-block}
.wallet-btn{background:var(--gold);color:#241700;font-weight:800;padding:0 16px;border-radius:0 var(--r-md) var(--r-md) 0;height:40px}
.wallet-btn:hover{filter:brightness(1.08)}
.top-right{display:flex;align-items:center;gap:6px}
.icon-btn{width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:17px;color:var(--muted);background:var(--panel)}
.icon-btn:hover{color:var(--text);background:var(--raised)}
.vip-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:99px;background:var(--panel);font-weight:700;font-size:12px}
.vip-ring{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px}
.popover{position:absolute;top:48px;left:50%;transform:translateX(-50%);width:300px;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;box-shadow:0 18px 50px rgba(0,0,0,.5);z-index:50}
.pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:var(--panel);border-radius:var(--r-md);margin-top:8px}
.pop-row small{display:block;color:var(--muted);font-size:12px}

.bottom-nav{display:none}

/* ---------- common ---------- */
.page{padding:28px;max-width:1180px;margin:0 auto}
h1,h2,h3{margin:0;font-weight:800}
.h-display{font-family:var(--display);font-weight:700;letter-spacing:-.01em}
.section-title{font-size:16px;font-weight:800;margin:32px 0 14px;display:flex;align-items:center;gap:8px}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--r-md);font-weight:800;background:var(--raised);transition:transform .08s,filter .15s,background .15s}
.btn:hover{background:var(--raised2)}
.btn:active{transform:scale(.96)}
.btn.primary{background:var(--gold);color:#241700;box-shadow:0 4px 0 #B8740A}
.btn.primary:hover{filter:brightness(1.07)}
.btn.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #B8740A}
.btn.win{background:var(--win);color:#062417;box-shadow:0 4px 0 #1C9A64}
.btn.win:active{transform:translateY(3px);box-shadow:0 1px 0 #1C9A64}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.btn.block{width:100%}
.btn.lg{padding:15px 18px;font-size:16px}
.btn.pulse{animation:btnpulse 1.4s infinite}
@keyframes btnpulse{0%,100%{box-shadow:0 4px 0 #B8740A,0 0 0 0 rgba(255,194,75,.55)}50%{box-shadow:0 4px 0 #B8740A,0 0 0 9px rgba(255,194,75,0)}}
@keyframes pulse{to{opacity:.35}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.field label{font-size:12px;font-weight:700;color:var(--muted);display:flex;justify-content:space-between}
.inp{display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);height:42px;overflow:hidden}
.inp:focus-within{border-color:var(--gold)}
.inp input{flex:1;min-width:0;background:none;border:0;outline:0;padding:0 10px;font-weight:700;height:100%}
.inp .mini{height:100%;padding:0 11px;border-left:1px solid var(--line);font-weight:800;color:var(--muted);font-size:12px}
.inp .mini:hover{background:var(--raised);color:var(--text)}
select.sel{width:100%;height:42px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 10px;font-weight:700}
.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px;gap:3px}
.seg button{flex:1;padding:8px 6px;border-radius:6px;font-weight:700;color:var(--muted);font-size:13px}
.seg button.on{background:var(--raised2);color:var(--text)}
.tag{font-size:12px;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--raised);color:var(--muted)}

/* ---------- lobby ---------- */
.hero{position:relative;border-radius:22px;overflow:hidden;padding:28px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--panel);border:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;opacity:.95}
.hero > *:not(.hero-bg){position:relative}
.hero > .hero-dots{position:absolute}
.hero-from{font-size:12px;font-weight:700;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:6px}
.hero h2{font-family:var(--display);font-size:clamp(22px,4vw,34px);line-height:1.1;margin:8px 0 8px;max-width:620px}
.hero p{margin:0 0 16px;max-width:520px;color:rgba(255,255,255,.85)}
.hero-dots{position:absolute;right:20px;bottom:20px;display:flex;gap:6px}
.hero-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35)}
.hero-dots i.on{background:#fff}
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:14px}
.gcard{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;text-align:left;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .15s}
.gcard:hover{transform:translateY(-4px)}
.gcard .gart{position:absolute;inset:0 0 18% 0;display:grid;place-items:center;font-size:54px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35));transition:transform .2s}
.gcard:hover .gart{transform:scale(1.08)}
.gcard::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.gcard .shade{position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.35))}
.gcard .gname{position:relative;font-family:var(--display);font-weight:700;font-size:15px;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.gcard .gsub{position:relative;font-size:12px;font-weight:700;opacity:.85}
.gcard .badge{position:absolute;top:10px;right:10px}
.gcard .players{position:absolute;top:10px;left:10px;font-size:12px;font-weight:700;background:rgba(0,0,0,.35);padding:3px 7px;border-radius:99px;display:flex;align-items:center;gap:5px}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--win);display:inline-block}
.gcard.locked{filter:grayscale(1) brightness(.5);pointer-events:none}

.bets-table{width:100%;border-collapse:collapse;font-size:13px}
.bets-table th{color:var(--dim);font-weight:700;text-align:left;padding:8px 10px;font-size:12px}
.bets-table td{padding:10px 12px;border-top:1px solid var(--line);white-space:nowrap}
.bets-table th{padding:10px 12px}
.bets-table td:last-child,.bets-table th:last-child,.bets-table td:nth-last-child(2),.bets-table th:nth-last-child(2){text-align:right}
.bets-table .gi{margin-right:6px}
.howto{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:0 14px}
.howto summary{cursor:pointer;padding:12px 0;font-weight:700;color:var(--muted);list-style:none;display:flex;justify-content:space-between}
.howto summary::-webkit-details-marker{display:none}
.howto summary::after{content:"+";font-size:16px}
.howto[open] summary::after{content:"–"}
.howto p{margin:0 0 14px;color:var(--muted)}
.ptoggle{margin-top:14px;border-top:1px solid var(--line)}
.ptoggle summary{cursor:pointer;padding:12px 0 4px;font-weight:700;color:var(--muted);font-size:12px;list-style:none}
.ptoggle summary::-webkit-details-marker{display:none}
.bets-table tr.me td{background:rgba(255,194,75,.06)}
.bets-table tr.big td{background:rgba(155,123,255,.09)}
.bets-table tr.enter{animation:rowin .35s ease-out}
@keyframes rowin{from{opacity:0;transform:translateY(-6px)}}
.pos{color:var(--win)} .neg{color:var(--dim)}
.table-wrap{overflow-x:auto;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line)}
.tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.tabs button{padding:8px 14px;border-radius:99px;background:var(--panel);font-weight:700;color:var(--muted);font-size:13px}
.tabs button.on{background:var(--raised2);color:var(--text)}

/* ---------- game page ---------- */
.game-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.game-head h1{font-family:var(--display);font-size:22px}
.game-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.controls{padding:18px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column}
.controls > .btn.lg{margin-top:4px}
.stage{position:relative;min-height:460px;background:radial-gradient(120% 90% at 50% 0%,#1B2A3F,#0F1824);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px}
.stage canvas{display:block;max-width:100%}
.stage-flash{position:absolute;inset:0;pointer-events:none;opacity:0}
.stage-flash.go{animation:flash .6s ease-out}
@keyframes flash{0%{opacity:.55}100%{opacity:0}}
.profit-line{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:4px 0 12px}
.rtp-note{font-size:12px;color:var(--dim);margin-top:12px}

.online{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}
.icon-btn.on{background:var(--raised2);color:var(--text)}
.vtag{font-size:11px;font-weight:800;padding:1px 5px;border-radius:4px;margin-right:4px;vertical-align:1px}

/* ---------- fx ---------- */
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:90}   /* without an explicit size the canvas shows at its pixel size, which is 2-3x the screen on phones */
.toast-wrap{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));right:16px;z-index:95;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:var(--raised);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r-md);padding:10px 14px;min-width:220px;max-width:320px;box-shadow:0 10px 30px rgba(0,0,0,.45);animation:toastin .35s cubic-bezier(.2,1.4,.4,1);font-size:13px;pointer-events:auto}
.toast b{display:block;font-size:14px}
.toast.win{border-left-color:var(--win)} .toast.info{border-left-color:var(--sky)} .toast.vip{border-left-color:var(--violet)}
.toast.out{animation:toastout .3s forwards}
@keyframes toastin{from{transform:translateX(40px) scale(.9);opacity:0}}
@keyframes toastout{to{transform:translateX(40px);opacity:0}}
.win-pop-old{position:absolute;left:50%;top:16px;transform:translateX(-50%);pointer-events:none;z-index:5;display:flex;align-items:center;gap:14px;padding:10px 18px;border-radius:14px;background:rgba(13,21,32,.95);border:2px solid var(--win);box-shadow:0 0 0 5px rgba(53,227,154,.12),0 14px 40px rgba(0,0,0,.5);white-space:nowrap}
.win-pop .m{font-family:var(--display);font-weight:900;font-size:24px;line-height:1;color:var(--win)}
.win-pop .p{padding-left:14px;border-left:1px solid var(--line);display:flex;gap:7px;align-items:center;font-weight:800;font-size:15px;color:var(--text)}
.win-pop.big{border-color:var(--gold);box-shadow:0 0 0 5px rgba(255,194,75,.15),0 0 36px rgba(255,194,75,.35),0 14px 40px rgba(0,0,0,.5)}
.win-pop.big .m{font-size:30px;color:var(--gold)}
.win-pop{animation:popdown .45s cubic-bezier(.2,1.5,.4,1) both, popup .35s ease-in 1.7s forwards}
@keyframes popdown{from{transform:translate(-50%,-30px) scale(.8);opacity:0}}
@keyframes popup{to{transform:translate(-50%,-20px);opacity:0}}
@keyframes popin{from{transform:translate(-50%,-50%) scale(.3);opacity:0}}
@keyframes popout{to{transform:translate(-50%,-70%) scale(.9);opacity:0}}
.mega{position:fixed;inset:0;z-index:92;display:grid;place-items:center;background:radial-gradient(circle,rgba(40,20,80,.75),rgba(5,8,14,.92));animation:fadein .3s}
.mega-inner{text-align:center;padding:20px}
.mega-title{font-family:var(--display);font-weight:900;font-size:clamp(46px,12vw,110px);line-height:.95;background:linear-gradient(180deg,#FFF6D8 10%,var(--gold) 50%,var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 30px rgba(255,160,30,.6));animation:megapop .8s cubic-bezier(.2,1.7,.35,1) both}
.mega-mult{font-family:var(--display);font-size:clamp(28px,6vw,48px);font-weight:700;color:var(--violet);margin-top:10px;animation:megapop .8s .15s cubic-bezier(.2,1.7,.35,1) both}
.mega-amt{margin-top:18px;font-size:clamp(22px,5vw,34px);font-weight:800;display:inline-flex;align-items:center;gap:10px;animation:megapop .8s .3s cubic-bezier(.2,1.7,.35,1) both}
.mega-amt .coin{width:30px;height:30px}
.mega-tap{margin-top:26px;color:var(--muted);font-size:13px;animation:fadein .5s 1.2s both}
.mega-rays{position:absolute;width:160vmax;height:160vmax;left:50%;top:50%;margin:-80vmax 0 0 -80vmax;background:repeating-conic-gradient(rgba(255,194,75,.09) 0 8deg,transparent 8deg 20deg);animation:spin 18s linear infinite;pointer-events:none}
@keyframes megapop{from{transform:scale(.2) rotate(-6deg);opacity:0}}
@keyframes fadein{from{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
.shake{animation:shake .5s}
@keyframes shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-7px,3px)}40%,60%{transform:translate(7px,-3px)}}
.levelup{position:fixed;inset:0;z-index:91;display:grid;place-items:center;background:rgba(5,8,14,.8);animation:fadein .25s}
.levelup .card{text-align:center;padding:30px 36px;animation:megapop .7s cubic-bezier(.2,1.7,.35,1) both;max-width:340px}
.lvl-gem{font-size:64px;display:block;margin-bottom:6px;filter:drop-shadow(0 0 20px var(--violet))}

/* ---------- modal ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(5,8,14,.7);z-index:80;display:grid;place-items:center;padding:16px;animation:fadein .2s}
.modal{width:100%;max-width:420px;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;max-height:85vh;overflow-y:auto}
.modal h3{font-size:18px;margin-bottom:14px}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.switch{width:44px;height:26px;border-radius:99px;background:var(--line);position:relative;transition:background .2s;flex:none}
.switch::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.switch.on{background:var(--win)} .switch.on::after{transform:translateX(18px)}
input[type=range]{accent-color:var(--gold);width:140px}

/* ---------- promos / news / vip ---------- */
.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.promo{border-radius:var(--r-lg);padding:18px;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.promo h3{font-family:var(--display);font-size:17px;margin:6px 0}
.promo p{margin:0 0 12px;color:var(--muted)}
.promo .ends{font-size:12px;color:var(--dim)}
.news-item{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);margin-bottom:10px}
.news-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:var(--raised)}
.news-item h3{font-size:15px;margin-bottom:4px}
.news-item p{margin:0;color:var(--muted)}
.news-meta{font-size:12px;color:var(--dim);margin-top:6px}
.race-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;padding:8px 10px;border-radius:var(--r-sm);align-items:center;font-size:13px}
.race-row:nth-child(odd){background:rgba(255,255,255,.02)}
.race-row.me{background:rgba(255,194,75,.1);font-weight:800}
.vip-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.progress{height:10px;background:var(--bg);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--gold));border-radius:99px;transition:width .8s cubic-bezier(.2,1,.3,1);box-shadow:0 0 12px rgba(155,123,255,.6)}
.tier-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tier{padding:14px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line)}
.tier.cur{border-color:var(--gold)}
.tier b{display:block;font-size:15px}
.tier small{color:var(--muted)}
.empty,.bets-table td.empty{padding:30px;text-align:center!important;color:var(--muted)}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .app{grid-template-columns:1fr;grid-template-rows:56px 1fr 62px;grid-template-areas:"top" "main" "bnav"}
  .top{padding:0 10px}
  .side{position:fixed;left:0;top:0;bottom:0;width:270px;z-index:60;transform:translateX(-100%);transition:transform .25s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
  .app.side-open .side{transform:none;box-shadow:10px 0 40px rgba(0,0,0,.6)}
  .scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55}
  .top .hamb{display:block}
  .top .logo-mini{display:block}
  .wallet{margin:0 auto}
  .bal{min-width:0;padding:0 10px;font-size:14px;height:38px}
  .wallet-btn{padding:0 12px;height:38px}
  .vip-chip span,.top-right .desk{display:none}
  .vip-chip{padding:3px}
  .bottom-nav{grid-area:bnav;display:flex;background:var(--bg2);border-top:1px solid var(--line);position:relative;z-index:45}
  .bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:700;color:var(--muted)}
  .bottom-nav button .ic{font-size:19px}
  .bottom-nav button.on{color:var(--gold)}
  .page{padding:14px 12px}
  .controls{padding:14px}
  .controls > .btn.lg,.controls > .act-grid{order:-1}
  .controls > .btn.lg{margin:0 0 12px}
  .controls > .act-grid{margin:0 0 14px!important}
  .game-head{margin-bottom:10px}
  .game-head h1{font-size:18px}
  .crash-riders{display:none}
  .crash-wrap{min-height:300px}
  .mines-grid{width:min(100%,340px);gap:7px}
  .keno-grid{gap:5px}
  .bets-table .col-bet,.bets-table .gt{display:none}
  .bets-table td,.bets-table th{padding:9px 10px}
  .section-title{margin:24px 0 10px}
  .game-layout{grid-template-columns:minmax(0,1fr)}
  .game-layout > *{min-width:0}
  .controls{border-right:0;border-top:1px solid var(--line);order:2}
  .stage{min-height:300px;order:1;padding:12px}
  .hero{padding:20px;min-height:170px}
  .game-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .gcard{border-radius:12px;padding:8px}
  .gcard .gart{font-size:38px}
  .gcard .gname{font-size:12px}
  .gcard .gsub{display:none}
  .toast-wrap{left:12px;right:12px;align-items:stretch;top:calc(64px + env(safe-area-inset-top,0px))}
  .toast{max-width:none}
}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }
/* ---------- game-specific ---------- */
.mult-big{font-family:var(--display);font-weight:900;font-size:clamp(44px,9vw,76px);line-height:1;transition:color .2s;font-variant-numeric:tabular-nums}
.mult-big.pop{animation:multpop .4s cubic-bezier(.2,1.6,.4,1)}
@keyframes multpop{40%{transform:scale(1.18)}}
.crash-wrap{position:relative;width:100%;height:100%;min-height:400px}
.crash-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
.crash-mult{position:absolute;left:30%;top:26%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;text-shadow:0 4px 24px rgba(0,0,0,.45)}
.crash-mult small{display:block;font-family:var(--ui);font-size:14px;color:var(--muted);font-weight:700;margin-top:6px}
.crash-riders{position:absolute;right:12px;top:12px;width:170px;display:flex;flex-direction:column;gap:3px;font-size:12px}
.crash-riders div{display:flex;justify-content:space-between;background:rgba(0,0,0,.25);padding:3px 8px;border-radius:6px;color:var(--muted)}
.crash-riders div.out{color:var(--win)}
@media (max-width:700px){ .crash-riders{display:none} .crash-mult{left:36%;top:24%} }
.crash-hist{position:absolute;left:12px;top:12px;display:flex;gap:5px;flex-wrap:wrap;max-width:60%}
.crash-hist span{font-size:12px;font-weight:800;padding:3px 7px;border-radius:6px;background:rgba(0,0,0,.3)}
.mines-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;width:min(100%,430px)}
.tile{aspect-ratio:1;border-radius:12px;background:linear-gradient(180deg,#2C3F59,#223249);box-shadow:0 5px 0 #17243A;display:grid;place-items:center;font-size:clamp(22px,6vw,34px);transition:transform .1s,background .2s}
.tile:not(.open):not(:disabled):hover{transform:translateY(-3px);background:linear-gradient(180deg,#36506F,#2A3D57)}
.tile.open{background:#0F1824;box-shadow:inset 0 0 0 2px var(--line);animation:flip .35s ease-out}
.tile.gem{box-shadow:inset 0 0 0 2px var(--win),0 0 18px rgba(53,227,154,.35)}
.tile.bomb{background:#3A1422;box-shadow:inset 0 0 0 2px var(--loss)}
.tile.dim{opacity:.45}
@keyframes flip{0%{transform:rotateY(90deg) scale(.8)}100%{transform:none}}
.dice-wrap{width:min(100%,560px);text-align:center}
.dice-result{font-family:var(--display);font-weight:900;font-size:clamp(46px,10vw,80px);margin-bottom:26px}
.dice-bar{position:relative;height:14px;border-radius:99px;margin:0 10px}
.dice-bar input{position:absolute;inset:-10px 0;width:100%;opacity:0;cursor:pointer}
.dice-knob{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.4);pointer-events:none}
.dice-marker{position:absolute;top:-44px;transform:translateX(-50%);font-weight:900;padding:4px 8px;border-radius:8px;background:#fff;color:#0D1520;transition:left .45s cubic-bezier(.2,1,.3,1);font-size:13px}
.dice-marker::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:#fff}
.dice-marker.w{background:var(--win)} .dice-marker.w::after{border-top-color:var(--win)}
.dice-marker.l{background:var(--loss);color:#fff} .dice-marker.l::after{border-top-color:var(--loss)}
.dice-ticks{display:flex;justify-content:space-between;color:var(--dim);font-size:12px;font-weight:700;margin:10px 10px 0}
.dice-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}
.stat-box{background:rgba(0,0,0,.2);border-radius:var(--r-sm);padding:8px;text-align:left}
.stat-box small{color:var(--muted);font-size:12px;font-weight:700;display:block}
.stat-box b{font-size:15px}
.cards{display:flex;justify-content:center;min-height:118px;gap:0}
.pcard{width:78px;height:112px;border-radius:9px;background:#F4F6FA;color:#16202E;display:flex;flex-direction:column;justify-content:space-between;padding:6px 8px;font-weight:800;box-shadow:0 6px 16px rgba(0,0,0,.4);margin-left:-26px;animation:deal .4s cubic-bezier(.2,1.2,.4,1) both;position:relative}
.pcard:first-child{margin-left:0}
.pcard.red{color:#D6263F}
.pcard .r{font-size:20px;line-height:1}
.pcard .s{font-size:30px;align-self:center;line-height:1}
.pcard .r2{font-size:20px;line-height:1;transform:rotate(180deg);align-self:flex-end}
.pcard.back{background:repeating-linear-gradient(45deg,#3B2A8A 0 7px,#2C1F6B 7px 14px);border:3px solid #F4F6FA}
.pcard.back *{visibility:hidden}
@keyframes deal{from{transform:translate(120px,-140px) rotate(25deg);opacity:0}}
.hand-label{text-align:center;margin:10px 0 4px;font-weight:800;color:var(--muted);font-size:13px}
.hand-total{display:inline-block;min-width:34px;padding:2px 8px;border-radius:99px;background:var(--raised2);color:var(--text);margin-left:6px}
.hand-total.bust{background:var(--loss)} .hand-total.bj{background:var(--gold);color:#241700}
.bj-table{width:100%;max-width:560px;display:flex;flex-direction:column;gap:18px}
.bj-hands{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.bj-hand{padding:8px 10px;border-radius:14px;border:2px solid transparent;transition:border-color .2s,background .2s}
.bj-hand.active{border-color:var(--gold);background:rgba(255,194,75,.07)}
.bj-hands.multi .pcard{width:56px;height:80px;margin-left:-22px;padding:4px 5px}
.bj-hands.multi .pcard:first-child{margin-left:0}
.bj-hands.multi .pcard .s{font-size:22px}.bj-hands.multi .pcard .r,.bj-hands.multi .pcard .r2{font-size:14px}
.bj-hands.multi .cards{min-height:84px}
.bj-tag{font-weight:800;margin-left:4px}
.bj-msg{text-align:center;font-family:var(--display);font-size:22px;font-weight:700;min-height:30px}
.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:rgba(0,0,0,.35);padding:10px;border-radius:16px;width:min(100%,520px);position:relative}
.reel{height:calc(3 * var(--cell));overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#0A1119,#152235 50%,#0A1119);position:relative}
.reel-strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.sym{height:var(--cell);display:grid;place-items:center;font-size:calc(var(--cell) * .6)}
@keyframes symhit{50%{transform:scale(1.18)}}
.reel.tense{box-shadow:0 0 0 2px var(--gold),0 0 22px rgba(255,194,75,.6)}
.machine-bar{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 12px;margin-bottom:6px;scrollbar-width:thin}
.machine{flex:none;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:14px;background:var(--panel);border:2px solid var(--line);font-weight:800;transition:border-color .15s,transform .15s}
.machine:hover{transform:translateY(-2px)}
.machine .m-art{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:22px;background:var(--mbg)}
.machine.on{border-color:var(--gold);background:var(--raised)}
.slot-wrap{width:100%;display:flex;flex-direction:column;align-items:center;position:relative}
.reels .reel{z-index:1}
.reel-overlay{position:absolute;inset:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:6px;grid-template-rows:repeat(3,var(--cell));pointer-events:none;z-index:3}
.ovc{display:grid;place-items:center;min-width:0;font-size:calc(var(--cell) * .6);border-radius:10px}
.ovc.col{display:flex;flex-direction:column}
.ovc.col span{height:var(--cell);display:grid;place-items:center}
.ovc.hit{outline:3px solid #fff;outline-offset:-3px}
.ovc.sticky{background:radial-gradient(circle,rgba(79,195,255,.35),rgba(6,30,55,.95));box-shadow:inset 0 0 0 2px #4FC3FF,0 0 16px rgba(79,195,255,.55)}
.ovc.sticky.new{animation:stickin .55s cubic-bezier(.2,1.6,.4,1) both}
@keyframes stickin{from{transform:scale(.2);opacity:0}}
.ovc.expand{background:linear-gradient(180deg,#6B4510,#2E1906);box-shadow:inset 0 0 0 2px #FFC24B,0 0 26px rgba(255,194,75,.7);transform-origin:center;animation:expandin .55s cubic-bezier(.2,1.4,.4,1) both}
@keyframes expandin{from{transform:scaleY(.33);opacity:.2}}
.ovc.wildreel{background:linear-gradient(180deg,rgba(155,123,255,.35),rgba(30,15,80,.95));box-shadow:inset 0 0 0 2px #C9B8FF,0 0 30px rgba(155,123,255,.85);animation:beam .6s ease-out both;position:relative}
@keyframes beam{0%{clip-path:inset(0 0 100% 0);filter:brightness(3)}100%{clip-path:inset(0 0 0 0);filter:none}}
.ovc.fire{background:radial-gradient(circle,rgba(255,122,69,.55),rgba(60,10,10,.95));box-shadow:inset 0 0 0 2px #FF7A45,0 0 18px rgba(255,90,40,.8);animation:burn .6s ease-out both}
@keyframes burn{0%{transform:scale(1.5);filter:brightness(3) saturate(2);opacity:0}100%{transform:none;filter:none;opacity:1}}
.sym.is-scat{filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}
.sym.scat{animation:scatpulse .9s ease-in-out infinite;border-radius:10px;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 70%)}
@keyframes scatpulse{50%{transform:scale(1.18)}}
.slot-status{margin-top:12px;font-weight:700;min-height:22px;color:var(--muted);text-align:center}
.slot-status b{color:var(--win)}
.slot-status .sx{font-size:12px;color:var(--dim)}
.hud-coins{display:inline-flex;align-items:center;gap:6px;color:var(--win)}
.hud-coins .coin{width:15px;height:15px}
.spin-pop{position:absolute;left:50%;top:50%;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:99px;background:rgba(5,8,14,.88);border:2px solid var(--win);color:var(--win);font-weight:900;font-size:clamp(18px,4vw,24px);white-space:nowrap;pointer-events:none;box-shadow:0 0 22px rgba(53,227,154,.45);animation:spinpop 1.5s cubic-bezier(.2,1.2,.4,1) forwards}
@keyframes spinpop{0%{transform:translate(-50%,-30%) scale(.5);opacity:0}15%{transform:translate(-50%,-50%) scale(1.05);opacity:1}75%{transform:translate(-50%,-60%);opacity:1}100%{transform:translate(-50%,-80%);opacity:0}}
/* machine themes */
.reels[class*="th-"] .reel{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 50%,rgba(0,0,0,.55))}
.reels.th-neon{background:#140620;box-shadow:0 0 0 2px #FF7AD9,0 0 22px rgba(255,122,217,.5),inset 0 0 26px rgba(79,195,255,.2);animation:neonflick 6s infinite}
@keyframes neonflick{0%,44%,48%,52%,100%{box-shadow:0 0 0 2px #FF7AD9,0 0 22px rgba(255,122,217,.5),inset 0 0 26px rgba(79,195,255,.2)}46%,50%{box-shadow:0 0 0 2px #7a3a68,0 0 6px rgba(255,122,217,.15),inset 0 0 10px rgba(79,195,255,.1)}}
.reels.th-pharaoh{background:repeating-linear-gradient(90deg,rgba(255,194,75,.05) 0 12px,transparent 12px 24px),linear-gradient(#2a1a06,#140c03);box-shadow:0 0 0 3px #C9962A,0 0 0 7px #4A2E08,0 0 26px rgba(255,194,75,.35)}
.reels.th-deepsea{background:linear-gradient(#06243d,#030f1c);box-shadow:0 0 0 2px #2F8FC9,0 0 24px rgba(79,195,255,.35);overflow:hidden}
.reels.th-deepsea::before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle at 30% 30%,rgba(79,195,255,.18),transparent 25%),radial-gradient(circle at 70% 60%,rgba(79,195,255,.14),transparent 22%);animation:caustic 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes caustic{to{transform:translate(12%,8%) rotate(20deg)}}
.reels.th-galaxy{background:radial-gradient(1.5px 1.5px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 38% 72%,#fff,transparent),radial-gradient(1.5px 1.5px at 66% 30%,#C9B8FF,transparent),radial-gradient(1px 1px at 88% 80%,#fff,transparent),radial-gradient(1px 1px at 52% 50%,#FFE39A,transparent),linear-gradient(#150d38,#07041a);box-shadow:0 0 0 2px #9B7BFF,0 0 26px rgba(155,123,255,.45);animation:twinkle 3s ease-in-out infinite alternate}
@keyframes twinkle{to{box-shadow:0 0 0 2px #C9B8FF,0 0 36px rgba(155,123,255,.65)}}
.reels.th-dragon{background:linear-gradient(#2a0808,#120404);box-shadow:0 0 0 2px #FF7A45,0 0 24px rgba(255,90,40,.45);animation:emberglow 2.6s ease-in-out infinite}
@keyframes emberglow{50%{box-shadow:0 0 0 2px #FFC24B,0 0 34px rgba(255,120,40,.7)}}
.in-bonus .reels{filter:saturate(1.2)}
.in-bonus .slot-title{animation:titleglow 1.6s ease-in-out infinite}
@keyframes titleglow{50%{text-shadow:0 0 18px var(--mc)}}
/* ---- slot art, frames, backdrops, effects (3.3.0) ---- */
.gs{display:inline-block;width:1.22em;height:1.22em;vertical-align:-.28em;overflow:visible;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}
.sym .gs,.ovc .gs{display:block;width:1.42em;height:1.42em}
.paytable .gs{width:24px;height:24px;vertical-align:middle}
.bo-kicker .gs{width:26px;height:26px}
.machine .m-art{background:none;width:40px;height:40px}.machine .m-art .gs{width:36px;height:36px;display:block}
.machine .m-art{position:relative}.machine .m-art::before{content:"";position:absolute;inset:0;border-radius:10px;background:var(--mbg);opacity:.9;z-index:-1}.machine .m-art .gs{position:relative;z-index:1}
.sym{position:relative}
.sym::before{content:"";position:absolute;inset:4px;border-radius:13px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--tc,#fff) 34%,transparent),color-mix(in srgb,var(--tc,#fff) 8%,transparent) 75%);border:1.5px solid color-mix(in srgb,var(--tc,#fff) 45%,transparent);opacity:.55}
.sym[data-i="3"]::before,.sym[data-i="4"]::before{opacity:.8}
.sym[data-i="5"]::before,.sym[data-i="6"]::before,.sym[data-i="7"]::before,.sym[data-i="8"]::before{opacity:1;border-width:2px}
.sym[data-i="7"]::before,.sym[data-i="8"]::before{box-shadow:0 0 14px var(--tc),inset 0 0 12px color-mix(in srgb,var(--tc) 50%,transparent)}
.sym .gs{position:relative;z-index:1}
.sym.hit{z-index:2}
.sym.hit::before{opacity:1;border-color:#fff;box-shadow:0 0 16px var(--tc),inset 0 0 14px color-mix(in srgb,var(--tc) 60%,transparent)}
.sym.hit .gs{animation:gshit .45s ease-in-out 4}
@keyframes gshit{50%{transform:scale(1.2) rotate(-4deg);filter:drop-shadow(0 0 10px #fff) brightness(1.25)}}
@media (prefers-reduced-motion:no-preference){
 .sym[data-i="5"] .gs,.sym[data-i="6"] .gs{animation:gsbob 3s ease-in-out infinite}
 .reel:nth-child(even) .sym .gs{animation-delay:-1.4s}
 .sym[data-i="7"] .gs{animation:gswild 1.5s ease-in-out infinite}
 .sym[data-i="8"] .gs{animation:gsscat 2.1s ease-in-out infinite}
 .reel.spin .sym .gs{animation:none!important}
 .sym.hit .gs{animation:gshit .45s ease-in-out 4!important}
}
@keyframes gsbob{50%{transform:translateY(-3px) scale(1.04)}}
@keyframes gswild{50%{transform:scale(1.09) rotate(-3deg);filter:drop-shadow(0 0 9px #ffd54a) drop-shadow(0 2px 2px rgba(0,0,0,.45))}}
@keyframes gsscat{50%{transform:scale(1.07) rotate(3deg);filter:drop-shadow(0 0 9px #fff) drop-shadow(0 2px 2px rgba(0,0,0,.45))}}
.reel.spin::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;backdrop-filter:blur(2.4px);-webkit-backdrop-filter:blur(2.4px);background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 28%,transparent 72%,rgba(0,0,0,.4))}
.reel.land{animation:reelland .32s ease-out}
@keyframes reelland{0%{transform:translateY(5px)}60%{transform:translateY(-2px)}100%{transform:none}}
.reel.tense{animation:tenseshake .18s linear infinite}
@keyframes tenseshake{25%{transform:translateX(-1px)}75%{transform:translateX(1px)}}
/* win lines */
.pl-svg{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.pl-glow,.pl-core{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;animation:pldraw .55s ease-out both}
.pl-glow{stroke-width:8;opacity:.55;filter:blur(3px)}
.pl-core{stroke:#fff;stroke-width:2.4}
@keyframes pldraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* frame ornaments */
.cn{position:absolute;width:28px;height:28px;z-index:4;pointer-events:none}
.cn.tl{left:-11px;top:-11px}.cn.tr{right:-11px;top:-11px}.cn.bl{left:-11px;bottom:-11px}.cn.br{right:-11px;bottom:-11px}
.th-neon .cn{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ff7ad9 45%,#b8246b);box-shadow:0 0 12px #ff7ad9,0 0 0 3px #1b0a2e,0 0 0 5px #ff7ad9;animation:cnpulse 2s ease-in-out infinite alternate}
@keyframes cnpulse{to{box-shadow:0 0 20px #ff7ad9,0 0 0 3px #1b0a2e,0 0 0 5px #ffb3ee}}
.th-pharaoh .cn{width:22px;height:22px;margin:3px;border-radius:5px;transform:rotate(45deg);background:radial-gradient(circle at 35% 30%,#7fe8ff,#2f86ff 45%,#12338f);box-shadow:0 0 0 3px #ffc933,0 0 0 5px #4a2e08,0 0 12px rgba(255,194,75,.7)}
.th-deepsea .cn{display:none}
.th-galaxy .cn{clip-path:polygon(50% 0,100% 40%,80% 100%,20% 100%,0 40%);background:linear-gradient(135deg,#e5d8ff,#9b7bff 50%,#4a2aa8);filter:drop-shadow(0 0 8px #9b7bff)}
.th-dragon .cn{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:linear-gradient(135deg,#fff3b0,#ffc933 50%,#a56a00);filter:drop-shadow(0 0 8px #ff7a45)}
.reels{border-radius:20px}
.reels.th-pharaoh{background:repeating-linear-gradient(90deg,rgba(255,194,75,.06) 0 12px,transparent 12px 24px),linear-gradient(#2a1a06,#140c03);box-shadow:0 0 0 3px #ffd470,0 0 0 6px #8a5a10,0 0 0 9px #3a2208,0 0 34px rgba(255,194,75,.4),inset 0 0 24px rgba(0,0,0,.6)}
.reels.th-deepsea{box-shadow:0 0 0 3px #7ac6e8,0 0 0 6px #1d6a94,0 0 0 9px #0a2a3d,0 0 30px rgba(79,195,255,.4),inset 0 0 24px rgba(0,0,0,.5)}
.reels.th-dragon{box-shadow:0 0 0 3px #ffb04a,0 0 0 6px #8a2a10,0 0 0 9px #2a0a06,0 0 30px rgba(255,90,40,.5),inset 0 0 24px rgba(0,0,0,.6)}
.reels.th-galaxy{box-shadow:0 0 0 3px #c9b8ff,0 0 0 6px #5a3ad0,0 0 0 9px #1a0f4a,0 0 34px rgba(155,123,255,.55),inset 0 0 24px rgba(0,0,0,.5)}
.reels.th-neon{box-shadow:0 0 0 3px #ff7ad9,0 0 0 6px #5a1a6a,0 0 0 8px #ff7ad9,0 0 30px rgba(255,122,217,.55),inset 0 0 26px rgba(79,195,255,.22)}
/* title */
.slot-title{font-size:clamp(26px,5.5vw,40px);letter-spacing:.03em;margin-bottom:14px;color:transparent!important;background:linear-gradient(100deg,var(--mc) 0 38%,#fff 50%,var(--mc) 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 3px 0 rgba(0,0,0,.6)) drop-shadow(0 0 14px color-mix(in srgb,var(--mc) 65%,transparent));animation:titleshine 5s linear infinite}
@keyframes titleshine{from{background-position:130% 0}to{background-position:-130% 0}}
/* backdrops */
.stage.has-scene{position:relative;overflow:hidden}
.scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.scene>svg:not(.drg){position:absolute;inset:0;width:100%;height:100%}
.slot-wrap{z-index:1}
.scene i{position:absolute;display:block}
.scene .star{left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#fff;box-shadow:0 0 6px #fff;animation:twk var(--d) ease-in-out var(--dl) infinite}
@keyframes twk{50%{opacity:.15;transform:scale(.6)}}
.scene .bub{left:var(--x);bottom:-3%;width:var(--s);height:var(--s);border-radius:50%;border:1.5px solid rgba(180,235,255,.6);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),transparent 60%);animation:rise var(--d) linear var(--dl) infinite}
.scene .ember{left:var(--x);bottom:-3%;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#fff3b0,#ff7a1a 60%,transparent);animation:rise var(--d) linear var(--dl) infinite}
@keyframes rise{from{bottom:-3%;opacity:1}to{bottom:105%;opacity:0}}
.scene .rays{animation:rayfade 6s ease-in-out infinite alternate}
@keyframes rayfade{to{opacity:.45}}
.scene .grid-scroll{animation:gridscroll 1.6s linear infinite}
@keyframes gridscroll{to{transform:translateY(30px)}}
.scene .planet{animation:planetbob 9s ease-in-out infinite alternate}
@keyframes planetbob{to{transform:translateY(10px)}}
.scene .shoot{left:-10%;top:5%;width:120px;height:2px;background:linear-gradient(90deg,transparent,#fff);transform:rotate(25deg);opacity:0;animation:shoot 8s linear infinite}
@keyframes shoot{0%{left:-10%;top:5%;opacity:0}3%{opacity:1}13%{left:92%;top:42%;opacity:0}100%{opacity:0}}
.scene .torch{bottom:24%;left:var(--x);width:26px;height:44px;border-radius:50% 50% 50% 50%/65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 75%,#fff6b0,#ff9d2e 45%,#e0243a 80%);box-shadow:0 0 44px 14px rgba(255,140,40,.45);animation:flick .45s ease-in-out infinite alternate;transform-origin:50% 100%}
.scene .torch::after{content:"";position:absolute;left:50%;top:100%;width:8px;height:110px;margin-left:-4px;background:linear-gradient(#5a3510,#2a1608);border-radius:3px}
@keyframes flick{from{transform:scale(1,.92) skewX(-3deg)}to{transform:scale(.92,1.08) skewX(3deg)}}
.scene .drg{position:absolute;top:20%;left:-20%;width:140px;animation:dflyx 40s linear infinite,dflyy 3s ease-in-out infinite alternate}
@keyframes dflyx{to{left:112%}}
@keyframes dflyy{to{transform:translateY(14px) rotate(3deg)}}
/* big win */
.bigwin{position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:radial-gradient(circle,rgba(10,6,24,.5),rgba(5,8,14,.9));cursor:pointer;overflow:hidden;animation:fadein .25s}
.bigwin.out{opacity:0;transition:opacity .25s}
.bw-rays{position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(color-mix(in srgb,var(--mc) 45%,transparent) 0 8deg,transparent 8deg 20deg);-webkit-mask:radial-gradient(circle,#000,transparent 65%);mask:radial-gradient(circle,#000,transparent 65%);animation:bwspin 14s linear infinite}
@keyframes bwspin{to{transform:rotate(360deg)}}
.bw-card{position:relative;text-align:center;padding:0 16px;animation:bwpop .65s cubic-bezier(.2,1.6,.4,1) both}
@keyframes bwpop{from{transform:scale(.2);opacity:0}}
.bw-t{font-family:var(--display);font-weight:900;font-size:clamp(40px,10vw,76px);line-height:1;background:linear-gradient(180deg,#fff7c2,#ffc933 55%,#e8780c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #6b2a00) drop-shadow(0 0 22px rgba(255,190,60,.8))}
.bigwin.mega .bw-t{background-image:linear-gradient(180deg,#ffe0f5,#ff6bd0 55%,#b01a8a);filter:drop-shadow(0 4px 0 #4a0a3a) drop-shadow(0 0 24px rgba(255,90,200,.85))}
.bigwin.epic .bw-t{background-image:linear-gradient(180deg,#ffffff,#7fe8ff 50%,#3a7bff);filter:drop-shadow(0 4px 0 #0a1f5a) drop-shadow(0 0 28px rgba(100,200,255,.9));animation:epicpulse .8s ease-in-out infinite alternate}
@keyframes epicpulse{to{transform:scale(1.06)}}
.bw-n{display:inline-flex;gap:10px;align-items:center;font-family:var(--display);font-weight:900;font-size:clamp(30px,7vw,52px);color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.6);margin-top:10px}
.bw-n .coin{width:.9em;height:.9em}
.bw-x{font-weight:800;opacity:.9;margin-top:4px}
.bwc{position:absolute;top:-8%;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6b0,#ffc933 55%,#a56a00);border:2px solid #7a4a00;animation:bwfall var(--d) ease-in var(--dl) infinite}
@keyframes bwfall{to{top:105%;transform:rotate(540deg)}}
/* ---- bonus popups (3.3.1) ---- */
.bonus-overlay.bx{background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--mc) 38%,#0a0614),#05080e 78%);backdrop-filter:none;overflow:hidden;padding:10px;place-items:center}
.bx-rays{position:absolute;left:50%;top:42%;width:1100px;height:1100px;margin:-550px 0 0 -550px;background:repeating-conic-gradient(color-mix(in srgb,var(--mc) 50%,transparent) 0 7deg,transparent 7deg 18deg);-webkit-mask:radial-gradient(circle,#000,transparent 62%);mask:radial-gradient(circle,#000,transparent 62%);animation:bwspin 22s linear infinite;pointer-events:none}
.bx-flash{position:absolute;inset:0;background:#fff;pointer-events:none;animation:bxflash .7s ease-out forwards}
@keyframes bxflash{from{opacity:.9}to{opacity:0}}
.bx-stage{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:460px;width:100%;margin:0 auto}
.bx-scats{display:flex;gap:2px;justify-content:center;margin-bottom:2px}
.bx-scats span{display:block;animation:bxdrop .8s cubic-bezier(.2,1.5,.4,1) calc(var(--i)*.14s) both,bxfloat 2.4s ease-in-out calc(.9s + var(--i)*.2s) infinite}
.bx-scats .gs{width:clamp(56px,16vw,88px);height:clamp(56px,16vw,88px);filter:drop-shadow(0 0 16px var(--mc)) drop-shadow(0 4px 4px rgba(0,0,0,.5))}
.bx-scats span:nth-child(2) .gs{width:clamp(70px,20vw,112px);height:clamp(70px,20vw,112px)}
@keyframes bxdrop{from{transform:translateY(-160px) scale(.3) rotate(-30deg);opacity:0}}
@keyframes bxfloat{50%{transform:translateY(-6px) scale(1.05)}}
.bx-kick{font-size:12px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:#fff;background:color-mix(in srgb,var(--mc) 55%,#000);padding:5px 14px;border-radius:99px;box-shadow:0 0 18px color-mix(in srgb,var(--mc) 70%,transparent);animation:bxrise .5s ease-out .5s both}
.bx-title{font-family:var(--display);font-weight:900;font-size:clamp(32px,8vw,54px);line-height:1.02;margin:10px 0 6px;background:linear-gradient(180deg,#fff,var(--mc) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,0,0,.6)) drop-shadow(0 0 20px color-mix(in srgb,var(--mc) 70%,transparent));animation:bxrise .55s cubic-bezier(.2,1.4,.4,1) .6s both}
.bx-count{display:flex;align-items:baseline;gap:10px;animation:bxrise .5s ease-out .8s both}
.bx-count b,.bx-big{font-family:var(--display);font-weight:900;font-size:clamp(64px,16vw,104px);line-height:1;color:#fff;text-shadow:0 4px 0 color-mix(in srgb,var(--mc) 50%,#000),0 0 30px var(--mc)}
.bx-count small{font-weight:900;letter-spacing:.14em;font-size:clamp(14px,3.4vw,20px);color:var(--mc);text-shadow:0 2px 0 rgba(0,0,0,.6)}
.bx-feat{margin-top:12px;width:100%;padding:12px 14px;border-radius:16px;background:rgba(0,0,0,.42);border:1.5px solid color-mix(in srgb,var(--mc) 60%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--mc) 30%,transparent);animation:bxrise .5s ease-out 1.1s both}
.bx-feat b{font-family:var(--display);font-size:16px;color:var(--mc)}
.bx-feat p{margin:4px 0 0;font-size:13px;opacity:.92;line-height:1.35}
.bx-chips{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
.bx-chip{min-width:44px;padding:4px 10px;border-radius:10px;font-family:var(--display);font-weight:900;font-size:16px;color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--mc) 70%,#fff),color-mix(in srgb,var(--mc) 70%,#000));border:1.5px solid rgba(255,255,255,.55);box-shadow:0 2px 0 rgba(0,0,0,.45);animation:chipin .45s cubic-bezier(.2,1.6,.4,1) calc(1.2s + var(--i)*.08s) both}
.bx-chip.sym{padding:2px 6px;background:rgba(0,0,0,.35);border-color:var(--mc)}.bx-chip.sym .gs{width:44px;height:44px;display:block}
@keyframes chipin{from{transform:scale(0) rotate(-20deg);opacity:0}}
@keyframes bxrise{from{transform:translateY(22px);opacity:0}}
.bx .bo-tap{margin-top:12px;animation:bxrise .5s ease-out 1.8s both;opacity:.75}
.bx-sp{position:absolute;left:50%;top:26%;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#fff,var(--mc));box-shadow:0 0 10px var(--mc);animation:bxspark 1.2s ease-out var(--dl) both;pointer-events:none}
@keyframes bxspark{from{transform:translate(0,0) scale(1.4);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
.bx-big{font-size:clamp(54px,14vw,92px);animation:bxrise .5s ease-out .8s both}
.bx-amt{display:inline-flex;gap:10px;align-items:center;font-family:var(--display);font-weight:900;font-size:clamp(24px,6vw,36px);background:rgba(0,0,0,.45);border:2px solid var(--win);color:var(--win);padding:6px 18px;border-radius:99px;box-shadow:0 0 26px rgba(53,227,154,.4);animation:bxrise .5s ease-out 1s both}
.bx-amt .coin{width:.8em;height:.8em}
.bx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:14px;animation:bxrise .5s ease-out 1.3s both}
.bx-stats div{padding:8px 6px;border-radius:12px;background:rgba(0,0,0,.4);border:1px solid color-mix(in srgb,var(--mc) 45%,transparent)}
.bx-stats small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.bx-stats b{font-family:var(--display);font-size:17px}
.bx-pop{position:absolute;left:50%;top:44%;z-index:7;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 26px 12px;border-radius:20px;text-align:center;white-space:nowrap;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--mc) 45%,#10081c),#0a0614);border:2px solid var(--mc);box-shadow:0 14px 44px rgba(0,0,0,.6),0 0 40px color-mix(in srgb,var(--mc) 60%,transparent);pointer-events:none;animation:popin .5s cubic-bezier(.2,1.6,.4,1) both,popout .3s ease-in 1.9s forwards}
.bx-pop .bx-pop-s{display:flex;gap:0}.bx-pop .gs{width:56px;height:56px;animation:bxfloat 1.2s ease-in-out infinite}
.bx-pop b{font-family:var(--display);font-weight:900;font-size:clamp(30px,7vw,46px);line-height:1;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.5),0 0 22px var(--mc)}
.bx-pop small{font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--mc)}
.bx-pop.special .gs{width:84px;height:84px}
/* bonus HUD, overlays, buy */
.bonus-hud{display:none;width:min(100%,520px);margin-bottom:12px;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:8px 14px;border-radius:14px;background:rgba(0,0,0,.4);border:1px solid var(--mc);box-shadow:0 0 18px color-mix(in srgb,var(--mc) 35%,transparent)}
.in-bonus .bonus-hud{display:grid}
.bonus-hud small{display:block;color:var(--muted);font-size:12px;font-weight:700}
.bonus-hud b{font-size:17px}
.hud-chip{text-align:center}
.hud-chip .spec{font-size:28px;line-height:1}
.hud-chip.bump{animation:popchip .4s cubic-bezier(.2,1.8,.4,1)}
.fire-mult b{color:#FF7A45;font-family:var(--display);font-size:22px}
.neon-sign{font-family:var(--display);font-weight:900;font-size:30px;line-height:1;color:#fff;text-shadow:0 0 6px #FF7AD9,0 0 16px #FF7AD9,0 0 32px #FF7AD9;min-width:80px;text-align:center}
.neon-sign.pop{animation:neonpop .5s cubic-bezier(.2,1.8,.4,1)}
@keyframes neonpop{from{transform:scale(1.8);opacity:.4}}
.bonus-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:rgba(5,8,14,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadein .3s;padding:16px;cursor:pointer}
.bonus-overlay.out{animation:fadeout .25s forwards}
@keyframes fadeout{to{opacity:0}}
.bo-card{text-align:center;padding:24px 28px;border-radius:22px;max-width:360px;background:var(--mbg);border:2px solid var(--mc);box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 44px color-mix(in srgb,var(--mc) 55%,transparent);animation:megapop .6s cubic-bezier(.2,1.6,.4,1) both}
.bo-card .bo-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.bo-card .t{font-family:var(--display);font-weight:900;font-size:26px;margin-top:6px}
.bo-card .n{font-family:var(--display);font-size:clamp(44px,10vw,60px);font-weight:900;line-height:1;margin:12px 0 2px;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.bo-card .bo-sub{font-weight:800;opacity:.9}
.bo-card p{margin:12px 0 0;font-size:13px;opacity:.9}
.bo-card .bo-amt{display:inline-flex;gap:8px;align-items:center;font-weight:800;font-size:20px;margin-top:10px;background:rgba(0,0,0,.35);padding:6px 14px;border-radius:99px}
.bo-tap{margin-top:14px;font-size:12px;opacity:.7}
.fs-banner{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:7;font-family:var(--display);font-weight:900;font-size:clamp(22px,5vw,34px);color:#fff;padding:10px 22px;border-radius:14px;background:rgba(0,0,0,.6);border:2px solid var(--mc);text-shadow:0 0 16px var(--mc);white-space:nowrap;pointer-events:none;animation:popin .45s cubic-bezier(.2,1.6,.4,1) both, popout .3s ease-in 1.2s forwards}
.btn.buy{margin-top:8px;justify-content:space-between;background:transparent;border:2px solid var(--gold);color:var(--gold)}
.btn.buy:hover{background:rgba(255,194,75,.1)}
.feat-card{margin-top:14px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--mc) 10%,var(--bg));border:1px solid color-mix(in srgb,var(--mc) 40%,var(--line))}
.feat-card .fc-top{display:flex;gap:10px;align-items:center}
.feat-card .fc-scat{font-size:26px}
.feat-card b{display:block;color:var(--mc)}
.feat-card small{font-size:12px}
.feat-card p{margin:8px 0 6px;font-size:13px}
.slot-title{font-family:var(--display);font-weight:900;font-size:22px;text-align:center;margin-bottom:12px}
.paytable{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;font-size:12px;margin-top:12px}
.paytable div{background:rgba(0,0,0,.2);border-radius:6px;padding:5px 8px;display:flex;justify-content:space-between;gap:6px}
.rou-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.rou-board{display:grid;grid-template-columns:repeat(13,1fr);gap:3px;width:100%;max-width:640px;margin:0 auto;font-size:12px;font-weight:800}
.rcell{height:34px;border-radius:5px;display:grid;place-items:center;position:relative;color:#fff}
.rcell.red{background:#C8283F} .rcell.black{background:#26303F} .rcell.green{background:#1A9C63}
.rcell.out{background:var(--raised);color:var(--text)}
.rcell:hover{filter:brightness(1.25)}
.rcell.lit{box-shadow:0 0 0 2px #fff,0 0 16px #fff;z-index:2}
.chip{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:50%;background:var(--gold);color:#241700;font-size:10px;display:grid;place-items:center;border:2px dashed #241700;padding:0 2px;pointer-events:none;animation:popchip .25s cubic-bezier(.2,1.8,.4,1)}
@keyframes popchip{from{transform:scale(0)}}
.chip-row{display:flex;gap:6px;flex-wrap:wrap}
.chip-row button{width:44px;height:44px;border-radius:50%;font-weight:800;font-size:12px;border:3px dashed rgba(0,0,0,.35);color:#0D1520}
.chip-row button.on{box-shadow:0 0 0 3px #fff;transform:translateY(-3px)}
.keno-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;width:min(100%,520px)}
.kcell{aspect-ratio:1.15;border-radius:9px;background:#223249;box-shadow:0 4px 0 #17243A;font-weight:800;font-size:15px;transition:transform .1s}
.kcell:hover{transform:translateY(-2px)}
.kcell.pick{background:var(--violet);box-shadow:0 4px 0 #5E45B8}
.kcell.drawn{background:#0F1824;box-shadow:inset 0 0 0 2px var(--line);color:var(--dim)}
.kcell.hit{background:var(--win);color:#062417;box-shadow:0 0 16px rgba(53,227,154,.6);animation:flip .35s}
.keno-pays{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:12px;width:min(100%,520px)}
.keno-pays div{flex:1;min-width:48px;text-align:center;background:rgba(0,0,0,.25);border-radius:6px;padding:4px;font-size:12px;font-weight:700}
.keno-pays div.on{background:var(--win);color:#062417}
.hilo-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.hilo-card .pcard{width:110px;height:158px;margin:0}
.hilo-card .pcard .s{font-size:48px}
.hilo-hist{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:100%}
.hilo-hist .pcard{width:40px;height:56px;padding:3px 4px;margin:0;animation:none}
.hilo-hist .pcard .r{font-size:12px}.hilo-hist .pcard .s{font-size:14px}.hilo-hist .pcard .r2{display:none}
.wheel-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px}
.wheel-pointer{position:absolute;top:-4px;left:50%;margin-left:-13px;width:0;height:0;border:13px solid transparent;border-top:24px solid #fff;filter:drop-shadow(0 3px 5px rgba(0,0,0,.5));z-index:2}
.wheel-legend{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.wheel-legend span{font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;color:#0D1520}
.bac-spots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,520px)}
.bac-spot{padding:14px 8px;border-radius:12px;border:2px solid var(--line);text-align:center;position:relative;background:rgba(0,0,0,.2)}
.bac-spot b{display:block;font-size:15px}
.bac-spot small{color:var(--muted)}
.bac-spot:hover{border-color:var(--gold)}
.bac-spot.won{border-color:var(--win);box-shadow:0 0 18px rgba(53,227,154,.4)}
.bac-hands{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:min(100%,560px)}
.bac-hands .pcard{width:62px;height:90px;margin-left:-20px}
.bac-hands .pcard:first-child{margin-left:0}
.bac-hands .pcard .s{font-size:24px}.bac-hands .pcard .r,.bac-hands .pcard .r2{font-size:16px}
.bac-hands .pcard.third{transform:rotate(90deg);margin-left:4px}
/* ================= THEME 3.0 — neon crypto ================= */
:root{
  --bg:#07060F; --bg2:rgba(13,10,28,.78); --panel:rgba(24,19,48,.72); --raised:#231C47; --raised2:#2E2560;
  --line:rgba(150,128,255,.16); --text:#F2EFFF; --muted:#A7A0CC; --dim:#6F6896;
  --accent:#C6FF3D; --accent-2:#5CFFB0; --pink:#FF3DCA; --cyan:#3DF2FF; --win:#3DFF9A; --loss:#FF4D6D; --violet:#8B5CFF; --gold:#FFC83D; --sky:#3DF2FF;
  --display:"Chakra Petch","Arial Black",system-ui,sans-serif;
  --ui:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --bg:#07060F; } }
:root[data-theme="dark"]{ --bg:#07060F; }
body{background:var(--bg);letter-spacing:.005em}
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.28;will-change:transform}
.aurora i:nth-child(1){width:60vmax;height:60vmax;left:-18vmax;top:-22vmax;background:#6B2BFF;animation:drift1 26s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:48vmax;height:48vmax;right:-16vmax;top:10vh;background:#FF2BB8;opacity:.16;animation:drift2 32s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:50vmax;height:50vmax;left:20vw;bottom:-30vmax;background:#1BD6FF;opacity:.14;animation:drift1 38s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate(12vw,10vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-14vw,18vh) scale(.9)}}
.aurora::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 75%)}
.app{position:relative;z-index:1}
.top,.side,.bottom-nav{background:var(--bg2);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.logo-word{font-family:var(--display);font-size:20px;letter-spacing:.06em}
.logo-word span{background:linear-gradient(90deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-item{border-radius:10px}
.nav-item:hover{background:rgba(139,92,255,.12)}
.nav-item.active{background:linear-gradient(90deg,rgba(139,92,255,.32),rgba(139,92,255,.04));box-shadow:inset 3px 0 0 var(--accent);color:var(--text)}
.nav-head{text-transform:uppercase;letter-spacing:.12em;font-size:11.5px}
.badge{background:var(--accent);color:#0B1400}
/* buttons */
.btn{border-radius:12px;position:relative;overflow:hidden}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0A1300;box-shadow:0 4px 0 #5E8F0E,0 10px 28px rgba(198,255,61,.22);font-weight:800}
.btn.primary:active{box-shadow:0 1px 0 #5E8F0E,0 4px 12px rgba(198,255,61,.2)}
.btn.primary::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .5s}
.btn.primary:hover::after{left:130%}
.btn.win{background:linear-gradient(135deg,#3DFF9A,#3DF2FF);color:#032014;box-shadow:0 4px 0 #1A9A6A,0 10px 28px rgba(61,255,154,.25)}
.btn.pulse{animation:btnpulse2 1.4s infinite}
@keyframes btnpulse2{0%,100%{box-shadow:0 4px 0 #5E8F0E,0 0 0 0 rgba(198,255,61,.6)}50%{box-shadow:0 4px 0 #5E8F0E,0 0 0 10px rgba(198,255,61,0)}}
.wallet-btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0A1300;font-weight:800}
.bal{background:rgba(10,8,24,.8);border-color:var(--line);font-family:var(--display);font-size:16px;letter-spacing:.02em;gap:8px}
@media (max-width:400px){ .top{gap:6px;min-width:0} .wallet{min-width:0} .bal{min-width:0;padding:0 8px;gap:5px;font-size:13px;overflow:hidden;white-space:nowrap} .wallet-btn{padding:0 9px} }
.bal.up{color:var(--win);text-shadow:0 0 14px rgba(61,255,154,.6)}
.icon-btn{background:rgba(255,255,255,.04);border-radius:10px}
.icon-btn:hover{background:rgba(139,92,255,.2)}
/* panels */
.card,.promo,.table-wrap,.news-item,.tier,.stat-box,.howto,.machine,.feat-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.game-layout{background:var(--panel);border-color:var(--line);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.controls{background:rgba(14,11,30,.6);border-color:var(--line)}
.stage{background:radial-gradient(120% 90% at 50% 0%,#241A52,#0B0918)}
.inp,select.sel,.seg{background:rgba(6,5,14,.8);border-color:var(--line)}
.inp:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(198,255,61,.12)}
.seg button.on{background:linear-gradient(135deg,rgba(139,92,255,.6),rgba(255,61,202,.35));color:#fff}
.tabs button.on{background:linear-gradient(135deg,rgba(139,92,255,.55),rgba(255,61,202,.3));color:#fff}
.h-display,.game-head h1{font-family:var(--display);letter-spacing:.01em}
.section-title{font-family:var(--display);font-size:18px;letter-spacing:.02em}
.section-title .see{margin-left:auto;font-family:var(--ui);font-size:12px;color:var(--muted);font-weight:600}
.page{animation:pagein .45s cubic-bezier(.2,.8,.2,1)}
@keyframes pagein{from{opacity:0;transform:translateY(10px)}}
/* game cards */
.gcard{box-shadow:0 10px 30px rgba(0,0,0,.35);transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .2s}
.gcard:hover{box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 2px rgba(198,255,61,.55),0 0 30px rgba(198,255,61,.18)}
.gcard::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s;z-index:1;pointer-events:none}
.gcard:hover::before{transform:translateX(120%)}
.gcard .gname{font-family:var(--display);font-size:17px;letter-spacing:.02em;z-index:2}
.gcard .gart{animation:bob 4s ease-in-out infinite}
.gcard:nth-child(2n) .gart{animation-delay:-1.3s}.gcard:nth-child(3n) .gart{animation-delay:-2.1s}
@keyframes bob{50%{transform:translateY(-6px)}}
.gcard .gtag{position:absolute;top:9px;left:9px;z-index:2;font-size:11px;font-weight:800;padding:3px 7px;border-radius:99px;background:rgba(0,0,0,.45);letter-spacing:.04em;text-transform:uppercase}
.gcard .gtag.hot{background:var(--pink);color:#fff}
.gcard .gtag.new{background:var(--accent);color:#0A1300}
/* tables */
.bets-table tr.big td{background:linear-gradient(90deg,rgba(255,61,202,.12),rgba(139,92,255,.06))}
.bets-table tr.me td{background:rgba(198,255,61,.07)}
/* tiles (mines/keno) re-skin */
.tile{background:linear-gradient(180deg,#3A2F72,#2A2158);box-shadow:0 5px 0 #17113A}
.tile:not(.open):not(:disabled):hover{background:linear-gradient(180deg,#4B3E92,#342A6E);box-shadow:0 5px 0 #17113A,0 0 18px rgba(139,92,255,.45)}
.tile.open{background:#0B0918}
.kcell{background:#2A2158;box-shadow:0 4px 0 #17113A}
.kcell.pick{background:linear-gradient(135deg,var(--violet),var(--pink));box-shadow:0 4px 0 #5A1F8A}
/* currency icons */
.cur-ic{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--c);color:#0A0A14;font-style:normal;font-weight:800;font-size:12px;flex:none;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25),0 0 10px color-mix(in srgb,var(--c) 45%,transparent);font-family:var(--ui)}
.cur-ic.sm{width:15px;height:15px;font-size:10px;vertical-align:-2px;margin-right:5px}
/* price ticker + win ticker */
.ticker{position:relative;overflow:hidden;border-radius:12px;background:rgba(10,8,24,.7);border:1px solid var(--line);height:40px;margin-bottom:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-track{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;gap:28px;white-space:nowrap;animation:marquee var(--dur,40s) linear infinite;padding-left:20px}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.tk{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted)}
.tk b{color:var(--text)}
.tk .pos{color:var(--win)}
/* hero 3.0 */
.hero3{position:relative;border-radius:24px;overflow:hidden;padding:34px;min-height:250px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;background:linear-gradient(135deg,rgba(107,43,255,.55),rgba(255,43,184,.25) 55%,rgba(27,214,255,.18));border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(80,30,200,.25)}
.hero3::before{content:"";position:absolute;inset:-2px;background:conic-gradient(from var(--ang,0deg),transparent 0 70%,rgba(198,255,61,.9) 80%,transparent 90%);animation:spinang 6s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;border-radius:inherit;pointer-events:none}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes spinang{to{--ang:360deg}}
.hero3 h2{font-family:var(--display);font-size:clamp(30px,5vw,52px);line-height:1;margin:6px 0 12px;letter-spacing:.01em}
.hero3 h2 .grad{background:linear-gradient(90deg,var(--accent),var(--cyan),var(--pink),var(--accent));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradmove 6s linear infinite}
@keyframes gradmove{to{background-position:300% 0}}
.hero3 p{margin:0 0 18px;color:rgba(255,255,255,.8);max-width:460px}
.hero3 .kick{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hero3 .ctas{display:flex;gap:10px;flex-wrap:wrap}
.hero3 .btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}
.orbit{position:relative;height:220px}
.orbit span{position:absolute;font-size:44px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4));animation:floaty 5s ease-in-out infinite}
.orbit span:nth-child(1){left:38%;top:24%;font-size:84px;animation-duration:6s}
.orbit span:nth-child(2){left:8%;top:10%;animation-delay:-1s}
.orbit span:nth-child(3){left:76%;top:6%;animation-delay:-2s}
.orbit span:nth-child(4){left:14%;top:62%;animation-delay:-3s}
.orbit span:nth-child(5){left:72%;top:60%;animation-delay:-.5s}
.orbit span:nth-child(6){left:48%;top:76%;font-size:32px;animation-delay:-2.5s}
@keyframes floaty{50%{transform:translateY(-14px) rotate(6deg)}}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.stat{padding:12px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.stat small{display:block;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.stat b{font-family:var(--display);font-size:20px}
/* daily wheel */
.daily-card{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(198,255,61,.18),rgba(61,242,255,.12),var(--panel))!important}
.dw-wrap{position:relative;display:grid;place-items:center;margin:6px auto 14px}
.dw-pointer{position:absolute;top:-6px;left:50%;margin-left:-14px;border:14px solid transparent;border-top:26px solid var(--accent);filter:drop-shadow(0 0 10px rgba(198,255,61,.8));z-index:2}
.dw-hub{position:absolute;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 45%,#4F7A0A);display:grid;place-items:center;font-size:26px;box-shadow:0 0 24px rgba(198,255,61,.6)}
/* coin flip */
.flip-scene{perspective:900px;width:200px;height:200px;margin:10px auto}
.coin3d{width:100%;height:100%;position:relative;transform-style:preserve-3d}
.coin3d .face{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:78px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 0 0 10px rgba(0,0,0,.12),inset 0 -12px 20px rgba(0,0,0,.25),0 20px 40px rgba(0,0,0,.5)}
.coin3d .heads{background:radial-gradient(circle at 35% 30%,#FFE9A0,#FFC83D 45%,#B7780A);color:#6B4104}
.coin3d .tails{background:radial-gradient(circle at 35% 30%,#E9E4FF,#9D8CFF 45%,#4B3A9E);color:#2A1D70;transform:rotateY(180deg)}
.flip-shadow{width:120px;height:18px;margin:-6px auto 0;border-radius:50%;background:radial-gradient(rgba(0,0,0,.55),transparent 70%)}
.streak{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:16px;min-height:30px}
.streak span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;animation:popchip .3s cubic-bezier(.2,1.8,.4,1)}
.streak .h{background:#FFC83D;color:#6B4104}.streak .t{background:#9D8CFF;color:#2A1D70}
/* towers */
.tower{display:flex;flex-direction:column-reverse;gap:7px;width:min(100%,460px)}
.trow{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center;opacity:.55;transition:opacity .2s}
.trow.active{opacity:1}
.trow.done{opacity:.85}
.trow .tm{font-family:var(--display);font-size:13px;font-weight:700;color:var(--muted);text-align:right}
.trow.active .tm{color:var(--accent)}
.tcells{display:grid;gap:7px}
.tcell{height:42px;border-radius:10px;background:linear-gradient(180deg,#3A2F72,#2A2158);box-shadow:0 4px 0 #17113A;font-size:22px;display:grid;place-items:center;transition:transform .1s,background .2s}
.trow.active .tcell:not(:disabled):hover{transform:translateY(-2px);background:linear-gradient(180deg,#5A49B0,#3E318A);box-shadow:0 4px 0 #17113A,0 0 16px rgba(198,255,61,.35)}
.trow.active .tcell{box-shadow:0 4px 0 #17113A,inset 0 0 0 1px rgba(198,255,61,.35)}
.tcell.safe{background:#0B0918;box-shadow:inset 0 0 0 2px var(--win),0 0 14px rgba(61,255,154,.35);animation:flip .35s}
.tcell.bad{background:#3A0F1F;box-shadow:inset 0 0 0 2px var(--loss);animation:flip .35s}
.tcell.ghost{background:#0B0918;opacity:.5;box-shadow:none}
/* video poker */
.vp-cards{display:flex;gap:10px;justify-content:center;flex-wrap:nowrap}
.vp-slot{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}
.vp-slot .pcard{width:clamp(52px,14vw,92px);height:clamp(76px,20vw,132px);margin:0;transition:transform .15s}
.vp-slot .pcard .s{font-size:clamp(22px,6vw,40px)}
.vp-slot.held .pcard{transform:translateY(-10px);box-shadow:0 0 0 3px var(--accent),0 10px 24px rgba(198,255,61,.35)}
.vp-held{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--accent);height:14px}
.vp-pay{display:grid;grid-template-columns:1fr auto;gap:2px 16px;font-size:12px;width:min(100%,420px);margin-top:16px;padding:10px 14px;border-radius:12px;background:rgba(0,0,0,.3)}
.vp-pay div{padding:2px 6px;border-radius:5px}
.vp-pay .on{background:var(--accent);color:#0A1300;font-weight:800}
/* cases */
.case-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.case-opt{padding:10px;border-radius:12px;border:2px solid var(--line);background:rgba(6,5,14,.6);text-align:center;font-weight:700;font-size:12px}
.case-opt .ce{font-size:28px;display:block}
.case-opt.on{border-color:var(--accent);box-shadow:0 0 14px rgba(198,255,61,.3)}
.roller{position:relative;width:100%;height:150px;overflow:hidden;border-radius:14px;background:rgba(0,0,0,.35);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.roller-track{position:absolute;left:0;top:15px;display:flex;gap:8px;will-change:transform}
.ritem{flex:none;width:112px;height:120px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,rgba(255,255,255,.04),color-mix(in srgb,var(--rc) 28%,transparent));border-bottom:4px solid var(--rc);font-weight:800}
.ritem .ie{font-size:40px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4))}
.ritem .im{font-family:var(--display);font-size:15px;color:var(--rc)}
.ritem.win{box-shadow:0 0 0 3px var(--rc),0 0 30px var(--rc);animation:popchip .5s cubic-bezier(.2,1.8,.4,1)}
.roller-mark{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--accent);box-shadow:0 0 14px var(--accent);z-index:2}
.roller-mark::before,.roller-mark::after{content:"";position:absolute;left:50%;margin-left:-8px;border:8px solid transparent}
.roller-mark::before{top:0;border-top-color:var(--accent)}.roller-mark::after{bottom:0;border-bottom-color:var(--accent)}
.case-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:14px;width:100%}
.case-items div{padding:8px;border-radius:10px;text-align:center;font-size:12px;background:rgba(0,0,0,.25);border-bottom:3px solid var(--rc)}
.case-items b{display:block;font-size:22px}
.fast-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-weight:700;font-size:13px}
.fast-row small{display:block;font-weight:500;font-size:12px}
.fast-row .switch.on{background:linear-gradient(135deg,var(--accent),var(--accent-2))}
/* vip club page */
.vip2-hero{--vc:#FFC83D;position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:26px;border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--vc) 22%,transparent),var(--panel) 65%);border:1px solid color-mix(in srgb,var(--vc) 40%,var(--line));overflow:hidden}
.vip2-hero::before{content:"";position:absolute;width:320px;height:320px;left:-80px;top:-120px;background:radial-gradient(circle,color-mix(in srgb,var(--vc) 35%,transparent),transparent 70%);pointer-events:none}
.vip2-gem{position:relative;font-size:72px;line-height:1;filter:drop-shadow(0 8px 24px var(--vc))}
.vip2-main{position:relative;min-width:0}
.vip2-kick{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vip2-name{font-family:var(--display);font-size:clamp(28px,5vw,40px);color:var(--vc);margin:2px 0 12px}
.vip2-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.vip2-bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--vc),rgba(255,255,255,.7));transition:width .9s cubic-bezier(.2,.8,.2,1)}
.vip2-sub{margin-top:8px;font-size:13px;color:var(--muted)}
.vip2-sub b{color:var(--text)}
.vip2-perks{position:relative;display:grid;gap:8px}
.vip2-perk{padding:8px 14px;border-radius:12px;background:rgba(0,0,0,.28);min-width:130px}
.vip2-perk small,.vip2-card>small,.vip2-stat small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.vip2-perk b{font-family:var(--display);font-size:18px}
.vip2-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.vip2-card{padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.vip2-card>b{display:block;font-family:var(--display);font-size:28px;margin:4px 0}
.vip2-card p{margin:4px 0 14px;font-size:13px}
.vip2-diff{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.vip2-diff:last-child{border:0}
.vip2-ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vip2-tier{--vc:#888;position:relative;display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}
.vip2-tier.done{border-color:color-mix(in srgb,var(--vc) 45%,var(--line))}
.vip2-tier.cur{border-color:var(--vc);box-shadow:0 0 0 1px var(--vc),0 12px 32px color-mix(in srgb,var(--vc) 28%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--vc) 14%,transparent),var(--panel))}
.vip2-tier.lock{opacity:.62}
.vip2-tg{font-size:34px;line-height:1.1}
.vip2-tier b{color:var(--vc);font-family:var(--display);font-size:17px}
.vip2-tier small{color:var(--muted);font-size:12px}
.vip2-tier ul{list-style:none;margin:10px 0;padding:0;display:grid;gap:5px;font-size:12.5px}
.vip2-tier li::before{content:"•";color:var(--vc);margin-right:6px}
.vip2-state{margin-top:auto;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vip2-tier.done .vip2-state,.vip2-tier.cur .vip2-state{color:var(--vc)}
.vip2-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.vip2-stat{padding:14px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.vip2-stat b{font-family:var(--display);font-size:18px}
@media (max-width:700px){.vip2-hero{grid-template-columns:1fr;padding:20px}.vip2-perks{grid-template-columns:repeat(3,1fr)}.vip2-perk{min-width:0;padding:8px 10px}.vip2-row{grid-template-columns:1fr}.vip2-ladder{grid-template-columns:repeat(2,1fr)}}
.bj-ins{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:rgba(0,0,0,.3);border:1px solid var(--line);text-align:center;font-size:13px}
.bj-ins div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
/* autobet */
.mode-tabs{margin-bottom:12px}
.auto-box .inp input{min-width:0;width:100%}
.auto-box{display:none}
.auto-on .auto-box{display:block}
.auto-stat{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:2px 0 10px}
@media (max-width:860px){
  .hero3{grid-template-columns:1fr;padding:22px;min-height:0}
  .orbit{display:none}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .stat b{font-size:17px}
  .ritem{width:92px;height:108px}
  .flip-scene{width:160px;height:160px}
  .coin3d .face{font-size:60px}
  .tcell{height:38px}
}

/* ============================== v4: accounts, leaderboards, admin ============================== */
.income{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:rgba(10,8,24,.88);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--dim);pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.income b{color:var(--text);min-width:2.2ch;display:inline-block;text-align:right}
.income.pulse{animation:incpulse .9s ease-out}
@keyframes incpulse{0%{box-shadow:0 0 0 0 rgba(61,255,154,.7);border-color:var(--win)}100%{box-shadow:0 0 0 16px rgba(61,255,154,0)}}
.save-dot.off{background:var(--loss)}
.announce{margin:0;padding:9px 16px;background:linear-gradient(90deg,rgba(255,194,75,.18),rgba(155,123,255,.16));border-bottom:1px solid var(--line);font-size:13px;font-weight:600;text-align:center}
.top-ann{position:sticky;top:0;z-index:6;border-radius:0;margin:0}
.page .announce{margin:0 0 14px;border:1px solid var(--line);border-radius:var(--r-md)}

.auth-bg{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:16px;overflow-y:auto;background:radial-gradient(120% 90% at 50% 0%,#241446,#07060F 70%)}
.auth-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px 20px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}
.auth-tabs{margin-bottom:14px}
.auth-tabs button{flex:1}
.auth-note{min-height:0;font-size:13px;font-weight:600;margin:0 0 10px}
.auth-note:empty{display:none}
.auth-note.bad{color:var(--loss)} .auth-note.ok{color:var(--win)}
.auth-foot{margin:14px 0 0;font-size:12px;text-align:center}
.auth-card form .btn.block{margin-top:6px}
.linkbtn{display:block;margin:12px auto 0;background:none;border:0;color:var(--accent);font-weight:700;font-size:13px;cursor:pointer;padding:6px}
.rec-code{font-size:clamp(18px,5.4vw,24px);letter-spacing:.08em;text-align:center;padding:16px 8px;border-radius:12px;background:rgba(0,0,0,.35);border:1px dashed var(--gold);color:var(--gold);word-break:break-all;user-select:all}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.inp .mini[data-eye]{margin-right:6px;padding:0 8px}
.modal .sec{margin:8px 0;border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.modal .sec summary{cursor:pointer;font-weight:700;padding:4px 0}
.modal .sec form{margin-top:10px}
.modal{max-height:calc(100dvh - 24px);overflow-y:auto}

.lb-page{max-width:860px}
.lb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 10px;padding:12px 14px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line)}
.lb-head small{display:block;color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.lb-head b{font-size:20px;font-family:var(--display)}
.lb-rule{font-size:12px;color:var(--dim);max-width:340px}
.lb-prizes{display:flex;gap:6px;flex-wrap:wrap;padding:2px 0 8px;margin-bottom:4px;-webkit-overflow-scrolling:touch}
.pz{flex:none;display:flex;flex-direction:column;align-items:center;min-width:54px;padding:6px 8px;border-radius:10px;background:rgba(255,194,75,.1);border:1px solid rgba(255,194,75,.28);font-size:12px;font-weight:800;color:var(--gold)}
.pz b{font-size:11px;color:var(--dim);font-weight:700}
.lb-me{margin:2px 0 12px;padding:10px 14px;border-radius:var(--r-md);background:rgba(61,242,255,.08);border:1px solid rgba(61,242,255,.25);font-size:13px}
.vtag{display:inline-block;margin-right:6px;padding:0 5px;border-radius:6px;font-size:12px}

.adm-tabs{margin-bottom:14px;flex-wrap:wrap}
.adm-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.adm-bar{display:flex;gap:8px;margin-bottom:10px}
.adm-bar .inp{flex:1;min-width:0}
.adm-table td,.adm-table th{white-space:nowrap}
tr.clk{cursor:pointer} tr.clk:hover{background:rgba(255,255,255,.04)}
tr.dim{opacity:.5}
.adm-card{margin-top:14px;padding:16px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line)}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:10px 0}
.adm-actions{display:grid;gap:10px;margin-top:12px}
.adm-row{display:flex;gap:8px;flex-wrap:wrap}
.adm-row input{flex:1;min-width:120px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--text)}
.adm-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}

@media (max-width:860px){
  .income{right:auto;left:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .auth-card{padding:20px 16px}
  .lb-head b{font-size:17px}
}

/* ---- global chat ---- */
#chatBtn{position:relative}
#chatBtn .cb-n{display:none}
#chatBtn.has .cb-n{display:grid;place-items:center;position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:#1b1205;font:800 10px/1 var(--ui);font-style:normal}
#chatBtn.on{background:var(--raised2);color:var(--text)}
.chat{position:fixed;z-index:120;right:12px;top:68px;bottom:12px;width:var(--rail,340px);display:flex;flex-direction:column;border-radius:16px;background:var(--bg2);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.55);transform:translateX(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .2s}
.chat.show{transform:none;opacity:1;pointer-events:auto}
.chat-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
.chat-head small{margin-right:auto;font-size:12px}
.chat-head b{font-size:14px}
.chat-list{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain}
.chat-empty{margin:auto;color:var(--dim);font-size:13px}
.cm{font-size:13px;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}
.cm-t{color:var(--dim);font-size:11px;margin-right:6px}
.cm-u{margin-right:4px}.cm.mine .cm-u{color:var(--gold)}
.cm-u.adm{color:#ff7a8a}
.cm-a{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:5px;background:rgba(255,122,138,.18);color:#ff7a8a;margin-right:6px}
.cm .vtag{margin-right:4px}
.cm-x{color:var(--text)}
.cm-del{margin-left:6px;color:var(--dim);font-size:12px;padding:0 4px}
.cm-del:hover{color:var(--loss)}
.chat-note{padding:0 12px;min-height:0;font-size:12px;color:var(--loss)}
.chat-note:not(:empty){padding-bottom:6px}
.chat-form{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.chat-form input{flex:1;min-width:0;font-size:16px}
@media (max-width:900px){
  .chat{inset:0;width:auto;border-radius:0;border:0;transform:translateY(100%)}
  .chat.show{transform:none}
}

/* ---- v4.1 game cards: full-bleed illustrated art ---- */
.gcard{padding:12px 12px 11px;isolation:isolate}
.gcard::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.22),transparent 60%),radial-gradient(circle at 20% 90%,rgba(0,0,0,.28),transparent 55%)}
.gcard .gart{inset:4px 0 34px 0;font-size:54px;display:block;padding:2px}
.gcard .gart svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 10px rgba(0,0,0,.28))}
.gcard .shade{height:52%;background:linear-gradient(transparent,rgba(8,6,24,.62))}
.gcard .gname{font-size:17px;line-height:1.1;letter-spacing:.01em}
.gcard .gby{position:relative;font-size:11px;font-weight:600;opacity:.62;margin-top:2px}
.gcard .grtp{position:absolute;top:9px;left:9px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.03em;padding:3px 7px;border-radius:8px;background:rgba(10,8,28,.5);backdrop-filter:blur(6px);color:#7CF2B6}
.gcard .gtag{top:9px;right:9px;left:auto}
@media (max-width:860px){ .gcard .gart{font-size:38px;inset:2px 0 30px 0} .gcard .gname{font-size:13px} .gcard .gby{display:none} .gcard .grtp{font-size:10px;top:7px;left:7px;padding:2px 5px} .gcard .gtag{top:7px;right:7px;left:auto} }

/* ---- v4.1 richer backdrop: casino symbols, stars, spotlight ---- */
.aurora::before{content:"";position:absolute;inset:-10%;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22300%22 height=%22300%22 viewBox=%220 0 300 300%22 fill=%22white%22 fill-opacity=%220.055%22%3E%3Cg transform=%22translate%2840 40%29 rotate%28-14%29 scale%280.34%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 8C80 38 94 52 80 70c-10 10-22 4-26-4 0 12 4 20 12 26H34c8-6 12-14 12-26-4 8-16 14-26 4C6 52 20 38 50 8z%22/%3E%3C/g%3E%3Cg transform=%22translate%28140 30%29 rotate%2810%29 scale%280.38%29 translate%28-50 -50%29%22%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2244%22 fill=%22none%22 stroke=%22white%22%20stroke-opacity=%220.055%22 stroke-width=%229%22 stroke-dasharray=%2216 11%22/%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2228%22 fill=%22none%22 stroke=%22white%22%20stroke-opacity=%220.055%22 stroke-width=%226%22/%3E%3C/g%3E%3Cg transform=%22translate%28235 52%29 rotate%2818%29 scale%280.3%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 90C10 60 6 32 26 20c12-6 22 0 24 10 2-10 12-16 24-10 20 12 16 40-24 70z%22/%3E%3C/g%3E%3Cg transform=%22translate%2852 140%29 rotate%28-20%29 scale%280.36%29 translate%28-50 -50%29%22%3E%3Crect x=%2212%22 y=%2212%22 width=%2276%22 height=%2276%22 rx=%2216%22 fill=%22none%22 stroke=%22white%22%20stroke-opacity=%220.055%22 stroke-width=%228%22/%3E%3Ccircle cx=%2234%22 cy=%2234%22 r=%226%22/%3E%3Ccircle cx=%2266%22 cy=%2234%22 r=%226%22/%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%226%22/%3E%3Ccircle cx=%2234%22 cy=%2266%22 r=%226%22/%3E%3Ccircle cx=%2266%22 cy=%2266%22 r=%226%22/%3E%3C/g%3E%3Cg transform=%22translate%28150 128%29 rotate%2812%29 scale%280.3%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 6L84 50 50 94 16 50z%22/%3E%3C/g%3E%3Cg transform=%22translate%28246 150%29 rotate%28-8%29 scale%280.36%29 translate%28-50 -50%29%22%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2244%22 fill=%22none%22 stroke=%22white%22%20stroke-opacity=%220.055%22 stroke-width=%228%22/%3E%3Cpath d=%22M50 22L57 42 78 50 57 58 50 78 43 58 22 50 43 42z%22/%3E%3C/g%3E%3Cg transform=%22translate%2830 238%29 rotate%2816%29 scale%280.32%29 translate%28-50 -50%29%22%3E%3Ccircle cx=%2250%22 cy=%2228%22 r=%2220%22/%3E%3Ccircle cx=%2227%22 cy=%2258%22 r=%2220%22/%3E%3Ccircle cx=%2273%22 cy=%2258%22 r=%2220%22/%3E%3Cpath d=%22M44 60h12l8 32H36z%22/%3E%3C/g%3E%3Cg transform=%22translate%28120 230%29 rotate%280%29 scale%280.22%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 4L61 39 96 50 61 61 50 96 39 61 4 50 39 39z%22/%3E%3C/g%3E%3Cg transform=%22translate%28210 244%29 rotate%28-18%29 scale%280.3%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 8C80 38 94 52 80 70c-10 10-22 4-26-4 0 12 4 20 12 26H34c8-6 12-14 12-26-4 8-16 14-26 4C6 52 20 38 50 8z%22/%3E%3C/g%3E%3Cg transform=%22translate%2884 90%29 rotate%280%29 scale%280.14%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 4L61 39 96 50 61 61 50 96 39 61 4 50 39 39z%22/%3E%3C/g%3E%3Cg transform=%22translate%28196 96%29 rotate%280%29 scale%280.12%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 4L61 39 96 50 61 61 50 96 39 61 4 50 39 39z%22/%3E%3C/g%3E%3Cg transform=%22translate%28282 98%29 rotate%280%29 scale%280.13%29 translate%28-50 -50%29%22%3E%3Cpath d=%22M50 4L61 39 96 50 61 61 50 96 39 61 4 50 39 39z%22/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px;opacity:1;animation:symdrift 90s linear infinite;-webkit-mask-image:radial-gradient(ellipse at 50% 35%,#000 35%,rgba(0,0,0,.55) 100%);mask-image:radial-gradient(ellipse at 50% 35%,#000 35%,rgba(0,0,0,.55) 100%)}
.aurora b{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22400%22 height=%22400%22%3E%3Ccircle cx=%22169%22 cy=%2281%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%2228%22 cy=%2241%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22302%22 cy=%2233%22 r=%221%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%2248%22 cy=%22226%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22127%22 cy=%2250%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22293%22 cy=%2267%22 r=%221%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22325%22 cy=%22302%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22303%22 cy=%22207%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%2227%22 cy=%22289%22 r=%221%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22218%22 cy=%2277%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22161%22 cy=%22290%22 r=%221%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22301%22 cy=%22296%22 r=%221%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%2253%22 cy=%22284%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%2234%22 cy=%22320%22 r=%221%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22352%22 cy=%22276%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22242%22 cy=%22303%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22157%22 cy=%22131%22 r=%221%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22128%22 cy=%2245%22 r=%221.2%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22257%22 cy=%22179%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22315%22 cy=%2241%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22218%22 cy=%2288%22 r=%221.2%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22254%22 cy=%22219%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%2243%22 cy=%22395%22 r=%221.2%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22359%22 cy=%22183%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22237%22 cy=%2239%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22246%22 cy=%22360%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22378%22 cy=%22363%22 r=%221.2%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%22299%22 cy=%22352%22 r=%221.6%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22370%22 cy=%22201%22 r=%221.2%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22240%22 cy=%22185%22 r=%221%22 fill=%22white%22 fill-opacity=%220.7%22/%3E%3Ccircle cx=%2263%22 cy=%22256%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22151%22 cy=%2270%22 r=%221%22 fill=%22white%22 fill-opacity=%220.5%22/%3E%3Ccircle cx=%22204%22 cy=%22258%22 r=%220.8%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3Ccircle cx=%22233%22 cy=%22209%22 r=%221.2%22 fill=%22white%22 fill-opacity=%220.35%22/%3E%3C/svg%3E");background-size:400px 400px;animation:twinkle 6s ease-in-out infinite alternate}
.aurora s{position:absolute;left:50%;top:-10%;width:140vmax;height:90vmax;margin-left:-70vmax;text-decoration:none;background:repeating-conic-gradient(from 270deg at 50% 0%,rgba(168,130,255,.075) 0 4deg,transparent 4deg 13deg);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 65%);mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 65%);animation:rays 40s ease-in-out infinite alternate;transform-origin:50% 0}
@keyframes symdrift{to{transform:translate(300px,300px)}}
@keyframes twinkle{from{opacity:.45}to{opacity:1}}
@keyframes rays{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.aurora::before,.aurora b,.aurora s{animation:none}}
.aurora i:nth-child(1){opacity:.34}.aurora i:nth-child(3){opacity:.2}

/* ---- bigger lobby cards ---- */
.game-grid{grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:16px}
.gcard .gart{inset:6px 0 40px 0}
.gcard .gname{font-size:19px}
.gcard .gby{font-size:12px}
.gcard .grtp{font-size:12px;padding:4px 8px}
@media (max-width:860px){
  .game-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .gcard{border-radius:16px;padding:11px}
  .gcard .gart{inset:6px 0 38px 0}
  .gcard .gname{font-size:16px}
  .gcard .gby{display:block;font-size:11px}
  .gcard .grtp{font-size:11px;top:9px;left:9px;padding:3px 7px}
  .gcard .gtag{top:9px;right:9px}
}

/* ================= v5 calm theme: one accent (mint), gold for money, everything else neutral ================= */
:root{
  --bg:#0A0F1C; --bg2:#0E1526; --panel:#131B2E; --raised:#1A2440; --raised2:#222E4D; --line:#233252;
  --accent:#8B7BFF; --accent-2:#6A5AF0; --cyan:#8B7BFF; --pink:#FFC24B; --violet:#8FA3D9; --sky:#8FA3D9;
}
:root[data-theme="dark"],:root:not([data-theme="light"]){--bg:#0A0F1C}
.aurora i:nth-child(1){background:#1E3A8A;opacity:.2;animation-duration:60s}
.aurora i:nth-child(2),.aurora i:nth-child(3),.aurora s{display:none}
.aurora::after{opacity:.6}
.aurora::before{opacity:.55}
.aurora b{opacity:.5;animation:none}
.logo-word span{background:none;color:var(--accent)}
.nav-item.active{background:linear-gradient(90deg,rgba(139,123,255,.14),rgba(139,123,255,.02));box-shadow:inset 3px 0 0 var(--accent)}
.btn.primary,.wallet-btn{background:linear-gradient(180deg,#9C8DFF,#6A5AF0);color:#04140C;box-shadow:0 3px 0 #3B2FB0,0 8px 20px rgba(139,123,255,.16)}
.btn.primary::after{display:none}
.seg button.on,.tabs button.on{background:rgba(139,123,255,.16);box-shadow:inset 0 0 0 1px rgba(139,123,255,.5);color:#fff}
.stage{background:radial-gradient(120% 90% at 50% 0%,#18223D,#0B1020)}
.hero3{background:linear-gradient(135deg,#17213B,#0F1730 70%);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.hero3::before{display:none}
.hero3 h2 .grad{background:none;color:var(--accent);animation:none}
.hero3 .kick{color:var(--accent)}
.announce{background:rgba(255,194,75,.1);border-bottom:1px solid rgba(255,194,75,.25)}
.auth-bg{background:radial-gradient(120% 90% at 50% 0%,#18223D,#080C18 70%)}
.gcard{background:linear-gradient(165deg,#1B2645,#0F1628)!important}
.gcard::before{background:radial-gradient(90% 55% at 50% 30%,rgba(255,255,255,.1),transparent 70%)}
.gcard .gtag.hot{background:var(--gold);color:#201400}
.gcard .gtag.new{background:var(--accent);color:#04140C}
.bets-table tr.big td{background:rgba(255,194,75,.07)}
.tile:not(.open):not(:disabled):hover{filter:brightness(1.12)}
.vip2-hero::before{opacity:.5}

/* v5: fairness, history, profile, lobby bar */
.lobby-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:18px 0 4px;flex-wrap:wrap}
.lobby-bar .chips{display:flex;gap:6px;overflow-x:auto;max-width:100%;scrollbar-width:none;padding-bottom:2px}
.lobby-bar .chips::-webkit-scrollbar{display:none}
.lobby-bar .chips button{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line,rgba(255,255,255,.1));background:rgba(255,255,255,.04);color:var(--muted,#9aa6bd);font-weight:600;font-size:13px;cursor:pointer}
.lobby-bar .chips button.on{background:var(--accent);color:#06241a;border-color:var(--accent)}
.lobby-bar .search{flex:0 1 220px;min-width:140px;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:inherit;font-size:14px}
@media(max-width:600px){.lobby-bar .search{flex:1 1 100%}}
.gcard{position:relative}
.gfav{position:absolute;top:8px;left:8px;z-index:3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-size:16px;cursor:pointer}
.gfav.on{color:#ffd166}
.p1m h3{margin:0 0 10px}.p1row{display:flex;gap:8px;align-items:center}.p1row .inp-plain{flex:1;min-width:0}
.p1code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;word-break:break-all;background:rgba(255,255,255,.05);border-radius:8px;padding:9px 10px;cursor:pointer}
.p1grid{display:grid;gap:8px}.p1past{margin-top:8px}
.p1res{background:rgba(255,255,255,.04);border-radius:10px;padding:10px 12px;margin-top:10px}
.p1line{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.p1line:last-child{border:0}.p1line b{text-align:right;word-break:break-word}
.p1m .inp-plain,.p1m .sel{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:inherit;font-size:14px}
.p1m{max-height:90vh;overflow:auto}
.prof{display:flex;gap:14px;align-items:center}.prof-av{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:800;background:rgba(255,255,255,.07);border:2px solid var(--vc,#8B7BFF)}
.prof-av i{position:absolute;right:-4px;bottom:-4px;font-style:normal;font-size:18px}
.p1id{cursor:pointer;font-family:ui-monospace,monospace}
.page .sel{padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:inherit}
.income .dot{opacity:.5}.income b[data-b]{min-width:0}
@media (max-width:430px){ .bal{font-size:12px!important;gap:4px!important;padding:0 6px!important} .bal .coin,.bal i,.bal svg{transform:scale(.8)} .top-right{gap:4px} }
[data-pid]{cursor:pointer;text-decoration:underline dotted rgba(255,255,255,.3);text-underline-offset:3px}

/* rewards v2 */
.rw-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.rw-vip{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.rw-vip span{font-size:26px}.rw-vip b{display:block;font-size:14px}.rw-vip small{color:var(--muted);font-size:12px}
.rw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.rw{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.rw-top{display:flex;justify-content:space-between;align-items:center}
.rw-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.06)}
.rw-st{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--muted)}
.rw-st.go{background:rgba(139,123,255,.16);color:var(--accent)}
.rw-t{font-size:13px;color:var(--muted);font-weight:700;margin-top:4px}
.rw-v{font-size:22px;font-weight:800;line-height:1.1}
.rw-s{font-size:13px;color:var(--muted);line-height:1.4;flex:1;min-height:36px}
.rw .btn{margin-top:6px}
.rw-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:8px}.rw-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .6s}
.rw-bars{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}

/* tables: right-aligned tabular numbers, calm rank column */
.bets-table th.r,.lb-table td.num,.live-table td.num{text-align:right}
.bets-table td.num,.bets-table th.r{font-variant-numeric:tabular-nums;white-space:nowrap}
.lb-table th.rk,.lb-table td:first-child{width:46px;text-align:center;color:var(--muted);font-weight:800}
.lb-table td:nth-child(2){max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.lb-table tr:nth-child(-n+3) td:first-child{font-size:18px}
.lb-table .coin{margin-right:5px;vertical-align:-2px}
.lb-prizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}
.lb-prizes .pz{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:12px;font-variant-numeric:tabular-nums}
.lb-prizes .pz b{font-size:11px;color:var(--muted)}
.lb-head{padding:14px 16px}.lb-head b{font-variant-numeric:tabular-nums}

/* performance pass: no full-screen blurs, no backdrop filters, no always-running card animations */
.aurora i{display:none!important}
.aurora{background:radial-gradient(900px 600px at 15% -10%,rgba(139,123,255,.06),transparent 60%),radial-gradient(800px 600px at 100% 30%,rgba(90,110,255,.06),transparent 60%)}
.top,.side,.bottom-nav,.card,.promo,.table-wrap,.news-item,.tier,.stat-box,.howto,.machine,.feat-card,.income,.bonus-overlay,.popover,.modal-bg{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.reel.spin::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.gcard .gart,.orbit span,.hero3::before,.hero3 h2 .grad{animation:none!important}
.gcard{contain:layout paint}
.table-wrap,.rw,.stat{contain:layout paint}
.ticker-track{will-change:transform}
@media (hover:hover){.gcard:hover .gart{transform:scale(1.06)}}
.gcard .gart{transition:transform .25s}
.ms{display:grid;gap:8px}
.m{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.m.done{border-color:rgba(139,123,255,.5)}.m.claimed{opacity:.55}
.m-i{flex:1;min-width:0}.m-i b{display:block;font-size:14px}.m-i small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.m-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:var(--gold);font-weight:800;font-size:13px;flex:none}
.m-r .btn{padding:7px 14px;font-size:13px}

.vt-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px;border-radius:20px;background:linear-gradient(160deg,rgba(139,123,255,.14),var(--panel) 70%);border:1px solid var(--line);margin-bottom:12px}
.vt-ic{font-size:40px}.vt-hero small{color:var(--muted);font-weight:700}.vt-hero b{font-size:32px;font-variant-numeric:tabular-nums}
.vt-chips{display:flex;gap:8px}.vt-chips button{flex:1;padding:9px 0;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:inherit;font-weight:700;cursor:pointer}
.adm-bar{flex-wrap:wrap;align-items:center}.adm-bar .inp{flex:1 1 200px}.adm-bar .inp input{width:100%}.adm-bar .sel{flex:0 1 160px}
.inp-plain{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:inherit;font-size:15px}

.chat-emo{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:6px 10px;border-top:1px solid var(--line);background:var(--bg2)}
.chat-emo[hidden]{display:none}.chat-emo button{font-size:20px;padding:4px 0;background:none;border:0;cursor:pointer;border-radius:8px}.chat-emo button:hover{background:rgba(255,255,255,.08)}
.chat-form .icon-btn{flex:none;width:40px;font-size:20px}
.cm.ment{background:rgba(255,194,75,.12);border-radius:8px;box-shadow:inset 3px 0 var(--gold)}
.name-menu{position:fixed;z-index:300;display:flex;flex-direction:column;min-width:150px;padding:6px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.5)}
.name-menu b{padding:6px 10px;font-size:12px;color:var(--muted)}.name-menu button{text-align:left;padding:9px 10px;border:0;background:none;color:inherit;font-size:14px;border-radius:8px;cursor:pointer}.name-menu button:hover{background:rgba(255,255,255,.08)}
.chat-form input{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:inherit}

/* admin v2 */
.adm{max-width:1100px}
.adm-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.adm-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;scrollbar-width:none;border-bottom:1px solid var(--line)}
.adm-nav::-webkit-scrollbar{display:none}
.adm-nav button{flex:none;display:flex;align-items:center;gap:7px;padding:10px 14px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}
.adm-nav button.on{color:var(--text);border-bottom-color:var(--accent)}
.adm-nav em{font-style:normal;font-size:12px;font-weight:800;min-width:18px;padding:1px 6px;border-radius:99px;background:var(--loss);color:#fff;text-align:center}
.adm-nav em:empty{display:none}
.adm-group{margin-bottom:22px}.adm-group h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.kpi{padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);min-width:0}
.kpi-h{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.kpi-h span{font-size:16px}
.kpi b{display:block;margin-top:8px;font-size:clamp(20px,2.6vw,26px);line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kpi-s{margin-top:4px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plist{display:grid;gap:6px}
.prow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:inherit;text-align:left;cursor:pointer}
.prow:hover{border-color:rgba(139,123,255,.5)}
.pr-n{flex:1;min-width:0}.pr-n b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-n small,.pr-v small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.pr-v{text-align:right;flex:none}.pr-v b{font-size:14px;font-variant-numeric:tabular-nums}
.av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:rgba(255,255,255,.07);border:2px solid var(--vc,#8B7BFF)}
.av.lg{width:54px;height:54px;font-size:22px}
.chip{display:inline-block;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--muted);vertical-align:1px}
.chip.c-admin{background:rgba(255,194,75,.18);color:var(--gold)}.chip.ban{background:rgba(255,84,112,.18);color:var(--loss)}.chip.warn{background:rgba(255,194,75,.16);color:var(--gold)}.chip.ok{background:rgba(139,123,255,.16);color:var(--accent)}
.adm-drawer-bg{position:fixed;inset:0;z-index:460;background:rgba(3,6,12,.6);display:flex;justify-content:flex-end}
.adm-drawer{width:min(520px,100%);height:100%;overflow-y:auto;background:var(--bg2);border-left:1px solid var(--line);animation:drin .22s ease-out}
@keyframes drin{from{transform:translateX(30px);opacity:0}}
.dr-head{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg2);z-index:2}
.dr-t{flex:1;min-width:0}.dr-t h2{margin:0;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-sub{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px;font-size:13px;color:var(--muted)}
.pid{background:rgba(255,255,255,.07);border:0;color:inherit;border-radius:8px;padding:2px 8px;font-family:ui-monospace,monospace;cursor:pointer}
.dr-body{padding:16px;display:grid;gap:14px}
.minis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mini{padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);min-width:0}
.mini small{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.mini b{display:block;margin-top:3px;font-size:17px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.dr-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.callout{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);font-size:13px}.callout.bad{background:rgba(255,84,112,.12);color:var(--loss)}.callout.warn{background:rgba(255,194,75,.1)}
.callout a{color:var(--accent)}
.dr-sec{padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.dr-sec summary{cursor:pointer;font-weight:700;font-size:14px}.dr-sec[open] summary{margin-bottom:8px}
.dr-sec.act{display:grid;gap:8px}.dr-sec h4{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fl{font-size:12px;padding:4px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.btn.danger{color:var(--loss);border-color:rgba(255,84,112,.4)}
.fls{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.flc{padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.flc.dim{opacity:.55}
.flc-h{display:flex;align-items:center;gap:8px}.flc-h small{margin-left:auto}.flc p{margin:8px 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.aud{display:grid;gap:6px}.aud-r{padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.aud-d{font-size:12px;color:var(--muted);margin:3px 0;overflow-wrap:anywhere}
.adm-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.gsw{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);cursor:pointer;font-size:14px}
.gsw input{position:absolute;opacity:0;pointer-events:none}.gsw i{flex:none;width:34px;height:20px;border-radius:99px;background:rgba(255,255,255,.15);position:relative;transition:.2s}
.gsw i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.gsw input:checked+i{background:var(--accent)}.gsw input:checked+i::after{transform:translateX(14px)}
.adm-card .inp input{width:100%}

/* sso */
.sso{margin-top:14px;display:grid;gap:8px}
.sso-or{display:flex;align-items:center;gap:10px;color:var(--mut,#8a93a6);font-size:12px}
.sso-or:before,.sso-or:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.12)}
.sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;text-decoration:none}

/* footer */
.vfoot{margin:36px 0 0;padding:26px 18px calc(84px + env(safe-area-inset-bottom));border-top:1px solid var(--line,rgba(255,255,255,.08));color:#8a93a6;font-size:13px}
.vf-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px;margin:0 auto}
.vf-cols b{display:block;color:#fff;font-size:14px;margin-bottom:8px}
.vf-cols a{display:block;color:#aab3c7;text-decoration:none;padding:5px 0}
.vf-cols a:hover{color:#6ee7b7}
.vl-note,.vf-copy{max-width:900px;margin:18px auto 0;text-align:center;font-size:12px;line-height:1.5}
.vf-copy{margin-top:8px}
@media(max-width:560px){.vf-cols{grid-template-columns:1fr 1fr}.vf-cols div:first-child{grid-column:1/-1}.vf-cols a{padding:7px 0}}

/* logo + wallet arrow */
.logo,.top .logo-mini{cursor:pointer}
.logo img{display:block;filter:drop-shadow(0 2px 8px rgba(255,194,75,.25))}
.logo:hover .logo-word{filter:brightness(1.15)}
.top .logo-mini{border-radius:50%}
.wallet-btn{display:inline-flex;align-items:center;gap:6px}
.wchev{transition:transform .2s}
.wallet:has(.popover) .wchev{transform:rotate(180deg)}
.wallet.open .wchev{transform:rotate(180deg)}
@media(max-width:400px){.wallet-btn{gap:4px}.wchev{width:10px;height:10px}}
/* leaderboard table fit */
.lb-table td:nth-child(2){max-width:0;min-width:84px;width:42%}
@media(max-width:430px){.lb-table th,.lb-table td{padding:10px 6px}.lb-table th.rk,.lb-table td:first-child{width:34px}.lb-table .coin{display:none}.lb-table td.num{font-size:13px}}
.lb-prizes{display:flex;flex-wrap:wrap;gap:8px}
.lb-prizes .pz.rest{flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px}

/* announcement dismiss */
.announce{position:relative;padding-right:40px}
.ann-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08);color:inherit;font-size:13px;line-height:1}
.ann-x:hover{background:rgba(255,255,255,.18)}
/* profile pop-up */
.modal.pm{padding:0;max-height:88vh;overflow-y:auto}
.pm-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;position:sticky;top:0;background:inherit;z-index:1}
.pm-x{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);color:inherit}
.pm-top{display:flex;align-items:center;gap:12px;padding:0 18px 14px}
.pm-top .prof-av{flex:none;width:52px;height:52px;font-size:22px}
.pm-id{flex:1;min-width:0;display:flex;flex-direction:column}
.pm-id b{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-id small{color:var(--muted,#8a93a6)}
.pm-stats{display:grid;grid-template-columns:1fr 1fr;margin:0 18px;border:1px solid var(--line,rgba(255,255,255,.1));border-radius:12px;overflow:hidden;background:rgba(0,0,0,.18)}
.pm-stats>div{padding:14px;border-right:1px solid var(--line,rgba(255,255,255,.1));border-bottom:1px solid var(--line,rgba(255,255,255,.1))}
.pm-stats>div:nth-child(2n){border-right:0}.pm-stats>div:nth-last-child(-n+2){border-bottom:0}
.pm-stats small{display:block;color:var(--muted,#8a93a6);font-size:12px;margin-bottom:4px}
.pm-stats b{font-size:18px}
.pm-games{margin:14px 18px 18px;border:1px solid var(--line,rgba(255,255,255,.1));border-radius:12px;overflow:hidden}
.pm-games table{width:100%;border-collapse:collapse;font-size:13px}
.pm-games th{padding:10px 12px;text-align:left;color:var(--muted,#8a93a6);font-weight:600;background:rgba(0,0,0,.2)}
.pm-games td{padding:9px 12px;border-top:1px solid var(--line,rgba(255,255,255,.07));white-space:nowrap}
.pm-games .r{text-align:right}.pm-games tr.zero td{opacity:.55}
.pm-gi{display:inline-block;width:22px}
.pm .neg{color:#ff5a76!important}.pm .pos{color:#8B7BFF!important}

/* notifications */
#notiBtn{position:relative}
#notiBtn .cb-n{display:none}
#notiBtn.has .cb-n{display:grid;place-items:center;position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ff5a76;color:#fff;font:800 10px/1 var(--ui,inherit)}
.noti{position:fixed;top:62px;right:10px;width:min(380px,calc(100vw - 20px));max-height:70vh;display:flex;flex-direction:column;background:var(--bg2,#121a2e);border:1px solid var(--line,rgba(255,255,255,.12));border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.5);z-index:650;overflow:hidden}
.noti-h{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line,rgba(255,255,255,.1))}
.noti-h>div{display:flex;gap:6px;align-items:center}
.noti-l{overflow-y:auto;flex:1}
.ni{display:flex;gap:8px;align-items:flex-start;padding:11px 14px;border-bottom:1px solid var(--line,rgba(255,255,255,.07))}
.ni.un{background:rgba(255,194,75,.08);box-shadow:inset 3px 0 var(--gold,#ffc24b)}
.ni-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}
.ni-b span{color:#aab3c7;word-break:break-word}.ni-b small{color:#7d879b;font-size:12px}
.ni-x{flex:none;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.06);color:inherit;font-size:12px}
.noti-f{padding:8px 14px;font-size:12px;color:#7d879b;text-align:center;border-top:1px solid var(--line,rgba(255,255,255,.08))}
/* chat extras */
.vtag.rk{font-size:11px;padding:1px 6px;border-radius:999px;white-space:nowrap;font-weight:700}
.cm .at{color:#8fd3ff;font-weight:700}.cm .at.me{background:rgba(255,194,75,.25);color:#ffd36b;border-radius:4px;padding:0 3px}
.chat-sug{display:flex;gap:6px;flex-wrap:wrap;padding:6px 10px;border-top:1px solid var(--line,rgba(255,255,255,.08))}
.chat-sug[hidden]{display:none}
.chat-sug button{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:inherit;font-size:12px}
.live-table .vtag.rk{margin-right:6px}
@media(max-width:430px){.live-table .vtag.rk{font-size:10px;padding:1px 4px}}
/* wallet balance */
.wallet{border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md,12px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.bal{justify-content:center;font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums;min-width:120px}
@media(max-width:430px){
  .top{gap:6px;padding-left:8px;padding-right:8px}
  .top-right{gap:4px}
  .top-right .icon-btn{width:36px;height:36px;padding:0}
  .vip-chip{padding:0 6px}.vip-chip #vipName{display:none}
  .wallet-btn span{display:none}.wallet-btn{padding:0 10px}.wchev{width:14px;height:14px}
  .bal{min-width:0}
}
.cm.ment{padding-left:8px}

/* sidebar minimize (desktop only) */
.side-toggle{margin-left:auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:var(--muted,#8a93a6)}
.side-toggle:hover{background:rgba(255,255,255,.14);color:#fff}
.side-toggle svg{transition:transform .25s}
@media(max-width:860px){.side-toggle{display:none}}
@media(min-width:861px){
  .app{transition:grid-template-columns .22s ease}
  .app.mini{grid-template-columns:68px 1fr}
  .app.mini .logo{padding:0;justify-content:center}
  .app.mini .logo-word,.app.mini .nav-head,.app.mini .nl,.app.mini #saveText{display:none}
  .app.mini .side-scroll{padding:10px 8px}
  .app.mini .nav-item{justify-content:center;padding:10px 0;position:relative}
  .app.mini .nav-item .ic{width:auto;font-size:19px}
  .app.mini .nav-item .badge{position:absolute;top:2px;right:6px;margin:0;font-size:10px;padding:1px 5px}
  .app.mini .nav-group{margin:4px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line,rgba(255,255,255,.07))}
  .app.mini .side-foot{padding:10px 0;flex-direction:column;gap:8px;justify-content:center}
  .app.mini .side-toggle{margin:0}
  .app.mini .side-toggle svg{transform:rotate(180deg)}
}
/* rewards v3 */
.rw-page .rw-head{padding:18px 20px;border-radius:20px;background:linear-gradient(120deg,rgba(255,194,75,.16),rgba(139,123,255,.1) 55%,rgba(139,92,255,.14));border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.rw-vip{background:rgba(5,8,16,.45);backdrop-filter:blur(6px)}
.rw-vbar{height:6px;border-radius:99px;background:rgba(255,255,255,.1);margin-top:6px;overflow:hidden;min-width:110px}
.rw-vbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd36b,#8B7BFF)}
.rw{--ac:#8fa3c8;position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));transition:transform .18s,border-color .18s,box-shadow .18s}
.rw:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ac);opacity:.9}
.rw:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(closest-side,var(--ac),transparent);opacity:.14;pointer-events:none}
.rw.daily{--ac:#ffc24b}.rw.rake{--ac:#8B7BFF}.rw.onl{--ac:#5cc8ff}.rw.refill{--ac:#ff8a5c}.rw.vip{--ac:#b28dff}
.rw .rw-ic{background:color-mix(in srgb,var(--ac) 20%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 40%,transparent);font-size:24px}
.rw .rw-v{font-size:24px;color:#fff}
.rw .rw-st.go{background:color-mix(in srgb,var(--ac) 22%,transparent);color:var(--ac)}
.rw:has(.rw-st.go){border-color:color-mix(in srgb,var(--ac) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ac) 25%,transparent),0 10px 28px color-mix(in srgb,var(--ac) 16%,transparent)}
@media(hover:hover){.rw:hover{transform:translateY(-3px)}}
.rw-bar i{background:linear-gradient(90deg,var(--ac,#8B7BFF),#fff8)}
.m-reset{font-size:12px;margin:0 0 10px;color:#aab3c7}.m-reset b{color:#ffd36b;font-variant-numeric:tabular-nums}
.m{border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));transition:border-color .2s}
.m.done{box-shadow:0 0 0 1px rgba(139,123,255,.25),0 8px 22px rgba(139,123,255,.1)}
.m .rw-bar{height:7px}

/* sidebar groups */
.nav-cat{margin:6px 0}
.nav-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--dim,#7d879b);text-align:left}
.nav-toggle:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-toggle span{flex:1}
.nav-toggle .cnt{font-style:normal;font-size:11px;font-weight:800;padding:1px 7px;border-radius:99px;background:rgba(255,255,255,.07);letter-spacing:0}
.nav-toggle .chv{transition:transform .2s;flex:none}
.nav-cat.open .chv{transform:rotate(180deg)}
.nav-sub{display:none;padding-left:4px}
.nav-cat.open .nav-sub{display:block;animation:fadein .18s}
.nav-sub .nav-item{padding:7px 10px}
.nav-group .nav-item{padding-top:8px;padding-bottom:8px}
@media(min-width:861px){.app.mini .nav-cat .nav-sub{display:block;padding-left:0}.app.mini .nav-toggle{display:none}}
@media(max-width:860px){body:has(.app.side-open) .income{display:none}}

/* header: wallet is always centred in the bar; the side groups share equal space */
.top{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.top-left{display:flex;align-items:center;gap:8px;min-width:0}
.top .wallet{margin:0!important;justify-self:center}
.top-right{justify-self:end}
@media(max-width:430px){.vip-chip,#adminBtn{display:none!important}}

/* wallet menu: free coins + vault */
.popover.wpop{width:min(340px,calc(100vw - 20px));max-height:calc(100vh - 80px);overflow-y:auto}
.wp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 8px}
.wp-tiles>div{padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.wp-tiles small{display:block;color:var(--muted);font-size:12px}.wp-tiles b{font-size:15px}
.wp-free{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:9px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(255,194,75,.14),rgba(139,123,255,.08));border:1px solid rgba(255,194,75,.25);font-size:12px;color:var(--muted)}
.wp-free .wp-ft{width:100%;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:11px;color:#ffd36b}
.wp-free b{color:var(--text);display:inline-block;min-width:2.2ch}
.wp-free .coin{margin-right:4px;vertical-align:-2px}
.wp-vault{margin-top:8px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.wp-vh{margin-bottom:8px}.wp-vh b{display:block}.wp-vh small{color:var(--muted);font-size:12px}
.wp-chips{display:flex;gap:6px;margin:8px 0}
.wp-chips button{flex:1;padding:6px 0;border-radius:8px;background:rgba(255,255,255,.07);color:inherit;font-size:12px;font-weight:700}
.wp-chips button.on{background:rgba(139,123,255,.2);color:#8B7BFF}
.wp-vb{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:860px){.popover.wpop{position:fixed;top:60px;left:50%;transform:translateX(-50%)}}
.wp-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:10px;background:rgba(0,0,0,.25);margin-top:8px}
.wp-mode button{padding:7px 0;border-radius:8px;color:var(--muted);font-weight:700;font-size:13px}
.wp-mode button.on{background:rgba(139,123,255,.18);color:#8B7BFF}

/* perf v2: static background, no looping decorative animation, skip offscreen rendering */
.aurora::before,.aurora b,.aurora s,.aurora::after{animation:none!important;will-change:auto!important}
.aurora s{display:none!important}
@media (max-width:768px){.aurora::before,.aurora b{display:none}}
.btn.pulse{animation:none!important}
.news-item,.tier,.feat-card{content-visibility:auto;contain-intrinsic-size:auto 120px}

/* ===== card + lobby cleanup v4: one clear layout for every game card ===== */
.game-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.gcard{aspect-ratio:1/1.12;padding:0;justify-content:flex-end}
.gcard .gart{inset:10px 8px 52px 8px;display:grid;place-items:center;font-size:50px}
.gcard .gart svg{max-width:100%;max-height:100%}
.gcard .shade{height:58%}
.gcard .gfoot{position:relative;z-index:2;padding:0 12px 11px;display:flex;flex-direction:column;gap:1px;min-width:0}
.gcard .gname{font-size:16px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcard .grtp{position:static;padding:0;background:none;backdrop-filter:none;font-size:12px;font-weight:700;letter-spacing:.02em;color:#7CF2B6;opacity:.9}
.gcard .gby{display:none!important}
.gcard .gtag{position:absolute;top:9px;left:9px;right:auto;z-index:3;font-size:11px;padding:3px 8px}
.gcard .gtag.hot{background:var(--gold);color:#201400}
.gfav{top:8px;left:auto;right:8px;width:30px;height:30px;font-size:15px;line-height:1}
.gfav:not(.on){opacity:.85}
@media (max-width:600px){
  .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gcard{aspect-ratio:1/1.02;border-radius:14px}
  .gcard .gart{inset:8px 6px 46px 6px;font-size:40px}
  .gcard .gfoot{padding:0 10px 9px}
  .gcard .gname{font-size:14px}
  .gcard .grtp{font-size:11px}
  .gcard .gtag{top:7px;left:7px;font-size:10px;padding:2px 7px}
  .gfav{top:6px;right:6px;width:28px;height:28px}
  /* lobby: put the games above the fold */
  .hero3{padding:18px 18px 16px;min-height:0;grid-template-columns:1fr;gap:10px;border-radius:18px}
  .hero3 .kick{font-size:11.5px}
  .hero3 h2{font-size:28px;margin:4px 0 8px}
  .hero3 h2 br{display:none}
  .hero3 p{display:none}
  .hero3 .ctas{gap:8px;flex-wrap:nowrap}
  .hero3 .ctas .btn{flex:1 1 0;min-width:0;padding:11px 10px;font-size:14px;white-space:nowrap}
  .stats-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
  .stat{padding:8px 8px;border-radius:12px;text-align:center}
  .stat small{font-size:8.5px;letter-spacing:.04em;line-height:1.2;min-height:20px;display:flex;align-items:center;justify-content:center}
  .stat b{font-size:13px;display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lobby-bar{margin:14px 0 2px;gap:8px}
  .section-title{margin-top:14px}
}

/* chat: bigger, easier to read; rank shown as a symbol */
.cm{font-size:15px;line-height:1.5}
.cm-t{font-size:12px}
.cm .vtag.rk.gem{font-size:13px;padding:0 5px;line-height:1.5;vertical-align:baseline}
.cm-u{font-weight:800}
.cm-a{font-size:11px}
.cm-del{font-size:13px}
.chat-list{gap:8px;padding:12px 14px}
.chat-empty{font-size:14px}
.chat-head b{font-size:16px}
.chat-sug button{font-size:13px}
/* balance: coin icon and amount share one centre line */
.bal{display:flex;align-items:center;justify-content:center}
.bal #balIcon,.bal #balText{display:flex;align-items:center;line-height:1}
.bal .cur-ic{vertical-align:middle;margin:0}

/* leaderboards: inline numbers match the sentence they sit in */
.lb-head .lb-rule b,.lb-me b,.lb-note b{font-family:inherit;font-size:inherit;font-weight:800;color:var(--text)}
/* mobile game stages: keep the bet controls on the first screen */
@media (max-width:600px){
  .stage{min-height:240px!important;padding:10px}
  .crash-wrap{min-height:270px!important;height:270px!important}
  .bj-table{gap:10px}
}
@media (max-width:700px){
  .rw-head{flex-direction:column;align-items:stretch;gap:12px;padding:18px}
  .rw-head>*{min-width:0}
  .rw-vip{width:100%;box-sizing:border-box}
}
.nav-bottom{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.vf-social{display:flex;justify-content:center;gap:12px;margin-top:20px}
.vf-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#aab3c7;transition:color .15s,background .15s}
.vf-ic:hover,.vf-ic:focus-visible{color:#fff;background:#5865F2;border-color:#5865F2}
.rw-vip>div{flex:1;min-width:0}
.rw-vip .rw-vbar{width:100%;max-width:none}
.live-table .vtag.rk.gem{font-size:13px;padding:1px 6px;line-height:1.4;margin-right:8px;vertical-align:middle}

/* ===== crash polish ===== */
.stage:has(.crash-wrap){background:radial-gradient(90% 70% at 50% 115%,rgba(255,84,112,.12),transparent 60%),radial-gradient(70% 60% at 85% 0%,rgba(79,195,255,.09),transparent 60%),radial-gradient(120% 90% at 50% 0%,#1B2A4A,#0B1020)}
.crash-mult{left:50%;top:34%;width:100%}
.crash-mult .mult-big{font-size:clamp(54px,9vw,104px);letter-spacing:.01em;font-variant-numeric:tabular-nums;line-height:1}
.crash-mult small{font-size:13px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-top:10px}
.crash-hist{left:14px;top:14px;max-width:calc(100% - 28px);gap:6px;flex-wrap:nowrap;overflow:hidden}
.crash-hist span{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(10,14,28,.55);font-variant-numeric:tabular-nums}
@media (max-width:700px){ .crash-mult{left:50%;top:32%} .crash-mult .mult-big{font-size:clamp(46px,16vw,72px)} .crash-hist span{font-size:12px;padding:3px 8px} }

/* v6: percent suffix in autobet rows */
.auto-box .inp.pct{width:96px!important;flex:none}
.inp .sfx{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px 0 4px;font-weight:800;color:var(--muted);font-size:13px;pointer-events:none}
.auto-box .inp.pct input{padding:0 4px 0 12px;text-align:left}

.tw-diff .seg button{flex:1 1 0;padding:8px 2px;font-size:12px;min-width:0}

/* v6 hi-lo */
.hl-btn{display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:10px 12px!important;min-height:64px;white-space:normal}
.hl-btn .hl-ic{grid-row:1/3;font-size:18px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06)}
.hl-btn.up .hl-ic{color:var(--win)}.hl-btn.dn .hl-ic{color:#ff7a93}
.hl-btn .hl-t{font-weight:800;font-size:14px;line-height:1.15}
.hl-btn .hl-s{display:flex;gap:6px;font-size:12px;color:var(--muted);align-items:baseline}.hl-btn .hl-s b{color:var(--text)}.hl-btn .hl-s i{font-style:normal;color:var(--accent,#c6ff3d);font-weight:800}
.hl-btn:not(:disabled):hover{transform:translateY(-1px)}
.hilo-wrap .mult-big{font-size:44px!important}
.hilo-card .pcard{width:128px;height:184px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.hilo-meta{display:flex;gap:10px}.hilo-meta>div{background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:12px;padding:6px 16px;text-align:center;min-width:92px}
.hilo-meta small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hilo-meta b{font-size:15px}
.hilo-hist{padding:8px;background:rgba(0,0,0,.2);border-radius:12px;min-height:72px;align-items:center}
.hilo-hist .pcard:last-child{outline:2px solid var(--win);outline-offset:1px}
@media(max-width:700px){.hilo-card .pcard{width:104px;height:150px}.hl-btn{min-height:58px}}

/* v6: bet field buttons fit + readable cards */
.inp .mini{display:grid;place-items:center;flex:none;height:calc(100% - 8px);margin:4px 2px 4px 0;padding:0 9px;min-width:34px;border:0;border-radius:7px;background:rgba(255,255,255,.07);color:var(--muted);font-size:12px;font-weight:800;line-height:1;white-space:nowrap}
.inp .mini:last-child{margin-right:4px}.inp .mini:hover:not(:disabled){background:rgba(255,255,255,.14);color:var(--text)}
.inp .mini:first-of-type{margin-left:4px}
.inp>input{min-width:0}
.pcard{width:88px;height:126px;margin-left:-22px;padding:7px 8px;border-radius:11px;background:linear-gradient(180deg,#fff,#E9EDF4);box-shadow:0 8px 20px rgba(0,0,0,.5),inset 0 0 0 1px rgba(0,0,0,.08)}
.pcard .r,.pcard .r2{display:flex;flex-direction:column;align-items:center;font-size:26px;line-height:.95;font-weight:900;letter-spacing:-.02em}
.pcard .r em,.pcard .r2 em{font-style:normal;font-size:16px;margin-top:2px}
.pcard .s{font-size:40px}
.pcard.red{color:#D4132E}
.hand-total{font-size:17px;font-weight:900;padding:3px 13px;min-width:44px;text-align:center;background:#0b1020;border:1.5px solid rgba(255,255,255,.28);color:#fff;font-variant-numeric:tabular-nums}
.hand-total.bust{background:var(--loss);border-color:transparent}.hand-total.bj{background:var(--gold);color:#241700;border-color:transparent}
.hand-label{font-size:14px;margin:12px 0 8px;display:flex;align-items:center;justify-content:center;gap:8px}
.bj-table .cards,.bj-hand .cards{display:flex;justify-content:center}
.bj-hands.multi .pcard{width:62px;height:90px;margin-left:-26px}
.bj-hands.multi .pcard .r,.bj-hands.multi .pcard .r2{font-size:18px}.bj-hands.multi .pcard .r em{font-size:12px}.bj-hands.multi .pcard .s{font-size:26px}
.bac-hands .pcard .r,.bac-hands .pcard .r2{font-size:19px}.bac-hands .pcard .r em{font-size:12px}
.hilo-hist .pcard .r{font-size:13px}.hilo-hist .pcard .r em{display:none}
.vp-slot .pcard .r{font-size:clamp(16px,4vw,26px)}
.bj-msg{font-size:24px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
@media(max-width:700px){.pcard{width:72px;height:104px;margin-left:-20px}.pcard .r,.pcard .r2{font-size:22px}.pcard .s{font-size:32px}.hilo-card .pcard{width:104px;height:150px}.hilo-hist .pcard{width:40px;height:56px;margin:0}}
.cards{min-height:130px}.bj-hands.multi .cards{min-height:94px}
.pcard .s{position:absolute;inset:0;display:grid;place-items:center;align-self:auto;pointer-events:none;opacity:.92}
.pcard .r,.pcard .r2{position:relative;z-index:1}
.pcard .r2{align-self:flex-end}
.pcard{justify-content:space-between}

/* v6 global crash players panel */
.crash-live{margin-top:12px;background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:12px;padding:8px 8px 6px}
.cl-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:2px 4px 6px;font-size:13px}.cl-h span{font-size:12px;font-weight:700}
.cl-list{max-height:230px;overflow:auto;display:flex;flex-direction:column;gap:3px}
.cl-r{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.04);font-size:12.5px}
.cl-r .cm-u{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.cl-r .cl-s{color:var(--muted);font-weight:700}.cl-r .win{color:var(--win);font-weight:800}.cl-r .win small{font-weight:700;opacity:.85}.cl-r .loss{color:var(--loss);font-weight:800}
.cl-r.out{background:rgba(53,227,154,.09)}.cl-r.me{box-shadow:inset 0 0 0 1px rgba(198,255,61,.45)}
.cl-r .vtag.rk{width:22px;height:22px;display:grid;place-items:center;padding:0;border-radius:6px;font-size:12px}
.cl-e{text-align:center;padding:14px 6px;font-size:12.5px}.cl-f{font-size:11.5px;padding:6px 4px 0;font-family:ui-monospace,monospace;opacity:.7;word-break:break-all}

/* v6.2 overlapped hands: one clear corner index, suit sits in the visible area, totals centred */
.bj-table .pcard .r2,.bac-hands .pcard .r2{display:none}
.bj-table .pcard .s,.bac-hands .pcard .s{inset:0 0 0 34px;font-size:34px}
.bj-hands.multi .pcard .s{inset:0 0 0 24px;font-size:24px}
.bac-hands .pcard .s{inset:0 0 0 26px;font-size:26px}
.hand-label span:empty{display:none}
.hand-label{width:100%}
.bj-hand{display:flex;flex-direction:column;align-items:center}
.bj-hand .hand-label{margin:10px 0 2px}
.bj-hand .bj-tag{margin:0}
.bj-table>div:first-child{display:flex;flex-direction:column;align-items:center}
.hand-total{margin-left:0!important;display:inline-flex;justify-content:center}
.bj-table .pcard:not(:last-child) .s,.bac-hands .pcard:not(:last-child) .s{display:none}
/* v6.3 blackjack table: felt in the site's palette, arced rules, side-bet spots */
.stage:has(.bj-table){background:radial-gradient(120% 90% at 50% 0%,rgba(139,123,255,.06),transparent 60%),transparent}
.bj-table{position:relative;width:min(100%,640px);margin:0 auto;padding:46px 18px 16px;gap:8px;border-radius:200px 200px 26px 26px/150px 150px 26px 26px;
  background:radial-gradient(130% 95% at 50% 0%,rgba(24,142,108,.5) 0%,rgba(14,84,72,.55) 42%,rgba(9,28,44,.9) 100%);
  border:1.5px solid rgba(139,123,255,.3);box-shadow:inset 0 0 0 7px rgba(8,16,30,.55),inset 0 0 0 8px rgba(139,123,255,.16),inset 0 20px 70px rgba(0,0,0,.3),0 20px 50px rgba(0,0,0,.35)}
.bj-arc{position:absolute;left:50%;top:6px;width:min(88%,520px);transform:translateX(-50%);pointer-events:none;overflow:visible}
.bj-arc text{font:800 11.5px var(--ui,Manrope,sans-serif);letter-spacing:.2em;fill:rgba(198,255,61,.72)}
.bj-dealer{display:flex;flex-direction:column;align-items:center;margin-top:30px}
.bj-msg{min-height:34px;display:grid;place-items:center}
.bj-spots{display:flex;justify-content:center;gap:16px;margin-top:6px}
.bj-spot{width:116px;min-height:62px;border-radius:50%/60%;border:1.5px dashed rgba(255,255,255,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 10px;text-align:center;background:rgba(0,0,0,.18);transition:border-color .2s,background .2s}
.bj-spot small{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.bj-spot b{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.2}
.bj-spot.on{border-style:solid;border-color:rgba(198,255,61,.55);background:rgba(198,255,61,.07)}
.bj-spot.win{border-color:var(--win);background:rgba(53,227,154,.16)}.bj-spot.win b{color:var(--win)}
.bj-spot.lose{border-color:rgba(255,84,112,.5)}.bj-spot.lose b{color:var(--muted);font-weight:700}
.bj-sidegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bj-sidegrid .inp{display:flex;align-items:center;gap:6px;padding-left:10px;height:46px}
.bj-sidegrid .sfl{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);line-height:1.1;flex:none}
.bj-sidegrid input{min-width:0;text-align:right;padding:0 10px 0 4px}
@media(max-width:700px){.bj-table{padding:40px 8px 12px;border-radius:120px 120px 20px 20px/90px 90px 20px 20px}.bj-spot{width:44%;min-height:54px}.bj-arc text{font-size:12px;letter-spacing:.12em}.bj-spots{gap:10px}}
/* v6.4 blackjack: full, evenly spaced cards (overlap only when a hand gets long) */
.bj-table .pcard{margin-left:10px}.bj-table .pcard:first-child{margin-left:0}
.bj-table .pcard .r2{display:flex}
.bj-table .pcard .s{inset:0;font-size:40px}
.bj-hands.multi .pcard{margin-left:5px;width:64px;height:92px}.bj-hands.multi .pcard:first-child{margin-left:0}
.bj-hands.multi .pcard .s{inset:0;font-size:26px}
.bj-table .cards{flex-wrap:nowrap}
.bj-table .cards:has(.pcard:nth-child(5)) .pcard:not(:first-child){margin-left:-34px}
.bj-table .cards:has(.pcard:nth-child(5)) .pcard:not(:last-child) :is(.s,.r2){display:none}
@media(max-width:700px){
 .bj-table .pcard{margin-left:6px}
 .bj-table .cards:has(.pcard:nth-child(4)) .pcard:not(:first-child){margin-left:-30px}
 .bj-table .cards:has(.pcard:nth-child(4)) .pcard:not(:last-child) :is(.s,.r2){display:none}
 .bj-hands.multi .pcard{width:54px;height:78px}
}
.bj-spot{width:104px;min-height:104px;border-radius:50%;border:2px solid rgba(255,255,255,.16);background:rgba(0,0,0,.2);padding:8px}
.bj-spot.on{border-color:rgba(198,255,61,.5);border-style:solid}
.bj-spot.lose{border-color:rgba(255,255,255,.16);background:rgba(0,0,0,.2)}.bj-spot.lose b{opacity:.7}
.bj-spot.win{box-shadow:0 0 22px rgba(53,227,154,.35)}
@media(max-width:700px){.bj-spot{width:92px;min-height:92px}}
.bj-spot b{font-size:12px;max-width:100%;overflow-wrap:anywhere}

/* v6.5 real playing cards: corner indexes + pip layouts, everything scales with the card width */
.pcard{container-type:inline-size;position:relative;display:block!important;padding:0!important;background:#fdfdfb!important;border:1px solid rgba(20,28,45,.22);border-radius:7px!important;color:#14202f;overflow:hidden}
.pcard.red{color:#d11f3a}
.pcard .r,.pcard .r2{position:absolute!important;display:flex;flex-direction:column;align-items:center;line-height:.9;font-weight:800;font-size:23cqw!important;width:20cqw;z-index:2;font-family:Georgia,'Times New Roman',serif;letter-spacing:-.04em}
.pcard .r{left:7cqw;top:5cqw}.pcard .r2{right:7cqw;bottom:5cqw;transform:rotate(180deg);align-self:auto}
.pcard .r em,.pcard .r2 em{font-style:normal;font-size:19cqw!important;margin-top:1cqw;letter-spacing:0}
.pcard .pips{position:absolute;left:30%;right:30%;top:14%;bottom:14%}
.pcard .pip{position:absolute;font-style:normal;font-size:21cqw;line-height:1;transform:translate(-50%,-50%)}
.pcard .pip.dn{transform:translate(-50%,-50%) rotate(180deg)}
.pcard .pip.ace{font-size:46cqw}
.pcard .face{position:absolute;inset:-4% -8%;display:grid;place-items:center;border:1px solid currentColor;border-radius:5px;background:linear-gradient(135deg,rgba(0,0,0,.05) 25%,transparent 25% 50%,rgba(0,0,0,.05) 50% 75%,transparent 75%);background-size:10px 10px;opacity:.95}
.pcard .face b{font:800 40cqw Georgia,serif;line-height:1;margin-top:-6cqw}.pcard .face i{font-style:normal;font-size:20cqw;position:absolute;bottom:6%}
.pcard.back .pips,.pcard.back .r,.pcard.back .r2{visibility:hidden}
.pcard.back{background:repeating-linear-gradient(45deg,#3B2A8A 0 7px,#2C1F6B 7px 14px)!important;border:3px solid #fdfdfb!important}
/* sizes */
.pcard{width:76px;height:108px}
.bj-table .pcard{margin-left:8px}.bj-table .pcard:first-child{margin-left:0}
.bj-table .pcard .s{display:none}
.bj-hands.multi .pcard{width:58px;height:82px}
.hilo-card .pcard{width:128px;height:184px}
.hilo-hist .pcard{width:36px;height:52px}.hilo-hist .pips{display:none}.hilo-hist .pcard .r{font-size:40cqw!important;left:50%;transform:translateX(-50%);top:10%}.hilo-hist .pcard .r2,.hilo-hist .pcard .r em{display:none}
.bac-hands .pcard{width:62px;height:90px}
.vp-slot .pcard{width:clamp(52px,14vw,92px);height:clamp(76px,20vw,132px)}
@media(max-width:700px){.pcard{width:68px;height:97px}.hilo-card .pcard{width:104px;height:150px}.hilo-hist .pcard{width:34px;height:48px}.bj-hands.multi .pcard{width:52px;height:74px}}
.bj-table .cards:has(.pcard:nth-child(5)) .pcard:not(:last-child) :is(.pips,.r2){display:none}
@media(max-width:700px){.bj-table .cards:has(.pcard:nth-child(4)) .pcard:not(:last-child) :is(.pips,.r2){display:none}}
/* less tall table */
.bj-table{padding:34px 16px 12px!important;gap:4px!important}
.bj-dealer{margin-top:22px!important}
.cards{min-height:112px!important}.bj-hands.multi .cards{min-height:84px!important}
.bj-msg{min-height:26px!important;font-size:20px!important}
.hand-label{margin:6px 0 4px!important}
.bj-spot{width:150px!important;min-height:44px!important;border-radius:999px!important;flex-direction:row!important;gap:8px!important;padding:6px 14px!important}
.bj-spot small{font-size:9.5px}.bj-spot b{font-size:12px}
.bj-spots{margin-top:2px!important}
@media(max-width:700px){.bj-spot{width:46%!important;min-height:42px!important;gap:6px!important;padding:4px 8px!important;flex-wrap:wrap;justify-content:center}.bj-table{padding:32px 8px 10px!important}.cards{min-height:100px!important}}

/* v6.6 blackjack, minimal half-moon table */
.bj-table{width:min(100%,700px)!important;min-height:400px;padding:22px 24px 22px!important;gap:0!important;display:flex;flex-direction:column;justify-content:space-between;align-items:center;
  border-radius:0 0 50% 50%/0 0 100% 100%!important;border:0!important;border-top:2px solid rgba(255,255,255,.1)!important;
  background:radial-gradient(90% 85% at 50% 18%,rgba(64,150,132,.28),rgba(26,74,84,.34) 55%,rgba(14,28,52,.55) 100%)!important;
  box-shadow:inset 0 -3px 0 rgba(255,255,255,.06),inset 0 0 0 10px rgba(7,12,26,.35),0 18px 40px rgba(0,0,0,.28)!important;position:relative;overflow:hidden}
.bj-arc{position:absolute!important;left:50%!important;top:46%!important;width:min(86%,560px)!important;transform:translate(-50%,-50%)!important;opacity:.95}
.bj-arc text{font:800 12px var(--ui,Manrope,sans-serif)!important;letter-spacing:.22em!important;fill:rgba(255,255,255,.2)!important}
.bj-shoe{position:absolute;top:-6px;right:9%;width:44px;height:30px;border-radius:0 0 8px 8px;background:repeating-linear-gradient(45deg,#3B2A8A 0 5px,#2C1F6B 5px 10px);border:2px solid rgba(255,255,255,.7);border-top:0;opacity:.85}
.bj-dealer{margin-top:0!important;z-index:1}.bj-msg{position:absolute;left:0;right:0;top:46%;transform:translateY(-50%);z-index:3;pointer-events:none;min-height:0!important;text-shadow:0 2px 12px rgba(0,0,0,.7);font-size:22px!important}
.bj-hands{z-index:1}
.bj-table .hand-label{margin:8px 0 0!important}.hand-total{font-size:15px!important;min-width:36px!important;padding:2px 10px!important;background:rgba(6,10,22,.7)!important;border-color:rgba(255,255,255,.18)!important}
.bj-spots{display:none!important;position:absolute;left:0;right:0;bottom:12px;justify-content:center;gap:14px;margin:0!important}
.bj-table.sb .bj-spots{display:flex!important}
.bj-table.sb{padding-bottom:62px!important}
.bj-spot{width:128px!important;min-height:38px!important;background:rgba(7,12,26,.35)!important;border:1px solid rgba(255,255,255,.14)!important}
.bj-table .pcard{box-shadow:0 6px 16px rgba(0,0,0,.4)}
.bj-sbrow{margin:0!important;border:0!important;padding:0!important}.bj-sbrow small{display:block;font-size:12px}
.bj-sidegrid{margin-top:8px}.bj-sidegrid[hidden]{display:none}
.cards{min-height:108px!important}
@media(max-width:700px){.bj-table{min-height:390px;padding:16px 8px 18px!important}.bj-arc text{font-size:13px!important;letter-spacing:.14em!important}.bj-spot{width:44%!important}.bj-table.sb{padding-bottom:58px!important}}
.stage:has(.bj-table){align-items:center!important;justify-content:center;padding:14px 14px 0!important;overflow:hidden}
.bj-table{align-self:center;min-height:410px!important;height:calc(100% - 4px);max-height:470px}
.bj-msg{position:static!important;transform:none!important;min-height:30px!important;display:grid;place-items:center;pointer-events:none}
.bj-msg:not(:empty)~.bj-arc{opacity:0!important}
.bj-table{justify-content:space-around!important}
.bj-spot{flex-wrap:nowrap!important}.bj-spot b{white-space:nowrap}
@media(max-width:700px){.stage:has(.bj-table){padding:10px 6px 0!important}.bj-table{min-height:400px!important;max-height:none;height:auto}}
.bj-spots{bottom:30px!important}.bj-spot{width:112px!important}.bj-table.sb{padding-bottom:78px!important}

/* v6.7 blackjack: flat rounded-rectangle table, ribbon rules */
.bj-table{border-radius:26px!important;border:1.5px solid rgba(255,255,255,.14)!important;border-top:1.5px solid rgba(255,255,255,.14)!important;background:rgba(255,255,255,.025)!important;box-shadow:none!important;width:min(100%,720px)!important;min-height:400px!important;max-height:none!important;overflow:hidden}
.bj-ribbons{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;transition:opacity .2s}
.bj-ribbons span{font:800 11px var(--ui,Manrope,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.28);background:rgba(255,255,255,.06);padding:7px 26px;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%,10px 50%)}
.bj-ribbons .ins{padding:6px 30px;font-size:11px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,14px 100%)}
.bj-msg:not(:empty)~.bj-ribbons{opacity:0}
.bj-spots{bottom:14px!important}.bj-table.sb{padding-bottom:70px!important}
.bj-spot{border-radius:999px!important}

/* v6.7 blackjack: clean rounded-rectangle table */
.bj-table{width:min(100%,680px)!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto;padding:22px 28px 22px!important;border-radius:28px!important;border:1.5px solid rgba(140,160,255,.22)!important;
  background:linear-gradient(180deg,rgba(24,34,72,.55),rgba(14,22,48,.72))!important;box-shadow:inset 0 0 0 6px rgba(8,12,28,.35),0 14px 34px rgba(0,0,0,.3)!important;overflow:hidden;
  display:grid!important;grid-template-rows:auto 1fr auto auto;row-gap:10px;justify-items:center;align-items:center;position:relative}
.bj-table.sb{padding-bottom:22px!important}
.bj-arc,.bj-shoe{display:none!important}
.bj-dealer{grid-row:1;margin:0!important}
.bj-msg{grid-row:2;position:static!important;align-self:center;font-size:20px!important;min-height:0!important;width:100%;text-align:center}
.bj-ribbons{grid-row:2;grid-column:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;align-self:center;pointer-events:none}
.bj-ribbons span{font:800 10.5px var(--ui,Manrope,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:rgba(190,205,255,.34);padding:6px 22px;background:rgba(120,140,255,.08);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}
.bj-ribbons span+span{padding:5px 30px;font-size:9.5px;background:rgba(120,140,255,.06)}
.bj-msg:not(:empty)+.bj-hands{}
.bj-hands{grid-row:3;margin:0!important}
.bj-spots{grid-row:4;display:none!important;position:static!important;justify-content:center;gap:14px;margin:0!important}
.bj-table.sb .bj-spots{display:flex!important}
.bj-spot{width:150px!important;min-height:40px!important;border-radius:12px!important;background:rgba(120,140,255,.07)!important;border:1px dashed rgba(190,205,255,.25)!important}
.bj-spot.on{border-style:solid!important;border-color:rgba(198,255,61,.5)!important}.bj-spot.win{border-color:var(--win)!important;background:rgba(53,227,154,.14)!important}
.bj-table .hand-label{margin:8px 0 0!important}
.cards{min-height:108px!important}
@media(max-width:700px){.bj-table{padding:16px 10px 16px!important;border-radius:22px!important}.bj-spot{width:46%!important}.bj-ribbons span{font-size:9.5px;padding:5px 16px}}
.bj-msg:not(:empty)~.bj-ribbons{opacity:0}.bj-msg{grid-column:1}
.bj-table{grid-template-columns:minmax(0,1fr)!important;align-self:stretch!important;min-height:420px!important}
.bj-ribbons,.bj-msg{justify-self:center}
.bj-hands{min-height:150px;align-items:flex-start}
.bj-dealer{min-height:150px}
@media(max-width:700px){.bj-table{min-height:0!important}.bj-hands{min-height:130px}.bj-dealer{min-height:130px}}
.bj-table .bj-ribbons{left:auto!important;top:auto!important;transform:none!important;inset:auto!important}

/* v6.8 rewards page */
.rw-page .rw-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:16px}
.rw-page .rw{grid-column:span 2;align-items:center;text-align:center;padding:18px 16px 16px;gap:4px;min-height:0}
.rw-page .rw-top{width:100%;flex-direction:column;gap:10px;align-items:center;position:relative}
.rw-page .rw-top .rw-st{position:absolute;right:0;top:0}
.rw-page .rw-ic{width:68px;height:68px;border-radius:50%;font-size:32px;box-shadow:0 0 0 6px color-mix(in srgb,var(--ac) 10%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--ac) 55%,transparent);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--ac) 35%,transparent),color-mix(in srgb,var(--ac) 8%,transparent))}
.rw-page .rw-t{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}
.rw-page .rw-v{font-size:22px}.rw-page .rw-s{font-size:12.5px;min-height:34px;max-width:36ch}
.rw-page .rw .btn,.rw-page .rw-bar,.rw-page .rw-bars{width:100%}
.rw-rank{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:20px;padding:20px 22px;margin-bottom:16px}
.rr-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.rr-top small{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rr-top h3{margin:4px 0 0;font-size:22px}
.rr-bar{height:12px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:16px 0 8px}.rr-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd36b,#8B7BFF);transition:width .6s}
.rr-meta{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted);font-weight:700}
.rr-ladder{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}
.rr-ladder>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:rgba(0,0,0,.2);border:1px solid var(--line);text-align:center;min-width:0}
.rr-ladder .rr-g{font-size:26px;line-height:1}.rr-ladder b{font-size:12.5px}.rr-ladder small{font-size:11.5px;color:var(--muted)}
.rr-ladder .lock .rr-g{filter:grayscale(.7) brightness(.8)}.rr-ladder .cur{border-color:rgba(139,123,255,.55);background:rgba(139,123,255,.08)}.rr-ladder .cur small{color:var(--accent)}
.rw-sum{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.025);margin-bottom:22px}
.rw-sum>div{padding:14px 18px;display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line);min-width:0}.rw-sum>div:first-child{border-left:0}
.rw-sum small{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.rw-sum b{font-size:15px;overflow-wrap:anywhere}
.rw-sum .sum-main{background:linear-gradient(120deg,rgba(139,123,255,.14),transparent)}.rw-sum .sum-main b{font-size:20px;color:var(--accent)}
@media(max-width:900px){.rw-page .rw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rw-page .rw{grid-column:span 1}.rw-page .rw:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:700px){.rw-page .rw-grid{grid-template-columns:1fr}.rw-page .rw,.rw-page .rw:last-child:nth-child(odd){grid-column:1/-1}
 .rw-rank{padding:16px}.rr-ladder{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-top h3{font-size:19px}
 .rw-sum{grid-template-columns:1fr 1fr}.rw-sum>div{border-left:0;border-top:1px solid var(--line)}.rw-sum .sum-main{grid-column:1/-1;border-top:0}}
@media(max-width:700px){.rw-page .rw{padding:14px 14px 14px}.rw-page .rw-ic{width:52px;height:52px;font-size:25px}.rw-page .rw-v{font-size:20px}.rw-page .rw-s{min-height:0}.rw-page .rw-top{gap:6px}.rw-page .rw-t{margin-top:2px}.rw-page .rw-grid{gap:10px}}

/* ===== v7: sidebar clean-up, top-right controls, raffle ===== */
.side-scroll{padding:12px 10px}
.sb-raffle{position:relative;display:flex;align-items:center;gap:10px;padding:12px 12px;border-radius:14px;overflow:hidden;background:linear-gradient(120deg,#6a3df0 0%,#a14bff 55%,#ff9f1c 130%);color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(120,70,255,.28);transition:transform .15s,filter .15s}
.sb-raffle:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sbr-t{min-width:0;flex:1}.sbr-t small{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.sbr-t b{display:block;font-family:var(--display);font-size:15px;margin-top:2px;white-space:nowrap}
.sbr-n{flex:none;font-size:12px;font-weight:900;padding:3px 9px;border-radius:99px;background:rgba(0,0,0,.35)}
.sbr-tk{position:absolute;right:-6px;bottom:-12px;font-size:44px;opacity:.18;transform:rotate(-14deg);pointer-events:none}
.sb-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 6px}
.sb-chips button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid var(--line);text-align:left;transition:background .15s}
.sb-chips button:hover{background:rgba(255,255,255,.1)}
.sb-chips small{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sb-chips b{font-size:14px;color:var(--gold)}
.nav-toggle{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.04);padding:10px 12px!important;color:var(--text)!important;font-size:13px!important;font-weight:700;text-transform:none!important;letter-spacing:0!important}
.nav-toggle:hover{background:rgba(255,255,255,.09)!important}
.nav-toggle .gi-ic{display:grid;place-items:center;width:22px;font-style:normal;font-size:16px;flex:none}
.nav-toggle .gi-ic img{display:block}
.nav-toggle .cnt{background:transparent!important;color:var(--dim)}
.nav-toggle .chv{display:grid;padding:0}
.nav-cat{margin:6px 0}
.nav-more{margin-top:12px}
.nav-bottom{margin-top:6px}
@media(min-width:861px){
 .app.mini .sb-chips,.app.mini .sbr-t,.app.mini .sbr-n{display:none}
 .app.mini .sb-raffle{justify-content:center;padding:10px 0}.app.mini .sbr-tk{position:static;font-size:20px;opacity:1;transform:none}
 .app.mini .nav-toggle{display:none}
}

/* top bar */
.top-right{gap:8px}
.top-right .icon-btn{position:relative;width:40px;height:40px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:17px}
.top-right .icon-btn:hover,.top-right .icon-btn[aria-expanded="true"]{background:var(--raised2);color:var(--text)}
.top-right .icon-btn svg{display:block}
#giftBtn .cb-n{display:none}
#giftBtn.has{color:var(--gold)}
#giftBtn.has svg{filter:drop-shadow(0 0 4px rgba(255,200,60,.6))}
.chat-btn.on{background:var(--raised2);color:var(--text);border-color:rgba(139,92,255,.5)}
.prof-chip{display:flex!important;align-items:center;gap:9px;height:40px;padding:3px 12px 3px 3px!important;border-radius:99px;background:var(--panel);border:1px solid var(--line);font-weight:700;font-size:13px;max-width:190px}
.prof-chip:hover,.prof-chip[aria-expanded="true"]{background:var(--raised2)}
.prof-chip #vipName{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.prof-chip .vip-ring{width:32px;height:32px;flex:none;padding:2px}
.pc-av{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--raised);font-weight:900;font-size:14px;color:var(--text)}
.pc-av.lg{width:42px;height:42px;flex:none;border:2px solid var(--vc,var(--gold));font-size:17px}
.top-pop{position:fixed;top:66px;right:14px;width:min(350px,calc(100vw - 20px));max-height:calc(100vh - 84px);overflow-y:auto;background:var(--raised);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 22px 60px rgba(0,0,0,.6);z-index:80;animation:fadein .15s}
.top-pop[data-for="vipChip"]{width:min(250px,calc(100vw - 20px))}
.gp-head{margin-bottom:8px}
.gp-rt{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:linear-gradient(120deg,rgba(106,61,240,.55),rgba(161,75,255,.35),rgba(255,159,28,.3))}
.gp-rt>span{font-size:24px}.gp-rt>div{flex:1;min-width:0}.gp-rt b{display:block}.gp-rt small{color:rgba(255,255,255,.8);font-size:12px}
.gp-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--panel);margin-top:6px}
.gp-row>div{flex:1;min-width:0}.gp-row b{display:block;font-size:13px}.gp-row small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gp-ic{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);font-size:17px;flex:none}
.gp-pct{font-weight:800;font-size:12px;color:var(--win);flex:none}
.btn.sm{padding:7px 12px;font-size:12px;border-radius:9px;min-height:0}
.pm-head{display:flex;align-items:center;gap:10px;padding:6px 6px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.pm-head b{display:block}.pm-head small{color:var(--muted);font-size:12px}
.pm-i{display:flex;align-items:center;gap:8px;width:100%;padding:10px;border-radius:10px;text-align:left;font-weight:600;color:var(--text)}
.pm-i:hover{background:rgba(255,255,255,.07)}.pm-i.out{color:var(--loss);margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px}

/* raffle page */
.rf-page{max-width:1000px}
.rf-hero{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:22px;align-items:center;padding:26px;border-radius:22px;background:radial-gradient(120% 140% at 0% 0%,rgba(255,194,75,.2),transparent 55%),linear-gradient(135deg,rgba(106,61,240,.5),rgba(24,19,48,.9));border:1px solid rgba(255,194,75,.28);overflow:hidden}
.rf-tk svg{width:100%;height:auto;filter:drop-shadow(0 14px 28px rgba(255,159,28,.35));transform:rotate(-7deg);animation:rfFloat 4s ease-in-out infinite}
@keyframes rfFloat{50%{transform:rotate(-4deg) translateY(-6px)}}
.rf-ht small{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.rf-ht h1{margin:4px 0 6px;font-family:var(--display);font-size:clamp(26px,5vw,42px);line-height:1.05}
.rf-ht h1 span{font-size:.5em;color:var(--muted)}
.rf-ht p{margin:0 0 14px;color:var(--muted)}
.rf-cd{display:flex;gap:8px;margin-bottom:16px}
.rf-cd>div{min-width:62px;padding:9px 6px;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid var(--line);text-align:center}
.rf-cd b{display:block;font-size:24px;line-height:1.1}.rf-cd small{display:block;font-size:11px!important;letter-spacing:.1em;color:var(--muted)!important;margin-top:2px}
.rf-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rf-have{color:var(--muted);font-size:13px}.rf-have b{color:var(--text);font-size:15px}
.rf-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.rf-info>div{padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}
.rf-info span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,194,75,.14);font-size:20px;margin-bottom:10px}
.rf-info b{display:block;margin-bottom:4px}.rf-info p{margin:0;color:var(--muted);font-size:13px}
.rf-mine,.rf-res{padding:16px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.rf-mtop{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.rf-mtop small{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.rf-mtop b{font-size:20px}
.rf-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:14px}
.rf-slot{aspect-ratio:3/2;border-radius:10px;display:grid;place-items:center;border:1.5px dashed var(--line);color:var(--dim);font-weight:800}
.rf-slot.on{border:0;background:transparent}.rf-slot svg{width:100%;height:100%}
.rf-more{display:grid;place-items:center;font-weight:800;color:var(--gold)}
.rf-resbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.rf-resmid{flex:1;text-align:center}.rf-resmid b{display:block}.rf-resmid small{color:var(--muted)}
.rf-nav{width:40px;height:40px;border-radius:12px;background:var(--raised);font-size:22px;line-height:1}.rf-nav:disabled{opacity:.35;cursor:default}
.rf-x{font-size:12px;color:var(--gold);font-weight:800}
.rf-fair{margin-top:12px}.rf-fair code{word-break:break-all;font-size:12px}
.rf-note{font-size:12px;margin-top:14px}
@media(max-width:860px){
 .top{grid-template-columns:minmax(0,1fr) auto!important;gap:6px;padding:0 10px}
 .top-left{display:none!important}
 .top .wallet{justify-self:start!important}
 .top-pop{top:62px;right:10px}
}
@media(max-width:700px){
 .top-right{gap:5px}
 .top-right .icon-btn{width:36px;height:36px;border-radius:10px;font-size:16px}
 .prof-chip{padding:2px!important;height:36px;max-width:none;gap:0}.prof-chip #vipName{display:none!important}
 .prof-chip .vip-ring{width:32px;height:32px}
 .rf-hero{grid-template-columns:1fr;padding:18px;text-align:center;gap:6px}
 .rf-tk{max-width:150px;margin:0 auto}
 .rf-cd{justify-content:center}.rf-act{justify-content:center}
 .rf-info{grid-template-columns:1fr}
 .rf-mtop{grid-template-columns:1fr 1fr}
 .rf-table th:first-child,.rf-table td:first-child{width:34px}
}
@media(max-width:380px){.top .bal{font-size:12px!important;padding:0 6px!important}.top .wallet-btn{padding:0 8px!important}.top-right{gap:3px}.top-right .icon-btn{width:34px;height:34px}}
.prof-chip .pc-av,.pm-head .pc-av{display:grid!important}
.prof-chip .vip-ring{background-clip:border-box}

.vl-note{padding:14px;border-radius:14px;background:rgba(255,194,75,.1);border:1px solid rgba(255,194,75,.3);margin-bottom:14px;text-align:left}
.vl-note b{display:block;margin-bottom:2px}.vl-note p{margin:0 0 10px;color:var(--muted);font-size:13px}
.vf-btns{display:flex;flex-wrap:wrap;gap:8px}.vf-btns .btn{flex:1 1 140px;justify-content:center}
.rf-link{max-width:520px}.rf-link .vl-note{margin:0;background:rgba(0,0,0,.3)}
@media(max-width:700px){.rf-link .vl-note{text-align:center}.vf-btns .btn{flex-basis:100%}}

.cf-box{display:flex;justify-content:center;margin:0 0 12px;min-height:65px}

/* crash: next-round countdown */
.crash-cd{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);width:92px;height:92px;display:grid;place-items:center;pointer-events:none;z-index:3;animation:fadein .2s}
.crash-cd[hidden]{display:none}
.crash-cd svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.crash-cd circle{fill:rgba(8,6,20,.55);stroke-width:3.2}
.crash-cd .cd-bg{stroke:rgba(255,255,255,.12)}
.crash-cd .cd-fg{fill:none;stroke:var(--gold);stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .12s linear;filter:drop-shadow(0 0 5px rgba(255,194,75,.7))}
.crash-cd .cd-t{position:relative;text-align:center;line-height:1.05}
.crash-cd b{display:block;font-size:24px;font-weight:800}
.crash-cd small{display:block;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px}
@media(max-width:700px){.crash-cd{width:76px;height:76px;bottom:12%}.crash-cd b{font-size:20px}}
.crash-cd{width:100px;height:100px;background:none!important}
.crash-cd svg{background:none!important;overflow:visible}
.crash-cd .cd-fg{filter:none}
.crash-cd small{font-size:8.5px!important;letter-spacing:.05em!important;white-space:nowrap}
@media(max-width:700px){.crash-cd{width:84px;height:84px}}
/* crash countdown v2: CSS ring, no svg */
.crash-cd{width:128px!important;height:128px!important;border-radius:50%;bottom:11%!important;background:conic-gradient(var(--gold) calc(var(--p,100)*1%),rgba(255,255,255,.14) 0)!important;box-shadow:0 0 34px rgba(255,194,75,.28),0 8px 30px rgba(0,0,0,.5);display:grid;place-items:center}
.crash-cd::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#0d0a1f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.crash-cd .cd-t{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1}
.crash-cd small{font-size:12px!important;font-weight:800;letter-spacing:.14em!important;color:var(--gold)!important;margin:0 0 4px!important}
.crash-cd b{font-size:42px!important;font-weight:800;color:#fff;text-shadow:0 0 18px rgba(255,255,255,.25)}
.crash-cd em{font-style:normal;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}
@media(max-width:700px){.crash-cd{width:108px!important;height:108px!important;bottom:9%!important}.crash-cd::before{inset:7px}.crash-cd b{font-size:34px!important}.crash-cd small{font-size:9.5px!important}}
/* chips placed on roulette / baccarat tables: solid, readable */
.bet-chip{position:absolute;top:-7px;right:-7px;min-width:26px;height:26px;padding:0 5px;border-radius:50%;display:grid;place-items:center;z-index:4;pointer-events:none;
  background:radial-gradient(circle at 35% 30%,#ffe9a8,#ffc24b 55%,#d98a0c);color:#2a1800;font:800 11px/1 var(--ui);font-style:normal;letter-spacing:0;text-transform:none;
  border:2px dashed rgba(42,24,0,.55);box-shadow:0 0 0 2px #fff,0 3px 8px rgba(0,0,0,.55);animation:popchip .25s cubic-bezier(.2,1.8,.4,1)}
.bet-chip{top:auto!important;right:3px!important;bottom:3px;min-width:22px!important;height:22px!important;font-size:11px!important;box-shadow:0 0 0 1.5px #fff,0 2px 6px rgba(0,0,0,.55)!important}
.bet-chip{min-width:19px!important;height:19px!important;font-size:10px!important;padding:0 3px!important;right:2px!important;bottom:2px!important}

/* ===== v7.1 cards: clean modern index + one big suit ===== */
.pcard{border-radius:10px!important;background:#fff!important;border:0!important;box-shadow:0 6px 16px rgba(0,0,0,.38),inset 0 0 0 1px rgba(0,0,0,.06)!important;color:#16182a;overflow:hidden}
.pcard.red{color:#e8315a}
.pcard .pips,.pcard .r2,.pcard .pip,.pcard .face{display:none!important}
.pcard .r{display:flex!important;flex-direction:column;align-items:center;left:9cqw!important;right:auto!important;top:7cqw!important;transform:none!important;font:800 34cqw/0.92 Manrope,system-ui,sans-serif!important;letter-spacing:-.02em}
.pcard .r em{font-style:normal;font-size:24cqw!important;margin-top:2cqw;line-height:1}
.pcard .bigsuit{position:absolute;right:9cqw;bottom:6cqw;font-style:normal;font-size:56cqw;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
.pcard .bk{display:none}
.pcard.back{background:linear-gradient(145deg,#1b2145,#10142e)!important;box-shadow:0 6px 16px rgba(0,0,0,.45),inset 0 0 0 3px #fff,inset 0 0 0 5px #2c3566!important}
.pcard.back .r,.pcard.back .bigsuit{display:none!important}
.pcard.back::before{content:"";position:absolute;inset:7%;border-radius:7px;border:1.5px solid rgba(255,255,255,.14);background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 4px,transparent 4px 8px)}
.pcard.back .bk{display:grid;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38cqw;height:38cqw;border-radius:50%;place-items:center;background:#0b0f26;border:1.5px solid rgba(255,194,75,.7);color:var(--gold);font:800 20cqw/1 Manrope,sans-serif}
/* hands overlap like a real deal, with a slight fan */
.bj-table .cards,.bj-hands .cards{display:flex;align-items:flex-end;padding-left:0}
.bj-table .pcard{margin-left:-30%!important}
.bj-table .pcard:first-child{margin-left:0!important}
.bj-table .pcard:nth-child(odd){transform:rotate(-2.5deg)}
.bj-table .pcard:nth-child(even){transform:rotate(2deg) translateY(-3px)}
.bj-table .cards .pcard:not(:last-child) .r{display:flex!important}
.bj-table .cards:has(.pcard:nth-child(4)) .pcard:not(:last-child) :is(.s,.r2,.pips){display:none!important}
.bac-hands .pcard,.hilo-hist .pcard{margin-left:0}
.bac-hands .cards .pcard{margin-left:-22%!important}.bac-hands .cards .pcard:first-child{margin-left:0!important}
.hilo-hist .pcard .bigsuit{display:none}.hilo-hist .pcard .r{font-size:44cqw!important;left:50%!important;transform:translateX(-50%)!important}.hilo-hist .pcard .r em{display:none}
a.btn,a.btn:hover{text-decoration:none}[data-vfbody] .row{align-items:center}
/* dealer: flat overlapping cards, total pill at the bottom-right corner of the stack */
.bj-dealer .dstack{position:relative;display:inline-block}
.bj-dealer .cards{justify-content:flex-start!important}
.bj-dealer .pcard{transform:none!important;margin-left:-34%!important}
.bj-dealer .pcard:first-child{margin-left:0!important}
.bj-dealer .hand-label{position:absolute!important;right:-26px;bottom:-12px;width:auto!important;margin:0!important;z-index:5}
.bj-dealer .hand-total{background:#1d2347!important;color:#fff!important;font:800 15px/1 Manrope,sans-serif!important;padding:7px 13px!important;min-width:40px!important;border-radius:99px!important;border:0!important;box-shadow:0 3px 10px rgba(0,0,0,.45)}
@media(max-width:700px){.bj-dealer .hand-label{right:-20px}}
.bj-dealer .hand-label,.bj-dealer .hand-label{right:-12px!important;bottom:-10px!important}@media(max-width:700px){.bj-dealer .hand-label{right:-10px!important}}
.bj-dealer .dstack{width:max-content}.bj-dealer .dstack .cards{width:max-content!important;min-width:0!important}
.bj-dealer .hand-label{right:14px!important;bottom:-9px!important}@media(max-width:700px){.bj-dealer .hand-label{right:14px!important}}
.wallet-btn{padding:0!important;width:46px;min-width:46px;display:grid;place-items:center}.wallet-btn .wchev{margin:0}@media(max-width:700px){.wallet-btn{width:40px;min-width:40px}}@media(max-width:380px){.wallet-btn{width:36px;min-width:36px}}

/* ===== Chicken Cross v1 ===== */
.ck-hide{display:none!important}
.ck-wrap{width:100%;max-width:1120px}
.ck-view{position:relative;height:320px;border-radius:16px;overflow:hidden;background:#1F2247;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 14px 40px rgba(0,0,0,.45)}
.ck-track{position:absolute;left:0;top:0;height:320px;display:flex;will-change:transform;transform-origin:0 0}
.ck-start,.ck-end{flex:none;height:100%}
.ck-start svg,.ck-end svg{display:block}
.ck-lane{position:relative;flex:0 0 var(--lw,104px);height:100%;background:linear-gradient(180deg,#2A2E58,#23264A 50%,#1D2042);border-right:2px dashed rgba(255,255,255,.2);overflow:visible}
.ck-lane::before{content:"";position:absolute;inset:0;background:radial-gradient(40px 14px at var(--ox,0) 62%,rgba(0,0,0,.22),transparent 70%),radial-gradient(60px 5px at calc(50% + var(--ox,0)*-1) 22%,rgba(255,255,255,.06),transparent 70%);pointer-events:none}
.ck-lane.last{border-right:0}
.ck-lane.nx{background:linear-gradient(180deg,#31367A,#2A2F68 50%,#232758)}
.ck-lane.pass{background:linear-gradient(180deg,#262A54,#202346 50%,#1B1E3E)}
.ck-lane.hitl{background:linear-gradient(180deg,#43203A,#33193A 50%,#2A1533)}
.ck-cars{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6}
.ck-car{position:absolute;left:50%;top:0;margin-left:-28px;will-change:transform}
.ck-carsvg{display:block;filter:drop-shadow(0 6px 5px rgba(0,0,0,.45))}
.ck-tile{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;z-index:0}
.ck-tile svg{width:100%;height:100%;display:block}
.ck-tile.coin{animation:ckPop .4s cubic-bezier(.2,1.8,.4,1)}
.ck-tile.cross{animation:ckPop .4s cubic-bezier(.2,1.8,.4,1)}
.ck-lane.ghostl .ck-tile{opacity:.55}
.ck-barr{position:absolute;left:50%;top:calc(50% - 92px);width:64px;margin-left:-32px;opacity:0;transform:translateY(-30px) scale(.9);transition:opacity .3s,transform .35s cubic-bezier(.2,1.6,.4,1);z-index:2;pointer-events:none}
.ck-barr svg{display:block;width:100%}
.ck-lane.pass .ck-barr{opacity:1;transform:none}
.ck-pill{position:absolute;left:50%;top:calc(50% + 46px);transform:translateX(-50%);min-width:64px;padding:5px 10px;border-radius:999px;background:rgba(80,86,150,.55);color:#C9CDF2;font-size:12px;font-weight:700;text-align:center;white-space:nowrap;z-index:2;transition:background .2s,color .2s}
.ck-lane.nx .ck-pill{background:#4A5BFF;color:#fff;box-shadow:0 0 14px rgba(74,91,255,.55)}
.ck-lane.pass .ck-pill{background:rgba(255,194,46,.2);color:#FFD36B}
.ck-lane.hitl .ck-pill{background:#E8284F;color:#fff}
.ck-chick{position:absolute;left:0;top:0;width:88px;height:88px;z-index:5;pointer-events:none;will-change:transform}
.ck-svg{width:100%;height:100%;display:block;overflow:visible}
.ck-svg .ck-xeye{display:none}
.ck-chick.dead .ck-eye{display:none}.ck-chick.dead .ck-xeye{display:block}
.ck-svg{animation:ckBob 1.7s ease-in-out infinite}
.ck-chick.hop .ck-svg,.ck-chick.dead .ck-svg{animation:none}
.ck-wing{transform-origin:46px 62px}
.ck-chick.hop .ck-wing{animation:ckFlap .16s ease-in-out infinite}
.ck-chick.hop .ck-legF,.ck-chick.hop .ck-legB{transform:translateY(-8px) scaleY(.7)}
.ck-leg{transform-origin:62px 88px}
.ck-head{transform-origin:84px 52px;animation:ckPeck 3.4s ease-in-out infinite}
.ck-chick.hop .ck-head,.ck-chick.dead .ck-head{animation:none}
.ck-tail{transform-origin:38px 62px;animation:ckTail 2.2s ease-in-out infinite}
.ck-eye{transform-origin:93px 39px;animation:ckBlink 4.2s infinite}
.ck-chick.happy .ck-svg{animation:ckHappy .6s ease-in-out 3}
.ck-chick.dead::after{content:"";position:absolute}
.ck-chick.stars::before{content:"★ ✦ ★";position:absolute;left:8px;top:-14px;width:88px;text-align:center;font-size:15px;color:#FFD36B;letter-spacing:4px;animation:ckStars 1s linear infinite;text-shadow:0 0 8px rgba(255,211,107,.8)}
.ck-fea{position:absolute;width:11px;height:5px;border-radius:50%;z-index:6;box-shadow:0 0 0 1px rgba(0,0,0,.12);pointer-events:none}
.ck-tip{position:absolute;z-index:8;width:88px;margin-top:-124px;text-align:center;transform:translateX(0);animation:ckTip .35s cubic-bezier(.2,1.6,.4,1);pointer-events:none}
.ck-tip b{display:block;background:#2ED69A;color:#05301F;border-radius:8px 8px 0 0;padding:4px 0;font-size:15px}
.ck-tip span{display:flex;gap:4px;justify-content:center;align-items:center;background:#0B1226;color:#fff;border:2px solid #2ED69A;border-top:0;border-radius:0 0 8px 8px;padding:3px 0;font-size:12px;font-weight:700}
.ck-edge{position:absolute;left:0;right:0;height:14px;z-index:4;pointer-events:none}
.ck-edge.t{top:0;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent)}
.ck-edge.b{bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}
.ck-hud{position:absolute;left:10px;top:10px;z-index:7;display:flex;gap:8px;align-items:center;font-size:12px;font-weight:800}
.ck-lanes{background:rgba(8,10,28,.7);padding:5px 10px;border-radius:999px;color:#C9CDF2}
.ck-hud b{background:rgba(8,10,28,.7);padding:5px 10px;border-radius:999px;color:#9AA2C4}
.ck-hud b.on{background:#2ED69A;color:#05301F}
.ck-hist{position:absolute;right:10px;top:10px;z-index:7;display:flex;gap:7px;font-size:12px;font-weight:800;color:#fff;text-shadow:0 1px 3px #000;max-width:62%;overflow:hidden;justify-content:flex-end}
.ck-hist .w{color:#2ED69A}
.ck-view.won::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px rgba(255,200,60,.55);animation:ckGlow 1.6s ease-out}
.ck-nextbox{text-align:center;margin:6px 0 10px;font-size:13px}
.ck-nextbox small{display:block;color:var(--muted);font-weight:700;margin-bottom:3px}
.ck-nextbox b{display:inline-flex;gap:6px;align-items:center;font-size:15px}
.ck-nextbox em{font-style:normal;color:var(--muted)}
.ck-diff .seg button{padding:8px 2px;font-size:12px}
.ck-controls-gap{height:6px}
.stage:has(.ck-wrap){background:radial-gradient(120% 90% at 50% 0%,#2A2E5E,#12142E)}
@keyframes ckBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ckPeck{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(14deg)}94%{transform:rotate(-3deg)}}
@keyframes ckTail{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}
@keyframes ckBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes ckFlap{0%,100%{transform:rotate(0)}50%{transform:rotate(-34deg)}}
@keyframes ckHappy{0%,100%{transform:translateY(0)}40%{transform:translateY(-22px) rotate(-4deg)}}
@keyframes ckStars{to{transform:rotate(360deg)}}
@keyframes ckPop{0%{transform:scale(.4)}100%{transform:scale(1)}}
@keyframes ckTip{0%{opacity:0;transform:translateY(10px) scale(.8)}100%{opacity:1;transform:none}}
@keyframes ckGlow{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@media(max-width:600px){
  .ck-hist{max-width:52%}
  .ck-hist span:nth-child(-n+4){display:none}
}
@media(prefers-reduced-motion:reduce){.ck-svg,.ck-head,.ck-tail,.ck-eye{animation:none!important}}

/* ===== blackjack side bets v2: one clean row per side bet, no spinner overlap ===== */
.bj-sidegrid{grid-template-columns:1fr!important;gap:10px!important}
.bj-sidegrid .sbrow{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px}
.bj-sidegrid .sbrow .sfl{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.15;white-space:nowrap}
.bj-sidegrid .sbrow .inp{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px 0 10px;min-width:0}
.bj-sidegrid .sbrow .inp .coin{flex:none;margin:0}
.bj-sidegrid .sbrow input{flex:1;min-width:0;width:100%;text-align:right;padding:0;-moz-appearance:textfield;appearance:textfield}
.bj-sidegrid input::-webkit-outer-spin-button,.bj-sidegrid input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bj-spot{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:min(190px,44%)!important;min-height:40px!important;padding:6px 14px!important;text-decoration:none!important;flex-wrap:nowrap!important}
.bj-spot small{white-space:nowrap;text-align:left;line-height:1.1;font-size:9.5px}
.bj-spot b{white-space:nowrap;font-size:13px!important;text-decoration:none!important;text-align:right;font-variant-numeric:tabular-nums;max-width:none!important;overflow:visible!important}
@media(max-width:700px){.bj-spot{width:48%!important;padding:5px 10px!important}.bj-spot small{font-size:8.5px}.bj-spot b{font-size:12px!important}.bj-sidegrid .sbrow{grid-template-columns:92px minmax(0,1fr)}}
.bj-spot{flex-direction:column!important;justify-content:center!important;gap:2px!important;width:min(172px,44%)!important;min-height:50px!important;text-align:center!important}
.bj-spot small,.bj-spot b{text-align:center!important}
.bj-spots{gap:12px!important}
@media(max-width:700px){.bj-spot{width:46%!important}}
/* dealer cards: a fixed overlap per card (a % margin resolved against the growing row and pushed new cards backwards) */
.bj-dealer .pcard{margin-left:-30px!important}
.bj-dealer .pcard:first-child{margin-left:0!important}
@media(max-width:700px){.bj-dealer .pcard{margin-left:-26px!important}}
/* player hands: cards overlap and fan out from the bottom edge */
.bj-hands .cards{align-items:flex-end}
.bj-hands .cards .pcard{margin-left:-30px!important;transform-origin:50% 100%!important}
.bj-hands .cards .pcard:first-child{margin-left:0!important}
.bj-hands .cards .pcard:nth-child(1){transform:rotate(-6deg)!important}
.bj-hands .cards .pcard:nth-child(2){transform:rotate(-2deg) translateY(-4px)!important}
.bj-hands .cards .pcard:nth-child(3){transform:rotate(3deg)!important}
.bj-hands .cards .pcard:nth-child(4){transform:rotate(7deg) translateY(-3px)!important}
.bj-hands .cards .pcard:nth-child(5){transform:rotate(10deg)!important}
.bj-hands .cards .pcard:nth-child(n+6){transform:rotate(13deg)!important}
.bj-hands .cards .pcard:only-child{transform:none!important}
.bj-hands .cards:has(.pcard:nth-child(2)) .pcard:not(:last-child) :is(.s,.pips,.r2){display:none!important}
.bj-hands .cards .pcard:not(:last-child) .r{display:flex!important}
@media(max-width:700px){.bj-hands .cards .pcard{margin-left:-24px!important}}
.bj-hands.multi .cards .pcard{margin-left:-24px!important}.bj-hands.multi .cards .pcard:first-child{margin-left:0!important}
.bj-table .cards .pcard:not(:last-child) .bigsuit{display:none!important}

/* ===== big-win scenes ===== */
.bw{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:25}
.bw>*{position:absolute;will-change:transform,opacity}
.bw svg{display:block}
.bw-title{left:50%;top:9%;font:800 clamp(22px,5vw,34px)/1 var(--display,"Chakra Petch",sans-serif);letter-spacing:.12em;color:#FFE9A0;text-shadow:0 0 18px rgba(255,194,75,.9),0 3px 0 #8A4F05;white-space:nowrap}
.bw-title.t2{color:#FFB3F0;text-shadow:0 0 20px rgba(255,63,210,.95),0 3px 0 #7E0F7A}
.bw-title.t3{color:#fff;text-shadow:0 0 24px #7B6BFF,0 0 40px #FF3FD2,0 3px 0 #33198F;font-size:clamp(26px,6vw,42px)}
.bw-ring{width:100px;height:100px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 22px currentColor}
.bw-line{width:2px;background:linear-gradient(180deg,transparent,#fff);border-radius:2px}
.bw-rocket .fl{animation:bwFl .12s infinite alternate;transform-origin:30px 84px}
@keyframes bwFl{to{transform:scaleY(1.25)}}
.bw-flash{inset:0;background:radial-gradient(circle at 50% 40%,#fff,rgba(123,168,255,.5) 40%,transparent 70%)}
.bw-bolt{inset:0;width:100%;height:100%;filter:drop-shadow(0 0 6px #7BA8FF)}
.bw-sun{left:50%;top:50%;width:230%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,rgba(255,211,107,.55) 0 7deg,transparent 7deg 18deg);-webkit-mask:radial-gradient(circle,#000 0,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 0,#000 18%,transparent 62%)}
.bw-ribbon{left:50%;top:50%;padding:10px 34px;background:linear-gradient(180deg,#FF5C8A,#C2185B);border:3px solid #FFE9A0;border-radius:6px;font:800 clamp(24px,6vw,40px)/1 var(--display,sans-serif);letter-spacing:.14em;color:#FFF3C4;text-shadow:0 2px 0 #7A0F3A;box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 40px rgba(255,92,138,.7)}
.bw-pillar{bottom:0;width:34px;transform-origin:50% 100%;transform:translateX(-50%) scaleY(0)}
.bw-pillar i{position:absolute;inset:0;background:linear-gradient(90deg,#B87A10,#FFE08A 40%,#FFB52E 60%,#B87A10);border-radius:6px 6px 0 0;box-shadow:0 0 26px rgba(255,194,75,.7)}
.bw-pillar i::before{content:"";position:absolute;left:50%;top:-14px;width:26px;height:26px;margin-left:-13px;background:linear-gradient(135deg,#B8FFE0,#19D27A);transform:rotate(45deg);border-radius:4px;box-shadow:0 0 18px #3DFF9A}
.bw-rays{left:50%;top:70%;width:230%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,var(--c) 0 6deg,transparent 6deg 20deg);opacity:.5;-webkit-mask:radial-gradient(circle,#000 0,transparent 60%);mask:radial-gradient(circle,#000 0,transparent 60%)}
.bw-beam{left:50%;top:0;bottom:0;width:130px;background:linear-gradient(90deg,transparent,var(--c),#fff,var(--c),transparent);filter:blur(2px);opacity:.9}
.bw-fea{width:11px;height:5px;border-radius:50%;background:#fff}
.bw-hen{font-size:44px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.4))}
@media(max-width:600px){.bw-title{top:6%}}
.bw-glow{inset:0}
.bw-tag{font:800 clamp(16px,3.4vw,22px)/1 var(--display,sans-serif);color:#fff;background:rgba(8,10,28,.75);padding:5px 10px;border-radius:999px;border:2px solid #FFE36B;box-shadow:0 0 16px rgba(255,227,107,.7);white-space:nowrap}
.bw-planet{filter:drop-shadow(0 0 24px rgba(142,92,255,.8))}
.bw-bigcard{perspective:700px;transform-style:preserve-3d}
.bw-bigcard .f{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 34px rgba(255,211,107,.8)}
.bw-bigcard .b{background:repeating-linear-gradient(45deg,#2B3170 0 8px,#1E2354 8px 16px);border:3px solid #fff}
.bw-bigcard .a{background:#fff;transform:rotateY(180deg);color:#1B2038;border:3px solid #FFD36B}
.bw-bigcard .a b{font:800 44px/1 Georgia,serif}.bw-bigcard .a span{font-size:46px;line-height:1}
.bw-flame{width:30px;margin-left:-15px;background:radial-gradient(ellipse at 50% 100%,#FFF3A8 0,#FFB52E 35%,#FF4D2E 65%,transparent 72%);border-radius:50% 50% 30% 30%/70% 70% 30% 30%;transform-origin:50% 100%;filter:blur(1px)}
.bw-wheel{border-radius:50%;box-shadow:0 0 0 5px #FFD36B,0 0 40px rgba(255,211,107,.7)}
.bw-ptr{position:absolute;left:50%;top:-14px;margin-left:-12px;border:12px solid transparent;border-top:22px solid #fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));transform:rotate(0)}
.bw-block{border-radius:7px;background:linear-gradient(180deg,#B79BFF,#6B45E0);border:2px solid #E4D8FF;box-shadow:0 4px 0 #2F1A8A,0 0 18px rgba(155,123,255,.6)}
.bw-block.gold{background:linear-gradient(180deg,#FFF0A8,#FFB52E);border-color:#FFF7D1;box-shadow:0 4px 0 #8A4F05,0 0 26px rgba(255,194,75,.9)}
.bw-crown{font-size:52px;filter:drop-shadow(0 0 14px rgba(255,211,107,.9))}
.bw-chest{filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.bw-prize{padding:12px 22px;border-radius:12px;background:linear-gradient(180deg,#1A1F4A,#0C0F2A);border:3px solid var(--c);box-shadow:0 0 34px var(--c);text-align:center;color:#fff;white-space:nowrap}
.bw-prize small{display:block;font:800 11px/1 var(--display,sans-serif);letter-spacing:.2em;color:var(--c);margin-bottom:5px}.bw-prize b{font:800 28px/1 var(--display,sans-serif)}
.bw-egg{filter:drop-shadow(0 0 22px rgba(255,211,107,.9))}
.bw-bighen{font-size:78px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.bw-bighen i{position:absolute;left:50%;top:-26px;margin-left:-20px;font-size:40px;font-style:normal}
/* blackjack outcome card */
.bj-out{--c:#9AA6D6;min-width:210px;max-width:92%;margin:0 auto;padding:12px 26px 12px;border-radius:16px;text-align:center;background:linear-gradient(180deg,rgba(18,24,52,.94),rgba(9,13,32,.94));border:2px solid var(--c);box-shadow:0 0 0 4px rgba(0,0,0,.25),0 0 34px color-mix(in srgb,var(--c) 55%,transparent),0 12px 30px rgba(0,0,0,.5);animation:boPop .5s cubic-bezier(.2,1.5,.4,1);backdrop-filter:blur(4px)}
.bj-out.win{--c:#35E39A}.bj-out.gold{--c:#FFC24B}.bj-out.lose{--c:#FF5470}.bj-out.push{--c:#9AA6D6}
.bj-out .bo-t{font:800 clamp(20px,4.4vw,28px)/1 var(--display,sans-serif);letter-spacing:.1em;color:var(--c);text-shadow:0 0 18px color-mix(in srgb,var(--c) 70%,transparent)}
.bj-out.gold .bo-t{background:linear-gradient(180deg,#FFF3B0,#FFB52E);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 12px rgba(255,194,75,.8))}
.bj-out .bo-s{margin-top:6px;font:600 13px/1.25 var(--body,sans-serif);color:#C3CBEE}
.bj-out .bo-a{display:inline-block;margin-top:9px;padding:5px 16px;border-radius:999px;background:color-mix(in srgb,var(--c) 18%,#0A0E22);border:1px solid color-mix(in srgb,var(--c) 70%,transparent);font-weight:800;font-size:16px;color:var(--c)}
@keyframes boPop{0%{opacity:0;transform:scale(.6) translateY(14px)}100%{opacity:1;transform:none}}
.btn.buy.over{opacity:.55}

/* admin upgrades */
.adm-msg{position:sticky;top:0;z-index:2;margin:0 0 8px}.adm-msg:empty{display:none}
.adm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip-b{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg3,#1b2a3f);color:var(--ok,#4ade80);font:600 12px inherit;cursor:pointer}.chip-b.neg{color:var(--loss,#f87171)}
.adm-row select.sel{min-width:0;flex:1}
@media(max-width:560px){.adm-row{flex-wrap:wrap}.adm-row>*{flex:1 1 100%}.adm-row>.btn{flex:1 1 40%}}
/* footer sticks to the bottom of short pages */
.main{display:flex;flex-direction:column}
.main>*{flex-shrink:0;width:100%;box-sizing:border-box}
.main>.vfoot{margin-top:auto}
.main>.vfoot:not(:first-child){margin-top:auto}
/* blackjack side-bet spots: two equal tidy boxes that always fit the table width */
.bj-spots{justify-content:center;gap:10px!important;padding:0 6px;width:100%;box-sizing:border-box}
.bj-spot{flex:1 1 0!important;width:auto!important;min-width:0;max-width:190px;min-height:46px!important;border-radius:14px!important;flex-direction:column!important;gap:1px!important;padding:6px 8px!important;border:1.5px dashed rgba(255,255,255,.22)!important}
.bj-spot.on{border-style:solid!important}
.bj-spot small{font-size:9.5px!important;letter-spacing:.07em;white-space:nowrap;line-height:1.1}
.bj-spot b{font-size:13px!important;line-height:1.15}
@media(max-width:420px){.bj-spot small{font-size:8.5px!important;letter-spacing:.04em}.bj-spots{gap:8px!important}}

/* v6.9 blackjack: roomier table + nicer outcome card */
.bj-table{min-height:0!important;grid-template-rows:auto auto auto auto!important;row-gap:14px!important;padding:22px 22px 24px!important}
.bj-dealer,.bj-hands{min-height:132px!important}
.bj-msg{margin:4px 0!important;position:relative;z-index:3}
.bj-out{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;text-align:left!important;min-width:min(300px,92%);max-width:min(440px,94%);padding:12px 18px!important;border-radius:18px!important;overflow:hidden;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c) 22%,#0B1028),#0A0E22 70%)!important;border:1.5px solid color-mix(in srgb,var(--c) 75%,transparent)!important}
.bj-out::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translateX(-120%);animation:boShine 1.6s .35s ease-out 1 forwards;pointer-events:none}
@keyframes boShine{to{transform:translateX(120%)}}
.bj-out .bo-t{grid-column:1;font-size:clamp(17px,3.6vw,24px)!important;letter-spacing:.06em!important;padding:0 .12em 0 0;white-space:nowrap}
.bj-out .bo-s{grid-column:1;margin:0!important;font-size:12px!important;opacity:.9}
.bj-out .bo-a{grid-column:2;grid-row:1/3;margin:0!important;padding:8px 14px!important;font-size:17px!important;align-self:center;white-space:nowrap}
.bj-out.gold .bo-t{padding-right:.14em}
@media(max-width:420px){.bj-out{grid-template-columns:1fr;text-align:center!important;gap:4px}.bj-out .bo-t,.bj-out .bo-s,.bj-out .bo-a{grid-column:1;grid-row:auto;justify-self:center}.bj-out .bo-t{white-space:normal}}
/* blackjack hand totals: blackjack = gold pill with dark text, bust = red pill with white text (later dark-pill rules were hiding the dark text) */
.bj-table .hand-total.bj{background:linear-gradient(180deg,#FFD66B,#F2A81D)!important;color:#241700!important;border-color:transparent!important;box-shadow:0 0 14px rgba(255,194,75,.55)!important}
.bj-table .hand-total.bust{background:var(--loss,#FF5470)!important;color:#fff!important;border-color:transparent!important}
/* footer: always exactly as wide as the page, centred, note centred and wrapping */
.main>*{min-width:0;max-width:100%}
.main>.vfoot{width:100%;box-sizing:border-box;align-self:stretch}
.vfoot .vf-cols{width:100%;box-sizing:border-box}
.vfoot .vf-note,.vfoot .vl-note{max-width:900px;margin:18px auto 0;padding:0 6px;text-align:center;font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.vfoot .vf-copy{text-align:center}
/* the page can never scroll sideways (a resize or minimise/maximise used to leave the footer shifted) */
.main{overflow-x:clip!important}
html,body,.app{overflow-x:clip}
/* footer link columns centred under the balance, on every screen size */
.vfoot .vf-cols{justify-items:center;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.vfoot .vf-cols>div{display:flex;flex-direction:column;align-items:center;text-align:center}
.vfoot .vf-cols a{text-align:center}
@media(max-width:560px){.vfoot .vf-cols>div:first-child{grid-column:1/-1}}

/* free coins box: two clear reward tiles, big amount on top and the countdown underneath */
.wp-free{display:block!important;padding:11px 12px 12px!important}
.wp-free .wp-ft{display:block;margin-bottom:8px;font-size:12px!important;letter-spacing:.1em}
.wp-rs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wp-r{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:rgba(6,10,24,.45);border:1px solid rgba(255,255,255,.08)}
.wp-r .coin{grid-row:1/3;width:26px;height:26px;margin:0}
.wp-r em{font-style:normal;font:800 16px/1.15 var(--ui,Manrope,sans-serif);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.wp-r small{font-size:12px;font-weight:600;color:var(--muted)}
.wp-r small b{color:#6ee7b7;font-weight:800;min-width:0;font-size:13px}

/* v7 baccarat: felt table, bigger hands, colour-coded bet zones, outcome card */
.bac-table{position:relative;width:min(100%,760px);display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 22px 22px;border-radius:26px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 0%,#14553f 0%,#0c3a2c 55%,#082a20 100%);border:1.5px solid rgba(120,255,200,.22);box-shadow:inset 0 0 0 6px rgba(4,20,15,.45),0 16px 36px rgba(0,0,0,.35)}
.bac-mark{position:absolute;top:8px;left:0;right:0;text-align:center;font:800 11px var(--ui,Manrope,sans-serif);letter-spacing:.6em;color:rgba(255,255,255,.16);pointer-events:none}
.bac-table .bac-hands{width:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start;margin-top:8px}
.bac-vs{align-self:center;font:800 12px var(--ui,Manrope,sans-serif);letter-spacing:.14em;color:rgba(255,255,255,.35)}
.bac-side{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px 14px;border-radius:18px;background:rgba(3,14,11,.38);border:1.5px solid rgba(255,255,255,.08);min-height:190px;transition:box-shadow .3s,border-color .3s}
.bac-p{--sc:#5AA9FF}.bac-b{--sc:#FF6B81}
.bac-side .hand-label{display:flex;align-items:center;gap:8px;margin:0!important}
.bac-name{font:800 13px var(--ui,Manrope,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--sc)}
.bac-side .hand-total{display:inline-grid!important;place-items:center;min-width:34px;height:34px;padding:0 8px!important;border-radius:50%!important;font:800 17px var(--ui,Manrope,sans-serif)!important;background:#08150f!important;color:#fff!important;border:2px solid var(--sc)!important}
.bac-side .cards{min-height:128px!important;display:flex;align-items:center;justify-content:center}
.bac-table .bac-hands .pcard{width:84px;height:120px}
.bac-side.won-side{border-color:var(--sc);box-shadow:0 0 0 1px var(--sc),0 0 28px color-mix(in srgb,var(--sc) 45%,transparent)}
.bac-table .bj-msg{min-height:0!important;margin:0!important;width:100%}
.bac-table .bj-out{margin:0 auto}
.bac-table .bac-spots{width:100%;max-width:none;gap:10px}
.bac-spot{padding:16px 8px 14px!important;border-radius:16px!important;border:2px solid rgba(255,255,255,.14)!important;background:rgba(3,14,11,.4)!important;transition:transform .12s,border-color .15s,background .15s}
.bac-spot::before{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--sc,#888)}
.bac-spot.sp-p{--sc:#5AA9FF}.bac-spot.sp-t{--sc:#35E39A}.bac-spot.sp-b{--sc:#FF6B81}
.bac-spot b{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.bac-spot small{font-size:12px;color:rgba(255,255,255,.62)}
.bac-spot:hover{border-color:var(--sc)!important;background:color-mix(in srgb,var(--sc) 12%,rgba(3,14,11,.5))!important;transform:translateY(-2px)}
.bac-spot:active{transform:scale(.98)}
.bac-spot.won{border-color:var(--sc)!important;background:color-mix(in srgb,var(--sc) 22%,rgba(3,14,11,.5))!important;box-shadow:0 0 24px color-mix(in srgb,var(--sc) 55%,transparent)!important}
@media(max-width:700px){.bac-table{padding:22px 10px 16px;border-radius:20px}.bac-table .bac-hands{grid-template-columns:1fr 1fr}.bac-vs{display:none}.bac-table .bac-hands .pcard{width:62px;height:90px}.bac-side .cards{min-height:96px!important}.bac-side{min-height:150px;padding:10px 4px 12px}.bac-spot b{font-size:13px}.bac-spot small{font-size:12px}}
/* baccarat fixes: third card sits in line (no sideways card overlapping the others), columns can shrink on phones */
.bac-table .bac-hands{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.bac-side{min-width:0}
.bac-side .cards .pcard,.bac-side .cards .pcard.third{transform:none!important;margin-left:-26px!important}
.bac-side .cards .pcard:first-child{margin-left:0!important}
.bac-side .cards .pcard:not(:last-child) :is(.s,.pips,.bigsuit){display:none!important}
@media(max-width:700px){
  .bac-table .bac-hands{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .bac-table .bac-hands .pcard{width:52px;height:75px}
  .bac-side .cards .pcard,.bac-side .cards .pcard.third{margin-left:-20px!important}
  .bac-side .cards{min-height:80px!important}
}
/* baccarat fills the whole stage on wide screens so there's no empty gap beside the bet panel */
.stage:has(.bac-table){padding:16px;align-items:stretch}
.bac-table{width:100%!important;max-width:none!important;justify-content:center;gap:22px;padding:30px 28px 26px}
.bac-table .bac-hands{max-width:none;gap:18px}
.bac-side{min-height:230px;justify-content:center}
.bac-table .bac-hands .pcard{width:104px;height:148px}
.bac-side .cards{min-height:156px!important}
.bac-side .cards .pcard,.bac-side .cards .pcard.third{margin-left:-34px!important}
.bac-table .bac-spots{gap:14px}
.bac-spot{padding:22px 8px 18px!important}
.bac-spot b{font-size:17px}.bac-spot small{font-size:13px}
@media(max-width:1100px){.bac-table .bac-hands .pcard{width:84px;height:120px}.bac-side{min-height:190px}.bac-side .cards{min-height:128px!important}.bac-side .cards .pcard,.bac-side .cards .pcard.third{margin-left:-26px!important}}
@media(max-width:700px){.stage:has(.bac-table){padding:10px}.bac-table{padding:22px 10px 16px;gap:14px}.bac-table .bac-hands .pcard{width:52px;height:75px}.bac-side{min-height:150px}.bac-side .cards{min-height:80px!important}.bac-side .cards .pcard,.bac-side .cards .pcard.third{margin-left:-20px!important}.bac-spot{padding:16px 8px 14px!important}.bac-spot b{font-size:13px}.bac-spot small{font-size:12px}}

/* video poker live paytable: the row you currently hold glows and follows every change */
.vp-pay div{transition:background .2s,color .2s,box-shadow .2s}
.vp-pay .on{background:linear-gradient(90deg,#C6FF3D,#7CFFB2)!important;color:#07130A!important;font-weight:800;box-shadow:0 0 14px rgba(198,255,61,.45)}
.vp-pay div.on:nth-child(odd){border-radius:7px 0 0 7px}.vp-pay div.on:nth-child(even){border-radius:0 7px 7px 0}
/* every game: keep the bet panel and the table together on wide screens instead of stretching them apart */
.game-layout{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.game-layout .stage{min-width:0}
@media(min-width:1500px){.game-layout{max-width:1240px}}
/* video poker: bigger cards + paytable that fill the stage */
.stage:has(.vp-cards){padding:20px}
.vp-cards{width:100%;max-width:720px;gap:clamp(6px,1.4vw,14px)}
.vp-slot{flex:1 1 0;min-width:0}
.vp-slot .pcard{width:100%!important;max-width:128px;height:auto!important;aspect-ratio:5/7}
.vp-pay{width:min(100%,520px)}

/* v7 chips: proper casino chips (edge spots, inner ring, soft depth) for the picker and for bets on the table */
.cp{--cc:#E9EFF6;--tc:#10202F;position:relative;display:grid;place-items:center;border:0;border-radius:50%;padding:0;cursor:pointer;color:var(--tc);
  background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--cc) 88%,#fff) 0 46%,var(--cc) 47% 100%);
  box-shadow:0 3px 0 color-mix(in srgb,var(--cc) 52%,#000),0 7px 12px rgba(0,0,0,.38);transition:transform .14s,box-shadow .14s,filter .14s}
.cp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(rgba(255,255,255,.92) 0 12deg,transparent 12deg 45deg);-webkit-mask:radial-gradient(circle,transparent 63%,#000 64% 100%);mask:radial-gradient(circle,transparent 63%,#000 64% 100%)}
.cp::after{content:"";position:absolute;inset:17%;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--tc) 38%,transparent);pointer-events:none}
.cp-t{position:relative;z-index:2;font:800 12px/1 var(--ui,Manrope,sans-serif);font-style:normal;color:var(--tc);letter-spacing:0;font-variant-numeric:tabular-nums}
.chip-row{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;padding:2px 0 8px}
.chip-row .cp{flex:1 1 0;min-width:0;max-width:46px;aspect-ratio:1;height:auto!important;width:auto!important;border:0!important}
.chip-row .cp:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.06)}
.chip-row .cp.on{transform:translateY(-5px) scale(1.07);box-shadow:0 0 0 2px #fff,0 0 18px color-mix(in srgb,var(--cc) 70%,transparent),0 3px 0 color-mix(in srgb,var(--cc) 52%,#000),0 9px 14px rgba(0,0,0,.4)!important}
.chip-row .cp:disabled{opacity:.5;cursor:not-allowed}
.cp-cur{float:right;font-weight:800;color:var(--gold,#FFC24B);letter-spacing:.02em;text-transform:none}
/* chips sitting on bet spots */
.bet-chip.cp{position:absolute;top:auto!important;right:4px!important;bottom:4px!important;width:30px;height:30px;min-width:30px!important;padding:0!important;border:0!important;z-index:4;pointer-events:none;animation:popchip .25s cubic-bezier(.2,1.8,.4,1);
  background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--cc) 88%,#fff) 0 46%,var(--cc) 47% 100%)!important;box-shadow:0 2px 0 color-mix(in srgb,var(--cc) 52%,#000),0 4px 8px rgba(0,0,0,.5)!important;color:var(--tc)!important}
.bet-chip.cp .cp-t{font-size:9.5px}
.bet-chip.cp.st2{box-shadow:0 2px 0 color-mix(in srgb,var(--cc) 52%,#000),0 5px 0 -1px color-mix(in srgb,var(--cc) 70%,#000),0 7px 9px rgba(0,0,0,.5)!important}
.bet-chip.cp.st3{box-shadow:0 2px 0 color-mix(in srgb,var(--cc) 52%,#000),0 5px 0 -1px color-mix(in srgb,var(--cc) 70%,#000),0 8px 0 -2px color-mix(in srgb,var(--cc) 52%,#000),0 10px 10px rgba(0,0,0,.5)!important}
@media(max-width:700px){.bet-chip.cp{width:26px;height:26px;min-width:26px!important;right:3px!important;bottom:3px!important}.bet-chip.cp .cp-t{font-size:8.5px}.chip-row .cp{max-width:42px}}

/* v7 towers: "Skyspire", a crystal spire under a night sky */
.stage:has(.tw-scene){padding:0!important;align-items:stretch;justify-content:center;background:#070B1C!important}
.tw-scene{position:relative;width:100%;min-height:560px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 12px 26px;overflow:hidden;isolation:isolate}
.tw-sky{position:absolute;inset:0;z-index:-2;background:radial-gradient(90% 55% at 50% 0%,#2B2E7A 0%,#151A4A 45%,#090D26 100%)}
.tw-sky::before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.2px 1.2px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 28% 40%,#cfe,transparent),radial-gradient(1.4px 1.4px at 44% 12%,#fff,transparent),radial-gradient(1px 1px at 62% 30%,#fff,transparent),radial-gradient(1.3px 1.3px at 78% 16%,#cfe,transparent),radial-gradient(1px 1px at 90% 44%,#fff,transparent),radial-gradient(1px 1px at 8% 62%,#fff,transparent),radial-gradient(1.2px 1.2px at 86% 74%,#fff,transparent),radial-gradient(1px 1px at 20% 84%,#cfe,transparent);animation:twTwinkle 4s ease-in-out infinite alternate;opacity:.85}
@keyframes twTwinkle{from{opacity:.45}to{opacity:1}}
.tw-moon{position:absolute;right:9%;top:8%;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff,#DCE6FF 55%,#9FB2F0);box-shadow:0 0 40px 8px rgba(160,190,255,.35)}
.tw-mist{position:absolute;left:0;right:0;bottom:0;height:90px;z-index:-1;background:linear-gradient(0deg,rgba(90,120,255,.22),transparent);pointer-events:none}
.tw-hud{display:flex;gap:8px;width:min(100%,430px)}
.tw-hud>div{flex:1;padding:7px 10px;border-radius:12px;background:rgba(8,12,34,.66);border:1px solid rgba(140,170,255,.2);text-align:center}
.tw-hud small{display:block;font:700 9.5px var(--ui,Manrope,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#8FA2E6}
.tw-hud b{display:block;margin-top:2px;font:800 17px var(--ui,Manrope,sans-serif);color:#fff;font-variant-numeric:tabular-nums}
.tw-hud [data-cm]{color:#6FF3B5}.tw-hud [data-nm]{color:#FFD36B}
.tw-beacon{position:relative;width:96px;height:84px;margin:2px 0 -14px;z-index:3;pointer-events:none;filter:drop-shadow(0 0 calc(10px + var(--lvl)*26px) rgba(110,230,255,calc(.35 + var(--lvl)*.6)));animation:twFloat 3.2s ease-in-out infinite}
.tw-beacon-svg{width:100%;height:100%}.tw-halo{transform-origin:center;animation:twPulse 2.4s ease-in-out infinite}
@keyframes twFloat{50%{transform:translateY(-5px)}}@keyframes twPulse{50%{opacity:.6;transform:scale(1.08)}}
.tw-spire{position:relative;width:min(100%,430px);padding:16px 14px 14px;border-radius:14px 14px 10px 10px;
  background:linear-gradient(90deg,#171C3D,#232A57 18%,#1A2046 50%,#232A57 82%,#171C3D);border:2px solid #36407E;box-shadow:0 0 0 4px #0C1130,0 24px 44px rgba(0,0,0,.5),inset 0 0 40px rgba(80,110,255,.12)}
.tw-spire::before,.tw-spire::after{content:"";position:absolute;top:-12px;width:26px;height:16px;background:repeating-linear-gradient(90deg,#36407E 0 8px,transparent 8px 12px)}
.tw-spire::before{left:-2px}.tw-spire::after{right:-2px}
.tw-scene .tower{width:100%;gap:6px}
.tw-scene .trow{grid-template-columns:58px 1fr;gap:8px;opacity:.6}
.tw-scene .trow.active{opacity:1}.tw-scene .trow.done{opacity:1}
.tw-scene .trow .tm{font:800 12px var(--ui,Manrope,sans-serif);padding:6px 6px;border-radius:8px;background:rgba(8,12,34,.7);border:1px solid rgba(140,170,255,.18);color:#8FA2E6;text-align:center}
.tw-scene .trow.active .tm{color:#FFD36B;border-color:rgba(255,211,107,.6);box-shadow:0 0 12px rgba(255,211,107,.3)}
.tw-scene .trow.done .tm{color:#6FF3B5;border-color:rgba(111,243,181,.4)}
.tw-scene .tcells{gap:6px}
.tw-scene .tcell{height:44px;border-radius:9px;position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(180deg,#3B4486,#2A3166)!important;box-shadow:0 3px 0 #11163A,inset 0 1px 0 rgba(255,255,255,.14)!important}
.tw-scene .tcell::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;transform:translate(-50%,-50%) rotate(45deg);border:1.5px solid rgba(160,185,255,.35);border-radius:2px;transition:.15s}
.tw-scene .tcell.safe::after,.tw-scene .tcell.bad::after,.tw-scene .tcell.ghost::after{display:none}
.tw-scene .trow.active .tcell:not(:disabled){background:linear-gradient(180deg,#4B57AE,#343E8C)!important;box-shadow:0 3px 0 #11163A,0 0 0 1.5px rgba(255,211,107,.7),0 0 16px rgba(255,211,107,.25)!important}
.tw-scene .trow.active .tcell:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.12)}
.tw-scene .trow.active .tcell:not(:disabled):hover::after{border-color:#FFD36B;box-shadow:0 0 10px #FFD36B}
.tw-scene .tcell.safe{background:linear-gradient(180deg,#0F4D44,#0A3A36)!important;box-shadow:0 3px 0 #05201E,inset 0 0 0 2px #35E39A,0 0 18px rgba(53,227,154,.45)!important}
.tw-scene .tcell.bad{background:linear-gradient(180deg,#5A1330,#3A0C20)!important;box-shadow:0 3px 0 #1E0610,inset 0 0 0 2px #FF5470,0 0 18px rgba(255,84,112,.5)!important}
.tw-scene .tcell.ghost{background:#161B3D!important;opacity:.55;box-shadow:none!important}
.tw-ic{width:28px;height:28px;display:block;margin:auto;filter:drop-shadow(0 0 6px rgba(120,255,210,.55))}
.tcell.bad .tw-ic{filter:drop-shadow(0 0 6px rgba(255,84,112,.7))}
@media(max-width:700px){.tw-scene{min-height:0;padding:8px 8px 22px}.tw-beacon{width:78px;height:68px;margin-bottom:-12px}.tw-scene .tcell{height:38px}.tw-ic{width:24px;height:24px}.tw-scene .trow{grid-template-columns:50px 1fr}.tw-hud b{font-size:15px}}

/* v7 live bets: compact centred panel (same on every page), readable and tidy on phones */
.lb-panel{width:100%;max-width:840px;margin:0 auto}
.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.lb-bar .tabs{margin:0!important;padding:4px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.lb-bar .tabs button{padding:7px 14px;border-radius:9px;font-size:13px;font-weight:700;white-space:nowrap}
.lb-live{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;flex:none}
.lb-live .switch{transform:scale(.82);transform-origin:right center}
.live-dot.off{background:#6b7390}
.lb-panel .table-wrap{border-radius:14px;overflow:hidden;background:rgba(255,255,255,.025);border:1px solid var(--line)}
.lb-panel .live-table{font-size:13px}
.lb-panel .live-table th{padding:10px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.lb-panel .live-table td{padding:8px 12px;border-top:1px solid rgba(255,255,255,.05)}
.lb-panel .live-table td:first-child{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.section-title:has(+.lb-panel){max-width:840px;margin-left:auto;margin-right:auto}
@media(max-width:600px){
  .lb-bar{flex-wrap:wrap}.lb-bar .tabs{flex:1 1 auto;display:flex}.lb-bar .tabs button{flex:1;padding:8px 6px;font-size:12px}
  .lb-panel .live-table{font-size:12px}
  .lb-panel .live-table th,.lb-panel .live-table td{padding:8px 8px}
  .bets-table .col-bet{display:table-cell!important}
  .lb-panel .live-table .gt{display:none}
  .lb-panel .live-table td:first-child{max-width:112px}
  .lb-panel .live-table th{font-size:11px;letter-spacing:.04em}
}
.lb-live{padding-right:4px}.lb-live .switch{transform:scale(.8);transform-origin:right center;margin-left:-6px}
@media(max-width:600px){.lb-bar{gap:8px}.lb-live{margin-left:auto}}

/* ---- v8: coin shop ---- */
.dep-plus{margin-left:8px;width:40px;height:40px;border-radius:var(--r-md);font-size:24px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#9C8DFF,#6A5AF0);color:#04140C;box-shadow:0 3px 0 #3B2FB0;flex:none;padding:0}
.dep-plus:hover{filter:brightness(1.08)}
@media (max-width:400px){ .dep-plus{width:34px;height:38px;margin-left:5px;font-size:21px} }
.shop{max-width:1000px}
.shop-hero{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px;border-radius:var(--r-lg,16px);background:linear-gradient(135deg,rgba(139,123,255,.14),rgba(255,200,60,.1)),var(--panel,#121a24);border:1px solid var(--line,rgba(255,255,255,.08))}
.shop-hero small{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.shop-hero h1{margin:2px 0 6px;font-size:26px}
.shop-hero p{margin:0;color:var(--muted,#9aa7b5);font-size:13px;max-width:560px}
.shop-18{flex:none;width:52px;height:52px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--gold,#ffc83c)}
.shop-perks{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.shop-perks .pk{padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.06);font-size:12.5px;font-weight:600}
.shop-perks .pk.gold{background:rgba(255,200,60,.16);color:var(--gold,#ffc83c)}
.shop-card.warn{padding:12px 14px;border-radius:12px;background:rgba(255,180,60,.12);color:#ffcf7a;margin:14px 0;font-size:13.5px}
.packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.pack{position:relative;padding:18px 14px 14px;border-radius:16px;background:var(--panel,#121a24);border:1px solid var(--line,rgba(255,255,255,.08));display:flex;flex-direction:column;gap:6px;text-align:center}
.pack.has-tag{border-color:var(--accent)}
.pack h3{margin:0;font-size:14px;color:var(--muted,#9aa7b5);font-weight:700}
.pcoins{font-size:24px;font-weight:800}
.pbonus{font-size:12.5px;font-weight:700;color:var(--gold,#ffc83c)}
.pprice{font-size:15px;margin:4px 0 6px}.pprice s{color:var(--muted,#9aa7b5);font-size:12.5px}
.ptag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-style:normal;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:99px;background:var(--accent);color:#04140C;white-space:nowrap}
.shop-nv{font-size:12.5px;color:var(--muted,#9aa7b5);margin:14px 2px;line-height:1.5}
.shop-hist{display:flex;flex-direction:column;gap:8px}
.hrow{display:grid;grid-template-columns:1.3fr 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--panel,#121a24);border:1px solid var(--line,rgba(255,255,255,.08))}
.hrow small{display:block;color:var(--muted,#9aa7b5);font-size:12.5px}
.hst{font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.07);white-space:nowrap}
.hst.ok{background:rgba(139,123,255,.16);color:#9C8DFF}.hst.bad{background:rgba(255,90,90,.15);color:#ff8a8a}.hst.wait{background:rgba(255,200,60,.15);color:#ffc83c}
.btn.sm{padding:6px 10px;font-size:12.5px}
.shop-modal{max-width:440px;width:calc(100% - 24px);max-height:92vh;overflow:auto}
.sm-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.sm-sum>div{padding:12px;border-radius:12px;background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:2px;text-align:center}
.sm-sum small{color:var(--muted,#9aa7b5);font-size:12.5px}.sm-sum b{font-size:20px}
.sm-nv{padding:10px 12px;border-radius:10px;background:rgba(255,200,60,.1);font-size:12.5px;line-height:1.45;margin:8px 0}
.ck{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:13px;line-height:1.4;cursor:pointer}
.ck input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:#6A5AF0}
.ck a{color:var(--accent);text-decoration:underline}
.sm-err{color:#ff8a8a;font-size:13px;min-height:16px;margin-top:6px}
.sm-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.rc-rows>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:13.5px}
.rc-rows span{color:var(--muted,#9aa7b5)}.rc-rows b{text-align:right}
.dep-go{box-shadow:none}
@media (max-width:560px){
  .shop-hero{padding:14px}.shop-hero h1{font-size:21px}.shop-18{width:42px;height:42px;font-size:14px}
  .packs{grid-template-columns:1fr 1fr;gap:10px}.pcoins{font-size:20px}
  .hrow{grid-template-columns:1fr auto;row-gap:6px}.hrow .hst{justify-self:start}.hrow .btn{justify-self:end}
  .sm-sum b{font-size:17px}
}
@media print{ body *{visibility:hidden} .receipt,.receipt *{visibility:visible} .receipt{position:absolute;left:0;top:0;width:100%;max-width:none;background:#fff;color:#000} .sm-btns{display:none} }

.shop-tip{margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:rgba(139,123,255,.1);border:1px solid rgba(139,123,255,.28);font-size:13px;line-height:1.5}

.sm-tip{font-size:12.5px;line-height:1.45;margin:4px 0 8px;color:var(--muted,#9aa7b5)}.sm-tip b{color:var(--accent)}

.pack .pprice{margin-top:auto}

.st-list{display:flex;flex-direction:column;gap:8px}
.st-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--panel,#121a24);border:1px solid var(--line,rgba(255,255,255,.08))}
.st-row.down{border-color:rgba(255,90,90,.5)}.st-row.warn{border-color:rgba(255,200,60,.4)}
.st-row b{display:block}.st-row small{display:block;color:var(--muted,#9aa7b5);font-size:12.5px;margin-top:2px}
.st-games{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.st-g{font-size:12px;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.06);white-space:nowrap}.st-g small{display:inline;margin:0 0 0 2px}
.st-g.off{opacity:.55;text-decoration:line-through}

/* ---- v9: iPhone home-screen app. The page fills the whole screen; the header and bottom bar grow into the notch and home-indicator areas
   (before, the root had safe-area padding AND a 100% height, which left an empty band under the bottom bar). ---- */
:root{padding-top:0!important;padding-bottom:0!important}
html,body{position:fixed;inset:0;width:100%;height:100%;overscroll-behavior:none}
.top{padding-top:env(safe-area-inset-top,0px)!important;height:auto!important;box-sizing:border-box}
.main{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.top-pop{top:calc(66px + env(safe-area-inset-top,0px))}
@media (max-width:860px){
  .app{grid-template-rows:calc(56px + env(safe-area-inset-top,0px)) minmax(0,1fr) calc(62px + env(safe-area-inset-bottom,0px))!important}
  .bottom-nav{padding-bottom:env(safe-area-inset-bottom,0px)}
  .income{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:861px){ .app{grid-template-rows:calc(60px + env(safe-area-inset-top,0px)) minmax(0,1fr)!important} }

/* ---- v9: live wins strip ---- */
.lw{display:flex;align-items:flex-start;gap:12px;margin:18px 0 6px;position:relative}
.lw-tag{flex:none;display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;background:var(--raised,#1a2338);font-weight:700;font-size:12.5px;white-space:nowrap;position:absolute;left:0;top:6px;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.lw-row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none;width:100%}
.lw-row::-webkit-scrollbar{display:none}
.lw-item{flex:none;width:92px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.lw-card{position:relative;width:92px;aspect-ratio:3/4;border-radius:12px;overflow:hidden;display:block;transition:transform .15s}
.lw-item:hover .lw-card{transform:translateY(-3px)}
.lw-art{position:absolute;inset:0;display:grid;place-items:center;font-size:40px}
.lw-art svg,.lw-art img{width:100%;height:100%;object-fit:cover}
.lw-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.7))}
.lw-name{position:absolute;left:6px;right:6px;bottom:7px;font-weight:800;font-size:12px;line-height:1.05;text-transform:uppercase;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.lw-who{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted,#9aa7b5);max-width:92px;width:100%}
.lw-who>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lw-amt{font-size:13px;color:var(--win,#9C8DFF);padding-left:2px}
@media (max-width:560px){ .lw-item,.lw-card{width:80px} .lw-who{max-width:80px} .lw-tag{position:static;margin-bottom:0} .lw{flex-direction:column;gap:6px} }

/* guest (logged out) mode */
.guest-acts{display:none;gap:8px;align-items:center}
body.guest .guest-acts{display:flex}
body.guest #wallet,body.guest #notiBtn,body.guest #giftBtn,body.guest #chatBtn,body.guest #vipChip,body.guest .income,body.guest .bottom-nav [data-go=raffle],body.guest .bottom-nav [data-go=leaderboards]{display:none!important}
.guest-acts .btn{padding:0 16px;height:38px;white-space:nowrap}
.top-right{justify-self:end}
.hero-cta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.auth-card{position:relative}
.auth-x{position:absolute;top:10px;right:12px;width:34px;height:34px;border-radius:10px;font-size:24px;line-height:1;color:var(--muted,#9aa7b5);background:rgba(255,255,255,.06)}
.auth-x:hover{color:#fff;background:rgba(255,255,255,.12)}
@media (max-width:420px){ .guest-acts .btn{padding:0 12px;height:36px;font-size:13px} }

.guest-panel{display:flex;flex-direction:column;align-items:center;gap:14px;padding:38px 16px;border-radius:14px;background:var(--panel,#121a24);border:1px solid var(--line,rgba(255,255,255,.08));text-align:center;margin-top:10px}
.guest-panel .gp-ic{font-size:44px;line-height:1}.guest-panel p{margin:0;font-weight:600}
.guest-login{margin-bottom:12px}
.guest-locked .controls>*:not(.guest-login){opacity:.5}
.guest-locked .stage{opacity:.92}

/* other games row */
.og{margin:26px 0 8px}
.og-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.og-head h3{margin:0;font-size:17px}
.og-head a{color:var(--muted,#9aa7b5);font-size:13px}.og-head a:hover{color:var(--accent)}
.og-arrows{margin-left:auto;display:flex;border-radius:10px;overflow:hidden;background:var(--raised,#1a2338)}
.og-arrows button{width:42px;height:34px;font-size:20px;line-height:1;color:var(--muted,#9aa7b5)}.og-arrows button:hover{background:rgba(255,255,255,.08);color:#fff}
.og-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:none}
.og-row::-webkit-scrollbar{display:none}
.og-row .gcard{flex:none;width:150px;scroll-snap-align:start}
@media (max-width:560px){ .og-row .gcard{width:118px} .og-arrows{display:none} }

/* account menu header: avatar, then name / rank / id stacked and left-aligned (an older .pm-head rule was pushing them to the right) */
.top-pop .pm-head{justify-content:flex-start!important;gap:12px;padding:6px 8px 12px;position:static}
.top-pop .pm-head>div{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;flex:1}
.top-pop .pm-head b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.top-pop .pm-head small{color:var(--muted,#9aa7b5);font-size:12px;white-space:nowrap}
.top-pop .pm-head .pc-av{flex:none}

/* v10: bonus-buy note + How to play width */
.ctrl .rtp-note,.controls .rtp-note{font-size:12.5px;line-height:1.4;color:var(--muted);text-align:center;padding:2px 6px;margin:6px 0 10px!important;white-space:normal}
.howto{width:100%;max-width:960px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}

/* v11: other-games row centered, logo, shuffled */
.og-head{position:relative;justify-content:center}
.og-logo{display:block;flex:none}
.og-arrows{position:absolute;right:0;top:0;margin-left:0}
.og-row>:first-child{margin-left:auto}.og-row>:last-child{margin-right:auto}
@media (max-width:560px){ .og-head{flex-wrap:wrap} }

/* v12: other-games row: 5 per view, arrows beside title */
.og{max-width:1000px;margin:26px auto 8px}
.og-head{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:36px;padding:0 96px}
.og-arrows{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0}
.og-row{gap:12px;padding:4px 0 10px;scroll-snap-type:x mandatory}
.og-row>:first-child{margin-left:0}.og-row>:last-child{margin-right:0}
.og-row .gcard{flex:0 0 calc((100% - 48px)/5);width:auto;min-width:0;scroll-snap-align:start}
@media (max-width:760px){
 .og-head{padding:0;flex-wrap:wrap}
 .og-arrows{display:none}
 .og-row{gap:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .og-row .gcard{flex:0 0 calc((100% - 20px)/2.6);width:auto}
}
.howto p{line-height:1.55}.howto .howto-sub{margin-top:-4px;font-size:13.5px}
.howto .howto-sub b{color:var(--text,#fff)}

/* v13: Cash out is amber so it never looks like the green Go / Flip / Bet button */
.btn.win,.btn.win:hover{background:linear-gradient(135deg,#FFC83D,#FF8A1F)!important;color:#2A1300!important;border-color:transparent!important;box-shadow:0 4px 0 #B55A0A,0 10px 28px rgba(255,150,40,.28)!important}
.btn.win:active{transform:translateY(3px);box-shadow:0 1px 0 #B55A0A!important}
.btn.win:disabled{opacity:.45;filter:saturate(.6)}

/* v14: coinflip streak ladder */
.cf-ladder{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:14px auto 0;max-width:560px}
.cf-ladder span{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-weight:800;font-size:13px;color:var(--muted,#9aa7b5)}
.cf-ladder span i{font-style:normal;font-size:11px;opacity:.7;font-weight:700}
.cf-ladder span.nxt{border-color:#FFC83D;color:#FFC83D;background:rgba(255,200,61,.1)}
.cf-ladder span.hit{background:rgba(61,255,154,.14);border-color:rgba(61,255,154,.5);color:#3DFF9A}
.cf-info{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--muted,#9aa7b5);font-weight:700}
.cf-info b{color:#fff;margin-left:4px}
@media (max-width:560px){.cf-ladder span{min-width:44px;padding:5px 6px;font-size:12.5px}.cf-ladder{gap:4px}}

/* v15: Live Wins centered, label over the first card, new wins slide in */
.lw{display:block;margin:18px 0 6px}
.lw-in{position:relative;width:max-content;max-width:100%;margin:0 auto}
.lw-tag{position:absolute!important;left:0;top:6px;z-index:2}
.lw-row{display:flex;justify-content:flex-start;gap:10px;overflow-x:auto;padding:4px 2px 6px;width:100%}
.lw-row>*{margin:0}
.lw-item{align-items:center;text-align:center}
.lw-who{justify-content:center}.lw-amt{padding-left:0;text-align:center}
.lw-new{animation:lwin .6s cubic-bezier(.2,.8,.2,1) both;overflow:hidden}
@keyframes lwin{from{width:0;margin-left:-10px;opacity:0;transform:translateX(-36px)}to{width:92px;margin-left:0;opacity:1;transform:none}}
.lw-item:hover .lw-card{transform:translateY(-3px)}
.live-table tr.in{animation:rowin .4s ease-out}
@keyframes rowin{from{opacity:0;transform:translateY(-8px);background:rgba(255,255,255,.07)}to{opacity:1;transform:none}}

/* v16: item illustrations in cases */
.iart{display:inline-block;width:1em;height:1em;line-height:0;vertical-align:-.12em}
.iart svg{width:100%;height:100%;display:block}
.ritem .ie{display:grid;place-items:center;height:56px}.ritem .ie .iart{width:56px;height:56px;font-size:56px}
.case-items b{height:38px;display:grid;place-items:center}.case-items b .iart{width:38px;height:38px}
.case-items .in{display:block;font-size:11.5px;opacity:.85;margin:2px 0}
.slot-status .iart{width:1.3em;height:1.3em;vertical-align:-.3em}
@media (max-width:560px){.ritem .ie .iart{width:46px;height:46px}}
@media (max-width:560px){
 .lw-in{width:100%}
 .lw-tag{position:static!important;display:inline-flex;margin:0 0 6px}
 .lw-row{justify-content:flex-start}
 .lw-new{animation-name:lwinm}
}
@keyframes lwinm{from{width:0;margin-left:-10px;opacity:0;transform:translateX(-36px)}to{width:80px;margin-left:0;opacity:1;transform:none}}

/* v17: unified outcome card (replaces the old win pop-up) */
.outcome{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:168px;padding:16px 26px 14px;border-radius:18px;background:rgba(12,18,30,.94);border:3px solid var(--win,#3DFF9A);box-shadow:0 0 0 6px rgba(61,255,154,.14),0 0 38px rgba(61,255,154,.35),0 18px 50px rgba(0,0,0,.55);cursor:pointer;color:inherit;font:inherit;animation:ocIn .42s cubic-bezier(.2,1.6,.4,1) both}
.outcome .oc-m{font-family:var(--display);font-weight:900;font-size:clamp(30px,6vw,44px);line-height:1;color:var(--win,#3DFF9A);letter-spacing:.01em}
.outcome .oc-line{width:64%;height:2px;border-radius:2px;background:rgba(255,255,255,.14)}
.outcome .oc-p{display:flex;align-items:center;gap:7px;font-weight:800;font-size:clamp(15px,3.4vw,19px);color:var(--win,#3DFF9A)}
.outcome.big{border-color:var(--gold,#FFC83D);box-shadow:0 0 0 6px rgba(255,200,61,.16),0 0 44px rgba(255,200,61,.4),0 18px 50px rgba(0,0,0,.55)}
.outcome.big .oc-m,.outcome.big .oc-p{color:var(--gold,#FFC83D)}
.outcome.out{animation:ocOut .18s ease-in both}
@keyframes ocIn{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}}
@keyframes ocOut{to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}
@media (max-width:560px){.outcome{min-width:140px;padding:12px 20px 11px}}

/* v18: chip picker with arrows (small / large chips) */
.chip-nav{display:flex;align-items:center;gap:6px}
.chip-nav .chip-row{flex:1 1 auto;min-width:0;padding:6px 0 10px!important;gap:5px!important}
.chip-nav .chip-row .cp{max-width:50px}
.chip-nav .chip-row .cp:disabled{opacity:.3;filter:grayscale(.6);cursor:not-allowed}
.cp-arr{flex:none;width:24px;height:44px;border-radius:10px;background:var(--raised,#1a2338);color:var(--muted,#9aa7b5);font-size:20px;line-height:1;border:1px solid var(--line,#2a3550)}
.cp-arr:hover:not(:disabled){color:#fff;background:rgba(255,255,255,.1)}
.cp-arr:disabled{opacity:.3;cursor:default}

/* v19: outcome card sits in the top-right corner on table games so it never hides the cards */
.outcome.corner{left:auto;right:14px;top:14px;transform:none;min-width:130px;padding:10px 18px 9px;gap:5px;animation:ocInC .42s cubic-bezier(.2,1.6,.4,1) both}
.outcome.corner .oc-m{font-size:clamp(24px,4.4vw,32px)}
.outcome.corner .oc-p{font-size:15px}
.outcome.corner.out{animation:ocOutC .18s ease-in both}
@keyframes ocInC{from{opacity:0;transform:scale(.6)}}
@keyframes ocOutC{to{opacity:0;transform:scale(.9)}}

/* v19: blackjack table fills the whole backdrop box */
@media (min-width:701px){
 .stage:has(.bj-table){padding:14px!important;align-items:stretch!important}
 .stage:has(.bj-table) .bj-table{width:100%!important;max-width:none!important;height:100%!important;min-height:520px!important;max-height:none!important;padding:26px 34px 26px!important;justify-content:space-between!important}
 .stage:has(.bj-table) .bj-dealer,.stage:has(.bj-table) .bj-hands{min-height:150px!important}
 .stage:has(.bj-table) .bj-spots{max-width:620px;margin:0 auto}
}
/* v19: nicer limits note under every bet form */
.limits{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0 2px}
.limits span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line,#2a3550);font-size:12.5px;font-weight:700;color:var(--muted,#9aa7b5);white-space:nowrap}
.limits span b{color:#fff;font-weight:800}
.limits span i{font-style:normal;opacity:.85}

/* v20: open-round banner */
.open-round{display:flex;align-items:center;gap:10px;width:100%;max-width:1180px;margin:0 auto 12px;padding:10px 14px;border-radius:12px;background:rgba(255,200,61,.1);border:1px solid rgba(255,200,61,.45);color:#fff;text-align:left;font-size:13.5px;cursor:pointer;box-sizing:border-box}
.open-round .or-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#FFC83D;box-shadow:0 0 0 0 rgba(255,200,61,.6);animation:orp 1.6s infinite}
.open-round .or-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.open-round .or-t b{color:#FFC83D;margin-right:4px}
.open-round .or-go{flex:none;font-weight:800;color:#2A1300;background:linear-gradient(135deg,#FFC83D,#FF8A1F);padding:5px 12px;border-radius:8px}
@keyframes orp{70%{box-shadow:0 0 0 8px rgba(255,200,61,0)}100%{box-shadow:0 0 0 0 rgba(255,200,61,0)}}
.open-round{width:calc(100% - 32px);margin:10px 16px 0}
@media (min-width:1500px){.open-round{max-width:1240px}}
.og-row.few{justify-content:center;overflow-x:visible}
.og:has(.og-row.few) .og-head{padding:0}
@media (max-width:760px){.og-row.few{justify-content:flex-start;overflow-x:auto}}

/* v21: quick bet row */
.quickbet{display:flex;align-items:center;gap:5px;margin-top:8px}
.quickbet span{flex:none;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9aa7b5);margin-right:2px}
.quickbet button{flex:1 1 0;min-width:0;padding:7px 0;border-radius:8px;background:var(--raised,#1a2338);border:1px solid var(--line,#2a3550);color:var(--text,#e8eefc);font-weight:800;font-size:12px;transition:background .12s,border-color .12s}
.quickbet button:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(61,255,154,.5);color:#3DFF9A}
.quickbet button:disabled{opacity:.4;cursor:not-allowed}

/* v22: game title lines up with the left edge of the game box */
.page > .game-head,.page > .announce{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.page > .game-head{padding:0 2px}
@media(min-width:1500px){.page > .game-head,.page > .announce{max-width:1240px}}

/* v22: the game title sits directly above the top-left corner of the game box */
.game-head{width:100%;max-width:1180px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box;padding-left:2px}
.page>.announce{max-width:1180px;margin-left:auto;margin-right:auto}
@media(min-width:1500px){.game-head,.page>.announce{max-width:1240px}}

/* v23: room around the cards so the hover lift and glow are never clipped */
.og-row{padding:18px 12px 22px!important;margin:-14px -12px -10px!important;scroll-padding-left:12px}
.og-row.few{overflow:visible}
@media (max-width:760px){.og-row{padding:14px 12px 18px!important;margin:-10px -12px -8px!important}.og-row.few{overflow-x:auto}}

/* v24: lobby centered (filters, category titles and game cards) */
.lobby-bar{max-width:1240px;margin-left:auto!important;margin-right:auto!important;justify-content:center!important}
.lobby-bar .chips{justify-content:center}
.section-title{max-width:1240px;margin-left:auto!important;margin-right:auto!important;justify-content:center!important;gap:12px!important;text-align:center}
.section-title .see{margin-left:0!important}
.page .game-grid{grid-template-columns:repeat(auto-fit,minmax(150px,170px))!important;justify-content:center;max-width:1240px;margin-left:auto;margin-right:auto;gap:14px!important}
@media (max-width:560px){.lobby-bar .chips{justify-content:flex-start}.page .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}

/* v25: stats live in the lobby banner as compact pills */
.hero-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hero-stats .hs{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-size:12.5px;font-weight:700;color:rgba(255,255,255,.72);white-space:nowrap}
.hero-stats .hs b{color:#fff;font-weight:800}
.hero-stats .hs b.pos{color:var(--win,#3DFF9A)}.hero-stats .hs b.neg{color:var(--loss,#FF5470)}
.hero-stats .hs.live{border-color:rgba(61,255,154,.4)}
@media (max-width:560px){.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hero-stats .hs{justify-content:space-between;padding:8px 11px;white-space:normal;border-radius:12px}}
@media (max-width:560px){
 .hero-stats .hs{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;font-size:12.5px}
 .hero-stats .hs b{font-size:15px}
 .hero-stats .hs.live{grid-column:1/-1;flex-direction:row;align-items:center;gap:7px;font-size:13px}
 .hero-stats .hs.live b{font-size:14px}
}
@media (max-width:560px){ .hero-stats .hs:last-child{grid-column:1/-1} }
/* v26 category icons */
.section-title .st-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:9px;border-radius:9px;background:rgba(124,92,255,.16);color:#b9a6ff;vertical-align:middle;flex:none}
.section-title .st-slots{background:rgba(255,184,48,.15);color:#ffc857}
.section-title .st-table{background:rgba(46,213,115,.14);color:#4ee38a}
.section-title .st-ic svg{width:19px;height:19px}
@media (max-width:560px){.section-title .st-ic{width:26px;height:26px;margin-right:7px}.section-title .st-ic svg{width:17px;height:17px}}
.section-title .st-ic{margin-right:0 !important}
.section-title{gap:10px}
/* v27 smooth motion + minimal mobile menu */
.scrim{animation:fadein .22s ease both}
.scrim.out{animation:fadeout .2s ease forwards}
@media (prefers-reduced-motion:no-preference){
  @keyframes pgin{from{opacity:0;transform:translateY(8px)}}
  @keyframes cardin{from{opacity:0;transform:translateY(14px) scale(.97)}}
  @keyframes modalin{from{opacity:0;transform:translateY(10px) scale(.97)}}
  @keyframes navbob{40%{transform:translateY(-4px) scale(1.12)}}
  @keyframes sidein{from{opacity:0;transform:translateX(-10px)}}
  .main>.page{animation:pgin .28s cubic-bezier(.2,.7,.2,1)}
  .game-grid.stag .gcard{animation:cardin .42s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*26ms)}
  .modal{animation:modalin .24s cubic-bezier(.2,.8,.2,1)}
  .gcard,.icon-btn,.chips button,.nav-item,.nav-head,.bottom-nav button{transition:transform .18s cubic-bezier(.2,.7,.2,1),background-color .2s,box-shadow .25s,border-color .2s,color .2s,filter .2s}
  .gcard:active,.icon-btn:active,.chips button:active,.nav-item:active,.nav-head:active{transform:scale(.97)}
  .bottom-nav button.on .ic{animation:navbob .4s cubic-bezier(.3,1.6,.5,1)}
  .card,.promo,.tile{transition:transform .2s,box-shadow .25s,border-color .2s}
}
@media (max-width:860px){
  .side{width:244px;border-radius:0 22px 22px 0;border-right:1px solid rgba(255,255,255,.06);transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s}
  .app.side-open .side{box-shadow:0 0 0 1px rgba(255,255,255,.04),18px 0 50px rgba(0,0,0,.55)}
  .scrim{background:rgba(4,6,12,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  .side .logo{padding:18px 18px 8px}
  .side-scroll{padding:6px 10px 12px}
  .side .sb-raffle,.side .sb-chips,.side .nav-head .cnt,.side .side-foot{display:none!important}
  .side .nav-item,.side .nav-head{min-height:44px;border-radius:12px;font-size:14px}
  .side .nav-item .ic,.side .nav-head .gi-ic{width:24px;display:grid;place-items:center;font-size:17px;opacity:.9}
  .side .nav-item.active{background:rgba(255,255,255,.07);box-shadow:none;color:#fff}
  .side .nav-item.active .ic{opacity:1}
  .side .nav-group{margin-bottom:6px}
  .side .nav-bottom,.side .nav-more{border-top:1px solid rgba(255,255,255,.06);margin-top:8px;padding-top:8px}
  .side .nav-sub .nav-item{padding-left:34px;min-height:40px;font-size:13.5px}
  @media (prefers-reduced-motion:no-preference){
    .app.side-open .side .nav-item,.app.side-open .side .nav-head{animation:sidein .34s cubic-bezier(.2,.8,.2,1) both}
    .app.side-open .side .nav-group:nth-child(2) .nav-item,.app.side-open .side .nav-head{animation-delay:.05s}
    .app.side-open .side .nav-group:nth-child(n+3) .nav-item,.app.side-open .side .nav-group:nth-child(n+3) .nav-head{animation-delay:.1s}
    .app.side-open .side .nav-bottom .nav-item,.app.side-open .side .nav-more .nav-item{animation-delay:.15s}
  }
}
@media (max-width:860px){ .side .nav-head{background:transparent!important;border:0!important;box-shadow:none!important;padding-left:10px} .side .nav-head:active{background:rgba(255,255,255,.06)!important} }

/* v28 chicken cross: bigger frame, recent results as chips */
.ck-hist{gap:6px!important;text-shadow:none!important;max-width:60%!important}
.ck-hist span{padding:4px 9px;border-radius:999px;background:rgba(8,10,28,.72);color:#C9CDF2;font-size:12.5px;font-weight:800;white-space:nowrap;animation:ckTip .3s cubic-bezier(.2,1.6,.4,1)}
.ck-hist span.w{background:rgba(46,214,154,.2);color:#2ED69A;box-shadow:inset 0 0 0 1px rgba(46,214,154,.45)}
.ck-hist span.l{background:rgba(232,40,79,.16);color:#FF7A92;box-shadow:inset 0 0 0 1px rgba(232,40,79,.35)}
@media (max-width:560px){ .ck-hist span:nth-last-child(n+4){display:none} .ck-hist span{padding:3px 7px;font-size:11.5px} .ck-hud{left:8px;top:8px;gap:6px} .ck-hist{right:8px;top:8px} }
/* v29 phone lobby: dense 4-up grid of tall tiles, RTP pill top-left, centered names, last row centered */
@media (max-width:560px){
  .page .game-grid{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px!important;max-width:none!important}
  .page .game-grid .gcard{flex:0 0 calc((100% - 24px)/4);width:calc((100% - 24px)/4);min-width:0;aspect-ratio:3/4.15!important;border-radius:14px;padding:0}
  .page .game-grid .gcard .gart{inset:24px 3px 40px 3px!important;font-size:30px!important}
  .page .game-grid .gcard .shade{height:55%}
  .page .game-grid .gcard .gfoot{padding:0 4px 7px!important;text-align:center;align-items:center}
  .page .game-grid .gcard .gname{font-size:12.5px!important;line-height:1.12;white-space:normal!important;overflow:visible!important;text-align:center;letter-spacing:0}
  .page .game-grid .gcard .grtp{position:absolute!important;top:5px;left:5px;z-index:3;padding:2px 5px!important;border-radius:7px;background:rgba(10,8,28,.6)!important;font-size:8.5px!important;font-weight:800;line-height:1.2;color:#7CF2B6;letter-spacing:.02em}
  .page .game-grid .gcard .gtag{top:24px!important;left:5px!important;right:auto!important;font-size:7.5px!important;padding:2px 5px!important;border-radius:6px}
  .page .game-grid .gfav{top:5px!important;right:5px!important;left:auto!important;width:20px!important;height:20px!important;font-size:12px!important}
}
@media (max-width:359px){ .page .game-grid .gcard{flex-basis:calc((100% - 16px)/3);width:calc((100% - 16px)/3)} }
@media (max-width:560px){ .page .game-grid .gcard .gfoot{position:static!important} .page .game-grid .gcard .gname{position:relative;z-index:2} }
@media (max-width:560px){ .page .game-grid .gcard .gart{inset:22px -7px 36px -7px!important} }

/* ---------- v30: artwork pass (icon set, rank badges, hero scene, richer surfaces) ---------- */
.ui-i{display:block;flex:none;overflow:visible}
.nav-item .ic,.nav-head .gi-ic{display:grid;place-items:center}
.nav-item .ic .ui-i,.nav-head .gi-ic .ui-i{width:19px;height:19px;color:#8FA3C4;transition:color .2s,transform .25s cubic-bezier(.3,1.5,.5,1)}
.nav-item:hover .ic .ui-i{color:#D6E2F7;transform:scale(1.1)}
.nav-item.active .ic .ui-i{color:var(--accent);filter:drop-shadow(0 0 6px rgba(139,123,255,.55))}
.nav-head .gi-ic .ui-i{color:#B9A6FF}
.nav-cat[data-cat="table"] .nav-head .gi-ic .ui-i{color:#7FD6FF}
.nav-cat[data-cat="slots"] .nav-head .gi-ic .ui-i{color:#FFC24B}
.icon-btn .ui-i{width:20px;height:20px}
.bottom-nav button .ic{display:grid;place-items:center;font-size:0}
.bottom-nav button .ic .ui-i{width:22px;height:22px}
.bottom-nav button.on .ic .ui-i{color:var(--accent);filter:drop-shadow(0 0 6px rgba(139,123,255,.55))}
.sb-raffle .sbr-tk{display:grid;place-items:center;color:rgba(255,255,255,.85);transform:rotate(-12deg)}
.sb-raffle .sbr-tk .ui-i{width:30px;height:30px;stroke-width:1.5}

/* rank badges */
.vbadge{display:block;overflow:visible;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.vip2-gem,.lvl-gem{display:grid;place-items:center;filter:none}
.vip2-gem .vbadge{filter:drop-shadow(0 8px 22px var(--vc))}
.lvl-gem .vbadge{margin:0 auto;filter:drop-shadow(0 0 24px var(--violet))}
.vip2-tg{display:grid;place-items:center;margin-bottom:6px}
.vip2-tier.lock .vbadge,.vip2-tier.next .vbadge{filter:grayscale(.75) brightness(.7)}
.rr-ladder .rr-g{display:grid;place-items:center;font-size:0;margin-bottom:4px}
.rr-ladder .lock .vbadge{filter:grayscale(.7) brightness(.75)}
@media (prefers-reduced-motion:no-preference){ .vip2-gem .vbadge{animation:floaty 5s ease-in-out infinite} }

/* hero scene */
.hero3{background:radial-gradient(120% 140% at 100% 0%,rgba(107,77,255,.28),transparent 55%),radial-gradient(90% 120% at 0% 100%,rgba(139,123,255,.12),transparent 60%),linear-gradient(135deg,#17213B,#0F1730 70%)!important;isolation:isolate}
.hero3::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(70% 90% at 80% 40%,#000,transparent);mask-image:radial-gradient(70% 90% at 80% 40%,#000,transparent)}
.hero3 .hero-art{position:relative;height:250px;margin:-14px 0}
.hero-art .hh-ring{position:absolute;inset:0;width:100%;height:100%}
.hero-art .hh-spin{transform-origin:200px 150px}
.hero-art .hh-i{position:absolute;width:var(--w,96px);height:var(--w,96px);filter:drop-shadow(0 12px 18px rgba(0,0,0,.4))}
.hero-art .hh-i svg{width:100%;height:100%;display:block;overflow:visible}
.hh-c{--w:150px;left:50%;top:50%;margin:-82px 0 0 -75px}
.hh-a{--w:96px;left:4%;top:2%}
.hh-b{--w:92px;right:3%;top:0}
.hh-d{--w:82px;left:8%;bottom:2%}
.hh-e{--w:84px;right:7%;bottom:0}
@media (prefers-reduced-motion:no-preference){
  .hero-art .hh-spin{animation:spinang2 30s linear infinite}
  .hero-art .hh-i{animation:floaty 6s ease-in-out infinite}
  .hh-a{animation-delay:-1s!important}.hh-b{animation-delay:-2.5s!important}.hh-d{animation-delay:-4s!important}.hh-e{animation-delay:-3s!important}
  @keyframes spinang2{to{transform:rotate(360deg)}}
}
@media (max-width:820px){ .hero3 .hero-art{display:none} }
.hero3 .orbit{display:none}
.vip2-tier.lock .vbadge,.vip2-tier.next .vbadge,.rr-ladder .lock .vbadge{filter:grayscale(.55) brightness(.9) opacity(.85)}
.chips button .ui-i,.chip .ui-i,.fchips .ui-i{display:inline-block;vertical-align:-3px;margin-right:2px}
.hero3 .ctas .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.hero3 .ctas .btn .ui-i{width:18px;height:18px}

/* v31: compact phone hero with artwork + single online pill */
@media (max-width:820px){
  .hero3{position:relative;padding:16px 16px 14px!important;gap:0!important;min-height:0}
  .hero3 .hero-art{display:block!important;position:absolute;right:-4px;top:4px;width:56%;height:128px;margin:0;pointer-events:none;z-index:0}
  .hero3>div:first-child{position:relative;z-index:1}
  .hero3 h2{font-size:30px!important;line-height:1.02;margin:4px 0 12px!important}
  .hero3 h2 br{display:block!important}
  .hero3 .kick{max-width:60%}
  .hero3 .ctas,.hero3 .hero-cta{margin-top:14px;position:relative;z-index:1}
  .hero-art .hh-a,.hero-art .hh-d{display:none}
  .hh-c{--w:92px;margin:-52px 0 0 -42px}
  .hh-b{--w:56px;right:4%;top:-2%}
  .hh-e{--w:54px;right:6%;bottom:-2%}
  .hero3 .hero-stats .hs:not(.live){display:none!important}
  .hero3 .hero-stats{margin-top:12px;display:flex}
  .hero3 .hero-stats .hs.live{display:inline-flex!important;align-items:center;gap:7px;width:auto;padding:6px 13px;border-radius:999px;font-size:12.5px;background:rgba(139,123,255,.1);border:1px solid rgba(139,123,255,.4);color:#BFF5DF}
}
@media (max-width:820px){
  .hero-art .hh-e{display:none}
  .hero3 .hero-art{height:118px;width:52%}
  .hero3 h2{margin:2px 0 8px!important}
  .hero3 .ctas,.hero3 .hero-cta{margin-top:10px}
  .hero3 .hero-stats{margin-top:9px}
  .hero3 .hero-stats .hs.live{padding:4px 11px;font-size:12px}
}
@media (max-width:820px){
  .hero3 .hero-stats{position:absolute;top:-6px;right:-4px;margin:0!important;z-index:3}
  .hero3 .hero-stats .hs.live{padding:3px 9px;font-size:12px;gap:5px;background:rgba(10,18,36,.55);backdrop-filter:blur(6px)}
  .hero3 .hero-stats .hs.live .live-dot{width:6px;height:6px}
  .hero3 .kick{max-width:58%}
}
@media (max-width:820px){ .hero-art .hh-b{display:none} .hero3 .hero-art{top:22px;right:2px;height:104px} .hh-c{--w:86px} }
@media (max-width:820px){ .hero3 .hero-stats .hs.live,.hero3 .hero-stats .hs.live b{font-size:11.5px!important;line-height:1.2} .hero3 .hero-stats .hs.live{padding:3px 8px!important;min-height:0!important;height:auto!important} .hero3 .hero-stats{top:-2px;right:-6px} }
@media (max-width:820px){ .hero3 .hero-stats .hs.live,.hero3 .hero-stats .hs.live b{font-size:11.5px!important;line-height:1.2} .hero3 .hero-stats .hs.live{padding:3px 8px!important;min-height:0!important;height:auto!important} .hero3 .hero-stats{top:-2px;right:-6px} }

/* v32: nicer phone banner (signed in: no buttons) */
@media (max-width:820px){
  .hero3 .ctas{display:none!important}
  .hero3{min-height:148px!important;padding:18px 18px 18px!important;border-radius:20px;background:radial-gradient(90% 120% at 100% 0%,rgba(123,92,255,.42),transparent 60%),radial-gradient(80% 110% at 0% 100%,rgba(139,123,255,.16),transparent 62%),linear-gradient(135deg,#18233F,#0E1630 75%)!important}
  .hero3 .kick{font-size:11.5px;letter-spacing:.16em;margin-bottom:2px}
  .hero3 h2{font-size:34px!important;line-height:1.02;margin:6px 0 0!important}
  .hero3 .hero-art{top:20px;right:0;width:50%;height:116px}
  .hh-c{--w:104px;margin:-60px 0 0 -52px}
}

/* v32: signed-in phone banner has no buttons, bigger artwork */
@media (max-width:820px){
  .hero3.hero-in .ctas{display:none!important}
  .hero3.hero-in{min-height:148px!important;padding:18px 16px!important;display:flex;align-items:center;background:radial-gradient(90% 130% at 88% 50%,rgba(107,77,255,.38),transparent 62%),radial-gradient(70% 100% at 0% 100%,rgba(139,123,255,.14),transparent 60%),linear-gradient(135deg,#17213B,#0F1730 70%)!important}
  .hero3.hero-in>div:first-child{width:100%}
  .hero3.hero-in h2{font-size:34px!important;margin:6px 0 0!important}
  .hero3.hero-in .kick{font-size:12px}
  .hero3.hero-in .hero-art{top:50%!important;transform:translateY(-46%);height:150px!important;width:56%!important;right:-2px!important}
  .hero3.hero-in .hh-c{--w:112px;margin:-58px 0 0 -52px}
  .hero3.hero-in .hh-d{display:block;--w:46px;left:2%;bottom:6%}
  .hero3.hero-in .hh-e{display:block;--w:46px;right:2%;bottom:8%}
  .hero3.hero-in .hero-stats{top:10px;right:10px}
}
@media (max-width:820px){
  .hero3.hero-in>div:first-child{position:static!important}
  .hero3.hero-in .hero-stats{top:10px!important;right:10px!important}
  .hero3.hero-in .hero-art{transform:translateY(-38%)!important}
}

/* ---------- v33: lobby carousel rows (desktop) ---------- */
.lrow{margin:0 0 26px}
.lr-head{display:flex;align-items:center;gap:10px;margin:0 0 12px!important;justify-content:flex-start!important;text-align:left}
.lr-head .lr-t{font-family:var(--display);font-weight:700;font-size:19px}
.lr-head .see{margin-left:2px;font-size:13px;font-weight:600;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;transition:color .15s}
.lr-head .see:hover{color:var(--accent)}
.lr-arr{margin-left:auto;display:none;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.04)}
.lr-arr button{width:40px;height:32px;display:grid;place-items:center;color:#cfe0ff;background:none;border:0;cursor:pointer;transition:background .15s}
.lr-arr button+button{border-left:1px solid rgba(255,255,255,.08)}
.lr-arr button:hover:not(:disabled){background:rgba(255,255,255,.09)}
.lr-arr button:disabled{opacity:.35;cursor:default}
@media (min-width:821px){
  .lr-arr{display:flex}
  .page .lr-track.game-grid{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px 8px;margin:0 -2px}
  .lr-track::-webkit-scrollbar{display:none}
  .lr-track .gcard{flex:0 0 calc((100% - 6*14px)/7)!important;min-width:132px;width:auto!important;aspect-ratio:3/4.1!important;scroll-snap-align:start}
  .lr-track .gcard .gart{inset:14px 8px 62px 8px!important}
  .lr-track .gcard .gname{font-size:17px!important;white-space:normal;line-height:1.1}
}

/* ---------- v33: bet details pop-up ---------- */
.modal.bcm{padding:0;max-width:460px;overflow:hidden;background:#1A2340;border:1px solid rgba(255,255,255,.08)}
.bc{max-height:86vh;overflow-y:auto;padding:0 0 16px}
.bc-load{padding:36px 20px;text-align:center;color:var(--muted)}
.bc-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
.bc-head b{font-family:var(--display);font-size:20px}
.bc-x{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#cfd8ee;border:0;cursor:pointer}
.bc-x:hover{background:rgba(255,255,255,.14)}
.bc-top{display:flex;gap:14px;padding:16px 18px 6px}
.bc-art{flex:none;width:92px;aspect-ratio:3/4;border-radius:12px;overflow:hidden;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.bc-art svg{width:92%;height:auto}
.bc-meta{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:13px}
.bc-g{font-family:var(--display);font-size:19px}
.bc-id{margin-top:6px;display:flex;align-items:center;gap:6px}
.bc-id button{display:grid;place-items:center;color:var(--muted);background:none;border:0;cursor:pointer;padding:2px}
.bc-by{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.bc-u{color:#fff}
.bc-tbl{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 18px 0;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.05);text-align:center}
.bc-tbl>div{padding:10px 6px}.bc-tbl>div+div{border-left:1px solid rgba(255,255,255,.07)}
.bc-tbl small{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.bc-tbl b{font-size:15px}
.bc-body{padding:16px 18px 4px;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.bc-play{margin:12px 18px 0;width:calc(100% - 36px)}
.bc-vis{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.bc-chip{display:inline-block;padding:2px 12px;border-radius:8px;background:rgba(255,255,255,.1);font-weight:800;font-size:13px}
.bc-chip.win{background:#2FD27A;color:#04210F}.bc-chip.loss{background:rgba(255,84,112,.22);color:#FF8CA0}.bc-chip.push{background:#F5C242;color:#241800}
.bc-hand,.bc-side{display:flex;flex-direction:column;align-items:center;gap:8px}
.bc-cards{display:flex;gap:6px;justify-content:center}
.bc-cards .pcard{width:52px;height:74px;font-size:12px;flex:none}
.bc-vis.bj,.bc-vis.bac{flex-direction:column;align-items:center;gap:12px}
.bc-vis.bac{flex-direction:row;align-items:flex-start;justify-content:space-around;gap:8px}
.bc-sep{width:60%;height:1px;background:rgba(255,255,255,.08)}
.bc-ribbon{font-size:11px;font-weight:800;letter-spacing:.12em;padding:5px 18px;background:#121A33;border-radius:4px;color:#cfd8ee}
.bc-side.won .bc-ribbon{background:#1E6B47;color:#fff}.bc-side.won .pcard{box-shadow:0 0 0 2px #2FD27A}
.bc-note{text-align:center;font-size:13px;color:var(--muted);font-weight:700}
.bc-stats{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:8px}
.bc-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 6px;text-align:center}
.bc-stat small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.bc-stat b{font-size:15px;text-transform:capitalize}
.bc-vis.keno{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.kc{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);font-weight:700;font-size:13px;color:#cfd8ee}
.kc.drawn{background:linear-gradient(#8E8BFF,#5B57E6);color:#fff;border-color:transparent}
.kc.pick{border-color:#8E8BFF;color:#fff}
.kc.hit{background:linear-gradient(#12331F,#0C2216);border-color:#2FD27A;color:#fff}
.kc.hit i{position:absolute;inset:4px;border-radius:6px;background:radial-gradient(circle at 35% 30%,#7BFFB6,#19B567 60%,#0B6B3A);opacity:.9;z-index:-1}
.kc{isolation:isolate}
.bc-vis.mines{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:320px;margin:4px auto;padding:12px;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.07)}
.mnc{aspect-ratio:1;display:grid;width:100%;place-items:center;border-radius:10px;background:linear-gradient(180deg,#2a3558,#202a49);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 2px 0 rgba(255,255,255,.07),0 2px 0 rgba(0,0,0,.35)}
.mnc svg{width:62%;height:auto;display:block}
.mnc.mine svg{opacity:.85}.mnc.dim{opacity:.4}.mnc.dim svg{filter:grayscale(.6)}
.mnc.open{background:linear-gradient(180deg,#1f8f6a,#136a50);border-color:#46e6a6;box-shadow:0 0 14px rgba(70,230,166,.5),inset 0 2px 0 rgba(255,255,255,.2)}
.mnc.open svg{filter:drop-shadow(0 0 5px rgba(91,233,255,.8))}
.bc-vis.dice{display:block;position:relative;padding:34px 4px 4px}
.bc-roll{position:absolute;top:0;transform:translateX(-50%);font-size:12px;background:#E9EEFF;color:#10162B;padding:6px 8px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.bc-roll b.pos{color:#0A7A3B}.bc-roll b.neg{color:#C2223F}
.bc-bar{position:relative;height:14px;border-radius:99px;overflow:hidden;background:#222}
.bc-bar i{position:absolute;top:0;bottom:0;left:0}.bc-bar s{position:absolute;top:-2px;bottom:-2px;width:3px;margin-left:-1px;background:#fff}
.bc-ticks{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}
.bc-big{width:100%;text-align:center;font-family:var(--display);font-size:54px;padding:18px;border-radius:14px;background:#17214A}
.bc-big.pos{color:#7CF2B6}.bc-big.neg{color:#FF8CA0}
.bc-vis.cf,.bc-vis.rou{flex-direction:column;align-items:center}
.bc-coin{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:34px;color:#4a3000;background:radial-gradient(circle at 35% 30%,#FFF1B0,#FFC24B 60%,#B8770C);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.bc-coin.t{background:radial-gradient(circle at 35% 30%,#F4F7FF,#B9C4DE 60%,#6F7B9B);color:#1B2442}
.bc-rn{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:36px;color:#fff;border:4px solid rgba(255,255,255,.25)}
.bc-rn.red{background:#C2223F}.bc-rn.black{background:#141A2E}.bc-rn.green{background:#14924F}
.bc-bets{display:flex;flex-direction:column;gap:6px}
.bc-bet{display:flex;justify-content:space-between;padding:8px 12px;border-radius:9px;background:rgba(255,255,255,.04);font-size:13px;border:1px solid transparent}
.bc-bet.won{border-color:#2FD27A;background:rgba(47,210,122,.1)}
.bc-vis.slotg{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.sg-c{display:flex;flex-direction:column;gap:6px}
.sg-c .sym{height:52px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.05);font-size:26px}
.sg-c .sym svg{width:80%;height:80%}
@media (max-width:480px){ .bc-top{gap:10px}.bc-art{width:78px}.bc-vis.keno{gap:4px}.bc-cards .pcard{width:46px;height:66px} .bc-big{font-size:44px} }

/* smoother live feeds */
.lw-new{animation:none!important;overflow:visible!important}
.live-table tr.in{animation:none!important}
.lw-item,.live-table tr{will-change:transform}
.bc .bc-play{margin:14px 18px 0!important;width:auto!important;display:flex;justify-content:center}
@media (min-width:821px){ .page .lr-track.game-grid{justify-content:flex-start!important} .lr-track .gcard{margin:0!important} }
@media (max-width:820px){ .lr-head .lr-t{font-size:17px} .lr-head .see{font-size:12px} .lrow{margin-bottom:6px} }

/* ---------- v34: phone lobby = swipeable rows, 4 cards visible, arrows (like the reference) ---------- */
body.guest .bottom-nav [data-go=chat]{display:none!important}
.bottom-nav button{min-width:0}
@media (max-width:820px){
  .lr-arr{display:flex}
  .lr-arr button{width:36px;height:30px}
  .lrow{margin-bottom:14px}
  .lr-head{margin-bottom:10px!important}
  .page .lr-track.game-grid{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 0 4px;margin:0;justify-content:flex-start!important}
  .lr-track::-webkit-scrollbar{display:none}
  .page .lr-track .gcard{flex:0 0 calc((100% - 24px)/4)!important;width:auto!important;min-width:0;aspect-ratio:3/4.1!important;scroll-snap-align:start;margin:0!important}
  .page .lr-track .gcard .gart{inset:12px 3px 40px 3px!important}
}
.lrow{width:100%;align-self:stretch;min-width:0}
@media (min-width:821px){ .lr-track .gcard{flex:0 0 clamp(138px,calc((100% - 6*14px)/7),178px)!important} }
.lobby-wrap{width:100%;min-width:0}

/* v35: rows fill the page width; card count grows with width so cards never get huge or leave empty space */
.lrow{width:100%;align-self:stretch;container-type:inline-size;container-name:lrow}
@media (min-width:821px){
  .lr-track .gcard{flex:0 0 calc((100% - 5*14px)/6)!important}
}
@container lrow (min-width:1000px){ .lr-track .gcard{flex:0 0 calc((100% - 6*14px)/7)!important} }
@container lrow (min-width:1250px){ .lr-track .gcard{flex:0 0 calc((100% - 7*14px)/8)!important} }
@container lrow (min-width:1550px){ .lr-track .gcard{flex:0 0 calc((100% - 9*14px)/10)!important} }
@container lrow (min-width:1900px){ .lr-track .gcard{flex:0 0 calc((100% - 11*14px)/12)!important} }
@media (max-width:820px){ .lr-track .gcard{flex:0 0 calc((100% - 24px)/4)!important} }
.lobby-rows{width:100%;align-self:stretch}
.lobby-wrap{width:100%!important;max-width:none!important;align-self:stretch!important}
.page .lr-track.game-grid,.lr-head{max-width:none!important;width:auto}
.page .lr-track.game-grid{margin-left:-2px;margin-right:-2px}

/* v36: keep cards a fixed, compact size on desktop; wider screens just show more of them */
@media (min-width:821px){
  .page .lr-track .gcard,
  .lr-track .gcard{flex:0 0 140px!important;width:140px!important;min-width:140px!important;aspect-ratio:3/4.1!important}
  .lr-track .gcard .gname{font-size:15px!important}
  .lr-track .gcard .gart{inset:12px 6px 56px 6px!important}
}
@container lrow (min-width:1000px){ .lr-track .gcard{flex:0 0 140px!important} }
@container lrow (min-width:1250px){ .lr-track .gcard{flex:0 0 140px!important} }
@container lrow (min-width:1550px){ .lr-track .gcard{flex:0 0 140px!important} }
@container lrow (min-width:1900px){ .lr-track .gcard{flex:0 0 140px!important} }

/* v37: the lobby is a centred column; rows show 8 cards that fill it exactly (swipe/arrows for the rest) */
.page.lobby-page{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;width:100%}
@media (min-width:821px){
  .page .lr-track .gcard,.lr-track .gcard{flex:0 0 calc((100% - 7*12px)/8)!important;width:auto!important;min-width:0!important}
  .page .lr-track.game-grid{gap:12px!important}
  .lr-track .gcard .gname{font-size:14px!important}
}
@container lrow (min-width:0px){ .lr-track .gcard{flex:0 0 calc((100% - 7*12px)/8)!important} }
@container lrow (min-width:1000px){ .lr-track .gcard{flex:0 0 calc((100% - 7*12px)/8)!important} }
@container lrow (min-width:1250px){ .lr-track .gcard{flex:0 0 calc((100% - 7*12px)/8)!important} }
@container lrow (min-width:1550px){ .lr-track .gcard{flex:0 0 calc((100% - 7*12px)/8)!important} }
@container lrow (min-width:1900px){ .lr-track .gcard{flex:0 0 calc((100% - 7*12px)/8)!important} }
@media (min-width:821px) and (max-width:1200px){ .lr-track .gcard{flex:0 0 calc((100% - 5*12px)/6)!important} }
.lobby-page .lobby-bar{max-width:none!important;justify-content:flex-start!important;margin-left:0!important;margin-right:0!important}
/* v38 banner slot machine: lever pull */
.hero-art .hh-c .sl-lever{transform-box:view-box;transform-origin:149px 92px}
.hero-art .hh-c.pull .sl-lever{animation:slpull .7s ease-in-out}
@keyframes slpull{0%{transform:scaleY(1)}45%{transform:scaleY(-.75)}70%{transform:scaleY(-.75)}100%{transform:scaleY(1)}}
.hero-art .hh-c text{transition:opacity .1s}
.hero-art .hh-mult{fill:#8B7BFF!important;filter:drop-shadow(0 0 4px rgba(139,123,255,.55))}
/* v39 sidebar always open on desktop */
.side-toggle{display:none!important}
.app.mini .side{width:auto!important}
/* v40 phone: space between search and game rows */
@media(max-width:820px){
  .lobby-page .lobby-bar{margin-bottom:18px!important}
  .lobby-page .lobby-bar .search,.lobby-page .search{margin-bottom:6px!important}
  .lobby-page .lobby-wrap,.lobby-page .lrow:first-child{margin-top:14px!important}
}
/* v41 raffle banner: tickets pill sits on its own line above the action */
.rf-act .rf-have{flex:0 0 100%;display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:var(--text,#fff);font-size:13px}
@media(max-width:860px){.rf-act .rf-have{margin:0 auto}}
/* v42 footer must not jump up while a page is loading/switching */
.main>.page,.main>section.page{min-height:calc(100dvh - 120px)}
.main>.vfoot{opacity:0;animation:vfin .25s ease .45s forwards}
@keyframes vfin{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.main>.vfoot{animation:none;opacity:1}}
/* v43 phone top bar when signed in: balance pill, wallet/plus, avatar only (bell lives in the profile menu) */
.pm-i .pm-n{margin-left:auto;background:#ef4565;color:#fff;font-style:normal;font-size:12px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-grid;place-items:center}
.pm-i.pm-noti{display:flex;align-items:center;gap:6px}
@media(max-width:860px){
  body:not(.guest) #notiBtn,body:not(.guest) #giftBtn,body:not(.guest) #chatBtn{display:none!important}
  body:not(.guest) .top{gap:8px;padding:0 12px}
  body:not(.guest) .top-right{margin-left:0}
  .vip-chip{position:relative}
  .vip-chip.has-noti::after{content:"";position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#ef4565;border:2px solid var(--bg2,#0d1224)}
}
/* v44 phone top bar: logo left, balance + wallet/plus + avatar right */
@media(max-width:860px){
  .top{display:flex!important;align-items:center}
  .top-left{display:flex!important;flex:0 0 auto}
  .top-left .hamb{display:none!important}
  .top .logo-mini{display:block!important;width:30px;height:30px}
  .top .wallet{margin-left:auto!important;justify-self:auto!important}
  .top-right{flex:0 0 auto}
}
/* v45 larger, cleaner wordmark */
.side .logo{height:60px!important;gap:12px!important;padding:0 18px!important}
.side .logo img{width:38px!important;height:38px!important;filter:drop-shadow(0 3px 12px rgba(139,123,255,.28))!important}
.logo-word{position:relative;font-family:var(--display);font-weight:900!important;font-size:23px!important;letter-spacing:.05em!important;line-height:1;color:#fff}
.logo-word span{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:#8B7BFF!important;-webkit-text-fill-color:#8B7BFF!important}
.auth-logo img{width:48px;height:48px}.auth-logo .logo-word{font-size:26px!important}
.app.mini .side .logo{height:60px!important}
/* v46 sidebar raffle: dark card with a subtle glow instead of a full gradient */
.sb-raffle{background:radial-gradient(130px 70px at 12% 0%,rgba(160,110,255,.28),transparent 75%),#161a35!important;border:1px solid rgba(160,130,255,.22);box-shadow:0 0 18px rgba(130,90,255,.16)!important}
.sb-raffle:hover{filter:none!important;border-color:rgba(160,130,255,.4);box-shadow:0 0 22px rgba(130,90,255,.26)!important}
/* v47 remove daily/weekly chips under the sidebar raffle */
.sb-chips{display:none!important}
/* v48 live bets table: Game / Player / Bet amount / Multiplier / Payout with an up/down chip, same table on the lobby and every game page */
.lb-panel .live-table{border-collapse:separate;border-spacing:0 6px;padding:0 10px}
.lb-panel .live-table th{border:0!important;padding:8px 12px 2px!important;color:#7f89aa}
.lb-panel .live-table td{border:0!important;padding:11px 12px!important;background:transparent;vertical-align:middle}
.lb-panel .live-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.035)}
.lb-panel .live-table tbody tr td:first-child{border-radius:10px 0 0 10px}.lb-panel .live-table tbody tr td:last-child{border-radius:0 10px 10px 0}
.lb-panel .live-table tbody tr[data-id]{cursor:pointer}.lb-panel .live-table tbody tr[data-id]:hover td{background:rgba(255,255,255,.07)}
.live-table .c-game{font-weight:700;color:#e8ecfb;max-width:none!important;white-space:nowrap}
.live-table .c-game .gi,.live-table .c-game .gt{display:inline-block;vertical-align:middle}.live-table .c-game .gi{width:22px;height:22px;margin-right:9px;line-height:22px;text-align:center}.live-table .c-game .gi svg{width:22px;height:22px;display:block}
.live-table .c-user{color:#aeb7d6;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-table td.dim{color:#8b94b3!important}
.live-table .c-pay{white-space:nowrap}.live-table .c-pay span{vertical-align:middle}
.live-table .c-pay .arr{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:8px;border-radius:7px;vertical-align:middle;background:rgba(255,255,255,.07);color:#8b94b3}
.live-table .c-pay.pos .arr{color:#8B7BFF;background:rgba(139,123,255,.14)}
.live-table .c-pay.pos{color:#8B7BFF;font-weight:700}
@media(max-width:560px){.lb-panel .live-table{padding:0 4px}.live-table .c-user{display:none}.lb-panel .live-table th.c-user{display:none}.lb-panel .live-table td{padding:10px 6px!important}.live-table .c-pay .arr{width:20px;height:20px;margin-left:5px}.live-table .c-game .gt{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* v49 races: sidebar group, race page, leaderboards page */
.nav-promo .nav-sub .nav-item{position:relative}
.rc-item{display:flex!important;align-items:center;gap:10px}
.rc-item .rc-ic{color:#FFC24B}
.rc-item .rc-nl{display:flex;flex-direction:column;line-height:1.15;text-align:left;flex:1;min-width:0}
.rc-item .rc-nl b{font-size:14px;color:#fff;font-weight:800}.rc-item .rc-nl small{font-size:12px;color:#8e98b8}
.rc-t{font-style:normal;font-size:12px;font-weight:700;padding:3px 8px;border-radius:8px;border:1px solid rgba(255,194,75,.45);color:#FFD76B;background:rgba(255,194,75,.08);font-variant-numeric:tabular-nums;white-space:nowrap}
.rc-tag{font-style:normal;margin-left:auto;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:8px;border:1px solid rgba(160,130,255,.5);color:#cdb8ff;background:rgba(130,90,255,.12)}
.rc-dot{width:8px;height:8px;border-radius:50%;background:#ef4565;margin-left:auto;margin-right:6px;box-shadow:0 0 8px rgba(239,69,101,.7)}
.nav-promo .nav-head{position:relative}
.rc-page{max-width:900px;margin-left:auto;margin-right:auto}
.rc-ban{position:relative;display:flex;justify-content:space-between;gap:16px;padding:26px 28px;border-radius:16px;overflow:hidden;border:1.5px solid rgba(255,194,75,.55);background:radial-gradient(520px 220px at 18% 0%,rgba(255,194,75,.20),transparent 70%),linear-gradient(120deg,#2a1d0a,#171226 70%);box-shadow:0 0 30px rgba(255,170,40,.10)}
.rc-bl{position:relative;z-index:1;min-width:0}
.rc-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.rc-title b{font-size:38px;font-style:italic;font-weight:900;color:#fff;letter-spacing:-.01em}
.rc-title span{font-size:24px;font-style:italic;font-weight:900;color:#FFD76B;letter-spacing:.02em;border-bottom:3px solid rgba(255,194,75,.6);padding-bottom:2px}
.rc-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rc-seg{display:inline-flex;padding:3px;border-radius:10px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08)}
.rc-seg button,.rc-how-b,.rc-view button,.rc-pg button{padding:8px 16px;border-radius:8px;font-weight:700;font-size:13px;color:#b9c1dc;background:transparent}
.rc-seg button.on,.rc-view button.on{background:#e8890c;color:#fff}
.rc-how-b{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1)}
.rc-br{position:relative;z-index:1;text-align:right;display:flex;flex-direction:column;gap:8px;align-items:flex-end;padding-right:92px}
.rc-br small{font-style:italic;font-weight:700;color:#e9dfc2;font-size:13px;letter-spacing:.02em}
.rc-cd{display:flex;gap:8px}
.rc-cd>div{min-width:48px;padding:7px 6px;border-radius:8px;text-align:center;border:1.5px solid rgba(255,214,120,.65);background:rgba(0,0,0,.35)}
.rc-cd b{display:block;font-size:20px;font-style:italic;color:#fff;line-height:1.1}
.rc-cd small{font-size:11px;text-transform:uppercase;color:#FFD76B;font-weight:800;letter-spacing:.05em}
.rc-flag{position:absolute;right:6px;top:-6px;width:130px;height:130px;z-index:0;opacity:.95;transform:rotate(6deg)}
.rc-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 10px;flex-wrap:wrap}
.rc-view{display:inline-flex;padding:3px;border-radius:10px;background:rgba(255,255,255,.05)}
.rc-upd{font-size:12px;color:#8e98b8}.rc-upd b{color:#fff}
.rc-me{padding:12px 16px;border-radius:12px;background:rgba(255,194,75,.08);border:1px solid rgba(255,194,75,.25);margin-bottom:12px;font-size:14px}
.rc-me .gold,.gold{color:#FFD76B}
.rc-note{font-size:13px;color:#aab3d6;margin:0 0 10px}
.rc-table{display:flex;flex-direction:column;gap:6px}
.rc-head,.rc-row{display:grid;grid-template-columns:54px 1fr 120px 120px;align-items:center;gap:8px;padding:0 14px}
.rc-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7f89aa;font-weight:700;padding-bottom:4px}
.rc-head .r,.rc-pt,.rc-pz{text-align:right}
.rc-row{min-height:46px;border-radius:10px;background:rgba(255,255,255,.04)}
.rc-row:nth-child(even){background:rgba(255,255,255,.025)}
.rc-row.me{background:rgba(139,123,255,.10);box-shadow:inset 0 0 0 1px rgba(139,123,255,.35)}
.rc-rk{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;font-weight:800;font-size:13px;color:#b9c1dc;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.rc-rk.r1{color:#2a1d0a;background:linear-gradient(135deg,#FFE9A8,#F2A41C);border:0}.rc-rk.r2{color:#1d2433;background:linear-gradient(135deg,#f1f4fb,#a9b4cc);border:0}.rc-rk.r3{color:#2a1608;background:linear-gradient(135deg,#f3c196,#c27a3e);border:0}
.rc-pl{display:flex;align-items:center;gap:8px;min-width:0}.rc-un{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.rc-pz{color:#FFD76B;font-weight:700}
.rc-pg{display:flex;gap:6px;justify-content:center;margin:16px 0 4px}
.rc-pg button{min-width:38px;padding:8px 10px;background:rgba(255,255,255,.06)}.rc-pg button.on{background:#e8890c;color:#fff}.rc-pg button:disabled{opacity:.35}
.rc-foot{font-size:12px;margin:14px 0 0}
.rc-how{margin:0;padding-left:18px;font-size:14px;line-height:1.6}.rc-how li{margin-bottom:4px}
@media(max-width:700px){
  .rc-ban{flex-direction:column;padding:18px 16px}.rc-title b{font-size:30px}.rc-title span{font-size:19px}
  .rc-br{align-items:flex-start;text-align:left;padding-right:0}.rc-flag{width:96px;height:96px;right:2px;top:-4px}
  .rc-head,.rc-row{grid-template-columns:40px 1fr 84px 78px;padding:0 8px;gap:6px}.rc-row{font-size:13px}.rc-cd>div{min-width:44px}
  .rc-seg button,.rc-how-b{padding:7px 11px}
}
/* leaderboards page */
.lb2-k{margin-bottom:10px}
.lb2-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.lb2-cd{display:flex;flex-direction:column;text-align:right}.lb2-cd small{font-size:12px;color:#8e98b8}.lb2-cd b{font-size:17px}
.lb2-pod{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;align-items:end;margin:12px 0}
.lb2-p{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);text-align:center;min-width:0}
.lb2-p.p1{padding:24px 8px;background:radial-gradient(200px 120px at 50% 0%,rgba(255,194,75,.2),transparent 70%),rgba(255,255,255,.05);border-color:rgba(255,194,75,.4)}
.lb2-p.me{box-shadow:inset 0 0 0 1px rgba(139,123,255,.5)}
.lb2-m{font-size:28px}.lb2-n{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb2-v{font-size:18px}.lb2-p small{color:#8e98b8;font-size:12px}
.lb2-list{margin-top:6px}.lb2-val{font-weight:700}
@media(max-width:560px){.lb2-pod{gap:6px}.lb2-p{padding:12px 4px}.lb2-p.p1{padding:18px 4px}.lb2-m{font-size:22px}.lb2-v{font-size:14px}.lb2-n{font-size:12px}}
.rw.race .rw-ic{background:rgba(255,194,75,.16)}
/* v50 login / register sit on the right of the top bar */
.top-right{margin-left:auto!important;justify-self:end!important}
.top .wallet+.top-right{margin-left:0!important}
@media(max-width:860px){body.guest .top .top-right{margin-left:auto!important}}
@media(min-width:861px){.top .top-right{grid-column:3;justify-self:end}}

/* ---- v51: Blackjack Lobby ---- */
.bjl-info{background:var(--panel-2,rgba(255,255,255,.04));border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.bjl-info h3{margin:0 0 4px;font-size:16px}.bjl-info p{margin:0 0 8px;font-size:13px;line-height:1.5}
.bjl-ctrlbtns{display:flex;gap:8px;flex-wrap:wrap}
.bjl-ins{margin-top:10px;padding:10px;border:1px solid rgba(231,194,98,.5);border-radius:12px;background:rgba(231,194,98,.08)}.bjl-ins p{margin:0 0 8px;font-size:13px}
.bjl-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bjl-fair{margin-top:12px;font-size:12px}.bjl-fair summary{cursor:pointer;color:var(--muted)}.bjl-fair .mono{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;word-break:break-all;margin:4px 0}
.bjl-stage{padding:0!important;background:none!important;border:0!important;min-height:0!important}
.bjl-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.bjl-tcard{text-align:left;background:linear-gradient(160deg,#12805A,#0A3D2C);border:1px solid rgba(231,194,98,.35);border-radius:16px;padding:16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}
.bjl-tcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.4)}
.tc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.tc-top b{font-size:17px}
.tc-live{font-size:12px;display:flex;align-items:center;gap:6px;opacity:.9}
.tc-seats{display:flex;gap:8px}.tc-seats i{width:22px;height:22px;border-radius:50%;border:2px dashed rgba(231,194,98,.6)}.tc-seats i.on{background:#E7C262;border-style:solid;border-color:#E7C262}
.tc-lim{display:flex;gap:16px;font-size:13px;opacity:.95}.tc-names{font-size:12px;opacity:.75;min-height:16px}
.tc-go{align-self:flex-start;margin-top:4px}
.rc-tag.live{background:rgba(53,227,154,.15);color:#35E39A}

.bjl-scene{position:relative;container-type:inline-size;width:100%;aspect-ratio:1000/720;border-radius:18px;overflow:hidden;background:#0A1A18;user-select:none;--cw:6.6cqw;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.bjl-felt{position:absolute;inset:0;width:100%;height:100%}.bjl-felt.tall{display:none}
.bjl-arc{fill:#E7C262;font-family:Georgia,"Times New Roman",serif;letter-spacing:3px;opacity:.88}
.bjl-arc.a1{font-size:30px;font-weight:700}.bjl-arc.a2{font-size:21px;font-style:italic;letter-spacing:1px;opacity:.75}.bjl-arc.a3{font-size:22px;letter-spacing:2px;opacity:.8}
.bjl-dealer{position:absolute;left:50%;top:-1cqw;width:21cqw;transform:translateX(-50%);filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));pointer-events:none}
.bjd-svg{width:100%;display:block;animation:bjdBreath 4s ease-in-out infinite}
@keyframes bjdBreath{50%{transform:translateY(.6%)}}
.bjd-eyes{transform-box:view-box;transform-origin:110px 96px;animation:bjdBlink 5.2s infinite}
@keyframes bjdBlink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.08)}}
.bjd-arm{transform-box:view-box;transform-origin:172px 180px}
.bjl-dealer.flick .bjd-arm{animation:bjdFlick .42s ease-out}
@keyframes bjdFlick{0%{transform:rotate(0)}35%{transform:rotate(-26deg) translateY(-6px)}100%{transform:rotate(0)}}
.bjl-dealer.flick .bjd-mouth{animation:bjdSmile .42s}
@keyframes bjdSmile{50%{transform:translateY(1px)}}
.bjl-shoe{position:absolute;right:17cqw;top:4cqw;width:12cqw;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5));pointer-events:none}.bjl-shoe-svg{width:100%;display:block}
.bjl-dhand{position:absolute;left:50%;top:25.5cqw;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.8cqw;min-height:calc(var(--cw)*1.4)}
.bjl-cards{display:flex;align-items:flex-start;justify-content:center;min-height:0}
.bjl-cards .pcard.bj3{width:var(--cw);height:calc(var(--cw)*1.4);padding:calc(var(--cw)*.07) calc(var(--cw)*.09);border-radius:calc(var(--cw)*.12);margin-left:calc(var(--cw)*-.5);animation:none!important;box-shadow:0 .5cqw 1.2cqw rgba(0,0,0,.45);flex:none}
.bjl-cards .pcard.bj3:first-child{margin-left:0}
.bjl-cards .pcard.bj3:not(:last-child) .bigsuit{display:none!important}
.bjl-cards .pcard.bj3.back{border-width:calc(var(--cw)*.05)}
.bjl-tot{background:rgba(8,12,24,.82);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.2cqw 1cqw;font-size:max(11px,1.7cqw);font-weight:800;line-height:1.3;white-space:nowrap}
.bjl-tot.bust{background:#C92D45;border-color:#FF8294}.bjl-tot.bj{background:#E7C262;color:#201808;border-color:#fff}
.bjl-timer{position:absolute;left:3cqw;top:7.5cqw;width:9cqw;height:9cqw;display:grid;place-items:center}
.bjl-timer svg{position:absolute;inset:0;transform:rotate(-90deg)}
.bjl-timer .tr-bg{fill:rgba(0,0,0,.35);stroke:rgba(255,255,255,.18);stroke-width:5}.bjl-timer .tr-fg{fill:none;stroke:#E7C262;stroke-width:5;stroke-linecap:round;transition:stroke .2s}
.bjl-timer b{position:relative;font-size:max(14px,3cqw);color:#fff}.bjl-timer.low .tr-fg{stroke:#FF5470}.bjl-timer.low b{color:#FF8294}
.bjl-msg{position:absolute;left:2cqw;top:2cqw;background:rgba(8,12,24,.72);border:1px solid rgba(231,194,98,.5);color:#E7C262;font-weight:800;letter-spacing:.14em;font-size:max(11px,1.55cqw);padding:.7cqw 2cqw;border-radius:999px;white-space:nowrap}
.bjl-msg.you{background:#E7C262;color:#201808;animation:bjMsgPulse 1s infinite}
@keyframes bjMsgPulse{50%{box-shadow:0 0 0 .8cqw rgba(231,194,98,.25)}}
.bjl-seat{position:absolute;width:17cqw;height:0;transform:translateX(-50%)}
.bjl-seat.s0{left:11%;top:68%}.bjl-seat.s1{left:30.5%;top:77%}.bjl-seat.s2{left:50%;top:83%}.bjl-seat.s3{left:69.5%;top:77%}.bjl-seat.s4{left:89%;top:68%}
.bs-hands{position:absolute;left:50%;bottom:4.5cqw;transform:translateX(-50%);display:flex;gap:1.4cqw;align-items:flex-end}
.bs-hand{display:flex;flex-direction:column;align-items:center;gap:.4cqw;position:relative;padding:.3cqw}
.bs-hand .bjl-cards{order:1}.bs-hand .bjl-tot{order:2}.bs-hbet{order:3;font-style:normal;font-size:max(10px,1.3cqw);color:#E7C262}.bs-hbet:empty{display:none}
.bjl-seat.turn .bs-hand{outline:2px solid #E7C262;border-radius:10px;box-shadow:0 0 2cqw rgba(231,194,98,.5)}
.bs-spot{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.8cqw}
.bs-chip{width:5.8cqw;height:5.8cqw;border-radius:50%;border:2px dashed rgba(231,194,98,.65);display:grid;place-items:center;color:#fff;font-weight:800;font-size:max(10px,1.5cqw);transition:all .25s}
.bs-chip.on{border:.5cqw solid #fff;background:radial-gradient(circle,#E94B64 0 55%,#B02A42 56%);box-shadow:0 .5cqw 1.2cqw rgba(0,0,0,.5),inset 0 0 0 .35cqw rgba(255,255,255,.25);animation:bjChip .3s}
@keyframes bjChip{from{transform:translateY(-3cqw) scale(1.2);opacity:0}}
.bs-side{width:3.6cqw;height:3.6cqw;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#3C2F8F;border:.3cqw solid #fff;color:#fff;line-height:1.05;position:relative}
.bs-side small{font-size:max(7px,.85cqw);font-weight:800}.bs-side b{font-size:max(8px,1cqw)}
.bs-side.t3{background:#1C6FA8}.bs-side.win{box-shadow:0 0 1.6cqw #35E39A;border-color:#35E39A}.bs-side.lose{opacity:.55}
.bs-side em{position:absolute;top:-1.6cqw;font-style:normal;background:#35E39A;color:#062417;font-size:max(9px,1.1cqw);font-weight:800;border-radius:999px;padding:0 .6cqw}
.bs-sit{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:6.4cqw;height:6.4cqw;border-radius:50%;border:2px solid #E7C262;background:rgba(0,0,0,.35);color:#E7C262;font-weight:800;font-size:max(11px,1.6cqw);cursor:pointer;animation:bjSit 2s infinite}
.bs-sit:hover{background:#E7C262;color:#201808}.bs-sit[hidden],.bs-side[hidden]{display:none}
@keyframes bjSit{50%{box-shadow:0 0 0 1cqw rgba(231,194,98,.18)}}
.bjl-seat:not(.empty) .bs-sit{display:none}
.bs-name{position:absolute;left:50%;top:3.5cqw;transform:translateX(-50%);max-width:17cqw;display:flex;align-items:center;gap:.5cqw;font-size:max(10px,1.45cqw);font-weight:700;color:#fff;background:rgba(8,12,24,.7);padding:.3cqw 1.1cqw;border-radius:999px;white-space:nowrap}
.bs-name:empty{display:none}.bs-name span{overflow:hidden;text-overflow:ellipsis}.bjl-seat.you .bs-name{background:#E7C262;color:#201808}
.bs-tag{position:absolute;left:50%;top:7.6cqw;transform:translateX(-50%);white-space:nowrap;font-size:max(10px,1.4cqw);font-weight:800}
.bs-tag span{display:inline-block;padding:.2cqw 1cqw;border-radius:999px;background:rgba(8,12,24,.85);color:#fff}.bs-tag .w{background:#1FBF7A;color:#04210F}.bs-tag .l{background:#C92D45}.bs-tag .p{background:#6C7596}.bs-tag .t{background:#E7C262;color:#201808}
@media (max-width:760px){
  .bjl-felt.wide{display:none}.bjl-felt.tall{display:block}
  .bjl-scene{aspect-ratio:1000/1130;--cw:11.6cqw;border-radius:14px}
  .bjl-arc.a1{font-size:40px}.bjl-arc.a2{font-size:28px}.bjl-arc.a3{font-size:30px}
  .bjl-dealer{width:38cqw;top:-2cqw}.bjl-shoe{right:3cqw;top:9cqw;width:20cqw}
  .bjl-dhand{top:36cqw}.bjl-timer{left:3cqw;top:13cqw;width:17cqw;height:17cqw}.bjl-timer b{font-size:5.4cqw}
  .bjl-msg{left:3cqw;top:3cqw;font-size:max(10px,2.8cqw);padding:1.1cqw 3.2cqw}
  .bjl-tot{font-size:max(11px,3.3cqw);padding:.4cqw 1.8cqw}
  .bjl-seat{width:20cqw}.bjl-seat.s0{left:11%;top:70%}.bjl-seat.s1{left:30%;top:77%}.bjl-seat.s2{left:50%;top:81%}.bjl-seat.s3{left:70%;top:77%}.bjl-seat.s4{left:89%;top:70%}
  .bs-hands{bottom:8cqw}.bs-chip{width:9cqw;height:9cqw;font-size:max(10px,2.6cqw)}.bs-spot{gap:.5cqw}
  .bs-side{width:5.2cqw;height:5.2cqw}.bs-side small{font-size:max(7px,1.6cqw)}.bs-side b{font-size:max(8px,1.9cqw)}.bs-side em{font-size:max(9px,2.2cqw);top:-3.4cqw}
  .bs-sit{width:11cqw;height:11cqw;font-size:max(11px,3cqw)}
  .bs-name{top:6.4cqw;font-size:max(10px,2.6cqw);max-width:22cqw;padding:.5cqw 1.6cqw}.bs-name .vtag{display:none}.bs-tag{top:13.6cqw;font-size:max(10px,2.5cqw)}
  .bs-hbet{font-size:max(10px,2.4cqw)}
}
.act-grid [hidden]{display:none!important}
.bj-out .bo-a .bo-x{font-style:normal;margin-left:8px;padding:2px 9px;border-radius:999px;background:rgba(255,200,61,.16);border:1px solid rgba(255,200,61,.55);color:#FFC83D;font-size:.8em;font-weight:800;white-space:nowrap}
.outcome.corner{z-index:12}
.bjl-cards[data-n="4"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.68)}
.bjl-cards[data-n="5"] .pcard.bj3:not(:first-child),.bjl-cards[data-n="6"] .pcard.bj3:not(:first-child),.bjl-cards[data-n="7"] .pcard.bj3:not(:first-child),.bjl-cards[data-n="8"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.78)}
.bjl-hint{font-size:12px;margin:8px 0 0!important}.bjl-hint:empty{display:none}
.bs-x{position:absolute;left:calc(50% + 3.4cqw);top:-6cqw;width:3.2cqw;height:3.2cqw;min-width:18px;min-height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(8,12,24,.8);color:#fff;font-size:max(12px,2cqw);line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.bs-x:hover{background:#C92D45}.bs-x[hidden]{display:none}
.bjl-seat.s0{left:14%}.bjl-seat.s1{left:32%}.bjl-seat.s3{left:68%}.bjl-seat.s4{left:86%}
.bs-hands:has(.bs-hand+.bs-hand){--cw:5.2cqw}
@media (max-width:760px){.bjl-seat.s0{left:14%}.bjl-seat.s1{left:32%}.bjl-seat.s3{left:68%}.bjl-seat.s4{left:86%}.bs-hands:has(.bs-hand+.bs-hand){--cw:8.4cqw}.bs-x{left:calc(50% + 5cqw);top:-10cqw;width:6cqw;height:6cqw}}

/* ---- v52: Blackjack Lobby frame, top bar and dock (chips, bets, actions) ---- */
.game-layout.bjl-full{display:block!important;grid-template-columns:none!important}
.bjl-full .controls{display:none!important}
.bjl-full .stage{padding:0!important;background:none!important;border:0!important;min-height:0!important;max-width:none!important;width:100%!important;box-shadow:none!important}
.bjl-frame{margin:0 auto;width:100%;max-width:clamp(640px,calc((100vh - 200px)*1.36),1240px);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#121830,#0B1020);border:1px solid rgba(231,194,98,.28);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.bjl-frame .bjl-scene{border-radius:0;box-shadow:none}
.bjl-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:linear-gradient(180deg,#1A2140,#121830);border-bottom:1px solid rgba(255,255,255,.06)}
.bjl-tt{display:flex;flex-direction:column;align-items:center;line-height:1.25;text-align:center}.bjl-tt b{font-size:15px;color:#fff}.bjl-tt span{font-size:12px;color:#9AA7C7}
.bjl-tb{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px;cursor:pointer}.bjl-tb:hover{background:rgba(255,255,255,.14)}.bjl-tb[hidden]{display:none}
.bjl-dock{display:grid;grid-template-columns:auto 1fr auto;gap:14px 18px;align-items:center;padding:14px 16px 16px;background:linear-gradient(180deg,#0E1428,#0A0F20);border-top:1px solid rgba(231,194,98,.25)}
.dk-info{display:flex;flex-direction:column;gap:8px;min-width:112px}.dk-info small{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7F8CB0}.dk-info b{font-size:17px;color:#fff;font-variant-numeric:tabular-nums}
.dk-info div:last-child b{color:#E7C262}
.dk-mid{display:flex;flex-direction:column;gap:10px;align-items:center;min-width:0}.dk-mid[hidden]{display:none}
.dk-targets{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.dk-targets button{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#C8D2EE;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;display:flex;gap:6px;align-items:center}
.dk-targets button b{color:#E7C262;font-weight:800}.dk-targets button.on{background:#E7C262;border-color:#E7C262;color:#201808}.dk-targets button.on b{color:#201808}
.dk-chips{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.dk-chip{width:48px;height:48px;border-radius:50%;border:0;padding:0;cursor:pointer;color:var(--fg);font-weight:900;font-size:14px;background:radial-gradient(circle,var(--bg) 0 56%,rgba(255,255,255,.92) 57% 63%,var(--bg) 64%);box-shadow:0 5px 0 rgba(0,0,0,.35),0 8px 14px rgba(0,0,0,.4),inset 0 0 0 2px rgba(0,0,0,.18);transition:transform .12s,box-shadow .12s;display:grid;place-items:center}
.dk-chip:hover{transform:translateY(-4px)}.dk-chip:active{transform:translateY(1px);box-shadow:0 2px 0 rgba(0,0,0,.35)}
.dk-tools{display:flex;gap:8px}.dk-tools button{background:none;border:1px solid rgba(255,255,255,.18);color:#C8D2EE;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer}.dk-tools button:hover{background:rgba(255,255,255,.1)}
.dk-act{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:200px;grid-column:3}
.dk-go{background:linear-gradient(180deg,#F5D36B,#E0A82E);color:#241A05;border:0;border-radius:14px;padding:15px 26px;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 5px 0 #8A6212,0 10px 20px rgba(0,0,0,.35);transition:transform .1s}
.dk-go:hover:not(:disabled){transform:translateY(-2px)}.dk-go:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #8A6212}.dk-go:disabled{opacity:.45;cursor:default}
.dk-alt{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:14px;padding:12px 20px;font-weight:800;cursor:pointer}
.dk-ins p{margin:0 0 8px;font-size:12.5px;color:#E7C262;max-width:280px;line-height:1.4}.dk-ins>div{display:flex;gap:8px;flex-wrap:wrap}
.dk-play{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:8px}.dk-play[hidden],.dk-bet[hidden],.dk-ins[hidden]{display:none}
.dk-play button{border:0;border-radius:14px;padding:15px 18px;font-weight:900;font-size:16px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 5px 0 rgba(0,0,0,.35);transition:transform .1s}
.dk-play button[data-a=hit]{background:#1FBF7A}.dk-play button[data-a=stand]{background:#E8663D}.dk-play button[data-a=double]{background:#7B6BFF}.dk-play button[data-a=split]{background:#2B8FE8}
.dk-play button:hover:not(:disabled){transform:translateY(-2px)}.dk-play button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.35)}.dk-play button:disabled{opacity:.4;cursor:default}
.dk-play kbd{font:700 10px/1 ui-monospace,monospace;background:rgba(0,0,0,.28);border-radius:5px;padding:3px 5px}
.dk-wait{font-size:13px;color:#9AA7C7;text-align:center;line-height:1.4;max-width:260px}.dk-wait:empty{display:none}
.bjl-frame .bjl-fair{margin:0;padding:8px 16px 12px;background:#0A0F20;border-top:1px solid rgba(255,255,255,.05)}
.bs-chip.pending{opacity:.8;border-style:dashed}.bs-side.pending{opacity:.8}
@media (max-width:860px){
  .bjl-frame{max-width:none;border-radius:16px}
  .bjl-dock{grid-template-columns:1fr;gap:12px;padding:12px}
  .dk-info{flex-direction:row;justify-content:space-between;min-width:0}.dk-info div:last-child{text-align:right}
  .dk-act{grid-column:auto;min-width:0}.dk-wait{max-width:none}
  .dk-chip{width:46px;height:46px;font-size:12px}.dk-chips{gap:6px}
  .dk-play{grid-template-columns:1fr 1fr}.dk-play kbd{display:none}.dk-ins>div{display:grid;grid-template-columns:1fr 1fr}
  .dk-go{font-size:17px;padding:16px}
}

/* ---- v53: the dock sits inside the table, over the bottom edge of the felt ---- */
.bjl-frame{max-width:clamp(640px,calc((100vh - 130px)*1.25),1240px)}
.bjl-scene{aspect-ratio:1000/800}
.bjl-scene .bjl-dock{position:absolute;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(150px,1fr);gap:1.4cqw;align-items:end;padding:2cqw 2.2cqw 1.8cqw;background:linear-gradient(180deg,rgba(4,10,16,0),rgba(4,10,16,.78) 38%,rgba(4,10,16,.94));border:0}
.bjl-scene .dk-info{flex-direction:column;gap:.6cqw;min-width:0;align-self:end}.bjl-scene .dk-info small{font-size:max(9px,1cqw)}.bjl-scene .dk-info b{font-size:max(13px,1.7cqw)}
.bjl-scene .dk-mid{align-items:center;gap:.8cqw}
.dk-row1{display:flex;gap:1cqw;align-items:center;justify-content:center;flex-wrap:wrap}
.bjl-scene .dk-targets button{padding:.5cqw 1.2cqw;font-size:max(11px,1.3cqw)}.dk-targets .sh{display:none}
.bjl-scene .dk-tools button{padding:.4cqw 1.1cqw;font-size:max(11px,1.3cqw);min-width:2.8cqw}
.bjl-scene .dk-chip{width:clamp(38px,5.2cqw,56px);height:clamp(38px,5.2cqw,56px);font-size:max(11px,1.35cqw)}
.bjl-scene .dk-chips{flex-wrap:nowrap;gap:.7cqw}
.bjl-scene .dk-act{grid-column:3;min-width:0;align-items:flex-end;justify-self:end;width:100%;max-width:26cqw}
.bjl-scene .dk-go{width:100%;padding:max(11px,1.5cqw) 2cqw;font-size:max(14px,1.8cqw);border-radius:1.4cqw}
.bjl-scene .dk-play{width:100%;grid-template-columns:1fr 1fr;gap:.8cqw}.bjl-scene .dk-play button{padding:max(10px,1.3cqw) 1cqw;font-size:max(13px,1.7cqw);border-radius:1.2cqw}
.bjl-scene .dk-wait{font-size:max(11px,1.3cqw);text-align:right;max-width:100%;color:#C8D2EE;text-shadow:0 1px 3px #000}
.bjl-scene .dk-ins p{font-size:max(11px,1.25cqw);max-width:none;text-align:right}.bjl-scene .dk-ins>div{justify-content:flex-end}
.bjl-scene .dk-alt{padding:max(9px,1.1cqw) 1.6cqw;font-size:max(12px,1.4cqw)}
/* seats leave room for the dock */
.bjl-seat.s0{left:11%;top:55%}.bjl-seat.s1{left:30.5%;top:64%}.bjl-seat.s2{left:50%;top:69%}.bjl-seat.s3{left:69.5%;top:64%}.bjl-seat.s4{left:89%;top:55%}
@media (max-width:860px){
  .bjl-frame{max-width:none}
  .bjl-scene{aspect-ratio:1000/1450}
  .bjl-scene .bjl-dock{grid-template-columns:1fr auto;gap:2.4cqw 3cqw;padding:3cqw 3cqw 3cqw;align-items:center}
  .bjl-scene .dk-mid{grid-column:1/-1;grid-row:1}.bjl-scene .dk-info{grid-column:1;grid-row:2;flex-direction:row;gap:3cqw;align-items:baseline}.bjl-scene .dk-info small{font-size:max(9px,2.2cqw)}.bjl-scene .dk-info b{font-size:max(12px,3.4cqw)}
  .bjl-scene .dk-info>div{display:flex;gap:1.4cqw;align-items:baseline}
  .bjl-scene .dk-act{grid-column:2;grid-row:2;max-width:none;width:auto;align-items:stretch;justify-self:end}
  .dk-wait.tip{display:none}
  .bjl-scene .dk-go{padding:2.6cqw 6cqw;font-size:max(14px,4.2cqw);border-radius:3cqw;width:auto}
  .bjl-scene .dk-targets button{padding:1.2cqw 2.4cqw;font-size:max(11px,3cqw)}.dk-targets .l{display:none}.dk-targets .sh{display:inline}.dk-targets button[data-tg=main] .l{display:inline}.dk-targets button[data-tg=t3] .l{display:inline}
  .bjl-scene .dk-tools button{padding:1cqw 2.2cqw;font-size:max(12px,3cqw);min-width:0}
  .bjl-scene .dk-chip{width:10.6cqw;height:10.6cqw;font-size:max(10px,2.8cqw)}
  .dk-chip[data-ch="5000"],.dk-chip[data-ch="10000"]{display:none}
  .bjl-scene .dk-chips{gap:1.6cqw}
  .bjl-scene .dk-play{width:auto;min-width:46cqw;gap:2cqw}.bjl-scene .dk-play button{padding:2.6cqw 3cqw;font-size:max(13px,3.8cqw);border-radius:3cqw}
  .bjl-scene .dk-wait{font-size:max(10px,2.8cqw)}
  .bjl-scene .dk-ins p{font-size:max(10px,2.6cqw)}
  .bjl-seat.s0{left:11%;top:49%}.bjl-seat.s1{left:30%;top:57%}.bjl-seat.s2{left:50%;top:62%}.bjl-seat.s3{left:70%;top:57%}.bjl-seat.s4{left:89%;top:49%}
}
.dk-play button[hidden]{display:none!important}
.dk-info small{white-space:nowrap}
@media (max-width:860px){.bjl-scene .dk-wait{white-space:nowrap}.bjl-scene .dk-info small{letter-spacing:.04em}}

/* ---- v54: the table page is locked to the screen: one big display, a slim bar underneath, no scrolling ---- */
.main.bjl-locked{overflow:hidden!important}
.main.bjl-locked>:not(.page){display:none!important}
.main.bjl-locked .page{padding:8px!important;max-width:none!important;width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;animation:none}
.main.bjl-locked .page>:not(.game-layout){display:none!important}
.main.bjl-locked .game-layout.bjl-full{flex:1 1 auto;min-height:0;display:flex!important;flex-direction:column}
.main.bjl-locked .bjl-full .stage{flex:1 1 auto;min-height:0;height:100%!important}
.main.bjl-locked .bjl-frame{height:100%;max-width:none!important;display:flex;flex-direction:column;border-radius:14px;background:#070B16}
.bjl-fit{flex:1 1 auto;min-height:0;container-type:size;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#10172E,#070B16)}
.bjl-fit .bjl-scene{width:min(100cqw,125cqh);height:auto;max-width:none}
.bjl-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:linear-gradient(180deg,#141B36,#0E1428);border-top:1px solid rgba(231,194,98,.25)}
.bb-l{display:flex;align-items:center;gap:10px;min-width:0}.bb-l b{display:block;font-size:14px;color:#fff;line-height:1.2}.bb-l span{display:block;font-size:12px;color:#9AA7C7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-l i{font-style:normal}
.bb-r{display:flex;gap:8px;flex:none}.bjl-tb.sq{padding:7px 11px}
.bjl-bar .bjl-tb[hidden]{display:none}
@media (max-width:860px){
  .main.bjl-locked .page{padding:6px!important}
  .bjl-fit .bjl-scene{width:min(100cqw,58.8cqh);aspect-ratio:1000/1700!important}
  .bjl-scene .bjl-dock{padding-bottom:3.6cqw}
  .bjl-seat.s0{left:11%;top:57%}.bjl-seat.s1{left:30%;top:64%}.bjl-seat.s2{left:50%;top:68%}.bjl-seat.s3{left:70%;top:64%}.bjl-seat.s4{left:89%;top:57%}
  .bjl-dhand{top:38cqw}
  .bb-l span{max-width:46vw}.bjl-tb{padding:6px 10px;font-size:12px}.bb-l img{display:none}
}
.bjl-frame:fullscreen{border-radius:0;height:100vh}

.bjl-fit{position:relative;overflow:hidden}
.bjl-bgwrap{position:absolute;inset:0}.bjl-bgwrap .bjl-bgfelt{position:absolute;inset:0;width:100%;height:100%}.bjl-bgwrap .bjl-bgfelt.tall{display:none}
.bjl-fit .bjl-scene{position:relative;z-index:1;background:transparent!important}
@media (max-width:860px){.bjl-bgwrap .bjl-bgfelt.wide{display:none}.bjl-bgwrap .bjl-bgfelt.tall{display:block}}

.bjl-fit{position:relative;overflow:hidden}
.bjl-bgwrap{position:absolute;inset:0}.bjl-bgwrap .bjl-bgfelt{position:absolute;inset:0;width:100%;height:100%}.bjl-bgwrap .bjl-bgfelt.tall{display:none}
.bjl-fit .bjl-scene{position:relative;z-index:1;background:transparent!important}
@media (max-width:860px){.bjl-bgwrap .bjl-bgfelt.wide{display:none}.bjl-bgwrap .bjl-bgfelt.tall{display:block}}
.bjl-tb .sm{display:none}
@media (max-width:860px){
  .bjl-tb .lg{display:none}.bjl-tb .sm{display:inline}
  .bb-l span{display:none!important}.bb-l b{font-size:13px;white-space:nowrap}
  .bjl-bar{padding:7px 10px}.bb-r{gap:6px}
  .bjl-scene .dk-info{flex-direction:column!important;gap:.6cqw!important;align-items:flex-start!important}
  .bjl-scene .dk-info>div{display:flex;gap:1.6cqw;align-items:baseline}
  .bjl-scene .dk-go{padding:2.4cqw 4.6cqw!important}
}
.bjl-tb .sm{display:none}
.bjl-scene .bjl-timer{left:50%!important;transform:translateX(-50%);top:19cqw!important;width:6.4cqw!important;height:6.4cqw!important;z-index:6}
.bjl-scene .bjl-timer b{font-size:max(11px,2.2cqw)!important}
@media (max-width:860px){
  .bjl-scene .bjl-timer{top:30cqw!important;width:11cqw!important;height:11cqw!important}
  .bjl-scene .bjl-timer b{font-size:max(11px,4cqw)!important}
  .bjl-tb .lg{display:none}.bjl-tb .sm{display:inline}
  .bb-l span,.bb-l img{display:none!important}.bb-l b{font-size:13px;white-space:nowrap}
  .bjl-bar{padding:7px 10px;gap:6px}.bb-r{gap:6px}.bjl-tb{padding:6px 9px!important}
  .bjl-scene .bjl-dock{padding-bottom:5cqw!important}
  .bjl-scene .dk-info{flex-direction:column!important;gap:.6cqw!important;align-items:flex-start!important}
  .bjl-scene .dk-info>div{display:flex;gap:1.6cqw;align-items:baseline}
  .bjl-scene .dk-go{padding:2.4cqw 4.6cqw!important}
}
@media (max-width:860px){.bjl-scene .dk-wait{grid-column:1/-1;grid-row:3;text-align:center;white-space:normal!important;font-size:max(10px,3cqw)}}
.bjl-bgwrap{display:none!important}
.bjl-scene .dk-wait{position:absolute!important;left:0;right:0;bottom:100%;grid-column:auto!important;grid-row:auto!important;text-align:center!important;margin:0 0 1.2cqw;padding:0 4cqw;pointer-events:none;text-shadow:0 1px 6px #000}
.vf-note,.vf-copy{text-align:center}
.crash-mult .crash-cd{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;margin:18px auto 0;width:116px!important;height:116px!important;background:conic-gradient(from 0deg,#FFD66B calc(var(--p,100)*1%),rgba(255,255,255,.1) 0)!important;box-shadow:0 0 30px rgba(255,194,75,.3),0 10px 28px rgba(0,0,0,.5)}
.crash-mult .crash-cd::before{inset:7px;background:radial-gradient(circle at 50% 35%,#1b1540,#0b0818)}
.crash-mult .crash-cd b{font-size:46px!important;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.crash-mult .crash-cd small{font-size:9.5px!important;margin:0 0 3px!important}
.crash-mult .crash-cd em{font-size:10px;margin-top:2px}
.crash-mult .crash-cd.low{background:conic-gradient(from 0deg,#FF5470 calc(var(--p,100)*1%),rgba(255,255,255,.1) 0)!important;box-shadow:0 0 34px rgba(255,84,112,.4),0 10px 28px rgba(0,0,0,.5);animation:cdPulse .5s ease-in-out infinite alternate}
.crash-mult .crash-cd.low b{color:#FF9AAB}
@keyframes cdPulse{to{transform:scale(1.05)!important}}
@media(max-width:700px){.crash-mult .crash-cd{width:98px!important;height:98px!important;margin-top:12px}.crash-mult .crash-cd b{font-size:38px!important}}
.crash-mult .crash-cd{width:92px!important;height:92px!important;margin-top:14px}
.crash-mult .crash-cd::before{inset:6px}
.crash-mult .crash-cd b{font-size:36px!important}
.crash-mult .crash-cd small{font-size:8px!important}
.crash-mult .crash-cd em{font-size:7.5px}
@media(max-width:700px){.crash-mult .crash-cd{width:80px!important;height:80px!important;margin-top:10px}.crash-mult .crash-cd b{font-size:31px!important}}
.crash-mult .crash-cd .cd-t{max-width:70%}
.crash-mult .crash-cd small{font-size:7px!important;letter-spacing:.06em!important;white-space:nowrap;margin:0 0 2px!important}
.crash-mult .crash-cd b{font-size:32px!important}
.crash-mult .crash-cd em{font-size:6.5px;letter-spacing:.08em;margin-top:1px}
@media(max-width:700px){.crash-mult .crash-cd b{font-size:28px!important}}
.ab-head{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 10px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--muted);font:700 11.5px var(--ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ab-head:hover{color:#fff;background:rgba(255,255,255,.07)}
.ab-chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.auto-box.min .ab-chev{transform:rotate(-135deg) translate(-2px,-2px)}
.auto-box.min>:not(.ab-head):not(.auto-stat){display:none!important}
.auto-box.min .ab-head{margin-bottom:6px}

.ac-lbl{display:flex!important;align-items:center;gap:8px;cursor:pointer;user-select:none}.ac-lbl .ac-sum{margin-left:auto;color:var(--gold,#F6C646);font-weight:800}.ac-lbl .ab-chev{margin-left:auto;flex:none}.ac-lbl .ac-sum:not(:empty)+.ab-chev{margin-left:6px}
.ac-field.min .inp{display:none}.ac-field.min .ab-chev{transform:rotate(-135deg) translate(-2px,-2px)}
.hero-fx{display:none}
@media(min-width:821px){
  .main{container-type:inline-size}
  .lobby-page>.hero3{width:calc(100cqw - 56px);max-width:none;margin-left:calc(50% - 50cqw + 28px);min-height:0!important;padding:20px 34px!important;grid-template-columns:minmax(0,1fr) auto!important;border-radius:20px}
  .lobby-page>.hero3 h2{font-size:clamp(28px,3.4vw,42px)!important;margin:4px 0 8px}
  .lobby-page>.hero3 p{margin:0 0 12px;max-width:520px}
  .lobby-page>.hero3 .hero-stats{margin-top:10px}
  .lobby-page>.hero3 .hero-stats .hs:not(.live){display:none}
  .lobby-page>.hero3 .hero-art{height:170px!important;margin:-10px 0!important;width:300px}
  .lobby-page>.hero3>div:first-child{position:relative;z-index:2}
  .lobby-page>.hero3 .hero-art{z-index:2}
  .lobby-page>.hero3 .hero-fx{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
  .hf{position:absolute;width:var(--s);height:var(--s);opacity:.55}
  .hf svg{width:100%;height:100%;display:block}
  .hf-sweep{position:absolute;top:0;bottom:0;width:22%;left:-30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);transform:skewX(-18deg)}
  @media(prefers-reduced-motion:no-preference){
    .hf-sweep{animation:hfSweep 7s ease-in-out infinite}
    .hf-float{animation:hfFloat var(--t) ease-in-out var(--d) infinite}
    .hf-spin{animation:hfSpin var(--t) ease-in-out var(--d) infinite}
    .hf-coin{animation:hfCoin var(--t) linear var(--d) infinite}
    .hf-tw{animation:hfTw var(--t) ease-in-out var(--d) infinite}
    @keyframes hfSweep{0%{left:-30%}60%,100%{left:130%}}
    @keyframes hfFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-14px) rotate(10deg)}}
    @keyframes hfSpin{0%,100%{transform:translateY(0) rotateY(0)}50%{transform:translateY(-10px) rotateY(180deg)}}
    @keyframes hfCoin{0%{transform:translateY(-20px) rotateY(0);opacity:0}15%{opacity:.7}85%{opacity:.7}100%{transform:translateY(60px) rotateY(540deg);opacity:0}}
    @keyframes hfTw{0%,100%{transform:scale(.4) rotate(0);opacity:.1}50%{transform:scale(1) rotate(45deg);opacity:.9}}
  }
}
@media (min-width:821px){
  .page .lr-track.game-grid{padding:16px 12px 22px!important;margin:-16px -12px -22px!important}
}
@media(min-width:821px){
  .lobby-page>.hero3 .hero-art{width:430px!important;height:190px!important;margin:-14px 0!important}
  .lobby-page>.hero3 p{max-width:640px}
  .hf{opacity:.75}
}
.bjl-empty{grid-column:1/-1;padding:22px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;color:var(--muted);text-align:center;line-height:1.6}.bjl-empty b{color:#fff}.bjl-empty small{display:block;opacity:.6;margin-top:4px}
.stage:has(>.bjl-tables){display:block!important;padding:18px!important;align-items:stretch}
.bjl-tables{width:100%;box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;align-self:stretch}
.bjl-tables .bjl-tcard{width:100%;box-sizing:border-box}

.bjl-lfit{display:block!important;overflow:auto;background:radial-gradient(ellipse at 50% 0%,#12304A,#070B16 70%)}
.bjl-lbody{max-width:1180px;margin:0 auto;padding:clamp(14px,3vw,34px);box-sizing:border-box}
.bjl-lhead{display:flex;align-items:center;gap:clamp(14px,3vw,34px);margin-bottom:clamp(16px,3vw,30px)}
.bjl-ldealer{flex:none;width:clamp(110px,18vw,190px);filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}.bjl-ldealer svg{width:100%;height:auto;display:block}
.bjl-lhead h2{font-family:var(--display);font-size:clamp(26px,4vw,44px);margin:0 0 8px;line-height:1}
.bjl-lhead p{margin:0 0 12px;color:var(--muted);max-width:560px;line-height:1.5}
.bjl-lfacts{display:flex;flex-wrap:wrap;gap:8px}.bjl-lfacts span{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12px;color:var(--muted)}.bjl-lfacts b{color:#fff}
.bjl-lbody .bjl-tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;gap:clamp(12px,2vw,22px)}
.bjl-lbody .bjl-tcard{padding:clamp(16px,2vw,24px);gap:14px;min-height:190px}
.bjl-lbody .bjl-tcard .tc-top b{font-size:clamp(18px,2vw,24px)}
.bjl-lbody .bjl-tcard .tc-seats i{width:clamp(22px,2.4vw,32px);height:clamp(22px,2.4vw,32px)}
@media(max-width:560px){.bjl-lhead{flex-direction:column;text-align:center}.bjl-lfacts{justify-content:center}}
.bjl-lbody .bjl-tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))!important}.bjl-lbody .bjl-tcard{min-height:0}
.bjl-lbody .bjl-tcard .tc-top b{font-size:clamp(16px,1.5vw,21px)!important;white-space:nowrap}.bjl-lbody .tc-live{white-space:nowrap;font-size:11px}.bjl-lbody .tc-lim{flex-wrap:wrap;gap:4px 12px}.bjl-lbody .tc-lim span{white-space:nowrap}
.bjl-lbody .tc-top{flex-wrap:wrap;gap:4px 10px}.bjl-lbody .bjl-tcard .tc-top b{white-space:normal!important}

/* clean table cards + table themes */
.bjl-lbody .bjl-tcard{position:relative;overflow:hidden;background:#0F1730;background-image:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--th) 16%,transparent),transparent 60%);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:18px 18px 16px;gap:14px;min-height:0;box-shadow:none;transition:transform .15s,border-color .15s}
.bjl-lbody .bjl-tcard:hover{transform:translateY(-2px);border-color:var(--th);box-shadow:0 10px 28px rgba(0,0,0,.35)}
.bjl-lbody .tc-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--th)}
.bjl-lbody .tc-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap}
.bjl-lbody .tc-top b{font-size:17px!important;white-space:nowrap}
.bjl-lbody .tc-live{font-size:12px;color:var(--muted);padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.06)}
.bjl-lbody .tc-lim{display:flex;gap:22px;font-weight:800;font-size:15px}.bjl-lbody .tc-lim small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:2px}
.bjl-lbody .tc-bot{display:flex;justify-content:space-between;align-items:center}
.bjl-lbody .tc-seats{display:flex;gap:6px}.bjl-lbody .tc-seats i{width:14px!important;height:14px!important;border:1.5px solid color-mix(in srgb,var(--th) 70%,transparent);border-radius:50%}.bjl-lbody .tc-seats i.on{background:var(--th)}
.bjl-lbody .tc-go{font-size:13px;font-weight:700;color:var(--th);background:none;border:0;box-shadow:none;padding:0}
.bjl-lbody .tc-names{display:none}
.bjl-lbody .bjl-tables{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))!important}
.bjl-frame[style*="--th"] .bjl-fit:not(.bjl-lfit){background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--th) 22%,#10172E),#070B16 75%)}
.bjl-frame[style*="--th"] .bjl-bar{border-top-color:color-mix(in srgb,var(--th) 55%,transparent)}

.bjl-ldealer{filter:none!important;width:clamp(130px,20vw,230px)!important}
.lart svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.lart .lc{transform-box:fill-box;transform-origin:50% 100%}
.lart .lc1{transform:rotate(-14deg)}.lart .lc2{transform:rotate(-2deg)}.lart .lc3{transform:rotate(11deg)}
.lart .lchip,.lart .lsp path{transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:no-preference){
  .lart .lc1{animation:lcA 5s ease-in-out infinite}.lart .lc2{animation:lcB 5s ease-in-out -1.2s infinite}.lart .lc3{animation:lcC 5s ease-in-out -2.4s infinite}
  .lart .c1{animation:lchip 4s ease-in-out infinite}.lart .c2{animation:lchip 4.6s ease-in-out -1.5s infinite}.lart .c3{animation:lchip 3.6s ease-in-out -.8s infinite}
  .lart .s1{animation:ltw 2.6s ease-in-out infinite}.lart .s2{animation:ltw 3s ease-in-out -1s infinite}.lart .s3{animation:ltw 3.4s ease-in-out -2s infinite}
  @keyframes lcA{0%,100%{transform:rotate(-14deg) translateY(0)}50%{transform:rotate(-19deg) translateY(-6px)}}
  @keyframes lcB{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(1deg) translateY(-10px)}}
  @keyframes lcC{0%,100%{transform:rotate(11deg) translateY(0)}50%{transform:rotate(16deg) translateY(-6px)}}
  @keyframes lchip{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.06)}}
  @keyframes ltw{0%,100%{opacity:.15;transform:scale(.4)}50%{opacity:1;transform:scale(1.1) rotate(30deg)}}
}
.lobby-bar{margin-bottom:26px!important}.lobby-wrap{padding-top:6px}.lobby-wrap .lr-head,.lobby-wrap .section-title{margin-top:8px}
@media(min-width:561px){.lw-tag{top:-12px!important;left:-6px!important}}
@media(min-width:821px){
  .lobby-page>.hero3 .hero-stats{position:absolute;top:16px;right:20px;margin:0!important;z-index:3}
}
/* menus and panels: solid, not see-through */
.popover,.pmenu,.pm,.pop,.notif-pop,.dropdown,.ctx-menu,.menu-pop,.chat-panel,.sheet,.modal{background-color:#131C30!important}
.lobby-bar .chips button:not(.on),.lobby-bar .search,.lb-bar .tabs,.lb-panel,.lb-panel .table-wrap,.bets-table tbody tr,.hs.live{background-color:#141E34!important}
.bets-table tbody tr:nth-child(even){background-color:#17223A!important}
.vf-note,.vfoot{background:transparent}
.modal,.sheet,.popover{backdrop-filter:none!important}
/* ---- blackjack table v55: HUD timer, roomier layout, split hands, casino action buttons ---- */
.bjl-hud{position:absolute;left:2cqw;top:2cqw;display:flex;align-items:center;gap:1cqw;z-index:6}
.bjl-hud .bjl-timer,.bjl-scene .bjl-hud .bjl-timer{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:max(30px,4.6cqw)!important;height:max(30px,4.6cqw)!important;animation:none!important}
.bjl-hud .bjl-timer b{font-size:max(11px,1.8cqw)!important}
.bjl-hud .bjl-msg,.bjl-scene .bjl-hud .bjl-msg{position:static!important}
.bjl-scene{--cw:8.6cqw}
.bjl-arc{opacity:.32!important}.bjl-arc.a1,.bjl-arc.a2,.bjl-arc.a3{opacity:.32!important}
.bjl-dhand{top:23.5cqw}
.bjl-seat.s0{top:60%}.bjl-seat.s1{top:69%}.bjl-seat.s2{top:74%}.bjl-seat.s3{top:69%}.bjl-seat.s4{top:60%}
.bs-hands{flex-wrap:wrap;justify-content:center;max-width:36cqw;row-gap:1cqw}
.bs-hands:has(.bs-hand+.bs-hand+.bs-hand){--cw:4.4cqw;max-width:40cqw}
.bs-hands:has(.bs-hand+.bs-hand){--cw:5.6cqw}
.bs-hands:has(.bs-hand+.bs-hand+.bs-hand+.bs-hand){--cw:4cqw}
.bjl-seat .bs-tag:empty{display:none}
.bjl-scene .bjl-dock{padding:1cqw 2.2cqw 1.2cqw!important}
/* action buttons: chip-style casino buttons, centred under the table */
.bjl-dock:has(.dk-play:not([hidden])) .dk-act{grid-column:2!important;justify-self:center!important;max-width:none!important;width:auto!important}
.bjl-scene .dk-play{display:flex!important;gap:1.2cqw;justify-content:center;width:auto!important;grid-template-columns:none!important}
.bjl-scene .dk-play button{--a:#1F9D6B;position:relative;display:inline-flex;align-items:center;gap:.8cqw;min-width:8.4cqw;justify-content:center;padding:max(9px,1.1cqw) max(16px,2cqw)!important;font:800 max(12px,1.5cqw)/1 var(--ui,inherit)!important;letter-spacing:.12em;text-transform:uppercase;color:#FBEFC8!important;border-radius:999px!important;border:2px solid #E7C262!important;background:radial-gradient(120% 160% at 50% 0%,color-mix(in srgb,var(--a) 85%,#fff 8%),color-mix(in srgb,var(--a) 70%,#000)) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 .35cqw rgba(8,12,24,.65),0 .7cqw 1.4cqw rgba(0,0,0,.5)!important;cursor:pointer;transition:transform .12s,filter .12s}
.bjl-scene .dk-play button:hover{transform:translateY(-.3cqw);filter:brightness(1.12)}
.bjl-scene .dk-play button:active{transform:translateY(.2cqw)}
.bjl-scene .dk-play button[data-a=hit]{--a:#17935F}.bjl-scene .dk-play button[data-a=stand]{--a:#B8283F}.bjl-scene .dk-play button[data-a=double]{--a:#B8861B}.bjl-scene .dk-play button[data-a=split]{--a:#2C58B8}
.bjl-scene .dk-play kbd{font:700 max(9px,1cqw)/1 var(--ui,inherit);padding:.25cqw .6cqw;border-radius:.5cqw;background:rgba(0,0,0,.35);border:1px solid rgba(231,194,98,.5);color:#E7C262;letter-spacing:0}
@media(max-width:860px){
  .bjl-hud{left:3cqw;top:3cqw;gap:2cqw}.bjl-hud .bjl-timer{width:max(30px,9cqw)!important;height:max(30px,9cqw)!important}.bjl-hud .bjl-timer b{font-size:max(11px,3.6cqw)!important}
  .bjl-scene{--cw:11cqw}
  .bjl-dhand{top:36cqw}
  .bjl-dock:has(.dk-play:not([hidden])) .dk-act{grid-column:1/-1!important;grid-row:1!important;justify-self:center!important}
  .bjl-scene .dk-play{gap:2cqw}.bjl-scene .dk-play button{min-width:0;padding:2.4cqw 3.6cqw!important;font-size:max(12px,3.4cqw)!important}
  .bs-hands{max-width:46cqw}
}

/* ---- v56: wider desktop table, seats run right to left, cards scale to their seat so neighbours never touch ---- */
:root{--bj-base:8.2cqw}
.bjl-scene .bs-hands,.bs-hands:has(.bs-hand+.bs-hand),.bs-hands:has(.bs-hand+.bs-hand+.bs-hand),.bs-hands:has(.bs-hand+.bs-hand+.bs-hand+.bs-hand){--cw:calc(var(--bj-base) * var(--seat-k,1))!important}
.bjl-cards[data-n="3"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.58)}
.bjl-cards[data-n="4"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.64)}
.bjl-cards[data-n="5"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.68)}
.bjl-cards[data-n="6"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.72)}
.bjl-cards[data-n="7"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.74)}
.bjl-cards[data-n="8"] .pcard.bj3:not(:first-child){margin-left:calc(var(--cw)*-.76)}
.bs-hands{max-width:none!important}
.bjl-seat.s0{left:86%!important}.bjl-seat.s1{left:68%!important}.bjl-seat.s3{left:32%!important}.bjl-seat.s4{left:14%!important}
@media(min-width:861px){
  .bjl-scene,.main.bjl-locked .bjl-scene{aspect-ratio:1000/740!important}
  .bjl-fit .bjl-scene{width:min(100cqw,135cqh)!important}
  .bjl-dealer{width:19cqw;top:-1cqw}.bjl-shoe{width:11cqw}
  .bjl-dhand{top:19.5cqw}
  .bjl-seat.s0,.bjl-seat.s4{top:63%}.bjl-seat.s1,.bjl-seat.s3{top:71%}.bjl-seat.s2{top:77%}
}
@media(max-width:860px){:root{--bj-base:11cqw}}
.bjl-tb:disabled{opacity:.4;cursor:not-allowed}

/* casino palette for the blackjack table: deep felt greens, burgundy, brass */
.bjl-tot{background:rgba(10,16,14,.9)!important;border:1px solid rgba(201,162,74,.45)!important;color:#EFE6CC!important;letter-spacing:.02em}
.bjl-tot.bust{background:#5A1620!important;border-color:#A8404E!important;color:#F4D3D6!important}
.bjl-tot.bj{background:linear-gradient(180deg,#1C4A38,#0E2E22)!important;border-color:#C9A24A!important;color:#E9CF8A!important;text-transform:uppercase;font-size:max(10px,1.3cqw);letter-spacing:.12em}
.bs-chip.on{background:radial-gradient(circle,#9E2330 0 55%,#6E1520 56%)!important;border:.5cqw solid #E8DFC6!important;box-shadow:0 .5cqw 1.2cqw rgba(0,0,0,.55),inset 0 0 0 .35cqw rgba(232,223,198,.28)!important}
.bjl-seat.you .bs-name,.bs-name{background:rgba(10,16,14,.85)!important;color:#E9DDB8!important;border:1px solid rgba(201,162,74,.5)}
.bjl-seat.you .bs-name{background:linear-gradient(180deg,#1C4A38,#0E2E22)!important;color:#E9CF8A!important}
.bjl-msg{background:rgba(10,16,14,.85)!important;border-color:rgba(201,162,74,.55)!important;color:#D9BE7A!important}
.bjl-msg.you{background:linear-gradient(180deg,#1C4A38,#0E2E22)!important;color:#E9CF8A!important;border-color:#C9A24A!important}
.bs-tag .w{background:#1C5A3E!important;color:#E9F3E4!important}.bs-tag .l{background:#5A1620!important;color:#F4D3D6!important}.bs-tag .p{background:#3A4440!important;color:#E4E8E2!important}
.bjl-seat.turn .bs-hand{outline-color:#C9A24A!important;box-shadow:0 0 2cqw rgba(201,162,74,.4)!important}
.bs-sit{border-color:#C9A24A!important;color:#D9BE7A!important}.bs-sit:hover{background:#C9A24A!important;color:#10180F!important}
.bj-table .hand-total.bj,.hand-total.bj{background:linear-gradient(180deg,#1C4A38,#0E2E22)!important;color:#E9CF8A!important;border:1px solid #C9A24A!important}
.hand-total.bust{background:#5A1620!important;color:#F4D3D6!important}
.bjl-scene .dk-play[hidden],.bjl-scene .dk-bet[hidden],.bjl-scene .dk-ins[hidden]{display:none!important}
.bjl-scene .dk-go{background:radial-gradient(120% 160% at 50% 0%,#23704F,#0E3B28)!important;color:#F1E2B0!important;border:2px solid #C9A24A!important;border-radius:999px!important;text-transform:uppercase;letter-spacing:.12em;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 .35cqw rgba(8,12,24,.65),0 .7cqw 1.4cqw rgba(0,0,0,.5)!important;width:auto!important;padding:max(10px,1.2cqw) max(22px,3cqw)!important;font-size:max(12px,1.5cqw)!important}
.bjl-scene .dk-go:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-.3cqw)}
.bjl-scene .dk-alt{border-radius:999px;border:1px solid rgba(201,162,74,.5);background:rgba(10,16,14,.8);color:#E9DDB8}
.bjl-dock:has(.dk-bet:not([hidden])) .dk-act{justify-self:end}

/* ---- v57: no ghost action buttons, no little subtext, bigger desktop table ---- */
.bjl-scene .dk-play[hidden],.bjl-dock .dk-play[hidden]{display:none!important}
.bjl-dock .dk-wait,[data-wait],.bjl-bar [data-tl]{display:none!important}
@media(min-width:861px){
  .bjl-scene,.main.bjl-locked .bjl-scene{aspect-ratio:1000/650!important}
  .bjl-fit .bjl-scene{width:min(100cqw,160cqh)!important}
  .bjl-dhand{top:17cqw}
  .bjl-seat.s0,.bjl-seat.s4{top:62%}.bjl-seat.s1,.bjl-seat.s3{top:70%}.bjl-seat.s2{top:76%}
}
.game-layout.bjl-full,.main.bjl-locked .game-layout.bjl-full{max-width:none!important;width:100%!important}
.bjl-ask{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(4,8,14,.72)}
.bjl-ask-card{background:#0E1428;border:1px solid rgba(231,194,98,.5);border-radius:16px;padding:20px 22px;max-width:320px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.bjl-ask-card b{font-size:18px;color:#E9CF8A}.bjl-ask-card p{margin:8px 0 16px;color:#cfd6e6;font-size:14px}.bjl-ask-card div{display:flex;gap:10px;justify-content:center}
.dk-targets [data-tg=pp],.dk-targets [data-tg=t3]{display:none!important}
.bjl-seat .bs-side{pointer-events:auto;cursor:pointer;width:max(4.6cqw,26px)!important;height:max(4.6cqw,26px)!important}
.bs-side.empty{background:rgba(10,16,14,.7)!important;border:2px dashed rgba(231,194,98,.6)!important;color:#E9CF8A}
.bs-side.empty b{font-size:max(11px,1.5cqw)}
.bs-side.sel,.bs-chip.sel{box-shadow:0 0 0 .3cqw #E7C262,0 0 1.4cqw rgba(231,194,98,.7)!important}

/* ---- v58: table always fits the window, Place bet centred in its own column ---- */
@media(min-width:861px){
  .bjl-fit .bjl-scene{width:min(100cqw,146cqh)!important}
  .bjl-scene .bjl-dock{align-items:center!important}
  .bjl-scene .dk-act{align-self:center!important;justify-self:end!important;margin:0 1.2cqw 0 0!important;display:flex;align-items:center;justify-content:center}
  .bjl-scene .dk-bet,.bjl-scene .dk-play{display:flex;justify-content:center}
  .bjl-scene .dk-go{min-width:14cqw;padding:max(10px,1.2cqw) max(20px,2.4cqw)!important;font-size:max(14px,1.7cqw)!important;white-space:nowrap}
}
.bjl-scene .dk-bet[hidden]{display:none!important}
.dk-chip[hidden]{display:none!important}
.dk-chmode{border:1px solid rgba(231,194,98,.55);background:rgba(10,16,14,.8);color:#E9CF8A;border-radius:999px;padding:0 max(10px,1.2cqw);font-weight:800;font-size:max(10px,1.2cqw);cursor:pointer;white-space:nowrap}
.dk-chmode[hidden]{display:none!important}

/* ---- v59: Deal centred under the chips, casino-style chips ---- */
@media(min-width:861px){
  .bjl-scene .bjl-dock{grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr)!important;grid-template-rows:auto auto;align-items:center!important;row-gap:.8cqw}
  .bjl-scene .dk-info{grid-column:1!important;grid-row:1/span 2!important}
  .bjl-scene .dk-mid{grid-column:2!important;grid-row:1!important}
  .bjl-scene .dk-act,.bjl-dock:has(.dk-play:not([hidden])) .dk-act,.bjl-dock:has(.dk-bet:not([hidden])) .dk-act{grid-column:2!important;grid-row:2!important;justify-self:center!important;margin:0!important}
  .bjl-scene .dk-go{min-width:16cqw}
}
.dk-chip{position:relative;border:0!important;border-radius:50%!important;color:var(--fg)!important;font-weight:900;
  background:repeating-conic-gradient(from -6deg,#F4F1E8 0 11deg,var(--bg) 11deg 45deg)!important;
  box-shadow:0 .4cqw .9cqw rgba(0,0,0,.55),0 2px 0 rgba(0,0,0,.35),inset 0 0 0 1px rgba(0,0,0,.35)!important;transition:transform .12s,filter .12s}
.dk-chip::before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--bg) 78%,#fff),var(--bg) 70%);border:2px dashed color-mix(in srgb,var(--fg) 55%,transparent);box-shadow:inset 0 1px 2px rgba(255,255,255,.35),inset 0 -2px 3px rgba(0,0,0,.25)}
.dk-chip::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.35),transparent 45%);pointer-events:none}
.dk-chip span{position:relative;z-index:1;text-shadow:0 1px 0 rgba(255,255,255,.25)}
.dk-chip:hover{transform:translateY(-.4cqw) scale(1.06);filter:brightness(1.08)}.dk-chip:active{transform:translateY(.1cqw) scale(.96)}
.bjl-seat .bs-name,.bjl-seat.you .bs-name{font-size:max(9px,1.05cqw)!important;padding:.25cqw .9cqw!important;max-width:11cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
.bjl-seat .bs-name img,.bjl-seat .bs-name svg{width:max(8px,1cqw)!important;height:max(8px,1cqw)!important}
@media(max-width:860px){.bjl-seat .bs-name,.bjl-seat.you .bs-name{font-size:max(8px,2.2cqw)!important;padding:.4cqw 1.4cqw!important;max-width:17cqw}}

/* ---- v60: round seat markers, placed chips match the dock chips, chip arrows, smaller gold Deal ---- */
.bjl-seat button,.bjl-seat div,.bjl-seat span{outline:none!important}
.bs-sit,.bs-chip,.bs-side{border-radius:50%!important}
.bs-chip.sel{box-shadow:0 0 0 .3cqw rgba(231,194,98,.9),0 0 1.4cqw rgba(231,194,98,.55)!important}
.bs-chip.on{position:relative;border:0!important;color:var(--fg,#fff)!important;background:repeating-conic-gradient(from -6deg,#F4F1E8 0 11deg,var(--bg,#9E2330) 11deg 45deg)!important;box-shadow:0 .4cqw .9cqw rgba(0,0,0,.55),0 2px 0 rgba(0,0,0,.35),inset 0 0 0 1px rgba(0,0,0,.35)!important}
.bs-chip.on::before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--bg,#9E2330) 78%,#fff),var(--bg,#9E2330) 70%);border:2px dashed color-mix(in srgb,var(--fg,#fff) 55%,transparent)}
.bs-chip.on::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.35),transparent 45%);pointer-events:none}
.bs-chip.on b{position:relative;z-index:1;text-shadow:0 1px 0 rgba(255,255,255,.25)}
.bs-chip.on.sel{box-shadow:0 0 0 .3cqw rgba(231,194,98,.9),0 .4cqw .9cqw rgba(0,0,0,.55)!important}
.dk-chips{display:flex!important;align-items:center;justify-content:center!important;gap:max(6px,.8cqw)}
.dk-arr{width:max(26px,3cqw);height:max(26px,3cqw);border-radius:50%;border:1px solid rgba(231,194,98,.5);background:rgba(10,16,14,.8);color:#E9CF8A;font-size:max(16px,2cqw);line-height:1;cursor:pointer;padding:0;display:grid;place-items:center}
.dk-arr:disabled{opacity:.3;cursor:default}.dk-arr[hidden]{display:none!important}
.dk-chip.pick{box-shadow:0 0 0 .3cqw #E7C262,0 .4cqw .9cqw rgba(0,0,0,.55)!important}
.bjl-scene .dk-go{background:linear-gradient(180deg,#F0CF74,#D6A636)!important;color:#1B1405!important;border:0!important;border-radius:999px!important;min-width:0!important;padding:max(7px,.8cqw) max(20px,2.4cqw)!important;font-size:max(12px,1.35cqw)!important;letter-spacing:.1em;font-weight:900;text-transform:uppercase;box-shadow:0 .25cqw 0 #8E6A1C,0 .5cqw 1.2cqw rgba(0,0,0,.45)!important}
.bjl-scene .dk-go:disabled{opacity:.45;filter:grayscale(.4)}
.bjl-scene .dk-go:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}
.bjl-scene .dk-alt{font-size:max(11px,1.2cqw)}
@media(max-width:860px){.bjl-scene .dk-go{font-size:max(12px,3.2cqw)!important;padding:max(8px,1.8cqw) max(20px,5cqw)!important}.dk-arr{width:max(28px,6cqw);height:max(28px,6cqw)}}
.bs-chip.pending,.bs-chip.on.pending{animation:none!important;opacity:1!important}
.upd-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:12px 14px;border-radius:14px;background:#10172B;border:1px solid rgba(231,194,98,.6);box-shadow:0 14px 40px rgba(0,0,0,.6);color:#E8ECF7}
.upd-bar div{display:flex;flex-direction:column;gap:2px;font-size:13px}.upd-bar b{color:#E9CF8A;font-size:14px}.upd-bar span{color:#B9C2DA}.upd-bar i{font-style:normal;font-weight:800;color:#fff}
.upd-bar button{border:0;border-radius:999px;padding:8px 14px;font-weight:800;background:linear-gradient(180deg,#F0CF74,#D6A636);color:#1B1405;cursor:pointer;white-space:nowrap}
.dk-targets{display:none!important}
.bjl-scene .dk-row1{justify-content:center}
.bjl-scene,.bjl-scene *{will-change:auto}
.bjl-seat .bs-hands{contain:layout style}

/* ---- v61: smaller cards, seats lifted clear of the dock, totals on the right, tidy insurance ---- */
:root{--bj-base:6.6cqw}
@media(max-width:860px){:root{--bj-base:9cqw}}
.bjl-dhand .bjl-tot{order:-1}
@media(min-width:861px){
  .bjl-seat.s0,.bjl-seat.s4{top:54%}.bjl-seat.s1,.bjl-seat.s3{top:61%}.bjl-seat.s2{top:67%}
  .bjl-scene .dk-info{grid-column:3!important;grid-row:1/span 2!important;justify-self:end!important;text-align:right;align-items:flex-end}
  .bjl-scene .dk-info>div{display:flex;flex-direction:column;align-items:flex-end}
}
.bjl-scene .dk-ins{display:flex;flex-direction:column;align-items:center;gap:.5cqw;background:rgba(10,16,14,.9);border:1px solid rgba(201,162,74,.55);border-radius:1.4cqw;padding:.9cqw 1.6cqw}
.bjl-scene .dk-ins p{margin:0;text-align:center!important;max-width:30cqw!important;color:#E9CF8A;font-size:max(11px,1.25cqw)}
.bjl-scene .dk-ins>div{display:flex;gap:1cqw;justify-content:center!important}
.bjl-scene .dk-ins .dk-go{font-size:max(11px,1.2cqw)!important;padding:max(6px,.6cqw) max(14px,1.8cqw)!important}
.bjl-scene .dk-ins .dk-alt{background:transparent;border:1px solid rgba(231,194,98,.5);color:#E9CF8A;border-radius:999px;padding:max(6px,.6cqw) max(14px,1.6cqw);font-weight:700;cursor:pointer}
.dk-tools [data-rebet]{width:auto!important;padding:0 max(8px,1cqw)!important}
@media(min-width:861px){
  .bjl-seat.s0,.bjl-seat.s4{top:56%}.bjl-seat.s1,.bjl-seat.s3{top:63%}.bjl-seat.s2{top:70%}
  .bjl-dhand{top:12.5cqw!important;--cw:calc(var(--bj-base)*.85)}
}

/* ---- v62: chips for doubles/splits, ready tick, active split hand, smaller leave-seat x ---- */
.bs-hbet{display:none!important}
.bjl-seat.turn .bs-hand{outline:0!important;box-shadow:none!important}
.bs-hand.act{outline:2px solid #E7C262;border-radius:10px;box-shadow:0 0 2cqw rgba(231,194,98,.5)}
.bs-hands:not(:has(.bs-hand:nth-child(3))){flex-wrap:nowrap!important;max-width:none!important}
.bs-hands:has(.bs-hand+.bs-hand){gap:.8cqw}
.bs-extra{display:flex;position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.4cqw}
.bs-extra:empty{display:none}
.bs-ch2{width:max(22px,3.6cqw);height:max(22px,3.6cqw);border-radius:50%;margin-left:-.9cqw;display:grid;place-items:center;font-size:max(8px,1cqw);font-weight:900;color:var(--fg);background:repeating-conic-gradient(from -6deg,#F4F1E8 0 11deg,var(--bg) 11deg 45deg);box-shadow:0 .3cqw .7cqw rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.35);position:relative}
.bs-ch2::before{content:"";position:absolute;inset:16%;border-radius:50%;background:var(--bg);border:1.5px dashed color-mix(in srgb,var(--fg) 55%,transparent)}
.bs-ch2{isolation:isolate}.bs-ch2{text-shadow:none}
.bs-name .rdy{font-style:normal;color:#5BE3A0;font-weight:900;margin-left:.5em}
.bjl-seat .bs-x{width:max(16px,2.2cqw)!important;height:max(16px,2.2cqw)!important;font-size:max(11px,1.4cqw)!important;left:calc(50% + 3cqw)!important;top:-5.2cqw!important;right:auto!important;padding:0!important;line-height:1}
@media(max-width:860px){.bjl-seat .bs-x{width:max(18px,5cqw)!important;height:max(18px,5cqw)!important;font-size:max(12px,3cqw)!important;left:calc(50% + 6cqw)!important;top:-9cqw!important}}
.dk-act{gap:.8cqw}.bjl-scene .dk-ready{display:flex;justify-content:center}.bjl-scene .dk-ready[hidden]{display:none!important}
.bs-ch2::before{z-index:-1}
.bs-hand.act{outline:3px solid #E7C262!important;outline-offset:2px;border-radius:12px;box-shadow:0 0 2.4cqw rgba(231,194,98,.65)!important;animation:actPulse 1.2s ease-in-out infinite}
@keyframes actPulse{50%{box-shadow:0 0 .8cqw rgba(231,194,98,.35)}}
.bjl-seat.turn .bs-name{border-color:#E7C262!important;box-shadow:0 0 1.4cqw rgba(231,194,98,.7)}
.bjl-seat.turn .bs-name::before{content:"▶ ";color:#E7C262;font-size:.85em}

/* ---- v63: lighter rendering while a blackjack table is open ---- */
body:has(.main.bjl-locked) .aurora,body:has(.main.bjl-locked) .aurora *{display:none!important;animation:none!important}
body:has(.main.bjl-locked) .top,body:has(.main.bjl-locked) .side,body:has(.main.bjl-locked) .bottom-nav,body:has(.main.bjl-locked) .income{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.bjl-scene .bjd-svg{animation:none!important}
.bs-hand.act{animation:none!important}
.bjl-msg.you{animation:none!important}
.bjl-seat{contain:layout style}
.bjl-scene .pcard,.bjl-scene .bs-chip,.bjl-scene .dk-chip{backface-visibility:hidden}
.bjl-scene .bjl-cards .pcard{will-change:transform}
.rk-svg{display:inline-block;vertical-align:-.28em;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.vtag.rk.gem{background:none!important;padding:0 3px!important}

/* ---- v64: outcome tags ---- */
.bs-tag{top:9.4cqw!important;z-index:6}
.bs-tag span{display:inline-flex!important;flex-direction:column;align-items:center;gap:0;padding:.35cqw 1.8cqw!important;border-radius:1.2cqw!important;line-height:1.15;border:1px solid transparent;box-shadow:0 .5cqw 1.4cqw rgba(0,0,0,.5);animation:tagPop .45s cubic-bezier(.2,1.4,.4,1) both}
.bs-tag span b{font-size:max(9px,1cqw);letter-spacing:.14em;text-transform:uppercase;font-weight:800;opacity:.85}
.bs-tag span i{font-style:normal;font-size:max(12px,1.7cqw);font-weight:900;letter-spacing:.01em}
.bs-tag span small{font-size:max(8px,.9cqw);font-weight:700;opacity:.75;margin-top:.1cqw}
.bs-tag .w{background:linear-gradient(180deg,#1F6C4A,#0F3A27)!important;border-color:#4FCF8E!important;color:#E4FBEF!important;box-shadow:0 0 2cqw rgba(79,207,142,.35),0 .5cqw 1.4cqw rgba(0,0,0,.5)}
.bs-tag .l{background:linear-gradient(180deg,#6A1C28,#3E0F18)!important;border-color:#A8404E!important;color:#F8D9DD!important}
.bs-tag .p{background:linear-gradient(180deg,#46514C,#2A322F)!important;border-color:#7E8B85!important;color:#EDF1EE!important}
.bs-tag .bj{background:linear-gradient(180deg,#F0CF74,#C9A24A)!important;border-color:#fff3c4!important;color:#2A1B00!important;box-shadow:0 0 2.4cqw rgba(231,194,98,.55),0 .5cqw 1.4cqw rgba(0,0,0,.5)}
@keyframes tagPop{from{opacity:0;transform:translateY(-1cqw) scale(.85)}}
@media(max-width:860px){.bs-tag{top:15cqw!important}.bs-tag span{padding:.6cqw 2.4cqw!important;border-radius:2cqw!important}.bs-tag span b{font-size:max(8px,2cqw)}.bs-tag span i{font-size:max(11px,3cqw)}.bs-tag span small{font-size:max(8px,1.8cqw)}}
.dk-schips{display:flex;align-items:center;justify-content:center;gap:max(4px,.5cqw);margin-top:.4cqw}
.dk-schips span{font-size:max(9px,1cqw);letter-spacing:.1em;text-transform:uppercase;color:#9AA6C4;margin-right:.4cqw}
.dk-sc{width:max(22px,2.6cqw);height:max(22px,2.6cqw);border-radius:50%;border:2px dashed color-mix(in srgb,var(--fg) 60%,transparent);background:var(--bg);color:var(--fg);font-weight:900;font-size:max(8px,.95cqw);cursor:pointer;padding:0;display:grid;place-items:center;box-shadow:0 .2cqw .5cqw rgba(0,0,0,.5)}
.dk-sc.pick{box-shadow:0 0 0 .25cqw #E7C262,0 .2cqw .5cqw rgba(0,0,0,.5)}
@media(max-width:860px){.dk-sc{width:max(24px,6cqw);height:max(24px,6cqw);font-size:max(9px,2.2cqw)}.dk-schips span{font-size:max(9px,2cqw)}}
.live-table .c-game .gi{width:26px;height:26px;display:inline-grid;place-items:center;border-radius:7px;overflow:hidden;flex:none;font-size:15px;margin-right:8px;vertical-align:middle}
.live-table .c-game .gi svg{width:100%;height:100%;display:block}
.live-table .c-game{white-space:nowrap}
.machine-bar{display:none!important}

/* ---- v65: only the hand outline highlights (cards and totals stay plain) ---- */
.bs-hand.act .pcard{box-shadow:none!important;filter:none!important}
.bs-hand.act .bjl-tot{box-shadow:none!important;border-color:inherit}

/* ---- v66: bet tools live beside the chips, not on top of the seats; smaller outcome tags tucked under the name ---- */
.dk-tools[hidden]{display:none!important}
@media(min-width:861px){
  .bjl-scene .bjl-dock .dk-tools{grid-column:1!important;grid-row:1/span 2!important;justify-self:end;align-self:center;display:flex;flex-direction:column;gap:.6cqw;margin-right:1cqw}
}
@media(max-width:860px){
  .bjl-scene .bjl-dock .dk-tools{justify-content:center;margin:0 0 1cqw}
}
.bs-tag{top:7.6cqw!important}
.bs-tag span{padding:.2cqw 1.3cqw!important;border-radius:1cqw!important}
.bs-tag span b{font-size:max(8px,.8cqw)!important}
.bs-tag span i{font-size:max(11px,1.35cqw)!important}
.bs-tag span small{display:none!important}
@media(max-width:860px){.bs-tag{top:12cqw!important}.bs-tag span{padding:.4cqw 1.8cqw!important}.bs-tag span b{font-size:max(7px,1.6cqw)!important}.bs-tag span i{font-size:max(10px,2.5cqw)!important}}

/* ---- v67: compact bet tools, tag hugs the name ---- */
.bjl-scene .bjl-dock .dk-tools button{padding:0 !important;width:max(24px,2.3cqw)!important;height:max(24px,2.3cqw)!important;min-width:0!important;font-size:max(11px,1.1cqw)!important;line-height:1;display:grid;place-items:center}
.bjl-scene .bjl-dock .dk-tools [data-rebet]{width:auto!important;padding:0 max(7px,.7cqw)!important}
@media(min-width:861px){.bs-tag{top:6.2cqw!important}.bjl-scene .bjl-dock .dk-tools{gap:.4cqw}}
@media(max-width:860px){.bjl-scene .bjl-dock .dk-tools button{width:max(26px,7cqw)!important;height:max(26px,7cqw)!important;font-size:max(11px,3cqw)!important}}

/* ---- v68: compact dock so nothing overlaps the seats at any size ---- */
.bjl-scene .bjl-dock .dk-chip{width:max(30px,4.1cqw)!important;height:max(30px,4.1cqw)!important;font-size:max(10px,1.2cqw)!important}
.bjl-scene .bjl-dock .dk-chips{gap:max(4px,.6cqw)!important}
.bjl-scene .bjl-dock .dk-arr{width:max(22px,2.4cqw)!important;height:max(22px,2.4cqw)!important;font-size:max(13px,1.6cqw)!important}
.bjl-scene .bjl-dock .dk-sc{width:max(20px,2.2cqw)!important;height:max(20px,2.2cqw)!important;font-size:max(8px,.85cqw)!important}
.bjl-scene .bjl-dock .dk-schips{margin-top:.2cqw!important;gap:max(3px,.4cqw)!important}
.bjl-scene .bjl-dock .dk-schips span{font-size:max(8px,.85cqw)!important}
.bjl-scene .bjl-dock .dk-go{padding:max(5px,.5cqw) max(16px,2cqw)!important;font-size:max(11px,1.2cqw)!important}
.bjl-scene .bjl-dock .dk-tools button{width:max(22px,2cqw)!important;height:max(22px,2cqw)!important;font-size:max(10px,1cqw)!important}
.bjl-scene .bjl-dock .dk-tools [data-rebet]{width:max(22px,2cqw)!important;padding:0!important}
@media(min-width:861px){.bjl-scene .bjl-dock{row-gap:.3cqw!important}}
@media(max-width:860px){
  .bjl-scene .bjl-dock .dk-chip{width:max(30px,9.6cqw)!important;height:max(30px,9.6cqw)!important;font-size:max(10px,2.8cqw)!important}
  .bjl-scene .bjl-dock .dk-arr{width:max(24px,6cqw)!important;height:max(24px,6cqw)!important}
  .bjl-scene .bjl-dock .dk-sc{width:max(22px,5.6cqw)!important;height:max(22px,5.6cqw)!important;font-size:max(8px,2cqw)!important}
  .bjl-scene .bjl-dock .dk-go{font-size:max(11px,3cqw)!important;padding:max(6px,1.4cqw) max(16px,4.5cqw)!important}
  .bjl-scene .bjl-dock .dk-tools button{width:max(24px,6.4cqw)!important;height:max(24px,6.4cqw)!important;font-size:max(10px,2.8cqw)!important}
  .bjl-scene .bjl-dock .dk-tools{margin:0 0 .6cqw!important;gap:1.4cqw}
}
@media(max-width:860px){.bjl-seat.s0,.bjl-seat.s4{top:45%!important}.bjl-seat.s1,.bjl-seat.s3{top:50%!important}.bjl-seat.s2{top:54%!important}}
@media(max-width:860px){
  .bjl-seat .bs-side{width:36px!important;height:36px!important}
  .bjl-seat .bs-side small{font-size:8px!important}.bjl-seat .bs-side b{font-size:11px!important}
  .bjl-seat.s1{left:73%!important}.bjl-seat.s3{left:27%!important}
}

/* ---- v69: bet tools in a row above the chips ---- */
@media(min-width:861px){
  .bjl-scene .bjl-dock{grid-template-rows:auto auto auto!important}
  .bjl-scene .bjl-dock .dk-info{grid-row:1/span 3!important}
  .bjl-scene .bjl-dock .dk-tools{grid-column:2!important;grid-row:1!important;justify-self:center!important;flex-direction:row!important;margin:0!important;gap:.8cqw}
  .bjl-scene .dk-mid{grid-row:2!important}
  .bjl-scene .dk-act,.bjl-dock:has(.dk-play:not([hidden])) .dk-act,.bjl-dock:has(.dk-bet:not([hidden])) .dk-act{grid-row:3!important}
  .bjl-seat.s0,.bjl-seat.s4{top:52%!important}.bjl-seat.s1,.bjl-seat.s3{top:58%!important}.bjl-seat.s2{top:63.5%!important}
}
@media(max-width:860px){.bjl-scene .bjl-dock .dk-tools{order:-1;grid-column:1/-1!important;justify-content:center;margin:0!important}}
.bjl-seat .bs-side.empty,.bjl-seat .bs-side{padding:0!important;text-align:center}
.bjl-scene .bjl-dock .dk-tools button,.bjl-scene .bjl-dock .dk-tools [data-rebet]{width:max(30px,2.6cqw)!important;height:max(30px,2.6cqw)!important;font-size:max(13px,1.3cqw)!important}
@media(max-width:860px){
  .bjl-scene .bjl-dock .dk-tools{grid-row:1!important;grid-column:1/-1!important}
  .bjl-scene .bjl-dock .dk-mid{grid-row:2!important;grid-column:1/-1!important}
  .bjl-scene .bjl-dock .dk-info{grid-row:3!important;grid-column:1!important}
  .bjl-scene .bjl-dock .dk-act{grid-row:3!important;grid-column:2!important}
  .bjl-scene .bjl-dock .dk-tools button,.bjl-scene .bjl-dock .dk-tools [data-rebet]{width:32px!important;height:32px!important;font-size:13px!important}
}

/* ---- v70: smaller player cards (dealer unchanged), side bets half the main chip ---- */
:root{--bj-base:5.8cqw}
@media(max-width:860px){:root{--bj-base:8cqw}}
.bjl-dhand{--cw:calc(var(--bj-base)*.967)!important}
@media(max-width:860px){.bjl-dhand{--cw:calc(var(--bj-base)*.956)!important}}
@media(min-width:861px){.bjl-seat .bs-side,.bjl-seat .bs-side.empty{width:27px!important;height:27px!important}.bjl-seat .bs-side small{font-size:max(6px,.7cqw)!important}.bjl-seat .bs-side b{font-size:max(7px,.9cqw)!important}}
@media(max-width:860px){.bjl-seat .bs-side,.bjl-seat .bs-side.empty{width:20px!important;height:20px!important;border-width:1px!important}.bjl-seat .bs-side small{font-size:6px!important}.bjl-seat .bs-side b{font-size:8px!important}}
/* v71: side bets = exactly half the main bet chip, at any screen size */
.bjl-seat .bs-side,.bjl-seat .bs-side.empty{width:2.9cqw!important;height:2.9cqw!important;min-width:20px;min-height:20px}
.bjl-seat .bs-side small{font-size:max(6px,.75cqw)!important}.bjl-seat .bs-side b{font-size:max(8px,1cqw)!important}
@media(max-width:860px){.bjl-seat .bs-side,.bjl-seat .bs-side.empty{width:4.5cqw!important;height:4.5cqw!important;min-width:20px;min-height:20px}.bjl-seat .bs-side small{font-size:max(6px,1.2cqw)!important}.bjl-seat .bs-side b{font-size:max(8px,1.7cqw)!important}}
/* v72: extra (double/split) chips stack on the main chip, never over side bets; placed side bets show just the amount */
.bs-extra{position:absolute!important;left:calc(50% + .2cqw);top:52%;display:flex;z-index:5;margin:0!important;pointer-events:none}
.bs-extra .bs-ch2{margin-left:-.6cqw!important;box-shadow:0 .3cqw .8cqw rgba(0,0,0,.6)}
.bjl-seat .bs-side:not(.empty) small{display:none!important}
.bjl-seat .bs-side:not(.empty) b{font-size:max(8px,1.1cqw)!important}
.bjl-seat .bs-side em{top:auto!important;bottom:-1.4cqw;font-size:max(7px,.9cqw)!important}
@media(max-width:860px){.bjl-seat .bs-side:not(.empty) b{font-size:max(8px,2cqw)!important}.bjl-seat .bs-side em{bottom:-2cqw;font-size:max(7px,1.6cqw)!important}.bs-extra{left:calc(50% + 2cqw)}}
/* v73: more room between phone seats */
@media(max-width:860px){
  .bjl-seat.s0{left:85%!important;top:43%!important}.bjl-seat.s1{left:68%!important;top:52.5%!important}.bjl-seat.s2{left:50%!important;top:61.5%!important}.bjl-seat.s3{left:32%!important;top:52.5%!important}.bjl-seat.s4{left:15%!important;top:43%!important}
}
@media(max-width:380px){.bjl-seat.s0{left:87%!important;top:40%!important}.bjl-seat.s1{left:69%!important;top:51%!important}.bjl-seat.s3{left:31%!important;top:51%!important}.bjl-seat.s4{left:13%!important;top:40%!important}.bjl-seat.s2{top:62%!important}}
/* v74: phone countdown sits top-centre */
@media(max-width:860px){.bjl-scene .bjl-hud .bjl-timer{position:absolute!important;left:calc(50cqw - 3cqw)!important;top:.2cqw!important;transform:translateX(-50%)!important;width:32px!important;height:32px!important;z-index:30}.bjl-scene .bjl-hud .bjl-timer b{font-size:12px!important}}
@media(max-width:860px){.bjl-scene .bjl-dealer{top:2cqw!important}.bjl-scene .bjl-hud .bjl-timer{width:30px!important;height:30px!important;top:.6cqw!important}}
/* v75: phone status row (countdown + message pill) centred at the top */
@media(max-width:860px){
  .bjl-scene .bjl-hud{left:50%!important;right:auto!important;top:.6cqw!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:2cqw;width:max-content;max-width:96cqw}
  .bjl-scene .bjl-hud .bjl-timer{position:relative!important;left:auto!important;top:auto!important;transform:none!important;order:-1;flex:none}
  .bjl-scene .bjl-hud .bjl-msg{margin:0!important;white-space:nowrap}
}

/* v122 phone top bar: balance, arrow and + sit as one group dead-centre of the screen, vertically level with the bar */
@media(max-width:860px){
  .top{position:relative}
  body:not(.guest) .top .wallet{position:absolute!important;left:50%!important;top:50%!important;margin:0!important;transform:translate(-50%,-50%);justify-self:auto!important;align-items:center;height:40px}
  .top .wallet .bal,.top .wallet .wallet-btn,.top .wallet .dep-plus{height:40px!important;align-self:center;box-shadow:none!important;margin:0!important}
  .top .wallet .dep-plus{display:grid;place-items:center;line-height:1}
}
@media(max-width:380px){ .top .wallet .bal{font-size:12px!important;padding:0 6px!important} }
@media(max-width:860px){ body:not(.guest) .top{display:flex!important;justify-content:space-between} body:not(.guest) .top .top-left{display:flex!important} body:not(.guest) .top .top-right{margin-left:auto!important} }
@media(max-width:860px){ .top .wallet .dep-plus{margin-left:4px!important;border-radius:var(--r-md,12px)!important} }
/* v122 raffle now shares the races layout */
.rf-page{max-width:900px;margin-left:auto;margin-right:auto}
.rf-ban .rc-br{padding-right:20px}
.rf-me{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rf-page .rf-mine{margin-top:0}
.rf-page .rc-bar .rf-resbar{width:100%}
.rf-page .rc-row[data-pid]{cursor:pointer}
@media(max-width:620px){.rf-ban{flex-direction:column}.rf-ban .rc-br{align-items:flex-start;text-align:left;padding-right:0}.rf-me .btn{width:100%}}
/* v122 leaderboards cleanup: hall of fame uses the same rows as races */
.rc-head.hof,.rc-row.hof{grid-template-columns:54px 1fr 110px 130px}
.hof-pl{flex-direction:column;align-items:flex-start;gap:1px}.hof-pl small{color:#8e98b8;font-size:12px}
.hof-list{margin-bottom:10px}.lb2-p[data-pid],.rc-row[data-pid]{cursor:pointer}
.lb-page{max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:560px){.rc-head.hof,.rc-row.hof{grid-template-columns:42px 1fr 96px;padding:0 10px}.hof .col-bet{display:none}}

/* v122 blackjack lobby: live mini-tables + a quiet limits placard on the felt */
.bjl-limits{position:absolute;left:50%;top:calc(100% + .8cqw);transform:translateX(-50%);z-index:3;pointer-events:none;white-space:nowrap;font-size:clamp(10px,1.45cqw,12px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(231,194,98,.55)}
.bjl-limits b{color:rgba(240,214,140,.85);font-weight:800;letter-spacing:.06em}
@media(max-width:860px){.bjl-limits{top:calc(max(100%, 16cqw) + 1.5cqw);font-size:10px;letter-spacing:.1em}}   /* phones: below the dealer, or below the dealer's cards once dealt */
.bjl-lbody .tc-mini{border-radius:12px;padding:10px 8px 8px;background:radial-gradient(120% 120% at 50% 0%,#14774f,#0a3d2c);border:1px solid rgba(231,194,98,.25);display:flex;flex-direction:column;gap:8px}
.tm-d{min-height:30px;display:flex;justify-content:center;align-items:center;gap:3px}.tm-dl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(231,194,98,.6);font-weight:700}
.tm-d .dt,.tm-c em{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:rgba(0,0,0,.45);border-radius:6px;padding:1px 5px;margin-left:3px}
.tm-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.tm-s{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:3px 0;border-radius:8px;border:1px solid transparent}
.tm-s.turn{border-color:var(--th);background:rgba(255,255,255,.07)}
.tm-s small{font-size:9.5px;color:#cfe8dc;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-s.empty small{opacity:.45}
.tm-c{min-height:30px;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap}
.tm-c .mc{margin-left:-7px}.tm-c .mc:first-child{margin-left:0}
.mc{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:20px;height:28px;border-radius:4px;background:#fff;color:#1B2240;font-style:normal;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.mc b{font-size:11px;font-weight:800}.mc u{text-decoration:none;font-size:11px}.mc.r{color:#D6264A}
.mc.back{background:repeating-linear-gradient(45deg,#2a3a8a 0 3px,#1c275f 3px 6px);border:1.5px solid #e7c262}
.tm-chip{width:22px;height:22px;border-radius:50%;border:2px dashed rgba(231,194,98,.5);display:grid;place-items:center;font-size:8.5px;font-weight:800;color:#fff}
.tm-chip.on{border:2px solid #fff;background:var(--th);color:#10161f;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.tc-stat{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#cdd5ee}
.tc-stat i{width:8px;height:8px;border-radius:50%;background:#6b7599;flex:none}
.tc-stat.bet i{background:#F6C646;box-shadow:0 0 8px #F6C646}.tc-stat.play i{background:#8B7BFF;box-shadow:0 0 8px #8B7BFF;animation:tcPulse 1.2s infinite}.tc-stat.res i{background:#4DA3FF}
@keyframes tcPulse{50%{opacity:.35}}
.tc-stat span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bjl-lbody .bjl-tcard .tc-top b{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bjl-lbody .tc-top{flex-wrap:nowrap!important}.bjl-lbody .tc-live{flex:none}
@media(min-width:861px){.bjl-lbody .bjl-lhead{transform-origin:top center;zoom:.82}}
.lb-page .section-title{text-align:left}
.lb2-p.empty{opacity:.35;border-style:dashed}
.lb-page .lb2-bar{margin-top:6px}
.lb-page .tabs.lb2-k{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.lb2-list{margin-top:10px}

.bjl-tcard.poor{opacity:.62}.bjl-tcard.poor .tc-go{color:#FF8FA0}

/* open-round pill: floats at the bottom-right (above the bottom bar on phones) so it never pushes the page down or sits off-centre above the content */
.open-round{position:fixed!important;right:18px;bottom:18px;left:auto;top:auto;z-index:60;width:auto!important;max-width:min(380px,calc(100vw - 36px))!important;margin:0!important;padding:9px 10px 9px 14px;border-radius:999px;background:rgba(20,22,40,.94);border:1px solid rgba(255,200,61,.55);box-shadow:0 10px 30px rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px}
.open-round .or-go{padding:5px 14px;border-radius:999px}
@media(max-width:860px){.open-round{right:12px;bottom:calc(68px + env(safe-area-inset-bottom,0px))}}

/* frozen bet panel while a round is open */
.mode-tabs[inert],.auto-box[inert]{opacity:.45;pointer-events:none}

/* single-player blackjack: the four moves sit in a row, centred under the player's cards */
.bj-acts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(560px,94%);margin:16px auto 0!important;padding:10px;border-radius:16px;background:rgba(10,14,32,.55);border:1px solid var(--line)}
.bj-acts .bj-ab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 8px;border-radius:12px;border:0;background:rgba(120,130,190,.28);color:#fff;font-weight:800;font-size:15px;cursor:pointer;transition:background .15s}
.bj-acts .bj-ab:hover:not(:disabled){background:rgba(140,150,210,.4)}
.bj-acts .bj-ab i{display:inline-flex;width:20px;height:20px}.bj-acts .bj-ab svg{width:100%;height:100%}
.bj-acts .bj-ab.hit i{color:#35E39A}.bj-acts .bj-ab.stand i{color:#FF5470}.bj-acts .bj-ab.split i{color:#9FB3FF}.bj-acts .bj-ab.double i{color:#FFB238}
.bj-acts .bj-ab:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:700px){.bj-acts{gap:6px;padding:8px;width:100%}.bj-acts .bj-ab{flex-direction:column;gap:3px;min-height:54px;font-size:12.5px}}

/* single-player blackjack hands: total badge on the cards, bet pill underneath, outline shows who won */
.bj-table .bj-hand{--ring:transparent;padding:6px 8px;border:0!important;background:none!important;display:flex;flex-direction:column;align-items:center}
.bj-hand>.hand-label{display:none!important}
.hb-stage{position:relative;display:inline-flex;justify-content:center}
.hb-tot{position:absolute;top:-12px;right:-16px;z-index:4;min-width:40px;padding:5px 11px;border-radius:99px;background:#1d2347;color:#fff;font:800 15px/1 Manrope,sans-serif;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.hb-tot.bj{background:linear-gradient(180deg,#FFD66B,#F2A81D);color:#241700}
.hb-tot.bust{background:#EE3B63}
.hb-pill{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:5px 8px 5px 10px;border-radius:99px;background:rgba(12,16,40,.88);border:1.5px solid var(--ring);color:#fff;font:800 14px/1 Manrope,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.hb-pill .coin{width:17px;height:17px}
.hb-chip{width:22px;height:22px;border-radius:50%;background:#4B5BFF;box-shadow:inset 0 0 0 3px #4B5BFF,inset 0 0 0 5px rgba(255,255,255,.85);flex:none}
.bj-hand .pcard{box-shadow:0 0 0 2.5px var(--ring),0 6px 14px rgba(0,0,0,.35)!important}
.bj-hand.active{--ring:#4B5BFF}.bj-hand.active .hb-tot{background:#4B5BFF}
.bj-hand.res-win{--ring:#6DEBC4}.bj-hand.res-win .hb-tot{background:#6DEBC4;color:#06281B}
.bj-hand.res-lose{--ring:#EE3B63}.bj-hand.res-lose .hb-tot{background:#EE3B63}
.bj-hand.res-push{--ring:#9FB3FF}
.bj-hand.dim{opacity:.55;filter:grayscale(.55)}
.bj-hand{transition:opacity .2s,filter .2s}
@media(max-width:700px){.hb-tot{top:-10px;right:-12px;min-width:34px;padding:4px 9px;font-size:13px}.hb-pill{margin-top:10px;font-size:12.5px;padding:4px 7px 4px 9px}.hb-chip{width:19px;height:19px}}

/* video poker pay table: one continuous highlighted row in the casino's mint, instead of a lime bar with a gap */
.vp-pay{gap:2px 0!important;padding:8px!important;background:linear-gradient(180deg,rgba(16,22,48,.9),rgba(8,12,28,.92))!important;border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 26px rgba(0,0,0,.28)}
.vp-pay div{padding:7px 14px!important;border-radius:0!important;font-size:13px;font-weight:600;color:rgba(228,234,255,.7);transition:background .25s,color .25s,box-shadow .25s}
.vp-pay div:nth-child(even){text-align:right;font-variant-numeric:tabular-nums;color:rgba(228,234,255,.5)}
.vp-pay div:nth-child(odd){border-radius:9px 0 0 9px!important}.vp-pay div:nth-child(even){border-radius:0 9px 9px 0!important}
.vp-pay div.on{color:#fff!important;font-weight:800;text-shadow:0 0 12px rgba(53,227,154,.55)}
.vp-pay div.on:nth-child(odd){background:linear-gradient(90deg,rgba(53,227,154,.34),rgba(53,227,154,.17))!important;box-shadow:inset 3px 0 0 #35E39A,inset 0 1px 0 rgba(53,227,154,.5),inset 0 -1px 0 rgba(53,227,154,.5)!important}
.vp-pay div.on:nth-child(even){background:rgba(53,227,154,.17)!important;color:#8FF5C9!important;box-shadow:inset 0 1px 0 rgba(53,227,154,.5),inset 0 -1px 0 rgba(53,227,154,.5),inset -1px 0 0 rgba(53,227,154,.5)!important}

/* result pill: a slim glass capsule centred at the top of the game (bottom for Crash, whose multiplier sits there) instead of a heavy box in the corner */
.outcome.corner{left:50%!important;right:auto!important;top:12px!important;transform:translateX(-50%)!important;flex-direction:row;align-items:center;gap:12px;min-width:0;padding:8px 18px 8px 16px;border-radius:999px;border:1px solid rgba(53,227,154,.55);background:linear-gradient(180deg,rgba(20,30,58,.95),rgba(9,14,32,.97));box-shadow:0 10px 28px rgba(0,0,0,.5),0 0 0 4px rgba(53,227,154,.08),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:ocInT .35s cubic-bezier(.2,1.2,.4,1) both;white-space:nowrap}
.outcome.corner .oc-m{font-size:clamp(18px,3.4vw,23px);color:#fff;text-shadow:0 0 14px rgba(53,227,154,.55)}
.outcome.corner .oc-line{width:1px;height:20px;background:rgba(255,255,255,.18)}
.outcome.corner .oc-p{font-size:15px;color:#7CF2C0}
.outcome.corner.big{border-color:rgba(255,194,75,.7);box-shadow:0 10px 28px rgba(0,0,0,.5),0 0 0 4px rgba(255,194,75,.1),0 0 28px rgba(255,194,75,.25),inset 0 1px 0 rgba(255,255,255,.07)}
.outcome.corner.big .oc-m{text-shadow:0 0 14px rgba(255,194,75,.6)}.outcome.corner.big .oc-p{color:#FFD66B}
.outcome.corner.out{animation:ocOutT .18s ease-in both}
.stage:has(.crash-wrap) .outcome.corner{top:auto!important;bottom:14px}
@keyframes ocInT{0%{opacity:0;transform:translate(-50%,-12px) scale(.94)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes ocOutT{to{opacity:0;transform:translate(-50%,-8px) scale(.96)}}
@media(max-width:560px){.outcome.corner{top:8px!important;padding:6px 14px 6px 12px;gap:9px}.outcome.corner .oc-p{font-size:13.5px}}

/* blackjack / baccarat result banner: same glass look as the result pill, thin tone-coloured edge, no neon box or shine */
.bj-out{border:1px solid color-mix(in srgb,var(--c) 65%,transparent)!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(22,32,62,.95),rgba(9,14,32,.97))!important;box-shadow:0 12px 30px rgba(0,0,0,.5),0 0 0 4px color-mix(in srgb,var(--c) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.07)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:10px 16px 10px 18px!important;gap:1px 16px!important;min-width:min(280px,92%)!important}
.bj-out::before{display:none!important}
.bj-out .bo-t{font-size:clamp(15px,3vw,19px)!important;letter-spacing:.14em!important;text-transform:uppercase}
.bj-out .bo-s{font-size:12px!important;color:rgba(228,234,255,.62)!important;opacity:1!important}
.bj-out .bo-a{padding:7px 14px!important;font-size:15px!important;background:color-mix(in srgb,var(--c) 16%,#0A0E22)!important;border:1px solid color-mix(in srgb,var(--c) 50%,transparent)!important}

/* ---------- Keno: bigger raised tiles, gem hits, a tidy payout strip ---------- */
.keno-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.keno-top{display:flex;justify-content:space-between;align-items:center;width:min(100%,640px);padding:0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8E9AC8)}
.keno-top b{padding:4px 12px;border-radius:99px;background:rgba(139,92,255,.16);border:1px solid rgba(139,92,255,.4);color:#D9CCFF;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.keno-grid{width:min(100%,640px)!important;gap:clamp(5px,1.1vw,10px)!important;padding:clamp(10px,2vw,18px);border-radius:20px;background:linear-gradient(180deg,rgba(18,24,52,.7),rgba(8,12,30,.8));border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.3);box-sizing:border-box}
.kcell{position:relative;aspect-ratio:1.08!important;border-radius:12px!important;background:linear-gradient(180deg,#27315E,#1B2349)!important;box-shadow:0 4px 0 #11173A,inset 0 1px 0 rgba(255,255,255,.08)!important;color:#AEB9E8;font:800 clamp(14px,2.3vw,19px)/1 var(--ui,Manrope,sans-serif);font-variant-numeric:tabular-nums;transition:transform .12s,box-shadow .15s,background .15s,color .15s;overflow:hidden}
.kcell:hover{transform:translateY(-2px);color:#fff;box-shadow:0 6px 0 #11173A,0 0 18px rgba(139,92,255,.35),inset 0 1px 0 rgba(255,255,255,.1)!important}
.kcell:active{transform:translateY(2px);box-shadow:0 2px 0 #11173A!important}
.kcell.pick{background:linear-gradient(180deg,#9A6BFF,#6A3FE0)!important;color:#fff;box-shadow:0 4px 0 #3F2494,0 0 20px rgba(139,92,255,.45),inset 0 1px 0 rgba(255,255,255,.35)!important;text-shadow:0 1px 6px rgba(30,10,80,.5)}
.kcell.drawn{background:linear-gradient(180deg,#2A1830,#1B1030)!important;color:#FF6F8E!important;box-shadow:0 3px 0 #120A22,inset 0 0 0 1px rgba(255,84,112,.25)!important;transform:none}
.kcell.drawn.pick{background:linear-gradient(180deg,#2A1830,#1B1030)!important}
.kcell.hit{background:linear-gradient(180deg,#143A33,#0C2420)!important;color:#fff!important;box-shadow:0 3px 0 #08181A,0 0 22px rgba(53,227,154,.5),inset 0 0 0 1px rgba(53,227,154,.55)!important;animation:kHit .38s cubic-bezier(.2,1.5,.4,1)}
.kcell.hit::before{content:"";position:absolute;inset:9% 14%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23d8ffee'/%3E%3Cstop offset='1' stop-color='%235af0ac'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='14,8 50,8 44,24 20,24' fill='url(%23a)'/%3E%3Cpolygon points='14,8 20,24 2,24' fill='%237bf5bd'/%3E%3Cpolygon points='50,8 62,24 44,24' fill='%233fd991'/%3E%3Cpolygon points='2,24 20,24 32,58' fill='%2322b873'/%3E%3Cpolygon points='20,24 44,24 32,58' fill='%232fd085'/%3E%3Cpolygon points='44,24 62,24 32,58' fill='%230f8a55'/%3E%3Cpolygon points='14,8 50,8 62,24 32,58 2,24' fill='none' stroke='%23c8ffe6' stroke-opacity='.7' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpolygon points='20,24 32,58 26,24' fill='%23fff' fill-opacity='.18'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 7px rgba(53,227,154,.85)) drop-shadow(0 2px 2px rgba(0,0,0,.4));z-index:0;animation:kGlow 2.4s ease-in-out infinite}
.kcell.hit::after{content:"";position:absolute;top:14%;right:20%;width:11px;height:11px;background:radial-gradient(circle,#fff 0,rgba(255,255,255,0) 70%);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);z-index:1;animation:kSpark 2.4s ease-in-out infinite}
.kcell.hit{z-index:0}.kcell.hit>*{position:relative}
.kcell.hit{text-shadow:0 1px 3px rgba(0,50,30,1),0 0 6px rgba(0,50,30,.9);font-weight:800}
@keyframes kHit{0%{transform:scale(.8)}100%{transform:scale(1)}}@keyframes kGlow{50%{filter:drop-shadow(0 0 11px rgba(53,227,154,1)) drop-shadow(0 2px 2px rgba(0,0,0,.4))}}@keyframes kSpark{0%,100%{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
.keno-pays{display:flex!important;gap:0!important;width:min(100%,640px)!important;margin-top:0!important;padding:0;border-radius:14px;overflow:hidden;background:rgba(8,12,30,.85);border:1px solid rgba(255,255,255,.07);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.keno-pays .kp{flex:1 1 0;min-width:0;display:flex;flex-direction:column;text-align:center;background:none!important;padding:0!important;border-radius:0!important;border-left:1px solid rgba(255,255,255,.05);transition:background .2s}
.keno-pays .kp:first-child{border-left:0}
.kp-m{padding:9px 2px 7px;font:800 clamp(11px,1.7vw,13px)/1 var(--ui,Manrope,sans-serif);color:#E8EDFF;font-variant-numeric:tabular-nums}
.kp-h{display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 2px;background:rgba(0,0,0,.28);font:700 clamp(10px,1.6vw,12px)/1 var(--ui,Manrope,sans-serif);color:#9FB0E8}
.kp-g{width:10px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23d8ffee'/%3E%3Cstop offset='1' stop-color='%235af0ac'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='14,8 50,8 44,24 20,24' fill='url(%23a)'/%3E%3Cpolygon points='14,8 20,24 2,24' fill='%237bf5bd'/%3E%3Cpolygon points='50,8 62,24 44,24' fill='%233fd991'/%3E%3Cpolygon points='2,24 20,24 32,58' fill='%2322b873'/%3E%3Cpolygon points='20,24 44,24 32,58' fill='%232fd085'/%3E%3Cpolygon points='44,24 62,24 32,58' fill='%230f8a55'/%3E%3Cpolygon points='14,8 50,8 62,24 32,58 2,24' fill='none' stroke='%23c8ffe6' stroke-opacity='.7' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpolygon points='20,24 32,58 26,24' fill='%23fff' fill-opacity='.18'/%3E%3C/svg%3E") center/contain no-repeat}
.keno-pays .kp.on{background:linear-gradient(180deg,rgba(53,227,154,.28),rgba(53,227,154,.12))!important;box-shadow:inset 0 0 0 1.5px rgba(53,227,154,.75)}
.keno-pays .kp.on .kp-m{color:#fff;text-shadow:0 0 12px rgba(53,227,154,.7)}.keno-pays .kp.on .kp-h{background:rgba(53,227,154,.2);color:#C9FFE8}
.kp-none{width:100%;padding:14px;text-align:center;color:var(--muted,#8E9AC8);font-size:13px;font-weight:600}
@media(max-width:560px){.keno-grid{padding:10px;border-radius:16px}.kcell{border-radius:9px!important}}

/* ===== Blackjack Lobby: join / decision popup (centered on the felt under the dealer) ===== */
.bjl-pop{--pb:max(44px,6.4cqw);--pr:max(54px,8cqw);position:absolute;left:50%;top:26.5cqw;transform:translateX(-50%);z-index:9;display:flex;flex-direction:column;align-items:center;gap:1cqw;pointer-events:none;animation:ppIn .28s cubic-bezier(.2,1.2,.4,1)}
.bjl-pop[hidden]{display:none}
.bjl-pop>*{pointer-events:auto}
@keyframes ppIn{from{opacity:0;transform:translateX(-50%) translateY(-1cqw) scale(.92)}to{opacity:1;transform:translateX(-50%)}}
.pp-row{display:flex;align-items:center;justify-content:center;gap:1.6cqw}
.pp-side{display:flex;align-items:center;gap:1.2cqw}
.pp-ring{position:relative;width:var(--pr);height:var(--pr);display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1A2340,#0A1020 75%);box-shadow:0 0 0 .3cqw rgba(231,194,98,.35),0 1cqw 2.2cqw rgba(0,0,0,.55)}
.pp-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.pp-ring .tr-bg{fill:none;stroke:rgba(255,255,255,.08);stroke-width:5}.pp-ring .tr-fg{fill:none;stroke:#E7C262;stroke-width:5;stroke-linecap:round}
.pp-ring b{position:relative;font:800 max(18px,3.2cqw)/1 Georgia,"Times New Roman",serif;color:#FBEFC8;font-variant-numeric:tabular-nums;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.pp-ring.low .tr-fg{stroke:#FF5470}.pp-ring.low b{color:#FF8294}
.pp-b{width:var(--pb);height:var(--pb);border-radius:50%;display:grid;place-items:center;padding:0;cursor:pointer;color:#FBEFC8;border:2px solid rgba(231,194,98,.75);background:radial-gradient(circle at 50% 30%,#232E52,#0C1226 78%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 .8cqw 1.8cqw rgba(0,0,0,.5);transition:transform .12s,filter .12s,opacity .15s,border-color .15s}
.pp-b:hover:not(:disabled){transform:translateY(-.3cqw);filter:brightness(1.15)}.pp-b:active:not(:disabled){transform:translateY(.15cqw)}
.pp-b:disabled{opacity:.32;filter:grayscale(.8);cursor:default}
.pp-b svg{width:46%;height:46%}
.pp-b b{font:800 max(10px,1.45cqw)/1 var(--ui,inherit);letter-spacing:.06em;text-transform:uppercase}
.pp-b .px{font:800 max(15px,2.4cqw)/1 Georgia,serif;color:#E7C262}.pp-b .prb{display:none}
.pp-b.x2.rebet{border-color:#35E39A;color:#6BF2B8;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 1.6cqw rgba(53,227,154,.35),0 .8cqw 1.8cqw rgba(0,0,0,.5)}
.pp-b.x2.rebet .px{display:none}.pp-b.x2.rebet .prb{display:block}
.pp-b.act{border-color:var(--a);--a:#E7C262}
.pp-b.hit{--a:#35E39A}.pp-b.std{--a:#FF5470}.pp-b.dbl{--a:#E7C262}.pp-b.spl{--a:#4DA3FF}
.pp-b.act b{color:var(--a)}
.pp-b.act:hover:not(:disabled){box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 1.6cqw color-mix(in srgb,var(--a) 45%,transparent),0 .8cqw 1.8cqw rgba(0,0,0,.5)}
.pp-b[hidden]{display:none}
.bjl-pop.pj .pp-b.act,.bjl-pop.pt .pj-b{display:none}
.pp-sub{font:800 max(10px,1.45cqw)/1 var(--ui,inherit);letter-spacing:.2em;text-transform:uppercase;color:#FBEFC8;text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 2px #000;white-space:nowrap}
.bjl-pop.pt .pp-sub{color:#E7C262}
.bjl-pop.pt .pp-b.act{width:calc(var(--pb)*1.12);height:calc(var(--pb)*1.12)}
/* the popup carries the countdown, the dock no longer repeats it and the old action buttons are gone */
.bjl-dock .dk-tools button:not([data-clear]){display:none}
@media(max-width:860px){.bjl-pop{--pb:max(46px,11.5cqw);--pr:max(60px,15cqw);top:44cqw;gap:2.2cqw}.pp-row{gap:2.6cqw}.pp-side{gap:2cqw}.pp-sub{font-size:max(10px,2.6cqw)}.pp-b b{font-size:max(10px,2.5cqw)}.pp-ring b{font-size:max(18px,5.4cqw)}.pp-b .px{font-size:max(15px,4.4cqw)}}
.bjl-pop::before{content:"";position:absolute;inset:-2cqw -5cqw;z-index:-1;background:radial-gradient(closest-side,rgba(5,12,14,.78),rgba(5,12,14,0));pointer-events:none}
/* join popup sits over the dealer's torso (above the table), clear of every seat; the decision popup sits on the felt between the limits and the seats */
.bjl-pop.pj{top:13cqw}
.bjl-scene:has(.bjl-pop.pj) .bjl-limits{opacity:0}
@media(max-width:860px){.bjl-pop.pj{top:22cqw}}
.bjl-pop.pt{top:52.2cqw}
.bjl-pop.pt .pp-side{min-width:calc(var(--pb)*2.4 + 1.2cqw)}.bjl-pop.pt .pp-side.l{justify-content:flex-end}.bjl-pop.pt .pp-side.r{justify-content:flex-start}
.bjl-pop{z-index:30}
/* once your bet is in, the chip tray slides down to the table edge and greys out until the next round */
.bjl-scene .dk-mid{transition:transform .5s cubic-bezier(.3,.9,.3,1),opacity .4s,filter .4s}
.bjl-scene .dk-mid.locked{transform:translateY(62%);opacity:.38;filter:grayscale(1) brightness(.8);pointer-events:none}
.bjl-scene .dk-mid.locked .dk-targets,.bjl-scene .dk-mid.locked .dk-schips{display:none}
.bjl-scene .dk-mid.locked *{pointer-events:none!important}
.bjl-scene .dk-mid.locked{transform:translateY(100%)}
/* win banner + winning seats */
.bjl-win{position:absolute;left:50%;top:13cqw;transform:translateX(-50%);z-index:31;min-width:36cqw;padding:1.4cqw 5cqw 2.2cqw;text-align:center;background:linear-gradient(90deg,rgba(6,12,20,0),rgba(6,12,20,.88) 16%,rgba(6,12,20,.88) 84%,rgba(6,12,20,0));border-top:1px solid rgba(231,194,98,.55);border-bottom:1px solid rgba(231,194,98,.55);animation:wnIn .5s cubic-bezier(.2,1.2,.4,1) both;pointer-events:none}
.bjl-win.out{animation:wnOut .45s ease-in both}
@keyframes wnIn{from{opacity:0;transform:translateX(-50%) scale(.8)}to{opacity:1;transform:translateX(-50%)}}
@keyframes wnOut{to{opacity:0;transform:translateX(-50%) translateY(-1cqw)}}
.bjl-win small{display:block;font:700 max(11px,1.7cqw)/1.2 var(--ui,inherit);letter-spacing:.14em;text-transform:uppercase;color:#FBEFC8}
.bjl-win b{display:block;font:800 max(24px,4.6cqw)/1.1 Georgia,"Times New Roman",serif;color:#fff;text-shadow:0 0 1.6cqw rgba(231,194,98,.6),0 2px 8px rgba(0,0,0,.6);margin-top:.5cqw;font-variant-numeric:tabular-nums}
.bjl-win .wn-net{display:block;margin-top:.5cqw;font:700 max(10px,1.4cqw)/1 var(--ui,inherit);letter-spacing:.1em;color:#5BE3A0;text-transform:uppercase}
.bjl-win .wn-gem{position:absolute;left:50%;top:-1.5cqw;width:2.6cqw;height:2.6cqw;transform:translateX(-50%) rotate(45deg);background:linear-gradient(135deg,#F7DE8A,#B8861B);border:1px solid #6B4A08;box-shadow:0 0 1.4cqw rgba(231,194,98,.7)}
.bjl-win .wn-orn{position:absolute;left:50%;bottom:-.7cqw;transform:translateX(-50%);display:flex;gap:.8cqw;background:#0B1220;padding:0 1cqw}
.bjl-win .wn-orn u{width:.9cqw;height:.9cqw;background:#E7C262;transform:rotate(45deg);display:block}
.bjl-seat.winner .bs-chip{box-shadow:0 0 0 .3cqw #F5C542,0 0 2cqw rgba(245,197,66,.75)!important}
.bs-name .crown{width:max(12px,1.7cqw);height:max(12px,1.7cqw);margin-right:.5cqw;vertical-align:-.2cqw;filter:drop-shadow(0 0 .5cqw rgba(245,197,66,.8))}
@media(max-width:860px){.bjl-win{top:22cqw;min-width:70cqw;padding:2.4cqw 6cqw 3.6cqw}.bjl-win small{font-size:max(11px,3.2cqw)}.bjl-win b{font-size:max(24px,8.4cqw)}.bjl-win .wn-net{font-size:max(10px,2.6cqw)}}

/* ===== Blackjack Lobby, phones: the table fills the real screen height instead of a fixed tall shape ===== */
@media(max-width:860px){
  .bjl-fit .bjl-scene,.main.bjl-locked .bjl-scene{width:100cqw!important;height:100cqh!important;aspect-ratio:auto!important;max-height:none}
  .bjl-felt.tall{top:calc(41% - 60cqw);bottom:auto;height:auto;aspect-ratio:1000/1700;inset:auto 0 auto 0;width:100%}
  .bjl-dealer{width:34cqw!important;top:1cqw!important}.bjl-shoe{right:4cqw!important;top:7cqw!important;width:17cqw!important}
  .bjl-dhand{top:27cqw!important}
  .bjl-seat.s0{left:86%!important;top:57%}.bjl-seat.s1{left:68%!important;top:64%}.bjl-seat.s2{left:50%!important;top:69%}.bjl-seat.s3{left:32%!important;top:64%}.bjl-seat.s4{left:14%!important;top:57%}
  .bjl-pop.pj{top:15cqw}
  .bjl-pop.pt{top:auto;bottom:11cqw}   /* phones: decisions sit low, under the seats */
  .bjl-win{top:18cqw}
}
.bjl-scene:has(.bjl-pop.pj) .bjl-msg{visibility:hidden}
@media(max-width:860px){.bjl-scene .dk-mid.locked{display:none}}

/* local blackjack: the dealer row reserves ~40px under the dealer's cards, which pushed the result toast away from them; lift it so it sits midway between the two hands */
.bj-table .bj-msg{position:relative!important;top:-20px}

/* ===== Blackjack Lobby v2: seats, side bets and casino chips ===== */
/* chips: six edge spots, bevelled rim, inner ring + face; colour comes from the chip value (--bg / --fg) */
.bjl-scene .bs-chip.on,.bjl-scene .dk-chip,.bjl-scene .bs-ch2{position:relative;isolation:isolate;border:0!important;color:var(--fg,#fff)!important;
  background:repeating-conic-gradient(from -10deg,#FBF8EE 0 20deg,var(--bg) 20deg 60deg)!important;
  box-shadow:inset 0 0 0 max(1px,.22cqw) rgba(0,0,0,.38),inset 0 max(1px,.2cqw) max(1px,.3cqw) rgba(255,255,255,.4),0 .45cqw 1cqw rgba(0,0,0,.55)!important}
.bjl-scene .bs-chip.on::before,.bjl-scene .dk-chip::before,.bjl-scene .bs-ch2::before{content:"";position:absolute;inset:15%;border-radius:50%;z-index:-1;border:max(1px,.16cqw) solid rgba(255,255,255,.7);
  background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--bg) 70%,#fff),var(--bg) 62%,color-mix(in srgb,var(--bg) 78%,#000));box-shadow:inset 0 0 max(2px,.5cqw) rgba(0,0,0,.35),0 0 0 max(1px,.14cqw) color-mix(in srgb,var(--bg) 60%,#000)}
.bjl-scene .bs-chip.on::after,.bjl-scene .dk-chip::after,.bjl-scene .bs-ch2::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,transparent 0 60%,color-mix(in srgb,var(--fg) 45%,transparent) 61% 63%,transparent 64%),radial-gradient(circle at 30% 20%,rgba(255,255,255,.4),transparent 42%)}
.bjl-scene .bs-chip.on b,.bjl-scene .dk-chip span,.bjl-scene .bs-ch2{text-shadow:0 1px 1px rgba(0,0,0,.28);font-weight:900;letter-spacing:-.02em}
.bjl-scene .bs-chip.on b{position:relative;z-index:2;font-size:max(10px,1.45cqw)}
.bjl-scene .dk-chip.pick{transform:translateY(-.5cqw) scale(1.1);box-shadow:0 0 0 max(2px,.3cqw) #fff,0 0 0 max(4px,.55cqw) #E7C262,0 .6cqw 1.2cqw rgba(0,0,0,.6)!important}
.bjl-scene .dk-chip:not(.pick){filter:saturate(.9) brightness(.92)}
.bjl-scene .dk-targets{display:none}

/* your spot and everybody else's: chip inside a broken ring, name underneath */
.bjl-scene .bs-ring{position:absolute;inset:-24%;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .25s;
  background:conic-gradient(transparent 0 38deg,var(--rg,rgba(255,255,255,.34)) 38deg 128deg,transparent 128deg 150deg,var(--rg,rgba(255,255,255,.34)) 150deg 210deg,transparent 210deg 232deg,var(--rg,rgba(255,255,255,.34)) 232deg 322deg,transparent 322deg);
  -webkit-mask:radial-gradient(circle,transparent 0 66%,#000 67% 80%,transparent 81%);mask:radial-gradient(circle,transparent 0 66%,#000 67% 80%,transparent 81%)}
.bjl-scene .bjl-seat .bs-chip.on .bs-ring{opacity:1}
.bjl-scene .bjl-seat.you .bs-chip .bs-ring{--rg:rgba(231,194,98,.7);opacity:1}
.bjl-scene .bjl-seat.turn .bs-chip .bs-ring{--rg:#E7C262;opacity:1;animation:bsRing 1.4s linear infinite}
@keyframes bsRing{to{transform:rotate(360deg)}}
.bjl-scene .bs-chip:not(.on){position:relative;border:max(1px,.16cqw) dashed rgba(255,255,255,.35)!important;background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,.02) 70%)!important;color:rgba(255,255,255,.6)}
.bjl-scene .bjl-seat.you .bs-chip:not(.on){cursor:pointer;border-color:rgba(231,194,98,.75)!important;animation:bsPulse 1.8s ease-in-out infinite}
.bjl-scene .bjl-seat.you .bs-chip:not(.on)::after{content:"+";font:300 max(18px,2.6cqw)/1 var(--ui,inherit);color:#E7C262;position:absolute;inset:0;display:grid;place-items:center}
.bjl-scene .bjl-seat:not(.you) .bs-chip:not(.on){opacity:.3}
@keyframes bsPulse{50%{box-shadow:0 0 0 .5cqw rgba(231,194,98,.18)}}
.bjl-scene .bjl-seat.has-bet:not(.you) .bs-chip.on{filter:none}

/* names: plain text under the spot, crown for you / winners */
.bjl-scene .bjl-seat .bs-name,.bjl-scene .bjl-seat.you .bs-name{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;color:#fff!important;font-size:max(11px,1.3cqw)!important;font-weight:700;max-width:16cqw;text-shadow:0 1px 4px #000,0 0 10px rgba(0,0,0,.9)}
.bjl-scene .bjl-seat.you .bs-name{color:#F5E3A6!important}
.bjl-scene .bjl-seat .bs-name .crown{width:max(13px,1.8cqw)!important;height:max(13px,1.8cqw)!important;margin-right:.4cqw}
.bjl-scene .bjl-seat.turn .bs-name{border:0!important;box-shadow:none!important;color:#E7C262!important}

/* side-bet spots: round buttons with card icons (PP = pair of cards, 21+3 = three-card fan) */
.bjl-scene .bjl-seat .bs-side{width:max(30px,4.2cqw)!important;height:max(30px,4.2cqw)!important;min-width:0;min-height:0;padding:0!important;display:grid!important;place-items:center;position:relative;border-radius:50%!important;
  background:radial-gradient(circle at 35% 28%,#3A4570,#151C36 78%)!important;border:max(1px,.18cqw) solid rgba(231,194,98,.6)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 .35cqw .8cqw rgba(0,0,0,.5);transition:transform .15s,box-shadow .15s}
.bjl-scene .bjl-seat .bs-side.t3{background:radial-gradient(circle at 35% 28%,#2F5E78,#10263A 78%)!important}
.bjl-scene .bjl-seat .bs-side .si{width:62%;height:62%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.bjl-scene .bjl-seat .bs-side small{display:none!important}
.bjl-scene .bjl-seat .bs-side:not(.empty):not(.pending) .si,.bjl-scene .bjl-seat .bs-side.pending .si{width:48%;height:48%;transform:translateY(-28%)}
.bjl-scene .bjl-seat .bs-side b{position:absolute;left:50%;bottom:-.3cqw;transform:translateX(-50%);font:900 max(8px,1.05cqw)/1 var(--ui,inherit)!important;background:#0B1220;border:1px solid rgba(231,194,98,.7);border-radius:999px;padding:.25cqw .7cqw;color:#F5E3A6;white-space:nowrap}
.bjl-scene .bjl-seat .bs-side.empty{border-style:dashed!important;opacity:.85}
.bjl-scene .bjl-seat.you .bs-side:hover{transform:translateY(-.3cqw) scale(1.08);box-shadow:0 0 1.4cqw rgba(231,194,98,.6)}
.bjl-scene .bjl-seat .bs-side.win{border-color:#35E39A!important;box-shadow:0 0 1.6cqw rgba(53,227,154,.8)}
.bjl-scene .bjl-seat .bs-side.lose{opacity:.5}

/* empty seats: soft concentric rings, a plus and "Sit here" underneath */
.bjl-scene .bjl-seat .bs-sit{display:grid;place-items:center;width:max(40px,6.6cqw)!important;height:max(40px,6.6cqw)!important;border:0!important;border-radius:50%!important;color:#fff!important;animation:none!important;overflow:visible;
  background:radial-gradient(circle,rgba(255,255,255,.2) 0 36%,rgba(255,255,255,.07) 37% 100%)!important;
  box-shadow:0 0 0 max(1px,.16cqw) rgba(255,255,255,.4),0 0 0 .9cqw rgba(255,255,255,.07),0 0 0 max(1px,1.05cqw) rgba(255,255,255,.1),inset 0 0 1.4cqw rgba(255,255,255,.14);transition:transform .2s,box-shadow .2s,background .2s}
.bjl-scene .bjl-seat .bs-sit i{font:300 max(22px,3.2cqw)/1 var(--ui,inherit);font-style:normal;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);margin-top:-.1cqw}
.bjl-scene .bjl-seat .bs-sit span{position:absolute;left:50%;top:calc(100% + 1.4cqw);transform:translateX(-50%);white-space:nowrap;font:600 max(11px,1.35cqw)/1 var(--ui,inherit);color:#fff;text-shadow:0 1px 5px #000,0 0 10px rgba(0,0,0,.9)}
.bjl-scene .bjl-seat .bs-sit:hover{background:radial-gradient(circle,rgba(231,194,98,.35) 0 36%,rgba(231,194,98,.1) 37% 100%)!important;color:#fff!important;transform:scale(1.07);box-shadow:0 0 0 max(1px,.16cqw) rgba(231,194,98,.9),0 0 0 .9cqw rgba(231,194,98,.14),0 0 0 1.05cqw rgba(231,194,98,.12),0 0 2cqw rgba(231,194,98,.4)}
@media(max-width:860px){
  .bjl-scene .bjl-seat .bs-sit{width:max(40px,11cqw)!important;height:max(40px,11cqw)!important}.bjl-scene .bjl-seat .bs-sit i{font-size:max(22px,5.6cqw)}.bjl-scene .bjl-seat .bs-sit span{font-size:max(10px,2.5cqw);top:calc(100% + 2.4cqw)}
  .bjl-scene .bjl-seat .bs-side{width:max(26px,6.2cqw)!important;height:max(26px,6.2cqw)!important}.bjl-scene .bjl-seat .bs-side b{font-size:max(8px,1.9cqw)!important}
  .bjl-scene .bjl-seat .bs-name,.bjl-scene .bjl-seat.you .bs-name{font-size:max(10px,2.6cqw)!important;max-width:24cqw}.bjl-scene .bs-chip.on b{font-size:max(9px,2.5cqw)}
}
.bjl-scene .bjl-seat .bs-sit[hidden],.bjl-scene .bjl-seat:not(.empty) .bs-sit,.bjl-scene .bjl-seat .bs-side[hidden]{display:none!important}
.bjl-scene .bjl-seat .bs-side{width:max(34px,4.9cqw)!important;height:max(34px,4.9cqw)!important}
.bjl-scene .bjl-seat .bs-side .si{width:66%;height:66%}
.bjl-scene .bjl-seat .bs-side:not(.empty):not(.pending) .si,.bjl-scene .bjl-seat .bs-side.pending .si{width:60%;height:60%;transform:none}
.bjl-scene .bjl-seat .bs-side b{bottom:-1.5cqw}
.bjl-scene .bjl-seat .bs-side.empty::after{content:"+";position:absolute;right:-.2cqw;top:-.2cqw;width:max(12px,1.6cqw);height:max(12px,1.6cqw);border-radius:50%;background:#E7C262;color:#201808;font:900 max(10px,1.3cqw)/max(12px,1.6cqw) var(--ui,inherit);text-align:center}
@media(max-width:860px){.bjl-scene .bjl-seat .bs-side{width:max(30px,7.4cqw)!important;height:max(30px,7.4cqw)!important}.bjl-scene .bjl-seat .bs-side b{bottom:-2.6cqw}}
@media(max-width:860px){.bjl-seat.s0{left:84%!important}.bjl-seat.s4{left:16%!important}}
/* whose turn: a soft white aura on the active seat and on the exact hand being played */
.bjl-scene .bjl-seat.turn .bs-hand.act{border-radius:1.4cqw;outline:0!important;background:radial-gradient(closest-side,rgba(255,255,255,.14),transparent 78%);box-shadow:0 0 0 max(1px,.2cqw) rgba(255,255,255,.85),0 0 2.6cqw rgba(255,255,255,.6),inset 0 0 1.8cqw rgba(255,255,255,.14)!important;animation:auraPulse 1.7s ease-in-out infinite}
@keyframes auraPulse{50%{box-shadow:0 0 0 max(1px,.2cqw) rgba(255,255,255,1),0 0 3.8cqw rgba(255,255,255,.85),inset 0 0 2.4cqw rgba(255,255,255,.2)}}
.bjl-scene .bjl-seat.turn .bs-hand.act .bjl-tot{box-shadow:0 0 0 max(1px,.18cqw) #fff,0 0 1.4cqw rgba(255,255,255,.7)}
.bjl-scene .bjl-seat.turn .bs-hand:not(.act){opacity:.62}
.bjl-scene .bjl-seat.turn .bs-ring{--rg:rgba(255,255,255,.95);opacity:1;filter:drop-shadow(0 0 .6cqw rgba(255,255,255,.8))}
.bjl-scene .bjl-seat.turn .bs-chip.on{box-shadow:0 0 0 max(2px,.3cqw) rgba(255,255,255,.9),0 0 2.2cqw rgba(255,255,255,.6),0 .45cqw 1cqw rgba(0,0,0,.55)!important}
.bjl-scene .bjl-seat.turn .bs-name,.bjl-scene .bjl-seat.you.turn .bs-name{color:#fff!important;text-shadow:0 0 1.2cqw rgba(255,255,255,.9),0 1px 4px #000}
.bjl-scene .bjl-seat.turn .bs-name::before{content:"";color:inherit}
.bjl-scene .bjl-seat.you.turn .bs-chip .bs-ring{--rg:rgba(255,255,255,.95)}

/* ===== Blackjack Lobby loading screen ===== */
.bjl-frame{position:relative}
.bjl-load{position:absolute;inset:0;z-index:80;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#1B2550 0,#0C1226 55%,#070B16 100%);transition:opacity .45s ease,visibility .45s}
.bjl-load.out{opacity:0;visibility:hidden;pointer-events:none}
.bjl-load::before{content:"";position:absolute;width:90%;aspect-ratio:1;border-radius:50%;left:5%;top:20%;background:radial-gradient(circle,rgba(231,194,98,.14),transparent 62%)}
.bll-mid{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 20px;text-align:center}
.bll-mid img{filter:drop-shadow(0 0 16px rgba(53,227,154,.45));animation:bllPulse 2s ease-in-out infinite}
.bll-name{font:800 clamp(26px,5vw,40px)/1 var(--display,inherit);letter-spacing:.06em;color:#fff;margin-top:6px}.bll-name span{color:#35E39A}
.bll-mid small{font:700 12px/1 var(--ui,inherit);letter-spacing:.24em;text-transform:uppercase;color:#E7C262;margin-bottom:18px}
.bll-lbl{font:800 12px/1 var(--ui,inherit);letter-spacing:.34em;color:#C8D2EE;font-style:normal}
.bll-bar{width:min(300px,70vw);height:12px;border-radius:999px;background:#05080F;border:1px solid rgba(231,194,98,.35);box-shadow:inset 0 2px 4px rgba(0,0,0,.6);overflow:hidden;margin-top:6px}
.bll-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#B8861B,#F7DE8A 50%,#E7C262);transition:width .35s ease;box-shadow:0 0 12px rgba(231,194,98,.6)}
.bll-t{font:600 12px/1.3 var(--ui,inherit);color:#8F9BC0;margin-top:2px;min-height:16px}
.bll-art{position:absolute;inset:0;z-index:1;pointer-events:none}
.bll-card{position:absolute;width:clamp(52px,9vw,84px);aspect-ratio:5/7;border-radius:10px;background:linear-gradient(160deg,#fff,#DDE3F3);display:flex;flex-direction:column;align-items:flex-start;padding:7px 8px;font-style:normal;box-shadow:0 12px 26px rgba(0,0,0,.5);opacity:.9}
.bll-card b{font:800 clamp(16px,2.6vw,24px)/1 Georgia,serif;color:#1B2240}.bll-card u{text-decoration:none;font-size:clamp(14px,2.2vw,20px);color:#1B2240}
.bll-card.c2 b,.bll-card.c2 u{color:#E0334F}
.bll-card.c1{left:calc(50% - clamp(120px,20vw,190px));top:14%;--r:-16deg;animation:bllFloat 4.2s ease-in-out infinite}
.bll-card.c2{left:calc(50% + clamp(50px,9vw,90px));top:16%;--r:14deg;animation:bllFloat 4.8s .6s ease-in-out infinite}
.bll-chip{position:absolute;width:clamp(34px,5.4vw,52px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from -10deg,#FBF8EE 0 20deg,var(--c) 20deg 60deg);box-shadow:inset 0 0 0 2px rgba(0,0,0,.35),0 8px 16px rgba(0,0,0,.5)}
.bll-chip::after{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 70%,#fff),var(--c));border:1.5px solid rgba(255,255,255,.7)}
.bll-chip.k1{--c:#E23B4E;left:calc(50% - clamp(170px,28vw,260px));bottom:20%;animation:bllFloat 5s .2s ease-in-out infinite}
.bll-chip.k2{--c:#1FAF6E;left:calc(50% + clamp(120px,21vw,200px));bottom:26%;animation:bllFloat 4.4s 1s ease-in-out infinite}
.bll-chip.k3{--c:#F2B632;left:calc(50% + clamp(40px,8vw,80px));bottom:12%;animation:bllFloat 5.4s .4s ease-in-out infinite}
@keyframes bllFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(calc(var(--r,0deg) + 5deg))}}
@keyframes bllPulse{50%{transform:scale(1.07)}}
@media(max-width:860px){.bll-card.c1{top:9%;left:12%}.bll-card.c2{top:11%;left:auto;right:12%}.bll-chip.k1{left:10%;bottom:14%}.bll-chip.k2{left:auto;right:10%;bottom:18%}.bll-chip.k3{left:46%;bottom:8%}}
@media(prefers-reduced-motion:reduce){.bll-card,.bll-chip,.bll-mid img{animation:none}}
/* active hand: no outline, only a soft white glow that follows the cards */
.bjl-scene .bjl-seat.turn .bs-hand.act{background:none!important;box-shadow:none!important;animation:none!important;border-radius:0}
.bjl-scene .bjl-seat.turn .bs-hand.act .bjl-cards{filter:drop-shadow(0 0 1.1cqw rgba(255,255,255,.85)) drop-shadow(0 0 2.8cqw rgba(255,255,255,.45));animation:auraGlow 1.7s ease-in-out infinite}
@keyframes auraGlow{50%{filter:drop-shadow(0 0 1.5cqw rgba(255,255,255,1)) drop-shadow(0 0 3.8cqw rgba(255,255,255,.7))}}
.bjl-scene .bjl-seat.turn .bs-hand.act .bjl-tot{box-shadow:0 0 1.4cqw rgba(255,255,255,.75)!important}

/* ===== admin panel v3: compact, centred, tidy ===== */
.page.adm{max-width:880px;padding-top:22px}
.adm-top{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:14px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(139,123,255,.10),rgba(255,255,255,.03) 55%)}
.adm-ico{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:23px;background:rgba(139,123,255,.14);border:1px solid rgba(139,123,255,.35)}
.adm-tt{flex:1;min-width:0}.adm-tt h1{margin:0;font-size:22px;line-height:1.1;font-weight:800}
.adm-tt p{margin:3px 0 0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-live{flex:none;display:flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:99px;background:rgba(0,0,0,.25);border:1px solid var(--line)}
.adm-live i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(139,123,255,.6);animation:admPulse 2s infinite;align-self:center}
.adm-live b{font-size:15px;font-variant-numeric:tabular-nums}.adm-live small{font-size:12px;color:var(--muted)}
@keyframes admPulse{70%{box-shadow:0 0 0 7px rgba(139,123,255,0)}100%{box-shadow:0 0 0 0 rgba(139,123,255,0)}}
.adm-nav{position:sticky;top:0;z-index:5;gap:4px;padding:5px;margin-bottom:18px;border:1px solid var(--line);border-radius:16px;background:rgba(14,22,36,.92);backdrop-filter:blur(10px)}
.adm-nav button{padding:8px 13px;border:0!important;border-radius:11px;font-size:13px;transition:background .15s,color .15s}
.adm-nav button:hover{background:rgba(255,255,255,.06);color:var(--text)}
.adm-nav button.on{background:rgba(139,123,255,.16);color:var(--accent)}
.adm-body{animation:pagein .3s ease-out}
.adm-group{padding:16px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid var(--line);margin-bottom:14px}
.adm-group h3{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:0 0 12px}
.kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.kpi{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04)}
.kpi:hover{border-color:rgba(139,123,255,.35)}
.kpi b{font-size:clamp(18px,2.4vw,23px)}
.prow{border-radius:13px;transition:transform .12s,border-color .12s}.prow:hover{transform:translateX(2px)}
.adm-bar{padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);margin-bottom:12px}
.adm-card{border-radius:18px}
.adm-card h3{font-size:15px}
.adm-games{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.st-list,.aud,.plist{max-width:100%}
.adm-drawer{width:min(460px,100%);box-shadow:-20px 0 50px rgba(0,0,0,.4)}
.table-wrap{border-radius:14px}
@media(max-width:700px){
  .page.adm{padding:10px 10px 24px}
  .adm-top{padding:12px 14px;gap:10px}.adm-ico{width:40px;height:40px;font-size:20px}.adm-tt h1{font-size:19px}
  .adm-nav{margin-left:-2px;margin-right:-2px}.adm-nav button{padding:8px 11px}
  .adm-group{padding:12px}.kpis{grid-template-columns:repeat(2,1fr)}
}

/* ===== v63: roomier seats, centred names, smooth join hover ===== */
.bjl-scene .bjl-seat.s0{left:89%!important}.bjl-scene .bjl-seat.s1{left:69.5%!important}.bjl-scene .bjl-seat.s3{left:30.5%!important}.bjl-scene .bjl-seat.s4{left:11%!important}
.bjl-scene .bs-spot{gap:max(8px,1.7cqw)}
.bjl-scene .bjl-seat .bs-side,.bjl-scene .bjl-seat .bs-side.empty{width:max(30px,4.2cqw)!important;height:max(30px,4.2cqw)!important}
/* hover keeps the translate that centres the button (it used to jump) */
.bjl-scene .bjl-seat .bs-sit{transform:translate(-50%,-50%);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background .22s}
.bjl-scene .bjl-seat .bs-sit:hover{transform:translate(-50%,-50%) scale(1.06)}
.bjl-scene .bjl-seat .bs-sit:active{transform:translate(-50%,-50%) scale(.97)}
/* names sit exactly under the seat; the winner crown hangs off the side so it never shifts the text */
.bjl-scene .bjl-seat .bs-name,.bjl-scene .bjl-seat.you .bs-name{top:max(34px,5.4cqw);justify-content:center;text-align:center;width:max-content}
.bjl-scene .bjl-seat .bs-name span{text-align:center}
.bjl-scene .bjl-seat .bs-name .crown{position:absolute;right:100%;top:50%;margin:0 .4cqw 0 0!important;transform:translateY(-50%)}
.bjl-scene .bjl-seat .bs-name .rdy{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin:0 0 0 .4cqw}
@media(max-width:860px){
  .bjl-scene .bs-spot{gap:max(4px,1.2cqw)}
  .bjl-scene .bjl-seat .bs-side,.bjl-scene .bjl-seat .bs-side.empty{width:max(24px,6cqw)!important;height:max(24px,6cqw)!important}
  .bjl-scene .bjl-seat .bs-name,.bjl-scene .bjl-seat.you .bs-name{top:max(34px,9.5cqw)}
}

/* ===== v64: calmer glow, subtler chip pick, nicer winning side bets ===== */
.bjl-scene .dk-chip.pick{transform:translateY(-.4cqw) scale(1.06);box-shadow:0 0 0 max(1px,.14cqw) rgba(231,194,98,.75),0 .5cqw 1.1cqw rgba(0,0,0,.55)!important}
/* active hand: softer white aura */
.bjl-scene .bjl-seat.turn .bs-hand.act .bjl-cards{filter:drop-shadow(0 0 .8cqw rgba(255,255,255,.4)) drop-shadow(0 0 2cqw rgba(255,255,255,.18));animation:auraGlow 2.4s ease-in-out infinite}
@keyframes auraGlow{50%{filter:drop-shadow(0 0 1.1cqw rgba(255,255,255,.55)) drop-shadow(0 0 2.6cqw rgba(255,255,255,.26))}}
/* active seat: the ring no longer spins, it just breathes */
.bjl-scene .bjl-seat.turn .bs-chip .bs-ring,.bjl-scene .bjl-seat.you.turn .bs-chip .bs-ring{--rg:rgba(255,255,255,.7);animation:bsBreathe 2.4s ease-in-out infinite!important;transform:none;filter:drop-shadow(0 0 .5cqw rgba(255,255,255,.35))}
@keyframes bsBreathe{0%,100%{opacity:.55;filter:drop-shadow(0 0 .3cqw rgba(255,255,255,.2))}50%{opacity:1;filter:drop-shadow(0 0 1cqw rgba(255,255,255,.6))}}
/* winning side bet: green glow, multiplier pill sits above the circle so it never covers the amount */
.bjl-scene .bjl-seat .bs-side.win{background:radial-gradient(circle at 35% 28%,#2C7D5C,#0F3A2B 78%)!important;border:2px solid #35E39A!important;box-shadow:0 0 0 .3cqw rgba(53,227,154,.22),0 0 1.8cqw rgba(53,227,154,.55);animation:sideWin .6s cubic-bezier(.2,1.4,.4,1)}
.bjl-scene .bjl-seat .bs-side.win b{border-color:#35E39A;color:#D9FFEE}
.bjl-scene .bjl-seat .bs-side em{top:auto!important;bottom:calc(100% + max(3px,.5cqw))!important;left:50%;transform:translateX(-50%);white-space:nowrap;padding:max(1px,.15cqw) max(5px,.8cqw)!important;font:900 max(9px,1.1cqw)/1.25 var(--ui,inherit)!important;background:linear-gradient(180deg,#43F0AB,#1FBF7A)!important;color:#04210F!important;border-radius:999px;box-shadow:0 .3cqw .8cqw rgba(0,0,0,.45)}
@media(max-width:860px){.bjl-scene .bjl-seat .bs-side em{font-size:max(9px,2.1cqw)!important;padding:1px max(5px,1.4cqw)!important}}
@keyframes sideWin{0%{transform:scale(.8)}60%{transform:scale(1.14)}100%{transform:scale(1)}}

/* ===== v65: profile, lobby banner, shop ===== */
/* profile: a tidy centred card instead of a full-width strip */
.page.pf{max-width:620px;padding-top:26px}
.pf .prof{padding:20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(139,123,255,.10),rgba(255,255,255,.03) 60%);gap:16px}
.pf .prof-av{flex:none;width:76px;height:76px;font-size:32px;border-width:3px;box-shadow:0 0 0 5px rgba(255,255,255,.04),0 8px 24px rgba(0,0,0,.35)}
.pf .prof>div:last-child{min-width:0}.pf .prof h1{font-size:24px!important;overflow:hidden;text-overflow:ellipsis}
.pf .prof .muted{font-size:12.5px;line-height:1.6}
.pf .stats-strip{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px!important}
.pf .stat{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);min-width:0}
.pf .stat small{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.pf .stat b{display:block;margin-top:4px;font-size:20px;overflow-wrap:anywhere}
.pf .p1res{border-radius:16px;border:1px solid var(--line);padding:6px 16px;margin-top:10px!important}
.pf .p1row{justify-content:center}
@media(max-width:560px){.page.pf{padding:12px}.pf .prof{padding:14px;gap:12px}.pf .prof-av{width:60px;height:60px;font-size:26px}}

/* lobby banner: capped width, centred, with the online tag tucked into the corner */
@media(min-width:821px){
  .lobby-page>.hero3{width:min(1080px,calc(100cqw - 56px));margin-left:calc(50% - min(1080px,calc(100cqw - 56px))/2);padding:18px 30px!important}
  .lobby-page>.hero3 .hero-art{width:min(340px,34%)!important;height:150px!important}
  .lobby-page>.hero3 .hero-stats{position:static!important;margin:12px 0 0!important}
  .lobby-page>.hero3 .hero-stats .hs.live{background:rgba(139,123,255,.1)!important;border-color:rgba(139,123,255,.4);color:#BFF5DF}
}

/* shop */
.page.shop{max-width:980px}
.shop-hero{position:relative;overflow:hidden;padding:26px 28px;border-radius:24px;background:radial-gradient(120% 160% at 100% 0%,rgba(255,194,75,.22),transparent 55%),radial-gradient(90% 140% at 0% 100%,rgba(139,123,255,.16),transparent 60%),linear-gradient(135deg,#16213B,#0E1630)}
.shop-hero .sh-t{position:relative;z-index:1;max-width:540px}
.shop-hero h1{font-size:clamp(24px,3.4vw,34px)}
.shop-hero .grad{background:linear-gradient(90deg,#8B7BFF,#FFC24B);-webkit-background-clip:text;background-clip:text;color:transparent}
.sh-art{position:absolute;right:92px;top:50%;width:200px;transform:translateY(-50%);opacity:.95;pointer-events:none}
.shop-hero .shop-18{position:relative;z-index:1}
.chart{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}
.chart .ch{animation:chFloat 4s ease-in-out infinite;transform-box:fill-box}
@keyframes chFloat{50%{transform:translateY(-3px)}}
.shop-perks{margin:16px 0}.shop-perks .pk{border:1px solid var(--line);padding:7px 14px}
.packs{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:14px}
.pack{--pc:#8B7BFF;overflow:hidden;padding:20px 14px 16px;border-radius:22px;gap:4px;border:1px solid color-mix(in srgb,var(--pc) 30%,transparent);background:radial-gradient(100% 70% at 50% 0%,color-mix(in srgb,var(--pc) 22%,transparent),transparent 70%),linear-gradient(180deg,#141E34,#0F1729);transition:transform .2s,box-shadow .2s,border-color .2s}
.pack::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.10),transparent);transform:skewX(-18deg);transition:left .6s;pointer-events:none}
.pack:hover{transform:translateY(-5px);border-color:var(--pc);box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 28px color-mix(in srgb,var(--pc) 28%,transparent)}
.pack:hover::after{left:120%}
.pack.has-tag{border-color:var(--pc);box-shadow:0 0 0 1px var(--pc),0 10px 30px color-mix(in srgb,var(--pc) 22%,transparent)}
.pack .part{height:78px;margin:2px auto 6px;width:120px}
.pack h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--pc)}
.pcoins{font-size:28px;line-height:1.1;margin-top:2px}
.pbonus{display:inline-block;align-self:center;margin-top:4px;padding:3px 10px;border-radius:99px;background:rgba(255,194,75,.14);color:#FFD27A;font-size:12px}
.pbonus.none{background:rgba(255,255,255,.06);color:var(--muted);font-weight:600}
.pper{font-size:12.5px;color:var(--muted);margin-top:4px}
.pprice{font-size:20px;margin:8px 0 10px}.pprice s{font-size:13px}
.pack .btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 90%,#fff),var(--pc));color:#07120D;font-weight:800;border:0;box-shadow:0 4px 0 color-mix(in srgb,var(--pc) 55%,#000)}
.pack .btn.primary:hover{filter:brightness(1.08)}.pack .btn.primary:active{transform:translateY(2px);box-shadow:0 2px 0 color-mix(in srgb,var(--pc) 55%,#000)}
.ptag{background:var(--pc)!important;top:10px;left:auto;right:10px;transform:none;color:#07120D!important;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.shop-tip{border-radius:16px}
@media(max-width:700px){
  .shop-hero{padding:18px}.sh-art{width:120px;right:64px;opacity:.5}
  .packs{grid-template-columns:1fr 1fr;gap:10px}.pack{padding:16px 10px 12px}.pack .part{height:60px;width:96px}.pcoins{font-size:21px}.pprice{font-size:17px}
  .pack .btn.primary{font-size:13px;padding:10px 6px}
}
.packs{grid-template-columns:repeat(auto-fit,minmax(162px,1fr))}
.pack .part{height:92px;width:132px}.pack h3{margin-top:8px}
.pf .p1res:empty{display:none}
@media(max-width:700px){.sh-art{display:none}.pack .part{height:70px;width:104px}.packs{grid-template-columns:1fr 1fr}}
.pcoins{font-size:clamp(19px,2.2vw,25px)}.pack{padding-left:10px;padding-right:10px}
.bets-table .col-id{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:18px}
@media(max-width:700px){.live-table .col-id{display:none}}

/* language picker (footer) */
.vf-lang{position:relative;justify-self:end;align-self:start}
.vf-lang .vl-btn{display:flex;align-items:center;gap:9px;min-width:170px;padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:#141E34;color:#fff;font:700 13.5px inherit;cursor:pointer}
.vf-lang .vl-btn:hover,.vf-lang .vl-btn[aria-expanded="true"]{background:#1A2644;border-color:rgba(139,123,255,.4)}
.vf-lang .vl-btn svg{margin-left:auto;opacity:.7;transition:transform .2s}.vf-lang .vl-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.vl-code{font-style:normal;display:inline-grid;place-items:center;min-width:24px;height:18px;padding:0 5px;border-radius:5px;background:rgba(139,123,255,.16);color:var(--accent);font-size:11.5px;font-weight:800;letter-spacing:.02em}
.vl-menu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:100%;margin:0;padding:6px;list-style:none;border-radius:14px;border:1px solid var(--line);background:#121B30;box-shadow:0 -14px 34px rgba(0,0,0,.5);z-index:40}
.vl-menu[hidden]{display:none}
.vl-menu li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#fff;font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap}
.vl-menu li:hover{background:rgba(255,255,255,.07)}.vl-menu li.on{color:var(--muted);cursor:default}
.vf-cols{grid-template-columns:repeat(3,1fr) auto!important}
@media(max-width:560px){.vf-cols{grid-template-columns:1fr 1fr!important}.vf-lang{grid-column:1/-1;justify-self:stretch}.vf-lang .vl-btn{width:100%}}
.keno-wrap{position:relative}
.kp{cursor:default;transition:background .15s}.kp:hover{background:rgba(255,255,255,.07)}
.kp-tip{position:absolute;z-index:20;display:flex;gap:18px;padding:10px 16px;border-radius:12px;background:#1B2644;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px rgba(0,0,0,.5);pointer-events:none;white-space:nowrap}
.kp-tip[hidden]{display:none}
.kp-tip div{display:flex;flex-direction:column;gap:3px;text-align:center}.kp-tip small{font-size:12px;color:var(--muted)}.kp-tip b{font-size:13.5px}
.kp-tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:#1B2644;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);transform:translateX(-50%) rotate(45deg)}

/* ===== Hi-Lo v2: felt table, deck, side tiles, route history, win burst ===== */
.hl2{position:relative;width:100%;max-width:760px;margin:0 auto;gap:14px;padding:6px 0 4px}
.hl2 .hl-top{text-align:center;line-height:1}
.hl2 .mult-big{font-size:clamp(34px,5vw,46px)!important;text-shadow:0 0 24px currentColor;transition:color .2s}
.hl2 .hl-sub{margin-top:6px;font-size:13px;letter-spacing:.02em}
.hl2 .hl-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(10px,3vw,30px);width:100%;padding:22px clamp(10px,3vw,26px);border-radius:26px;background:radial-gradient(70% 90% at 50% 45%,rgba(139,123,255,.10),transparent 70%),radial-gradient(120% 120% at 50% 0%,#14284A,#0A1426 70%);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 0 60px rgba(0,0,0,.35)}
.hl2 .hl-tile{--tc:#8E7BFF;display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 8px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));color:#fff;cursor:pointer;font:inherit;min-width:0;transition:transform .15s,box-shadow .2s,border-color .2s,opacity .2s}
.hl2 .hl-tile.dn{--tc:#FFA13D}
.hl2 .hl-tile .tl-ic{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:17px;color:var(--tc);background:color-mix(in srgb,var(--tc) 16%,transparent);border:1px solid color-mix(in srgb,var(--tc) 40%,transparent);margin-bottom:4px}
.hl2 .hl-tile .tl-t{font-size:13px;font-weight:800;line-height:1.15;text-align:center}
.hl2 .hl-tile .tl-p{font-size:12px;color:var(--muted);font-weight:700}
.hl2 .hl-tile .tl-m{font-size:20px;font-weight:900;margin-top:6px}
.hl2 .hl-tile .tl-pay{font-size:12px;color:var(--muted);margin-top:2px}
.hl2 .hl-tile:not(:disabled):hover{transform:translateY(-4px);border-color:var(--tc);box-shadow:0 10px 26px color-mix(in srgb,var(--tc) 28%,transparent)}
.hl2 .hl-tile:not(:disabled):active{transform:translateY(0) scale(.98)}
.hl2 .hl-tile:disabled{cursor:default;opacity:.55}
.hl2 .hl-mid{position:relative;display:grid;place-items:center;padding:6px 14px 12px}
.hl2 .hl-deck{position:absolute;inset:auto;left:50%;top:50%;width:150px;height:214px;transform:translate(-50%,-50%);pointer-events:none}
.hl2 .hl-deck i{position:absolute;inset:0;border-radius:12px;background:linear-gradient(145deg,#1E2C52,#101A34);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 18px rgba(0,0,0,.4)}
.hl2 .hl-deck i:nth-child(1){transform:translate(7px,7px)}.hl2 .hl-deck i:nth-child(2){transform:translate(4px,4px)}.hl2 .hl-deck i:nth-child(3){transform:translate(1.5px,1.5px)}
.hl2 .hilo-card{position:relative;z-index:1}
.hl2 .hilo-card .pcard{width:150px;height:214px;border-radius:12px;margin:0;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.hl2 .hl-flip{animation:hlFlip .5s cubic-bezier(.2,.8,.2,1)}
@keyframes hlFlip{0%{transform:perspective(700px) rotateY(90deg) translateY(-14px);opacity:.2}100%{transform:none;opacity:1}}
.hl2 .hilo-meta{gap:12px}.hl2 .hilo-meta>div{min-width:96px;border-radius:14px;background:rgba(255,255,255,.04)}
/* history: a route of cards with the call between them */
.hl2 .hilo-hist{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:16px;padding:12px 14px 10px;min-height:106px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.05);scrollbar-width:thin}
.hl2 .hh{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;animation:hhIn .35s ease-out}
@keyframes hhIn{from{transform:translateY(8px) scale(.9);opacity:0}}
.hl2 .hilo-hist .pcard{width:48px;height:68px;border-radius:8px}
.hl2 .hh em{font-style:normal;font-size:12px;font-weight:800;padding:2px 8px;border-radius:6px;background:#1FBF7A;color:#04210F;white-space:nowrap}
.hl2 .hh:first-child em{background:#34415F;color:#C9D3E8}
.hl2 .hh em:is([data-x]){background:#C92D45}
.hl2 .hh .hh-dir{position:absolute;left:-17px;top:20px;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-style:normal;background:#1B2644;border:1px solid rgba(255,255,255,.18);z-index:2}
.hl2 .hh .hh-dir.hi{color:#9E8BFF}.hl2 .hh .hh-dir.lo{color:#FFA13D}.hl2 .hh .hh-dir.sk{color:#9aa7b5}
.hl2 .hilo-hist .pcard:last-child{outline:2px solid var(--win);outline-offset:2px}
/* result burst (kept from before, now with a ring + sparks + bubble) */
.hl2.hl-pop .mult-big{animation:hlPop .5s cubic-bezier(.2,1.5,.4,1)}
@keyframes hlPop{0%{transform:scale(.8)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.hl-fx{position:absolute;inset:0;pointer-events:none;z-index:3}
.hl-fx .ring{position:absolute;left:50%;top:50%;width:150px;height:214px;border-radius:14px;border:3px solid #35E39A;transform:translate(-50%,-50%);animation:hlRing .9s ease-out forwards}
.hl-fx .ring.r2{animation-delay:.12s;border-width:2px}
.hl-fx.lose .ring{border-color:#FF5470}
@keyframes hlRing{0%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}
.hl-fx b{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#7DFFC0;box-shadow:0 0 8px #35E39A;animation:hlSpark .85s ease-out forwards}
@keyframes hlSpark{0%{opacity:1;transform:rotate(var(--a)) translateX(60px) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(calc(60px + var(--d))) scale(.3)}}
.hl-fx .bub{position:absolute;left:50%;top:6%;transform:translateX(-50%);font:900 18px var(--display,inherit);padding:5px 14px;border-radius:99px;background:linear-gradient(180deg,#43F0AB,#1FBF7A);color:#04210F;box-shadow:0 8px 22px rgba(31,191,122,.5);animation:hlBub 1.1s ease-out forwards;white-space:nowrap}
.hl-fx.lose .bub{background:linear-gradient(180deg,#FF6A80,#C92D45);color:#fff;box-shadow:0 8px 22px rgba(201,45,69,.5)}
@keyframes hlBub{0%{opacity:0;transform:translate(-50%,16px) scale(.7)}25%{opacity:1;transform:translate(-50%,-6px) scale(1.08)}100%{opacity:0;transform:translate(-50%,-44px) scale(1)}}
@media(max-width:700px){
  .hl2 .hl-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:16px 8px;border-radius:20px}
  .hl2 .hilo-card .pcard,.hl-fx .ring{width:104px;height:150px}.hl2 .hl-deck{width:104px;height:150px}
  .hl2 .hl-tile{padding:10px 4px 9px}.hl2 .hl-tile .tl-ic{width:32px;height:32px;font-size:13px}.hl2 .hl-tile .tl-t{font-size:12px}.hl2 .hl-tile .tl-m{font-size:15px;margin-top:4px}.hl2 .hl-tile .tl-p,.hl2 .hl-tile .tl-pay{font-size:11.5px}
  .hl2 .hilo-hist{gap:14px;padding:10px;min-height:92px}.hl2 .hilo-hist .pcard{width:40px;height:58px}.hl2 .hh .hh-dir{left:-15px;top:16px}
}
.hl2 .hh em.lost{background:#C92D45;color:#fff}.hl2 .hh em.skp{background:#34415F;color:#C9D3E8}

/* ===== Blackjack Lobby: normal size (desktop) vs theatre / full screen ===== */
.bjl-tb.sq svg{display:block}.bjl-tb.sq.on{background:rgba(231,194,98,.2);border-color:rgba(231,194,98,.6);color:#F5E3A6}
@media(min-width:861px){
  .main:not(.bjl-locked) .bjl-frame{max-width:1040px}
  .main:not(.bjl-locked) .bjl-fit:not(.bjl-lfit){flex:none;aspect-ratio:1000/650;width:100%}
  .main:not(.bjl-locked) .bjl-fit.bjl-lfit{flex:none;height:min(620px,72vh);overflow:auto;display:block;container-type:normal}
  .main:not(.bjl-locked) .bjl-frame{display:block}
  .main:not(.bjl-locked) .bjl-frame .bjl-bar{border-radius:0}
  .main:not(.bjl-locked) .game-layout.bjl-full{margin:0 auto}
}
.bjl-frame:fullscreen{display:flex!important;flex-direction:column;max-width:none!important;width:100vw;height:100vh;border-radius:0!important}
.bjl-frame:fullscreen .bjl-fit,.bjl-frame:fullscreen .bjl-fit:not(.bjl-lfit){flex:1 1 auto!important;aspect-ratio:auto!important;height:auto!important;min-height:0}
.bjl-frame:fullscreen .bjl-fit.bjl-lfit{overflow:auto}

/* Lobby signed-out prompt: centred */
.bjl-lbody .guest-panel,.bjl-tables .guest-panel{grid-column:1/-1;justify-self:center;width:min(100%,460px);box-sizing:border-box;margin:6px auto 0;padding:clamp(24px,4cqw,38px) 20px}
.bjl-lbody .guest-panel p{font-size:clamp(14px,1.6vw,17px)}
/* Lobby list scales with the card it sits in */
@media(min-width:861px){.main:not(.bjl-locked) .bjl-lbody .bjl-tcard{padding:14px 16px}}

/* Header: on mid-size windows keep the wallet clear of the icons */
@media(min-width:861px) and (max-width:1240px){
  .top{grid-template-columns:minmax(0,.6fr) auto minmax(0,1fr)!important}
  #vipName{display:none}
  .prof-chip.vip-chip{padding-right:8px}
  .top-right{gap:4px}
}

/* Splits: 3-4 hands sit in a tidy 2-column grid that grows upward (never one tall column) */
.bjl-scene .bs-hands:has(.bs-hand:nth-child(3)){display:grid!important;grid-template-columns:repeat(2,max-content);justify-content:center;align-items:end;width:max-content;max-width:none!important;column-gap:1.2cqw;row-gap:.6cqw;flex-wrap:nowrap!important}

/* ===== Game tiles v2: full-colour cards with big art ===== */
.gcard{background:var(--gbg,linear-gradient(160deg,#4B5BD8,#1A1F5C))!important;aspect-ratio:1/1.18!important;border-radius:16px;border:0;box-shadow:0 10px 24px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.28)!important}
.gcard::before{background:radial-gradient(80% 60% at 50% 38%,rgba(255,255,255,.34),transparent 70%),radial-gradient(circle at 15% 100%,rgba(0,0,0,.35),transparent 55%)!important;opacity:1}
.gcard::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;z-index:3}
.gcard .gart{inset:8px 4px 46px 4px!important;filter:drop-shadow(0 10px 12px rgba(0,0,0,.35))}
.gcard .gart svg{width:100%;height:100%;transform:scale(1.12)}
.gcard .shade{height:48%!important;background:linear-gradient(transparent,rgba(6,4,22,.72))!important}
.gcard .gfoot{align-items:center!important;text-align:center;padding:0 8px 11px!important}
.gcard .gname{font-size:15px!important;text-transform:uppercase;letter-spacing:.07em!important;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.gcard .grtp{top:auto!important;left:auto!important;position:static!important;background:none!important;backdrop-filter:none!important;padding:0!important;font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)!important;font-weight:700}
.gcard:hover{box-shadow:0 18px 38px rgba(0,0,0,.5),0 0 0 2px rgba(255,255,255,.55),0 0 28px color-mix(in srgb,#fff 18%,transparent)!important}
@media(max-width:860px){.gcard .gname{font-size:12px!important;letter-spacing:.04em!important}.gcard .grtp{font-size:10px!important}.gcard .gart{inset:6px 2px 38px 2px!important}}

/* Table card is sized from the player's screen: as large as fits both width and height (never taller than the window) */
@media(min-width:861px){
  .main:not(.bjl-locked) .bjl-frame{width:100%;max-width:clamp(640px,calc((100vh - 235px)*1.54),1360px);margin-left:auto;margin-right:auto}
}

/* Header on small desktop / landscape: icons never cover the wallet */
@media(min-width:861px) and (max-width:1060px){
  .top{grid-template-columns:0 auto minmax(0,1fr)!important;gap:8px!important}
  .top .wallet{justify-self:start!important}
  .top-right .icon-btn{width:34px;height:34px}
}

/* Edge seats: keep the whole chip row (side bets, main chip, split chips) inside the table */
.bjl-scene .bjl-seat.s0{left:min(89%,calc(100% - 86px))!important}
.bjl-scene .bjl-seat.s4{left:max(11%,86px)!important}
@media(max-width:860px){
  .bjl-scene .bjl-seat.s0{left:min(86%,calc(100% - 70px))!important}
  .bjl-scene .bjl-seat.s4{left:max(14%,70px)!important}
  .bjl-scene .bs-extra{max-width:34px}
  .bjl-scene .bjl-seat .bs-side,.bjl-scene .bjl-seat .bs-side.empty{width:max(22px,5.6cqw)!important;height:max(22px,5.6cqw)!important}
}

/* ===== Home: Rewards showcase ===== */
.rs{margin:34px 0 8px}.rs-h{font-family:var(--display);font-size:26px;text-align:center;margin:0 0 16px}
.rs-box{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;max-width:980px;margin:0 auto;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#1A2347,#101733);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.rs-l{display:flex;flex-direction:column;gap:10px;padding:18px}
.rs-f{display:flex;gap:14px;align-items:center;text-align:left;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid transparent;color:#fff;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.rs-f:hover{background:rgba(255,255,255,.09)}
.rs-f .rs-ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#8B7BFF,#13946A)}
.rs-f:nth-child(2) .rs-ic{background:linear-gradient(135deg,#FFC24B,#E0771C)}.rs-f:nth-child(3) .rs-ic{background:linear-gradient(135deg,#9B7BFF,#5A3BD9)}.rs-f:nth-child(4) .rs-ic{background:linear-gradient(135deg,#FF7A9C,#C12457)}
.rs-f b{display:block;font-size:15px}.rs-f small{display:block;max-height:0;overflow:hidden;opacity:0;font-size:12.5px;color:#A9B6D6;line-height:1.4;transition:max-height .35s,opacity .3s,margin .3s}
.rs-f.on{background:rgba(139,123,255,.1);border-color:rgba(139,123,255,.45);transform:translateX(3px)}.rs-f.on small{max-height:60px;opacity:1;margin-top:4px}
.rs-r{display:flex;flex-direction:column;align-items:center;padding:22px 10px 22px;background:radial-gradient(90% 70% at 50% 45%,rgba(120,140,255,.18),transparent 70%);min-width:0}
.rs-r h3{margin:0 0 6px;font-family:var(--display);font-size:20px;text-align:center}
.rs-vp{position:relative;width:100%;overflow:hidden;height:210px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.rs-trk{display:flex;height:100%;will-change:transform}
.rs-it{flex:none;width:33.333%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;opacity:.5;transform:scale(.62);transition:transform .9s cubic-bezier(.45,.05,.2,1),opacity .9s}
.rs-it.on{opacity:1;transform:scale(1)}
.rs-it .rs-gem{filter:drop-shadow(0 8px 16px color-mix(in srgb,var(--vc) 55%,transparent))}
.rs-it b{font-size:16px;color:var(--vc)}.rs-it small{font-size:12px;color:#B4C0DE;white-space:nowrap}
.rs-it:not(.on) small{opacity:0}
.rs-line{margin:4px 0 12px;font-size:12.5px;color:#9FB0D6;text-align:center;min-height:18px}
@media(max-width:760px){.rs-box{grid-template-columns:1fr}.rs-vp{height:190px}.rs-it{width:50%}.rs-h{font-size:22px}}

/* ===== VIP tier cards v2 ===== */
.vip2-ladder{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:14px!important}
.vip2-tier{align-items:center;text-align:center;padding:22px 16px 16px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--vc) 14%,#141C38),#0F1630 70%)!important;border-radius:20px!important;overflow:hidden}
.vip2-tier::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--vc),transparent)}
.vip2-tg{filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--vc) 55%,transparent));margin-bottom:6px}
.vip2-tn{font-family:var(--display);font-size:22px;color:var(--vc)}.vip2-tl{font-size:12px;color:#B4C0DE;font-style:normal}.vip2-req{margin:6px 0 10px;color:#8E9CC2}
.vip2-tier ul{list-style:none;margin:0 0 12px;padding:0;width:100%;display:flex;flex-direction:column;gap:7px;text-align:left}
.vip2-tier li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.05);font-size:13px}
.vip2-tier li i{font-style:normal;font-size:16px;line-height:1.2}.vip2-tier li b{color:var(--vc)}.vip2-tier li small{display:block;font-size:12px;color:#8E9CC2;margin-top:1px}
.vip2-state{margin-top:auto;font-size:12px;font-weight:800;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.08)}
.vip2-tier.cur .vip2-state{background:var(--vc);color:#10131f}
.vip2-tier li::before,.vip2-tier li::marker{content:none!important;display:none!important}

/* Sidebar: race prize strip under the raffle banner */
.sb-races{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0 4px}
.sbr-r{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);text-decoration:none;color:#fff;transition:background .2s,transform .2s,border-color .2s}
.sbr-r:hover{background:rgba(255,255,255,.1);transform:translateY(-1px);border-color:rgba(231,194,98,.5)}
.sbr-r small{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8E9CC2}
.sbr-r b{font-size:14px;font-family:var(--display);color:#F5E3A6}

/* Tall phones: use the whole height. --tall (0..1) is set from the table's real aspect ratio. */
@media(max-width:860px){
  .bjl-scene{--bj-base:calc(8.4cqw*(1 + var(--tall,0)*.28))}
  /* phones: seats sit on the back line of the table, low on the felt */
  .bjl-scene .bjl-seat.s0,.bjl-scene .bjl-seat.s4{top:calc(50% + var(--tall,0)*12%)!important}
  .bjl-scene .bjl-seat.s1,.bjl-scene .bjl-seat.s3{top:calc(59.5% + var(--tall,0)*11%)!important}
  .bjl-scene .bjl-seat.s2{top:calc(68.5% + var(--tall,0)*9%)!important}
  .bjl-scene .bjl-dhand{top:calc(24cqw + var(--tall,0)*4cqw)!important}   /* phones: dealer cards sit over the torso, clear of the face */
  .bjl-scene .bjl-dealer{transform:translateX(-50%) scale(calc(1 + var(--tall,0)*.18));transform-origin:50% 0}
}

/* Countdown sits on the felt between "Table limits" and the "Blackjack pays 3 to 2" arc */
.bjl-scene>.bjl-timer{position:absolute!important;left:50%!important;top:var(--tm-top,35cqw)!important;transform:translateX(-50%)!important;width:max(30px,4.8cqw)!important;height:max(30px,4.8cqw)!important;z-index:6;animation:none!important}
.bjl-scene>.bjl-timer b{font-size:max(11px,1.9cqw)!important}

/* countdown ring: on the felt between the table-limits line and the Blackjack-pays arc */
.bjl-scene:has(.bjl-pop.pj) .bjl-limits{opacity:1!important}
.bjl-scene .bjl-pop.pj{--pb:max(32px,4.6cqw);--pr:max(40px,5.8cqw);top:var(--gap-top,27cqw)!important;gap:.4cqw}
.bjl-scene .bjl-pop.pj .pp-ring b{font-size:max(14px,2.3cqw)}
.bjl-scene>.bjl-timer{top:var(--gap-top,27cqw)!important;width:max(34px,5.4cqw)!important;height:max(34px,5.4cqw)!important}

/* normal size: no wide box behind the centred table card */
@media(min-width:861px){
  .main:not(.bjl-locked) .bjl-full .stage{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important;display:block!important}
  .main:not(.bjl-locked) .bjl-full .stage::before,.main:not(.bjl-locked) .bjl-full .stage::after{display:none!important}
}
@media(min-width:861px){
  .main:not(.bjl-locked) .game-layout.bjl-full{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important;border-radius:0!important}
  .main:not(.bjl-locked) .game-layout.bjl-full::before,.main:not(.bjl-locked) .game-layout.bjl-full::after{display:none!important}
}

/* Towers: choose the tiles auto bet will climb */
.tower.planning .tcell:not(:disabled){cursor:pointer}
.tcell.plan{box-shadow:inset 0 0 0 2px #E7C262,0 0 12px rgba(231,194,98,.45)!important;background-image:linear-gradient(180deg,rgba(231,194,98,.28),rgba(231,194,98,.08))!important}
.tcell.plan::after{content:"";position:absolute;right:6px;top:6px;width:7px;height:7px;border-radius:50%;background:#E7C262;box-shadow:0 0 6px #E7C262}
.tw-plan-note{font-size:12px;margin:6px 0 0;line-height:1.4}
.tcell{position:relative}

/* Touch: larger tap areas for small controls (visual size unchanged) */
@media(pointer:coarse),(max-width:860px){
  .switch::before{content:"";position:absolute;inset:-9px -6px}
  .gfav::before{content:"";position:absolute;inset:-8px}
  .cp-arr{width:32px}
  .section-title .see,.lr-head .see{padding:9px 8px!important;margin:-9px -8px!important;position:relative}
  .vf a,.vf-links a,.shop a:not(.btn),.page p a,.page small a,.page .muted a,.rc-note a{padding-block:8px;padding-inline:3px}
  .vf a,.vf-links a{display:inline-block}
}

@media(pointer:coarse),(max-width:860px){
  footer a,.footer a,.vf a{min-height:40px;display:inline-flex!important;align-items:center;padding-inline:8px!important}
  a.see,.see{min-height:40px;display:inline-flex;align-items:center}
  .switch,.gfav{min-width:0}
}

@media(pointer:coarse),(max-width:860px){
  .og-head a[data-all]{display:inline-flex;align-items:center;min-height:40px;padding-inline:8px}
}

/* Lobby hero backdrop: full-width band behind the title (original artwork) */
.lobby-backdrop{position:absolute;left:0;right:0;top:0;height:430px;z-index:0;pointer-events:none;overflow:hidden;
  background:
   radial-gradient(60% 90% at 22% 20%,rgba(107,43,255,.38),transparent 70%),
   radial-gradient(45% 80% at 82% 10%,rgba(27,214,255,.22),transparent 70%),
   radial-gradient(40% 70% at 55% 0%,rgba(255,43,184,.16),transparent 70%),
   linear-gradient(180deg,#141c3a 0%,#0e1530 55%,transparent 100%);
  -webkit-mask:linear-gradient(#000 60%,transparent);mask:linear-gradient(#000 60%,transparent)}
.lobby-backdrop::before{content:"";position:absolute;inset:0;opacity:.16;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='white' stroke-width='1.6'><path d='M24 40c0-8-12-12-12-22a8 8 0 0 1 12-6 8 8 0 0 1 12 6c0 10-12 14-12 22zM21 40h6l2 8h-10z'/><circle cx='88' cy='30' r='13'/><circle cx='88' cy='30' r='7'/><path d='M30 98l9-13 9 13-9 13zM92 84c-5-7-14-3-14 3 0 8 14 14 14 20 0-6 14-12 14-20 0-6-9-10-14-3z'/></svg>");
  background-size:120px 120px;transform:rotate(-8deg) scale(1.3)}
.lobby-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 80% at 50% 0%,transparent,rgba(8,12,28,.55))}
.lobby-page{position:relative;z-index:1}
@media(max-width:860px){.lobby-backdrop{height:300px}}

/* Backdrop v2: calm navy band, title sits directly on it (clean look) */
.lobby-backdrop{height:340px;
  background:radial-gradient(70% 100% at 50% 0%,#1d2a56 0%,#141d40 55%,#0f1731 100%)!important;
  -webkit-mask:linear-gradient(#000 82%,transparent);mask:linear-gradient(#000 82%,transparent);
  border-bottom:1px solid rgba(255,255,255,.04)}
.lobby-backdrop::before{opacity:.045!important}
.lobby-backdrop::after{background:none!important}
.lobby-page>.hero3{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0}
@media(max-width:860px){.lobby-backdrop{height:260px}}
.lobby-page>.hero3 .hero-art{-webkit-mask:linear-gradient(90deg,transparent,#000 18%);mask:linear-gradient(90deg,transparent,#000 18%)}
.lobby-page>.hero3 .hero-fx .hf-sweep{display:none}
.lobby-backdrop::before{display:none!important}

/* Help + payments widgets (original artwork) */
.hw{margin:36px 0 8px}
.hw-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);max-width:980px;margin:0 auto;border-radius:22px;overflow:hidden;background:#0f1631;border:1px solid rgba(255,255,255,.08)}
.hw-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:26px 14px;text-align:center;background:radial-gradient(90% 70% at 50% 35%,rgba(139,123,255,.35),transparent 70%),linear-gradient(160deg,#124a3a,#0b2a2c 70%,#0b1b2a)}
.hw-svg{width:min(180px,70%);height:auto;filter:drop-shadow(0 14px 24px rgba(0,0,0,.4))}
.hw-art b{font-family:var(--display);font-size:17px;margin-top:8px}.hw-art small{color:#BFE9DA;font-size:12.5px}
.hw-r{padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.hw-faq{display:flex;flex-direction:column;gap:8px}
.hw-q{border-radius:12px;background:rgba(255,255,255,.06);overflow:hidden}
.hw-qb{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;min-height:44px;background:none;border:0;color:#fff;font:inherit;font-weight:600;font-size:14.5px;text-align:left;cursor:pointer}
.hw-qb:hover{background:rgba(255,255,255,.05)}
.hw-qb i{font-style:normal;font-size:18px;transition:transform .25s;color:#A9B6D6}
.hw-q.open .hw-qb i{transform:rotate(90deg)}
.hw-q p{margin:0;padding:0 16px;max-height:0;overflow:hidden;font-size:13.5px;line-height:1.5;color:#B4C0DE;transition:max-height .3s,padding .3s}
.hw-q.open p{max-height:140px;padding:0 16px 14px}
.hw-msg{display:flex;gap:10px;padding:8px;border-radius:12px;background:rgba(0,0,0,.25)}
.hw-msg input{flex:1;min-width:0;background:none;border:0;color:#fff;font:inherit;padding:8px 10px;outline:0}
.pw{display:flex;align-items:center;gap:20px;max-width:980px;margin:28px auto 8px;padding:20px 26px;border-radius:18px;background:#1b2347;border:1px solid rgba(255,255,255,.07)}
.pw-shield{flex:none}.pw-t{flex:1;min-width:0}
.pw-t h3{margin:0 0 4px;font-family:var(--display);font-size:19px}.pw-t p{margin:0;font-size:13.5px;line-height:1.5;color:#B4C0DE}
.pw-coins{display:flex;align-items:center;gap:6px;flex:none}
.pw-c{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;background:var(--c);box-shadow:0 0 0 2px #1b2347;margin-left:-10px}
.pw-c:first-child{margin-left:0}.pw-more{margin-left:8px;font-size:12px;color:#A9B6D6;white-space:nowrap}
@media(max-width:760px){.hw-box{grid-template-columns:1fr}.hw-art{padding:18px}.hw-svg{width:120px}.pw{flex-direction:column;text-align:center;padding:20px 16px}.pw-coins{justify-content:center}}
.bot-tag{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.08em;color:#9FB0D6;background:rgba(255,255,255,.09);vertical-align:middle;cursor:help}
.live-table tr.isbot{cursor:default}
.hs-bots{opacity:.7;font-size:.85em;font-weight:600;margin-left:2px}
.lw-who .bot-tag{margin-left:4px;font-size:8px;padding:1px 4px}
.live-table tr.isbot{cursor:pointer}
.hid-ic{color:#9FB0D6;display:inline-flex;align-items:center}

/* Coinflip: richer coin, landing glow */
.flip-scene{width:min(210px,56vw);height:min(210px,56vw)}
.flip-scene{transition:filter .4s}
.coin3d .face{flex-direction:column;gap:0;border:3px solid rgba(255,255,255,.28);overflow:hidden}
.coin3d .face b{font-size:.82em;line-height:1;text-shadow:0 2px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.25)}
.coin3d .face small{font-family:var(--font,inherit);font-size:12px;letter-spacing:.28em;font-weight:800;opacity:.7;margin-top:2px}
.coin3d .face::before{content:"";position:absolute;inset:11px;border-radius:50%;border:2px dashed rgba(0,0,0,.22);pointer-events:none}
.coin3d .face::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.38) 45%,transparent 60%);pointer-events:none}
/* filters go on the wrapper: a filter on the 3D element would flatten the flip and show the wrong face */
.flip-scene:has(.coin3d.cf-win){filter:drop-shadow(0 0 22px rgba(255,200,61,.85))}
.flip-scene:has(.coin3d.cf-lose){filter:saturate(.55) brightness(.85)}
.flip-shadow{transition:opacity .3s}
@media(max-width:560px){.coin3d .face b{font-size:.72em}.coin3d .face small{font-size:10px}}

/* ===== Readability + polish pass ===== */
:root{--muted:#AAB9CE;--dim:#8497B1;--line:#2C3F58}
body{font-size:15px;line-height:1.5;letter-spacing:.01em}
.muted,small{color:var(--muted)}
.nav-item{font-size:14.5px;padding:10px 12px}
.nav-item.active{background:linear-gradient(90deg,rgba(139,123,255,.16),rgba(139,123,255,.04));box-shadow:inset 3px 0 0 var(--accent,#8B7BFF)}
.btn{font-weight:700;letter-spacing:.015em;transition:transform .15s,box-shadow .2s,filter .2s}
.btn:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.06)}
.btn:not(:disabled):active{transform:translateY(0) scale(.99)}
.btn.primary{box-shadow:0 8px 22px rgba(139,123,255,.28)}
input,select,textarea{font-size:15px}
.field label,.field>label{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.02em}
.gcard{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.gcard:hover{transform:translateY(-5px) scale(1.015);box-shadow:0 18px 38px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.12)}
.gcard .gname,.gcard b{text-shadow:0 2px 6px rgba(0,0,0,.55)}
.section-title,.lr-head h3,.og-head h3{font-size:19px;letter-spacing:.01em}
.lb-panel,.rs-box,.hw-box,.pw,.panel,.card{box-shadow:0 14px 40px rgba(0,0,0,.28)}
.bets-table td{font-size:14px}.bets-table th{font-size:12px;letter-spacing:.07em;color:var(--muted)}
.bets-table tbody tr{transition:background .15s}.bets-table tbody tr:hover{background:rgba(255,255,255,.04)}
.modal{box-shadow:0 30px 80px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.1)}
.toast,.tst{font-size:14px}
::selection{background:rgba(139,123,255,.35)}
*{scrollbar-width:thin;scrollbar-color:#37506f transparent}
:focus-visible{outline:2px solid #8B7BFF;outline-offset:2px;border-radius:6px}
.hero3 .kick{font-size:13px}.hero3 p{font-size:16px;line-height:1.55;color:#DCE6F5}
@media(max-width:860px){body{font-size:15px}.nav-item{font-size:15px}.gcard:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.gcard,.btn{transition:none!important}}
.hero3>div:first-child{position:relative;z-index:2}.hero3 p{text-shadow:0 1px 8px rgba(8,12,28,.9)}

/* raffle: recent winners + ticket leaderboard */
.rf-boards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.rf-board{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:16px 8px 10px;min-width:0}
.rf-board h3{margin:0 0 12px 8px;font-family:var(--display);font-size:17px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rf-board h3 small{font-size:12px;font-weight:600;color:var(--muted)}
.rf-board .rc-head,.rf-board .rc-row{grid-template-columns:34px minmax(0,1fr) 78px 74px;padding:0 8px;min-height:40px}
.rf-nm{display:flex;align-items:center;gap:6px;min-width:0}.rf-nm .un{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rf-nm[data-pid]{cursor:pointer}
@media(max-width:860px){.rf-boards{grid-template-columns:1fr}}

/* raffle page: one clean scrolling layout */
.rf-hero{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center;padding:30px 34px;border-radius:20px;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,rgba(255,200,61,.3),transparent 60%),linear-gradient(135deg,#6a4a10,#3d2c0b 55%,#241a0a);border:1.5px solid #f4c542;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.rf-hero .rc-title b{font-size:clamp(40px,7vw,64px);color:#ffd96b;text-shadow:0 3px 0 #8a5a00}
.rf-hero .rc-title span{font-size:clamp(20px,3.2vw,30px);font-weight:800;font-style:italic;color:#ffe28a}
.rf-hbtn{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.rf-hbtn .btn.primary{background:linear-gradient(180deg,#ffd75e,#f0b429);color:#3b2600;box-shadow:0 8px 22px rgba(240,180,41,.35)}
.rf-hr{display:flex;flex-direction:column;gap:10px;border-left:2px dotted rgba(255,226,138,.35);padding-left:26px}
.rf-hr small{color:#ffe9b0;font-weight:700}.rf-hr em{font-size:13px;color:#e8d3a0;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}
.rf-info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.rf-info>div{background:#1c2644;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:18px 20px}
.rf-info b{display:flex;align-items:center;gap:10px;font-size:16px;margin-bottom:8px}.rf-info b i{font-style:normal;font-size:22px}
.rf-info p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.rf-sec{background:#1a2342;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:22px 22px 18px;margin-top:18px}
.rf-sh h2{margin:0;font-family:var(--display);font-size:24px;display:flex;align-items:center;gap:10px}
.rf-sh p{margin:6px 0 14px;color:var(--muted);font-size:14px}
.rf-chip{font-size:14px;padding:3px 10px;border-radius:8px;background:rgba(255,255,255,.08);font-family:var(--ui,inherit)}
.rf-boards{margin-top:18px}
@media(max-width:860px){.rf-hero{grid-template-columns:1fr;padding:22px}.rf-hr{border-left:0;padding-left:0;border-top:2px dotted rgba(255,226,138,.35);padding-top:16px}.rf-info{grid-template-columns:1fr}}

/* PC: seats (and the cards above them, which are part of each seat) sit lower, just above the chip tray; same curve, shifted down together */
@media(min-width:861px){
  .bjl-scene .bjl-seat.s0,.bjl-scene .bjl-seat.s4{top:60.5%!important}
  .bjl-scene .bjl-seat.s1,.bjl-scene .bjl-seat.s3{top:66.5%!important}
  .bjl-scene .bjl-seat.s2{top:72%!important}
}

/* v182: PC — bet on top, balance beneath, both on the left of the table */
@media(min-width:861px){
  .bjl-scene .bjl-dock .dk-info{grid-column:1!important;justify-self:start!important;text-align:left!important;align-items:flex-start!important}
  .bjl-scene .bjl-dock .dk-info>div{align-items:flex-start!important}
}

/* v187: My bets — a centred, compact card instead of a full-width table */
.hist-pg{max-width:860px;margin:0 auto}
.hist-pg .table-wrap{border-radius:14px;overflow:hidden}
.hist-pg .bets-table td,.hist-pg .bets-table th{padding-left:14px;padding-right:14px}
.hist-pg .bets-table th:first-child,.hist-pg .bets-table td:first-child{width:34%}
@media(max-width:860px){.hist-pg{max-width:none}}

/* ---------- v193: Chat rain ---------- */
.cm-sys{display:flex;gap:8px;align-items:center;justify-content:center;margin:6px 4px;padding:8px 10px;border-radius:12px;background:linear-gradient(135deg,rgba(94,201,255,.14),rgba(124,92,255,.14));border:1px solid rgba(120,190,255,.25);color:#cfe9ff;font-size:13px;line-height:1.4;text-align:center}
.cm-sys .cm-t{opacity:.5;font-size:11px;flex:none;margin-right:0;align-self:center}
.cm-sys .cm-rain{flex:1}
.rain-card{position:relative;overflow:hidden;margin:8px;padding:12px 14px 12px;border-radius:16px;background:radial-gradient(120% 100% at 50% 0%,#24407a 0%,#16224a 55%,#111a38 100%);border:1px solid rgba(130,190,255,.35);box-shadow:0 8px 28px rgba(40,90,200,.35),inset 0 1px 0 rgba(255,255,255,.12);color:#eaf4ff;animation:rnIn .5s cubic-bezier(.2,.9,.25,1.1)}
.rain-card>*{position:relative;z-index:1}
.rain-card .rn-head{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;letter-spacing:.02em}
.rain-card .rn-v{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#dff0ff;border-radius:999px;font-size:11.5px;padding:3px 10px;cursor:pointer}
.rain-card .rn-v:hover{background:rgba(255,255,255,.18)}
.rain-card .rn-prize{font:800 30px/1.1 var(--font-d,inherit);margin:8px 0 10px;background:linear-gradient(180deg,#fff3c4,#f2c14e 60%,#d99a1e);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(242,193,78,.45));text-align:center}
.rain-card .rn-prize small{display:block;font:500 12px/1.3 inherit;color:#b9d3f2;-webkit-text-fill-color:#b9d3f2;margin-top:3px;filter:none}
.rain-card .rn-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.rain-card .rn-bar i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,#5ec9ff,#7c5cff);transition:width .5s linear;box-shadow:0 0 10px rgba(94,201,255,.7)}
.rain-card .rn-meta{display:flex;justify-content:space-between;font-size:12px;color:#b9d3f2;margin:6px 2px 10px;font-variant-numeric:tabular-nums}
.rain-card .rn-join{width:100%;padding:11px 12px;border:0;border-radius:12px;font-weight:800;font-size:14.5px;letter-spacing:.02em;cursor:pointer;color:#06231a;background:linear-gradient(180deg,#5cf2b4,#22c98a);box-shadow:0 6px 18px rgba(34,201,138,.45),inset 0 1px 0 rgba(255,255,255,.5);animation:rnPulse 1.8s ease-in-out infinite;transition:transform .15s}
.rain-card .rn-join:active{transform:scale(.97)}
.rain-card .rn-join:disabled{animation:none;cursor:default;background:rgba(255,255,255,.12);color:#c3d6ee;box-shadow:none}
.rain-card .rn-join.in:disabled{background:rgba(34,201,138,.2);color:#7cf2c4;border:1px solid rgba(34,201,138,.5)}
.rain-card .rn-why{font-size:12px;color:#ffd58a;margin-top:7px;text-align:center}
.rain-card .rn-rule{font-size:11px;color:#8fb0d6;margin-top:8px;text-align:center}
.rain-card .rn-drops{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.rain-card .rn-drops i{position:absolute;top:-14px;left:var(--x);width:2px;height:16px;border-radius:2px;background:linear-gradient(180deg,transparent,rgba(160,215,255,.85));animation:rnDrop var(--d) linear var(--dl) infinite}
.rain-card.done{background:radial-gradient(120% 100% at 50% 0%,#3b3a1a 0%,#232010 60%,#17150a 100%);border-color:rgba(242,193,78,.45);box-shadow:0 8px 28px rgba(242,193,78,.25),inset 0 1px 0 rgba(255,255,255,.12)}
.rain-card .rn-you{margin:8px 0 0;padding:8px;border-radius:12px;text-align:center;background:linear-gradient(135deg,rgba(34,201,138,.3),rgba(34,201,138,.12));border:1px solid rgba(34,201,138,.55);color:#aef5d6;font-size:14px;animation:rnWin .7s cubic-bezier(.2,1.4,.3,1)}
.rain-card .rn-you b{color:#fff}
.rain-card .rn-wins{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.rain-card .rn-wins span{background:rgba(255,255,255,.1);border-radius:999px;padding:4px 10px;font-size:12px;color:#ffe9a8;animation:rnChip .5s both;animation-delay:calc(var(--i)*70ms)}
.rain-card .rn-wins span b{color:#fff;font-weight:700}
.rain-pill{position:fixed;right:14px;bottom:86px;z-index:430;display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid rgba(130,190,255,.5);background:linear-gradient(135deg,#1c3a78,#2a2a7a);color:#eaf4ff;font-weight:700;font-size:13px;box-shadow:0 10px 28px rgba(40,90,220,.5);cursor:pointer;animation:rnIn .5s cubic-bezier(.2,.9,.25,1.1),rnGlow 2s ease-in-out infinite}
.rain-pill.in{border-color:rgba(34,201,138,.7);background:linear-gradient(135deg,#124a3a,#1b3a6a)}
.rain-pill .rp-d{width:8px;height:8px;border-radius:50%;background:#5ec9ff;box-shadow:0 0 10px #5ec9ff;animation:rnBlink 1s infinite}
@media(max-width:860px){.rain-pill{bottom:76px;right:10px}}
.rn-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.rn-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted,#9aa7c7)}
.rn-form input{padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:inherit;font-size:14px}
.rn-proof{display:flex;flex-direction:column;gap:6px;font-size:13.5px}.rn-proof .ok{color:#5be3a0}.rn-proof .bad{color:#ff7a8a}
@keyframes rnIn{from{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes rnDrop{to{transform:translateY(260px);opacity:.1}}
@keyframes rnPulse{0%,100%{box-shadow:0 6px 18px rgba(34,201,138,.45),inset 0 1px 0 rgba(255,255,255,.5)}50%{box-shadow:0 6px 28px rgba(34,201,138,.85),inset 0 1px 0 rgba(255,255,255,.5)}}
@keyframes rnGlow{0%,100%{box-shadow:0 10px 28px rgba(40,90,220,.45)}50%{box-shadow:0 10px 36px rgba(94,201,255,.75)}}
@keyframes rnBlink{50%{opacity:.25}}
@keyframes rnChip{from{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}
@keyframes rnWin{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rain-card,.rain-card *,.rain-pill,.rain-pill *{animation:none!important}}

/* ---------- v194: Creature Packs ---------- */
.pk-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 4px 14px}
.pk-hall{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;width:100%}
.pk-hall.flash::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.85),rgba(180,104,255,.4) 35%,transparent 65%);animation:pkFlash .5s ease-out forwards;pointer-events:none;z-index:3}
.pk-pack{width:min(150px,38vw);transition:opacity .25s;filter:drop-shadow(0 14px 22px rgba(0,0,0,.5));animation:pkFloat 3.2s ease-in-out infinite}
.pk-pack svg{display:block;width:100%;height:auto}
.pk-pack .pk-shine{animation:pkShine 4.2s cubic-bezier(.45,.05,.35,1) infinite;transform-box:fill-box;mix-blend-mode:soft-light}
.pk-pack.shake{animation:pkShake .5s linear}
.pk-pack.burst{animation:pkBurst .38s ease-in forwards}
.pk-pack.gone{display:none}
.pk-pack.back-in{animation:pkIn .5s cubic-bezier(.2,1.3,.3,1)}
.pk-hall:has(.pk-pack.gone){min-height:0}
.pk-total{min-height:30px;margin-top:8px;font:800 22px/1.2 var(--font-d,inherit);color:var(--rc,#9fb0d0);text-shadow:0 0 14px var(--rc,transparent);transition:color .3s;text-align:center}
.pk-total small{display:block;font-size:14px;color:#5BE3A0;text-shadow:none}
.pk-total.on{animation:pkPop .5s cubic-bezier(.2,1.5,.3,1)}
.pk-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;width:100%;perspective:900px}
.pk-flip{width:min(112px,17.5vw);aspect-ratio:5/7;min-width:62px}
.pk-flip.in .pk-card{animation:pkFlipIn .55s cubic-bezier(.2,.9,.25,1.05)}
.pk-card{position:relative;width:100%;aspect-ratio:5/7;border-radius:12px;transform-style:preserve-3d}
.pk-card.back .pk-backface{position:absolute;inset:0;border-radius:12px;background:repeating-linear-gradient(45deg,#2B2670 0 8px,#33307F 8px 16px);border:2px solid #6B63D8;display:grid;place-items:center;box-shadow:0 6px 14px rgba(0,0,0,.4)}
.pk-card.back svg{width:40%}
.pk-face{position:absolute;inset:0;border-radius:12px;padding:3px;background:linear-gradient(145deg,var(--rc),color-mix(in srgb,var(--rc) 40%,#10142b));box-shadow:0 8px 18px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12) inset}
.pk-card.flipped.r3 .pk-face,.pk-card.flipped.r4 .pk-face,.pk-card.flipped.r5 .pk-face{box-shadow:0 0 22px var(--rc),0 8px 18px rgba(0,0,0,.45)}
.pk-card.flipped.r5 .pk-face{animation:pkMythic 1.6s ease-in-out infinite}
.pk-in{height:100%;border-radius:9px;background:linear-gradient(180deg,#171b3a,#0f1230);display:flex;flex-direction:column;padding:4px 5px;overflow:hidden}
.pk-top{display:flex;justify-content:space-between;align-items:center;font-size:clamp(9px,1.5vw,12px);gap:3px}
.pk-top b{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-top i{width:9px;height:9px;border-radius:50%;background:var(--ec);box-shadow:0 0 6px var(--ec);flex:none}
.pk-art{flex:1;min-height:0;margin:3px 0;border-radius:7px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--ec) 35%,#1c2150),#12163a);display:grid;place-items:center;overflow:hidden}
.pk-art.q{color:#6f78a8;font:800 28px/1 inherit;background:#12163a}
.pk-cre{width:100%;height:100%}
.pk-foot{display:flex;justify-content:space-between;font-size:clamp(8px,1.3vw,11px);color:var(--rc);font-weight:700}
.pk-foot b{color:#ffe08a}
.pk-holo{position:absolute;inset:3px;border-radius:9px;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 45%,rgba(255,200,255,.22) 50%,transparent 62%);background-size:250% 100%;animation:pkHolo 2.8s linear infinite;mix-blend-mode:screen}
.pk-card.mini{width:100%}.pk-card.mini .pk-top b{font-size:9px}.pk-card.mini .pk-foot{font-size:8px}
.pk-quick{display:flex;gap:6px;flex-wrap:wrap}.pk-quick button{flex:1;min-width:48px;padding:7px 4px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;font-weight:700;font-size:12.5px;cursor:pointer}
.pk-quick button:hover{background:rgba(255,255,255,.14)}
.pk-odds{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;font-size:11.5px;color:var(--muted,#9aa7c7);max-width:560px}
.pk-odds span{display:inline-flex;align-items:center;gap:5px}.pk-odds i{width:8px;height:8px;border-radius:50%;background:var(--rc)}
.pk-binder{max-height:62vh;overflow:auto;padding-right:4px}
.pk-bar{height:7px;border-radius:9px;background:rgba(255,255,255,.1);margin:4px 0 12px;overflow:hidden}.pk-bar i{display:block;height:100%;background:linear-gradient(90deg,#B468FF,#4DA3FF);border-radius:9px}
.pk-bsec h4{margin:12px 0 6px;font-size:13px}.pk-bsec h4 small{color:var(--muted,#9aa7c7);font-weight:500}
.pk-bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.pk-slot{position:relative}.pk-slot em{position:absolute;right:4px;bottom:22px;font-style:normal;font-weight:800;font-size:11px;background:#0008;color:#fff;border-radius:6px;padding:1px 5px}
.pk-slot.empty .pk-face{opacity:.35;filter:grayscale(.8)}
.pk-slot .pk-card.mini .pk-face{position:relative;display:block;width:100%;aspect-ratio:5/7}
.pk-slot.empty .pk-in{align-items:center;justify-content:center}
.pk-bc{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.pk-bc .pk-card{width:calc(20% - 6px);min-width:56px}
.pk-bc .pk-card .pk-face{position:relative;width:100%;aspect-ratio:5/7}
@keyframes pkFloat{50%{transform:translateY(-6px) rotate(.8deg)}}
@keyframes pkShine{0%,12%{transform:translateX(0) skewX(-18deg)}62%,100%{transform:translateX(330px) skewX(-18deg)}}
@keyframes pkShake{0%,100%{transform:rotate(0)}15%{transform:rotate(-7deg) scale(1.04)}30%{transform:rotate(7deg) scale(1.07)}45%{transform:rotate(-9deg) scale(1.1)}60%{transform:rotate(9deg) scale(1.12)}80%{transform:rotate(-4deg) scale(1.14)}}
@keyframes pkBurst{to{transform:scale(1.6);opacity:0;filter:brightness(2.4)}}
@keyframes pkIn{from{transform:scale(.3);opacity:0}}
@keyframes pkFlash{from{opacity:1}to{opacity:0}}
@keyframes pkFlipIn{from{transform:rotateY(-110deg) translateY(30px) scale(.7);opacity:0}}
@keyframes pkPop{from{transform:scale(.6);opacity:0}}
@keyframes pkMythic{50%{box-shadow:0 0 36px var(--rc),0 0 60px var(--rc)}}
@keyframes pkHolo{to{background-position:-250% 0}}
@media(prefers-reduced-motion:reduce){.pk-pack,.pk-pack *,.pk-holo,.pk-card{animation:none!important}}

/* configurable packs */
.pk-pick{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
.pk-pick button{padding:6px 10px;border-radius:10px;border:1px solid var(--line,#2a3350);background:rgba(255,255,255,.04);color:inherit;font-size:12px;font-weight:700;cursor:pointer}
.pk-pick button.on{border-color:#7C5CFF;background:rgba(124,92,255,.22)}
.pk-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:6px}
.pk-disc{margin:10px 0 0;font-size:11px;line-height:1.4;opacity:.55;text-align:center}
.adm-pk-card{display:flex;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--line,#2a3350);border-radius:8px;margin:4px 0;font-size:13px}
.adm-pk-card img{width:28px;height:40px;object-fit:cover;border-radius:4px}
.pk-slot .pk-card.mini{width:100%;display:block}
.pk-slot.empty .pk-face{opacity:1;filter:none;background:rgba(255,255,255,.035);border:1.5px dashed var(--rc,#556);border-radius:10px;box-sizing:border-box}
.pk-slot.empty .pk-art.q{font-size:22px;font-weight:800;color:var(--rc,#889);opacity:.6;background:none;border:0;box-shadow:none}
.pk-slot.empty{padding:0;text-align:left;color:inherit}
/* admin categories: wrap onto rows so every tab is visible (the row used to scroll sideways with no scrollbar) */
.adm-nav{flex-wrap:wrap;overflow:visible;position:static}
.adm-nav button{flex:0 1 auto}
@media(max-width:860px){.adm-nav{gap:3px}.adm-nav button{padding:7px 9px;font-size:12.5px}}

/* admin pack editor */
.pkad>summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap;list-style:none;font-size:14px}
.pkad>summary::-webkit-details-marker{display:none}
.pkad-w{grid-column:1/-1}.pkad-wg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:6px}
.pkad-wg label{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;font-size:12px}
.pkad-wg label span{grid-column:1/-1;display:flex;gap:6px;align-items:center;font-weight:700}
.pkad-wg label span i{width:9px;height:9px;border-radius:50%;background:var(--rc)}
.pkad-wg em{font-style:normal;font-size:12px;color:var(--muted);min-width:46px;text-align:right}
.pkad-bar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;align-items:center}
.pkad-h{margin:14px 0 6px;font-size:13px}
.pkad-pv{display:grid;gap:10px;max-height:52vh;overflow:auto;padding-right:4px}
.pkad-t{border:1px solid var(--line);border-left:3px solid var(--rc);border-radius:10px;padding:8px 10px}
.pkad-th{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.pkad-th b{color:var(--rc)}.pkad-th span{font-size:12px;color:var(--muted)}
.pkad-c{display:flex;gap:8px;align-items:center;font-size:12.5px;padding:2px 0}.pkad-c img,.pkad-ph{width:20px;height:28px;border-radius:3px;object-fit:cover;background:rgba(255,255,255,.08)}.pkad-c em{margin-left:auto;font-style:normal;color:var(--muted)}
.pkad textarea,.rn-form textarea{width:100%;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}

/* ---------- pack opening: tear, deal, suspense, flip, tilt ---------- */
.pk-hall{min-height:290px;--px:0;--py:0;isolation:isolate}
.pk-glow{position:absolute;inset:-6% 4%;border-radius:50%;pointer-events:none;z-index:-1;opacity:.55;background:radial-gradient(circle at 50% 46%,rgba(124,92,255,.38),transparent 62%);transition:opacity .5s,background .5s}
.pk-hall.charging .pk-glow{opacity:1;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--bc) 62%,transparent),transparent 64%);animation:pkGlowPulse .45s ease-in-out infinite alternate}
.pk-hall.done .pk-glow{opacity:.8;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--bc) 42%,transparent),transparent 66%)}
.pk-fx{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2}
.pk-pack{position:relative;perspective:700px;animation:pkFloat 3.2s ease-in-out infinite}
.pk-tilt{position:relative;transform:rotateY(calc(var(--px)*16deg)) rotateX(calc(var(--py)*-14deg));transition:transform .18s ease-out;transform-style:preserve-3d}
.pk-half svg{display:block;width:100%;height:auto}
.pk-half.pk-up{position:absolute;inset:0;clip-path:inset(0 0 84.5% 0)}
.pk-half.pk-dn{clip-path:inset(15.5% 0 0 0)}
.pk-pack{margin-top:14px}
.pk-seam{position:absolute;left:6%;right:6%;top:15%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--bc,#fff),transparent);opacity:0;pointer-events:none;filter:blur(.4px)}
.pk-hall.charging .pk-seam{opacity:1;box-shadow:0 0 16px 5px var(--bc,#fff);animation:pkSeam .26s ease-in-out infinite alternate}
.pk-pack.shake{animation:pkShake2 .2s linear infinite}
.pk-pack.tear{animation:none}
.pk-pack.tear .pk-half.pk-up{animation:pkTearTop .75s cubic-bezier(.3,.1,.6,1) forwards}
.pk-pack.tear .pk-half.pk-dn{animation:pkTearBot .7s ease-in forwards}
.pk-pack.tear .pk-seam{opacity:0}
.pk-cap{margin-top:10px;font-size:12px;color:var(--muted,#9aa7c7);letter-spacing:.3px;text-align:center}
.pk-skip{position:absolute;top:6px;right:8px;z-index:4;padding:6px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.2);background:rgba(10,14,32,.6);color:#fff;font-weight:700;font-size:12px;cursor:pointer;backdrop-filter:blur(4px)}
.pk-skip[hidden]{display:none}
.pk-total span{font-size:30px;letter-spacing:.5px}
.pk-total.win{color:#5BE3A0;text-shadow:0 0 22px rgba(91,227,160,.75)}
.pk-total.win span{animation:pkWinPulse 1.2s ease-in-out infinite}
.pk-row{gap:14px;padding:14px 0 6px;perspective:1100px;min-height:150px}
.pk-flip{position:relative;isolation:isolate;width:min(128px,calc((100% - (var(--n,5) - 1)*14px)/var(--n,5)));min-width:54px;aspect-ratio:auto;transform-origin:50% 100%}
.pk-flipper{position:relative;width:100%;aspect-ratio:5/7;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.85,.25,1)}
.pk-flip.rev .pk-flipper{transform:rotateY(calc(180deg + var(--tx,0deg))) rotateX(var(--ty,0deg))}
.pk-flip.hov .pk-flipper{transition:transform .08s linear}
.pk-side{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px}
.pk-side.fr{transform:rotateY(180deg)}
.pk-side .pk-card{height:100%;aspect-ratio:auto;width:100%}
.pk-side .pk-card.back .pk-backface{box-shadow:0 8px 18px rgba(0,0,0,.45)}
.pk-glare{position:absolute;inset:0;border-radius:12px;pointer-events:none;text-decoration:none;opacity:0;transition:opacity .2s;mix-blend-mode:screen;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.42),transparent 55%)}
.pk-flip.hov .pk-glare{opacity:1}
.pk-flip.t2:not(.rev) .pk-side.bk{--a:10px;animation:pkAura 1.4s ease-in-out infinite}
.pk-flip.t3:not(.rev) .pk-side.bk{--a:15px;animation:pkAura 1.1s ease-in-out infinite}
.pk-flip.t4:not(.rev) .pk-side.bk{--a:22px;animation:pkAura .9s ease-in-out infinite}
.pk-flip.t5:not(.rev) .pk-side.bk{--a:30px;animation:pkAura .6s ease-in-out infinite}
.pk-flip.tense .pk-flipper{animation:pkTense .11s linear infinite}
.pk-flip.best{z-index:3;scale:1.1;transition:scale .5s cubic-bezier(.2,1.4,.3,1);filter:drop-shadow(0 0 16px var(--rc))}
.pk-row.dealt .pk-flip{will-change:transform}
.pk-spark{position:absolute;left:50%;top:44%;width:var(--s);height:var(--s);border-radius:50%;background:var(--c);box-shadow:0 0 9px var(--c);animation:pkSpark .95s cubic-bezier(.1,.7,.3,1) forwards}
.pk-rays{position:absolute;left:50%;top:44%;width:min(620px,130%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--c) 75%,transparent) 0 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,#000 0,transparent 68%);mask:radial-gradient(circle,#000 0,transparent 68%);animation:pkRays 1.4s ease-out forwards}
.pk-ring{position:absolute;inset:0;border-radius:14px;border:3px solid var(--c);pointer-events:none;box-shadow:0 0 18px var(--c);animation:pkRing .9s ease-out forwards}
.pk-burst{position:absolute;left:50%;top:50%;width:260%;aspect-ratio:1;translate:-50% -50%;z-index:-1;pointer-events:none;font-style:normal;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--c) 60%,transparent) 0 5deg,transparent 5deg 15deg);-webkit-mask:radial-gradient(circle,#000 0,transparent 66%);mask:radial-gradient(circle,#000 0,transparent 66%);animation:pkRays 1.25s ease-out forwards}
.pk-quake{animation:pkQuake .45s linear}
@keyframes pkGlowPulse{from{transform:scale(.96)}to{transform:scale(1.06)}}
@keyframes pkSeam{from{opacity:.6}to{opacity:1}}
@keyframes pkShake2{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(-3px,1px) rotate(-2.2deg)}50%{transform:translate(2px,-2px) rotate(1.8deg)}75%{transform:translate(-2px,2px) rotate(-1.4deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes pkTearTop{0%{transform:none;opacity:1}100%{transform:translate(70px,-130px) rotate(34deg);opacity:0}}
@keyframes pkTearBot{0%{transform:none;opacity:1;filter:none}100%{transform:translateY(46px) scale(.82);opacity:0;filter:brightness(2.2)}}
@keyframes pkAura{0%,100%{box-shadow:0 0 var(--a) var(--rc),0 8px 18px rgba(0,0,0,.45)}50%{box-shadow:0 0 calc(var(--a)*2) var(--rc),0 0 calc(var(--a)*3) var(--rc)}}
@keyframes pkTense{0%{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}100%{transform:translate(0,0)}}
@keyframes pkSpark{from{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2);opacity:0}}
@keyframes pkRays{0%{opacity:0;transform:scale(.3) rotate(0)}18%{opacity:.95}100%{opacity:0;transform:scale(1.1) rotate(38deg)}}
@keyframes pkRing{to{transform:scale(1.7);opacity:0}}
@keyframes pkQuake{0%,100%{transform:translate(0,0)}20%{transform:translate(-4px,2px)}40%{transform:translate(3px,-3px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(2px,3px)}}
@keyframes pkWinPulse{50%{transform:scale(1.07)}}
@media(max-width:560px){.pk-flip{width:min(104px,calc((100% - (var(--n,5) - 1)*8px)/var(--n,5)))}.pk-row{gap:8px}.pk-total span{font-size:24px}}
@media(prefers-reduced-motion:reduce){.pk-spark,.pk-rays,.pk-ring,.pk-burst,.pk-quake,.pk-flip,.pk-flip *,.pk-glow,.pk-seam{animation:none!important}.pk-flipper{transition:none}}

/* ---------- blackjack lobby: insurance prompt (same round buttons + ring as Hit/Stand) ---------- */
.bjl-insp{--pb:max(44px,6.4cqw);--pr:max(54px,8cqw);position:absolute;left:50%;top:52.2cqw;transform:translateX(-50%);z-index:12;display:flex;flex-direction:column;align-items:center;gap:1cqw;animation:ppIn .28s cubic-bezier(.2,1.2,.4,1)}
.bjl-insp[hidden]{display:none!important}
.bjl-insp .pp-b.yes{--a:#E7C262}.bjl-insp .pp-b.no{--a:#FF5470}
.bjl-insp .pp-b{width:calc(var(--pb)*1.12);height:calc(var(--pb)*1.12)}
@media(max-width:860px){.bjl-insp{top:auto;bottom:11cqw;--pb:max(46px,11.5cqw);--pr:max(60px,15cqw);gap:2.2cqw}.bjl-insp .pp-b b{font-size:max(10px,2.5cqw)}.bjl-insp .pp-ring b{font-size:max(18px,5.4cqw)}.bjl-insp .pp-sub{font-size:max(10px,2.6cqw)}}

.p1bw{padding:10px 12px;margin-bottom:6px;border:1px solid rgba(255,196,60,.28);border-radius:12px;background:linear-gradient(180deg,rgba(255,196,60,.08),rgba(255,196,60,.02))}
.p1bw-h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:800;font-size:14px;margin-bottom:4px}.p1bw-h b{font-size:18px}

/* ---------- creature cards: the rarer the card, the cooler the art (legendary + mythic are animated) ---------- */
.pk-no{font-size:.82em;opacity:.7;font-weight:600;letter-spacing:.02em}
.pk-face.r1 .pk-art{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--ec) 42%,#1c2150),#12163a 78%)}
.pk-face.r2 .pk-art{background:repeating-conic-gradient(from 0deg at 50% 46%,color-mix(in srgb,var(--rc) 22%,transparent) 0 8deg,transparent 8deg 22deg),radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--ec) 48%,#1c2150),#10143a 80%)}
.pk-face.r3 .pk-art{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--rc) 40%,transparent),transparent 62%),repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px),radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--ec) 50%,#1c2150),#0e1236 82%)}
.pk-face.r4 .pk-art{background:radial-gradient(circle at 20% 25%,#fff 0 .8px,transparent 1.6px),radial-gradient(circle at 78% 18%,#fff 0 .8px,transparent 1.6px),radial-gradient(circle at 66% 74%,#fff 0 .8px,transparent 1.6px),radial-gradient(circle at 30% 80%,#fff 0 .8px,transparent 1.6px),radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--rc) 55%,transparent),transparent 66%),linear-gradient(160deg,#1a1450,#0a0c2c);animation:pkTwBg 2.8s ease-in-out infinite}
.pk-face.r5 .pk-art{background:#12102e;position:relative}
.pk-face.r5 .pk-art::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.28),transparent 60%),linear-gradient(160deg,rgba(14,10,40,.72),rgba(14,10,40,.35)),conic-gradient(from 0deg at 50% 50%,#ff4d8d,#ffb020,#52d273,#4da3ff,#b468ff,#ff4d8d);animation:pkHolo 6s linear infinite}
.pk-face.r5 .pk-art::after{content:"";position:absolute;inset:-30% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.55) 50%,transparent 58%);transform:translateX(-60%);animation:pkSweep 3.2s ease-in-out infinite;z-index:2;pointer-events:none}
.pk-face.r5 .pk-art>svg,.pk-face.r5 .pk-art>img{position:relative;z-index:1}
@keyframes pkHolo{to{filter:hue-rotate(360deg)}}
@keyframes pkSweep{0%,35%{transform:translateX(-60%)}75%,100%{transform:translateX(60%)}}
@keyframes pkTwBg{50%{filter:brightness(1.35)}}
.pk-cre .pk-halo{transform-origin:50px 50px}
.pk-cre.a4 .pk-halo,.pk-cre.a5 .pk-halo{animation:pkSpin 14s linear infinite}
.pk-cre.a4 .pk-bob,.pk-cre.a5 .pk-bob{animation:pkBob 3s ease-in-out infinite}
.pk-cre.a5 .pk-bob{animation-duration:2.4s}
.pk-cre .pk-orbit{transform-origin:50px 50px;animation:pkSpin 5s linear infinite}
.pk-cre.a4 .pk-tw,.pk-cre.a5 .pk-tw{animation:pkTwink 1.6s ease-in-out infinite}
.pk-cre.a5{filter:drop-shadow(0 0 5px var(--rc)) drop-shadow(0 0 10px rgba(255,255,255,.35));animation:pkGlowC 2.2s ease-in-out infinite}
@keyframes pkSpin{to{transform:rotate(360deg)}}
@keyframes pkBob{50%{transform:translateY(-2.6px)}}
@keyframes pkTwink{50%{opacity:.25}}
@keyframes pkGlowC{50%{filter:drop-shadow(0 0 9px var(--rc)) drop-shadow(0 0 18px rgba(255,255,255,.5))}}
@media(prefers-reduced-motion:reduce){.pk-face .pk-art,.pk-face .pk-art::after,.pk-cre,.pk-cre *{animation:none!important}}
.pk-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pk-no{font-size:.72em}

/* ---------- chicken: extra motion (shadow, dust, look, wind, crash flash) ---------- */
.ck-shadow{position:absolute;left:0;top:0;width:60px;height:12px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),rgba(0,0,0,0) 70%);z-index:4;pointer-events:none;will-change:transform,opacity}
.ck-dust{position:absolute;width:9px;height:9px;border-radius:50%;background:rgba(235,228,205,.85);z-index:6;pointer-events:none}
.ck-ring{position:absolute;width:60px;height:22px;border-radius:50%;border:3px solid var(--c,#FFD36B);box-shadow:0 0 12px var(--c,#FFD36B);z-index:4;pointer-events:none;animation:ckRing .6s ease-out forwards}
.ck-wind{position:absolute;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85));z-index:6;pointer-events:none;opacity:0}
.ck-flash{position:absolute;inset:0;z-index:20;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,84,112,.55),rgba(255,84,112,.22) 55%,transparent 80%);animation:ckFlash .6s ease-out forwards}
.ck-chick.look .ck-head{animation:ckLook .55s ease-in-out infinite}
.ck-chick.ruffle .ck-svg{animation:ckRuffle .45s ease-out}
.ck-tile.coin{animation:ckCoin .55s cubic-bezier(.2,1.4,.4,1)}
.ck-tile.coin svg{filter:drop-shadow(0 0 8px rgba(255,210,80,.8))}
.ck-chick.happy .ck-wing{animation:ckFlap .14s ease-in-out infinite}
@keyframes ckRing{0%{transform:scale(.25);opacity:.95}100%{transform:scale(1.9);opacity:0}}
@keyframes ckFlash{0%{opacity:1}100%{opacity:0}}
@keyframes ckLook{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(10deg)}}
@keyframes ckRuffle{0%{transform:rotate(0)}20%{transform:rotate(-7deg) translateY(1px)}45%{transform:rotate(5deg)}70%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
@keyframes ckCoin{0%{transform:scale(.25) rotateY(0)}55%{transform:scale(1.3) rotateY(540deg)}100%{transform:scale(1) rotateY(720deg)}}
@media(prefers-reduced-motion:reduce){.ck-ring,.ck-flash,.ck-chick.look .ck-head,.ck-chick.ruffle .ck-svg,.ck-tile.coin{animation:none}}

.pk-filt{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}.pk-filt button{padding:5px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;font-weight:700;font-size:12px;cursor:pointer}
.pk-filt button.on{background:rgba(180,104,255,.28);border-color:#B468FF}.pk-els button i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ec);margin-right:4px}.pk-els button small{color:var(--muted,#9aa7c7);font-weight:500}
.pk-gate{position:absolute;left:0;right:0;bottom:3px;text-align:center;font-style:normal;text-decoration:none;font-size:9.5px;font-weight:800;color:#fff;opacity:.85;text-shadow:0 1px 2px #000}
.pf-chips{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--muted,#9aa7c7);margin:2px 0 8px}.pf-chips i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rc);margin-right:4px}
.pf-top{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:6px}.pf-col{margin-top:10px}
.ck-tip{animation:ckTip .35s cubic-bezier(.2,1.6,.4,1),ckTipOut .35s ease-in 1.2s forwards}@keyframes ckTipOut{to{opacity:0;transform:translateY(-8px)}}
.ck-tip{margin-left:-44px}
.vf-by{text-align:center;margin:6px 0 0;font-size:12px;color:var(--muted,#9aa7c7);opacity:.8}
@media(max-width:860px){.bjl-insp .pp-sub{white-space:normal;text-align:center;max-width:92cqw;line-height:1.35}}
.bjl-seat.act .bs-chip{filter:drop-shadow(0 0 .9cqw rgba(231,194,98,.85))}.bjl-seat.act .bs-chip.pending{outline:2px solid rgba(231,194,98,.75);outline-offset:3px;border-radius:50%}

.guest-panel.bjg{gap:10px;padding:clamp(26px,4cqw,40px) 22px 22px;background:radial-gradient(120% 90% at 50% 0%,rgba(47,211,154,.12),transparent 60%),linear-gradient(180deg,#131c2c,#0d1422);border:1px solid rgba(231,194,98,.22);box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}
.bjg h3{margin:6px 0 0;font:800 clamp(18px,2.2vw,22px)/1.2 var(--display,inherit);color:#F3E7C2;letter-spacing:.01em}
.guest-panel.bjg p{max-width:34ch;color:var(--muted,#9aa7c7);font-weight:500;font-size:14px;line-height:1.45}
.bjg-art{position:relative;width:150px;height:96px;margin-bottom:4px}
.bjg-c{position:absolute;bottom:0;width:58px;height:82px;border-radius:9px;background:#F7F8FB;box-shadow:0 8px 18px rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:flex-start;padding:6px 0 0 7px;font-style:normal;color:#161a2b;line-height:1}
.bjg-c b{font:800 17px/1 var(--display,inherit)}.bjg-c u{text-decoration:none;font-size:15px}
.bjg-c.c1{left:8px;transform:rotate(-14deg);transform-origin:bottom center}.bjg-c.c2{left:46px;z-index:2;color:#D93352}.bjg-c.c3{left:84px;transform:rotate(14deg);transform-origin:bottom center;color:#D93352}
.bjg-ch{position:absolute;border-radius:50%;border:3px dashed rgba(255,255,255,.85);box-shadow:0 4px 10px rgba(0,0,0,.4)}
.bjg-ch.ch1{width:30px;height:30px;left:-6px;bottom:-4px;background:#E23B4E;z-index:3}.bjg-ch.ch2{width:26px;height:26px;right:-4px;bottom:-2px;background:#1FAF6E;z-index:3}
.bjg-b{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.guest-panel.bjg small{color:var(--muted,#9aa7c7);opacity:.75;font-size:11.5px}

/* phones: the game name and its RTP stack instead of sitting on top of each other */
@media (max-width:860px){
  .page .game-grid .gcard .gfoot{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;padding:0 4px 7px!important}
  .page .game-grid .gcard .grtp{position:static!important;top:auto!important;left:auto!important;bottom:auto!important;background:none!important;backdrop-filter:none!important;padding:0!important;font-size:9px!important;line-height:1.1!important;letter-spacing:.1em!important;opacity:.85}
  .page .game-grid .gcard .gname{font-size:11.5px!important;line-height:1.1!important}
  .page .game-grid .gcard .gart{inset:6px 2px 44px 2px!important}
}
.crash-wrap.cd-on .crash-mult .mult-big{display:none}

@media(max-width:860px){.bjl-scene .dk-tools [data-clear]{display:none!important}}
/* phones: keno's pay strip wraps onto two rows so every multiplier fits */
@media (max-width:560px){
  .keno-pays{flex-wrap:wrap!important}
  .keno-pays .kp{flex:1 0 calc(100% / 6 - 1px)!important;border-top:1px solid rgba(255,255,255,.05)}
  .keno-pays .kp:nth-child(-n+6){border-top:0}
  .keno-pays .kp:nth-child(7){border-left:0}
  .keno-pays .kp .kp-m{font-size:12px!important;white-space:nowrap}
}
/* phones: roulette chips sit centred inside their square and never spill onto the neighbouring numbers */
@media (max-width:700px){
  .rou-board{container-type:inline-size}
  .rou-board .rcell[data-k^="n:"] .bet-chip.cp{--cs:min(23px,5.5cqw);width:var(--cs)!important;height:var(--cs)!important;min-width:0!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;margin:calc(var(--cs) / -2) 0 0 calc(var(--cs) / -2)}
  .rou-board .rcell[data-k^="n:"] .bet-chip.cp .cp-t{font-size:calc(var(--cs) * .34)!important;letter-spacing:-.02em}
  .rou-board .rcell:not([data-k^="n:"]) .bet-chip.cp{width:22px!important;height:22px!important;min-width:22px!important;right:4px!important;bottom:50%!important;margin-bottom:-11px}
  .rou-board .rcell:not([data-k^="n:"]) .bet-chip.cp .cp-t{font-size:7.5px!important}
}

/* Binder: cards fill their slot (no box inside a box), bigger art, count badge in the corner, and a close button */
.pk-binder .pk-slot .pk-card.mini,.pf-top .pk-slot .pk-card.mini{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;width:100%!important;aspect-ratio:5/7}
.pk-binder .pk-slot .pk-card.mini .pk-face,.pf-top .pk-slot .pk-card.mini .pk-face{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;padding:2px!important}
.pk-binder .pk-slot .pk-in,.pf-top .pk-slot .pk-in{padding:5px 5px 4px!important}
.pk-binder .pk-slot .pk-top b,.pf-top .pk-slot .pk-top b{font-size:10px!important}
.pk-binder .pk-slot .pk-art,.pf-top .pk-slot .pk-art{flex:1 1 auto!important;min-height:0!important;margin:3px 0!important}
.pk-binder .pk-slot .pk-art svg,.pf-top .pk-slot .pk-art svg{width:92%!important;height:92%!important}
.pk-binder .pk-slot .pk-foot,.pf-top .pk-slot .pk-foot{font-size:8.5px!important;white-space:nowrap;overflow:hidden}
.pk-binder .pk-slot .pk-foot span,.pf-top .pk-slot .pk-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:3px;align-items:baseline;width:100%;justify-content:space-between}
.pk-binder .pk-slot em{top:-7px!important;right:-7px!important;z-index:3;bottom:auto!important;font-size:10px!important;padding:1px 6px!important;border-radius:999px!important;background:rgba(5,8,20,.85)!important;border:1px solid rgba(255,255,255,.18)}
.pk-binder .pk-slot.empty .pk-card.mini .pk-face{opacity:.4}
.pk-binder .pk-bgrid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))!important;gap:10px!important}
@media(max-width:520px){.pk-binder .pk-bgrid{grid-template-columns:repeat(3,1fr)!important;gap:9px!important}}
.p1m:has(.pk-bx){position:relative}
.pk-bx{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;cursor:pointer;font-size:15px;font-weight:800;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);transition:background .15s}
.pk-bx:hover{background:rgba(255,84,112,.25);border-color:rgba(255,84,112,.6)}
.pk-bh{padding-right:44px}
.pk-binder .pk-bgrid{padding:8px 8px 0}
/* Blackjack lobby result: the casino's own result pill (multiplier | payout), on the felt between the dealer and the seats */
.bjl-scene .bjl-win.outcome{position:absolute!important;left:50%!important;right:auto!important;top:44%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:31;min-width:0!important;padding:10px 22px 10px 18px!important;text-align:left;font-size:initial;background:rgba(10,16,30,.94)!important;animation:bjlOcIn .42s cubic-bezier(.2,1.6,.4,1) both}
.bjl-scene .bjl-win.outcome .oc-m{font-size:max(22px,3.2cqw)!important}
.bjl-scene .bjl-win.outcome .oc-p{font-size:max(16px,2.1cqw)!important}
.bjl-scene .bjl-win.outcome .oc-line{height:max(22px,3cqw)!important}
.bjl-scene .bjl-win.outcome.out{animation:bjlOcOut .25s ease-in both}
@keyframes bjlOcIn{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}}
@keyframes bjlOcOut{to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}
@media(max-width:860px){.bjl-scene .bjl-win.outcome{top:41%!important}.bjl-scene .bjl-win.outcome .oc-m{font-size:24px!important}.bjl-scene .bjl-win.outcome .oc-p{font-size:17px!important}}
/* phones: give the betting cluster room to breathe */
@media(max-width:860px){
  /* the join controls move off the "Blackjack pays" lettering into the open felt above the seats */
  .bjl-scene .bjl-pop.pj.pj{top:calc(var(--gap-top,27cqw) + 3cqw)!important;gap:1.2cqw!important}
  /* while betting, the printed felt rules fade out so the join controls have clear space (they come back for the deal) */
  .bjl-scene .bjl-arc{transition:opacity .3s}
  body:has(.bjl-pop.pj:not([hidden])) .bjl-arc{opacity:0!important}
  .bjl-scene .bjl-pop.pj .pp-row{gap:4cqw!important}
  .bjl-scene .bjl-pop.pj .pp-sub{margin-top:.6cqw;font-size:max(10px,2.4cqw)!important;letter-spacing:.22em}
  /* seat cluster: side bets a little further from the main spot, leave button clear of the ring, name closer */
  .bjl-scene .bs-spot{gap:max(9px,2.8cqw)!important}
  .bjl-scene .bjl-seat .bs-x{left:calc(50% + 6.6cqw)!important;top:-8.6cqw!important;width:max(22px,5.6cqw)!important;height:max(22px,5.6cqw)!important}
  .bjl-scene .bjl-seat .bs-name,.bjl-scene .bjl-seat.you .bs-name{top:max(34px,8.4cqw)!important}
}

/* ============================== Eclipse Temple slot (phase 224) ============================== */
.stage.ecl-stage{padding:14px 10px 18px;align-items:stretch}   /* the game fills the stage and sits in the middle of it, like the other slots */
.stage.ecl-stage>.ecl{justify-content:center;min-height:100%}
.ecl{--ec:96px;--eg:6px;position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;color:#f4ecff;font-family:inherit;isolation:isolate}
.ecl-sky{position:absolute;inset:-14px -10px -18px;z-index:-1;overflow:hidden;pointer-events:none;border-radius:inherit}
.ecl-sky::before{content:"";position:absolute;inset:-10%;background:radial-gradient(40% 35% at 25% 30%,rgba(160,102,255,.35),transparent 70%),radial-gradient(35% 30% at 78% 22%,rgba(59,109,255,.28),transparent 70%),radial-gradient(50% 40% at 50% 100%,rgba(255,122,89,.16),transparent 70%);animation:eclDrift 22s ease-in-out infinite alternate}
@keyframes eclDrift{to{transform:translate3d(-2%,1.5%,0) scale(1.05)}}
.ecl-eclipse{position:absolute;left:50%;top:4%;width:min(42%,320px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#05020f 56%,rgba(255,226,160,.95) 58.5%,rgba(255,170,80,.55) 62%,rgba(160,102,255,.25) 70%,transparent 74%);filter:blur(1px);opacity:.75;animation:eclCorona 6s ease-in-out infinite}
.ecl-eclipse b{position:absolute;inset:-30%;border-radius:50%;background:conic-gradient(from 0deg,transparent,rgba(255,210,122,.18),transparent 12%,rgba(160,102,255,.2) 30%,transparent 42%,rgba(255,210,122,.16) 60%,transparent 72%,rgba(99,230,255,.14) 86%,transparent);animation:eclSpin 40s linear infinite;mask:radial-gradient(circle,transparent 30%,#000 34%,transparent 70%);-webkit-mask:radial-gradient(circle,transparent 30%,#000 34%,transparent 70%)}
@keyframes eclCorona{50%{filter:blur(2.5px) brightness(1.3);transform:translateX(-50%) scale(1.03)}}
@keyframes eclSpin{to{transform:rotate(360deg)}}
.ecl-motes i{position:absolute;left:var(--x);bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:#e6c9ff;box-shadow:0 0 8px #b47dff;opacity:0;animation:eclMote var(--d) linear var(--dl) infinite}
.ecl-motes i:nth-child(3n){background:#ffe2a0;box-shadow:0 0 8px #ffb45a}
@keyframes eclMote{10%{opacity:.85}80%{opacity:.5}to{transform:translate3d(20px,-560px,0);opacity:0}}
.ecl-temple{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;opacity:.95}
.ecl-title{display:flex;flex-direction:column;align-items:center;line-height:1;margin-top:2px;z-index:1}
.ecl-title span{font:900 clamp(22px,4.2vw,40px)/1 Georgia,"Palatino Linotype","Times New Roman",serif;letter-spacing:.12em;background:linear-gradient(180deg,#fffaf0,#ffe2a0 35%,#e7b75a 65%,#8a5a14);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #2a1200) drop-shadow(0 0 18px rgba(255,210,122,.45))}
.ecl-title small{margin-top:5px;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:#cfa8ff}
.ecl-frame{position:relative;display:flex;align-items:stretch;gap:4px;padding:calc(var(--ec)*.14) calc(var(--ec)*.08);border-radius:26px;border:3px solid transparent;background:linear-gradient(180deg,#1d0f48,#0c0726) padding-box,linear-gradient(180deg,#ffe2a0,#b07a26 18%,#4b1f9e 50%,#b07a26 82%,#ffe2a0) border-box;box-shadow:0 26px 70px rgba(0,0,0,.65),0 0 60px rgba(160,102,255,.3),inset 0 20px 40px rgba(160,102,255,.12);margin-top:8px}
.ecl-frame::before{content:"";position:absolute;inset:-16px;border-radius:inherit;z-index:-1;background:radial-gradient(60% 60% at 50% 50%,rgba(160,102,255,.55),transparent 70%);filter:blur(22px);opacity:.6;animation:eclBreathe 5s ease-in-out infinite}
@keyframes eclBreathe{50%{opacity:.3}}
.ecl-crest{position:absolute;left:50%;top:-15px;width:78px;height:24px;transform:translateX(-50%);background:linear-gradient(180deg,#ffe2a0,#b07a26);clip-path:polygon(0 50%,14% 0,86% 0,100% 50%,86% 100%,14% 100%);box-shadow:0 0 14px rgba(255,210,122,.6);z-index:2}
.ecl-crest::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#b47dff 50%,#3c1585);box-shadow:0 0 10px #b47dff}
/* marquee lights run around the frame */
.ecl-lights{position:absolute;inset:-3px;pointer-events:none;border-radius:inherit}
.ecl-lights i{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffe2a0;box-shadow:0 0 6px #ffb45a;opacity:.35;animation:eclBulb 1.6s ease-in-out infinite;animation-delay:calc(var(--i)*-.066s)}
.ecl-lights i:nth-child(-n+8){top:-2px;left:calc(8% + (var(--i))*12%)}
.ecl-lights i:nth-child(n+9):nth-child(-n+16){bottom:-2px;left:calc(8% + (var(--i) - 8)*12%)}
.ecl-lights i:nth-child(n+17):nth-child(-n+20){left:-2px;top:calc(14% + (var(--i) - 16)*22%)}
.ecl-lights i:nth-child(n+21){right:-2px;top:calc(14% + (var(--i) - 20)*22%)}
@keyframes eclBulb{0%,60%,100%{opacity:.25}20%{opacity:1;transform:scale(1.25)}}
.ecl.won .ecl-lights i{animation-duration:.5s}
.ecl-marks{display:flex;flex-direction:column;justify-content:space-around;align-items:center;width:clamp(12px,calc(var(--ec)*.22),24px)}
.ecl-marks i{font:700 clamp(7px,calc(var(--ec)*.085),10.5px)/1 system-ui,sans-serif;font-style:normal;width:1.95em;height:1.95em;display:grid;place-items:center;border-radius:50%;color:rgba(244,236,255,.55);background:rgba(20,11,52,.9);border:1px solid rgba(207,168,255,.2);transition:all .16s}
.ecl-marks i.on{color:#1a0c00;background:var(--c);border-color:#fff;box-shadow:0 0 10px var(--c);transform:scale(1.18)}
.ecl-reels{position:relative;width:calc(var(--ec)*5 + var(--eg)*4);height:calc(var(--ec)*3);border-radius:16px;overflow:hidden;background:radial-gradient(80% 70% at 50% 50%,rgba(91,46,210,.28),transparent 75%),linear-gradient(180deg,#0b0624,#070418);box-shadow:inset 0 0 0 1px rgba(207,168,255,.12),inset 0 18px 30px rgba(0,0,0,.65),inset 0 -18px 30px rgba(0,0,0,.65)}
.ecl-reels::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(180deg,rgba(4,2,13,.72),transparent 13%,transparent 87%,rgba(4,2,13,.72))}
.ecl-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,var(--ec));gap:var(--eg);transition:filter .5s,opacity .5s,transform .5s}
.ecl-reel{position:relative;overflow:hidden;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 50%,rgba(255,255,255,.03));border-left:1px solid rgba(207,168,255,.06);border-right:1px solid rgba(207,168,255,.06)}
.ecl-reel.ant{box-shadow:inset 0 0 0 2px rgba(255,210,122,.75),inset 0 0 40px rgba(255,210,122,.35);animation:eclAnt .45s ease-in-out infinite alternate}
.ecl-reel.ant::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent,rgba(160,102,255,.25),transparent);background-size:100% 40%;animation:eclScan .7s linear infinite;pointer-events:none}
@keyframes eclAnt{to{box-shadow:inset 0 0 0 2px rgba(160,102,255,.95),inset 0 0 60px rgba(160,102,255,.5)}}
@keyframes eclScan{from{background-position:0 -40%}to{background-position:0 140%}}
.ecl-reel.land .ecl-strip{animation:eclLand .28s cubic-bezier(.3,1.6,.5,1)}
@keyframes eclLand{30%{transform:translate3d(0,5px,0) scaleY(.97)}}
.ecl-strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.ecl-strip.blur .e-sym{filter:url(#eBlur) brightness(1.15)}
.ecl-cell{height:var(--ec);width:var(--ec);display:grid;place-items:center;position:relative;transition:opacity .3s,filter .3s}
.ecl-cell .e-sym{width:88%;height:88%;overflow:visible;animation:eclFloat 4s ease-in-out infinite;transform-origin:50% 60%}
.ecl-cell:nth-child(3n+1) .e-sym{animation-delay:-1.3s}.ecl-cell:nth-child(3n+2) .e-sym{animation-delay:-2.6s}
.ecl-strip.spinning .e-sym{animation:none}
@keyframes eclFloat{50%{transform:translateY(-2.5%) scale(1.015)}}
.ecl-val{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);font:800 clamp(9px,calc(var(--ec)*.13),15px)/1 system-ui,sans-serif;white-space:nowrap;padding:.25em .55em;border-radius:999px;color:#2a1600;background:linear-gradient(180deg,#ffe2a0,#e7b75a);box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 12px rgba(255,210,122,.5)}
.ecl-cell.pulse .e-sym{animation:eclPop .55s cubic-bezier(.3,1.7,.5,1) 2}
@keyframes eclPop{50%{transform:scale(1.18);filter:drop-shadow(0 0 14px #cfa8ff)}}
.ecl-grid.dim .ecl-cell{opacity:.3;filter:saturate(.4) brightness(.7)}
.ecl-grid.dim .ecl-cell.hit{opacity:1;filter:none;z-index:2}
.ecl-cell.hit::before{content:"";position:absolute;inset:6%;border-radius:22%;background:radial-gradient(circle,rgba(255,210,122,.35),transparent 70%);box-shadow:0 0 0 2px rgba(255,226,160,.85),0 0 26px rgba(255,210,122,.6),inset 0 0 22px rgba(160,102,255,.5);animation:eclHit .9s ease-in-out infinite alternate}
.ecl-cell.hit .e-sym{animation:eclBeat .9s cubic-bezier(.3,1.6,.5,1) infinite alternate}
@keyframes eclHit{to{box-shadow:0 0 0 2px rgba(207,168,255,.95),0 0 40px rgba(160,102,255,.75),inset 0 0 30px rgba(255,210,122,.45)}}
@keyframes eclBeat{to{transform:scale(1.1);filter:drop-shadow(0 0 10px rgba(255,226,160,.9))}}
.ecl-grid.dissolve{filter:blur(6px) brightness(1.6) saturate(1.6);opacity:0;transform:scale(.9) rotate(-2deg)}
/* symbol idle details */
.e-sym .e-twinkle{transform-origin:70px 24px;animation:eclTw 2.4s ease-in-out infinite}
@keyframes eclTw{50%{transform:scale(.3) rotate(45deg);opacity:.3}}
.e-sym .e-orb{animation:eclOrb 2.6s ease-in-out infinite}
@keyframes eclOrb{50%{opacity:.6}}
.e-sym .e-eyes{animation:eclEyes 3.2s ease-in-out infinite}
@keyframes eclEyes{0%,70%,100%{opacity:1}80%{opacity:.25}}
.e-sym .e-rays{transform-origin:50px 44px;animation:eclSpin 16s linear infinite}
.e-sym .e-swirl{transform-origin:50px 54px;animation:eclSpin 5s linear infinite reverse}
.e-sym .e-orbit{transform-origin:50px 38px;animation:eclSpin 7s linear infinite}
.e-sym .e-corona{transform-origin:50px 44px;animation:eclBreathe 3s ease-in-out infinite}
.ecl-lines{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible}
.ecl-lines .pl{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px currentColor);stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:eclDraw .5s ease-out forwards}
.ecl-lines .pc{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:eclDraw .5s ease-out forwards}
@keyframes eclDraw{to{stroke-dashoffset:0}}
.ecl-banner{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%) scale(.6);opacity:0;padding:.45em 1.2em;border-radius:999px;white-space:nowrap;pointer-events:none;font:800 clamp(16px,calc(var(--ec)*.24),30px)/1 Georgia,serif;letter-spacing:.05em;color:#ffe2a0;background:linear-gradient(180deg,rgba(36,18,84,.94),rgba(10,6,30,.94));border:1px solid rgba(255,226,160,.6);box-shadow:0 0 30px rgba(160,102,255,.55),0 10px 30px rgba(0,0,0,.6);text-shadow:0 0 14px rgba(255,210,122,.65);transition:transform .35s cubic-bezier(.2,1.6,.4,1),opacity .25s;text-align:center}
.ecl-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ecl-banner b{font-variant-numeric:tabular-nums}
.ecl-banner small{display:block;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.2em;color:#cfa8ff;text-transform:uppercase;margin-top:3px}
.ecl-status{min-height:1.4em;font-size:14px;color:#a99cc8;letter-spacing:.03em;text-align:center;z-index:1}
.ecl-status b{color:#ffe2a0}
/* paytable rows in the side panel */
.ecl-paytable{margin-top:6px}
.ecl-pay{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 0}
.ecl-pay>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}
.ecl-pay b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecl-pay-sv{width:30px;height:30px;flex:none}
.fc-sv{width:100%;height:100%;display:block}
.fc-scat .fc-sv{width:34px;height:34px}
.m-sv{width:100%;height:100%;display:block;overflow:visible}
.machine .m-art .m-sv{width:28px;height:28px}
.sym.ecl-bc{position:relative}
.sym.ecl-bc em{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font:700 9px/1 system-ui;font-style:normal;color:#2a1600;background:#ffe2a0;border-radius:6px;padding:1px 3px}
/* big / mega / epic celebration (stays inside the game stage) */
.ecl-cel{position:absolute;inset:0;z-index:30;display:grid;place-items:center;align-content:center;gap:6px;cursor:pointer;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(60,28,150,.86),rgba(4,2,13,.96) 70%);animation:eclIn .35s ease-out}
.ecl-cel.out,.ecl-bonus.out{animation:eclOut .35s ease-in forwards}
@keyframes eclIn{from{opacity:0}}
@keyframes eclOut{to{opacity:0}}
.ecl-rings{position:absolute;left:50%;top:45%;width:1px;height:1px}
.ecl-rings i{position:absolute;left:-220px;top:-220px;width:440px;height:440px;border-radius:50%;border:3px solid rgba(255,210,122,.6);box-shadow:0 0 40px rgba(255,210,122,.45),inset 0 0 40px rgba(160,102,255,.4);animation:eclRing 2.2s ease-out infinite;opacity:0}
.ecl-rings i:nth-child(2){animation-delay:.7s;border-color:rgba(160,102,255,.7)}.ecl-rings i:nth-child(3){animation-delay:1.4s}
@keyframes eclRing{0%{transform:scale(.1);opacity:1}to{transform:scale(1.4);opacity:0}}
.ecl-cel-t{position:relative;font:900 clamp(40px,9vw,96px)/1 Georgia,serif;letter-spacing:.08em;background:linear-gradient(180deg,#fffaf0,#ffe2a0 35%,#e7b75a 65%,#8a5a14);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 5px 0 #3a1a00) drop-shadow(0 0 28px rgba(255,210,122,.65));animation:eclTitle .7s cubic-bezier(.2,1.6,.4,1) both,eclTP 1.4s ease-in-out .7s infinite}
.ecl-cel.mega .ecl-cel-t{background-image:linear-gradient(180deg,#fff,#cfa8ff 35%,#a066ff 65%,#4b1f9e);filter:drop-shadow(0 5px 0 #1a0838) drop-shadow(0 0 32px rgba(160,102,255,.8))}
.ecl-cel.epic .ecl-cel-t{background-image:linear-gradient(180deg,#fff,#aaf3ff 30%,#cfa8ff 55%,#e7b75a 85%);filter:drop-shadow(0 5px 0 #1a0838) drop-shadow(0 0 38px rgba(99,230,255,.8))}
@keyframes eclTitle{from{transform:scale(2.6) rotate(-6deg);opacity:0;letter-spacing:.5em}}
@keyframes eclTP{50%{transform:scale(1.05)}}
.ecl-cel-n{position:relative;display:flex;align-items:center;gap:10px;font:900 clamp(30px,6vw,64px)/1.1 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 24px rgba(255,210,122,.8),0 4px 0 rgba(0,0,0,.4)}
.ecl-cel-n .coin{width:.8em;height:.8em}
.ecl-cel-x{position:relative;font-weight:800;color:#cfa8ff;letter-spacing:.1em}
.ecl-cel small{position:relative;margin-top:8px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#a99cc8}
/* Portal of Echoes */
.ecl-bonus{position:absolute;inset:0;z-index:28;display:grid;place-items:center;padding:12px;overflow:auto;background:rgba(3,1,10,.6);animation:eclIn .6s ease-out}
.ecl-portal{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.ecl-portal i{position:absolute;left:50%;top:50%;border-radius:50%;translate:-50% -50%}
.ecl-portal .p1{width:640px;height:640px;background:conic-gradient(from 0deg,transparent,rgba(160,102,255,.6),transparent 30%,rgba(99,230,255,.4),transparent 60%,rgba(255,210,122,.45),transparent);filter:blur(18px);animation:eclOpen 1.2s cubic-bezier(.2,.8,.3,1) both,eclSpin 9s linear infinite}
.ecl-portal .p2{width:480px;height:480px;border:3px solid rgba(255,210,122,.75);box-shadow:0 0 60px rgba(255,210,122,.5),inset 0 0 80px rgba(160,102,255,.7);animation:eclOpen 1.2s .1s cubic-bezier(.2,.8,.3,1) both}
.ecl-portal .p3{width:410px;height:410px;background:radial-gradient(circle,#05020f 40%,rgba(75,31,158,.85) 70%,transparent 72%);animation:eclOpen 1.2s .2s cubic-bezier(.2,.8,.3,1) both}
.ecl-portal .p4{width:900px;height:900px;border:1px dashed rgba(207,168,255,.25);animation:eclOpen 1.4s .25s both,eclSpin 40s linear infinite reverse}
@keyframes eclOpen{from{transform:scale(0) rotate(-90deg);opacity:0}}
.ecl-bp{position:relative;width:min(100%,640px);padding:clamp(14px,3vw,24px);border-radius:24px;text-align:center;background:linear-gradient(180deg,rgba(30,14,70,.88),rgba(8,4,24,.94));border:1px solid rgba(255,226,160,.45);box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 80px rgba(160,102,255,.35);backdrop-filter:blur(8px);animation:eclPanel .8s .8s cubic-bezier(.2,1.3,.4,1) both}
@keyframes eclPanel{from{transform:translateY(30px) scale(.92);opacity:0}}
.ecl-bp h3{margin:0;font:900 clamp(24px,4vw,38px)/1.1 Georgia,serif;letter-spacing:.08em;background:linear-gradient(180deg,#fff,#cfa8ff 45%,#e7b75a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(160,102,255,.6))}
.ecl-bp>p{margin:6px 0 12px;color:#a99cc8;font-size:14px}
.ecl-bp>p b{color:#ffe2a0}
.ecl-bstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.ecl-bstats>div{display:flex;flex-direction:column;padding:8px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(207,168,255,.16)}
.ecl-bstats small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a99cc8}
.ecl-bstats b{font-size:18px;color:#ffe2a0;font-variant-numeric:tabular-nums}
.ecl-relics{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(6px,1.4vw,12px)}
.ecl-relic{position:relative;aspect-ratio:1;border-radius:18px;cursor:pointer;border:0;padding:0;perspective:600px;background:transparent;color:inherit;animation:eclDeal .5s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(1.1s + var(--k,0)*40ms)}
.ecl-relic:nth-child(4n+2){--k:1}.ecl-relic:nth-child(4n+3){--k:2}.ecl-relic:nth-child(4n+4){--k:3}
@keyframes eclDeal{from{transform:translateY(20px) scale(.6);opacity:0}}
.ecl-relic .f{position:absolute;inset:0;border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s cubic-bezier(.3,1.3,.5,1)}
.ecl-relic .front{background:radial-gradient(circle at 50% 35%,rgba(160,102,255,.5),rgba(20,10,52,.95) 70%);border:1px solid rgba(255,226,160,.4);box-shadow:0 10px 24px rgba(0,0,0,.5),inset 0 0 24px rgba(160,102,255,.45)}
.ecl-rsv{width:64%;height:64%;animation:eclFloat 3.5s ease-in-out infinite}
.ecl-relic:nth-child(odd) .ecl-rsv{animation-delay:-1.7s}
.ecl-relic .back{transform:rotateY(180deg);background:linear-gradient(180deg,#5a3a10,#241104);border:1px solid rgba(255,255,255,.25);padding:4px}
.ecl-relic .back b{font:900 clamp(15px,2.6vw,24px)/1 Georgia,serif;color:#ffe2a0;text-shadow:0 0 12px rgba(255,210,122,.6)}
.ecl-relic .back small{font-size:clamp(8px,1.3vw,10.5px);letter-spacing:.12em;text-transform:uppercase;color:#f1e3ff}
.ecl-relic.flip .front{transform:rotateY(-180deg)}
.ecl-relic.flip .back{transform:rotateY(0)}
.ecl-relic.flip:not(.ghost) .back{animation:eclReveal .6s ease-out}
@keyframes eclReveal{40%{box-shadow:0 0 0 3px #ffe2a0,0 0 40px rgba(255,210,122,.8)}}
.ecl-relic.k-mult .back{background:linear-gradient(180deg,#4a1f9e,#1c0b44)}
.ecl-relic.k-pick .back{background:linear-gradient(180deg,#0f5a6e,#062530)}.ecl-relic.k-pick .back b{color:#63e6ff}
.ecl-relic.k-echo .back{background:linear-gradient(180deg,#7a2f63,#2b0b26)}.ecl-relic.k-echo .back b{color:#ffb3e6}
.ecl-relic.ghost{opacity:.4}
.ecl-relic:hover:not(.flip):not(:disabled) .front{box-shadow:0 0 0 2px #ffe2a0,0 0 30px rgba(255,210,122,.55),inset 0 0 30px rgba(160,102,255,.6);transform:translateY(-3px)}
.ecl-relic:focus-visible{outline:2px solid #ffe2a0;outline-offset:3px}
.ecl-relic:disabled{cursor:default}
.ecl-bfoot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;min-height:42px;flex-wrap:wrap}
.ecl-echo{padding:6px 12px;border-radius:999px;background:rgba(255,179,230,.14);border:1px solid rgba(255,179,230,.5);color:#ffd0f0;font-size:13px;font-weight:700;animation:eclTP 1.2s ease-in-out infinite}
@media (max-width:640px){
  .ecl{gap:6px}
  .ecl-frame{border-radius:18px;padding:calc(var(--ec)*.14) 3px}
  .ecl-reels{border-radius:12px}
  .ecl-title small{letter-spacing:.3em;font-size:9.5px}
  .ecl-lights i{width:4px;height:4px}
  .ecl-crest{width:58px;height:18px;top:-11px}
  .ecl-bp{border-radius:18px}
  .ecl-bstats b{font-size:15px}
  .ecl-relic{border-radius:12px}
  .ecl-banner small{font-size:8.5px}
}
@media (prefers-reduced-motion:reduce){
  .ecl-motes,.ecl-eclipse b{display:none}
  .ecl-cell .e-sym,.ecl-lights i,.ecl-sky::before,.e-sym *{animation:none!important}
}
.ecl-bonus{place-items:start center;padding-top:clamp(10px,4%,40px)}
.ecl-bp{width:min(100%,560px)}
.ecl-relics{max-width:460px;margin:0 auto}
.ecl-portal{display:grid}
.feat-card strong{color:var(--mc,#ffd27a)}
/* the pick bonus takes the machine's place, so the stage grows to fit it on any screen */
.stage.ecl-bon .ecl{display:none}
.stage.ecl-bon .ecl-bonus{position:relative;inset:auto;width:100%;min-height:min(560px,80vh);background:radial-gradient(70% 60% at 50% 40%,rgba(75,31,158,.35),transparent 75%);border-radius:18px;padding:18px 6px}
@media (max-width:640px){
  .ecl-bp{padding:14px 10px}
  .ecl-bp h3{font-size:24px}
  .ecl-bp>p{font-size:12.5px;margin:4px 0 10px}
  .ecl-bstats{gap:6px;margin-bottom:10px}
  .ecl-bstats>div{padding:6px 4px}
  .ecl-bstats small{font-size:8.5px;letter-spacing:.1em}
  .ecl-relics{gap:6px}
  .ecl-relic .back b{font-size:16px}
  .ecl-relic .back small{font-size:7.5px;letter-spacing:.06em}
}
/* ---------- classic slots upgrade (phase 224): marquee bulbs, motion blur, win plate, dimming ---------- */
.slot-wrap .reels{--bulb:var(--mc,#ffd54a)}
.sl-bulbs{position:absolute;inset:-7px;pointer-events:none;z-index:3;border-radius:inherit}
.sl-bulbs i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 5px var(--bulb),0 0 10px var(--bulb);opacity:.3;animation:slBulb 1.5s ease-in-out infinite;animation-delay:calc(var(--i)*-.068s)}
.sl-bulbs i:nth-child(-n+8){top:-1px;left:calc(6% + var(--i)*12.5%)}
.sl-bulbs i:nth-child(n+9):nth-child(-n+16){bottom:-1px;left:calc(6% + (var(--i) - 8)*12.5%)}
.sl-bulbs i:nth-child(n+17):nth-child(-n+19){left:-1px;top:calc(18% + (var(--i) - 16)*21%)}
.sl-bulbs i:nth-child(n+20){right:-1px;top:calc(18% + (var(--i) - 19)*21%)}
@keyframes slBulb{0%,60%,100%{opacity:.25;transform:none}20%{opacity:1;transform:scale(1.35)}}
.reels.sl-won .sl-bulbs i{animation-duration:.45s}
.in-bonus .sl-bulbs i{animation-duration:.7s}
.reel.spin .reel-strip .gs{filter:url(#eBlur) brightness(1.1)}
.reels.sl-dim .reel-strip .sym:not(.hit){opacity:.32;filter:saturate(.45) brightness(.75);transition:opacity .3s,filter .3s}
.reels .reel-strip .sym{transition:opacity .25s,filter .25s}
.sl-plate{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%) scale(.55);opacity:0;pointer-events:none;text-align:center;white-space:nowrap;padding:.4em 1.1em .45em;border-radius:999px;background:linear-gradient(180deg,rgba(20,14,40,.95),rgba(6,4,16,.95));border:1.5px solid var(--mc,#ffd54a);box-shadow:0 0 26px color-mix(in srgb,var(--mc,#ffd54a) 55%,transparent),0 10px 26px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,1.6,.4,1),opacity .22s}
.sl-plate.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sl-plate b{display:block;font-weight:900;font-size:clamp(20px,3vw,34px);line-height:1;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 14px var(--mc,#ffd54a)}
.sl-plate small{display:block;margin-top:3px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mc,#ffd54a)}
@media (max-width:640px){ .sl-bulbs{inset:-6px} .sl-bulbs i{width:4px;height:4px} }
@media (prefers-reduced-motion:reduce){ .sl-bulbs i{animation:none} .reel.spin .reel-strip .gs{filter:none} }
.reels.th-deepsea .sl-bulbs{inset:3px}

/* ---- Blackjack Lobby polish: roomy even grid, full table names, tidy mini tables, clear call to action ---- */
.bjl-lbody .bjl-tables{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))!important;gap:16px}
.bjl-lbody .bjl-tcard{gap:12px;padding:16px 16px 14px;min-height:0;transition:transform .15s,border-color .15s,box-shadow .15s}
.bjl-lbody .bjl-tcard .tc-top b{font-size:clamp(17px,1.5vw,20px)!important;white-space:normal!important;overflow:visible;text-overflow:clip;line-height:1.15}
.bjl-lbody .tc-live{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:4px 9px;color:var(--muted)}
.bjl-lbody .tc-live svg{width:12px;height:12px}
.bjl-lbody .tc-live.on{color:#fff;background:color-mix(in srgb,var(--th) 28%,transparent)}
.bjl-lbody .tc-lim{gap:26px}
.bjl-lbody .tc-mini{padding:10px 6px 8px;gap:6px;box-shadow:inset 0 0 22px rgba(0,0,0,.28)}
.bjl-lbody .tm-d{min-height:36px}
.bjl-lbody .tm-row{grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:2px;align-items:end}
.bjl-lbody .tm-s{padding:2px 0}
.bjl-lbody .tm-c{min-height:66px;flex-direction:column-reverse;justify-content:flex-start;align-items:center;overflow:visible}
.bjl-lbody .tm-c .mc{width:22px;height:28px;margin-left:0}
.bjl-lbody .tm-c .mc:not(:first-child){margin-bottom:-19px}
.bjl-lbody .tm-c em{position:absolute;margin:-4px 0 0 20px;font-size:9px}
.bjl-lbody .tm-s{position:relative}
.bjl-lbody .tm-chip{width:20px;height:20px;font-size:8px}
.bjl-lbody .tm-s small{font-size:9px}
.bjl-lbody .tm-s.turn{box-shadow:0 0 0 1px var(--th),0 0 10px color-mix(in srgb,var(--th) 55%,transparent)}
.bjl-lbody .tc-stat{padding:2px 2px}
.bjl-lbody .tc-bot{margin-top:2px}
.bjl-lbody .tc-go{display:block;width:100%;text-align:center;font-size:14px;font-weight:800;padding:10px 12px;border-radius:10px;color:var(--th);background:color-mix(in srgb,var(--th) 14%,transparent);border:1px solid color-mix(in srgb,var(--th) 55%,transparent);transition:background .15s,color .15s}
.bjl-lbody .bjl-tcard:hover .tc-go{background:var(--th);color:#0b1020}
.bjl-lbody .bjl-tcard.poor .tc-go{color:#FF8FA0;background:rgba(255,120,140,.1);border-color:rgba(255,143,160,.45)}
.bjl-lbody .bjl-tcard.poor:hover .tc-go{background:rgba(255,120,140,.2);color:#FF8FA0}

/* bet details: side bets and insurance of a live blackjack seat */
.bc-sides{display:flex;flex-direction:column;gap:6px;width:min(100%,360px);margin:8px auto 4px}
.bc-srow{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px 10px;padding:7px 11px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:12.5px}
.bc-srow .n{font-weight:800;color:#fff}.bc-srow .l{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-srow .b{color:var(--muted);font-weight:700}
.bc-srow b{font-weight:800;min-width:4.5em;text-align:right;color:var(--muted)}
.bc-srow.won{border-color:rgba(139,123,255,.5);background:rgba(139,123,255,.1)}.bc-srow.won b{color:#8B7BFF}
.bc-srow.lost b{color:#FF7A8A}
.lb2-loss{color:#ff7a8a}

/* trophies for 1st / 2nd / 3rd on every leaderboard */
.rc-rk.trophy{background:none!important;border:0!important;box-shadow:none;overflow:visible}
.rc-rk.trophy .tro{width:28px;height:28px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.rc-rk.trophy.r1 .tro{filter:drop-shadow(0 0 6px rgba(255,200,60,.55))}
.rc-rk.trophy.r2 .tro{filter:drop-shadow(0 0 5px rgba(200,212,235,.4))}
.rc-rk.trophy.r3 .tro{filter:drop-shadow(0 0 5px rgba(232,150,90,.4))}
.lb2-m{line-height:0}.lb2-m .tro{width:42px;height:42px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}
.lb2-p.p1 .lb2-m .tro{width:52px;height:52px;filter:drop-shadow(0 0 9px rgba(255,200,60,.6))}

/* leaderboards: 10 per page, tight rank/name spacing */
.lb2-pg{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0 4px;font-size:13px;color:var(--muted)}
.lb2-pg button{padding:7px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);font-weight:700;cursor:pointer}
.lb2-pg button:disabled{opacity:.35;cursor:default}
.rc-head,.rc-row{grid-template-columns:34px minmax(0,1fr) 110px 110px;gap:6px}
.rc-head.hof,.rc-row.hof{grid-template-columns:34px minmax(0,1fr) 110px 130px}
.rc-pl{gap:4px}.rc-pl .vtag{margin-right:0}
.lb2-p{gap:2px}.lb2-m{line-height:1}.lb2-n .vtag{margin-right:3px}
@media(max-width:560px){.rc-head,.rc-row{grid-template-columns:30px minmax(0,1fr) 84px 78px}.rc-head.hof,.rc-row.hof{grid-template-columns:30px minmax(0,1fr) 96px}}

/* ===== blackjack lobby: hero banner, filter tabs, thumbnail cards (emerald take on the baccarat lobby) ===== */
.bjl-lbody .bjl-hero{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:clamp(20px,3vw,34px) clamp(20px,3vw,38px);margin-bottom:22px;border-radius:24px;overflow:hidden;border:1.5px solid rgba(139,123,255,.55);background:linear-gradient(110deg,rgba(9,110,76,.92),rgba(5,22,20,.94) 62%);box-shadow:0 0 40px rgba(31,190,130,.28),inset 0 0 60px rgba(139,123,255,.1)}
.bjl-lbody .bh-planet{position:absolute;right:-90px;top:-130px;width:400px;height:400px;border-radius:50%;border:8px solid #2fe0a0;background:radial-gradient(circle at 50% 40%,#8B7BFF,#0f7d5b 58%,#06281f);box-shadow:0 0 60px rgba(47,224,160,.7);opacity:.85;pointer-events:none}
.bjl-lbody .bh-art{position:absolute;right:clamp(130px,17vw,260px);top:50%;width:clamp(120px,14vw,190px);transform:translateY(-50%);pointer-events:none}
.bjl-lbody .bh-art .lart{width:100%}
.bjl-lbody .bh-l{position:relative;max-width:600px;min-width:0}
.bjl-lbody .bh-live{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:99px;background:rgba(0,0,0,.4);border:1px solid rgba(231,194,98,.55);font-size:11.5px;font-weight:800;letter-spacing:.14em;color:#E7C262}
.bjl-lbody .bh-live i{width:8px;height:8px;border-radius:50%;background:#8B7BFF;box-shadow:0 0 8px #8B7BFF;animation:bhPulse 1.4s ease-in-out infinite}
@keyframes bhPulse{0%,100%{opacity:1}50%{opacity:.35}}
.bjl-lbody .bh-l h2{margin:12px 0 8px;font-family:var(--display);font-size:clamp(32px,5vw,54px);letter-spacing:.05em;line-height:1;color:#fff}
.bjl-lbody .bh-l h2 em{font-style:normal;color:#E7C262}
.bjl-lbody .bh-l p{margin:0;font-size:15px;line-height:1.55;color:#cfe9df;max-width:520px}
.bjl-lbody .bh-r{position:relative;display:flex;gap:12px;flex-wrap:wrap}
.bjl-lbody .bh-st{padding:11px 18px;border-radius:14px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.15)}
.bjl-lbody .bh-st small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.14em;color:#a9c9bd}
.bjl-lbody .bh-st b{font-family:var(--display);font-size:clamp(20px,2.4vw,28px);color:#fff}
.bjl-lbody .bh-st:nth-child(1) b{color:#E7C262}
.bjl-lbody .bjl-tabs{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.bjl-lbody .bt-l{display:flex;gap:8px;flex-wrap:wrap}
.bjl-lbody .bt-l button{height:40px;padding:0 18px;border-radius:99px;font-weight:800;font-size:13px;letter-spacing:.06em;color:#fff;cursor:pointer;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06)}
.bjl-lbody .bt-l button.on{border-color:#E7C262;background:linear-gradient(180deg,#22b27c,#0a6044);box-shadow:0 0 16px rgba(47,224,160,.45)}
.bjl-lbody .bt-n{font-size:13px;color:var(--muted)}
.bjl-lbody .bjl-none{grid-column:1/-1;text-align:center;padding:36px;color:var(--muted)}
/* cards */
.bjl-lbody .bjl-tables{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))!important;gap:20px!important}
.bjl-lbody .bjl-tcard{padding:0!important;gap:0!important;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#0b1f1a,#060d0c)!important;background-image:none;border:1.5px solid color-mix(in srgb,var(--th) 45%,transparent)!important;box-shadow:0 0 22px color-mix(in srgb,var(--th) 18%,transparent);transition:transform .18s,border-color .2s,box-shadow .2s}
.bjl-lbody .bjl-tcard:hover{transform:translateY(-4px);border-color:var(--th)!important;box-shadow:0 0 34px color-mix(in srgb,var(--th) 50%,transparent)}
.bjl-lbody .tc-bar{display:none}
.bjl-lbody .tc-thumb{position:relative;padding:50px 8px 10px;background:radial-gradient(120% 110% at 50% 0%,color-mix(in srgb,var(--th) 60%,#0a4a35),#052018 78%)}
.bjl-lbody .tc-thumb .tc-mini{background:none!important;border:0!important;box-shadow:none!important;padding:0 0 2px}
.bjl-lbody .tc-live{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;background:rgba(0,0,0,.6)!important;border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:800;color:#fff!important}
.bjl-lbody .tc-badge{position:absolute;right:12px;top:12px;max-width:62%;padding:5px 11px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(255,255,255,.85);color:#06130e}
.bjl-lbody .tc-badge.bet{background:#2fe0a0;color:#04140e;box-shadow:0 0 14px rgba(47,224,160,.6)}
.bjl-lbody .tc-badge.play{background:#E7C262;color:#2a1a00;box-shadow:0 0 14px rgba(231,194,98,.5)}
.bjl-lbody .tc-badge.idle{background:rgba(255,255,255,.18);color:#e5eee9}
.bjl-lbody .tc-info{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.bjl-lbody .tc-info .tc-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bjl-lbody .tc-info .tc-top b{font-family:var(--display);font-size:22px!important;letter-spacing:.04em}
.bjl-lbody .tc-rtp{font-size:12px;font-weight:800;color:#E7C262;white-space:nowrap}
.bjl-lbody .tc-info .tc-lim{display:flex;gap:6px;align-items:baseline;font-size:13px;font-weight:600;color:#c3d6ce}
.bjl-lbody .tc-th{font-weight:800;color:var(--th)}.bjl-lbody .tc-th::before{content:"· ";color:#c3d6ce}
.bjl-lbody .tc-info .tc-go{margin-top:8px;display:flex;align-items:center;justify-content:center;height:46px;padding:0;border-radius:12px;font-size:14px;font-weight:800;letter-spacing:.1em;color:#04140e;border:0;background:linear-gradient(180deg,var(--th),color-mix(in srgb,var(--th) 55%,#000));box-shadow:0 0 18px color-mix(in srgb,var(--th) 45%,transparent),inset 0 0 0 1.5px rgba(231,194,98,.6)}
.bjl-lbody .bjl-tcard:hover .tc-go{filter:brightness(1.12);background:linear-gradient(180deg,var(--th),color-mix(in srgb,var(--th) 55%,#000));color:#04140e}
.bjl-lbody .bjl-tcard.poor .tc-go{background:rgba(255,120,140,.14);color:#FF8FA0;box-shadow:inset 0 0 0 1.5px rgba(255,143,160,.45)}
@media(min-width:861px){.bjl-lbody .bjl-hero{zoom:1}}
@media(max-width:560px){.bjl-lbody .bh-art{display:none}.bjl-lbody .bh-r{width:100%}.bjl-lbody .bh-st{flex:1 1 90px}}

/* sideways list arrows */
.rw-arrow{position:absolute;z-index:6;width:38px;height:38px;margin-top:-19px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(14,20,38,.88);border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 18px rgba(0,0,0,.5);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .18s,transform .12s,background .15s}
.rw-arrow.l{left:-8px}.rw-arrow.r{right:-8px}
.rw-arrow.on{opacity:1;pointer-events:auto}
.rw-arrow:hover{background:rgba(40,52,92,.96);transform:scale(1.08)}
.rw-arrow:active{transform:scale(.94)}
@media (hover:none){.rw-arrow{display:none}}

.kp-m{white-space:nowrap;overflow:hidden;text-overflow:clip}

.rf-boards.one{display:block}.rf-boards.one .rf-board{width:100%}

/* Hi-Lo history: a long streak wraps onto more rows (scrolls inside after ~4 rows) instead of running off to the right */
.hl2 .hilo-hist{flex-wrap:wrap;overflow-x:hidden;overflow-y:auto;row-gap:12px;column-gap:20px;max-height:340px;align-content:flex-start;justify-content:flex-start;padding-left:22px}
.hl2 .hh .hh-dir{left:-18px}
@media(max-width:700px){.hl2 .hilo-hist{column-gap:18px;row-gap:10px;max-height:240px;padding-left:20px}}

/* ===== challenges: missions as a card grid ===== */
.ch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 10px}
.ch-head .section-title{text-align:left}
.ch-tabs{margin:0!important}.ch-tabs button{display:inline-flex;align-items:center;gap:6px}
.mt-n{font-style:normal;font-size:11px;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent,#8B7BFF);color:#04110b;display:inline-grid;place-items:center}
.ch-sub{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#aab3c7;margin:0 0 12px}.ch-sub b{color:#ffd36b;font-variant-numeric:tabular-nums}
.ch-done{padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.06);font-weight:700}.ch-sub .btn{margin-left:auto}
.ms{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}
.m{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px}
.m-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:21px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.m.done .m-ic{background:rgba(139,123,255,.18);box-shadow:inset 0 0 0 1px rgba(139,123,255,.5)}.m.claimed .m-ic{background:rgba(255,255,255,.04);color:var(--accent,#8B7BFF);font-weight:900}
.m-i .rw-bar{margin-top:8px}.m-i .rw-bars{margin-top:3px}.m-i .rw-bars span:last-child{opacity:.7}
.m-r{align-items:flex-end;gap:8px;text-align:right}.m-r .num{font-size:14px}
.m.claimed{opacity:.5}.m:not(.done):not(.claimed) .rw-bar i{background:linear-gradient(90deg,#5b7cff,#8fa8ff)}.m.done .rw-bar i{background:linear-gradient(90deg,#2fd68f,#7dffc4)}
@media(max-width:700px){.ms{grid-template-columns:1fr}.ch-sub .btn{margin-left:0;flex:1 0 100%}.ch-tabs{width:100%}.ch-tabs button{flex:1;justify-content:center}.m{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:12px}.m-ic{width:38px;height:38px;font-size:18px}}

/* ===== challenges: centred column + extra polish ===== */
.main>.page.rw-page,.page.rw-page{width:100%;max-width:1040px;margin-left:auto;margin-right:auto}
.rw-page .rw-head{padding:22px 26px;border-radius:22px;margin-bottom:18px;position:relative;overflow:hidden}
.rw-page .rw-head h1{font-size:28px!important;letter-spacing:-.01em}
.rw-page .rw-head p{max-width:46ch;line-height:1.45}
.rw-page .rw-grid{gap:14px;margin-bottom:22px}
.rw-page .rw{padding:22px 18px 18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:0 10px 26px rgba(0,0,0,.22)}
.rw-page .rw-ic{width:72px;height:72px;font-size:34px}
.rw-page .rw-v{font-size:25px;margin-top:2px;letter-spacing:-.01em}
.rw-page .rw-s{font-size:13px;color:#9aa6bd}
.rw-page .rw .btn{margin-top:10px;border-radius:12px;min-height:42px;font-weight:800}
.rw-page .rw .btn[disabled]{opacity:.55}
.rw-page .rw-st{font-size:11px;padding:4px 10px}
.rw-page .rw-rank{padding:22px 24px;border-radius:22px}
.rw-page .rr-ladder>div{border-radius:14px;padding:12px 8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.rw-page .rw-sum{border-radius:20px;margin-bottom:8px}
.rw-page .ms{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rw-page .m{border-radius:18px;padding:16px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.rw-page .m.done{border-color:rgba(139,123,255,.55);background:linear-gradient(180deg,rgba(139,123,255,.1),rgba(255,255,255,.015))}
.rw-page .m-i b{font-size:15px}.rw-page .m-i small{font-size:12.5px}
.rw-page .m-r .num{color:#ffd36b;font-size:15px;font-weight:800}
.rw-page .ch-head{margin-top:30px}
@media(hover:hover){.rw-page .m:not(.claimed):hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2)}.rw-page .m{transition:transform .16s,border-color .16s}}
@media(max-width:900px){.rw-page .ms{grid-template-columns:1fr}.rw-page .rw-head{padding:18px}.rw-page .rw-head h1{font-size:24px!important}}
@media(max-width:700px){.rw-page .rw-ic{width:54px;height:54px;font-size:26px}.rw-page .rw{padding:16px 14px}}

/* ===== creature packs: buy by tier ===== */
.pk-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pk-shelf button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border-radius:11px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,transparent),color-mix(in srgb,var(--d) 30%,transparent));color:#fff;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s}
.pk-shelf button b{font-size:14px;font-weight:800}.pk-shelf button small{font-size:10.5px;opacity:.8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-shelf button.on{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 6px 18px color-mix(in srgb,var(--c) 30%,transparent);transform:translateY(-1px)}
.pk-shelf button.sp{--c:#7C5CFF;--d:#3a2a8a}
@media(hover:hover){.pk-shelf button:not(.on):hover{border-color:rgba(255,255,255,.35)}}
.pk-info{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line,#2a3350);font-size:12px;color:var(--muted,#9aa7c7);margin:2px 0 10px}.pk-info b{font-size:14px;color:#fff}.pk-info i{font-style:normal;font-weight:800}
.pk-pcnav{display:flex;align-items:center;gap:10px;margin:0 0 12px}.pk-pcnav>button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line,#2a3350);background:rgba(255,255,255,.06);color:#fff;font-size:20px;line-height:1;cursor:pointer;flex:none}.pk-pcnav>button:disabled{opacity:.3;cursor:default}
.pk-pctitle{flex:1;min-width:0;text-align:center;padding:8px 10px;border-radius:12px;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 22%,transparent),transparent);border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}.pk-pctitle b{display:block;font-size:15px}.pk-pctitle small{display:block;font-size:11.5px;color:var(--muted,#9aa7c7);margin-top:2px}
.pk-bsec h4 small{font-weight:600;font-size:11.5px;color:var(--muted,#9aa7c7);margin-left:6px}

/* pack art: glow grows with price, foil on the top families */
.pk-packsvg[style*="--gl"]{filter:drop-shadow(0 0 var(--gs) color-mix(in srgb,var(--gl) 70%,transparent))}
.pk-packsvg .pk-holo2{animation:pkHolo 6s linear infinite}
@keyframes pkHolo{to{filter:hue-rotate(360deg)}}
.pk-packsvg .pk-tw{animation:pkTwinkle 2.2s ease-in-out infinite}
@keyframes pkTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
.pk-shelf button{padding:6px 4px 7px}.pk-mini{display:block;width:44px;margin-bottom:2px}.pk-mini svg{display:block;width:100%;height:auto;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}
.pk-mini .pk-packsvg{filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))!important}
.pk-shelf button.on .pk-mini{transform:scale(1.08);transition:transform .15s}
@media(prefers-reduced-motion:reduce){.pk-packsvg .pk-holo2,.pk-packsvg .pk-tw{animation:none!important}}
@media(max-width:700px){.pk-mini{width:38px}}

/* hover (or focus) a card in the binder / pack gallery to see what it pays */
.pk-slot{position:relative}
.pk-slot[data-tip]:not([data-tip=""]):hover::after,.pk-slot[data-tip]:not([data-tip=""]):focus-visible::after{content:attr(data-tip);position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);width:max-content;max-width:176px;padding:6px 9px;border-radius:9px;background:#0b1020;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:11.5px;font-weight:700;line-height:1.35;text-align:center;white-space:normal;box-shadow:0 8px 22px rgba(0,0,0,.55);z-index:30;pointer-events:none}
.pk-slot:hover,.pk-slot:focus-visible{z-index:5;outline:none}

/* limits: tidy equal-width rows, label left / value right (was ragged centred pills) */
.limits{display:grid;grid-template-columns:1fr;gap:6px;justify-content:stretch;margin:12px 0 2px}
.limits span{display:flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;box-sizing:border-box;padding:8px 12px;border-radius:12px;font-size:12.5px;min-width:0}
.limits span b{margin-left:auto;font-variant-numeric:tabular-nums;text-align:right}
.limits span i{width:18px;text-align:center;flex:none}

/* ===== pack shop front ===== */
.pk-shop{width:100%;max-width:1000px;margin:0 auto;padding:6px 6px 18px;box-sizing:border-box}
.pk-shop[hidden],.pk-wrap[hidden]{display:none!important}
.pk-shophead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:2px 0 14px}
.pk-shophead h3{margin:0;font-size:22px;letter-spacing:.2px}
.pk-shophead p{margin:4px 0 0;font-size:13px;color:var(--muted,#9aa7b5);max-width:520px;line-height:1.4}
.pk-shopbal{padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line,#2a3550);font-size:12.5px;font-weight:700;color:var(--muted,#9aa7b5);white-space:nowrap}
.pk-shopbal b{color:#fff;margin-left:4px}
.pk-fam{margin:0 0 18px}
.pk-fam>h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
.pk-fam>h4 small{font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted,#9aa7b5)}
.pk-fam>h4 i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--fc);box-shadow:0 0 10px var(--fc)}
.pk-fam>h4::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent)}
.pk-fam.f0{--fc:#D08A4A}.pk-fam.f1{--fc:#C9D3E6}.pk-fam.f2{--fc:#FFD25A}.pk-fam.f3{--fc:#8FE6FF}.pk-fam.f4{--fc:#FF6FB5}
.pk-sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pk-sc{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 12px 12px;border-radius:18px;text-align:center;overflow:hidden;
  background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--c) 26%,transparent),transparent 70%),linear-gradient(180deg,#141b30,#0c1122);
  border:1px solid color-mix(in srgb,var(--c) 45%,#1d2744);transition:transform .18s,box-shadow .18s,border-color .18s}
.pk-sc.l1{border-color:color-mix(in srgb,var(--c) 62%,#1d2744)}
.pk-sc.l2{border-color:color-mix(in srgb,var(--c) 85%,#1d2744);box-shadow:0 0 22px color-mix(in srgb,var(--c) 22%,transparent)}
.pk-sc.f3,.pk-sc.f4{box-shadow:0 0 26px color-mix(in srgb,var(--c) 26%,transparent)}
.pk-sc.f4.l2{box-shadow:0 0 38px color-mix(in srgb,var(--c) 50%,transparent),inset 0 0 30px color-mix(in srgb,var(--c) 14%,transparent)}
.pk-sc:hover{transform:translateY(-4px)}
.pk-sc.cant .pk-sart,.pk-sc.cant h4,.pk-sc.cant ul{opacity:.5}
.pk-sc.cant .pk-sb .primary{filter:grayscale(.7);opacity:.6}
.pk-sart{width:118px;margin:2px 0 8px;transition:transform .25s}
.pk-sc:hover .pk-sart{transform:scale(1.06) rotate(-2deg)}
.pk-sart svg{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}
.pk-sart .pk-packsvg[style*="--gl"]{filter:drop-shadow(0 0 var(--gs) color-mix(in srgb,var(--gl) 70%,transparent))}
.pk-sc h4{margin:0;font-size:16px;font-weight:800}
.pk-sprice{margin:2px 0 8px;font-size:20px;font-weight:900;color:var(--c);text-shadow:0 0 14px color-mix(in srgb,var(--c) 45%,transparent)}
.pk-sc ul{list-style:none;margin:0 0 12px;padding:0;width:100%;display:grid;gap:4px}
.pk-sc li{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.04)}
.pk-sc li span{color:var(--muted,#9aa7b5)}.pk-sc li b{font-variant-numeric:tabular-nums}
.pk-sb{display:flex;gap:6px;width:100%;margin-top:auto}
.pk-sb .primary{flex:1;min-width:0}.pk-sb .btn:not(.primary){flex:none;width:42px;padding-left:0;padding-right:0}
@media(max-width:900px){.pk-sgrid{gap:9px}.pk-sart{width:92px}.pk-sc{padding:12px 8px 9px}}
@media(max-width:560px){.pk-sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pk-sart{width:84px}.pk-sprice{font-size:18px}.pk-sc li{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.pk-sc,.pk-sart{transition:none}.pk-sc:hover{transform:none}}

/* pack controls: breathing room between the buttons */
.pk-cb{margin:0!important}
.pk-cb.pk-buy{margin-top:14px!important;margin-bottom:4px!important}
.pk-cb:not(.pk-buy){margin-top:10px!important;padding:12px 14px;min-height:46px;font-size:14px;font-weight:700;background:rgba(255,255,255,.05);border:1px solid var(--line,#2a3550)}
.pk-cb:not(.pk-buy):hover{background:rgba(255,255,255,.09)}
.pk-apsel{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--line,#2a3550);color:#fff;font:700 14px inherit;min-height:44px}
.pk-apsel option{background:#10172b;color:#fff}

/* shop: two rows up front, the rest folds away */
.pk-more{display:none}.pk-more.open{display:block;animation:pkMore .28s ease-out}
.pk-showmore{margin:6px auto 0;max-width:340px;padding:13px 16px;font-weight:800;background:rgba(255,255,255,.06);border:1px solid var(--line,#2a3550)}
.pk-showmore small{opacity:.65;font-weight:600}
@keyframes pkMore{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pk-more.open{animation:none}}
.pk-shop .pk-showmore{display:flex!important;align-items:center;justify-content:center;gap:6px;width:min(100%,340px)!important;max-width:340px;margin:10px auto 0!important;text-align:center}

/* Mine Drop result in the bet details pop-up */
.bc-sd{display:flex;flex-direction:column;align-items:center;gap:6px}
.bc-sdreel{display:grid;grid-template-columns:repeat(5,30px);gap:2px;padding:3px;background:#c3c3c3;border:2px solid;border-color:#f2f2f2 #6b6b6b #6b6b6b #f2f2f2}
.bc-sdreel i{width:30px;height:30px;background:#8b8b8b center/80% no-repeat;image-rendering:pixelated}
.bc-sdgrid{display:grid;grid-template-columns:repeat(5,34px);background:rgba(120,90,170,.18);border:0}
.bc-sdgrid i{width:34px;height:34px;background:center/100% 100% no-repeat;image-rendering:pixelated}
.bc-sdch{display:grid;grid-template-columns:repeat(5,34px)}
.bc-sdch i{position:relative;width:34px;height:34px;background:center/86% no-repeat;image-rendering:pixelated}
.bc-sdch b{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 0 #000,0 0 4px #000;white-space:nowrap}

/* profile redesign */
.pf2{max-width:980px;margin:0 auto;animation:pf2in .4s ease both}@keyframes pf2in{from{opacity:0;transform:translateY(8px)}}
.pf2-hero{position:relative;display:flex;align-items:center;gap:18px;padding:22px;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--vc) 35%,transparent),transparent 60%),linear-gradient(160deg,var(--panel),var(--bg2))}
.pf2-av{position:relative;flex:none;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font:800 38px var(--display);background:linear-gradient(145deg,var(--raised2),var(--bg2));box-shadow:0 0 0 3px var(--vc),0 0 28px color-mix(in srgb,var(--vc) 55%,transparent)}
.pf2-av i{position:absolute;right:-4px;bottom:-4px;font-style:normal;font-size:22px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.pf2-id{min-width:0}.pf2-id h1{margin:0 0 8px;font:800 26px var(--display);overflow:hidden;text-overflow:ellipsis}
.pf2-chips{display:flex;flex-wrap:wrap;gap:6px}.pf2-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--muted)}
.pf2-chip.vip{color:var(--vc);border-color:color-mix(in srgb,var(--vc) 50%,transparent)}.pf2-chip.on{color:var(--win)}.pf2-chip.copy{cursor:pointer}
.pf2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.pf2-stat{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:2px;transition:transform .2s,border-color .2s}.pf2-stat:hover{transform:translateY(-2px);border-color:var(--raised2)}
.pf2-si{font-size:20px}.pf2-stat small{color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.pf2-stat b{font-size:20px}
.pf2-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;align-items:start}.pf2-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.pf2-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;overflow:hidden}
.pf2-h{font-weight:800;margin-bottom:8px}
.pf2-best{border-color:rgba(255,196,60,.35);background:linear-gradient(160deg,rgba(255,196,60,.1),var(--panel) 55%)}
.pf2-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);transform:translateX(-100%);animation:pf2sh 4s ease-in-out infinite}@keyframes pf2sh{60%,100%{transform:translateX(100%)}}
.pf2-bh{display:flex;align-items:center;gap:12px;margin-bottom:8px}.pf2-bh small{display:block;color:var(--muted);font-weight:700}.pf2-bh b{font-size:24px}.pf2-trophy{font-size:34px}
.pf2-mult{margin-left:auto;font-style:normal;font-weight:800;background:var(--gold);color:#3a2800;padding:3px 10px;border-radius:999px;font-size:13px}
.pf2-kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:13px}.pf2-kv span{color:var(--muted)}
.pf2-fav small{display:block;color:var(--dim);font-weight:700;margin-bottom:4px}.pf2-fav b{font-size:16px}
.pf2-gr{display:grid;grid-template-columns:minmax(0,1.1fr) 1fr auto;gap:10px;align-items:center;padding:6px 0;font-size:13px}.pf2-gn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf2-bar{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden}.pf2-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--win),var(--sky))}
@media (max-width:720px){.pf2-stats{grid-template-columns:1fr 1fr}.pf2-grid{grid-template-columns:1fr}.pf2-hero{padding:16px;gap:14px}.pf2-av{width:68px;height:68px;font-size:30px}.pf2-id h1{font-size:21px}}
@media (prefers-reduced-motion:reduce){.pf2,.pf2-shine{animation:none}}
/* Instant bet: no animation inside the game stage */
body.instant .stage *,body.instant .stage *::before,body.instant .stage *::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}

/* =================== Vex0ra theme (final layer) =================== */
:root{
  --bg:#080A16; --bg2:#0C1022; --panel:#121733; --raised:#1A2045; --raised2:#242C5C; --line:#262E5E;
  --text:#EEF0FF; --muted:#A9B1D6; --dim:#7F88B3;
  --accent:#8B7BFF; --accent-2:#4DB8FF; --cyan:#4DE6FF; --pink:#E26BFF; --violet:#8B7BFF; --sky:#4DB8FF;
  --gold:#FFC857; --gold2:#FF9F1C; --win:#35E39A; --loss:#FF5470;
  --glow:rgba(139,123,255,.35);
}
:root[data-theme="dark"],:root:not([data-theme="light"]){--bg:#080A16}
body{background:radial-gradient(120% 70% at 85% -10%,rgba(139,123,255,.10),transparent 60%),radial-gradient(90% 60% at 0% 100%,rgba(77,184,255,.06),transparent 60%),var(--bg)}
.top,.side{background:linear-gradient(180deg,#0E1329,#0A0E20)}
.logo-word{font-family:var(--display);font-weight:900;letter-spacing:.09em}
.logo-word span,.sp-word b,.bll-name span{background:linear-gradient(135deg,#4DE6FF,#8B7BFF 60%,#E26BFF);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nav-item.active{background:linear-gradient(90deg,rgba(139,123,255,.20),rgba(139,123,255,.02));box-shadow:inset 3px 0 0 var(--accent)}
.btn.primary,.wallet-btn{background:linear-gradient(135deg,#9C8DFF,#6A5AF0 55%,#4C7DFF);color:#fff;text-shadow:0 1px 0 rgba(20,10,80,.35);box-shadow:0 3px 0 #3B2FB0,0 10px 26px rgba(106,90,240,.30)}
.btn.primary:active,.wallet-btn:active{box-shadow:0 1px 0 #3B2FB0,0 4px 12px rgba(106,90,240,.3)}
.btn.primary:hover,.wallet-btn:hover{filter:brightness(1.08)}
.seg button.on,.tabs button.on{background:rgba(139,123,255,.2);box-shadow:inset 0 0 0 1px rgba(139,123,255,.6);color:#fff}
.hero3{background:linear-gradient(135deg,#1A1F4D,#10143A 65%,#0C1030);border:1px solid rgba(139,123,255,.22);box-shadow:0 20px 50px rgba(5,5,30,.5),inset 0 1px 0 rgba(255,255,255,.06)}
.hero3 h2 .grad{background:linear-gradient(120deg,#4DE6FF,#8B7BFF 55%,#E26BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero3 .kick{color:#9FB4FF}
.stage{background:radial-gradient(120% 90% at 50% 0%,#1B2154,#0A0D26)}
.auth-bg{background:radial-gradient(120% 90% at 50% 0%,#1D1F5E,#070916 70%)}
.gcard{background:linear-gradient(165deg,#1B2152,#10143A)!important;border:1px solid rgba(139,123,255,.14)}
.gcard:hover{border-color:rgba(139,123,255,.5);box-shadow:0 14px 34px rgba(60,40,200,.28)}
:focus-visible{outline:2px solid var(--accent)}
input:focus,select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(139,123,255,.2)}
::selection{background:rgba(139,123,255,.45)}
.sp-word{letter-spacing:.12em}

/* admin player drawer: never wider than the panel (fixes the cropped right edge) */
.adm-drawer{overflow-x:hidden;max-width:100vw}
.adm-drawer *{min-width:0}
.dr-body{grid-template-columns:minmax(0,1fr);padding:16px;box-sizing:border-box;width:100%}
.dr-body>*{min-width:0;max-width:100%}
.minis{grid-template-columns:repeat(2,minmax(0,1fr))}
.dr-head{padding-right:16px;gap:10px}.dr-head>*{flex-shrink:1}.dr-head .chip,.dr-head [data-close]{flex:none}
.dr-sec{overflow:hidden}.dr-sec table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dr-sec .bets-table td,.dr-sec .bets-table th{white-space:nowrap}
.dr-sec.act input,.dr-sec.act select,.dr-sec.act .btn{max-width:100%}
.dr-sec.act .adm-row{display:flex;flex-wrap:wrap;gap:8px}.dr-sec.act .adm-row>input,.dr-sec.act .adm-row>select{flex:1 1 140px;min-width:0}.dr-sec.act .adm-row>.btn{flex:0 0 auto}
.adm-chips{flex-wrap:wrap}
.dr-meta{flex-wrap:wrap}.dr-meta span{overflow-wrap:anywhere}
.callout{overflow-wrap:anywhere}

/* ===== Vex0ra shell: top bar with logo, Casino|Sports switch, menu toggle; vivid game tiles with hover play ===== */
.top-hamb,.cs-switch,.top-logo{display:none}
.gcard{background-blend-mode:normal}
.gcard[data-g="crash"]{background:linear-gradient(165deg,#9378FF,#3B1FB8)!important}
.gcard[data-g="plinko"]{background:linear-gradient(165deg,#38B6FF,#1646C9)!important}
.gcard[data-g="mines"]{background:linear-gradient(165deg,#FF4D96,#B1124F)!important}
.gcard[data-g="dice"]{background:linear-gradient(165deg,#FF8A3D,#D93A0B)!important}
.gcard[data-g="limbo"]{background:linear-gradient(165deg,#FFD24A,#F08A00)!important}
.gcard[data-g="roulette"]{background:linear-gradient(165deg,#FF5A67,#A3122A)!important}
.gcard[data-g="blackjack"]{background:linear-gradient(165deg,#AE5CFF,#5A1AC8)!important}
.gcard[data-g="baccarat"]{background:linear-gradient(165deg,#F54B60,#B0112A)!important}
.gcard[data-g="keno"]{background:linear-gradient(165deg,#5D86FF,#2A3FB5)!important}
.gcard[data-g="hilo"]{background:linear-gradient(165deg,#FF9A4D,#E0561A)!important}
.gcard[data-g="wheel"]{background:linear-gradient(165deg,#2ED8C6,#0E7C86)!important}
.gcard[data-g="towers"]{background:linear-gradient(165deg,#6BE878,#1E8F3E)!important}
.gcard[data-g="coinflip"]{background:linear-gradient(165deg,#FFDC55,#E89B00)!important}
.gcard[data-g="slots"]{background:linear-gradient(165deg,#FF6AE0,#9B1FB8)!important}
.gcard[data-g="videopoker"]{background:linear-gradient(165deg,#3D9BFF,#14428F)!important}
.gcard[data-g="shaftdrop"]{background:linear-gradient(165deg,#43DB8B,#13824F)!important}
.gcard[data-g="pharaoh"]{background:linear-gradient(165deg,#F0B94A,#9A5A0C)!important}
.gcard[data-g="deepsea"]{background:linear-gradient(165deg,#2CC4EE,#0B4F8A)!important}
.gcard[data-g="galaxy"]{background:linear-gradient(165deg,#9A6BFF,#2E1A8A)!important}
.gcard[data-g="dragon"]{background:linear-gradient(165deg,#FF6A45,#9C1B0B)!important}
.gcard[data-g="neonfruits"]{background:linear-gradient(165deg,#FF5CB0,#7B2FF7)!important}
.gcard[data-g="eclipse"]{background:linear-gradient(165deg,#7D6DF0,#271B6E)!important}
.gcard[data-g="moneyplane"]{background:linear-gradient(165deg,#4CC6FA,#1D4ED8)!important}
.gcard[data-g="chicken"]{background:linear-gradient(165deg,#FFC04D,#E8622A)!important}
.gcard[data-g="bjlobby"]{background:linear-gradient(165deg,#9A4DFF,#3F1E9E)!important}
.gcard .gplay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(8,10,40,.35),rgba(8,10,40,.62));opacity:0;transition:opacity .18s;pointer-events:none;border-radius:inherit}
.gcard .gplay i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.2);backdrop-filter:blur(3px);box-shadow:0 0 0 2px rgba(255,255,255,.55),0 8px 24px rgba(0,0,0,.4);transform:scale(.7);transition:transform .22s cubic-bezier(.2,1.5,.4,1)}
.gcard .gplay svg{margin-left:3px}
.gcard:hover .gplay,.gcard:focus-visible .gplay{opacity:1}.gcard:hover .gplay i,.gcard:focus-visible .gplay i{transform:scale(1)}
.gcard:hover .gart{opacity:.55;transition:opacity .18s}
.gcard:hover{box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 2px rgba(255,255,255,.35)!important}
@media (hover:none){.gcard .gplay{display:none}}
@media (max-width:860px){.gcard .gplay i{width:44px;height:44px}}
@media (min-width:861px){
  .app{grid-template-rows:60px 1fr!important;grid-template-areas:"top top" "side main"!important}
  .app.side-hidden{grid-template-columns:0 1fr!important}.app.side-hidden .side{border:0;visibility:hidden;min-width:0;overflow:hidden}
  .side .logo{display:none}
  .nav-sports .nav-item[data-path="sports"]{display:none}
  .top{display:flex!important;align-items:center;gap:10px!important;padding:0 14px!important;position:relative;background:linear-gradient(180deg,#0E1329,#0A0E20);border-bottom:1px solid var(--line)}
  .top-left{display:flex;align-items:center;gap:10px;flex:none}.top-left .logo-mini{display:none!important}
  .top-hamb{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--muted);transition:background .15s,color .15s}.top-hamb:hover{background:var(--raised);color:var(--text)}
  .cs-switch{display:flex;gap:2px;padding:3px;border-radius:11px;background:#080B1C;border:1px solid var(--line)}
  .cs-switch button{padding:8px 18px;border-radius:8px;font-weight:800;font-size:13px;color:var(--muted);transition:background .15s,color .15s}.cs-switch button:hover{color:var(--text)}
  .cs-switch button.on{background:linear-gradient(135deg,#8B7BFF,#5A6BFF 60%,#4C9DFF);color:#fff;box-shadow:0 4px 14px rgba(106,90,240,.4)}
  .top-logo{display:flex;align-items:center;gap:9px;position:absolute;left:calc(232px + (100% - 232px) / 2);top:50%;transform:translate(-50%,-50%);cursor:pointer;z-index:1;white-space:nowrap}
  .app.side-hidden .top-logo{left:50%}.top-logo .logo-word{font-size:19px}
  .top .wallet{margin-left:auto!important;position:relative;z-index:2}.top-right{position:relative;z-index:2}
}
@media (max-width:1180px) and (min-width:861px){.top-logo .logo-word{display:none}}
@media (min-width:861px){.top .top-right{margin-left:0!important}.top .wallet{margin-left:auto!important}.app.guest .top .top-right,.top .top-right:only-child{margin-left:auto!important}}
.gcard[data-g="bjl"]{background:linear-gradient(165deg,#AE5CFF,#5A1AC8)!important}
.gcard[data-g="packs"]{background:linear-gradient(165deg,#FFB13D,#C2410C)!important}
@media (min-width:861px){.top .top-left{margin-right:auto!important}.top .wallet{margin-left:0!important}.top .top-right{margin-left:10px!important}}
@media (min-width:861px) and (max-width:1620px){.top-logo .logo-word{display:none}}
.top-pop{z-index:150!important}
/* demo slots */
.fd-h h2{margin:0 0 4px}.fd-bar{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.fd-bar input,.fd-bar select{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px 14px;font-size:14px;min-width:0}.fd-bar input{flex:1;min-width:180px}
.fd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.fd-tile{position:relative;display:flex;flex-direction:column;text-align:left;border-radius:16px;overflow:hidden;background:var(--panel);border:1px solid var(--line);padding:0 0 10px;transition:transform .2s,box-shadow .2s}
.fd-tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.45)}
.fd-art{display:grid;place-items:center;aspect-ratio:4/3;background:radial-gradient(circle at 30% 20%,hsl(var(--h) 90% 66%),hsl(var(--h) 75% 38%) 55%,hsl(calc(var(--h) + 40) 70% 22%))}.fd-art b{font-size:34px;letter-spacing:.04em;color:#fff;text-shadow:0 4px 14px rgba(0,0,0,.45)}
.fd-n{font-weight:800;font-size:13.5px;padding:9px 11px 0;line-height:1.2}.fd-tile small{padding:2px 11px 0;color:var(--muted);font-size:11.5px}
.fd-play{position:absolute;left:0;right:0;top:0;aspect-ratio:4/3;display:grid;place-items:center;background:rgba(8,10,40,.55);opacity:0;transition:opacity .18s}.fd-tile:hover .fd-play{opacity:1}
.fd-play i{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.2);box-shadow:0 0 0 2px rgba(255,255,255,.55)}.fd-play svg{margin-left:3px}
.fd-modal{position:fixed;inset:0;z-index:200;background:rgba(4,6,20,.78);display:grid;place-items:center;padding:14px}
.fd-bx{width:min(1100px,100%);height:min(760px,100%);display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.fd-top{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.fd-top small{color:var(--muted)}.fd-ic{width:34px;height:34px;border-radius:9px;background:var(--raised);color:var(--text)}
.fd-bx iframe{flex:1;border:0;width:100%;background:#000}.fd-foot{padding:7px 14px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:700px){.fd-grid{grid-template-columns:repeat(2,1fr);gap:10px}.fd-modal{padding:0}.fd-bx{height:100%;border-radius:0}}
:root{--rail:340px}
@media (min-width:861px) and (max-width:1500px){
  :root{--rail:300px}
  .top .top-left{margin-right:0!important}
  .top-logo,.app.side-hidden .top-logo{position:static!important;transform:none!important;margin:0 auto 0 14px;order:2}
  .top .wallet{order:3}.top .top-right{order:4}
}
.gcard.fd-gc{background:radial-gradient(circle at 30% 20%,hsl(var(--h) 90% 66%),hsl(var(--h) 75% 38%) 55%,hsl(calc(var(--h) + 40) 70% 22%))!important}
.fd-ini{font-size:38px;letter-spacing:.04em;color:#fff;text-shadow:0 4px 14px rgba(0,0,0,.45)}.fd-gc .gart{display:grid;place-items:center}
.fd-tag{position:absolute;left:8px;top:8px;z-index:4;font-size:10px;font-weight:900;letter-spacing:.08em;padding:2px 7px;border-radius:6px;background:rgba(0,0,0,.45);color:#fff}
.fd-chips{display:flex;flex-wrap:wrap;gap:6px}.fd-chip{padding:6px 11px;border-radius:99px;background:var(--raised);border:1px solid var(--line);font-size:12.5px;color:var(--text)}.fd-chip:hover{border-color:var(--accent,#8B7BFF)}
.fd-list{display:flex;flex-direction:column;gap:6px}.fd-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);flex-wrap:wrap}.fd-row small{color:var(--muted);flex:1;min-width:120px}
.fd-gc .gart{position:absolute;inset:0}.fd-gc .gart img.fd-th{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.fd-gc .shade{background:linear-gradient(180deg,transparent 45%,rgba(4,6,24,.85))!important}
/* live lobby tables: moving cards, totals, whose turn, light sweep */
@keyframes mcDeal{0%{opacity:0;transform:translateY(-22px) rotate(-14deg) scale(.55)}60%{opacity:1;transform:translateY(2px) rotate(3deg) scale(1.08)}100%{opacity:1;transform:none}}
@keyframes tmPulse{0%,100%{box-shadow:0 0 0 1px var(--th),0 0 6px color-mix(in srgb,var(--th) 40%,transparent)}50%{box-shadow:0 0 0 1px var(--th),0 0 16px color-mix(in srgb,var(--th) 85%,transparent)}}
@keyframes tmChip{0%{transform:scale(.4)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes tcSweep{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes tcDot{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes dlDraw{0%,100%{filter:none}50%{filter:drop-shadow(0 0 6px #f5c542)}}
.mc.new{animation:mcDeal .5s cubic-bezier(.2,1.3,.4,1) both}
.bjl-lbody .tm-s.turn{animation:tmPulse 1.4s ease-in-out infinite}
.tm-chip.pop{animation:tmChip .4s cubic-bezier(.2,1.5,.4,1)}
.tm-tot{font-size:9.5px;font-weight:900;line-height:1;min-height:11px;padding:1px 5px;border-radius:5px;background:rgba(0,0,0,.45);color:#fff}.tm-tot.ghost{background:none}.tm-tot.bust{background:#e5384f}.tm-tot.bj{background:#f5c542;color:#2a1a00}
.tm-d.drawing .mc{animation:dlDraw 1s ease-in-out infinite}
.bjl-tcard.live .tc-thumb{overflow:hidden}.bjl-tcard.live .tc-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);animation:tcSweep 5s linear infinite;pointer-events:none}
.bjl-lbody .tc-badge.play::before,.bjl-lbody .tc-badge.bet::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;animation:tcDot 1.1s infinite}
@media (prefers-reduced-motion:reduce){.mc.new,.bjl-lbody .tm-s.turn,.bjl-tcard.live .tc-thumb::after,.tm-d.drawing .mc{animation:none}}
.fd-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0 10px;flex-wrap:wrap}.fd-pager label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.fd-pager input{width:72px;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px 10px;text-align:center}
.fd-tile.sk .fd-art{background:linear-gradient(100deg,var(--panel) 30%,var(--raised) 50%,var(--panel) 70%);background-size:200% 100%;animation:fdSk 1.2s linear infinite}@keyframes fdSk{to{background-position:-200% 0}}
.fd-grid.busy{pointer-events:none}.fd-art{position:relative}.fd-art img.fd-th{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fd-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.fd-browse .fd-ini{font-size:24px}.fd-gc.fd-browse{background:linear-gradient(160deg,#6D5BFF,#1E2A8A)!important}

@media(min-width:861px){
  .app.mini{grid-template-columns:68px 1fr!important}
  .app.mini .side{width:68px!important;min-width:0;overflow:hidden}
  .app.mini .side-scroll{overflow-x:hidden}
  .app.mini .top-logo{left:calc(68px + (100% - 68px) / 2)}
  .app.mini .nav-item .ic{margin:0}
  .app.mini .side-foot{padding:10px 0}
}
@media(min-width:861px){
  .app.mini .side *{min-width:0}
  .app.mini .side-scroll{padding:10px 8px;overflow-x:hidden}
  .app.mini .sb-races{display:none}
  .app.mini .sb-raffle{width:44px;height:44px;margin:6px auto;padding:0;justify-content:center;overflow:hidden}
  .app.mini .nav-item{width:100%;overflow:hidden}
  .app.mini .nav-item .badge,.app.mini .nav-item .tag,.app.mini .nav-item small,.app.mini .nav-item .nav-live{position:absolute;top:3px;right:5px;font-size:0;width:8px;height:8px;padding:0;border-radius:50%;margin:0;overflow:hidden}
  .app.mini .nav-item>span:not(.ic){display:none}
  .app.mini .nav-promo .nav-head{display:none}
}
@media(min-width:861px){.app.mini .nav-item .rc-tag{position:absolute;top:4px;right:8px;font-size:0;width:7px;height:7px;padding:0;border-radius:50%;margin:0;min-width:0;overflow:hidden;background:#3DDC97;border:0}.app.mini .nav-item .rc-tag:not(.live){display:none}}
/* .app.mini must not inherit the generic ".mini" stat-box look (padding/border/radius/panel bg) */
.app.mini{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;min-width:0}

/* demo slots catalogue page: centred, roomy, bigger tiles on wide screens */
.page.fd{max-width:1480px;margin:0 auto;padding:26px 28px 40px}
.fd-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:16px;margin-top:18px}
.fd-n{font-size:14px}.fd-art{aspect-ratio:1/1}.fd-play{aspect-ratio:1/1}
.fd-pager{margin:30px 0 12px}
@media(max-width:700px){.page.fd{padding:16px 14px 90px}.fd-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

/* sidebar mode buttons (Casino / Sports) + section labels */
.nav-mode{display:none}
.nav-label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:8px 12px 4px}
@media(min-width:861px){
  .app.mini .nav-mode{display:flex;flex-direction:column;gap:8px;padding:10px 8px 6px}
  .app.mini .nav-mode button{width:100%;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;opacity:.55;transition:opacity .15s,transform .15s,box-shadow .15s}
  .app.mini .nav-mode button:hover{opacity:.9;transform:translateY(-1px)}
  .app.mini .nav-mode .nm-c{background:linear-gradient(135deg,#8B7BFF,#5A3FD8)}
  .app.mini .nav-mode .nm-s{background:linear-gradient(135deg,#2DD4A0,#0E8F8A)}
  .app.mini .nav-mode button.on{opacity:1;box-shadow:0 6px 18px rgba(0,0,0,.4),0 0 0 2px rgba(255,255,255,.35)}
  .app.mini .nav-label{height:1px;font-size:0;padding:0;margin:8px 14px;background:var(--line,rgba(255,255,255,.1))}
}
.fd-sr{display:flex;align-items:center;gap:10px;margin:16px 0 4px;padding:0 14px;height:46px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:var(--muted);max-width:560px}
.fd-sr:focus-within{border-color:var(--accent,#8B7BFF)}.fd-sr input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font-size:15px}
.fd-sn{font-size:13px;margin:8px 2px 0}.fd-lk{background:none;border:0;padding:0;color:var(--accent,#8B7BFF);font-weight:800;text-decoration:underline;cursor:pointer;font:inherit}
/* shaded icon tiles in the sidebar */
.side .nav-item .ic{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.055);color:var(--muted);transition:background .15s,color .15s,box-shadow .15s}
.side .nav-item:hover .ic{background:rgba(255,255,255,.1);color:var(--text)}
.side .nav-item.active .ic{background:linear-gradient(135deg,rgba(139,123,255,.55),rgba(76,157,255,.4));color:#fff;box-shadow:0 4px 12px rgba(90,107,255,.35)}
.side .nav-item.active{background:rgba(139,123,255,.1)}
.side .nav-sports .nav-item .ic,.side .rc-item .ic{width:34px}
.app.mini .side .nav-item{padding:5px 0;min-height:0;background:none!important}
.app.mini .side .nav-item .ic{width:42px;height:42px;border-radius:12px;margin:0 auto}
.app.mini .side .nav-item.active .ic{box-shadow:0 6px 16px rgba(90,107,255,.45)}
/* leaderboards: rank card + podium polish */
.lb-me{padding:0!important;background:none!important;border:0!important;margin:6px 0 14px!important}
.lbm{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;background:linear-gradient(120deg,rgba(139,123,255,.18),rgba(61,242,255,.08) 60%,transparent),var(--panel);border:1px solid rgba(139,123,255,.35);box-shadow:0 10px 28px rgba(0,0,0,.3)}
.lbm-rk{flex:none;width:72px;height:72px;border-radius:18px;display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.lbm-rk small{font-size:9.5px;letter-spacing:.16em;color:var(--muted);font-weight:800}.lbm-rk b{font-size:26px;line-height:1;font-weight:900;display:block}
.lbm-rk.t1{background:linear-gradient(145deg,#FFD66B,#C98A12);border-color:#FFE39A}.lbm-rk.t1 small,.lbm-rk.t1 b{color:#3B2600}
.lbm-rk.t2{background:linear-gradient(145deg,#E6ECF7,#8E9AB5);border-color:#fff}.lbm-rk.t2 small,.lbm-rk.t2 b{color:#1B2336}
.lbm-rk.t3{background:linear-gradient(145deg,#E0A06B,#8A4B1E);border-color:#F1BE92}.lbm-rk.t3 small,.lbm-rk.t3 b{color:#2E1604}
.lbm-tx{min-width:0;display:flex;flex-direction:column;gap:2px}.lbm-tx small{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
.lbm-v{font-size:26px;font-weight:900;line-height:1.1}.lbm-v b{display:inline;font-size:inherit}.lbm-s{font-size:12.5px;color:var(--muted)}
.lbm.off .lbm-v{font-size:17px;font-weight:800}
.lb2-p{transition:transform .18s,box-shadow .18s}.lb2-p:not(.empty):hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.4)}
.lb2-p.p2{background:radial-gradient(180px 100px at 50% 0%,rgba(205,215,235,.16),transparent 70%),rgba(255,255,255,.045);border-color:rgba(205,215,235,.3)}
.lb2-p.p3{background:radial-gradient(180px 100px at 50% 0%,rgba(224,160,107,.16),transparent 70%),rgba(255,255,255,.045);border-color:rgba(224,160,107,.3)}
.lb2-p.p1{box-shadow:0 0 40px rgba(255,194,75,.12)}
@media(max-width:560px){.lbm{padding:12px;gap:12px}.lbm-rk{width:60px;height:60px}.lbm-rk b{font-size:22px}.lbm-v{font-size:21px}}
/* minimized sidebar: no race / promotion buttons */
@media(min-width:861px){.app.mini .nav-promo,.app.mini .nav-cat.nav-promo,.app.mini .rc-item,.app.mini .sb-raffle{display:none!important}}

.noti .ni{cursor:pointer}.noti .ni:hover{background:rgba(255,255,255,.05)}
.lb-in{animation:lbIn .28s ease both}@keyframes lbIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}

/* dropdown categories: indented list with a guide line + View All */
@media(min-width:861px){.app:not(.mini) .nav-cat.open .nav-sub{margin:2px 0 6px 21px;padding-left:8px;border-left:2px solid rgba(255,255,255,.1)}}
.nav-cat .nav-sub .nav-item .ic{width:24px;height:24px;background:none!important;box-shadow:none!important;border-radius:0}
.nav-cat .nav-sub .nav-item.active{background:rgba(139,123,255,.14)}.nav-cat .nav-sub .nav-item.active .ic{color:var(--text)}
.nav-cat .nav-sub .nav-item{min-height:38px;font-size:13.5px}
.nav-va{color:var(--muted)}.nav-va:hover{color:var(--text)}
.app.mini .nav-va{display:none!important}

/* ---------- responsible gambling ---------- */
.rg{max-width:1040px}
.rg-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--win)}
.rg-head h1{margin:0;color:var(--text);font-size:clamp(20px,3.4vw,28px)}
.rg-wrap{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start}
.rg-nav{display:flex;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:8px;position:sticky;top:8px}
.rg-nav a{padding:10px 12px;border-radius:8px;color:var(--muted);font-weight:700;font-size:13.5px;text-decoration:none}
.rg-nav a:hover{background:rgba(255,255,255,.05);color:var(--text)}
.rg-nav a.on{background:var(--raised2);color:var(--text);box-shadow:inset 3px 0 0 var(--win)}
.rg-body{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;min-width:0;line-height:1.6}
.rg-body h2{margin:0 0 10px;font-size:20px}.rg-body h3{margin:20px 0 6px;font-size:15px}.rg-body p,.rg-body li{color:#C6D2E2}
.rg-body a{color:var(--sky)}.rg-body ul{padding-left:20px}
.rg-hero{padding:16px 18px;border-radius:var(--r-md);background:linear-gradient(135deg,rgba(53,227,154,.14),rgba(79,195,255,.1));border:1px solid rgba(53,227,154,.25);margin-bottom:6px}.rg-hero h2{margin-bottom:6px}.rg-hero p{margin:0}
.rg-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.rg-tip{display:flex;gap:10px;padding:12px;border-radius:10px;background:var(--raised);border:1px solid var(--line)}
.rg-tip i{flex:none;width:26px;height:26px;border-radius:50%;background:var(--win);color:#06231a;font-style:normal;font-weight:800;display:grid;place-items:center}
.rg-tip b{display:block;font-size:13.5px}.rg-tip span{font-size:12.5px;color:var(--muted)}
.rg-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.rg-tools a{display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;background:var(--raised);border:1px solid var(--line);text-decoration:none;color:var(--text)}
.rg-tools a:hover{border-color:var(--win)}.rg-tools b{display:block}.rg-tools span{font-size:12.5px;color:var(--muted)}.rg-tools svg{color:var(--win);flex:none}
.rg-help{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.rg-help li a{display:block;padding:10px 12px;border-radius:10px;background:var(--raised);border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:13px}
.rg-state{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--raised);border:1px solid var(--line);margin:10px 0 14px;color:var(--muted)}
.rg-state.on{border-color:rgba(255,84,112,.45);background:rgba(255,84,112,.08);color:var(--loss)}
.rg-state b{display:block;color:var(--text)}.rg-state small{display:block;color:var(--muted);margin-top:2px;line-height:1.45}
.rg-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0}
.rg-opt{padding:11px 8px;border-radius:10px;background:var(--raised);border:1px solid var(--line);font-weight:700;font-size:13px}
.rg-opt.on{border-color:var(--gold);background:rgba(255,194,75,.12);color:var(--gold)}.rg-opt.perm.on{border-color:var(--loss);background:rgba(255,84,112,.12);color:var(--loss)}
.rg-note{font-size:12px;margin:4px 0 12px}
.rg-hist{margin-top:14px;font-size:12.5px}.rg-hist div{display:flex;gap:10px;flex-wrap:wrap;padding:5px 0;border-bottom:1px solid var(--line)}.rg-hist small{color:var(--muted)}
.rg-qi{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.rg-ans{display:flex;gap:6px}.rg-ans button{padding:7px 12px;border-radius:8px;background:var(--raised);border:1px solid var(--line);font-size:12.5px;font-weight:700}.rg-ans button.on{background:var(--gold);color:#241800;border-color:var(--gold)}
[data-sc]{margin-top:14px}
.rg-result{margin-top:16px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--raised)}.rg-result.r0{border-color:var(--win)}.rg-result.r1{border-color:var(--gold)}.rg-result.r2{border-color:var(--loss)}.rg-result p{margin:6px 0 10px}
.rg-bud{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rg-bud label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.rg-bud input{display:block;width:100%;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--text)}
.rg-tot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px}
.rg-disp{margin-top:14px;padding:14px;border-radius:12px;background:var(--raised);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}.rg-disp b{font-size:22px;color:var(--win)}.rg-disp b.neg{color:var(--loss)}.rg-disp small{flex-basis:100%;color:var(--muted)}
@media (max-width:820px){
  .rg-wrap{grid-template-columns:1fr}
  .rg-nav{flex-direction:row;overflow-x:auto;position:static;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rg-nav::-webkit-scrollbar{display:none}
  .rg-nav a{white-space:nowrap;flex:none}.rg-nav a.on{box-shadow:inset 0 -3px 0 var(--win)}
  .rg-body{padding:16px 14px}.rg-bud{grid-template-columns:1fr}
}
.sec .rg-state{margin-top:8px}.sec .rg-pick{grid-template-columns:repeat(2,1fr)}

.rg-gh{margin:14px 0 2px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- header integrated with the sidebar (desktop) ---------- */
@media (min-width:861px){
  .top{padding-left:0!important}
  .top .top-left{align-self:stretch;width:232px;flex:none;padding:0 12px 0 14px;background:var(--bg2);background:linear-gradient(180deg,#0E1329,#0A0E20);border-right:1px solid var(--line);gap:8px;box-sizing:border-box;justify-content:flex-start}
  .top .top-left .cs-switch{flex:1;min-width:0}.top .top-left .cs-switch button{flex:1;padding:8px 6px}
  .app.mini .top .top-left{width:68px;padding:0;justify-content:center}
  .app.mini .top .top-left .cs-switch{display:none}
  .app.side-hidden .top .top-left{width:68px;padding:0;justify-content:center;border-right:0}
  .app.side-hidden .top .top-left .cs-switch{display:flex;position:absolute;left:68px}
  .top-logo{left:calc(232px + (100% - 232px) / 2)}
  .app.mini .top-logo{left:calc(68px + (100% - 68px) / 2)}
}
.rg-state>svg{flex:none;width:22px;height:22px;margin-top:2px}
/* 404 page */
.nf{max-width:560px;margin:8vh auto 0;padding:24px 20px;text-align:center}
.nf-art{display:flex;justify-content:center;align-items:center;gap:6px;font:800 clamp(64px,18vw,110px)/1 "Chakra Petch",system-ui,sans-serif;color:var(--text)}
.nf-art b{background:linear-gradient(180deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.nf-art i{width:.85em;height:.85em;display:block;animation:nfspin 12s linear infinite}
@keyframes nfspin{to{transform:rotate(360deg)}}
.nf h1{margin:12px 0 6px;font-size:26px}.nf p{margin:0 0 20px;overflow-wrap:anywhere}.nf code{background:var(--raised);padding:2px 6px;border-radius:6px;font-size:.9em}
.nf-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.nf-btns .btn{text-decoration:none}
@media (prefers-reduced-motion:reduce){.nf-art i{animation:none}}

/* profile display fixes: stat values never wrap, best-win badge never clips, top-games names get room */
.pf2-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.pf2-stat{container-type:inline-size;min-width:0;overflow:hidden}
.pf2-stat b{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(14px,13cqw,21px);line-height:1.25}
.pf2-stat small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf2-bh{flex-wrap:wrap;row-gap:6px}.pf2-bh>div{min-width:0;flex:1 1 auto}
.pf2-bh b{display:block;white-space:nowrap;font-size:clamp(19px,2.4vw,24px)}
.pf2-mult{flex:none;margin-left:auto}
.pf2-gr{grid-template-columns:minmax(0,1.7fr) minmax(32px,.8fr) minmax(58px,auto);gap:10px}
.pf2-gr>b{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.pf2-gn{font-size:12.5px}
@media (max-width:720px){.pf2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pf2-stat b{font-size:clamp(16px,9cqw,21px)}.pf2-gr{grid-template-columns:minmax(0,1.6fr) minmax(28px,.7fr) minmax(54px,auto)}}

/* update notice on phones: sits above the bottom tab bar (62px + safe area), stacks text over a full-width button */
@media (max-width:860px){
  .upd-bar{left:12px;right:12px;transform:none;bottom:calc(62px + 10px + env(safe-area-inset-bottom,0px));max-width:none;flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px 14px;box-sizing:border-box}
  .upd-bar div{font-size:13px;line-height:1.35}
  .upd-bar button{width:100%;padding:11px 14px;font-size:14px;min-height:44px}
}
.rg-pick.locked{opacity:.45}.rg-pick .rg-opt:disabled{cursor:not-allowed}
.shop-cur{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;font-weight:700;color:var(--muted)}.shop-cur .sel{flex:0 1 260px;min-width:0}
.shop-fx{font-size:11.5px;color:var(--dim);margin:6px 0 0}
