/* ═══════════════ SCAM CASINO Casino · «Midnight Vault» ═══════════════
   near-black + тёплый белый + скупое металлическое золото (грамы = золото).
   Дизайн-токены, зерно против банминга, tabular-mono деньги, глубина. */
:root{
  --bg0:#0A0B0D; --bg1:#111318; --surface:#171A21; --surface-hi:#1F232C;
  --line:#262B36; --line-gold:rgba(245,194,75,.22);
  --txt:#F5F3EC; --mid:#9CA3B0; --dim:#5C6373;
  --gold:#F5C24B; --gold-hi:#FFE08A; --gold-lo:#B8860B;
  --green:#3BE38B; --red:#FF4D5E;
  --coin:radial-gradient(120% 120% at 30% 22%,#FFE9A8 0%,#F0A83C 46%,#9C6B18 100%);
  --gold-face:linear-gradient(135deg,#C98A1E 0%,#F5C24B 20%,#FFE9A8 40%,#F5C24B 56%,#B8790F 100%);
  --sh1:0 1px 2px rgba(0,0,0,.4);
  --sh2:0 12px 28px -12px rgba(0,0,0,.6);
  --sh3:0 20px 48px -16px rgba(0,0,0,.72);
  --sh-gold:0 6px 20px -4px rgba(245,194,75,.45);
  --sh-win:0 0 24px -2px rgba(59,227,139,.5);
  /* easing */
  --e-std:cubic-bezier(.2,0,0,1); --e-decel:cubic-bezier(.05,.7,.1,1);
  --e-accel:cubic-bezier(.3,0,.8,.15); --e-back:cubic-bezier(.34,1.56,.64,1);
  --e-count:cubic-bezier(.16,1,.3,1);
  --safe-t:var(--tg-content-safe-area-inset-top,0px);
  --safe-b:var(--tg-safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}   /* hidden должен скрывать даже flex-элементы */
html,body{margin:0;height:100%;overflow:hidden;position:fixed;width:100%}
body{
  background:radial-gradient(140% 100% at 50% -10%,#14161C 0%,var(--bg0) 60%);
  color:var(--txt);
  font:500 15px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  user-select:none;-webkit-user-select:none;
}
/* зерно-оверлей: убивает банминг тёмных градиентов — «designed», не «AI default» */
body::before{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.03;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* деньги/цифры — фиксированная ширина, без джиттера */
.num,.bal,.betbox,.betbox input,.verdict,.stat .v,.chip,.mult{
  font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"tnum" 1,"zero" 1;
}
#app{display:flex;flex-direction:column;height:100dvh;height:var(--tg-viewport-stable-height,100dvh)}

/* ── шапка (стекло) ── */
.topbar{
  display:flex;align-items:center;gap:10px;padding:calc(11px + var(--safe-t)) 14px 11px;
  background:rgba(17,19,24,.72);backdrop-filter:blur(20px) saturate(140%);
  position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(255,255,255,.06);
}
.brand{display:flex;align-items:center;gap:6px;font-weight:800;font-size:15px;letter-spacing:-.02em;white-space:nowrap;flex-shrink:0}
.bal{flex:1 1 auto;min-width:0;max-width:52%;overflow:hidden;justify-content:flex-end}
.brand .logo{width:22px;height:22px;border-radius:50%;background:var(--coin);flex-shrink:0;position:relative;
  box-shadow:inset 0 0 0 1.5px rgba(255,233,168,.6),inset 0 -2px 4px rgba(120,80,20,.5),0 1px 3px rgba(0,0,0,.5)}
.brand .logo::after{content:"Г";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:900;color:#7a4e12}
/* заголовочная иконка + иконка в цветном контейнере */
.h .hico{display:inline-flex;align-items:center}
.ic,.hico svg,.big-ico svg{display:block}
.big-ico{filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));line-height:0}
.big-ico.roll{animation:spin .55s var(--e-back)}
.gcard .ico{line-height:0}
.gcard .ico svg,.dep-st svg{display:block}
.dep-st{display:flex;align-items:center;justify-content:center;gap:6px}
.dep-st .star-ic{display:inline-flex;color:var(--gold-hi)}
.lb .lbv,.stat .v{display:flex;align-items:center;gap:5px}
.lb .lbv{justify-content:flex-end}
.beta-badge{font-size:9px;font-weight:900;letter-spacing:1px;padding:2px 6px;border-radius:6px;
  background:var(--gold-face);color:#241a00;transform:translateY(-1px);box-shadow:var(--sh1)}
.bonus-chip{margin-left:auto;border:none;border-radius:999px;min-width:38px;height:38px;padding:0 10px;flex-shrink:0;gap:5px;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;
  background:linear-gradient(135deg,#FF8A4B,#FF4D5E);color:#fff;box-shadow:0 4px 14px rgba(255,77,94,.4)}
.bonus-chip.ready{animation:breathe 2.6s var(--e-std) infinite}
.bonus-chip.cool{background:var(--surface-hi);color:var(--mid);box-shadow:var(--sh1)}
.bonus-chip .bc-t:empty{display:none}
@keyframes breathe{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.1)}}
.bal{margin-left:auto;display:flex;align-items:center;gap:7px;font-weight:800;font-size:17px;letter-spacing:-.01em;
  background:linear-gradient(180deg,var(--surface-hi),var(--surface));border:1px solid var(--line-gold);
  border-radius:999px;padding:7px 15px 7px 8px;box-shadow:inset 0 1px 0 rgba(255,224,138,.12),var(--sh1)}
.bonus-chip:not([hidden])+.bal{margin-left:8px}
.coin{width:15px;height:15px;border-radius:50%;background:var(--coin);display:inline-block;flex-shrink:0;vertical-align:-2px;
  box-shadow:inset 0 0 0 1px rgba(255,233,168,.55),inset 0 -2px 3px rgba(120,80,20,.5)}
.bal .coin{width:20px;height:20px;border-radius:50%;background:var(--coin);display:inline-block;
  box-shadow:inset 0 0 0 1.5px rgba(255,233,168,.6),inset 0 -2px 4px rgba(120,80,20,.6),0 1px 3px rgba(0,0,0,.5);
  position:relative}
.bal .coin::after{content:"Г";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:900;color:#7a4e12;text-shadow:0 1px 0 rgba(255,240,200,.4)}
.bal.flash #balNum,.bal.flash{animation:balpop .5s var(--e-back)}
@keyframes balpop{0%{transform:scale(1)}45%{transform:scale(1.12);color:var(--gold-hi)}100%{transform:scale(1)}}

/* ── скролл-экран ── */
#screen{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding:16px 14px calc(22px + var(--safe-b));-webkit-overflow-scrolling:touch}
.h{font-weight:800;font-size:20px;letter-spacing:-.02em;margin:2px 2px 4px;display:flex;align-items:center;gap:8px}
.sub{color:var(--dim);font-size:13px;margin:2px 2px 16px}

/* ── сетка игр ── */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.gcard{position:relative;border-radius:16px;padding:15px 14px;min-height:112px;overflow:hidden;cursor:pointer;
  background:var(--surface);border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),var(--sh1),var(--sh2);
  display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .12s var(--e-std),filter .12s;will-change:transform}
.gcard:active{transform:scale(.96);filter:brightness(1.06)}
.gcard .ico{font-size:34px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.gcard .nm{font-weight:800;font-size:15px;letter-spacing:-.01em}
.gcard .tg{position:absolute;top:11px;right:11px;font-size:10px;font-weight:800;letter-spacing:.4px;
  padding:3px 7px;border-radius:8px;background:rgba(245,194,75,.14);color:var(--gold)}
.gcard.soon{opacity:.42}
.gcard.soon .tg{background:rgba(138,151,173,.14);color:var(--dim)}
.gcard.hot{background:linear-gradient(180deg,#1C1E22,#16171B);border-color:var(--line-gold);
  box-shadow:inset 0 1px 0 rgba(255,224,138,.1),0 0 0 1px rgba(245,194,75,.06),0 16px 40px -16px rgba(0,0,0,.7)}
.gcard.big{grid-column:span 2;min-height:120px;flex-direction:row;align-items:center;gap:14px}
.gcard.big .ico{font-size:48px}
.gcard.big .txt .nm{font-size:19px}
.gcard.big .txt .d{color:var(--mid);font-size:12px;margin-top:3px}
.gcard.hot::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
  background:radial-gradient(120% 80% at 85% 20%,rgba(245,194,75,.14),transparent 60%)}

/* ── стол игры ── */
.backlink{display:inline-flex;align-items:center;gap:4px;color:var(--mid);font-weight:700;font-size:14px;
  background:none;border:none;cursor:pointer;margin-bottom:8px;padding:4px 2px}
.table{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),var(--sh2)}
.stage{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  border-radius:14px;background:radial-gradient(90% 100% at 50% 0%,#12161F,#0C1017);border:1px solid var(--line);
  padding:22px;margin-bottom:16px;position:relative;overflow:hidden}
.stage .big-emoji{font-size:66px;line-height:1;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}
.stage .big-emoji.roll{animation:spin .55s var(--e-back)}
@keyframes spin{0%{transform:rotate(-40deg) scale(.7);opacity:.4}100%{transform:rotate(360deg) scale(1);opacity:1}}
.verdict{font-weight:900;font-size:22px;letter-spacing:-.02em}
.verdict.win{color:var(--green);text-shadow:0 0 20px rgba(59,227,139,.45);animation:pop .28s var(--e-back)}
.verdict.lose{color:var(--red)}
.verdict.push{color:var(--gold)}
@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.stage .hint{color:var(--mid);font-size:13px;text-align:center;max-width:240px}
.dice-row{display:flex;gap:20px;align-items:center;justify-content:center}
.lot{width:104px;height:104px}
.lot-big{width:190px;height:190px;margin:0 auto}
.lot svg{display:block;width:100%;height:100%}
.verdict-slot{min-height:30px;margin-top:8px;display:flex;justify-content:center;align-items:center}
.dice-row .vs{color:var(--dim);font-weight:800;font-size:13px}

/* ── стороны спорта ── */
.sides{display:flex;gap:10px;margin-bottom:14px}
.side-btn{flex:1;border:1px solid var(--line);background:var(--surface-hi);color:var(--txt);border-radius:14px;
  padding:14px 8px;font-weight:800;font-size:15px;cursor:pointer;display:flex;flex-direction:column;gap:3px;
  align-items:center;transition:transform .12s var(--e-std),border-color .15s,background .15s}
.side-btn .x{font-size:12px;color:var(--gold);font-weight:800}
.side-btn.sel{border-color:var(--gold);background:linear-gradient(135deg,rgba(245,194,75,.16),rgba(245,194,75,.04));
  box-shadow:inset 0 1px 0 rgba(255,224,138,.12)}
.side-btn:active{transform:scale(.95)}

/* ── ставка ── */
.betline{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.betline .lbl{color:var(--dim);font-size:13px}
.betbox{margin-left:auto;display:flex;align-items:center;gap:7px;background:var(--bg1);border:1px solid var(--line);
  border-radius:12px;padding:8px 13px;font-weight:800;font-size:16px}
.betbox .coin{width:17px;height:17px;border-radius:50%;background:var(--coin);
  box-shadow:inset 0 0 0 1px rgba(255,233,168,.5)}
.betbox input{width:158px;max-width:52vw;background:none;border:none;color:var(--txt);font-weight:800;font-size:15px;
  text-align:right;outline:none;font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.chip{flex:1;min-width:52px;border:1px solid var(--line);background:var(--surface-hi);color:var(--txt);
  border-radius:12px;padding:10px 4px;font-weight:800;font-size:13px;cursor:pointer;transition:transform .1s var(--e-std)}
.chip:active{transform:scale(.93)}
.chip.max{color:var(--gold);border-color:var(--line-gold);background:linear-gradient(180deg,rgba(245,194,75,.1),transparent)}

/* ── главная кнопка (золото с блеском + глубина) ── */
.play{position:relative;width:100%;border:none;border-radius:15px;padding:17px;font-weight:900;font-size:17px;
  letter-spacing:.2px;color:#241800;cursor:pointer;overflow:hidden;
  background:var(--gold-face);background-size:200% 100%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(120,80,20,.4),var(--sh-gold),0 8px 24px rgba(0,0,0,.4);
  transition:transform .12s var(--e-std),box-shadow .12s,filter .12s;will-change:transform}
.play::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);animation:sheen 4.5s ease-in-out infinite}
@keyframes sheen{0%,72%{left:-60%}86%,100%{left:130%}}
.play:active{transform:scale(.98);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(120,80,20,.4),0 3px 12px rgba(0,0,0,.4);filter:brightness(1.05)}
.play:disabled{opacity:.55;box-shadow:none}
.play:disabled::after{display:none}

/* ── строки наград/профиля ── */
.row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:15px 16px;margin-bottom:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),var(--sh1)}
.row .ri{display:flex;align-items:center;flex-shrink:0}
.row .ri svg{width:26px;height:26px}
.row .rt{font-weight:800;letter-spacing:-.01em}
.row .rd{color:var(--dim);font-size:12px;margin-top:2px}
.row .rb{margin-left:auto;border:none;border-radius:12px;padding:10px 16px;font-weight:800;font-size:13px;
  background:var(--gold-face);color:#241800;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--sh1)}
.row .rb:disabled{background:var(--surface-hi);color:var(--dim);box-shadow:none}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),var(--sh1)}
.stat .v{font-weight:900;font-size:21px;letter-spacing:-.02em}
.stat .k{color:var(--dim);font-size:12px;margin-top:3px}

/* ── toast ── */
.toast{position:fixed;left:50%;bottom:calc(94px + var(--safe-b));transform:translateX(-50%) translateY(30px);
  background:rgba(31,35,44,.92);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;
  padding:12px 18px;font-weight:800;opacity:0;pointer-events:none;transition:.28s var(--e-decel);z-index:20;
  max-width:88%;text-align:center;box-shadow:var(--sh3)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.win{border-color:var(--green);color:#c9ffd8;box-shadow:var(--sh-win),var(--sh3)}
.toast.lose{border-color:var(--red);color:#ffd0d5}
.toast.push{border-color:var(--gold);color:#ffe9b0}

/* ── таббар (стекло) ── */
.tabbar{display:flex;background:rgba(17,19,24,.82);backdrop-filter:blur(20px) saturate(140%);
  border-top:1px solid rgba(255,255,255,.06);padding-bottom:var(--safe-b)}
.tab{flex:1;background:none;border:none;color:var(--dim);font-weight:700;font-size:11px;padding:10px 0 9px;
  display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:color .15s}
.tab span{opacity:.6;transition:.15s;display:flex}
.tab span svg{width:23px;height:23px}
.tab.active{color:var(--gold)}
.tab.active span{filter:none;opacity:1;transform:translateY(-1px)}

/* ── прочее ── */
.center{text-align:center;color:var(--mid);padding:40px 20px}
/* флипающая монета вместо спиннера */
.spin{width:44px;height:44px;margin:64px auto;border-radius:50%;background:var(--coin);
  box-shadow:inset 0 0 0 2px rgba(255,233,168,.6),inset 0 -3px 6px rgba(120,80,20,.6),0 4px 12px rgba(0,0,0,.5);
  animation:flip 1.1s var(--e-std) infinite}
@keyframes flip{0%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}

/* ═══════════════ КРАШ ═══════════════ */
.crash-hist{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 0 12px;scrollbar-width:none;-ms-overflow-style:none;
  touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:none}
.crash-hist::-webkit-scrollbar{display:none}
.cpill{flex:none;font-size:12.5px;font-weight:800;padding:6px 11px;border-radius:9px;
  font-variant-numeric:tabular-nums;background:rgba(58,67,88,.4);color:#8390a8;user-select:none}
.cpill.g{background:rgba(59,227,139,.14);color:var(--green)}
.cpill.gold{background:rgba(245,194,75,.16);color:var(--gold)}
.cpill.moon{background:rgba(139,92,255,.18);color:#a97bff}
.crash-stage{position:relative;height:34dvh;min-height:220px;max-height:340px;border-radius:18px;overflow:hidden;
  margin-bottom:12px;border:1px solid var(--line);
  background:radial-gradient(120% 90% at 50% 100%,#141b2b 0%,#0A0B0D 70%)}
.crash-stage canvas{position:absolute;inset:0;width:100%;height:100%}
/* участники раунда */
.cr-players{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cr-players-h{padding:11px 14px;font-weight:800;font-size:13px;color:var(--mid);border-bottom:1px solid var(--line)}
#cplist{max-height:34dvh;overflow-y:auto}
.cr-bet{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.03);font-size:13px}
.cr-bet:last-child{border-bottom:none}
.cr-bet .cr-bn{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-bet .cr-ba{color:var(--mid);font-weight:700;display:flex;align-items:center;gap:4px}
.cr-bet .cr-bx{font-weight:800;min-width:56px;text-align:right}
.cr-bet .cr-bx.dim{color:var(--dim);font-weight:600}
.cr-bet.won{background:linear-gradient(90deg,rgba(59,227,139,.08),transparent)}
.cr-bet.won .cr-bx{color:var(--green)}
.cr-empty{padding:16px;text-align:center;color:var(--dim);font-size:13px}
.crash-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  pointer-events:none;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.crash-mult{font-size:clamp(48px,15vw,78px);font-weight:900;letter-spacing:-.03em;line-height:1;
  color:var(--txt);transition:color .2s,transform .15s var(--e-back)}
.crash-mult.flying{color:var(--green)}
.crash-mult.hot{color:var(--gold)}
.crash-mult.boom{color:var(--red);text-shadow:0 0 30px rgba(255,77,94,.6)}
.crash-mult.punch{transform:scale(1.12)}
.crash-sub{margin-top:8px;font-size:13px;font-weight:700;color:var(--mid)}
.crash-sub.boom{color:var(--red)}
.crash-stage.shake{animation:shake .34s var(--e-std)}
@keyframes shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-7px)}30%{transform:translateX(6px)}
  45%{transform:translateX(-5px)}60%{transform:translateX(4px)}80%{transform:translateX(-2px)}}
.crash-cta{transition:transform .12s var(--e-std),background .25s,box-shadow .25s,filter .12s}
.crash-cta.flying{background:linear-gradient(135deg,#FFB84D,#FF8A3C);color:#241800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 20px -4px rgba(255,138,60,.5);animation:none}
.crash-cta.flying::after{display:none}
.crash-cta.cashed{background:linear-gradient(135deg,#3BE38B,#1Fc76f);color:#052012;
  box-shadow:var(--sh-win)}
.crash-cta.cashed::after{display:none}
.crash-cta.boom{background:var(--surface-hi);color:var(--dim);box-shadow:none}
.crash-cta.boom::after{display:none}
/* оверлей частиц (coin-burst / крах) */
#fxcanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}

/* ═══════════════ входы / скелетоны / лидерборд ═══════════════ */
.screen-in{animation:screenIn .34s var(--e-decel)}
@keyframes screenIn{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.screen-in .gcard,.screen-in .row,.screen-in .stat,.screen-in .lb{animation:itemIn .42s var(--e-decel) both}
@keyframes itemIn{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:none}}
.screen-in .gcard:nth-child(2),.screen-in .lb:nth-child(2),.screen-in .row:nth-child(2),.screen-in .stat:nth-child(2){animation-delay:.04s}
.screen-in .gcard:nth-child(3),.screen-in .lb:nth-child(3),.screen-in .row:nth-child(3),.screen-in .stat:nth-child(3){animation-delay:.08s}
.screen-in .gcard:nth-child(4),.screen-in .lb:nth-child(4),.screen-in .row:nth-child(4),.screen-in .stat:nth-child(4){animation-delay:.12s}
.screen-in .gcard:nth-child(5),.screen-in .lb:nth-child(5),.screen-in .row:nth-child(5){animation-delay:.16s}
.screen-in .gcard:nth-child(6),.screen-in .lb:nth-child(6),.screen-in .row:nth-child(6){animation-delay:.2s}
.screen-in .gcard:nth-child(7),.screen-in .lb:nth-child(7){animation-delay:.24s}
.screen-in .gcard:nth-child(n+8),.screen-in .lb:nth-child(n+8){animation-delay:.28s}

.sk{background:linear-gradient(100deg,#1A1E27 30%,#252B38 50%,#1A1E27 70%);background-size:200% 100%;
  animation:shimmer 1.25s linear infinite;border:1px solid var(--line)}
.sk-card{height:112px;border-radius:16px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.lb{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:12px 14px;margin-bottom:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),var(--sh1)}
.lb .lbr{width:30px;text-align:center;font-size:20px;flex:none}
.lb .lbr .rk{font-size:13px;font-weight:800;color:var(--dim)}
.lb .lbn{font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}
.lb .lbv{font-weight:800;color:var(--gold);font-size:14px;flex:none}
.lb.top3{border-color:var(--line-gold);background:linear-gradient(180deg,#1C1E22,#16171B)}
.lb.me{border-color:rgba(77,157,255,.4);background:linear-gradient(180deg,rgba(77,157,255,.09),transparent)}
.lb.me .lbn{color:#6db0ff}

/* ═══════════════ МИНЫ ═══════════════ */
.mines-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.mn-info{color:var(--mid);font-size:13px;font-weight:600}
.mn-cash{font-weight:900;color:var(--gold);font-size:16px}
.mgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}
.mgrid.shake{animation:shake .34s var(--e-std)}
.mtile{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--surface-hi);
  cursor:pointer;transition:transform .1s var(--e-std),background .2s,border-color .2s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),var(--sh1);display:flex;align-items:center;justify-content:center;font-size:24px}
.mtile:not(:disabled):active{transform:scale(.9)}
.mtile:disabled{cursor:default}
.mtile.gem{background:radial-gradient(120% 120% at 50% 38%,#173a2b,#0e1f17);border-color:rgba(59,227,139,.45);
  box-shadow:inset 0 0 12px rgba(59,227,139,.15);animation:gempop .32s var(--e-back)}
.mtile svg{width:22px;height:22px}
.mtile.bomb svg{color:#ff6a6a}
.mtile.bomb{background:radial-gradient(120% 120% at 50% 38%,#3a1519,#1c0e10);border-color:rgba(255,77,94,.3);opacity:.9}
.mtile.bomb.hit{border-color:var(--red);opacity:1;box-shadow:0 0 20px -2px rgba(255,77,94,.6);animation:pop .3s var(--e-back)}
@keyframes gempop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.mn-opts{display:flex;gap:8px;margin-bottom:12px}
.mn-opt{flex:1;border:1px solid var(--line);background:var(--surface-hi);color:var(--txt);border-radius:12px;
  padding:11px;font-weight:800;font-size:14px;cursor:pointer;transition:.12s}
.mn-opt:active{transform:scale(.95)}
.mn-opt.sel{border-color:var(--gold);background:linear-gradient(135deg,rgba(245,194,75,.16),transparent);color:var(--gold)}

/* ═══════════════ ПОПОЛНЕНИЕ ═══════════════ */
/* сегмент-контрол (топ/депозит) */
.seg{display:flex;gap:6px;background:var(--bg1);border:1px solid var(--line);border-radius:13px;padding:4px;margin:2px 0 16px}
.seg-b{flex:1;border:none;background:none;color:var(--mid);font-weight:800;font-size:13px;padding:9px 4px;border-radius:9px;cursor:pointer;transition:.15s}
.seg-b.on{background:var(--surface-hi);color:var(--txt);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),var(--sh1)}
.wd-inp{width:100%;background:var(--bg1);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--txt);
  font-size:15px;font-weight:600;outline:none}
.wd-inp::placeholder{color:var(--dim)}
.dep-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.dep{border:1px solid var(--line-gold);border-radius:16px;padding:18px 14px;cursor:pointer;color:var(--txt);text-align:center;
  background:linear-gradient(180deg,#1C1E22,#16171B);box-shadow:inset 0 1px 0 rgba(255,224,138,.1),var(--sh1);
  transition:transform .12s var(--e-std)}
.dep:active{transform:scale(.96)}
.dep-st{font-size:20px;font-weight:900;color:var(--gold-hi)}
.dep-gr{color:var(--mid);font-size:13px;font-weight:700;margin-top:4px}

/* ═══════════════ ЛЕНДИНГ ═══════════════ */
.landing{display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;
  min-height:calc(var(--tg-viewport-stable-height,100dvh) - 74px);padding:16px 20px}
.landing::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(circle at 22% 26%,rgba(245,194,75,.07),transparent 26%),
             radial-gradient(circle at 82% 68%,rgba(245,194,75,.05),transparent 24%)}
.lhero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;position:relative;z-index:2}
.lcoin{width:112px;height:112px;border-radius:50%;background:var(--coin);display:flex;align-items:center;justify-content:center;
  font-size:54px;font-weight:900;color:#7a4e12;text-shadow:0 2px 0 rgba(255,240,200,.55);
  box-shadow:inset 0 0 0 4px rgba(255,233,168,.6),inset 0 -8px 16px rgba(120,80,20,.5),0 14px 44px rgba(245,194,75,.3);
  animation:coinfloat 3.2s ease-in-out infinite}
@keyframes coinfloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(4deg)}}
.lbrand{font-size:34px;font-weight:900;letter-spacing:-.03em;
  background:var(--gold-face);-webkit-background-clip:text;background-clip:text;color:transparent}
.ltag{color:var(--mid);font-size:15px;max-width:270px;line-height:1.4}
.lfeat{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.lfeat span{font-size:12px;font-weight:800;padding:7px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.lcta{position:relative;z-index:2;padding-bottom:calc(8px + var(--safe-b))}
.lnote{text-align:center;color:var(--dim);font-size:12px;margin-top:11px}

/* ═══════════════ ПЛИНКО ═══════════════ */
.plk-stage{position:relative;height:38dvh;min-height:230px;max-height:360px;border-radius:14px;overflow:hidden;
  background:radial-gradient(90% 100% at 50% 0%,#12161F,#0C1017);border:1px solid var(--line);margin-bottom:10px}
.plk-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.plk-buckets{display:flex;gap:3px;margin-bottom:14px}
.plkbk{flex:1;text-align:center;font-size:12px;font-weight:800;padding:7px 2px;border-radius:8px;
  background:var(--surface-hi);border:1px solid var(--line);transition:transform .2s var(--e-back),box-shadow .2s}
.plkbk.hit{transform:translateY(-3px) scale(1.1);box-shadow:0 5px 16px rgba(245,194,75,.4);border-color:var(--gold)}

/* ═══════════════ КОЛЕСО ═══════════════ */
.wheel-wrap{position:relative;width:min(80vw,330px);aspect-ratio:1;margin:14px auto 26px}
.wheel-glow{position:absolute;inset:-8%;border-radius:50%;z-index:0;
  background:radial-gradient(closest-side,rgba(160,107,255,.30),transparent 70%);filter:blur(6px);opacity:.7}
.wheel-outer{position:absolute;inset:0;border-radius:50%;z-index:1;padding:9px;
  background:conic-gradient(from 0deg,#6a5220,#F5C24B,#8a6a1e,#FFE9A8,#6a5220,#F5C24B,#8a6a1e,#FFE9A8,#6a5220);
  box-shadow:0 0 0 2px rgba(0,0,0,.5),0 18px 46px -12px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,233,168,.5)}
.wheel{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(10,11,13,.9);
  box-shadow:inset 0 0 40px rgba(0,0,0,.6);will-change:transform;overflow:hidden}
.wheel-lb{position:absolute;left:calc(50% - 16px);top:0;width:32px;height:50%;
  transform-origin:center bottom;text-align:center;padding-top:11px;pointer-events:none;
  font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75)}
.wheel-lb.big{font-size:13px;color:#FFE9A8;text-shadow:0 0 6px rgba(255,224,138,.7),0 1px 2px #000}
.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:58px;height:58px;border-radius:50%;
  background:var(--coin);display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 3px rgba(255,233,168,.65),inset 0 -3px 7px rgba(120,80,20,.55),0 0 0 4px rgba(10,11,13,.85),0 4px 12px rgba(0,0,0,.6)}
.wheel-hub span{font-size:26px;font-weight:900;color:#7a4e12;text-shadow:0 1px 0 rgba(255,240,200,.5)}
.wheel-ptr{position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:5;width:0;height:0;
  border-left:13px solid transparent;border-right:13px solid transparent;border-top:24px solid var(--gold);
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(245,194,75,.6))}
.wheel-res{position:absolute;left:50%;bottom:-18px;transform:translate(-50%,6px);z-index:6;opacity:0;
  padding:6px 16px;border-radius:999px;font-weight:900;font-size:16px;background:var(--surface-hi);
  border:1px solid var(--line);transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.wheel-res.show{opacity:1;transform:translate(-50%,0)}
.wheel-res.win{color:#1a1400;background:var(--gold-face);border-color:transparent;box-shadow:var(--sh-gold)}
.wheel-res.lose{color:var(--mid)}
.wheel-wrap.flash .wheel-outer{animation:wheelflash .7s var(--e-std)}
@keyframes wheelflash{0%,100%{filter:none}40%{filter:brightness(1.35) drop-shadow(0 0 16px rgba(245,194,75,.8))}}

@media (prefers-reduced-motion:reduce){
  .bonus-chip,.play::after,.spin,.sk,.screen-in,.screen-in *,.lcoin{animation:none!important}
  *{transition-duration:.01ms!important}
}

/* ─── Админ-панель ─── */
.acard{background:var(--surface);border:1px solid rgba(245,194,75,.25);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.acard .asub{font-size:12px;color:var(--mid);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.acard .astat{font-size:14px;color:var(--txt);line-height:1.5}
.apill{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-hi);color:var(--mid);margin-left:4px;vertical-align:middle}
.apill.on{background:rgba(59,227,139,.16);color:var(--green)}
.arow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line,rgba(255,255,255,.06));border-radius:14px;padding:12px 14px;margin-bottom:10px}
.arow .art{font-size:15px;font-weight:600;color:var(--txt)}
.arow .ard{font-size:12px;color:var(--mid);margin-top:2px;max-width:210px}
.tgl{flex-shrink:0;width:48px;height:28px;border-radius:999px;background:var(--surface-hi);border:1px solid rgba(255,255,255,.08);position:relative;transition:background .18s;cursor:pointer}
.tgl span{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#8A97AD;transition:transform .18s,background .18s}
.tgl.on{background:rgba(245,194,75,.28);border-color:rgba(245,194,75,.5)}
.tgl.on span{transform:translateX(20px);background:var(--gold)}
.anum{display:flex;gap:6px;flex-shrink:0}
.anum-i{width:96px;background:var(--surface-hi);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--txt);font-size:15px;text-align:right;padding:8px 10px;font-variant-numeric:tabular-nums}
.anum-s{background:var(--gold);color:#1a1400;border:none;border-radius:10px;font-weight:700;padding:0 14px;cursor:pointer}

/* ─── Магазин + рекламщики ─── */
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.shop-it{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px 10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;transition:transform .12s,border-color .12s}
.shop-it:active{transform:scale(.96)}
.shop-it:not(.off):hover{border-color:var(--line-gold)}
.shop-it.off{opacity:.4;cursor:not-allowed}
.shop-ic{color:var(--gold);line-height:1}
.shop-nm{font-size:14px;font-weight:700;color:var(--txt)}
.shop-pr{font-size:13px;color:var(--gold);font-weight:800}
.shop-na{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.copybox{background:var(--bg1);border:1px dashed var(--line-gold);border-radius:12px;padding:12px 14px;color:var(--txt);font-size:13px;word-break:break-all;cursor:pointer;font-variant-numeric:tabular-nums}
.copybox:active{background:var(--surface-hi)}

/* ─── Кейсы ─── */
.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.case-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border-radius:18px;color:var(--txt);
  border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform .12s;box-shadow:var(--sh1),var(--sh2)}
.case-card:active{transform:scale(.96)}
.case-av{position:relative;overflow:hidden;width:78px;height:78px;border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;
  background:linear-gradient(150deg,var(--c1,#555),var(--c2,#999));
  box-shadow:0 12px 26px -8px rgba(0,0,0,.65),inset 0 1.5px 0 rgba(255,255,255,.45),inset 0 -4px 10px rgba(0,0,0,.35)}
.case-av::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(158deg,rgba(255,255,255,.4),rgba(255,255,255,0) 46%)}
.case-av.sm{width:30px;height:30px;border-radius:9px;box-shadow:none;display:inline-flex;vertical-align:-7px}
.case-av.sm::after{border-radius:9px}
.case-nm{font-weight:800;font-size:15px;color:var(--txt)}
.case-pr{font-size:13px;color:var(--gold);font-weight:800}
.reel-wrap{position:relative;height:98px;border-radius:16px;overflow:hidden;border:1px solid var(--line-gold);
  background:linear-gradient(180deg,var(--bg1),var(--surface));margin:12px 0 8px}
.reel-wrap::before,.reel-wrap::after{content:"";position:absolute;top:0;bottom:0;width:46px;z-index:2;pointer-events:none}
.reel-wrap::before{left:0;background:linear-gradient(90deg,var(--bg1),transparent)}
.reel-wrap::after{right:0;background:linear-gradient(270deg,var(--bg1),transparent)}
.reel-mark{position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);z-index:3;border-radius:2px;
  background:var(--gold);box-shadow:0 0 12px 1px rgba(245,194,75,.8)}
.reel{display:flex;gap:8px;padding:12px;height:100%;align-items:center;will-change:transform}
.case-cell{flex:none;width:90px;height:80px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  position:relative;overflow:hidden;background:var(--surface-hi);border:1px solid var(--line)}
.case-cell::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--tcol,transparent)}
.case-cell .cc-amt{font-size:17px;font-weight:900;color:#fff;letter-spacing:-.4px;line-height:1.1}
.case-cell .cc-amt.dim{color:var(--dim);font-size:14px;font-weight:800}
.case-cell .cc-ico{font-size:24px;line-height:1;margin-bottom:1px}
.case-cell .cc-sub{font-size:9.5px;color:var(--mid);display:flex;align-items:center;gap:3px;margin-top:2px}
.case-cell .cc-sub .coin{width:11px;height:11px;vertical-align:0}
.case-cell.t0{opacity:.55}
.case-cell.t1{--tcol:#4a5468;background:linear-gradient(180deg,#1b1f28,var(--surface-hi))}
.case-cell.t2{--tcol:#3BE38B;background:linear-gradient(180deg,rgba(59,227,139,.14),var(--surface-hi));border-color:rgba(59,227,139,.4)}
.case-cell.t3{--tcol:#4D9DFF;background:linear-gradient(180deg,rgba(77,157,255,.16),var(--surface-hi));border-color:rgba(77,157,255,.45)}
.case-cell.t4{--tcol:#A06BFF;background:linear-gradient(180deg,rgba(160,107,255,.2),var(--surface-hi));border-color:rgba(160,107,255,.5)}
.case-cell.t5{--tcol:var(--gold);background:linear-gradient(180deg,rgba(245,194,75,.24),var(--surface-hi));border-color:var(--gold);box-shadow:0 0 16px -3px rgba(245,194,75,.6)}
.case-cell.t5 .cc-amt{color:var(--gold-hi)}
.case-cell.cgift{--tcol:#ff7ac8;background:linear-gradient(180deg,rgba(255,120,200,.22),var(--surface-hi));border-color:rgba(255,120,200,.55)}
.case-cell.cgift .cc-amt{color:#ffb4e2}
.case-cell.cprem{--tcol:var(--gold);background:linear-gradient(180deg,rgba(245,194,75,.28),rgba(160,107,255,.14),var(--surface-hi));border-color:var(--gold);box-shadow:0 0 20px -3px rgba(245,194,75,.7)}
.case-cell.cprem .cc-amt{color:var(--gold-hi)}
.case-cell.cprem .cc-ico{color:var(--gold-hi)}
.case-cell .cc-ico svg{display:block}
.case-res{opacity:0;transition:opacity .3s;text-align:center;font-weight:800;font-size:15.5px;min-height:22px;margin:4px 0 10px}
.case-res.show{opacity:1}.case-res.win{color:var(--gold)}.case-res.meh{color:var(--txt)}.case-res.lose{color:var(--mid)}
.case-drops{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.cdrop{display:flex;flex-direction:column;align-items:center;gap:3px}
.cdrop .cd-ch{font-size:11px;font-weight:700;color:var(--mid);font-variant-numeric:tabular-nums}
.case-drops .case-cell{width:76px;height:66px}
.case-drops .case-cell .cc-amt{font-size:14px}
.case-drops .case-cell .cc-ico{font-size:19px}

/* Админ: обрубить полёт краша */
.chop-btn{width:100%;margin-top:8px;border:none;border-radius:14px;padding:12px;font-weight:800;font-size:15px;cursor:pointer;
  background:linear-gradient(180deg,#ff5a4d,#c1362b);color:#fff;box-shadow:0 6px 18px -6px rgba(255,77,94,.6)}
.chop-btn:active{transform:scale(.97)}
