/* ============================================================================
   BIZONE — revamp.css · premium "wow" layer (loaded LAST → wins everything)
   ----------------------------------------------------------------------------
   Separable from redesign.css for one-line rollback. CSS-only: the player site is
   a compiled Vue 2 bundle, so every surface is elevated via real DOM class names
   (rail, navit, bal, wlt__*, pf__*, slot__*, winpill, gamebar, rkc, auth__*, …).
   Builds on the established navy + green brand. Follows the redesign audit:
   tabular money, hover/active/focus on every control, tinted (not black) shadows,
   varied radius, GPU-only motion (transform/opacity), reduced-motion respected.
   ============================================================================ */
:root{
  --rv-bg:#0b1a24;        --rv-bg-deep:#081219;
  --rv-panel:#13252f;     --rv-panel-2:#162a36;   --rv-raise:#1d3543;  --rv-raise-2:#27475a;
  --rv-line:rgba(255,255,255,.07); --rv-line-2:rgba(255,255,255,.13);
  --rv-text:#eef5fb;      --rv-muted:#9fb6c8;      --rv-faint:#68869b;
  --rv-brand:#6c87f5;     --rv-brand-2:#8a5cff;
  --rv-green:#1fd365;     --rv-green-2:#37e07a;    --rv-green-ink:#04210e;
  --rv-gold:#ffce4a;      --rv-red:#f1486a;
  --rv-r:14px;            --rv-r-sm:10px;          --rv-r-lg:20px;
  --rv-ring:0 0 0 3px rgba(108,135,245,.42);
  --rv-sh-sm:0 6px 18px -8px rgba(2,8,13,.6);
  --rv-sh:0 20px 44px -18px rgba(2,8,13,.75);
  --rv-sh-brand:0 14px 34px -12px rgba(108,135,245,.5);
  --rv-sh-green:0 16px 36px -12px rgba(31,211,101,.5);
  --rv-ease:cubic-bezier(.4,0,.2,1);
  --rv-spring:cubic-bezier(.34,1.4,.64,1);
}

/* ---- smooth anchor scroll + crisp text ---- */
html{scroll-behavior:smooth}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

/* ---- refined scrollbars (tinted to the bg, not pure black) ---- */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#274350;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#345a6e;background-clip:padding-box}

/* ---- universal keyboard focus ring (a11y, transient → safe) ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{
  outline:none!important;box-shadow:var(--rv-ring)!important;border-radius:9px;
}
/* …except inputs inside a wrapper that already shows its own :focus-within ring
   (search bars, .field). The universal ring stacked a second outline on the inner
   <input> → two concentric rings. Keep the wrapper ring, drop the inner one. */
.slots-search input:focus-visible,
.home-search input:focus-visible,
.field input:focus-visible{box-shadow:none!important}

/* ---- respect reduced motion everywhere ---- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.01ms!important}
}

/* ============================================================================
   GLOBAL BUTTON PHYSICS — tactile lift + press on every control (additive:
   keeps each button's own colour, only adds motion + depth + transition).
   ============================================================================ */
.gbtn,.betbtn,.play,.wlt__go,.pf__cash,.auth__go,.lbtn,.hbtn,.bal__add,.btn-more,
.minestep__b,.wmeth,.wpill,.socbtn,.gamebar__restore,.gamefail__retry,.slot__play,
.wheelplay,.tourn__btn,.pf__logout,.pf__login,.namesave,.pf__namesave,.reflink,
.ref__share,.suprow,.qa__q,.dd__btn{
  transition:transform .14s var(--rv-ease),box-shadow .2s var(--rv-ease),
             filter .18s var(--rv-ease),background-color .18s var(--rv-ease),
             border-color .18s var(--rv-ease),color .15s var(--rv-ease)!important;
}
.gbtn:hover,.betbtn:hover,.play:hover,.wlt__go:hover,.pf__cash:hover,.auth__go:hover,
.btn-more:hover,.tourn__btn:hover,.wheelplay:hover,.gbtn--full:hover{
  transform:translateY(-2px);filter:brightness(1.05);
}
.gbtn:active,.betbtn:active,.play:active,.wlt__go:active,.pf__cash:active,
.auth__go:active,.btn-more:active,.tourn__btn:active,.wheelplay:active,
.bal__add:active,.wmeth:active,.wpill:active,.minestep__b:active{
  transform:translateY(0) scale(.97);
}

/* primary CTA families get a branded glow that matches their own hue */
.betbtn{box-shadow:var(--rv-sh-brand),inset 0 1px 0 rgba(255,255,255,.22)!important}
.betbtn:hover{box-shadow:0 20px 42px -12px rgba(108,135,245,.62),inset 0 1px 0 rgba(255,255,255,.3)!important}
.wlt__go,.play,.wheelplay,.pf__cash{box-shadow:var(--rv-sh-green),inset 0 1px 0 rgba(255,255,255,.24)!important}
.wlt__go:hover,.play:hover,.wheelplay:hover,.pf__cash:hover{box-shadow:0 22px 44px -12px rgba(31,211,101,.6),inset 0 1px 0 rgba(255,255,255,.3)!important}

/* ============================================================================
   HEADER — left game rail
   ============================================================================ */
.rail{
  background:linear-gradient(180deg,#112533,#0a1822)!important;
  border-right:1px solid var(--rv-line)!important;
  box-shadow:1px 0 0 rgba(0,0,0,.25);
}
.rail__sec{color:var(--rv-faint)!important;letter-spacing:.06em;text-transform:uppercase}
.navit{
  position:relative;border-radius:14px!important;
  transition:background-color .16s var(--rv-ease),color .16s var(--rv-ease),transform .12s var(--rv-ease)!important;
}
.navit svg{transition:transform .18s var(--rv-spring),color .16s var(--rv-ease)}
.navit:hover{background:rgba(255,255,255,.05)!important}
.navit:hover svg{transform:translateY(-2px) scale(1.06)}
.navit.on,.navit.active{background:rgba(108,135,245,.16)!important;color:#fff!important}
.navit.on::before,.navit.active::before{
  content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);
  width:4px;height:22px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--rv-brand),var(--rv-brand-2));
}
.navit.on svg,.navit.active svg{color:var(--rv-brand)!important}
.rail__logo{transition:transform .25s var(--rv-spring)}
.rail__logo:hover{transform:scale(1.05) rotate(-2deg)}

/* ---- balance pill + deposit button ---- */
.bal{
  background:linear-gradient(180deg,rgba(31,53,67,.92),rgba(17,34,44,.92))!important;
  border:1px solid var(--rv-line-2)!important;border-radius:999px!important;
  box-shadow:var(--rv-sh-sm),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.bal__v{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}
.bal__add{
  background:linear-gradient(180deg,var(--rv-green-2),var(--rv-green))!important;
  color:var(--rv-green-ink)!important;border:none!important;border-radius:999px!important;
  box-shadow:0 6px 16px -6px rgba(31,211,101,.6),inset 0 1px 0 rgba(255,255,255,.35)!important;
}
.bal__add:hover{filter:brightness(1.06);transform:translateY(-1px) rotate(90deg)}

/* ---- rank chip, bell, avatar ---- */
.rankpill{
  border:1px solid var(--rv-line-2)!important;border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,206,74,.12),rgba(255,206,74,.04))!important;
  letter-spacing:.04em;font-weight:800;
}
.bell,.avatar{
  border:1px solid var(--rv-line-2)!important;border-radius:13px!important;
  transition:background-color .16s var(--rv-ease),border-color .16s var(--rv-ease),transform .12s var(--rv-ease)!important;
}
.bell:hover,.avatar:hover{background:rgba(255,255,255,.06)!important;border-color:var(--rv-line-2)!important;transform:translateY(-1px)}
.bell__dot{box-shadow:0 0 0 2px var(--rv-bg-deep),0 0 8px var(--rv-red)}

/* ---- top nav tabs (home category row) ---- */
.topnav__i{
  border-radius:11px!important;font-weight:700;
  transition:background-color .15s var(--rv-ease),color .15s var(--rv-ease),transform .12s var(--rv-ease)!important;
}
.topnav__i:hover{transform:translateY(-1px)}
.topnav__i.on,.topnav__i.active{background:rgba(108,135,245,.18)!important;color:#fff!important}

/* ============================================================================
   HOME — hero, live-wins ticker, slot tiles, section headers, footer
   ============================================================================ */
.bighero{
  border-radius:var(--rv-r-lg)!important;overflow:hidden;
  box-shadow:var(--rv-sh),inset 0 0 0 1px var(--rv-line)!important;
}
.bighero__img{transition:opacity .7s var(--rv-ease)}
.bighero__bar{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}

/* live-wins ticker pills */
.winpill{
  border-radius:13px!important;border:1px solid var(--rv-line)!important;
  background:linear-gradient(180deg,rgba(29,53,67,.8),rgba(19,37,47,.7))!important;
  transition:transform .16s var(--rv-ease),box-shadow .18s var(--rv-ease),border-color .16s var(--rv-ease)!important;
}
.winpill:hover{transform:translateY(-3px);box-shadow:var(--rv-sh-sm);border-color:var(--rv-line-2)!important}
.winpill__art{border-radius:10px!important;overflow:hidden}
.winpill__a{color:var(--rv-green-2)!important;font-weight:800;font-variant-numeric:tabular-nums}
.winpill__n{color:var(--rv-muted)!important;font-weight:600}

/* slot / game tiles — lift + shine on hover, reveal the play button */
.stile,.slot{
  border-radius:16px!important;overflow:hidden;position:relative;
  transition:transform .18s var(--rv-ease),box-shadow .2s var(--rv-ease)!important;
}
.stile:hover,.slot:hover{transform:translateY(-5px)}
.stile:hover{box-shadow:0 22px 40px -16px rgba(2,8,13,.8)}
.slot__ov{transition:opacity .2s var(--rv-ease)}
.slot__play{
  border-radius:999px!important;
  box-shadow:var(--rv-sh-green),inset 0 1px 0 rgba(255,255,255,.3)!important;
}
.slot:hover .slot__play{transform:scale(1.08)}
/* shine sweep across a tile on hover */
.stile::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:3;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.14) 50%,transparent 62%);
  transform:translateX(-130%);transition:transform .6s var(--rv-ease);
}
.stile:hover::after{transform:translateX(130%)}

/* slot-card provider caption: on the device the bold first letter ("P" of PRAGMATIC
   PLAY) sat at the caption's left edge and got shaved by the span's overflow:hidden.
   Centre the provider name so it never touches the clip edge — first letter always
   visible — and brighten the dim --faint a touch. */
.slotgrid .slot__cap span{color:#9fb0bd;text-align:center}

/* guest auth buttons (Войти/Регистрация) must hug the right. At ≤560px the header
   spacer .top__sp is hidden (to centre the balance pill for logged-in users), which
   let the guest buttons fall to the left over the hero. margin-left:auto keeps them
   right at every width — a no-op on desktop where the spacer already pushes them. */
.top>div[style*="gap:9px"]{margin-left:auto}

/* section headings — more presence */
.sec__h{
  font-weight:800!important;letter-spacing:-.02em!important;
  text-wrap:balance;
}

/* footer links */
.foot__nav a,.foot__legal a{transition:color .15s var(--rv-ease),opacity .15s var(--rv-ease)}
.foot__nav a:hover,.foot__legal a:hover{color:#fff!important}

/* ============================================================================
   MINI-GAMES — shared shell + Dice / Mines / Wheel / Bubbles
   ============================================================================ */
/* game switcher tabs (Dice/Mines/Wheel/Bubbles quick switch) */
.gswitch{border-radius:11px!important;font-weight:700;transition:background-color .15s var(--rv-ease),color .15s var(--rv-ease),transform .12s var(--rv-ease)!important}
.gswitch:hover{transform:translateY(-1px)}
.gswitch.on{background:rgba(108,135,245,.16)!important;color:#fff!important}
.gswitch__dot{transition:background-color .15s var(--rv-ease),box-shadow .15s var(--rv-ease)}
.gswitch.on .gswitch__dot{background:var(--rv-brand)!important;box-shadow:0 0 8px var(--rv-brand)}
/* mobile/tablet (≤920px, where this row is shown): the 4-col grid wrapped the 5th
   mode (Blackjack) onto a 2nd row. Make it one swipeable horizontal strip instead. */
@media(max-width:920px){
  .gameswitch{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    /* fade the right edge so the strip visibly "continues" → hints you can swipe right */
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent);
    mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent)}
  .gameswitch::-webkit-scrollbar{display:none}
  .gswitch{flex:0 0 auto!important;min-width:104px}
}
/* wider pills on phones so the next mode is always cut off at the edge (a visible
   peek = the universal "there's more, scroll" cue) */
@media(max-width:560px){ .gswitch{min-width:96px} }
.gamebar__name{font-weight:800!important;letter-spacing:-.01em}
.gamebar__x,.gamebar__restore{transition:transform .15s var(--rv-ease),background-color .15s var(--rv-ease)!important}
.gamebar__x:hover{transform:rotate(90deg)}

/* bet panel + input row */
.field{
  background:var(--rv-bg-deep)!important;border:1px solid var(--rv-line)!important;
  border-radius:var(--rv-r-sm)!important;transition:border-color .16s var(--rv-ease),box-shadow .16s var(--rv-ease)!important;
}
.field:focus-within{border-color:var(--rv-brand)!important;box-shadow:var(--rv-ring)!important}
.field input{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}
.field .cur{color:var(--rv-gold)!important;font-weight:800}
/* quick-bet chips (½ · 2× · Макс) — clean EVEN segmented cells inside the amount
   field. The old rounded "pills" rendered uneven-width and the last one got clipped
   by the field's rounded edge. These are flush, equal min-width, split by a hairline
   — a tidy button group. No transform on press (they're embedded, lifting looks off):
   feedback is a background tint only. */
.mini{
  min-width:50px;justify-content:center;letter-spacing:.01em;
  border-radius:0!important;background:transparent!important;color:var(--rv-muted)!important;
  font-weight:800!important;border:0!important;border-left:1px solid var(--rv-line)!important;
  transition:background-color .14s var(--rv-ease),color .14s var(--rv-ease)!important;
}
.mini:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.field .mini:active{background:rgba(255,255,255,.1)!important;transform:none!important;filter:none!important}
.mini:last-child{color:var(--rv-gold)!important}
.mini:last-child:hover{background:rgba(255,206,74,.12)!important;color:#ffe08a!important}
.mini:last-child:active{background:rgba(255,206,74,.16)!important}
.betbtn{border-radius:var(--rv-r-sm)!important;font-weight:800!important;letter-spacing:.01em}
.profit b,.profit .tnum{font-variant-numeric:tabular-nums}

/* DICE slider — the showpiece */
.sltrack{border-radius:999px!important;box-shadow:inset 0 2px 7px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.04)!important}
/* slider win-zone glow lives on .slfill .win (the real fill) — see games section */
.slthumb{
  border-radius:12px!important;
  box-shadow:0 8px 18px -5px rgba(108,135,245,.7),inset 0 1px 0 rgba(255,255,255,.4)!important;
  transition:transform .1s var(--rv-ease),box-shadow .16s var(--rv-ease)!important;cursor:grab;
}
.slthumb:hover{transform:scale(1.07)}
.slthumb:active{cursor:grabbing;transform:scale(1.02)}
.slticks span{color:var(--rv-faint)!important;font-variant-numeric:tabular-nums;font-weight:600}

/* dice stat panels (multiplier / roll / chance) */
.minfo .b{
  background:linear-gradient(180deg,rgba(29,53,67,.7),rgba(19,37,47,.6))!important;
  border:1px solid var(--rv-line)!important;border-radius:var(--rv-r-sm)!important;
  transition:border-color .16s var(--rv-ease),transform .14s var(--rv-ease)!important;
}
.minfo .b:hover{border-color:var(--rv-line-2)!important;transform:translateY(-2px)}
.minfo .b .tnum,.minfo .b input{font-variant-numeric:tabular-nums;font-weight:800}

/* dropdown (roll over / under) */
.dd__btn{border-radius:var(--rv-r-sm)!important;transition:border-color .15s var(--rv-ease),background-color .15s var(--rv-ease)!important}
.dd__panel{border-radius:var(--rv-r-sm)!important;box-shadow:var(--rv-sh)!important;border:1px solid var(--rv-line-2)!important}
.dd__opt{transition:background-color .12s var(--rv-ease)}

/* result popup over the slider */
.result-pop{filter:drop-shadow(0 10px 20px rgba(0,0,0,.5))}
.result-pop .bub{font-variant-numeric:tabular-nums;font-weight:800}

/* MINES — grid + tactile tiles */
.mcell{
  border-radius:13px!important;
  transition:transform .13s var(--rv-spring),box-shadow .18s var(--rv-ease),border-color .15s var(--rv-ease)!important;
}
.mcell:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 28px -10px rgba(108,135,245,.5),0 0 0 1px var(--rv-brand)!important}
.mcell:active{transform:translateY(-1px) scale(1)}
.minestep,.minesel{border-radius:var(--rv-r-sm)!important}
.minestep__b{border-radius:9px!important;font-weight:800!important;transition:background-color .14s var(--rv-ease),transform .1s var(--rv-ease)!important}
.minestep__b:hover{transform:translateY(-1px)}
.minestep__in{font-variant-numeric:tabular-nums;font-weight:800}
.mcard{border-radius:var(--rv-r)!important}

/* WHEEL */
.wheelglow{filter:blur(2px)}
.wheelplay{border-radius:999px!important;font-weight:800!important}
.levels button,.levels .lvl{transition:transform .12s var(--rv-ease),background-color .15s var(--rv-ease)!important}
.levels button:hover{transform:translateY(-1px)}

/* BUBBLES */
.bubble{transition:transform .14s var(--rv-spring),filter .16s var(--rv-ease)!important}
.bubble:hover{filter:brightness(1.06)}
.bubble__shine{pointer-events:none}

/* ============================================================================
   CASHIER — wallet modal (deposit / withdraw)
   ============================================================================ */
.wlt__bg{backdrop-filter:blur(7px) saturate(1.1)!important;background:rgba(5,12,18,.72)!important}
.wlt__card{
  border-radius:var(--rv-r-lg)!important;border:1px solid var(--rv-line-2)!important;
  box-shadow:0 40px 90px -28px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.wlt__title{font-weight:800!important;letter-spacing:-.01em}
.wlt__bal b{font-variant-numeric:tabular-nums;font-weight:800}
.wlt__x{border-radius:10px!important;transition:transform .2s var(--rv-ease),background-color .15s var(--rv-ease),color .15s var(--rv-ease)!important}
.wlt__x:hover{transform:rotate(90deg);color:#fff!important;background:rgba(255,255,255,.07)!important}

/* deposit / withdraw segmented tabs */
.wlt__tabs button{
  border-radius:var(--rv-r-sm)!important;font-weight:800!important;
  transition:background-color .16s var(--rv-ease),color .16s var(--rv-ease),box-shadow .16s var(--rv-ease)!important;
}
.wlt__tabs button.on{box-shadow:var(--rv-sh-sm),inset 0 1px 0 rgba(255,255,255,.08)!important}

/* payment-method cards */
.wmeth{
  border-radius:var(--rv-r)!important;border:1.5px solid var(--rv-line)!important;
  transition:transform .15s var(--rv-ease),border-color .16s var(--rv-ease),box-shadow .18s var(--rv-ease),background-color .16s var(--rv-ease)!important;
}
.wmeth:hover{transform:translateY(-2px);border-color:var(--rv-line-2)!important;box-shadow:var(--rv-sh-sm)!important}
.wmeth.on{border-color:var(--rv-green)!important;box-shadow:0 0 0 1px var(--rv-green),0 12px 26px -12px rgba(31,211,101,.5)!important}
.wmeth b{font-weight:800!important}

/* quick-amount chips */
.wlt__chips button{
  border-radius:999px!important;font-weight:800!important;font-variant-numeric:tabular-nums;
  border:1px solid var(--rv-line)!important;
  transition:transform .12s var(--rv-ease),border-color .15s var(--rv-ease),background-color .15s var(--rv-ease),color .15s var(--rv-ease)!important;
}
.wlt__chips button:hover{transform:translateY(-2px);border-color:var(--rv-line-2)!important;color:#fff!important}
.wlt__chips button.on{border-color:var(--rv-brand)!important;background:rgba(108,135,245,.16)!important;color:#fff!important;box-shadow:0 0 0 1px var(--rv-brand)!important}

/* info / summary pills */
.wpill{border-radius:10px!important;font-variant-numeric:tabular-nums}
.wlt__go{border-radius:var(--rv-r-sm)!important;font-weight:800!important;letter-spacing:.01em}

/* history filter chips + rows */
.histf button{border-radius:999px!important;font-weight:700;transition:background-color .15s var(--rv-ease),color .15s var(--rv-ease)!important}
.histf button.on{background:rgba(108,135,245,.16)!important;color:#fff!important}
.histl .tnum{font-variant-numeric:tabular-nums}

/* FAQ accordion */
.qa__q{border-radius:var(--rv-r-sm)!important;transition:background-color .15s var(--rv-ease)!important}
.qa__q:hover{background:rgba(255,255,255,.04)!important}
.qa__q i{transition:transform .2s var(--rv-ease)}

/* ============================================================================
   PLAYER CABINET — profile / ranks / referrals / bonuses / notifications
   ============================================================================ */
.acard{border-radius:var(--rv-r)!important;transition:transform .15s var(--rv-ease),box-shadow .18s var(--rv-ease),border-color .16s var(--rv-ease)!important}
.acard:hover{border-color:var(--rv-line-2)!important}

/* profile */
.pf__head{border-radius:var(--rv-r)!important}
.pf__av{border-radius:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),var(--rv-sh-sm)}
.pf__bal,.pf__id{font-variant-numeric:tabular-nums}
.pf__links a,.pf__links button{border-radius:var(--rv-r-sm)!important;transition:background-color .15s var(--rv-ease),transform .12s var(--rv-ease)!important}
.pf__links a:hover,.pf__links button:hover{background:rgba(255,255,255,.05)!important;transform:translateX(2px)}
.pf__tg-btn,.pf__namesave,.pf__nameedit{border-radius:var(--rv-r-sm)!important}
.pf__nameinp{border-radius:var(--rv-r-sm)!important;font-weight:700}

/* ranks */
.rkhero{border-radius:var(--rv-r-lg)!important;box-shadow:var(--rv-sh)!important;overflow:hidden}
.rkhero__bar,.rkhero__prog{border-radius:999px!important}
.rkhero__name,.rkhero__pt{font-weight:800!important}
.rkhero__pt{font-variant-numeric:tabular-nums}
.rkc{border-radius:var(--rv-r)!important;transition:transform .16s var(--rv-ease),box-shadow .2s var(--rv-ease),border-color .16s var(--rv-ease)!important}
.rkc:hover{transform:translateY(-4px);box-shadow:var(--rv-sh)!important}
.rkc--active{border-color:var(--rv-gold)!important;box-shadow:0 0 0 1px var(--rv-gold),0 16px 36px -14px rgba(255,206,74,.4)!important}
.rkc--locked{opacity:.72;filter:saturate(.85)}
.rkc__name{font-weight:800!important;letter-spacing:.02em}
.rankmini,.rkc__th{font-variant-numeric:tabular-nums}

/* referrals */
.refhero{border-radius:var(--rv-r-lg)!important;box-shadow:var(--rv-sh)!important;overflow:hidden}
.refhero__earn,.refhero__main{font-variant-numeric:tabular-nums;font-weight:800!important}
.reflink{border-radius:var(--rv-r-sm)!important;font-variant-numeric:tabular-nums}
.ref__share,.ref__rules{border-radius:var(--rv-r-sm)!important}
.rfwrap{border-radius:var(--rv-r)!important}

/* bonuses / promo cards */
.promo-card{border-radius:var(--rv-r)!important;transition:transform .16s var(--rv-ease),box-shadow .2s var(--rv-ease)!important}
.promo-card:hover{transform:translateY(-3px);box-shadow:var(--rv-sh)!important}
.promo-title{font-weight:800!important;letter-spacing:-.01em}
.promo-gift,.promo-in__ic{filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}

/* notifications */
.ntc{border-radius:var(--rv-r-sm)!important;transition:background-color .15s var(--rv-ease),border-color .16s var(--rv-ease)!important}
.ntc__date{font-variant-numeric:tabular-nums;color:var(--rv-faint)!important}

/* support rows */
.suprow{border-radius:var(--rv-r)!important;transition:transform .14s var(--rv-ease),background-color .15s var(--rv-ease)!important}
.suprow:hover{transform:translateY(-2px)}
.suprow__ic{border-radius:12px!important}

/* tournament widget */
.tourn{border-radius:var(--rv-r)!important}
.tourn__sum{font-variant-numeric:tabular-nums;font-weight:800!important}

/* ============================================================================
   AUTH MODAL — login / register / recovery
   ============================================================================ */
.auth__card{
  border-radius:var(--rv-r-lg)!important;border:1px solid var(--rv-line-2)!important;
  box-shadow:0 40px 90px -28px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.auth__brand{font-weight:800!important;letter-spacing:.08em}
.auth__seg-i{border-radius:var(--rv-r-sm)!important;font-weight:800!important;transition:background-color .16s var(--rv-ease),color .16s var(--rv-ease)!important}
.auth__seg-i.on{box-shadow:var(--rv-sh-sm)!important}
.auth__go{border-radius:var(--rv-r-sm)!important;font-weight:800!important}
.auth__soc,.socbtn{border-radius:var(--rv-r-sm)!important;transition:transform .12s var(--rv-ease),filter .15s var(--rv-ease)!important}
.auth__soc:hover,.socbtn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.auth__x{border-radius:10px!important;transition:transform .2s var(--rv-ease),background-color .15s var(--rv-ease)!important}
.auth__x:hover{transform:rotate(90deg)}
.auth__err,.auth__ok{border-radius:var(--rv-r-sm)!important}

/* toasts */
.toast{border-radius:var(--rv-r-sm)!important;box-shadow:var(--rv-sh)!important;backdrop-filter:blur(6px)}

/* logged-out header auth buttons (Войти / Регистрация) */
.btn-ghost,.btn-reg{
  border-radius:11px!important;font-weight:800!important;
  transition:transform .14s var(--rv-ease),background-color .16s var(--rv-ease),box-shadow .18s var(--rv-ease),filter .16s var(--rv-ease),border-color .16s var(--rv-ease)!important;
}
.btn-ghost:hover{transform:translateY(-1px);background:rgba(255,255,255,.06)!important}
.btn-reg{box-shadow:var(--rv-sh-brand),inset 0 1px 0 rgba(255,255,255,.22)!important}
.btn-reg:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 20px 42px -12px rgba(108,135,245,.6),inset 0 1px 0 rgba(255,255,255,.28)!important}
.btn-reg:active,.btn-ghost:active{transform:translateY(0) scale(.97)}

/* auth-modal social buttons */
.socbtn--vk,.socbtn--tg{font-weight:700!important}

/* ============================================================================
   PROFILE BALANCE CARD — kill the dead right-space; make it read like "money"
   ============================================================================ */
.pf__bal{
  position:relative!important;overflow:hidden!important;
  background:
    radial-gradient(135% 140% at 116% 42%, rgba(31,211,101,.20), transparent 56%),
    linear-gradient(155deg, rgba(34,60,75,.92), rgba(14,30,40,.94))!important;
  border:1px solid var(--rv-line-2)!important;
}
/* faint oversized ₽ watermark fills the void (sits behind the content) */
.pf__bal::after{
  content:"\20BD";position:absolute;right:2px;bottom:-44px;z-index:0;pointer-events:none;
  font-weight:900;font-size:165px;line-height:1;color:rgba(255,255,255,.05);
  text-shadow:0 0 40px rgba(31,211,101,.12);
}
.pf__bal>*{position:relative;z-index:1}
/* Пополнить spans the card → no orphan button + empty gap */
.pf__cash{width:100%!important;justify-content:center!important}

/* ============================================================================
   GAMES — premium visual upgrade (soft-skill: haptic depth, inset top-highlights,
   tinted soft shadows, spring motion). Bolder now that revamp.css actually loads.
   ============================================================================ */
:root{--rv-smooth:cubic-bezier(.32,.72,0,1)}

/* bet panel — flush surface that fills its half of the .game frame and joins the
   play area with ONE clean divider (right border on desktop / top border on mobile,
   both inherited from the base + @media rules in play.blade.php). It must NOT be a
   detached rounded card: an all-around border + 18px radius made its corners float
   off the frame, so the gradient behind showed through at the seam ("дырка"). Keep
   only the subtle gradient tint so the controls still read as a distinct panel. */
.bet{
  background:linear-gradient(180deg, rgba(28,50,64,.55), rgba(15,31,41,.5))!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

/* DICE — glossy slider showpiece (geometry untouched → no drag misalign) */
.sltrack{border-radius:999px!important;box-shadow:inset 0 2px 6px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,255,255,.05)!important}
.slfill .win{box-shadow:0 0 18px -3px rgba(31,211,101,.55), inset 0 1px 0 rgba(255,255,255,.35)!important;border-radius:999px 0 0 999px!important}
.slthumb{
  border-radius:13px!important;
  background:linear-gradient(180deg, #8aa0ff, #5a73e6)!important;
  box-shadow:0 10px 22px -6px rgba(108,135,245,.8), inset 0 1px 0 rgba(255,255,255,.5), 0 0 0 4px rgba(108,135,245,.16)!important;
  transition:transform .12s var(--rv-smooth), box-shadow .18s var(--rv-ease)!important;
}
.slthumb:hover{transform:scale(1.09)}
.slthumb:active{transform:scale(1.03)}
.slticks span{color:var(--rv-faint)!important;font-weight:700}

/* DICE — stat panels as nested cards with top-highlight */
.minfo .b{
  background:linear-gradient(180deg, rgba(30,54,68,.7), rgba(18,36,46,.65))!important;
  border:1px solid rgba(255,255,255,.06)!important;border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 10px 26px -18px rgba(2,8,13,.7)!important;
}

/* MINES — premium 3D gem tiles (the star upgrade) */
.mcell{
  border-radius:15px!important;
  background:
    radial-gradient(62% 46% at 50% 20%, rgba(255,255,255,.12), transparent 72%),
    linear-gradient(160deg, #21425a 0%, #16303f 55%, #112736 100%)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.13), inset 0 -9px 16px rgba(0,0,0,.42), 0 8px 16px -6px rgba(0,0,0,.5)!important;
  transition:transform .16s var(--rv-spring), box-shadow .2s var(--rv-ease), filter .16s var(--rv-ease)!important;
}
.mcell:hover{
  transform:translateY(-4px) scale(1.035);filter:brightness(1.09);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.2), 0 18px 30px -10px rgba(108,135,245,.55), 0 0 0 1.5px var(--rv-brand)!important;
}
.mcell:active{transform:translateY(-1px) scale(1.0)}

/* WHEEL — realistic casino wheel: metallic frame, glass gloss, depth, gold pointer */
.wheelbox{filter:drop-shadow(0 22px 38px rgba(0,0,0,.55))!important}
/* the rim sits ON TOP of the SVG segments → use it as the glass+metal overlay */
.wheelrim{
  background:radial-gradient(125% 95% at 50% -2%, rgba(255,255,255,.18), rgba(255,255,255,.045) 28%, transparent 52%)!important;
  box-shadow:
    inset 0 0 0 3px rgba(8,16,24,.92),
    inset 0 4px 9px rgba(0,0,0,.5),
    inset 0 -3px 9px rgba(0,0,0,.42),
    inset 0 0 34px rgba(0,0,0,.4),
    0 0 0 6px #182a37, 0 0 0 8px rgba(48,80,101,.5), 0 0 0 9px rgba(255,255,255,.07)!important;
}
/* soft glassy reflection arc on the disc */
.wheelrim::after{content:"";position:absolute;inset:7px;border-radius:50%;pointer-events:none;
  background:radial-gradient(58% 38% at 36% 15%, rgba(255,255,255,.22), transparent 62%)}
/* center hub → raised brushed-metal dome */
.wheelhub{
  background:radial-gradient(circle at 50% 32%, #2b4b5f, #122230 74%)!important;
  box-shadow:
    inset 0 2px 3px rgba(255,255,255,.28), inset 0 -7px 13px rgba(0,0,0,.55),
    0 7px 16px -4px rgba(0,0,0,.7), 0 0 0 4px rgba(8,16,24,.85), 0 0 0 6px rgba(255,255,255,.06)!important;
}
/* pointer → gold metallic marker with a real shadow, kept on top */
.wheelptr{background:linear-gradient(180deg, #ffe79a, #f0b23a 55%, #d68f28)!important;filter:drop-shadow(0 4px 5px rgba(0,0,0,.6));z-index:5}
/* ambient glow → softer, brand+green blend */
.wheelglow{background:radial-gradient(circle, rgba(108,135,245,.22), rgba(0,231,1,.10) 45%, transparent 70%)!important;filter:blur(9px)!important}

/* BUBBLES — glassy 3D sphere (rim light + inner depth + glow) + glowing ambient field.
   Only box-shadow/filter touched → the existing bubfloat/shinedrift motion stays intact. */
.bubble{
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.5)) drop-shadow(0 0 22px rgba(108,135,245,.3))!important;
  box-shadow:inset 0 -9px 16px rgba(0,0,0,.28), inset 0 7px 14px rgba(255,255,255,.28), inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.bubble__shine{filter:blur(1px)}
.bubamb span{box-shadow:0 0 9px rgba(138,160,255,.5)!important}

/* ============================================================================
   FIX: clicking no longer makes elements drop/shrink ("проваливается"). On press
   we KEEP the hovered position (no downward jump, no scale-down) — the only press
   feedback is a faint brightness. Wins via source order + !important over every
   earlier :active rule. Applies everywhere.
   ============================================================================ */
.gbtn:active,.betbtn:active,.play:active,.wlt__go:active,.pf__cash:active,.auth__go:active,
.btn-more:active,.tourn__btn:active,.wheelplay:active,.gbtn--full:active,.btn-reg:active,
.wmeth:active{transform:translateY(-2px)!important;filter:brightness(1.05)}
.mini:active,.wpill:active,.minestep__b:active,.wlt__chips button:active,.gswitch:active,
.btn-ghost:active,.bell:active,.avatar:active,.navit:active,.topnav__i:active,.dd__btn:active,
.suprow:active,.qa__q:active{transform:translateY(-1px)!important;filter:brightness(1.04)}
.bal__add:active{transform:translateY(-1px) rotate(90deg)!important}
.mcell:active{transform:translateY(-4px) scale(1.035)!important;filter:brightness(1.12)!important}
.slthumb:active{transform:scale(1.06)!important}
.pf__links a:active,.pf__links button:active{transform:translateX(2px)!important}

/* FIX: the wheel-spin area (.wheelplay/.play) is a big 724px CONTAINER, not a CTA —
   strip the green glow + white inset outline + hover-lift I wrongly applied (the ugly ring). */
.play,.wheelplay{box-shadow:none!important}
.play:hover,.play:active,.wheelplay:hover,.wheelplay:active{box-shadow:none!important;transform:none!important;filter:none!important}

/* user request: NO zoom/lift on hover or press in Dice (handle) / Mines (tiles) / Bubbles.
   Feedback = glow/brightness only. The slider handle keeps its centering transform. */
.mcell:hover,.mcell:active{
  transform:none!important;filter:brightness(1.1)!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.16), inset 0 -9px 16px rgba(0,0,0,.4), 0 8px 16px -6px rgba(0,0,0,.5), 0 0 0 1.5px var(--rv-brand)!important;
}
.slthumb:hover,.slthumb:active{transform:translate(-18px,-18px)!important}
