[hidden]{display:none!important}
/* ============================================================
     TOKENS — mirrored from the live site's :root (values, not code)
     Fonts: body = Aeonik (commercial) → Manrope stand-in
            heading = Countach (commercial) → Oswald stand-in
     Drop licensed files in via --font-body / --font-heading.
     ============================================================ */
  :root{
    --bg:#080808;
    --g900:#121418; --g800:#202329; --g700:#2a2e38; --g600:#343843; --g500:#4d5361;
    --g400:#828998; --g300:#9ba5b4; --g200:#bec6d1; --g100:#e6ecf1;
    --neon:#7717ff; --violet:#886cff; --violet-hover:#690cec; --pressed:#5f12cc;
    --warning:#ff774a; --gold:#ffc634; --success:#3dd179;
    --highlight:rgba(119,23,255,.3);
    --overlay:rgba(0,0,0,.8);
    --r-sm:.25rem; --r-sm1:.375rem; --r-md:.5rem; --r-md1:.625rem; --r-lg:.75rem; --r-lg2:1rem;
    --t-md:.75rem; --t-lg:.875rem; --t-xl:1rem; --t-title:1.25rem; --t-h3:1.375rem;
    --h-header:4.75rem; --w-nav:4rem; --w-nav-open:15rem; --max-w:80rem;
    --dur:.2s; --dur-med:.25s; --dur-slow:.3s;
    --ease-modal:cubic-bezier(.16,1,.3,1); --ease:cubic-bezier(.4,0,.2,1);
    --font-body:"Manrope","Aeonik",Inter,-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;
    --font-heading:"Oswald","Countach",var(--font-body);
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-padding-top:env(safe-area-inset-top,0px);font-size:16px;touch-action:manipulation;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
  html,body{height:100%}
  body{margin:0;background:var(--bg);color:#fff;font-family:var(--font-body);font-size:var(--t-lg);line-height:1.35;overflow-x:hidden}
  button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}
  a{color:inherit;text-decoration:none}
  ::-webkit-scrollbar{height:6px;width:6px}
  ::-webkit-scrollbar-thumb{background:var(--g700);border-radius:var(--r-sm)}
  :focus-visible{outline:2px solid var(--violet);outline-offset:1px;border-radius:var(--r-sm1)}

  /* ============================================================ LAYOUT */
  .app{display:flex;min-height:100%}
  .rail{
    width:var(--w-nav);flex:0 0 var(--w-nav);background:var(--g900);
    position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;gap:.25rem;
    padding:.75rem 0 1.25rem;overflow-y:auto;z-index:40;
  }
  .rail::-webkit-scrollbar{display:none}
  .rail-btn{width:2.5rem;height:2.5rem;border-radius:var(--r-sm1);display:grid;place-items:center;color:var(--g400);transition:var(--dur)}
  .rail-btn svg{width:1.25rem;height:1.25rem}
  .rail-btn:hover{background:var(--g800);color:#fff}
  .rail-btn.active{background:var(--highlight);color:var(--violet)}
  .rail-btn:active{transform:scale(.95)}
  .rail-sep{width:2rem;height:1px;background:var(--g700);margin:.5rem 0}
  .rail-brand{width:2.5rem;height:2.5rem;border-radius:var(--r-sm1);display:grid;place-items:center;margin-bottom:.5rem}

  .main{flex:1;min-width:0;display:flex;flex-direction:column}

  /* ============================================================ HEADER */
  .topbar{
    height:var(--h-header);position:sticky;top:0;z-index:35;background:var(--g900);
    display:flex;align-items:center;gap:.75rem;padding:0 1rem;
  }
  .hamburger{display:none}
  .logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:var(--t-xl);letter-spacing:.02em}
  .logo-img{height:1.375rem;width:auto;display:block}
  .topbar .spacer{flex:1}
  .balance{
    display:flex;align-items:center;gap:.5rem;height:3rem;min-width:12rem;max-width:15rem;
    border:1px solid var(--g600);border-radius:var(--r-sm1);padding:0 1rem;font-weight:500;justify-content:center;
    transition:var(--dur);
  }
  .balance:hover{border-color:var(--g500)}
  .balance:active{transform:scale(.97)}
  .balance .coin-dot{width:1.25rem;height:1.25rem;font-size:.7rem}
  .balance .chev{color:var(--g300);display:flex}
  .balance .chev svg{width:.875rem;height:.875rem}
  .btn-wallet{
    display:flex;align-items:center;gap:.5rem;height:3rem;padding:0 1rem;border-radius:var(--r-sm1);
    background:var(--neon);color:#fff;font-weight:600;transition:var(--dur);
  }
  .btn-wallet svg{width:1.125rem;height:1.125rem}
  .btn-wallet:hover{background:var(--violet-hover)}
  .btn-wallet:active{background:var(--pressed);transform:scale(.97)}
  .icon-cluster{display:flex;align-items:center;gap:.5rem}
  .icon-btn{width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--g800);color:var(--g200);display:grid;place-items:center;transition:var(--dur)}
  .icon-btn svg{width:1.125rem;height:1.125rem}
  .icon-btn:hover{background:var(--g700);color:#fff}
  .icon-btn:active{transform:scale(.95)}

  /* ============================================================ CONTENT */
  .content{padding:1rem;max-width:var(--max-w);width:100%;margin:0 auto}
  .hero-row{display:flex;gap:1rem;margin-bottom:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .hero-row::-webkit-scrollbar{display:none}
  .hero{flex:0 0 calc(50% - .5rem);aspect-ratio:16/9;min-height:7.75rem;border-radius:var(--r-md);overflow:hidden;scroll-snap-align:start;background:var(--g900)}
  .hero img{width:100%;height:100%;object-fit:cover;display:block;user-select:none}

  /* category tabs bar */
  .tabs{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
  .tabs-strip{display:flex;gap:.2rem;background:var(--g800);border-radius:var(--r-sm1);padding:.375rem;overflow-x:auto;scrollbar-width:none;flex:0 1 auto}
  .tabs-strip::-webkit-scrollbar{display:none}
  .tab{
    display:flex;align-items:center;gap:.5rem;height:2.25rem;padding:0 1rem;border-radius:var(--r-sm1);
    color:var(--g200);font-weight:500;font-size:var(--t-lg);white-space:nowrap;transition:var(--dur);line-height:1;
  }
  .tab svg{width:1rem;height:1rem}
  .tab:hover{color:#fff}
  .tab.active{background:var(--g600);color:#fff}
  a.tab,a.view-all,a.icon-btn,a.balance,a.btn-wallet{display:inline-flex;align-items:center}
  .search{
    margin-left:auto;display:flex;align-items:center;gap:.5rem;height:3rem;min-width:15rem;
    background:transparent;border:1px solid var(--g700);border-radius:var(--r-sm1);padding:0 1rem;color:var(--g400);flex:0 0 auto;
  }
  .search svg{width:1.125rem;height:1.125rem}
  .search input{background:none;border:none;color:#fff;width:100%;outline:none;font-size:var(--t-lg);font-family:inherit}
  .search input::placeholder{color:var(--g400)}

  /* sections + carousels */
  .section{margin-bottom:2rem}
  .section-head{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem}
  .section-head .s-ico{color:var(--violet);display:grid;place-items:center}
  .section-head .s-ico svg{width:1.375rem;height:1.375rem}
  .section-head h3{margin:0;font-size:var(--t-title);font-weight:600;letter-spacing:-.005em}
  .section-head .grow{flex:1}
  .view-all{height:2.5rem;padding:0 1rem;border-radius:var(--r-sm1);background:var(--g800);color:var(--g200);font-weight:500;transition:var(--dur)}
  .view-all:hover{background:var(--g700);color:#fff}
  .car-nav{width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--g800);color:var(--g200);display:grid;place-items:center;transition:var(--dur)}
  .car-nav svg{width:1rem;height:1rem}
  .car-nav:hover{background:var(--g700);color:#fff}
  .car-nav:active{transform:scale(.95)}
  .carousel{display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:2px}
  .carousel::-webkit-scrollbar{display:none}

  .game-card{
    flex:0 0 auto;width:12.5rem;aspect-ratio:3/4;border-radius:var(--r-md);overflow:hidden;position:relative;
    display:flex;flex-direction:column;justify-content:space-between;padding:.75rem;isolation:isolate;
    transition:transform var(--dur) var(--ease);cursor:pointer;
  }
  .game-card--img{padding:0;background:var(--g900)}
  .game-card--img img{width:100%;height:100%;object-fit:cover;display:block;user-select:none}
  .game-card:hover{transform:translateY(-.25rem)}
  .game-card:active{transform:scale(.97)}
  .game-card .brandtag{font-family:var(--font-heading);font-size:.625rem;font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.85);text-transform:uppercase;text-align:center}
  .game-card .mono{position:absolute;inset:0;display:grid;place-items:center;font-size:4rem;font-weight:800;color:rgba(255,255,255,.9);z-index:-1;text-shadow:0 .25rem 1rem rgba(0,0,0,.45)}
  .game-card .name{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#fff;text-align:center;line-height:1;text-shadow:0 .125rem .5rem rgba(0,0,0,.5)}
  .badge{align-self:center;font-size:.625rem;font-weight:600;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:var(--r-sm);display:flex;gap:.25rem;align-items:center}

  .prov-card{
    flex:0 0 auto;width:13.75rem;height:6.25rem;border-radius:var(--r-sm1);background:var(--g900);border:1px solid var(--g800);
    display:grid;place-items:center;color:var(--g300);font-weight:600;font-size:var(--t-xl);letter-spacing:.04em;transition:var(--dur);cursor:pointer;
  }
  .prov-card:hover{background:var(--g800);color:#fff;border-color:var(--g700)}

  footer{border-top:1px solid var(--g800);padding:1.5rem 1rem;color:var(--g500);font-size:var(--t-md);text-align:center}

  /* ============================================================ MODAL */
  .overlay{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);
    opacity:0;visibility:hidden;transition:opacity var(--dur-med) var(--ease);z-index:90}
  .overlay.open{opacity:1;visibility:visible}
  .modal{
    position:fixed;z-index:100;left:50%;top:50%;transform:translate(-50%,-48%) scale(.98);
    width:min(50rem,calc(100vw - 2.5rem));background:var(--g900);border-radius:var(--r-md);
    opacity:0;visibility:hidden;transition:opacity var(--dur-med) var(--ease-modal),transform var(--dur-med) var(--ease-modal);
    max-height:calc(100vh - 2.5rem);overflow-y:auto;
  }
  .modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
  .modal-inner{padding:1.25rem 1.5rem 1.5rem}
  .grabber{display:none}
  .modal-close{position:absolute;top:.5rem;right:.25rem;width:2.75rem;height:2.75rem;border-radius:9999px;color:#fff;display:grid;place-items:center;transition:var(--dur-slow);z-index:2}
  .modal-close svg{width:1.25rem;height:1.25rem}
  .modal-close:hover{background:var(--g800)}

  .m-tabs{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--g700);margin:.25rem 0 1.5rem;padding-right:2.5rem}
  .m-tab{padding:.25rem .125rem .875rem;font-weight:500;color:var(--g200);position:relative;font-size:var(--t-xl);transition:color var(--dur);line-height:1.2}
  .m-tab:hover{color:#fff}
  .m-tab.active{color:var(--violet)}
  .m-tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--violet);border-radius:1px}

  .field-label{font-size:var(--t-lg);font-weight:500;margin:0 0 .5rem;color:#fff}
  .selector{
    width:100%;display:flex;align-items:center;gap:.5rem;background:var(--g800);border:1px solid transparent;
    border-radius:var(--r-sm1);height:3rem;padding:.5rem 1rem;font-size:var(--t-lg);font-weight:500;margin-bottom:1rem;transition:var(--dur);
  }
  .selector:hover{background:var(--g700)}
  .selector[aria-expanded="true"],.selector:focus-visible{border-color:var(--violet);outline:none;background:var(--g800)}
  .selector .cn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .selector .bal{margin-left:auto;font-weight:500;padding-left:.5rem}
  .selector .chev{color:var(--g300);display:flex;transition:transform var(--dur);flex:0 0 auto}
  .selector .chev svg{width:1rem;height:1rem}
  .selector[aria-expanded="true"] .chev{transform:rotate(180deg)}
  .coin-dot{width:1.5rem;height:1.5rem;border-radius:9999px;display:grid;place-items:center;font-weight:700;color:#fff;font-size:.75rem;flex:0 0 auto;line-height:1}

  .dropdown{background:var(--g800);border-radius:var(--r-sm1);overflow:hidden;margin-bottom:1rem;display:none}
  .dropdown.open{display:block}
  .coin-opt{width:100%;display:flex;align-items:center;gap:.5rem;height:3rem;padding:0 1rem;font-size:var(--t-lg);font-weight:500;border-bottom:1px solid var(--g700);transition:background var(--dur)}
  .coin-opt:last-child{border-bottom:none}
  .coin-opt:hover{background:var(--g700)}
  .coin-opt .bal{margin-left:auto}
  .coin-opt.selected{background:rgba(136,108,255,.12)}
  .coin-opt.selected .cn,.coin-opt.selected .bal{color:var(--violet);font-weight:600}

  #addrBlock[hidden]{display:none}
  .addr-row{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--g700);border-radius:var(--r-sm1);height:3rem;padding:0 .5rem 0 1rem;margin-bottom:.75rem}
  .addr-row input{flex:1;min-width:0;background:none;border:none;color:#fff;font-size:var(--t-lg);outline:none;font-family:inherit;text-overflow:ellipsis;letter-spacing:.01em}
  .copy-btn{width:2rem;height:2rem;border-radius:var(--r-sm);color:var(--g200);display:grid;place-items:center;flex:0 0 auto;transition:var(--dur)}
  .copy-btn svg{width:1.125rem;height:1.125rem}
  .copy-btn:hover{background:var(--g700);color:#fff}
  .copy-btn.done{color:var(--success)}

  .net-note{display:flex;gap:.5rem;align-items:flex-start;color:var(--warning);font-size:var(--t-lg);margin:0 0 1.5rem;line-height:1.4}
  .net-note svg{flex:0 0 auto;width:1.125rem;height:1.125rem;margin-top:.05rem}

  .qr-wrap{display:grid;place-items:center}
  .qr{width:11rem;height:11rem;background:#fff;border-radius:var(--r-sm1);padding:.5rem;display:grid;place-items:center}
  .qr svg{display:block;width:100%;height:100%}
  .qr-caption{text-align:center;color:var(--g500);font-size:var(--t-md);margin:.625rem 0 0}
  .deposit-history{display:block;text-align:center;font-weight:500;text-decoration:underline;text-underline-offset:.2em;margin-top:1rem;padding:.5rem;font-size:var(--t-lg)}
  .deposit-history:hover{color:var(--violet)}

  /* forms */
  .addr-row .suffix{color:var(--g300);font-weight:500;padding:0 .25rem;flex:0 0 auto}
  .addr-row .prefix{color:var(--g400);font-weight:600;margin-right:-.25rem}
  .addr-row input::placeholder{color:var(--g500)}
  .mini-btn{height:2rem;padding:0 .75rem;border-radius:var(--r-sm);background:var(--g700);color:#fff;font-weight:600;font-size:var(--t-md);flex:0 0 auto;transition:var(--dur)}
  .mini-btn:hover{background:var(--g600)}
  .row-between{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
  .muted{color:var(--g400)} .small{font-size:var(--t-md)}
  .field-err{color:var(--warning);font-size:var(--t-md);margin:-.375rem 0 .75rem}
  .fee-box{background:var(--g800);border-radius:var(--r-sm1);padding:.75rem 1rem;display:grid;gap:.5rem;margin:.75rem 0 1rem;font-size:var(--t-lg)}
  .fee-box .total{border-top:1px solid var(--g700);padding-top:.5rem;font-weight:600}
  .net-note.info{color:var(--g300)}
  .btn-primary{width:100%;height:3rem;border-radius:var(--r-sm1);background:var(--neon);color:#fff;font-weight:600;font-size:var(--t-lg);transition:var(--dur);margin-top:.25rem}
  .btn-primary:hover:not(:disabled){background:var(--violet-hover)}
  .btn-primary:active:not(:disabled){background:var(--pressed);transform:scale(.97)}
  .btn-primary:disabled{opacity:.5;cursor:not-allowed}
  .pill-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
  .pill{height:2.5rem;padding:0 .875rem;border-radius:var(--r-sm1);background:var(--g800);color:var(--g200);font-weight:500;display:flex;align-items:center;gap:.5rem;transition:var(--dur)}
  .pill.active{background:var(--g600);color:#fff;box-shadow:inset 0 0 0 1px var(--violet)}
  .check{display:flex;align-items:center;gap:.5rem;color:var(--g200);font-size:var(--t-lg);margin:.25rem 0 1rem}
  .check input{accent-color:var(--neon);width:1rem;height:1rem}

  /* header balance popover */
  .bal-wrap{position:relative}
  .balance[aria-expanded="true"] .chev{transform:rotate(180deg)} .balance .chev{transition:transform var(--dur)}
  .bal-pop{position:absolute;top:calc(100% + .5rem);left:0;width:20rem;background:#1a1c22;border-radius:var(--r-md);padding:.75rem .75rem 0;z-index:60;box-shadow:0 .75rem 2rem rgba(0,0,0,.55);text-align:left}
  .bal-pop[hidden]{display:none}
  .bal-search{display:flex;align-items:center;gap:.5rem;height:3rem;background:var(--bg);border-radius:var(--r-sm1);padding:0 1rem;color:var(--g400);margin-bottom:.5rem}
  .bal-search svg{width:1.125rem;height:1.125rem;flex:0 0 auto}
  .bal-search input{background:none;border:none;color:#fff;outline:none;width:100%;font:inherit;font-size:var(--t-lg)}
  .bal-search input::placeholder{color:var(--g500)}
  .bal-list{max-height:21rem;overflow-y:auto;margin:0 -.75rem}
  .bal-row{width:100%;display:flex;align-items:center;gap:.75rem;height:3rem;padding:0 1.5rem;font-weight:500;font-size:var(--t-lg);border-bottom:1px solid var(--g700);text-align:left}
  .bal-row .bal{margin-left:auto} .bal-row:hover{background:var(--g800)}
  .bal-row.selected{background:var(--g700);font-weight:700}
  .bal-row .zero{color:var(--g500)}
  .bal-opt{display:flex;justify-content:space-between;align-items:center;height:3.25rem;font-size:var(--t-lg);border-top:1px solid var(--g700);margin:0 -.75rem;padding:0 1.5rem}
  .bal-empty{padding:1rem 1.5rem;color:var(--g400);font-size:var(--t-lg)}
  .req{color:var(--g300)}


  /* redeem */
  .redeem-inner{text-align:center;padding-top:1.5rem}
  .redeem-art{width:7.5rem;height:6rem;margin:0 auto 1rem}
  .redeem-art svg{width:100%;height:100%;display:block}
  .redeem-title{margin:0 0 1.25rem;font-size:1.75rem;font-weight:700}
  .redeem-inner .addr-row{margin-bottom:1rem}
  .redeem-inner .addr-row input{text-align:left;letter-spacing:.06em;text-transform:uppercase}
  .btn-redeem:disabled{background:var(--g200);color:#fff;opacity:1;cursor:not-allowed}
  .redeem-foot{margin:1.5rem -1.5rem 0;padding:1.5rem 1.5rem 0;border-top:1px solid var(--g700)}
  .redeem-learn{font-weight:500;text-decoration:underline;text-underline-offset:.2em;color:#fff}
  .redeem-learn:hover{color:var(--violet)}

  /* auth + account */
  .hdr-guest,.hdr-authed{display:flex;align-items:center;gap:.75rem}
  .hdr-guest[hidden],.hdr-authed[hidden]{display:none}
  .btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0 1rem;border-radius:var(--r-sm1);border:1px solid var(--g600);color:#fff;font-weight:600;transition:var(--dur)}
  .btn-ghost:hover{background:var(--g800)} .btn-ghost:active{transform:scale(.97)}
  .btn-ghost.full{width:100%}
  .btn-danger{color:var(--warning);border-color:rgba(255,119,74,.45)} .btn-danger:hover{background:rgba(255,119,74,.1)}
  .modal--sm{width:min(26rem,calc(100vw - 2.5rem))}
  .m-title{margin:.5rem 0 1.25rem;font-size:var(--t-h3);font-weight:700;padding-right:2.5rem}
  .link{color:var(--violet);font-weight:500} .link:hover{text-decoration:underline}
  .auth-foot{text-align:center;color:var(--g300);margin:1rem 0 0;font-size:var(--t-lg)}
  .pw-meter{display:flex;gap:.25rem;margin:-.25rem 0 .75rem}
  .pw-meter i{flex:1;height:.25rem;border-radius:2px;background:var(--g700);transition:background var(--dur)}
  .acc-head{display:flex;align-items:center;gap:1rem;margin:.25rem 2.5rem 1rem 0}
  .avatar{width:3.5rem;height:3.5rem;border-radius:9999px;background:var(--neon);display:grid;place-items:center;font-weight:700;font-size:1.25rem;flex:0 0 auto}
  .acc-meta{flex:1;min-width:0} .acc-name{font-weight:700;font-size:var(--t-xl)}
  .vip-line{display:flex;justify-content:space-between;margin-top:.375rem;font-size:var(--t-lg);font-weight:600;color:var(--violet)}
  .vip-bar{height:.375rem;background:var(--g700);border-radius:9999px;overflow:hidden;margin-top:.375rem}
  .vip-bar i{display:block;height:100%;background:var(--violet);width:0;transition:width var(--dur-slow)}
  .switch{position:relative;width:2.75rem;height:1.5rem;flex:0 0 auto}
  .switch input{opacity:0;width:0;height:0;position:absolute}
  .switch i{position:absolute;inset:0;background:var(--g600);border-radius:9999px;transition:var(--dur)}
  .switch i::after{content:"";position:absolute;top:.1875rem;left:.1875rem;width:1.125rem;height:1.125rem;border-radius:9999px;background:#fff;transition:var(--dur)}
  .switch input:checked+i{background:var(--neon)} .switch input:checked+i::after{transform:translateX(1.25rem)}
  .session-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--g700);font-size:var(--t-lg)}
  .session-row:last-child{border-bottom:none}
  .session-row .cur{color:var(--success);font-size:var(--t-md);font-weight:600}
  .session-row button{color:var(--g300)} .session-row button:hover{color:var(--warning)}
  .lang-opt{width:100%;display:flex;align-items:center;height:2.75rem;padding:0 1rem;font-weight:500;border-bottom:1px solid var(--g700)}
  .lang-opt:last-child{border-bottom:none} .lang-opt:hover{background:var(--g700)} .lang-opt.selected{color:var(--violet)}
  .hide-bal #hdrBal{filter:blur(6px)}

  /* footer */
  footer{background:var(--g900);border-top:1px solid var(--g700);padding:2.5rem 1.5rem 1.75rem;color:var(--g200);font-size:var(--t-xl)}
  .foot-grid{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,1fr));gap:2.5rem;max-width:var(--max-w);margin:0 auto}
  .foot-col h5{margin:0 0 .875rem;color:#fff;font-size:var(--t-xl);font-weight:700}
  .foot-col a{display:block;color:var(--g200);padding:.375rem 0;font-size:var(--t-xl);font-weight:500;transition:var(--dur)}
  .foot-col a:hover{color:var(--violet)}
  .foot-brand img{height:1.75rem;width:auto;display:block;margin-bottom:.875rem}
  .foot-brand p{max-width:18rem;color:var(--g300);font-size:var(--t-lg)}
  .foot-bottom{max-width:var(--max-w);margin:2rem auto 0;padding-top:1.25rem;border-top:1px solid var(--g700);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:var(--t-lg);color:var(--g300)}

  /* mobile bottom nav */
  .mobar{display:none}

  /* rail drawer labels */
  .rail-btn .lbl{display:none}
  .rail.expanded{width:15rem;align-items:stretch;padding:.75rem .5rem}
  .rail.expanded .rail-btn{width:100%;justify-content:flex-start;display:flex;align-items:center;gap:.75rem;padding:0 .625rem}
  .rail.expanded .rail-btn .lbl{display:inline;font-size:var(--t-lg);font-weight:500}
  .rail.expanded .rail-sep{width:auto;margin:.5rem .25rem}
  .rail-overlay{position:fixed;inset:0;background:var(--overlay);z-index:39;opacity:0;visibility:hidden;transition:opacity var(--dur)}
  .rail-overlay.open{opacity:1;visibility:visible}

  /* balance + Wallet group: transparent to layout on phones, centred in the header on desktop */
  .hdr-wallet{display:contents}
  @media (min-width:901px){
    /* desktop: rail always expanded with labels */
    .rail{width:var(--w-nav-open);flex:0 0 var(--w-nav-open);align-items:stretch;padding:.75rem .5rem 1.25rem}
    .rail .rail-btn{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:0 .625rem}
    .rail .rail-btn .lbl{display:inline;font-size:var(--t-lg);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .rail .rail-sep{width:auto;margin:.5rem .25rem}
    .hdr-wallet{display:flex;align-items:center;gap:.75rem;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  }

  .toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%) translateY(1rem);background:var(--g800);color:#fff;font-weight:500;
    padding:.75rem 1.25rem;border-radius:var(--r-sm1);opacity:0;visibility:hidden;transition:var(--dur);z-index:200;font-size:var(--t-lg)}
  .toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

  /* ============================================================ RESPONSIVE */
  @media (max-width:900px){
    .rail{position:fixed;left:0;top:0;height:100%;transform:translateX(-100%);transition:transform var(--dur-med) var(--ease-modal);z-index:41}
    .rail.open{transform:translateX(0)}
    .mobar{display:flex;position:fixed;left:0;right:0;bottom:0;height:3.6875rem;background:var(--g900);border-top:1px solid var(--g800);z-index:38;
      padding-bottom:env(safe-area-inset-bottom,0px)}
    .mobar button,.mobar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--g300);font-size:.6875rem;font-weight:500}
    .mobar svg{width:1.25rem;height:1.25rem}
    .mobar .active{color:var(--violet)}
    .content{padding-bottom:4.5rem}
    .foot-grid{grid-template-columns:1fr 1fr;gap:1.75rem}
    footer{padding:2rem 1rem 1.5rem}
    .foot-brand{grid-column:1/-1}
    .hero-row{gap:.75rem}
    .hero{flex:0 0 90%;aspect-ratio:2.4/1;min-height:9rem;border-radius:var(--r-md)}
    .btn-wallet .label{display:none}
    .btn-wallet{width:3rem;padding:0;justify-content:center}
    .icon-cluster .hide-sm{display:none}
    .search{display:none}
    .tabs-strip{flex:1}
    .game-card{width:10.5rem}
  }
  @media (max-width:560px){
    .topbar{padding:0 .75rem;gap:.625rem}
    .logo-img{height:1.25rem}
    .balance{min-width:0;flex:1;max-width:18rem}
    .content{padding:.75rem}
    /* modal -> bottom sheet */
    .modal{left:0;right:0;top:auto;bottom:0;transform:translateY(100%);width:100%;max-height:74vh;border-radius:var(--r-lg) var(--r-lg) 0 0}
    .modal.open{transform:translateY(0)}
    .modal-inner{padding:.25rem 1rem 1.5rem}
    .redeem-inner{padding-top:1.25rem} .redeem-foot{margin:1.5rem -1rem 0;padding:1.5rem 1rem 0}
    .grabber{display:block;width:2.5rem;height:.25rem;border-radius:9999px;background:var(--g600);margin:.625rem auto .75rem}
    .modal-close{display:none}
    .btn-ghost{padding:0 .75rem;height:2.75rem} .hdr-guest .btn-wallet{width:auto;padding:0 .875rem;height:2.75rem}
    .bal-wrap{flex:1;display:flex;justify-content:center;min-width:0} .bal-wrap .balance{width:100%}
    .bal-pop{position:fixed;left:50%;top:calc(var(--h-header) + env(safe-area-inset-top,0px) - .5rem);transform:translateX(-50%);width:min(20rem,calc(100vw - 1.5rem))}
    .m-tabs{padding-right:0;margin-bottom:1.25rem}
    .qr{width:clamp(9.5rem,40vw,11rem);height:clamp(9.5rem,40vw,11rem)}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

  /* ============================================================
     PAGES (routed views rendered by pages.js)
     ============================================================ */
  .page{animation:pgin var(--dur-med) var(--ease) both}
  @keyframes pgin{from{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:none}}
  .crumbs{display:flex;align-items:center;gap:.5rem;font-size:var(--t-md);color:var(--g400);margin-bottom:.75rem;flex-wrap:wrap}
  .crumbs a{color:var(--g300)} .crumbs a:hover{color:#fff} .crumbs i{font-style:normal;color:var(--g600)}
  .page-head{display:flex;align-items:flex-start;gap:.75rem;margin:0 0 1.25rem}
  .page-head h1{font-family:var(--font-heading);font-size:1.75rem;line-height:1.1;margin:0;letter-spacing:.01em;text-transform:uppercase}
  .page-head p{margin:.35rem 0 0;color:var(--g300);max-width:60ch}
  .page-head .s-ico{margin-top:.2rem}
  .h2{font-family:var(--font-heading);font-size:1.25rem;text-transform:uppercase;letter-spacing:.02em;margin:1.75rem 0 .75rem}
  .muted{color:var(--g300)} .sm{font-size:var(--t-md)} .link{color:var(--violet)} .link:hover{color:#fff} .up{color:var(--success)} .down{color:var(--g400)}
  .page-tools{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
  .search--inline{max-width:18rem;flex:1}
  .ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem}
  .ggrid--sm{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.5rem}
  .gcard{position:relative;aspect-ratio:3/4;border-radius:var(--r-md);overflow:hidden;background:var(--g900);transition:transform var(--dur)}
  .gcard:hover{transform:translateY(-.2rem)}
  .gcard-link{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:.75rem;color:#fff}
  .gcard--img .gcard-link{padding:0} .gcard--img img{width:100%;height:100%;object-fit:cover;display:block}
  .gcard .mono{font-family:var(--font-heading);font-size:2.5rem;opacity:.15;position:absolute;right:.5rem;top:.25rem}
  .gcard .brandtag{font-size:.6rem;letter-spacing:.14em;color:rgba(255,255,255,.7);font-weight:700}
  .gcard .badge{align-self:flex-start;display:inline-flex;align-items:center;gap:.25rem;font-size:.6rem;font-weight:700;background:rgba(0,0,0,.45);padding:.2rem .4rem;border-radius:var(--r-sm)}
  .gcard .name{font-weight:700;font-size:var(--t-lg);text-shadow:0 1px 2px rgba(0,0,0,.6)}
  .fav{position:absolute;top:.4rem;left:.4rem;width:1.9rem;height:1.9rem;border-radius:9999px;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;opacity:0;transition:var(--dur);z-index:2}
  .fav svg{width:1rem;height:1rem} .gcard:hover .fav,.fav.on{opacity:1} .fav.on{color:var(--warning)}
  .fav-btn svg{width:1rem;height:1rem;margin-right:.4rem} .fav-btn.on{color:var(--warning);border-color:var(--warning)}
  .empty{padding:2.5rem 1rem;text-align:center;color:var(--g300);background:var(--g900);border-radius:var(--r-md)}
  .skel{height:2.25rem;width:40%;border-radius:var(--r-sm1);background:linear-gradient(90deg,var(--g900),var(--g800),var(--g900));background-size:200% 100%;animation:sk 1.2s infinite;margin-bottom:1rem}
  .skel--grid{width:100%;height:14rem} @keyframes sk{to{background-position:-200% 0}}
  .ptabs{display:flex;gap:.25rem;border-bottom:1px solid var(--g700);margin-bottom:1.25rem;overflow-x:auto;scrollbar-width:none}
  .ptab{padding:.6rem .9rem;color:var(--g300);font-weight:600;white-space:nowrap;position:relative;border-radius:var(--r-sm) var(--r-sm) 0 0}
  .ptab:hover{color:#fff} .ptab.active{color:#fff} .ptab.active::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:-1px;height:2px;background:var(--violet)}
  .tag{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .5rem;border-radius:var(--r-sm);background:var(--g800);color:var(--g200)}
  .tag--ok{background:rgba(61,209,121,.15);color:var(--success)} .tag--warn{background:rgba(255,198,52,.15);color:var(--gold)} .tag--live{background:rgba(255,119,74,.18);color:var(--warning)} .tag--neon{background:var(--highlight);color:var(--violet)}
  .prog{height:.5rem;border-radius:9999px;background:var(--g800);overflow:hidden;margin:.5rem 0} .prog i{display:block;height:100%;background:linear-gradient(90deg,var(--neon),var(--violet));border-radius:9999px;transition:width var(--dur-slow)}
  .tbl-wrap{overflow-x:auto;border:1px solid var(--g700);border-radius:var(--r-md)}
  .tbl{width:100%;border-collapse:collapse;font-size:var(--t-lg);white-space:nowrap} .tbl td .coin-dot.sm{display:inline-grid;place-items:center}
  .tbl th{text-align:left;font-size:var(--t-md);color:var(--g400);font-weight:600;padding:.75rem 1rem;background:var(--g900);border-bottom:1px solid var(--g700)}
  .tbl td{padding:.7rem 1rem;border-bottom:1px solid var(--g800);vertical-align:middle} .tbl tr:last-child td{border-bottom:none} .tbl tr:hover td{background:rgba(255,255,255,.02)}
  .coin-dot.sm{width:1.1rem;height:1.1rem;font-size:.6rem;margin-right:.35rem;vertical-align:middle} .mono-sm{font-family:ui-monospace,Menlo,monospace;font-size:var(--t-md);color:var(--g300)}
  .stats3,.stats4{display:grid;gap:.75rem;margin:1rem 0} .stats3{grid-template-columns:repeat(3,1fr)} .stats4{grid-template-columns:repeat(4,1fr)}
  .stat{background:var(--g900);border-radius:var(--r-md);padding:1rem;display:flex;flex-direction:column;gap:.25rem} .stat-l{font-size:var(--t-md);color:var(--g400)} .stat-v{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:.02em} .stat-h{font-size:var(--t-md);color:var(--g300)}
  .gate{background:var(--g900);border-radius:var(--r-md);padding:2.5rem 1.5rem;text-align:center} .gate h3{margin:0 0 .35rem;font-size:var(--t-title)} .gate p{color:var(--g300);margin:0 0 1.25rem}
  .gate-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap} .gate-btns .btn-primary{width:auto;padding:0 1.5rem;display:inline-flex;align-items:center;margin:0}
  .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem}
  .pcard{background:var(--g900);border-radius:var(--r-md);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.25rem;border:1px solid transparent;transition:var(--dur)} .pcard:hover{border-color:var(--g600);background:var(--g800)} .pcard-n{font-weight:700;font-size:var(--t-xl)} .pcard.flash{border-color:var(--violet)}
  .cgrid,.prgrid,.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}
  .ccard{background:var(--g900);border-radius:var(--r-md);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem} .ccard header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem} .ccard h3{margin:0;font-size:var(--t-title)} .ccard p{margin:0}
  .cprize{display:flex;justify-content:space-between;align-items:baseline;margin:.25rem 0} .prize{font-family:var(--font-heading);font-size:1.5rem;color:var(--gold)} .ccard .btn-primary{margin-top:auto;display:flex;align-items:center;justify-content:center}
  .prcard{background:var(--g900);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:var(--dur)} .prcard:hover{transform:translateY(-.2rem)} .prcard img,.prart{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
  .prbody{padding:1rem;display:flex;flex-direction:column;gap:.35rem} .prtop{display:flex;justify-content:space-between;align-items:center} .prbody h3{margin:0;font-size:var(--t-title)} .prbody p{margin:0}
  .promo-hero{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--r-md);display:block;margin-bottom:1.5rem}
  .promo-cols{display:grid;grid-template-columns:1fr 18rem;gap:2rem} .promo-side{background:var(--g900);border-radius:var(--r-md);padding:1.25rem;align-self:start;position:sticky;top:calc(var(--h-header) + 1rem)}
  .kv-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem} .kv-list div{display:flex;justify-content:space-between;gap:1rem;font-size:var(--t-lg)} .kv-list b{color:var(--g300);font-weight:500}
  .prose{max-width:72ch;line-height:1.6} .prose h2{font-family:var(--font-heading);font-size:1.2rem;text-transform:uppercase;letter-spacing:.02em;margin:1.75rem 0 .5rem} .prose .lead{font-size:var(--t-xl);color:var(--g100)} .prose ol,.prose ul{padding-left:1.25rem;color:var(--g200)} .prose li{margin:.35rem 0} .prose code{background:var(--g800);padding:.1rem .4rem;border-radius:var(--r-sm);font-family:ui-monospace,Menlo,monospace}
  .toc{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem} .toc a{font-size:var(--t-md);color:var(--g300);background:var(--g900);padding:.3rem .6rem;border-radius:var(--r-sm)} .toc a:hover{color:#fff}
  .vip-hero{display:grid;grid-template-columns:14rem 1fr;gap:1.5rem;background:var(--g900);border-radius:var(--r-md);padding:1.5rem;margin-bottom:1.5rem;align-items:center}
  .vip-cur h2{font-family:var(--font-heading);font-size:2.25rem;margin:.1rem 0 .25rem;letter-spacing:.02em} .vip-prog-l{display:flex;justify-content:space-between;font-size:var(--t-lg);color:var(--g200)}
  .vip-ladder{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-bottom:2rem}
  .vtier{background:var(--g900);border-radius:var(--r-md);padding:1.25rem 1rem;border:1px solid transparent;position:relative} .vtier.reached{border-color:var(--g600)} .vtier.current{border-color:var(--tc);box-shadow:0 0 0 1px var(--tc) inset}
  .vdot{display:block;width:.75rem;height:.75rem;border-radius:9999px;background:var(--tc);box-shadow:0 0 .75rem var(--tc);margin-bottom:.75rem} .vtier h3{margin:0;font-family:var(--font-heading);font-size:1.25rem;letter-spacing:.03em;color:var(--tc)} .vtier ul{padding-left:1rem;margin:.75rem 0 0;color:var(--g200);font-size:var(--t-md)} .vtier li{margin:.25rem 0}
  .vip-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem} .vip-info .prose h2{margin-top:0}
  .bcard{background:var(--g900);border-radius:var(--r-md);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;transition:var(--dur)} .bcard:hover{background:var(--g800)} .bcard h3{margin:0;font-size:var(--t-title)} .bcard p{margin:0}
  .reflink{background:var(--g900);border-radius:var(--r-md);padding:1rem;margin-bottom:.5rem} .reflink .addr-row{margin:.5rem 0 0} .copy-btn{height:2.25rem;padding:0 .75rem;border-radius:var(--r-sm);background:var(--g700);color:#fff;font-weight:600;font-size:var(--t-md)}
  .aff-pitch .prose{margin:1.5rem 0}
  .page--game .page-head{margin-bottom:.75rem}
  .gframe{position:relative;aspect-ratio:16/9;max-height:34rem;border-radius:var(--r-md);overflow:hidden;background:var(--gbg,var(--g900));display:grid;place-items:center}
  .gframe-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(1.5rem) brightness(.35);transform:scale(1.15)} .gframe-inner{position:relative;text-align:center;padding:1rem} .gframe-inner h3{font-family:var(--font-heading);font-size:2rem;margin:.25rem 0 1rem;text-transform:uppercase}
  .gframe--live{background:#000} .gframe-iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  @media (max-width:700px){.gframe--live{aspect-ratio:9/14;max-height:none}}
  .gframe-btns{display:flex;gap:.75rem;justify-content:center} .gframe-btns .btn-primary{width:auto;padding:0 1.75rem;display:inline-flex;align-items:center;margin:0}
  .gbar{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;background:var(--g900);border-radius:var(--r-md);padding:.75rem 1rem;margin:.75rem 0 2rem} .gbar .kv{display:flex;flex-direction:column;font-size:var(--t-lg)} .gbar .kv b{font-size:var(--t-md);color:var(--g400);font-weight:500} .gbar .btn-ghost{height:2.5rem;padding:0 .75rem}
  .fixtures{display:flex;flex-direction:column;gap:.5rem} .fix{display:grid;grid-template-columns:8rem 1fr auto;align-items:center;gap:1rem;background:var(--g900);border-radius:var(--r-md);padding:.75rem 1rem}
  .fix-meta{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start} .fix-teams{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap} .odds{display:flex;gap:.4rem}
  .odd{display:flex;flex-direction:column;align-items:center;min-width:3.6rem;padding:.4rem .5rem;border-radius:var(--r-sm1);background:var(--g800);color:var(--g300);font-size:var(--t-md);transition:var(--dur)} .odd b{color:#fff;font-size:var(--t-lg)} .odd:hover{background:var(--g700)} .odd.sel{background:var(--neon)} .odd.sel b{color:#fff}
  .faq{display:flex;flex-direction:column;gap:.5rem} .faq-i{background:var(--g900);border-radius:var(--r-md);padding:0 1rem} .faq-i summary{cursor:pointer;padding:1rem 0;font-weight:600;list-style:none;display:flex;justify-content:space-between} .faq-i summary::after{content:"+";color:var(--g400)} .faq-i[open] summary::after{content:"–"} .faq-i p{margin:0 0 1rem}
  .pf-form{display:grid;grid-template-columns:1fr 1fr 6rem auto;gap:.75rem;align-items:end;margin:1rem 0} .pf-form label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--t-md);color:var(--g300)} .pf-form input{height:3rem;background:var(--g800);border:1px solid var(--g700);border-radius:var(--r-sm1);color:#fff;padding:0 .75rem;font-family:inherit;outline:none} .pf-form input:focus{border-color:var(--violet)} .pf-form .btn-primary{margin:0}
  .pf-out{background:var(--g900);border-radius:var(--r-md);padding:1rem;display:flex;flex-direction:column;gap:.5rem;font-size:var(--t-lg)} .pf-out div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;align-items:baseline} .pf-out code{word-break:break-all;color:var(--g100)}
  /* panels */
  .modal--search{width:min(56rem,calc(100vw - 2.5rem));top:6rem;transform:translate(-50%,0) scale(.98)} .modal--search.open{transform:translate(-50%,0) scale(1)} .modal--search .modal-inner{max-height:calc(100vh - 8rem);overflow:auto}
  .search--big{height:3.25rem;font-size:var(--t-xl);margin:.5rem 2.5rem 1rem 0} .search--big input{font-size:var(--t-xl)}
  .modal--drawer{left:auto;right:0;top:0;bottom:0;transform:translateX(100%);width:min(22rem,100vw);height:100%;border-radius:0;display:flex;flex-direction:column;padding-top:var(--h-header)}
  .modal--drawer.open{transform:none} .drawer-head{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--g700)} .drawer-head h3{margin:0;font-family:var(--font-heading);font-size:1.25rem;text-transform:uppercase}
  .online{font-size:var(--t-md);color:var(--success)} .online::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:9999px;background:var(--success);margin-right:.35rem}
  .chat-msgs{flex:1;overflow:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem} .cmsg{font-size:var(--t-lg);line-height:1.4} .cuser{font-weight:700;color:var(--violet);margin-right:.4rem} .cuser[data-vip="Gold"]{color:var(--gold)} .cuser[data-vip="Diamond"]{color:#b388ff} .cuser[data-vip="Silver"]{color:#c0c0c0} .ctime{display:block;font-size:.65rem;color:var(--g500)}
  .chat-guest{padding:1rem 1.25rem;border-top:1px solid var(--g700)} .chat-form{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:1rem 1.25rem;border-top:1px solid var(--g700)} .chat-form .addr-row{margin:0;height:2.75rem} .chat-form .btn-primary{width:auto;height:2.75rem;padding:0 1rem;margin:0} .chat-tip{color:var(--g300);font-weight:600;font-size:var(--t-md)}
  .ta{width:100%;min-height:6rem;background:transparent;border:1px solid var(--g700);border-radius:var(--r-sm1);color:#fff;padding:.75rem 1rem;font-family:inherit;font-size:var(--t-lg);outline:none;resize:vertical;margin-bottom:.75rem} .ta:focus{border-color:var(--violet)}
  .tickets{margin-top:1.25rem} .tickets h4{margin:0 0 .5rem;font-size:var(--t-md);color:var(--g400);text-transform:uppercase;letter-spacing:.08em} .ticket{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem 1rem;align-items:center;padding:.6rem 0;border-top:1px solid var(--g800);font-size:var(--t-lg)} .ticket .sm{grid-column:2}
  body.no-motion *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  @media (max-width:900px){.stats4{grid-template-columns:repeat(2,1fr)} .promo-cols{grid-template-columns:1fr} .promo-side{position:static} .vip-hero{grid-template-columns:1fr} .pf-form{grid-template-columns:1fr 1fr} .fix{grid-template-columns:1fr;gap:.5rem}}
  @media (max-width:560px){.stats3{grid-template-columns:1fr} .ggrid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))} .page-head h1{font-size:1.4rem} .modal--search{top:0;width:100vw;height:100%;border-radius:0} .modal--search .modal-inner{max-height:none;height:100%} .modal--drawer{width:100vw}}

  /* ============================================================
     LIVE BET LOG · BET MODAL · REWARDS
     ============================================================ */
  .live-dot{font-size:var(--t-md);font-weight:700;color:var(--success);display:inline-flex;align-items:center;gap:.35rem;margin-left:.5rem}
  .live-dot::before{content:"";width:.5rem;height:.5rem;border-radius:9999px;background:var(--success);animation:pulse 1.6s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,209,121,.6)}70%{box-shadow:0 0 0 .45rem rgba(61,209,121,0)}100%{box-shadow:0 0 0 0 rgba(61,209,121,0)}}
  .bl-tabs{margin-bottom:.75rem} .bl-tabs .ptab{background:none}
  .bl-tbl .num{text-align:right} .bl-row{cursor:pointer} .bl-row.new td{animation:rowin .6s var(--ease)}
  @keyframes rowin{from{background:rgba(119,23,255,.22);opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:none}}
  .bl-game{font-weight:600} .bl-user.me{color:var(--violet);font-weight:700} .bl-hidden{display:inline-flex;align-items:center;gap:.3rem;color:var(--g400)} .bl-hidden svg{width:.85rem;height:.85rem}
  .race-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}
  .rank{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:9999px;background:var(--g800);font-weight:700;font-size:var(--t-md)}
  .rank.r1{background:var(--gold);color:#1a1200} .rank.r2{background:#c0c0c0;color:#111} .rank.r3{background:#cd7f32;color:#1a0d00}
  .prize-sm{color:var(--gold);font-weight:600} .me-row td{background:var(--highlight)!important}
  .modal--bet{width:min(32rem,calc(100vw - 2.5rem));max-height:calc(100vh - 3rem);overflow:auto}
  .bet-top{display:flex;align-items:center;gap:.75rem;padding-right:2.5rem;flex-wrap:wrap} .bet-top h3{margin:0;font-family:var(--font-heading);font-size:1.6rem;text-transform:uppercase}
  .bet-id{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--t-md);color:var(--g300);background:var(--g800);padding:.3rem .6rem;border-radius:var(--r-sm)} .bet-id b{color:#fff} .bet-id svg{width:.85rem;height:.85rem} .bet-id:hover{background:var(--g700)}
  .bet-by{margin:.4rem 0 1rem}
  .bet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem} .bet-stats div{background:var(--g800);border-radius:var(--r-sm1);padding:.75rem;display:flex;flex-direction:column;gap:.25rem} .bet-stats b{font-size:var(--t-xl)}
  .bet-detail{margin:.75rem 0 0;padding:.75rem;border-radius:var(--r-sm1);border:1px dashed var(--g600);color:var(--g200);font-size:var(--t-lg);text-align:center}
  .bet-h{margin:1.25rem 0 .5rem;font-size:var(--t-md);color:var(--g400);text-transform:uppercase;letter-spacing:.08em}
  .seed{margin-bottom:.5rem} .seed .addr-row{margin:.25rem 0 0;height:2.6rem} .seed .addr-row input{font-family:ui-monospace,Menlo,monospace;font-size:var(--t-md)} .seed-hid{padding-left:.25rem}
  .seed-2{display:grid;grid-template-columns:1fr 7rem;gap:.5rem} .modal--bet .btn-ghost.full{margin-top:.5rem}
  .share-row{display:flex;gap:.5rem;flex-wrap:wrap} .share-row .pill svg{width:1rem;height:1rem}
  .bet-play{display:flex;align-items:center;justify-content:center;margin-top:1.25rem}
  .bet-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--highlight);color:var(--violet);padding:.1rem .5rem;border-radius:var(--r-sm);font-weight:600}
  .rw{margin-bottom:1.75rem} .rw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
  .rwc{background:var(--g900);border-radius:var(--r-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem;border:1px solid transparent} .rwc.ready{border-color:var(--neon);box-shadow:0 0 1.5rem -.75rem var(--neon)}
  .rwc h4{margin:0;font-size:var(--t-xl)} .rwc p{margin:.2rem 0 0} .rw-amt{font-family:var(--font-heading);font-size:1.75rem;color:var(--success)} .rwc .btn-primary,.rwc .btn-ghost{margin-top:auto} .rwc .btn-ghost:disabled{opacity:.55;cursor:default}
  .rw-lvl{background:var(--g900);border-radius:var(--r-md);padding:1rem;margin-top:.75rem} .rw-lvl h4{margin:0 0 .75rem}
  .rw-lvl-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem} .lvl{background:var(--g800);border-radius:var(--r-sm1);padding:.75rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center} .lvl em{font-style:normal;font-size:var(--t-md);color:var(--g400)} .lvl.done em{color:var(--success)} .lvl.ready{box-shadow:inset 0 0 0 1px var(--neon)} .lvl .pill{height:2rem}
  @media (max-width:900px){.rw-grid{grid-template-columns:repeat(2,1fr)} .rw-lvl-row{grid-template-columns:repeat(3,1fr)}}
  @media (max-width:560px){.bl-tbl .c-user,.bl-tbl .c-time{display:none} .bl-tbl td,.bl-tbl th{padding:.6rem .5rem} .bet-stats{grid-template-columns:1fr 1fr 1fr} .seed-2{grid-template-columns:1fr}}
  .seed .copy-btn,.reflink .copy-btn{width:auto;flex:0 0 auto;display:grid;place-items:center}
  .bet-stats b{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap} .bet-stats .coin-dot.sm{margin-right:0}

  /* ============================================================
     PROVIDERS (logo tiles — panel drawn here, logo is white-on-transparent)
     ============================================================ */
  .prov-card{flex:0 0 auto;width:10.5rem;height:6.25rem;border-radius:var(--r-md);background:var(--g900);display:grid;place-items:center;padding:1rem 1.1rem;border:1px solid transparent;transition:background var(--dur),border-color var(--dur),transform var(--dur);scroll-snap-align:start}
  .prov-card:hover{background:var(--g800);border-color:var(--g600);transform:translateY(-.15rem)}
  .prov-card img{max-width:100%;max-height:3.1rem;width:auto;height:auto;object-fit:contain;display:block;user-select:none;opacity:.92;transition:opacity var(--dur)}
  .prov-card:hover img{opacity:1}
  .provgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem}
  .prov-card--grid{width:auto;height:7.5rem;grid-template-rows:1fr auto;gap:.4rem}
  .prov-card--grid .pcard-n{font-weight:700;font-size:var(--t-xl);text-align:center}
  .prov-count{font-size:var(--t-md);color:var(--g400)}
  .prov-hero{height:7rem;border-radius:var(--r-md);background:var(--g900);display:grid;place-items:center;margin:-.25rem 0 1.25rem}
  .prov-hero img{max-height:3.5rem;max-width:60%}
  @media (max-width:560px){.prov-card{width:8.5rem;height:5.25rem;padding:.75rem} .prov-card img{max-height:2.5rem}}

  /* ============================================================
     SHUFFLE-STYLE BET LIST + BET MODAL
     ============================================================ */
  .seg{display:flex;gap:.25rem;background:var(--g900);border-radius:var(--r-md);padding:.3rem;margin-bottom:.75rem;overflow-x:auto;scrollbar-width:none}
  .seg-b{flex:1 0 auto;padding:.6rem .9rem;border-radius:var(--r-sm1);color:var(--g300);font-weight:600;white-space:nowrap;transition:var(--dur)}
  .seg-b:hover{color:#fff} .seg-b.active{background:var(--g800);color:#fff}
  .gcell{display:inline-flex;align-items:center;gap:.6rem;min-width:0} .gname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .gthumb{width:1.5rem;height:1.5rem;border-radius:.3rem;object-fit:cover;flex:0 0 auto;display:inline-grid;place-items:center}
  .gthumb--ph{background:var(--g700);font-size:.7rem;font-weight:700}
  .paycell{display:inline-flex;align-items:center;gap:.4rem;justify-content:flex-end} .paycell .coin-dot.sm{margin:0}
  .bl-tbl tbody tr:nth-child(odd) td{background:rgba(255,255,255,.025)}
  .bl-user{display:inline-flex;align-items:center;gap:.35rem} .gem{width:.95rem;height:.95rem;flex:0 0 auto}
  .incog{width:1rem;height:1rem;flex:0 0 auto}
  .mono-id{font-family:ui-monospace,Menlo,monospace}

  .modal--bet{width:min(34rem,calc(100vw - 2.5rem))}
  .modal--bet .modal-inner{padding:1.5rem 1.75rem 1.75rem}
  .bm-head{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:0 2.25rem;min-width:0}
  .bm-head .gthumb{width:2rem;height:2rem;border-radius:.45rem}
  .bm-title{margin:0;font-size:1.35rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .bm-code{display:inline-flex;align-items:center;gap:.4rem;color:var(--g400);font-size:1.35rem;font-weight:500;flex:0 0 auto}
  .bm-code svg{width:1.05rem;height:1.05rem} .bm-code:hover{color:#fff}
  .bm-by{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:1rem 0 1.25rem;font-size:var(--t-lg)}
  .muted-w{color:#fff}
  .bm-chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--g800);color:var(--g300);padding:.45rem .8rem;border-radius:var(--r-sm1);font-weight:500}
  .bm-chip .incog,.bm-chip .gem{width:1.1rem;height:1.1rem}
  .bm-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem} .bm-brand i{flex:1;height:1px;background:var(--g700)}
  .bm-pill{display:inline-flex;align-items:center;border:1.5px solid var(--g600);border-radius:9999px;padding:.45rem 1.1rem;background:var(--g900)}
  .bm-pill img{height:.95rem;width:auto;display:block}
  .bm-card{background:var(--g800);border-radius:var(--r-md);padding:.25rem 1.5rem}
  .bm-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--g700);font-size:var(--t-xl)}
  .bm-row:last-child{border-bottom:none} .bm-row>span{color:var(--g300)}
  .bm-row b{display:inline-flex;align-items:center;gap:.55rem;font-weight:600} .bm-row b.dim{color:var(--g300)}
  .bm-row .coin-dot.sm{width:1.35rem;height:1.35rem;font-size:.75rem;margin:0}
  .bm-ic svg{width:1.25rem;height:1.25rem;display:block;color:var(--g300)}
  .bm-play{display:flex;align-items:center;justify-content:center;gap:.5rem;height:3.25rem;margin-top:1.25rem;font-size:var(--t-xl)}
  .bm-play svg{width:1.2rem;height:1.2rem}
  .bm-share{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem} .bm-share .pill{height:2.25rem;font-size:var(--t-md)} .bm-share .pill svg{width:.95rem;height:.95rem}
  .bm-fair{margin-top:1rem;border-top:1px solid var(--g700);padding-top:.75rem} .bm-fair summary{cursor:pointer;color:var(--g300);font-weight:600;padding:.25rem 0;list-style:none;display:flex;justify-content:space-between}
  .bm-fair summary::after{content:"+";color:var(--g400)} .bm-fair[open] summary::after{content:"–"} .bm-fair[open] summary{margin-bottom:.5rem}
  .bm-note{text-align:center;margin:1rem 0 0}
  /* keno board */
  .kboard{display:grid;grid-template-columns:repeat(8,1fr);gap:.5rem;border:1px solid var(--g700);border-radius:var(--r-md);padding:1.25rem;margin-top:1.25rem}
  .kt{position:relative;aspect-ratio:1;border-radius:.55rem;background:var(--g800);display:grid;place-items:center;font-family:var(--font-heading);font-size:1.05rem;color:#fff}
  .kt b{position:relative;font-weight:600}
  .kt.pick{background:var(--neon)}
  .kt.miss{background:#08080a;box-shadow:inset 0 0 0 1.5px var(--g700);color:#ff4d5e}
  .kt.hit{background:#0b140d;box-shadow:inset 0 0 0 2px #39e35c,0 0 .7rem rgba(57,227,92,.45)}
  .kt.hit .kgem{position:absolute;inset:12%;width:76%;height:76%} .kt.hit b{color:#0c2a12;text-shadow:0 1px 0 rgba(255,255,255,.35)}
  .kfield{height:3rem;border:1px solid var(--g700);border-radius:var(--r-sm1);display:flex;align-items:center;padding:0 1.1rem;font-size:var(--t-xl)}
  /* dice bar */
  .dbar{margin-top:1.25rem} .dtrack{position:relative;height:.7rem;border-radius:9999px;overflow:visible;display:flex;margin:2.25rem .25rem .4rem}
  .dtrack i.lose{background:#ff4d5e;border-radius:9999px 0 0 9999px} .dtrack i.win{background:var(--success);border-radius:0 9999px 9999px 0}
  .dmark{position:absolute;top:-2.1rem;transform:translateX(-50%);padding:.25rem .5rem;border-radius:var(--r-sm);font-weight:700;font-size:var(--t-md);background:var(--g700)}
  .dmark.w{color:var(--success)} .dmark.l{color:#ff4d5e} .dmark::after{content:"";position:absolute;left:50%;bottom:-.3rem;margin-left:-.3rem;border:.3rem solid transparent;border-bottom:0;border-top-color:var(--g700)}
  .dscale{display:flex;justify-content:space-between;font-size:var(--t-md);color:var(--g400);padding:0 .1rem} .dtarget{justify-content:space-between;margin-top:1rem}
  @media (max-width:560px){
    .modal--bet{width:100%;max-height:88vh}
    .modal--bet .modal-inner{padding:1.1rem 1.1rem 1.5rem}
    .bm-title,.bm-code{font-size:1.15rem} .bm-head{padding:0 2rem}
    .kboard{gap:.35rem;padding:.9rem} .kt{font-size:.95rem;border-radius:.45rem}
    .bl-tbl .c-bet,.bl-tbl .c-mult{display:none}
  }

  /* Coin icons: real SVG logos (see COIN_ICON_SVG in data.js) — no glyph fallback, no tinted background */
  .coin-dot{background:none!important;color:inherit;overflow:visible}
  .coin-dot .coin-svg{width:100%;height:100%;display:block}

/* ===================== VIP Program (Shuffle layout) ===================== */
.page--vip2{max-width:62rem}.page--vip2>section{margin-bottom:2.5rem}
.vip-h2{display:flex;align-items:center;gap:.7rem;font-size:1.6rem;font-weight:800;margin:0 0 1rem;letter-spacing:-.01em}
.vip-h2-ic{color:var(--violet);display:grid}.vip-h2-ic svg{width:1.7rem;height:1.7rem}
.rw-count{background:var(--violet);color:#fff;font-size:.95rem;min-width:1.75rem;height:1.75rem;padding:0 .45rem;border-radius:.4rem;display:grid;place-items:center}
.rank-ico{width:1.15rem;height:1.15rem;flex:none}.rank-ico.lg{width:1.6rem;height:1.6rem}
/* header card */
.vip-card{background:var(--panel,#121418);border-radius:1rem;padding:1.5rem 1.6rem}
.vip-id{display:flex;align-items:center;gap:1.1rem}
.vip-av{width:4rem;height:4rem;border-radius:50%;background:#2a2e38;display:grid;place-items:center;color:#fff}.vip-av svg{width:2.2rem;height:2.2rem}
.vip-name{display:block;font-size:1.25rem;font-weight:800;margin-bottom:.35rem}
.lvl-chip{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}
.vip-prog2{margin:1.5rem 0 1.25rem}.vp-top{display:flex;justify-content:space-between;font-size:1.05rem;margin-bottom:.8rem}
.vp-bar{height:.55rem;border-radius:1rem;background:#2a2e38;overflow:hidden}.vp-bar i{display:block;height:100%;background:#3dd179;border-radius:inherit;transition:width .6s}
.vp-ends{display:flex;justify-content:space-between;margin-top:.8rem}
.vip-blurb{color:#e6e8ee;line-height:1.6;margin:0}
/* reward cards */
.rw2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
@media(min-width:900px){.rw2-grid{grid-template-columns:repeat(3,1fr)}}
.rwc2{background:#121418;border:1px solid #2a2e38;border-radius:1rem;padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center}
.rwc2 header{align-self:stretch;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;font-weight:500}
.rw-gift svg{width:1.45rem;height:1.45rem;display:block}
.rw-art{width:5.2rem;height:4.7rem;margin:1rem 0 .6rem}
.rwc2 h4{margin:0 0 1.1rem;font-size:1.15rem;font-weight:700}
.rw-btn{width:100%;height:3rem;border-radius:.5rem;font:inherit;font-size:1.05rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1.5px solid transparent;cursor:pointer}
.rw-btn--go{background:var(--neon);color:#fff}.rw-btn--go:hover{background:#690cec}.rw-btn--go:active{background:#5f12cc}
.rw-btn--grey{background:#9ca3af;color:#eef0f4;cursor:not-allowed}
.rw-btn--wait{background:transparent;border-color:#6b7280;color:#b8bec9;cursor:default;font-variant-numeric:tabular-nums}
.rw-btn--bright{border-color:#fff;color:#fff}
.rw-btn--lock{background:transparent;border-color:#2a2e38;color:#6b7280;font-size:.9rem;cursor:not-allowed}.rw-btn--lock .lk{width:1rem;height:1rem}
.rwc2.locked .rw-art,.rwc2.locked h4{opacity:.4;filter:grayscale(.7)}.rwc2.locked header{color:#6b7280}
.rwc2.ready{border-color:#3a2a66;box-shadow:0 0 0 1px rgba(119,23,255,.25) inset}
@media(max-width:520px){.rwc2{padding:.9rem .9rem 1rem}.rw-btn{height:2.7rem;font-size:.95rem}.rwc2 h4{font-size:1rem}.rwc2 header{font-size:.82rem}}
/* level accordions */
.vl{border:1px solid #2a2e38;border-radius:1rem;padding:0 1.4rem;margin-bottom:.9rem}
.vl summary{list-style:none;display:flex;align-items:center;gap:.8rem;padding:1.3rem 0;cursor:pointer}.vl summary::-webkit-details-marker{display:none}
.vl-name{color:var(--violet);font-weight:800;font-size:1.15rem}.grow{flex:1}
.vl-lock{color:#3a3f4b}.vl-lock.on{color:#6b7280}.vl-lock .lk{width:1.35rem;height:1.35rem;display:block}
.vl-chev{width:.7rem;height:.7rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-135deg);margin:0 .4rem 0 1.2rem;transition:transform .2s}
.vl:not([open]) .vl-chev{transform:rotate(45deg) translateY(-3px)}
.vl-tbl{width:100%;border-collapse:separate;border-spacing:0;margin:0 0 1.2rem}
.vl-tbl th{text-align:left;font-weight:500;color:#8a90a0;font-size:.9rem;padding:.3rem .9rem .9rem;border-bottom:1px solid #2a2e38}
.vl-tbl td{padding:.95rem .9rem;font-weight:600;font-variant-numeric:tabular-nums}.vl-tbl td:first-child{width:52%}.vl-lv{display:flex;align-items:center;gap:.8rem;white-space:nowrap}
.vl-tbl tbody tr:nth-child(even) td{background:#121418}.vl-tbl tbody tr:nth-child(even) td:first-child{border-radius:.6rem 0 0 .6rem}.vl-tbl tbody tr:nth-child(even) td:last-child{border-radius:0 .6rem .6rem 0}
.vl-tbl tr.me td{background:rgba(119,23,255,.14)!important}
.you{margin-left:.4rem;font-size:.7rem;font-weight:700;background:var(--violet);color:#fff;padding:.1rem .45rem;border-radius:.3rem}
/* benefits matrix — scrolls sideways, first column pinned */
.vb-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.vb{border-collapse:separate;border-spacing:0;min-width:100%;white-space:nowrap}
.vb th{font-weight:500;color:#8a90a0;font-size:.9rem;padding:.4rem 1.4rem .9rem;border-bottom:1px solid #2a2e38;text-align:center}
.vb td{padding:1.15rem 1.4rem;text-align:center;font-weight:600}
.vb th:first-child,.vb td:first-child{text-align:left;position:sticky;left:0;background:#080808;z-index:1;min-width:13rem}
.vb tbody tr:nth-child(even) td{background:#121418}
.vb-ok svg{width:1.5rem;height:1.5rem;display:inline-block;vertical-align:middle}
.vl-tbl tr.me td:first-child{border-radius:.6rem 0 0 .6rem}.vl-tbl tr.me td:last-child{border-radius:0 .6rem .6rem 0}

/* ===================== Profile menu (header avatar dropdown) ===================== */
.pm-wrap{position:relative;margin-left:.25rem}
.pm-btn{position:relative;border-radius:50%!important;background:#2a2e38!important;width:2.75rem;height:2.75rem}
.pm-dot{position:absolute;top:.35rem;right:.35rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--neon);box-shadow:0 0 0 2px #080808}
.pm-pop{position:absolute;right:0;top:calc(100% + .6rem);width:20rem;background:#121418;border:1px solid #2a2e38;border-radius:.9rem;padding:.9rem;z-index:60;
  box-shadow:0 18px 40px rgba(0,0,0,.55);opacity:0;transform:translateY(-6px);transition:opacity .16s,transform .16s;max-height:calc(100dvh - 6rem);overflow:auto}
.pm-pop.open{opacity:1;transform:none}
@media(max-width:640px){.pm-pop{position:fixed;right:.75rem;top:calc(var(--hdr,4.75rem) - .25rem);width:min(20rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 4.75rem - 3.6875rem - 1rem)}}
@media (prefers-reduced-motion:reduce){.pm-pop{transition:none}}
.pm-card{display:block;background:#1b1e24;border-radius:.65rem;padding:1rem 1.1rem;color:inherit;text-decoration:none}
.pm-card:hover{background:#20242b}
.pm-id{display:flex;align-items:center;gap:.8rem;padding-bottom:.9rem;border-bottom:1px solid #2a2e38}
.pm-id b{font-size:1.15rem;font-weight:700}
.pm-av{width:3rem;height:3rem;border-radius:50%;background:#2a2e38;display:grid;place-items:center}.pm-av svg{width:1.7rem;height:1.7rem}
.pm-vip{display:block;padding-top:.9rem}
.pm-lvl{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}
.pm-vip .vp-bar{margin:.7rem 0 .6rem;height:.45rem}
.pm-foot{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#c9cdd6}
.pm-list{display:flex;flex-direction:column;padding-top:.6rem}
.pm-i{display:flex;align-items:center;gap:.85rem;padding:.8rem .7rem;border-radius:.55rem;color:#fff;font:inherit;font-size:1rem;text-decoration:none;background:none;border:0;cursor:pointer;text-align:left}
.pm-i:hover,.pm-i:focus-visible{background:#1b1e24;outline:none}
.pm-i .ai{width:1.35rem;height:1.35rem;flex:none;color:#c9cdd6}
.pm-badge{margin-left:auto;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:.35rem;background:var(--violet);font-size:.75rem;font-weight:700;display:grid;place-items:center}
.pm-out{margin-top:.35rem;border-top:1px solid #2a2e38;border-radius:0 0 .55rem .55rem;color:#c9cdd6}

/* ===================== Segmented tabs (Shuffle style) ===================== */
.seg{display:flex;gap:.25rem;background:#1b1e24;border-radius:.6rem;padding:.3rem;margin-bottom:1.25rem}
.seg--scroll{overflow-x:auto;scrollbar-width:none}.seg--scroll::-webkit-scrollbar{display:none}
.seg--full .seg-i{flex:1}
.seg-i{flex:none;padding:.65rem 1.1rem;border-radius:.45rem;color:#b8bec9;font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap;background:none;border:0;font-family:inherit;cursor:pointer;text-align:center}
.seg-i:hover{color:#fff}.seg-i.on{background:#2a2e38;color:#fff}

/* ===================== Vault ===================== */
.vault-title{display:flex;align-items:center;gap:.55rem;justify-content:flex-start}.vault-title svg{width:1.5rem;height:1.5rem;color:var(--violet)}
.vault-desc{margin:-.2rem 0 1rem}
.vault-coins{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:.9rem}
.vc{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .4rem;border-radius:.5rem;background:#202329;border:1.5px solid transparent;color:#fff;font:inherit;font-weight:600;font-size:.88rem;cursor:pointer}
.vc.on{border-color:var(--violet);background:#241c3d}
.vault-bals{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem}
.vault-bals div{background:#1b1e24;border-radius:.5rem;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.vault-bals b{font-size:.98rem}
.vault-amt{align-items:center;gap:.5rem;padding-left:.75rem}.vault-amt input{flex:1}
.vault-usd{margin:.45rem 0 1rem}
.vault-total{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid #2a2e38}

/* ===================== Notifications ===================== */
.link-btn{margin-left:auto;background:none;border:0;color:var(--violet);font:inherit;font-weight:600;cursor:pointer}
.notif-list{overflow:auto;flex:1;padding:.25rem .75rem 1rem}
.nf{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem .7rem;border-radius:.6rem;color:inherit;text-decoration:none;position:relative}
.nf:hover{background:#1b1e24}.nf.unread{background:#15171d}
.nf-ic{width:2.4rem;height:2.4rem;flex:none;border-radius:.6rem;display:grid;place-items:center;background:#202329;color:#c9cdd6}.nf-ic .ai{width:1.25rem;height:1.25rem}
.nf-deposit{color:#3dd179}.nf-reward{color:#ffc634}.nf-promo{color:var(--violet)}.nf-affiliate{color:#6fe3ff}.nf-security{color:#ff774a}.nf-vault{color:#b8a5ff}
.nf-tx{display:flex;flex-direction:column;gap:.15rem;min-width:0;font-size:.9rem}.nf-tx span{color:#b8bec9}.nf-tx em{font-style:normal;color:#6b7280;font-size:.78rem}
.nf-dot{position:absolute;right:.8rem;top:1.1rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--neon)}

/* ===================== Affiliate program ===================== */
.page--aff{max-width:58rem}
.page--aff .page-head h1{font-size:1.5rem}
.aff-hero{text-align:center}
.aff-hero-art{width:min(100%,26rem);height:auto;display:block;margin:0 auto -.5rem}
.aff-h,.aff-h2{font-family:'Oswald','Manrope',sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.01em;line-height:1;margin:0 0 .9rem}
.aff-h{font-size:clamp(2.4rem,9vw,3.4rem)}.aff-h span{color:var(--violet)}
.aff-h2{font-size:clamp(1.8rem,6vw,2.3rem);text-align:center;margin-bottom:1.4rem}
.aff-lede{color:#c9cdd6;line-height:1.55;max-width:38rem;margin:0 auto 1.4rem;font-size:1.02rem}
.link-w{color:#fff;text-decoration:none}.link-w:hover{text-decoration:underline}
.aff-link{display:flex;gap:1rem;margin-bottom:1.25rem}
.aff-link input{flex:1;min-width:0;background:#202329;border:0;border-radius:.5rem;color:#fff;font:inherit;padding:0 1rem;height:3.1rem}
.aff-link .btn-primary{padding:0 1.25rem;height:3.1rem}
.aff-link.sm input,.aff-link.sm .btn-primary{height:2.6rem;font-size:.9rem}
.aff-stats{display:grid;gap:1rem;text-align:left}@media(min-width:720px){.aff-stats{grid-template-columns:repeat(3,1fr)}}
.aff-stat{background:#121418;border:1px solid #2a2e38;border-radius:.7rem;padding:1.1rem 1.25rem 1.1rem 2.2rem;position:relative;display:flex;flex-direction:column;gap:.25rem}
.aff-stat::before{content:'';position:absolute;left:1.25rem;top:1.1rem;bottom:1.1rem;width:3px;border-radius:2px;background:var(--violet)}
.aff-stat span{color:#b8bec9}.aff-stat b{font-size:1.2rem}
.sdiv{display:flex;align-items:center;gap:1rem;margin:2.5rem 0;color:#2f333d}.sdiv i{flex:1;border-top:2px dashed #2a2e38}.sdiv svg{width:1.8rem;height:1.8rem}
.comm-art{position:relative;border-radius:.8rem;overflow:hidden;height:15rem;margin:0 0 1.6rem 1.5rem}
.comm-art>svg{position:absolute;inset:0;width:100%;height:100%}
.comm-card{position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:1rem;background:#0c0d10;border:1.5px solid #3dd179;border-radius:.6rem;padding:1rem 1.25rem;margin-left:1.5rem}
.comm-card span{display:block;color:#b8bec9}.comm-card b{font-size:2.7rem;color:#3dd179;line-height:1}.comm-card svg{width:3.6rem;height:3.6rem}
.aff-steps{list-style:none;padding:0;margin:0 0 1.4rem;display:flex;flex-direction:column;gap:1.25rem}
.aff-steps b{font-size:1.1rem}.aff-steps em{font-style:normal;color:#3dd179}.aff-steps p{margin:.35rem 0 0;color:#c9cdd6;line-height:1.55}
.btn-green{display:inline-flex;align-items:center;height:2.9rem;padding:0 1.3rem;border-radius:.5rem;background:#3dd179;color:#07130c;font-weight:700;text-decoration:none}
.btn-green:hover{background:#34be6c}
.aff-p{text-align:center;color:#c9cdd6;max-width:36rem;margin:0 auto 1.2rem;line-height:1.55}
.formula{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0 0 1.4rem}
.formula span{background:#1b1e24;border:1px solid #2a2e38;border-radius:.45rem;padding:.45rem .8rem;font-weight:700}.formula i{font-style:normal;color:var(--violet);font-weight:800}
.pos{color:#3dd179}
.info-grid{display:grid;gap:.9rem}@media(min-width:720px){.info-grid{grid-template-columns:1fr 1fr}}
.info-c{background:#121418;border:1px solid #2a2e38;border-radius:.7rem;padding:1.1rem 1.2rem}.info-c p{margin:.35rem 0 0;color:#b8bec9;line-height:1.5}
.faq{border:1px solid #2a2e38;border-radius:.7rem;margin-bottom:.8rem}
.faq summary{list-style:none;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:1.05rem 1.2rem;font-weight:700;cursor:pointer}.faq summary::-webkit-details-marker{display:none}
.faq-chev{width:1.2rem;height:1.2rem;flex:none;transition:transform .2s}.faq[open] .faq-chev{transform:rotate(180deg)}
.faq p{margin:0;padding:0 1.2rem 1.1rem;color:#c9cdd6;line-height:1.55}
.camp-new{background:#121418;border:1px solid #2a2e38;border-radius:.8rem;padding:1.1rem 1.2rem;margin-bottom:1.2rem}.camp-new h3{margin:0 0 .6rem}
.camp-form{display:grid;gap:.75rem;align-items:end}@media(min-width:720px){.camp-form{grid-template-columns:1fr 1fr auto}}
.camp-form .btn-primary{height:2.9rem}
.camp-list{display:grid;gap:.9rem}
.camp{background:#121418;border:1px solid #2a2e38;border-radius:.8rem;padding:1rem 1.2rem}
.camp header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.7rem;flex-wrap:wrap}
.camp .aff-link{margin-bottom:.8rem}
.camp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.camp-stats span{display:flex;flex-direction:column;font-weight:700}.camp-stats em{font-style:normal;font-weight:500;color:#8a90a0;font-size:.82rem}
.earn-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#121418;border:1px solid #2a2e38;border-radius:.8rem;padding:1.2rem 1.3rem;margin-bottom:1.5rem}
.earn-card>div{display:flex;flex-direction:column;gap:.2rem}.earn-card b{font-size:1.8rem;color:#3dd179}
.h3{font-size:1.1rem;margin:0 0 .8rem}

/* ===================== Transactions ===================== */
.tx-head{display:flex;align-items:center;justify-content:space-between;margin:.25rem 0 1.1rem}
.page-title{font-size:1.75rem;font-weight:800;margin:0}
.tx-filter{background:#1b1e24!important;border-radius:.55rem!important;width:2.8rem;height:2.8rem}.tx-filter.on{color:var(--violet)}
.tx-filter .ai{width:1.3rem;height:1.3rem}
.tx-filters{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}.tx-filters .pill{display:inline-flex;align-items:center;gap:.35rem}
.tx-tbl th{white-space:nowrap}.tx-tbl td{white-space:nowrap}
.tx-amt{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}
.tx-pend{display:inline-flex;align-items:center;gap:.5rem;color:#ffc634;font-weight:600}
.tx-id{display:inline-flex;align-items:center;gap:.45rem}.tx-id a{color:#fff;text-decoration:underline;text-underline-offset:2px;font-weight:600}
.tx-copy{background:none;border:0;padding:0;color:#c9cdd6;cursor:pointer;display:grid}.tx-copy .ai{width:1.15rem;height:1.15rem}.tx-copy:hover{color:#fff}
.tx-ev{display:flex;flex-direction:column}.tx-ev em{font-style:normal;color:#8a90a0;font-size:.8rem}
.show-more{display:flex;align-items:center;gap:.4rem;margin:1.2rem auto 0;background:none;border:0;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.show-more .sm-chev{width:1rem;height:1rem}
.pm-vip .vp-bar{display:block}
.aff-link input{flex:1 1 auto}.aff-link .btn-primary{flex:none;width:auto;min-width:5.5rem}

/* ===================== Playable originals (games.js) =====================
   The game box always fits the viewport: header (wallet) + board + Bet button, no scrolling.
   .og-stage is a CSS size container, so tiles/cards/numbers scale to whatever height is left. */
.og{--og-h:calc(100dvh - var(--h-header) - 8.25rem);display:grid;grid-template-columns:20rem 1fr;background:#121418;border-radius:1rem;overflow:hidden;
  height:clamp(30rem,var(--og-h),46rem)}
.og-panel{order:-1;background:#1b1e24;padding:1rem;display:flex;flex-direction:column;gap:.85rem;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.og-stage{position:relative;padding:1.25rem;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0;container-type:size;overflow:hidden}
@media(max-width:900px){
  .page--game .crumbs,.page--game .page-head{display:none}
  .og{--og-h:max(27rem,calc(100dvh - var(--h-header) - 3.6875rem - 1.5rem));display:flex;flex-direction:column;height:var(--og-h);border-radius:.75rem}
  .og-stage{flex:1 1 0;padding:.75rem .6rem}
  .og-panel{order:1;flex:0 1 auto;padding:.75rem;gap:.6rem;max-height:min(calc(var(--og-h) * .44),19rem)}
  .og-panel .bj-acts{order:-3}.og-panel .og-bet{order:-2}.og-panel .og-amtf{order:-1}   /* Bet first, then amount — rest scrolls */
  .og-bet{height:2.9rem;flex:none}
  .og-panel .bj-acts{grid-template-columns:repeat(4,1fr);gap:.4rem}
  .og-panel .bj-acts .og-ghost{height:3rem;flex-direction:column;gap:.1rem;padding:0 .2rem;font-size:.74rem}
}
@media(max-width:900px){.og-foot .sm{display:none}}
@media(max-width:900px) and (max-height:720px){.og-panel{max-height:min(calc(var(--og-h) * .34),19rem)}}
.og-mode{margin:0}
.og-f{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:none}
.og-l{font-size:.82rem;color:#b8bec9;font-weight:600;display:flex;justify-content:space-between;gap:.5rem}.og-l em{font-style:normal;color:#8a90a0;display:inline-flex;align-items:center;gap:.3rem}
.og-l em .coin-svg{width:.85rem;height:.85rem}
.og-in{display:flex;align-items:center;background:#080808;border:1.5px solid #2a2e38;border-radius:.5rem;height:2.75rem;padding:0 .3rem 0 .75rem;gap:.35rem}
.og-in:focus-within{border-color:var(--violet)}
.og-in input{flex:1;min-width:0;background:none;border:0;color:#fff;font:inherit;font-weight:700;font-size:.98rem;outline:none}
.og-in input:disabled{opacity:.6}
.og-cur,.og-suf{color:#8a90a0;font-weight:700}
.og-x{height:2.1rem;min-width:2.3rem;border-radius:.35rem;background:#2a2e38;border:0;color:#fff;font:inherit;font-weight:700;cursor:pointer}.og-x:hover{background:#353a46}.og-x:disabled{opacity:.5;cursor:default}
.og-ro{background:#16181d}.og-ro code{font-size:.72rem;color:#c9cdd6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.og-sel{height:2.75rem;background:#080808;border:1.5px solid #2a2e38;border-radius:.5rem;color:#fff;font:inherit;font-weight:700;padding:0 .7rem}
.og-2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;flex:none}
.og-ghost{height:2.6rem;border-radius:.5rem;background:#2a2e38;border:0;color:#fff;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:0 .8rem;transition:background .12s,transform .08s}
.og-ghost:hover:not(:disabled){background:#353a46}.og-ghost:active:not(:disabled){transform:translateY(1px)}.og-ghost:disabled{opacity:.4;cursor:default}.og-ghost.full{width:100%}.og-ghost svg{width:1.05rem;height:1.05rem}
.og-bet{height:3.1rem;border-radius:.55rem;background:var(--neon);color:#fff;border:0;font:inherit;font-weight:800;font-size:1.05rem;cursor:pointer;display:grid;place-items:center;text-decoration:none;flex:none;transition:background .12s,transform .08s}
.og-bet:hover:not(:disabled){background:#690cec}.og-bet:active:not(:disabled){background:#5f12cc;transform:translateY(1px)}.og-bet:disabled{opacity:.55;cursor:default}.og-bet.stop{background:#ff774a}
.og-auto{display:flex;flex-direction:column;gap:.85rem}
.og-onx{display:flex;gap:.4rem}.og-mini{margin:0;padding:.2rem;flex:none}.og-mini .seg-i{padding:.45rem .6rem;font-size:.8rem}.og-pct{flex:1;height:2.5rem}
.og-foot{display:flex;align-items:center;gap:.6rem;margin-top:auto;padding-top:.2rem;flex:none}
.og-snd{width:2.2rem;height:2.2rem;border-radius:.45rem;background:#2a2e38;border:0;color:#c9cdd6;display:grid;place-items:center;cursor:pointer}
.og-snd:hover{background:#353a46;color:#fff}.og-snd svg{width:1.15rem;height:1.15rem}.og-snd[aria-pressed="false"]{color:#6b7280}
.og-result{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);background:#1b1e24;border:2px solid #3dd179;border-radius:.8rem;padding:.8rem 1.6rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;
  box-shadow:0 12px 30px rgba(0,0,0,.5);animation:ogPop .32s cubic-bezier(.3,1.5,.5,1);pointer-events:none;z-index:4}
.og-result b{font-size:clamp(1.4rem,9cqh,2rem);color:#3dd179}.og-result span{color:#c9cdd6;font-weight:600}.og-result.lose{border-color:#2a2e38}.og-result.lose b{color:#c9cdd6}
@keyframes ogPop{from{transform:translate(-50%,-50%) scale(.6);opacity:0}}
.og-fair{margin-top:1rem;background:#121418;border:1px solid #2a2e38;border-radius:.8rem}
.og-fair summary{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.1rem;cursor:pointer;font-weight:700;list-style:none}.og-fair summary::-webkit-details-marker{display:none}
.og-fair summary svg{width:1.1rem;height:1.1rem;color:var(--violet)}
.og-fair-b{padding:0 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.8rem}
.og-revealed{display:flex;flex-direction:column;gap:.35rem;background:#16181d;border-radius:.5rem;padding:.8rem}.og-revealed code{font-size:.72rem;word-break:break-all;color:#3dd179}

/* Keno — grid width is capped by the stage's height (8×5 grid ≈ 1.6:1), so all 40 tiles + paytable fit */
.kn-wrap{--kn-pay:7.4rem;width:min(100%,40rem,calc((100cqh - var(--kn-pay)) * 1.6));margin:0 auto}
.kn-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:clamp(.25rem,1.4cqw,.55rem)}
.kn-t{position:relative;aspect-ratio:1;border-radius:.45rem;background:#2a2e38;border:0;color:#fff;font:inherit;font-weight:800;font-size:clamp(.72rem,2.6cqw,1rem);cursor:pointer;
  display:grid;place-items:center;box-shadow:0 4px 0 #1b1e24;transition:background .12s,transform .08s;padding:0}
.kn-t:hover{background:#353a46}.kn-t:active{transform:translateY(2px);box-shadow:0 2px 0 #1b1e24}
.kn-t.pick{background:var(--neon);box-shadow:0 4px 0 #4f0fb0}.kn-t.pick:hover{background:#8a33ff}
.kn-t.miss{background:#16181d;color:#ff4d6a;box-shadow:none}
.kn-t.hit{background:#1c3a2a;box-shadow:0 4px 0 #0e2418}
.kn-t.hit .kgem{position:absolute;width:78%;height:78%}.kn-t.hit b{position:relative;color:#0b1f12;font-size:.9em}
.kn-t.anim{animation:knTap .16s ease-out}
.kn-t.pick.anim{animation:knPick .22s cubic-bezier(.3,1.6,.5,1)}
.kn-t.miss.anim{animation:knMiss .22s ease-out}
.kn-t.hit.anim{animation:knHit .34s cubic-bezier(.3,1.7,.5,1)}.kn-t.hit.anim .kgem{animation:knGem .5s ease-out}
@keyframes knTap{50%{transform:scale(.9)}}
@keyframes knPick{0%{transform:scale(.8)}60%{transform:scale(1.08)}}
@keyframes knMiss{from{transform:scale(.85);opacity:.3}}
@keyframes knHit{0%{transform:scale(.6)}60%{transform:scale(1.12)}}
@keyframes knGem{0%{transform:scale(.2) rotate(-30deg);filter:brightness(2)}}
.kn-pay{margin-top:clamp(.5rem,2.5cqh,1.1rem);width:100%}
.kn-hint{text-align:center;color:#8a90a0;background:#16181d;border-radius:.5rem;padding:.8rem;margin:0}
.kn-mults,.kn-hits{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.25rem}
.kn-mults span{background:#1b1e24;border-radius:.4rem;padding:.4rem .05rem;text-align:center;font-size:clamp(.6rem,2.2cqw,.78rem);font-weight:700;color:#c9cdd6;transition:background .15s}
.kn-hits{margin-top:.25rem}.kn-hits span{background:#16181d;border-radius:.4rem;padding:.3rem .05rem;text-align:center;font-size:clamp(.6rem,2.2cqw,.75rem);color:#8a90a0;display:flex;align-items:center;justify-content:center;gap:.15rem;transition:background .15s}
.kn-hits i{display:grid}.kn-hits .kgem{width:.8rem;height:.8rem}
.kn-mults span.on{background:#3dd179;color:#07130c}.kn-hits span.on{color:#fff;background:#1c3a2a}
.kn-rtp{text-align:center;color:#6b7280;font-size:.75rem;margin:.45rem 0 0}
@container (max-height:22rem){.kn-rtp{display:none}.kn-wrap{--kn-pay:4.9rem}.kn-mults span{padding:.3rem .05rem}.kn-hits span{padding:.22rem .05rem}}

/* Limbo */
.lb-stage{align-items:center;gap:.8rem}
.lb-hist{position:absolute;top:.8rem;right:.8rem;left:.8rem;display:flex;gap:.35rem;justify-content:flex-end;overflow:hidden}
.lb-hist span{font-size:.75rem;font-weight:700;padding:.3rem .55rem;border-radius:.4rem;background:#2a2e38;color:#c9cdd6;flex:none}
.lb-hist span.w{background:#3dd179;color:#07130c}.lb-hist span.anim{animation:lbIn .3s ease-out}
@keyframes lbIn{from{transform:translateX(-.8rem);opacity:0}}
.lb-center{flex:1;display:grid;place-items:center;width:100%;min-height:0}
.lb-num{font-family:'Oswald','Manrope',sans-serif;font-size:clamp(2.6rem,min(20cqw,26cqh),7.5rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.lb-num.win{color:#3dd179}.lb-num.lose{color:#ff4d6a}.lb-num.land{animation:lbLand .3s cubic-bezier(.3,1.6,.5,1)}
@keyframes lbLand{0%{transform:scale(1.14)}}
.lb-fields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;width:100%;max-width:32rem;flex:none}

/* Blackjack — card size derives from stage height: two card rows + labels must fit */
.bj-stage{--cw:clamp(2.5rem,min(calc((100cqh - 7rem) / 2.8),17cqw),4.6rem);align-items:center;justify-content:space-around;gap:.4rem;
  background:radial-gradient(ellipse at 50% 40%,#1c2230 0%,#121418 70%)}
.bj-shoe{position:absolute;top:.8rem;right:.9rem;width:calc(var(--cw)*.62);height:calc(var(--cw)*.86)}
.bj-shoe i{position:absolute;inset:0;border-radius:.35rem;border:2px solid #fff;background:repeating-linear-gradient(45deg,#6a2bff 0 5px,#5a20e0 5px 10px)}
.bj-shoe i:nth-child(1){transform:translate(-4px,4px)}.bj-shoe i:nth-child(2){transform:translate(-2px,2px)}
.bj-side{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.bj-hands{display:flex;gap:1.4rem;justify-content:center}
.bj-hand{transition:opacity .2s}.bj-hands:has(.active) .bj-hand:not(.active){opacity:.55}
.bj-hand.active::after{content:'';position:absolute;left:50%;bottom:-.5rem;width:2rem;height:3px;border-radius:2px;background:var(--violet);transform:translateX(-50%)}
.bj-hand.shake{animation:bjShake .4s ease-out}
@keyframes bjShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.bj-row{display:flex;padding-left:calc(var(--cw)*.42);min-height:calc(var(--cw)*1.39)}
.bj-row .pc{margin-left:calc(var(--cw)*-.42)}
.bj-row:empty{padding-left:0;gap:.4rem}
.bj-row:empty::before,.bj-row:empty::after{content:'';width:var(--cw);height:calc(var(--cw)*1.39);border:2px dashed #2a2e38;border-radius:.5rem;box-sizing:border-box}
.pc{--pcw:var(--cw,4.6rem);width:var(--pcw);height:calc(var(--pcw)*1.39);perspective:600px;flex:none;display:block}
.pc-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .36s cubic-bezier(.3,.9,.4,1)}
.pc.down .pc-in{transform:rotateY(180deg)}
.pc-face,.pc-back{position:absolute;inset:0;border-radius:calc(var(--pcw)*.11);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.pc-face{background:#fff;color:#16181d;font-size:calc(var(--pcw)*.28)}
.pc.red .pc-face{color:#e0304f}
.pc-c{position:absolute;top:8%;left:10%;display:flex;flex-direction:column;align-items:center;line-height:1}
.pc-c b{font-size:1em;font-weight:800}.pc-c i{font-style:normal;font-size:.8em}
.pc-s{position:absolute;right:10%;bottom:6%;font-size:1.6em;line-height:1}
.pc-back{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#6a2bff 0 6px,#5a20e0 6px 12px);border:3px solid #fff}
.bj-val{background:#2a2e38;border-radius:1rem;padding:.15rem .65rem;font-weight:800;font-size:.85rem;min-width:2.2rem;text-align:center;transition:background .15s}
.bj-val.bust{background:#ff4d6a}.bj-val.tw{background:#3dd179;color:#07130c}
.bj-res{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .5rem;border-radius:.3rem;background:#2a2e38;animation:ogPopS .25s ease-out}
.bj-res.win,.bj-res.blackjack{background:#3dd179;color:#07130c}.bj-res.push{background:#ffc634;color:#1b1400}.bj-res.lose{background:#ff4d6a}
@keyframes ogPopS{from{transform:scale(.6);opacity:0}}
.bj-x2{font-size:.72rem;font-weight:800;color:var(--violet)}
.bj-arc{text-align:center;color:#3a3f4b;font-family:'Oswald','Manrope',sans-serif;text-transform:uppercase;line-height:1.15}
.bj-arc span{display:block;font-size:clamp(.8rem,4cqh,1.05rem);font-weight:700}.bj-arc em{font-style:normal;font-size:clamp(.65rem,3cqh,.8rem)}
@container (max-height:19rem){.bj-arc em{display:none}}
.bj-ins{position:absolute;inset:auto 0 .8rem;margin:auto;width:max-content;max-width:90%;background:#1b1e24;border:1px solid #2a2e38;border-radius:.7rem;padding:.7rem .9rem;z-index:5;box-shadow:0 10px 24px rgba(0,0,0,.5);animation:ogPopS .2s ease-out}
.bj-ins p{margin:0 0 .5rem;font-weight:700}.bj-ins div{display:flex;gap:.5rem}
.bj-acts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;flex:none}
/* mini cards in the bet-detail modal */
.bj-mini .pc{--pcw:2.3rem}.bj-mini .bj-row{padding-left:1rem;min-height:0}.bj-mini .bj-row .pc{margin-left:-.9rem}
/* animations off (account setting or OS preference) */
body.no-motion .og *,body.no-motion .og{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.og *,.og{animation:none!important;transition:none!important}}
/* bet modal extras */
.lb-mini{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}
.lb-mini .up{color:#3dd179}.lb-mini .down{color:#ff4d6a}
.bj-mini{display:flex;flex-direction:column;gap:.7rem;margin:1rem 0}.bj-mini>div{display:flex;flex-direction:column;gap:.35rem}

/* phones: symbol-only logo so the signed-in header (balance + wallet + avatar) fits 360px */
.logo-mark{display:none;height:1.75rem;width:auto}
@media(max-width:430px){.logo-img{display:none}.logo-mark{display:block}}

/* ---------- auth: 2FA + step-up ---------- */
.tfa-qr{margin:.25rem 0 .75rem}
.btn-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem}
.btn-pair .btn-primary,.btn-pair .btn-ghost{margin:0;height:3rem}
.su-back{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1.25rem;background:var(--overlay);
  -webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem)}
.su-back[hidden]{display:none}
.su-card{width:min(24rem,100%);background:var(--g900);border:1px solid var(--g700);border-radius:var(--r-md);padding:1.5rem;
  animation:su-in var(--dur-med) var(--ease-modal)}
.su-card h2{margin:0 0 .35rem;font-family:var(--font-heading);font-size:var(--t-title);font-weight:600}
@keyframes su-in{from{opacity:0;transform:translateY(.5rem) scale(.98)}}
body.no-motion .su-card{animation:none}

/* ---------- admin ---------- */
.adm-stats{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:720px){.adm-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.adm-stat{background:var(--g900);border:1px solid var(--g700);border-radius:.7rem;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}
.adm-stat span{color:var(--g300);font-size:var(--t-md)} .adm-stat b{font-family:var(--font-heading);font-size:1.6rem;font-weight:600}
.adm-card{background:var(--g900);border:1px solid var(--g700);border-radius:.7rem;padding:1.25rem;margin-top:1rem}
.adm-card h2{margin:0 0 .75rem;font-size:var(--t-xl)}
.adm-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid var(--g800);font-size:var(--t-lg)}
.adm-row:first-of-type{border-top:0} .adm-row code{color:var(--g200)} .adm-row time{color:var(--g400);white-space:nowrap}
.adm-chips{display:flex;flex-wrap:wrap;gap:.4rem} .adm-chip{background:var(--g800);border-radius:9999px;padding:.2rem .65rem;font-size:var(--t-md);color:var(--g200)}
.adm-su{display:flex;align-items:center;gap:.5rem;color:var(--g300);font-size:var(--t-md);margin-top:.75rem}
.adm-su i{width:.5rem;height:.5rem;border-radius:50%;background:var(--g500)} .adm-su.on i{background:var(--success)}
/* ---------- admin: layout ---------- */
.adm-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;align-items:start}
.adm-nav{position:sticky;top:calc(var(--h-header) + 1rem);display:flex;flex-direction:column;gap:.25rem}
.adm-nav-i{display:flex;align-items:center;gap:.65rem;height:2.75rem;padding:0 .85rem;border-radius:var(--r-sm1);color:var(--g300);font-weight:600;text-decoration:none;transition:var(--dur)}
.adm-nav-i .ai{width:1.15rem;height:1.15rem;flex:none}
.adm-nav-i:hover{background:var(--g800);color:#fff} .adm-nav-i.on{background:var(--g800);color:#fff;box-shadow:inset 3px 0 0 var(--neon)}
.adm-main{min-width:0}
.adm-main>.adm-card:first-child,.adm-main>.adm-stats:first-child{margin-top:0}
@media(max-width:900px){
  .adm-layout{grid-template-columns:minmax(0,1fr);gap:1rem}
  .adm-nav{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none;min-width:0}
  .adm-nav::-webkit-scrollbar{display:none}
  .adm-nav-i{flex:none;height:2.5rem;background:var(--g900);border:1px solid var(--g700)}
  .adm-nav-i.on{box-shadow:inset 0 -2px 0 var(--neon)}
}
a.adm-stat{text-decoration:none;color:inherit;transition:var(--dur)} a.adm-stat:hover{border-color:var(--g500)}
.adm-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem} .adm-card-h a{color:var(--violet);font-size:var(--t-lg);text-decoration:none}

/* ---------- admin: forms ---------- */
.adm-in{height:2.75rem;min-width:0;background:var(--g800);border:1px solid var(--g700);border-radius:var(--r-sm1);color:#fff;padding:0 .8rem;font:inherit;font-size:var(--t-lg);outline:none}
.adm-in:focus{border-color:var(--violet)} select.adm-in{padding-right:2rem;cursor:pointer}
.adm-filter,.adm-inline{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}
.adm-filter .btn-primary,.adm-inline .btn-primary,.adm-filter .btn-ghost,.adm-inline .btn-ghost,.adm-inline .btn-danger{width:auto;height:2.75rem;margin:0;padding:0 1.1rem}
.adm-grow{flex:1 1 14rem}
.adm-inline{margin:.75rem 0 0}
.btn-danger{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm1);background:#d63d3d;color:#fff;font-weight:600;transition:var(--dur)}
.btn-danger:hover:not(:disabled){background:#b92f2f} .btn-danger:disabled,.btn-ghost:disabled{opacity:.5;cursor:not-allowed}
.armed{border-color:var(--warning)!important;color:var(--warning)!important}
.adm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end}
.adm-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--t-md);color:var(--g300)}
.adm-grid .adm-span{grid-column:1/-1} .adm-grid .btn-primary{margin:0;width:auto;justify-self:start;padding:0 1.25rem}
@media(max-width:600px){.adm-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- admin: tables & bits ---------- */
.adm-tbl tbody tr[data-href]{cursor:pointer} .adm-tbl tbody tr[data-href]:hover td{background:rgba(255,255,255,.025)}
.adm-user{display:flex;flex-direction:column;color:#fff;text-decoration:none} .adm-user span{color:var(--g400);font-size:var(--t-md)}
.adm-status{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--t-md);font-weight:600}
.adm-status::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}
.adm-status--active{color:var(--success)} .adm-status--banned{color:var(--warning)}
.adm-ok{color:var(--success);font-weight:600}
.adm-pager{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;margin-top:1rem;color:var(--g300);font-size:var(--t-lg)}
.adm-pager span:first-child{margin-right:auto} .adm-pager .pill{text-decoration:none} .adm-off{opacity:.4}
.adm-count,.adm-empty{color:var(--g400);font-size:var(--t-lg);margin:1rem 0 0} .adm-empty{padding:2rem;text-align:center;border:1px dashed var(--g700);border-radius:var(--r-md)}
.adm-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem 1.5rem;margin:0}
.adm-facts dt{color:var(--g400);font-size:var(--t-md);margin-bottom:.2rem} .adm-facts dd{margin:0;overflow-wrap:anywhere}
.adm-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--g800)}
.adm-actions .adm-inline{flex:1 1 20rem;margin:0}
.adm-alert{border:1px solid rgba(255,119,74,.4);background:rgba(255,119,74,.08);color:#ffb59c;border-radius:var(--r-md);padding:.85rem 1rem;margin-bottom:1rem}
.adm-note{color:var(--g300);font-size:var(--t-lg);background:var(--g900);border:1px solid var(--g700);border-radius:var(--r-md);padding:.85rem 1rem;margin:0 0 1rem}
.adm-chip{display:inline-flex;align-items:center;gap:.25rem}
.adm-x{width:1.25rem;height:1.25rem;border-radius:50%;display:inline-grid;place-items:center;color:var(--g300);font-size:1rem;line-height:1;margin-right:-.3rem}
.adm-x:hover{background:var(--g600);color:#fff} .adm-x.armed{width:auto;padding:0 .4rem;border-radius:9999px;font-size:var(--t-md)}
.adm-code{display:block;color:var(--g500);font-size:.7rem} .adm-meta{white-space:normal;min-width:14rem;color:var(--g300);font-size:var(--t-md)}
.adm-sens{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.03em;color:var(--gold);border:1px solid rgba(255,198,52,.45);border-radius:var(--r-sm);padding:.05rem .3rem;margin-left:.4rem;vertical-align:middle}

/* ---------- admin: permission matrix ---------- */
.adm-matrix .tbl{white-space:normal}
.adm-matrix th.adm-permh,.adm-matrix .adm-perm{position:sticky;left:0;z-index:1;background:var(--g900);min-width:15rem;max-width:20rem}
.adm-perm{font-weight:400;text-align:left} .adm-perm code{color:#fff;font-size:var(--t-lg)} .adm-perm span:last-child{display:block;color:var(--g400);font-size:var(--t-md);margin-top:.15rem}
.adm-rolecol{text-align:center!important;min-width:7.5rem;vertical-align:top} .adm-rolecol b{display:block;color:#fff;font-size:var(--t-lg)}
.adm-rolecol span{display:block;font-weight:400;color:var(--g400);font-size:.7rem;margin-top:.15rem}
.adm-save{margin-top:.4rem;height:1.8rem;padding:0 .75rem;border-radius:var(--r-sm);background:var(--neon);color:#fff;font-weight:600;font-size:var(--t-md)}
.adm-link{display:block;margin:.35rem auto 0;color:var(--g400);font-size:.7rem;text-decoration:underline} .adm-link.armed{color:var(--warning)}
.adm-grp th{background:var(--bg)!important;color:var(--g300);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.9rem 1rem .4rem!important;position:sticky;left:0}
.adm-cell{text-align:center}
.adm-cell input{width:1.1rem;height:1.1rem;accent-color:var(--neon);cursor:pointer} .adm-cell input:disabled{cursor:not-allowed;opacity:.45}
@media(max-width:600px){
  .adm-matrix th.adm-permh,.adm-matrix .adm-perm{min-width:9rem;max-width:10.5rem;padding:.6rem .7rem}
  .adm-perm code{font-size:var(--t-md);overflow-wrap:anywhere} .adm-perm span:last-child{font-size:.68rem}
  .adm-rolecol{min-width:5.5rem;padding:.6rem .4rem!important}
}
