/* ===== top bar: balance chip with currency menu ===== */
.topbar{gap:8px}
.topbar .avatar{color:#fff}
.avatar span,.hud-avatar span{font-weight:800}
.bal-wrap{margin-left:auto;display:flex;align-items:center;gap:6px}
.balance-chip{margin:0;height:40px;padding:0 10px 0 8px;gap:6px;background:#202b3a;box-shadow:inset 0 0 0 1px var(--line2)}
.balance-chip .cur-ic{width:22px;height:22px;display:grid;place-items:center}.balance-chip .cur-ic svg,.balance-chip .cur-ic img{width:20px;height:20px}
.balance-chip .chev svg{width:16px;height:16px;color:var(--muted);transition:transform .2s}
.balance-chip[aria-expanded=true] .chev svg{transform:rotate(180deg)}
.topup-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#5ab8ff,#2f8cf0);box-shadow:0 6px 16px #2f8cf055}.topup-btn svg{width:18px;height:18px}
.cur-menu{position:fixed;z-index:40;top:calc(var(--top) + 58px);left:12px;right:12px;max-width:440px;margin:0 auto;padding:12px;border-radius:22px;background:#1e2939f2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 50px #000a,inset 0 0 0 1px var(--line2);opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .18s,transform .18s}
.cur-menu.open{opacity:1;transform:none}
.cur-title{font-size:13px;color:var(--muted);font-weight:700;padding:4px 8px 8px}
.cur-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border-radius:14px;text-align:left}
.cur-row+.cur-row{margin-top:2px}.cur-row.on{background:#ffffff0f;box-shadow:inset 0 0 0 1px var(--line2)}
.cur-row .cur-ic{width:32px;height:32px;display:grid;place-items:center}.cur-row .cur-ic svg,.cur-row .cur-ic img{width:30px;height:30px}
.cur-name{flex:1;font-weight:700}.cur-name em{font-style:normal;font-size:10px;color:var(--warn);background:#ffbf4722;padding:2px 6px;border-radius:6px;margin-left:4px;vertical-align:2px}
.cur-row b{font-variant-numeric:tabular-nums}
.radio{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff40;flex:none}
.cur-row.on .radio{box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 5px #1e2939,inset 0 0 0 10px var(--accent)}
.cur-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}

/* ===== bottom HUD: market ball · pill · avatar ball ===== */
.tabbar{display:none}
.hud{position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:calc(var(--bottom) + 10px);width:min(440px,calc(100% - 20px));display:flex;align-items:center;gap:6px;transition:transform .25s,opacity .25s}
.hud-ball{flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#222d3ce8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 30px #0006,inset 0 0 0 1px var(--line2);color:var(--muted);font-size:10px;font-weight:700;gap:1px;transition:color .2s,box-shadow .2s}
.hud-ball .ti svg{width:22px;height:22px}
.hud-market.active{color:var(--accent2);box-shadow:0 10px 30px #0006,inset 0 0 0 1.5px #3ea6ff88}
.hud-avatar{overflow:hidden;padding:3px;background:linear-gradient(135deg,#4aa8ff,#7a5cff)}
.hud-avatar img,.hud-avatar span{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#2a3849;color:#fff;font-size:18px}
.hud-avatar.active{box-shadow:0 0 0 2px var(--accent2),0 10px 30px #0006}
.hud-pill{flex:1;height:58px;display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border-radius:30px;background:#222d3ce8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 30px #0006,inset 0 0 0 1px var(--line2)}
.hud-pill a{display:grid;justify-items:center;align-content:center;gap:1px;border-radius:24px;color:var(--muted);font-size:10.5px;font-weight:700;transition:background .2s,color .2s;white-space:nowrap}
.hud-pill .ti svg{width:23px;height:23px}
.hud-pill a.active{background:#ffffff14;color:var(--accent2)}
body.kb-open .hud,body.has-back .hud{transform:translate(-50%,150%);opacity:0;pointer-events:none}
#app{padding-bottom:calc(var(--bottom) + 92px)}

/* ===== switch / segmented ===== */
.switch{appearance:none;-webkit-appearance:none;width:46px;height:28px;border-radius:14px;background:#ffffff26;position:relative;flex:none;cursor:pointer;transition:background .2s}
.switch::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 2px 4px #0004}
.switch:checked{background:var(--ok)}.switch:checked::after{transform:translateX(18px)}
.switch.sm{width:38px;height:22px}.switch.sm::after{width:16px;height:16px}.switch.sm:checked::after{transform:translateX(16px)}
.seg.wrap{flex-wrap:wrap}.seg.wrap button{flex:0 0 calc(25% - 5px)}

/* ===== profile ===== */
.pf-card{position:relative;overflow:hidden;isolation:isolate;padding:22px 14px 14px;border-radius:26px;text-align:center;background:radial-gradient(circle at 50% 0,#b46be0,#6a35a8 55%,#3d1f66);box-shadow:inset 0 0 0 1px #ffffff2e}
.pf-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.5;animation:twinkle 4s ease-in-out infinite}
.pf-stars i:nth-child(1){left:12%;top:20%}.pf-stars i:nth-child(2){left:78%;top:14%;animation-delay:1s}.pf-stars i:nth-child(3){left:30%;top:62%;animation-delay:2s}.pf-stars i:nth-child(4){left:88%;top:58%;animation-delay:3s}.pf-stars i:nth-child(5){left:55%;top:30%;animation-delay:1.5s}
.pf-more{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;background:#ffffff26;font-weight:800}
.pf-avatar{width:76px;height:76px;margin:0 auto 8px;border-radius:22px;overflow:hidden;box-shadow:0 0 0 3px #ffffff40,0 10px 20px #0004;display:grid;place-items:center;background:#2a3849;font-size:30px;font-weight:800}
.pf-avatar img{width:100%;height:100%;object-fit:cover}
.pf-card h2{font:800 22px/1.2 Unbounded,sans-serif;letter-spacing:-.5px}
.pf-name{font-size:12.5px;opacity:.75;margin-top:2px}
.pf-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.pf-stats div{padding:12px;border-radius:16px;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff1f;display:grid;gap:2px}
.pf-stats b{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:20px}.pf-stats small{font-size:11.5px;opacity:.75}
.pf-won{font-size:11px;opacity:.65;margin-top:10px}
.pf-banner{position:relative;display:flex;align-items:center;justify-content:center;height:84px;border-radius:20px;overflow:hidden;background:linear-gradient(110deg,#3b3f9a,#5d5bd1 50%,#3b3f9a);box-shadow:inset 0 0 0 1px #ffffff26;text-align:center}
.pf-banner div{display:grid;gap:2px;z-index:1}.pf-banner b{font-size:15px}.pf-banner small{font-size:11.5px;opacity:.8}
.pfb-l,.pfb-r{position:absolute;width:64px;bottom:-14px;filter:drop-shadow(0 4px 8px #0006)}.pfb-l{left:6px;transform:rotate(-10deg)}.pfb-r{right:6px;transform:scaleX(-1) rotate(-10deg)}
.pm-group{border-radius:20px;background:var(--card);overflow:hidden}
.pm-row{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;text-align:left;font-weight:600;cursor:pointer}
.pm-row+.pm-row{border-top:1px solid var(--line)}
.pm-row>span:not(.pm-ic){flex:1;display:grid}.pm-row small{font-size:11.5px;color:var(--muted);font-weight:500}
.pm-row em{font-style:normal;color:var(--muted);font-size:14px}
.pm-row>svg{width:18px;height:18px;color:var(--muted);flex:none}
.pm-row.plain{padding:6px 0;min-height:auto}
.pm-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}.pm-ic svg{width:20px;height:20px}
.pm-group.legal .pm-row{min-height:50px;font-size:15px}
.pf-foot{display:flex;align-items:center;gap:10px;padding:4px 6px 8px;color:var(--muted);font-size:12px}
.pf-logo{font:800 16px Unbounded,sans-serif;color:var(--text);margin-right:auto;letter-spacing:-.5px}.pf-logo b{color:var(--accent2);font-weight:800}
.age{padding:3px 7px;border-radius:7px;background:#ffffff14;color:var(--text);font-weight:800}
.chips.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chips.tabs::-webkit-scrollbar{display:none}
.chips.tabs .chip.active{background:#3ea6ff2b;box-shadow:inset 0 0 0 1.5px var(--accent);color:#fff}
.legal-sheet .sheet-head h2{font-size:18px}
.doc h1{font:800 24px/1.15 Unbounded,sans-serif;letter-spacing:-.6px;margin-top:6px}
.doc-ed{color:var(--muted);font-size:12.5px;margin:6px 0 12px}
.doc-intro{font-size:15px;line-height:1.55}
.toc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.toc button{display:flex;align-items:center;gap:8px;text-align:left;padding:10px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px;font-weight:600;line-height:1.25}
.toc b,.doc h3 b{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#3ea6ff26;color:var(--accent2);font-size:12px}
.doc section{padding:12px 0;border-top:1px solid var(--line);scroll-margin-top:8px}
.doc h3{display:flex;align-items:center;gap:10px;font-size:16px;margin-bottom:6px}
.doc section p{color:#c9d5e4;font-size:14px;line-height:1.55}

/* ===== top-up ===== */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cat{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;padding:12px 6px 10px;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.cat.on{background:radial-gradient(circle at 50% 0,#3ea6ff40,var(--card) 75%);box-shadow:inset 0 0 0 2px var(--accent)}
.cat-art{height:30px;display:flex;align-items:center;justify-content:center;gap:2px}.cat-art img,.cat-art svg{width:24px;height:24px;object-fit:contain}.cat-art .ca svg{width:28px;height:28px}
.cat b{font-size:13px;line-height:1.15}.cat small{font-size:11px;color:var(--muted)}
.mlist{display:grid;gap:8px}
.mrow{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-align:left;transition:transform .1s}
.mrow:active{transform:scale(.98)}
.mr-logo{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#ffffff0d;flex:none}.mr-logo img,.mr-logo svg{width:38px;height:38px;object-fit:contain}.mr-logo img.round{border-radius:50%}
.mr-text{flex:1;display:grid;gap:1px;min-width:0}.mr-text b{font-size:15px}.mr-text small{color:var(--muted);font-size:12px}
.mr-assets{display:flex;gap:4px;margin-top:4px}.mr-assets img{width:16px;height:16px}
.mr-min{flex:none;font-size:12px;font-weight:700;padding:6px 9px;border-radius:10px;background:#ffffff0f;color:#cfe0f4}
.m-hero{display:grid;justify-items:center;gap:10px;padding:16px 12px;border-radius:20px;background:radial-gradient(circle at 50% 0,#3ea6ff2b,var(--card) 70%);text-align:center}
.m-hero p{color:var(--muted);font-size:13.5px}
.mh-logo{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#ffffff12}.mh-logo img,.mh-logo svg{width:46px;height:46px;object-fit:contain}.mh-logo img[src$=".webp"]{border-radius:50%}
.m-sbp{background:radial-gradient(circle at 50% 0,#7b5cff33,var(--card) 70%)}
.sbp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
.sbp-steps div{display:grid;justify-items:center;gap:6px;padding:10px 4px;border-radius:14px;background:#ffffff0a}
.sbp-steps small{font-size:10.5px;color:var(--muted);line-height:1.25}
.qr{position:relative;width:34px;height:34px;border-radius:6px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}
.qr i{border-radius:2px;background:#1b2431;box-shadow:inset 0 0 0 2px #1b2431,inset 0 0 0 4px #fff}
.phone{width:22px;height:36px;border-radius:5px;box-shadow:inset 0 0 0 2px #cfe0f4;display:grid;place-items:center}.phone b{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.okc{width:34px;height:34px;border-radius:50%;background:#38d39f2b;color:var(--ok);display:grid;place-items:center}.okc svg{width:18px;height:18px}

/* ===== wallet extra currencies ===== */
.wc-row{display:flex;gap:6px;flex-wrap:wrap}
.wc-cur{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 9px;border-radius:12px;background:#ffffff26}
.wc-cur i{width:16px;height:16px;display:grid}.wc-cur i svg,.wc-cur i img{width:16px;height:16px}

/* ===== market NFT ===== */
.nft-img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#1f2a3a}
.nft-frame{position:relative;display:block;width:100%;height:100%;aspect-ratio:1}
.nft-frame>.nft-img,.nft-placeholder{position:absolute;inset:0;width:100%;height:100%}
.nft-frame>.nft-img{opacity:0;transition:opacity .24s ease}
.nft-frame.image-ready>.nft-img{opacity:1}
.nft-placeholder{display:grid;place-items:center;border-radius:0;background:#233349;color:#8ea9c3}
.nft-placeholder>svg{width:26px;height:26px;opacity:.32;animation:none}
.sw .nft-placeholder>svg{width:17px;height:17px}
.nft-frame.image-error>.nft-placeholder{background:#263548}
.lot-hero.has-img{padding:0;overflow:hidden}
.lot-hero.has-img,.lot-page>.skel-hero{aspect-ratio:1.25}
.lot-hero.has-img .nft-frame{aspect-ratio:1.25}
.lot-hero.has-img .nft-img{object-fit:contain;background:none}
.lot-hero.has-img .nft-placeholder{background:transparent}
.sw img{width:100%;height:100%;object-fit:cover}
.sw.letter{background:#ffffff14;font-size:15px;color:var(--accent2)}
.frag-link{display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;font-weight:700;color:var(--accent2)}.frag-link svg{width:16px;height:16px}
.gift-art .nft-img{height:100%}.wd-art .nft-img{height:100%}

/* ===== rocket (shared rounds) ===== */
.rk-stage{position:relative;height:290px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 70% 10%,#1b4a3a55,transparent 60%),linear-gradient(#141c26,#10161e);box-shadow:inset 0 0 0 1px var(--line)}
.rk-stage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff2a 1px,transparent 1.5px);background-size:34px 34px;opacity:.6}
.rk-stage[data-phase=crashed]{background:radial-gradient(circle at 50% 50%,#5a1b2766,transparent 65%),linear-gradient(#1a1216,#120e12)}
.rk-canvas{position:absolute;inset:0;width:100%;height:100%}
.rk-axis span{position:absolute;left:10px;font-size:10px;color:#ffffff59;font-weight:700;transform:translateY(50%)}
.rk-ship{position:absolute;left:0;top:0;width:60px;height:100px;will-change:transform;z-index:2}
.rk-body{width:46px;height:78px;margin:0 auto;filter:drop-shadow(0 6px 10px #0008)}
.rk-pilot{position:absolute;width:20px;left:20px;top:22px;border-radius:50%;clip-path:circle(46%)}
.rk-flame{position:absolute;left:50%;top:72px;width:18px;height:26px;margin-left:-9px;border-radius:50% 50% 50% 50%/30% 30% 70% 70%;background:radial-gradient(#f6ffd6,#4fe39a 55%,transparent 72%);animation:flame .18s infinite alternate}
.rk-stage:not([data-phase=flying]) .rk-flame{opacity:.25}
.rk-stage[data-phase=crashed] .rk-ship{opacity:0;transition:opacity .25s}
.rk-center{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;pointer-events:none;z-index:3}
.rk-big{font:800 58px/1 Unbounded,sans-serif;letter-spacing:-2px;color:#fff;text-shadow:0 6px 24px #000c}
.rk-top{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--bad);min-height:16px}
.rk-sub{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#ffffffa6;margin-top:6px;min-height:15px}
.rk-stage[data-phase=flying] .rk-big{color:#ffe08a;text-shadow:0 0 24px #ffbf4766,0 6px 20px #000c}
.rk-stage[data-phase=crashed] .rk-big{color:var(--bad);text-shadow:0 0 30px #ff5f6d88}
.rk-stage[data-phase=betting] .rk-big,.rk-stage[data-phase=closed] .rk-big{font-size:84px;color:#fff;opacity:.92}
.rk-stage[data-phase=closed] .rk-sub{color:var(--warn)}
.rk-mine{position:absolute;left:12px;bottom:12px;z-index:3;padding:4px 10px;border-radius:12px;font-weight:800;font-size:13px;background:#ffd36b;color:#3a2a00}
.rk-mine.won{background:var(--ok);color:#06331f}.rk-mine.lost{background:var(--bad);color:#fff}
.rk-history{display:flex;align-items:center;gap:8px}
.rk-hrow{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 85%,transparent)}.rk-hrow::-webkit-scrollbar{display:none}
.hc{flex:none;font-size:12px;font-weight:800;padding:5px 8px;border-radius:10px;background:var(--card)}
.hc.low{color:#ff8d97}.hc.mid{color:#ffd36b}.hc.high{color:#4fe39a}.hc.top{color:#6cdcff}
.rk-gear{width:38px;height:38px;border-radius:12px}
.rk-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.rk-chips::-webkit-scrollbar{display:none}
.rk-chips button{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:40px;padding:0 10px;border-radius:12px;background:var(--card);font-weight:800;font-size:13px;box-shadow:inset 0 0 0 1px var(--line)}
.rk-chips button.on{background:#ff9f3a;color:#2a1600;box-shadow:0 6px 14px #ff9f3a44}.rk-chips .coin{width:14px;height:14px}
.rk-custom{flex:0 0 40px!important}.rk-custom svg{width:16px;height:16px}
.rk-msg{display:none;text-align:center;font-size:13px;color:var(--bad);font-weight:600}.rk-msg.show{display:block}
.rk-main{text-transform:uppercase;letter-spacing:.5px;font-weight:800}
.btn-danger{background:linear-gradient(180deg,#ff6b7a,#e2394d);color:#fff;box-shadow:0 8px 20px #e2394d44}
.rk-players{border-radius:20px;background:var(--card);padding:12px}
.rkp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rkp-head small{color:var(--muted)}
.rkp-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rkp-list li{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;font-size:13px;padding:6px 8px;border-radius:12px;background:#ffffff08}
.rkp-list li.me{box-shadow:inset 0 0 0 1px #3ea6ff66}
.rkp-list li.cashed .px{color:var(--ok)}.rkp-list li.lost .px{color:var(--bad)}
.pa{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4aa8ff,#7a5cff);font-weight:800;font-size:12px}
.pn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn em{font-style:normal;font-size:10px;color:var(--accent2)}
.pb{display:inline-flex;align-items:center;gap:3px;font-weight:700}.pb .coin{width:12px;height:12px}
.px{font-weight:700;color:var(--muted);min-width:38px;text-align:right}
.empty-li{display:block!important;text-align:center;color:var(--muted)}

/* ===== upgrade (dial with chance zone at the bottom) ===== */
.ug-top{display:grid;grid-template-columns:minmax(0,1fr) 138px minmax(0,1fr);align-items:center;gap:6px;padding:10px 8px;border-radius:24px;background:radial-gradient(circle at 50% 50%,#ff8a3d1f,transparent 60%),var(--card)}
.ug-slot{min-height:168px;border-radius:16px;background:var(--bg2);display:grid;grid-template-rows:auto 1fr;padding:8px;box-shadow:inset 0 -3px 0 var(--rc,transparent)}
.ug-sh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px}.ug-sh small{font-size:10px;color:var(--muted);font-weight:700}
.ug-clear{font-size:9.5px;font-weight:800;padding:3px 6px;border-radius:6px;background:#ffffff12;color:var(--muted)}
.ug-slot:not(.filled) .ug-clear{visibility:hidden}
.ug-body{display:grid;justify-items:center;align-content:center;gap:2px;text-align:center}
.ug-body b{font-size:11.5px;line-height:1.2}.ug-body small{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--muted)}
.ug-ph{font-size:11.5px;color:var(--muted);line-height:1.3}.ug-ph em{font-style:normal;font-size:10px}
.ug-dial{position:relative;width:138px;height:138px}
.ug-dial svg{width:100%;height:100%}
.ug-ring{fill:#151d29;stroke:#2b394d;stroke-width:10}
.ug-tick{stroke:#ffffff26;stroke-width:1.4}
.ug-arc{fill:none;stroke:url(#ugarc);stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 6px #ff8a3d88);transition:d .3s}
.ug-pointer{position:absolute;inset:0;transform:rotate(180deg)}
.ug-pointer i{position:absolute;left:50%;top:-2px;transform:translateX(-50%);border:8px solid transparent;border-top:13px solid #fff;filter:drop-shadow(0 0 6px #fff9)}
.ug-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.ug-center b{font:800 22px/1 Unbounded,sans-serif;letter-spacing:-.5px}.ug-center small{font-size:10px;color:var(--muted);margin-top:3px}
.ug-dial[data-result=win] .ug-ring{stroke:var(--ok)}.ug-dial[data-result=lose] .ug-ring{stroke:var(--bad)}
.ug-controls{display:grid;gap:10px;padding:12px;border-radius:20px;background:var(--card)}
.ug-extra{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.ug-extra .bet-field.sm{margin-left:auto;flex:1 1 90px;min-width:0;max-width:150px;height:38px}.ug-extra input[data-extra]{font-size:15px}
.ug-extra input:disabled{opacity:.4}
.ug-sl-head{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.ug-sl-head b{color:#ffbf6b}
.ug-slider input{width:100%;accent-color:#ff8a3d}
.ug-mult button{font-size:13px}
.ug-tabs{display:flex;gap:6px;align-items:center}
.ug-tabs button{height:36px;padding:0 12px;border-radius:12px;background:var(--card);font-weight:700;font-size:13px;color:var(--muted)}
.ug-tabs button.on{background:#ffffff1a;color:#fff}
.ug-tabs select{margin-left:auto;height:36px;border-radius:12px;background:var(--card);color:var(--text);border:0;padding:0 8px;font:inherit;font-size:13px}
.ug-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ug-grid>.empty{grid-column:1/-1;padding:16px}
.ug-card{display:grid;justify-items:center;gap:2px;padding:8px 6px;border-radius:14px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--rc) 18%,var(--card)),var(--card) 70%);box-shadow:inset 0 -3px 0 var(--rc)}
.ug-card b{font-size:11.5px;text-align:center;line-height:1.2}.ug-card small{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--muted)}
.ug-card.on{box-shadow:inset 0 0 0 2px #ff8a3d,inset 0 -3px 0 var(--rc)}
@media (max-width:370px){.ug-top{grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr)}.ug-dial{width:118px;height:118px}.ug-center b{font-size:18px}.hud-ball{width:52px;height:52px}.hud-pill{height:52px}.hud-pill a{font-size:9.5px}.cats .cat b{font-size:12px}}
.ug-controls,.ug-tabs,.ug-grid,.rk-stage,.rk-history,.rk-chips{min-width:0}
.ug-extra span:nth-child(2){white-space:nowrap}
.hud-avatar{display:block;position:relative}
.hud-avatar img,.hud-avatar span{position:absolute;inset:3px;width:auto;height:auto}

/* Shared visuals and compact spacing for Telegram's narrow viewports. */
.screen{min-width:0;animation:screen-in 170ms ease-out}
@keyframes screen-in{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.page{gap:16px}.page-head h1,.page-title{font-size:clamp(22px,6vw,28px)}
.route-loading{padding-top:8px}
.avatar,.pf-avatar{position:relative;isolation:isolate}
.avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hud-avatar .avatar-photo{width:calc(100% - 6px);height:calc(100% - 6px)}
.hud-avatar span,.pf-avatar{background:linear-gradient(145deg,#4daaff,#4e51bd)}
.pf-avatar{border-radius:50%}
.pf-card{background:radial-gradient(circle at 72% -20%,#398ac4,#215180 62%,#1a3556)}
.pf-card h2,.pf-name{overflow-wrap:anywhere}
.pf-banner{justify-content:flex-start;padding:0 100px 0 16px;text-align:left;background:linear-gradient(110deg,#214c78,#306aa4)}
.pf-banner .pfb-r{width:84px;height:92px;object-fit:contain;right:8px;bottom:-8px;transform:rotate(-7deg)}
.prize-art{display:inline-grid;position:relative;width:var(--art-size);height:var(--art-size);max-width:100%;flex:none;place-items:center;overflow:hidden;border-radius:clamp(6px,1.8vw,12px);isolation:isolate;vertical-align:middle}
.prize-art>img,.prize-art>svg{grid-area:1/1;width:100%;height:100%;object-fit:contain}
.prize-art>img{opacity:0;transition:opacity 140ms ease}
.prize-art.ready>img{opacity:1}.prize-art.ready>svg{visibility:hidden}
.prize-art.nft-round{border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 1px #b9d7f44d}
.case-live-art{position:relative;display:inline-grid;place-items:center;width:var(--live-size);height:var(--live-size);max-width:100%;flex:none;vertical-align:middle;--anim-zoom:1.45;--anim-x:0%;--anim-y:0%}
.case-live-art>.prize-art{width:100%;height:100%}
.case-live-art>.gift-anim.cutout{position:absolute;inset:0;z-index:2;pointer-events:none;transform:translate(var(--anim-x),var(--anim-y)) scale(var(--anim-zoom));transform-origin:center;overflow:visible}
.case-live-art.anim-ready>.prize-art{opacity:0;transition:opacity .2s}
.case-live-art .gift-anim svg{width:100%!important;height:100%!important;animation:none!important;filter:none!important}
.prize-celebration{display:flex;align-items:center;justify-content:center;gap:8px;padding-bottom:4px}
.prize-celebration img,.empty-buba{object-fit:contain}
.prize-celebration img{animation:prize-in .55s ease-out}
.prize .prize-art{animation:prize-in .55s ease-out}

/* Rocket effects are drawn on the stage canvas. */
.rk-stage{height:clamp(248px,69vw,300px);background:#0e1b31}
.rk-stage::before{content:none}
.rk-center{z-index:2}.rk-sub{letter-spacing:1px}
.rk-big{font-size:clamp(37px,13vw,60px);font-variant-numeric:tabular-nums}
.rk-stage[data-phase=betting] .rk-big,.rk-stage[data-phase=closed] .rk-big{font-size:70px}
.rk-stage[data-phase=flying] .rk-big{color:#d6f7ff;text-shadow:0 0 20px #5bcbff96,0 5px 16px #071525}
.rk-main{font-variant-numeric:tabular-nums;letter-spacing:0}

/* Upgrade dial, pointer and prize response. */
.ug-dial{isolation:isolate}.ug-dial>svg{position:relative;z-index:1}
.ug-sheen{fill:none;stroke:#eafaff88;stroke-width:3;stroke-linecap:round;stroke-dasharray:12 88;transform-origin:center;animation:ug-sweep 5s linear infinite}
.ug-arc{animation:ug-breathe 2.5s ease-in-out infinite}
.ug-tick{animation:ug-wave 3s ease-in-out var(--wave) infinite}
.ug-dial.spinning .ug-tick{animation:none}.ug-tick.lit{stroke:#ffdd91;stroke-width:2.2}
.ug-pointer{z-index:2;pointer-events:none}.ug-center{z-index:3}
.ug-pointer::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -48deg,transparent 1deg,#ffb759aa 47deg,transparent 49deg);mask-image:radial-gradient(transparent 56%,#000 57%);opacity:0;transition:opacity .2s}
.ug-dial.spinning .ug-pointer::before{opacity:1}
.ug-sparks{position:absolute;inset:0;z-index:4;pointer-events:none}
.ug-sparks i{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;opacity:0;background:var(--result-color)}
.ug-dial[data-result=win]{--result-color:var(--ok)}.ug-dial[data-result=lose]{--result-color:var(--bad)}
.ug-dial[data-result] .ug-ring{animation:ug-flash .8s ease-out}
.ug-dial[data-result] .ug-sparks i{animation:ug-particle .75s var(--delay) ease-out both}
.ug-slot,.ug-card{min-width:0;position:relative;transition:transform .16s,box-shadow .16s}
.ug-slot.filled{box-shadow:inset 0 0 0 1px var(--rc),inset 0 -3px 0 var(--rc)}
.ug-card.on{box-shadow:inset 0 0 0 2px var(--rc),0 0 12px color-mix(in srgb,var(--rc) 42%,transparent)}
.ug-card:active{transform:translateY(-3px)}
.ug-body b,.ug-card b{overflow-wrap:anywhere;max-width:100%}
.ug-slot[data-result=win] .prize-art{animation:ug-arrive .62s cubic-bezier(.16,.86,.25,1) both}
.ug-shards{position:absolute;top:50%;left:50%;width:64px;height:64px;transform:translate(-50%,-50%);pointer-events:none}
.ug-shard{position:absolute;inset:0;animation:ug-break .68s ease-out both}
.ug-shard.part-0{clip-path:polygon(0 0,55% 0,50% 55%,0 44%);--x:-30px;--y:-34px;--turn:-24deg}
.ug-shard.part-1{clip-path:polygon(55% 0,100% 0,100% 58%,50% 55%);--x:31px;--y:-29px;--turn:29deg}
.ug-shard.part-2{clip-path:polygon(0 44%,50% 55%,43% 100%,0 100%);--x:-26px;--y:35px;--turn:35deg}
.ug-shard.part-3{clip-path:polygon(50% 55%,100% 58%,100% 100%,43% 100%);--x:29px;--y:41px;--turn:-30deg}
.ug-slider input{appearance:none;height:34px;margin:0;background:transparent;cursor:pointer}
.ug-slider input::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#d46650,#f89b53,#ffd78a)}
.ug-slider input::-moz-range-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#d46650,#f89b53,#ffd78a)}
.ug-slider input::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin-top:-10px;border:3px solid #ffad65;border-radius:50%;background:#fff0d7;box-shadow:0 2px 9px #0f1727aa}
.ug-slider input::-moz-range-thumb{width:23px;height:23px;border:3px solid #ffad65;border-radius:50%;background:#fff0d7}
@keyframes ug-sweep{to{transform:rotate(360deg)}}
@keyframes ug-breathe{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes ug-wave{0%,72%,100%{opacity:.45}82%{opacity:1}}
@keyframes ug-flash{0%{opacity:.65}35%{opacity:1}100%{opacity:.85}}
@keyframes ug-particle{0%{opacity:1;transform:translate(0,0) scale(.7)}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}}
@keyframes ug-arrive{from{opacity:0;transform:translateX(76px) scale(.68)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes ug-break{from{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--turn))}}

.offscreen::before,.offscreen::after,.offscreen *::before,.offscreen *::after,.motion-hidden *,.motion-hidden *::before,.motion-hidden *::after{animation-play-state:paused!important}
@media(max-width:370px){
  .ug-tabs button,.ug-tabs select{padding-inline:8px;font-size:12px}
  .op-list li{gap:8px;padding-inline:8px}.op-amt{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.lot-info{gap:2px 6px}.lot-info b{grid-column:1/-1}.lot-info small{grid-row:2;align-self:center}.lot-info .price{grid-row:2;grid-column:2;padding:4px 7px}
.sheet-body>.chips.tabs,.sheet-body>.cats{min-height:max-content}
.sheet-body>.search{flex:0 0 42px;min-height:42px}
.chips.tabs .chip{flex:none}
.sheet-body{display:flex;flex-direction:column}.sheet-body>*{flex-shrink:0}

/* Upgrade: the dial stays above the selection and result controls. */
.ug-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 12px;
  padding: 16px 12px 12px;
  border-radius: 24px;
  background: radial-gradient(ellipse at 50% 25%, #31436590, transparent 72%), var(--card);
  box-shadow: inset 0 0 0 1px var(--line);
}
.ug-dial { width: clamp(164px, 48vw, 210px); height: auto; aspect-ratio: 1; }
.ug-ring { fill: #141e30; stroke: #32415b; stroke-width: 6; }
.ug-sheen { stroke-width: 2; opacity: .55; }
.ug-arc { stroke-width: 6; }
.ug-pointer i {
  top: -1px;
  border: 6px solid transparent;
  border-top: 10px solid #fff0b2;
  filter: drop-shadow(0 0 6px #ffd78599);
}
.ug-target {
  position: absolute;
  z-index: 2;
  inset: 18%;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.ug-target > svg { width: 43%; height: 43%; color: #9fb7d66b; }
.ug-target .prize-art { filter: drop-shadow(0 8px 14px #090e1daa); }
.ug-center {
  position: static;
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-height: 22px;
}
.ug-center b { color: #ffdf8f; font-size: 20px; }
.ug-center small { margin: 0; color: #b0c0d8; font-size: 12px; font-weight: 700; }
.ug-slots { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ug-slot {
  min-height: 78px;
  padding: 8px;
  background: #101b2b;
  box-shadow: inset 0 0 0 1px var(--line);
}
.ug-slot.filled { box-shadow: inset 0 0 0 1px #5a769f9e; }
.ug-slot > small { color: #a9bdda; font-size: 11px; font-weight: 700; padding-left: 3px; }
.ug-body {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  min-width: 0;
  gap: 6px;
  min-height: 44px;
  padding-right: 14px;
  text-align: left;
}
.ug-body > span:last-child { min-width: 0; }
.ug-body b { display: block; }
.ug-body small { margin-top: 2px; }
.ug-ph { display: flex; align-items: center; gap: 4px; padding-left: 3px; }
.ug-ph svg { width: 15px; height: 15px; }
.ug-clear {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 22px;
  height: 22px;
  padding: 3px;
}
.ug-clear svg { width: 100%; height: 100%; }
.ug-controls { gap: 11px; box-shadow: inset 0 0 0 1px var(--line); }
.ug-extra label { display: flex; align-items: center; gap: 6px; }
.ug-extra .bet-field { max-width: 110px; }
.ug-grid { display: flex; min-height: 86px; gap: 7px; margin-inline: 0; padding: 1px 1px 5px; }
.ug-grid > .empty { flex: 1; padding: 12px 4px; }
.ug-grid > .empty .empty-buba { display: none; }
.ug-card {
  flex: 0 0 84px;
  grid-template-rows: auto 1fr auto;
  min-height: 94px;
  align-items: center;
  background: #111e2e;
  box-shadow: inset 0 0 0 1px var(--line);
}
.ug-card.on { background: #32405a; box-shadow: inset 0 0 0 1px #ffcf72; }
.ug-card b { font-size: 10.5px; }
.ug-controls [data-run] { color: #271b07; }
.ug-controls [data-run]:disabled { opacity: .55; }
.ug-dial[data-result="win"] .ug-ring { stroke: var(--ok); }
.ug-dial[data-result="lose"] .ug-ring { stroke: var(--bad); }


.cat-art .round { border-radius: 50%; }
.cat-art .pay-mark, .mr-logo .pay-mark, .mh-logo .pay-mark {
  height: auto;
  border-radius: 999px;
}
@media (max-width: 390px) {
  .upgrade-page { gap: 10px; }
  .ug-top { padding-block: 10px 8px; gap: 8px; }
  .ug-dial { width: clamp(145px, 44vw, 172px); }
  .ug-slot { min-height: 70px; }
  .ug-controls { gap: 8px; padding-block: 9px; }
  .ug-card { min-height: 88px; }
}

/* narrow viewports (Telegram Desktop with classic scrollbars ≈ 380px): every row must be able to shrink */
.panel,.panel>*,.bet,.bet-row,.bet-field,.bet-row>*,.mines-count,.seg,.bet-quick{min-width:0}
.bet-quick button,.seg button,.count-seg button{min-width:0;padding:0 4px}
.bet-step{flex:none}
.row2{grid-template-columns:repeat(2,minmax(0,1fr))}
.attrs{grid-template-columns:repeat(2,minmax(0,1fr))}
.cats{grid-template-columns:repeat(3,minmax(0,1fr))}
.lot-title h1,.attrs dd,.summary b,.gift-body b,.wd>div:last-child,.opt>span,.sheet-head>div{min-width:0;overflow-wrap:anywhere}
.sheet-head{gap:8px}
.gift-card{grid-template-columns:76px minmax(0,1fr)}
.opt>span,.search,.mrow,.cur-name,.ug-tabs button,.ug-tabs select{min-width:0}
.cur-name{overflow-wrap:anywhere}
.wallet-card .row2,.sheet-foot .row2,.sticky-actions{gap:8px}
.wallet-page .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.wallet-page .filters .chip{justify-content:center;min-width:0;padding-inline:5px;font-size:clamp(11px,3.2vw,13px)}
.screen{overflow-x:clip}
html,body{max-width:100%;overflow-x:hidden}
@media (prefers-reduced-motion: reduce){.nft-frame>.nft-img{transition:none}}

/* TON Connect row in the wallet */
.ton-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-align:left}
.ton-row.loading{opacity:.6;pointer-events:none}
.ton-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#0098ea,#2f6cf0);flex:none}.ton-ic svg{width:22px;height:22px}
.ton-txt{flex:1;display:grid;min-width:0}.ton-txt b{font-size:15px}.ton-txt small{color:var(--muted);font-size:12px}
.ton-go{color:var(--muted);font-size:22px;line-height:1}
.ton-row.linked{box-shadow:inset 0 0 0 1px #38d39f55}
tc-root,#tc-widget-root{position:relative;z-index:200}
.wager-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:#ffbf4714;box-shadow:inset 0 0 0 1px #ffbf4744}
.wr-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ffbf4726;font-size:20px;flex:none}

/* Crash scene follows the owner's video reference; betting and round controls are unchanged. */
.rocket-page .rk-stage{height:clamp(282px,78vw,338px);border-radius:22px;background:#0b111b;box-shadow:inset 0 0 0 1px #b4d4e420,0 12px 28px #03070e32}
.rocket-page .rk-big{font-size:clamp(45px,14.5vw,64px);letter-spacing:-.065em;line-height:1;filter:drop-shadow(0 4px 0 #050b1270)}
.rocket-page .rk-sub{font-size:10px;letter-spacing:.045em;color:#a7b9bd;line-height:1.4;margin-top:8px}
.rocket-page .rk-top{font-size:10px;letter-spacing:.16em;min-height:15px}
.rocket-page .rk-stage[data-phase=flying] .rk-center{inset:57% 0 auto}
.rocket-page .rk-stage[data-phase=flying] .rk-big{color:#ffe294;text-shadow:0 0 20px #ffd77629,0 3px 16px #06101b}
.rocket-page .rk-stage[data-phase=flying][data-tone=mid] .rk-big{color:#8cf0b0;text-shadow:0 0 22px #71ecac25,0 3px 16px #06101b}
.rocket-page .rk-stage[data-phase=flying][data-tone=high] .rk-big{color:#a4d9ff}
.rocket-page .rk-stage[data-phase=flying][data-tone=top] .rk-big{color:#dfbdff}
.rocket-page .rk-stage[data-phase=crashed] .rk-big{color:#ff5975;text-shadow:0 0 22px #ff4f6d29}
.rocket-page .rk-stage[data-phase=betting] .rk-big,.rocket-page .rk-stage[data-phase=closed] .rk-big{font-size:clamp(86px,26vw,110px);color:#f6efdf}
.rocket-page .rk-stage[data-phase=closed] .rk-sub{color:#c6bda5}
.rocket-page .rk-history{gap:6px}
.rocket-page .hc{border-radius:8px;font-size:10.5px;padding:5px 7px}
.rocket-page .rk-players{background:#151f2a;border-radius:18px;box-shadow:inset 0 0 0 1px #b3c7dc14}
.rocket-page .rkp-list li{background:#ffffff04}
