/* ===== PVM · игровые режимы (Коинфлип, Гонка шаров, Лёд и Пламя, Краш, Кейс-батлы) ===== */
.gi{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none;user-select:none}
.emb{display:block;width:100%;height:100%}
.tg{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:900;letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:rgba(170,140,255,.22);color:#e2d4ff;white-space:nowrap}
.tg.g{background:linear-gradient(180deg,#5ef0a4,#22b874);color:#06331f}
.tg.r{background:linear-gradient(180deg,#ff7a9a,#e23b64);color:#fff}
.tg.b{background:rgba(255,255,255,.12)}
.tg .star{width:10px;height:10px}
.mrow{display:flex;align-items:center;gap:8px}
.grow{flex:1;min-width:0}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.num{font-variant-numeric:tabular-nums}
.ok2{color:#5ef0a4}.bad2{color:#ff7a9a}

/* ---------- Главная: большие 3D-плитки ---------- */
.hhero{margin:6px 0 12px}
.hhero h1{margin:0;font-size:26px;font-weight:900;letter-spacing:-.4px}
.hhero .cap{margin-top:2px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{position:relative;isolation:isolate;height:168px;border-radius:26px;padding:14px 13px;overflow:hidden;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,var(--t1),var(--t2));box-shadow:0 0 0 1.5px rgba(236,210,255,.55),0 0 22px color-mix(in srgb,var(--t1) 55%,transparent),0 14px 26px rgba(4,0,30,.5),inset 0 2px 1px rgba(255,255,255,.45),inset 0 -4px 3px rgba(20,0,60,.35);transition:transform .15s}
.tile:active{transform:scale(.97)}
.tile.wide{grid-column:1/-1;height:150px}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 85% 10%,rgba(255,255,255,.28),transparent 55%),radial-gradient(90% 70% at 10% 110%,rgba(0,0,40,.35),transparent 60%)}
.tile::after{content:"";position:absolute;top:3px;left:16px;width:38%;height:3px;border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.85),transparent)}
.tile .te{position:absolute;right:-8px;top:-6px;width:118px;height:118px;z-index:-1;filter:drop-shadow(0 14px 16px rgba(10,0,40,.55));animation:tfloat 4.2s ease-in-out infinite;transform-origin:50% 60%}
.tile.wide .te{width:150px;height:150px;right:4px;top:-12px}
.tile:nth-child(2n) .te{animation-delay:-1.6s}
@keyframes tfloat{0%,100%{transform:perspective(300px) rotateY(-14deg) rotateX(8deg) translateY(0)}50%{transform:perspective(300px) rotateY(8deg) rotateX(-4deg) translateY(-6px)}}
.tile h3{margin:0;font-size:18px;font-weight:900;letter-spacing:-.2px;text-shadow:0 2px 8px rgba(20,0,60,.55)}
.tile p{margin:3px 0 0;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.85);text-shadow:0 1px 4px rgba(20,0,60,.5)}
.tile .tt{position:absolute;left:12px;top:12px;display:flex;gap:5px}
.tile .tt .tg{background:rgba(10,0,40,.38);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.tile .live{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5ef0a4;box-shadow:0 0 6px #5ef0a4;animation:pulse 1.4s infinite}
.tile.t-arena{--t1:#b45cf7;--t2:#4a1fae}
.tile.t-cf{--t1:#ff5fd2;--t2:#5a28c4}
.tile.t-race{--t1:#3ddc97;--t2:#2a3aa8}
.tile.t-tvt{--t1:#46b4ff;--t2:#ff6a2b}
.tile.t-tvt{background:linear-gradient(115deg,#2f8cff 0%,#3a2a9e 48%,#a8326a 52%,#ff7a2b 100%)}
.tile.t-crash{--t1:#ff9f43;--t2:#6b1fc0}
.tile.t-cb{--t1:#facc15;--t2:#8a3aec}
.hinv{margin-top:12px;padding:12px;border-radius:20px}
.hinv .strip{display:flex;gap:6px;margin-top:8px;overflow:hidden}
.hinv .strip>div{flex:none;width:42px;height:42px;border-radius:12px;padding:4px;background:rgba(15,6,50,.45);box-shadow:inset 0 0 0 1.5px var(--tc,#b088ff4d)}

/* ---------- Игры: стеклянные таблетки-переключатели ---------- */
.mpills{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:6px -12px 12px;padding:4px 12px 6px;scroll-snap-type:x proximity}
.mpills::-webkit-scrollbar{display:none}
.mpills button{position:relative;flex:none;display:flex;align-items:center;gap:7px;height:44px;padding:0 15px 0 7px;border-radius:999px;font-size:13.5px;font-weight:800;color:#d9ccff;background:linear-gradient(180deg,rgba(64,32,156,.75),rgba(38,16,104,.8));box-shadow:inset 0 0 0 1.5px rgba(170,130,255,.5),inset 0 1px 0 rgba(255,255,255,.2),0 4px 12px rgba(20,0,70,.35);scroll-snap-align:center;overflow:hidden;transition:transform .12s}
.mpills button .pe{width:32px;height:32px;flex:none;filter:drop-shadow(0 2px 4px rgba(10,0,40,.5))}
.mpills button::before{content:"";position:absolute;top:2px;left:14%;right:14%;height:42%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0))}
.mpills button.on{color:#fff;background:linear-gradient(180deg,#c06cff 0%,#8a3aec 100%);box-shadow:inset 0 0 0 1.5px rgba(240,210,255,.85),inset 0 2px 0 rgba(255,255,255,.4),0 0 18px rgba(180,90,255,.6)}
.mpills button.on::before{background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0))}
.mpills button:active{transform:scale(.95)}
.mpills button>*{position:relative}

.mhead{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.mhead .ttl{font-size:22px;font-weight:900;letter-spacing:-.3px}
.mhead .sub{font-size:11.5px;font-weight:700;color:var(--cap);margin-top:1px}
.mhead .icons .ib{width:34px;height:34px}
.mcard{padding:12px}
.mstat{display:flex;gap:8px;margin-bottom:10px}
.mstat>div{flex:1;padding:9px 11px;border-radius:16px;background:rgba(15,6,50,.4);box-shadow:inset 0 0 0 1.5px rgba(170,130,255,.28)}
.mstat b{display:flex;align-items:center;gap:4px;font-size:17px;font-weight:900;margin-top:2px}
.mstat .star{width:14px;height:14px}
.msec{display:flex;align-items:center;justify-content:space-between;margin:14px 2px 8px}
.msec .label{font-size:10px}
.memp{padding:22px 14px;text-align:center;color:var(--cap);font-size:13px;font-weight:700}
.memp .ic{font-size:32px;margin-bottom:6px}

/* gift thumbs */
.gth{display:flex;align-items:center;gap:3px}
.gth>i{flex:none;width:26px;height:26px;border-radius:8px;padding:2px;background:rgba(15,6,50,.5);box-shadow:inset 0 0 0 1px var(--tc,rgba(176,136,255,.35))}
.gth>em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--lav);padding-left:2px}
.gth.sm>i{width:20px;height:20px;border-radius:6px}

/* ---------- Ставка: лист ---------- */
.seg{display:flex;padding:4px;gap:4px;border-radius:16px;background:rgba(15,6,50,.45);box-shadow:inset 0 0 0 1.5px rgba(170,130,255,.3);margin:10px 0}
.seg button{flex:1;height:38px;border-radius:12px;font-size:13px;font-weight:800;color:var(--cap);display:flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden}
.seg button.on{color:#fff;background:linear-gradient(180deg,#b45cf7,#8a3aec);box-shadow:inset 0 0 0 1.5px rgba(236,200,255,.75),inset 0 2px 0 rgba(255,255,255,.3)}
.seg button .star{width:13px;height:13px}
.seg button em{font-style:normal;font-size:10px;font-weight:900;background:rgba(255,255,255,.2);border-radius:999px;padding:1px 6px}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:270px;overflow-y:auto;padding:2px;margin:4px 0 6px}
.ggrid.big{max-height:none}
.gcell{position:relative;border-radius:16px;padding:6px 4px 5px;background:linear-gradient(170deg,rgba(60,30,150,.7),rgba(26,10,80,.8));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tc) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;gap:3px;transition:transform .12s}
.gcell .gimg{width:100%;aspect-ratio:1;padding:2px;filter:drop-shadow(0 4px 6px rgba(0,0,30,.5))}
.gcell .gv{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:900}
.gcell .gv .star{width:10px;height:10px}
.gcell .gn{font-size:9px;font-weight:700;color:var(--cap);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcell.sel{box-shadow:inset 0 0 0 2px #fff,0 0 14px rgba(200,140,255,.8);background:linear-gradient(170deg,rgba(150,80,240,.85),rgba(70,30,170,.85))}
.gcell.sel::after{content:"✓";position:absolute;top:4px;right:5px;width:17px;height:17px;border-radius:50%;background:#5ef0a4;color:#06331f;font-size:11px;font-weight:900;display:grid;place-items:center}
.gcell.dis{opacity:.35}
.gcell:active{transform:scale(.95)}
.gcell .ch{position:absolute;top:4px;left:5px;font-size:9px;font-weight:900;color:#fff;background:rgba(10,0,40,.55);border-radius:6px;padding:1px 4px}
.sumbar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:16px;margin:8px 0;background:linear-gradient(170deg,rgba(80,40,180,.55),rgba(30,12,90,.6));box-shadow:inset 0 0 0 1.5px rgba(200,160,255,.45)}
.sumbar b{display:flex;align-items:center;gap:4px;font-size:18px;font-weight:900}
.sumbar .cap{font-size:11px}
.need{font-size:12px;font-weight:800;text-align:center;margin:4px 0;color:var(--lav)}
.need.bad{color:#ff7a9a}
.opt{display:flex;gap:6px;margin:6px 0}
.opt button{flex:1}
.sidepick{display:flex;gap:10px;margin:8px 0 4px}
.sidepick button{flex:1;border-radius:20px;padding:10px 6px 9px;display:flex;flex-direction:column;align-items:center;gap:6px;background:rgba(15,6,50,.45);box-shadow:inset 0 0 0 1.5px rgba(170,130,255,.3);font-weight:800;font-size:13px;color:var(--cap);transition:.15s}
.sidepick button .cn{width:58px;height:58px}
.sidepick button.on{color:#fff;box-shadow:inset 0 0 0 2px var(--sc),0 0 18px var(--sc);background:linear-gradient(180deg,color-mix(in srgb,var(--sc) 35%,transparent),rgba(15,6,50,.5))}
.autorow{display:flex;align-items:center;gap:10px;padding:8px 0}
.autorow input{width:90px;height:38px;border-radius:12px;border:1.5px solid rgba(170,130,255,.5);background:rgba(15,6,50,.55);color:#fff;font-weight:800;font-size:15px;text-align:center;outline:none}
.autorow .switch{flex:none}

/* ---------- coin ---------- */
.coinf{position:relative;width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,var(--c0) 0%,var(--c1) 42%,var(--c2) 100%);box-shadow:inset 0 0 0 4px rgba(255,255,255,.55),inset 0 0 0 9px var(--c2),inset 0 0 0 11px rgba(255,255,255,.35),inset 0 -8px 16px rgba(0,0,40,.35),0 0 0 2px rgba(255,255,255,.25)}
.coinf.pink{--c0:#ffe0f8;--c1:#ff4fd8;--c2:#a0149f}
.coinf.blue{--c0:#dff1ff;--c1:#3b9bff;--c2:#1a3aa8}
.coinf svg{width:52%;height:52%;filter:drop-shadow(0 3px 4px rgba(0,0,40,.45))}
.coinf::after{content:"";position:absolute;inset:10%;border-radius:50%;border:2px dashed rgba(255,255,255,.35)}
.c3d{position:relative;width:150px;height:150px;transform-style:preserve-3d}
.c3d>.coinf,.c3d>.ce{position:absolute;inset:0}
.c3d>.coinf{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.c3d>.coinf.back{transform:rotateX(180deg) translateZ(6px)}
.c3d>.coinf.front{transform:translateZ(6px)}
.c3d>.ce{border-radius:50%;background:linear-gradient(90deg,#8a5a12,#ffd56b 50%,#8a5a12)}
.coinstage{position:relative;height:250px;display:grid;place-items:center;perspective:700px}
.coinstage .glow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(200,120,255,.55),transparent 65%);filter:blur(6px);animation:pulse 2.4s infinite}
.coinstage .shadow{position:absolute;bottom:22px;width:120px;height:16px;border-radius:50%;background:rgba(0,0,30,.55);filter:blur(6px)}
.coinstage .cnum{position:absolute;inset:0;display:grid;place-items:center;font-size:84px;font-weight:900;color:#fff;text-shadow:0 0 30px rgba(220,150,255,.95),0 4px 10px rgba(30,0,80,.6);pointer-events:none;z-index:3}
.coinstage .cnum.pop{animation:cpop .9s ease-out}
@keyframes cpop{0%{transform:scale(1.8);opacity:0}25%{opacity:1}100%{transform:scale(.8);opacity:0}}
.roll{text-align:center;margin-top:-6px;min-height:58px}
.roll .rv{font-size:34px;font-weight:900;letter-spacing:-.5px;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(220,150,255,.7)}
.roll .rr{font-size:11px;font-weight:700;color:var(--cap);margin-top:2px}
.rbar{position:relative;height:10px;border-radius:999px;overflow:visible;margin:8px 4px 2px;background:linear-gradient(90deg,#ff4fd8 0 var(--p),#3b9bff var(--p) 100%);box-shadow:0 0 10px rgba(160,100,255,.5)}
.rbar i{position:absolute;top:-5px;width:4px;height:20px;border-radius:3px;background:#fff;box-shadow:0 0 8px #fff;left:var(--r);transform:translateX(-2px);transition:left .6s cubic-bezier(.2,.9,.3,1)}

/* coinflip lobby rows */
.cfrow{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 10px;margin-bottom:8px;border-radius:20px;background:linear-gradient(165deg,#381c8acc,#1e0c56cc);box-shadow:inset 0 0 0 1.5px #b088ff4d,inset 0 1px #ffffff1f;position:relative;overflow:hidden;animation:slidein .35s ease}
.cfrow.mine{box-shadow:inset 0 0 0 1.5px rgba(236,200,255,.85),0 0 16px rgba(190,120,255,.35)}
.cfrow .avw{position:relative;flex:none}
.cfrow .avw .sb{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px}
.cfrow .vs{display:flex;align-items:center;gap:4px;flex:none}
.cfrow .vs .x{font-size:10px;font-weight:900;color:var(--lav)}
.cfrow .inf{flex:1;min-width:0}
.cfrow .nm{font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfrow .tot{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:900;margin-top:3px}
.cfrow .tot .star{width:13px;height:13px}
.cfrow .meta{font-size:10.5px;font-weight:700;color:var(--cap);margin-top:3px;display:flex;gap:6px;align-items:center}
.cfrow .acts{display:flex;flex-direction:column;gap:5px;align-items:stretch;flex:none}
.pbtn{height:34px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:900;color:#fff;background:linear-gradient(180deg,#c06cff,#8a3aec);box-shadow:inset 0 0 0 1.5px rgba(240,210,255,.8),inset 0 2px 0 rgba(255,255,255,.35),0 0 12px rgba(180,90,255,.5);display:flex;align-items:center;justify-content:center;gap:5px;position:relative;overflow:hidden;white-space:nowrap}
.pbtn.g{background:linear-gradient(180deg,#5ef0a4,#1fa86a);color:#05301c;box-shadow:inset 0 0 0 1.5px rgba(220,255,235,.8),inset 0 2px 0 rgba(255,255,255,.4),0 0 12px rgba(80,230,160,.45)}
.pbtn.s{background:rgba(40,22,118,.6);box-shadow:inset 0 0 0 1.5px rgba(170,130,255,.5);color:#e2d4ff}
.pbtn.r{background:rgba(120,20,60,.45);box-shadow:inset 0 0 0 1.5px rgba(255,120,150,.6);color:#ffc2d1}
.pbtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pbtn:active{transform:scale(.95)}
.pbtn[disabled]{opacity:.5;pointer-events:none}

/* ---------- полноэкранный просмотр игры ---------- */
.mview{position:fixed;inset:0;z-index:40;overflow-y:auto;background:radial-gradient(120% 70% at 50% 0%,rgba(110,50,220,.6),rgba(10,3,40,.97) 70%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .25s;padding:12px 12px calc(30px + env(safe-area-inset-bottom))}
.mview.open{opacity:1}
.mview .in{max-width:390px;margin:0 auto}
.mview .vtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.mview .vtop .t{font-size:15px;font-weight:900}
.mview .vtop .t small{display:block;font-size:10.5px;color:var(--cap);font-weight:700}
.duel{display:flex;gap:8px;align-items:stretch}
.duel .pc{flex:1;min-width:0;border-radius:20px;padding:12px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;background:linear-gradient(170deg,color-mix(in srgb,var(--sc) 30%,#2b137a),#1b0b58);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--sc) 60%,transparent);transition:.4s;position:relative}
.duel .pc .avw{position:relative}
.duel .pc .avw .sb{position:absolute;right:-6px;bottom:-4px;width:26px;height:26px}
.duel .pc .nm{font-size:13px;font-weight:800;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duel .pc .v{display:flex;align-items:center;gap:3px;font-size:15px;font-weight:900}
.duel .pc .v .star{width:12px;height:12px}
.duel .pc .ch{font-size:11px;font-weight:800;color:var(--cap)}
.duel .pc.empty{opacity:.75;justify-content:center}
.duel .pc.empty .q{width:56px;height:56px;border-radius:50%;border:2px dashed rgba(200,170,255,.5);display:grid;place-items:center;font-size:22px;color:var(--lav)}
.duel .pc .res{position:absolute;top:-9px;left:50%;transform:translateX(-50%) scale(.6);opacity:0;font-size:11px;font-weight:900;letter-spacing:.12em;padding:3px 10px;border-radius:999px;transition:.4s cubic-bezier(.2,1.5,.4,1)}
.duel .pc.won{box-shadow:inset 0 0 0 2px #5ef0a4,0 0 24px rgba(94,240,164,.55);transform:scale(1.03)}
.duel .pc.won .res{opacity:1;transform:translateX(-50%) scale(1);background:linear-gradient(180deg,#5ef0a4,#1fa86a);color:#05301c}
.duel .pc.lost{filter:saturate(.4) brightness(.7);transform:scale(.96)}
.duel .pc.lost .res{opacity:1;transform:translateX(-50%) scale(1);background:linear-gradient(180deg,#ff7a9a,#c42a55);color:#fff}
.duel .mid{flex:none;display:grid;place-items:center;font-weight:900;color:var(--lav);font-size:13px}

/* ---------- Гонка ---------- */
.rcw{position:relative;border-radius:22px;overflow:hidden;height:430px;background:#140838;box-shadow:inset 0 0 0 1.5px #ba8cff99,0 10px 24px rgba(4,0,30,.45)}
.rcw canvas{position:absolute;inset:0;width:100%;height:100%}
.rcw .ov{position:absolute;left:0;right:0;top:104px;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.rcw .cdm{margin-top:4px;font-size:13px;font-weight:900;color:#fff;letter-spacing:.3px;text-shadow:0 2px 8px rgba(20,0,60,.9)}
.rcw .rmap{position:absolute;left:0;top:30px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:900;color:#fff;background:rgba(15,6,50,.72);box-shadow:inset 0 0 0 1.5px var(--c,#a466ff);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.rcw .rmap:empty{display:none}
.rcw .ran{position:absolute;left:50%;top:44px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 18px;border-radius:999px;background:linear-gradient(180deg,#8f4bff,#5a1fd0);box-shadow:0 0 0 2px #e3c8ff,0 8px 24px rgba(120,40,255,.6);color:#fff;pointer-events:none;white-space:nowrap;z-index:3}
.rcw .ran small{font-size:9.5px;font-weight:900;letter-spacing:1px;opacity:.85}
.rcw .ran b{font-size:16px;font-weight:900}
.rcw .ran.anp{animation:ranpop 2.6s ease-out forwards}
@keyframes ranpop{0%{transform:translateX(-50%) scale(.3);opacity:0}12%{transform:translateX(-50%) scale(1.12);opacity:1}20%{transform:translateX(-50%) scale(1)}85%{opacity:1}100%{opacity:0;transform:translateX(-50%) translateY(-10px)}}
.rcw .cd{font-size:96px;line-height:1;font-weight:900;color:#fff;text-shadow:0 0 40px rgba(220,150,255,.95),0 6px 14px rgba(30,0,80,.7)}
.rcw .cd.cdp{animation:rcpop 1s ease-out}
@keyframes rcpop{0%{transform:scale(1.7);opacity:0}15%{transform:scale(1);opacity:1}75%{opacity:.95}100%{transform:scale(.85);opacity:0}}
.rcw .hud{position:absolute;left:8px;right:8px;top:8px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.rcw .hud .pst{background:rgba(15,6,50,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.rcw .lead{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:rgba(15,6,50,.7);font-size:12px;font-weight:800;max-width:60%}
.rcw .prog{position:absolute;right:6px;top:52px;bottom:12px;width:6px;border-radius:6px;background:rgba(255,255,255,.1);pointer-events:none}
.rcw .prog i{position:absolute;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.4)}
.rcw .wait{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:13px;font-weight:800;color:#e2d4ff;text-shadow:0 2px 6px rgba(0,0,30,.8)}
.chance{font-size:11px;font-weight:900;color:#fff;background:rgba(255,255,255,.12);border-radius:999px;padding:2px 7px}
.balls{font-size:10.5px;font-weight:800;color:var(--cap)}

/* ---------- Лёд и Пламя ---------- */
.tvw{position:relative;border-radius:22px;overflow:hidden;height:250px;background:#140838;box-shadow:inset 0 0 0 1.5px #ba8cff99,0 10px 24px rgba(4,0,30,.45)}
.tvw canvas{position:absolute;inset:0;width:100%;height:100%}
.tvw .side{position:absolute;top:10px;display:flex;flex-direction:column;gap:2px;pointer-events:none;text-shadow:0 2px 6px rgba(0,0,30,.8)}
.tvw .side.l{left:12px}.tvw .side.r{right:12px;text-align:right;align-items:flex-end}
.tvw .side .n{font-size:12px;font-weight:900;letter-spacing:.12em}
.tvw .side .v{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:900}
.tvw .side .v .star{width:15px;height:15px}
.tvw .side .m{font-size:12px;font-weight:900;padding:2px 8px;border-radius:999px;background:rgba(10,0,40,.45);width:max-content}
.tvw .side .c{font-size:10.5px;font-weight:700;opacity:.85}
.tvw .ctr{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;pointer-events:none}
.tvw .big{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-size:30px;font-weight:900;letter-spacing:.06em;text-shadow:0 0 24px currentColor,0 4px 10px rgba(0,0,30,.7);opacity:0;transform:scale(.6);transition:.5s cubic-bezier(.2,1.5,.4,1)}
.tvw .big.on{opacity:1;transform:none}
.tvbtns{display:flex;gap:8px;margin-top:10px}
.tvbtns .btn{height:56px;font-size:16px}
.btn.ice{background:linear-gradient(180deg,#7fd3ff,#2a7de1);border-color:rgba(220,240,255,.75);box-shadow:0 0 20px rgba(80,170,255,.55),0 6px 18px rgba(10,30,120,.45)}
.btn.fire{background:linear-gradient(180deg,#ffb36b,#ff4d2b);border-color:rgba(255,230,210,.75);box-shadow:0 0 20px rgba(255,120,60,.55),0 6px 18px rgba(120,20,10,.45)}
.tvlist{display:flex;gap:8px;margin-top:4px}
.tvlist>div{flex:1;min-width:0}
.tvlist .prow{padding:7px 8px;gap:7px;margin-bottom:6px}
.tvlist .prow .nm{font-size:12px}
.tvlist .prow .ch{font-size:10.5px}
.tvh{display:flex;gap:4px;overflow:hidden;margin:2px 0 10px}
.tvh i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-style:normal}
.tvh i.ice{background:radial-gradient(circle at 35% 30%,#bfe8ff,#2a7de1)}
.tvh i.fire{background:radial-gradient(circle at 35% 30%,#ffd2a1,#ff4d2b)}

/* ---------- Краш ---------- */
.crw{position:relative;border-radius:22px;overflow:hidden;height:290px;background:radial-gradient(100% 80% at 50% 100%,#3a1590,#120634 70%);box-shadow:inset 0 0 0 1.5px #ba8cff99,0 10px 24px rgba(4,0,30,.45)}
.crw canvas{position:absolute;inset:0;width:100%;height:100%}
.crw .mx{position:absolute;left:0;right:0;top:34%;text-align:center;font-size:56px;font-weight:900;letter-spacing:-1px;font-variant-numeric:tabular-nums;text-shadow:0 0 30px rgba(220,150,255,.8),0 4px 10px rgba(0,0,30,.6);pointer-events:none}
.crw .mx.boom{color:#ff5f86;text-shadow:0 0 30px rgba(255,80,120,.9)}
.crw .mx small{display:block;font-size:13px;font-weight:800;letter-spacing:.04em;color:#ffc2d1}
.crw .bet{position:absolute;left:0;right:0;top:34%;text-align:center;pointer-events:none}
.crw .bet .t{font-size:13px;font-weight:800;color:var(--lav);letter-spacing:.04em}
.crw .bet .s{font-size:46px;font-weight:900;font-variant-numeric:tabular-nums}
.crw .bet .bar{width:60%;height:6px;border-radius:6px;margin:8px auto 0;background:rgba(255,255,255,.12);overflow:hidden}
.crw .bet .bar i{display:block;height:100%;background:linear-gradient(90deg,#c06cff,#ff5fd2);border-radius:6px}
.crhist{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;margin:0 0 10px;padding:1px}
.crhist::-webkit-scrollbar{display:none}
.crhist span{flex:none;font-size:11.5px;font-weight:900;padding:5px 9px;border-radius:999px;background:rgba(40,22,118,.65);box-shadow:inset 0 0 0 1.5px var(--hc);color:var(--hc)}
.cashbtn{height:62px;flex-direction:column;gap:0;line-height:1.1}
.cashbtn small{font-size:11.5px;font-weight:800;opacity:.92;display:flex;align-items:center;gap:4px}
.cashbtn small img{width:18px;height:18px}
.btn.cash{background:linear-gradient(180deg,#6ff5b0,#17a565);border-color:rgba(220,255,235,.8);box-shadow:0 0 24px rgba(80,230,160,.6);color:#04301b}
.crb .conv{display:flex;align-items:center;gap:5px;flex:none;padding:3px 8px 3px 3px;border-radius:999px;background:rgba(15,6,50,.55);box-shadow:inset 0 0 0 1.5px var(--tc,rgba(176,136,255,.35));font-size:11.5px;font-weight:900;white-space:nowrap}
.crb .conv i{width:24px;height:24px;flex:none}
.crb .conv.ok{background:rgba(20,90,60,.55);box-shadow:inset 0 0 0 1.5px rgba(94,240,164,.6);color:#bff7dc}
.crb .conv.lost{opacity:.6;color:#ff9db3;box-shadow:inset 0 0 0 1.5px rgba(255,120,150,.45)}

/* ---------- Кейсы ---------- */
.casegrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.casec{position:relative;border-radius:22px;padding:10px 10px 11px;display:flex;flex-direction:column;align-items:center;gap:6px;background:radial-gradient(90% 70% at 50% 30%,color-mix(in srgb,var(--cc) 40%,transparent),transparent 70%),linear-gradient(170deg,#2b137a,#1b0b58);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--cc) 60%,transparent),0 8px 18px rgba(4,0,30,.4);text-align:center;transition:transform .12s}
.casec:active{transform:scale(.96)}
.casec .nm{font-size:14px;font-weight:900}
.casec .pr{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:900;padding:4px 10px;border-radius:999px;background:rgba(10,0,40,.45)}
.casec .pr .star{width:12px;height:12px}
.casec .rt{position:absolute;top:8px;right:8px}
.casebox{position:relative;display:inline-block;flex:none;vertical-align:middle;width:96px;height:88px}
.casebox .bx{position:absolute;left:6px;right:6px;bottom:0;height:56px;border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 85%,#fff),color-mix(in srgb,var(--cc) 60%,#1b0b58));box-shadow:inset 0 2px 0 rgba(255,255,255,.55),inset 0 -6px 8px rgba(0,0,40,.35),0 8px 14px rgba(0,0,30,.45)}
.casebox .bx::before{content:"";position:absolute;left:-4px;right:-4px;top:-8px;height:16px;border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 60%,#fff),color-mix(in srgb,var(--cc) 80%,#1b0b58));box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 6px rgba(0,0,30,.35)}
.casebox .bx::after{content:"";position:absolute;left:50%;top:-8px;bottom:0;width:14px;margin-left:-7px;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35))}
.casebox .gi{position:absolute;left:22px;top:-4px;width:52px;height:52px;filter:drop-shadow(0 6px 8px rgba(0,0,30,.55));animation:tfloat 3.6s ease-in-out infinite}
.casebox.sm{width:46px;height:42px}
.casebox.sm .bx{left:3px;right:3px;height:27px;border-radius:7px}
.casebox.sm .bx::before{top:-5px;height:9px;left:-2px;right:-2px;border-radius:5px}
.casebox.sm .bx::after{top:-5px;width:7px;margin-left:-3.5px}
.casebox.sm .gi{left:10px;top:-2px;width:26px;height:26px;animation:none}
/* горизонтальная лента (CS-style) */
.strip{position:relative;height:130px;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#160843,#24106a 50%,#160843);box-shadow:inset 0 0 0 1.5px #ba8cff99}
.strip .tr{position:absolute;left:0;top:13px;display:flex;gap:6px;will-change:transform}
.strip .it{flex:none;width:96px;height:104px;border-radius:14px;padding:8px 6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(180deg,rgba(255,255,255,.06),color-mix(in srgb,var(--tc) 30%,transparent));box-shadow:inset 0 -3px 0 var(--tc),inset 0 0 0 1px rgba(255,255,255,.08)}
.strip .it .gi{width:64px;height:64px}
.strip .it b{font-size:11px;font-weight:900;display:flex;align-items:center;gap:2px}
.strip .it b .star{width:10px;height:10px}
.strip .mk{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:linear-gradient(180deg,#ffd45c,#fff,#ffd45c);box-shadow:0 0 12px #ffd45c;z-index:2}
.strip .mk::before,.strip .mk::after{content:"";position:absolute;left:50%;margin-left:-8px;border:8px solid transparent}
.strip .mk::before{top:0;border-top-color:#ffd45c}
.strip .mk::after{bottom:0;border-bottom-color:#ffd45c}
.strip .fade{position:absolute;inset:0;background:linear-gradient(90deg,#120636 0,transparent 22%,transparent 78%,#120636 100%);pointer-events:none;z-index:1}
.drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0 4px;animation:dropin .6s cubic-bezier(.2,1.4,.4,1)}
@keyframes dropin{0%{transform:scale(.5);opacity:0}100%{transform:none;opacity:1}}
.drop .gw{position:relative;width:150px;height:150px}
.drop .gw::before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tc) 70%,transparent),transparent 65%);animation:pulse 2s infinite}
.drop .gw .gi{position:relative;filter:drop-shadow(0 10px 14px rgba(0,0,30,.6))}
.drop .dn{font-size:18px;font-weight:900}
.drop .dv{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:900;color:var(--tc)}
.clist .ci{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:14px;margin-bottom:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 22%,transparent),rgba(20,8,60,.4));box-shadow:inset 3px 0 0 var(--tc)}
.clist .ci i{width:34px;height:34px;flex:none}
.clist .ci .n{flex:1;min-width:0;font-size:12.5px;font-weight:800}
.clist .ci .v{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:900}
.clist .ci .p{width:58px;text-align:right;font-size:11.5px;font-weight:800;color:var(--cap);font-variant-numeric:tabular-nums}
.checkrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px;font-size:13px;font-weight:700}
/* батлы */
.cbrow{padding:10px;margin-bottom:8px;border-radius:20px;background:linear-gradient(165deg,#381c8acc,#1e0c56cc);box-shadow:inset 0 0 0 1.5px #b088ff4d,inset 0 1px #ffffff1f;animation:slidein .35s ease}
.cbrow.mine{box-shadow:inset 0 0 0 1.5px rgba(236,200,255,.85),0 0 16px rgba(190,120,255,.35)}
.cbrow .cs{display:flex;gap:2px;overflow:hidden;flex:1;min-width:0}
.cbrow .sl{display:flex;align-items:center;gap:4px}
.cbrow .sl .e{width:30px;height:30px;border-radius:50%;border:1.5px dashed rgba(200,170,255,.55);display:grid;place-items:center;font-size:14px;color:var(--lav)}
.cbrow .sl .vsx{font-size:9px;font-weight:900;color:var(--lav)}
.bview .cols{display:grid;gap:6px}
.bview .col{min-width:0;border-radius:18px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;gap:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--sc) 22%,#22106a),#160845);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--sc) 55%,transparent);transition:.4s;position:relative}
.bview .col .nm{font-size:11.5px;font-weight:800;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bview .col .tt{display:flex;align-items:center;gap:3px;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.bview .col .tt .star{width:11px;height:11px}
.bview .col.won{box-shadow:inset 0 0 0 2px #5ef0a4,0 0 22px rgba(94,240,164,.5)}
.bview .col.lost{filter:saturate(.35) brightness(.7)}
.bview .col .res{font-size:10px;font-weight:900;letter-spacing:.1em;padding:2px 8px;border-radius:999px;min-height:18px}
.bview .col.won .res{background:linear-gradient(180deg,#5ef0a4,#1fa86a);color:#05301c}
.bview .col.lost .res{background:linear-gradient(180deg,#ff7a9a,#c42a55)}
.vreel{position:relative;width:100%;height:150px;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,#120636,#1d0c55,#120636);box-shadow:inset 0 0 0 1px rgba(200,160,255,.3)}
.vreel .tr{position:absolute;left:0;right:0;top:0;will-change:transform}
.vreel .it{height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.vreel .it .gi{width:48px;height:48px}
.vreel .it b{font-size:10px;font-weight:900;color:var(--tc)}
.vreel::before,.vreel::after{content:"";position:absolute;left:0;right:0;height:40px;z-index:1;pointer-events:none}
.vreel::before{top:0;background:linear-gradient(180deg,#120636,transparent)}
.vreel::after{bottom:0;background:linear-gradient(0deg,#120636,transparent)}
.vreel .ln{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:linear-gradient(90deg,transparent,#ffd45c,transparent);z-index:2;box-shadow:0 0 8px #ffd45c}
.vreel.hit{box-shadow:inset 0 0 0 2px var(--tc),0 0 16px var(--tc)}
.drops{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;min-height:24px}
.drops i{width:24px;height:24px;border-radius:7px;padding:2px;background:rgba(10,0,40,.45);box-shadow:inset 0 0 0 1px var(--tc)}
.rndbar{display:flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 10px;flex-wrap:wrap}
.rndbar .r{opacity:.4;transition:.3s}
.rndbar .r.on{opacity:1;transform:scale(1.15)}
.rndbar .r.done{opacity:.75}

/* профиль · инвентарь */
.invhead{display:flex;align-items:center;justify-content:space-between;margin:16px 2px 8px}
.invhead h2{margin:0;font-size:18px;font-weight:900}
.gsheet{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 8px}

/* Честная игра */
.fv{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(15,6,50,.55);box-shadow:inset 0 0 0 1.5px rgba(94,240,164,.35);font-size:12px;line-height:1.55}
.fv code{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:#fff;word-break:break-all}
.fv .okl{color:#5ef0a4;font-weight:900}
.fv .badl{color:#ff7a9a;font-weight:900}
.hrow{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:16px;margin-bottom:6px;background:linear-gradient(165deg,#381c8a99,#1e0c5699);box-shadow:inset 0 0 0 1.5px #b088ff4d}
.hrow .nm{font-size:13px;font-weight:800}
.hrow .mini2{font-size:10.5px;font-weight:700;color:var(--cap);margin-top:2px}
.hrow .r{text-align:right;font-size:13px;font-weight:900;white-space:nowrap}
.hrow .r .star{width:11px;height:11px}
.hrow .r .mini2{font-weight:800}
.mwin .wbox .gifts{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:100%}
.mwin .wbox .gifts i{width:40px;height:40px;border-radius:12px;padding:3px;background:rgba(10,0,40,.45);box-shadow:inset 0 0 0 1.5px var(--tc)}
.mwin .wbox .lbl.lose{color:#ff9db3}
.mwin .bigemb{width:96px;height:96px}
.madm h3 .tg{margin-left:6px}

.rcw .rnx{position:absolute;left:50%;top:40px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px 8px 6px 16px;border-radius:999px;background:rgba(15,6,50,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 0 0 1.5px #a466ff,0 8px 22px rgba(80,20,200,.5);color:#fff;pointer-events:none;white-space:nowrap;z-index:4}
.rcw .rnx small{font-size:13px;font-weight:800}
.rcw .rnx b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#ff5ad8,#7b2cff);font-size:17px;font-weight:900}
.rcw .rnx[hidden],.rcw .rwin[hidden]{display:none}
.rcw .rwin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 22px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(60,22,150,.94),rgba(22,8,70,.94));box-shadow:0 0 0 2px #ffd24a,0 0 40px rgba(255,210,74,.35),0 12px 30px rgba(0,0,0,.5);color:#fff;pointer-events:none;z-index:4;min-width:180px}
.rcw .rwin small{font-size:11px;font-weight:900;letter-spacing:1.2px;color:#ffe48a}
.rcw .rwin b{font-size:18px;font-weight:900;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcw .rwin .rw{font-size:13px;font-weight:800;color:#c9b8ff}
.rcw .rwin.me{box-shadow:0 0 0 2px #5ef0a4,0 0 40px rgba(94,240,164,.4),0 12px 30px rgba(0,0,0,.5)}
.rcw .rwin.wpop{animation:rwpop .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes rwpop{from{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
/* race rooms toggle */
.rroom{display:flex;gap:4px;padding:4px;margin:0 0 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.rroom button{flex:1;border:0;border-radius:999px;padding:8px 6px;font:800 13px system-ui,sans-serif;color:rgba(255,255,255,.7);background:transparent;transition:background .2s,color .2s}
.rroom button em{font-style:normal;font-weight:700;font-size:11px;opacity:.75;margin-left:2px}
.rroom button.on{color:#fff;background:linear-gradient(135deg,#8a4dff,#d24dff);box-shadow:0 4px 14px rgba(160,80,255,.35)}
.rroom button:last-child.on{background:linear-gradient(135deg,#f0b400,#ff7a2a);color:#1d0d00}
.bfield .bunit{font-size:20px;line-height:1}
.qchip .qb{display:inline-block;width:9px;height:9px;margin-left:3px;border-radius:50%;vertical-align:0;background:radial-gradient(circle at 35% 30%,#fff,#c79bff 35%,#6a2bd8)}
