:root{
  --bg:#0B0809;--s1:#161012;--s2:#1E1518;--s3:#0F0B0C;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.07);
  --text:#F7F1F3;--muted:#B9A9AF;--muted2:#9E8E94;--soft:#CDBFC4;--acc:#E0245E;--acc2:#FF6B93;--acc3:#FF8FAE;
  --gold:#F5C378;--green:#6EE7A0;--orange:#FF8A1F;
  --safe-b:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px));
  --safe-t:0px;--action-gap:84px;--app-height:100dvh;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:15px;overscroll-behavior:none}
body{min-height:100vh}
button{font-family:inherit;cursor:pointer;color:inherit}
a{color:var(--acc2);text-decoration:none}
img{display:block}
.u{font-family:Unbounded,sans-serif}
.muted{color:var(--muted)}.small{font-size:12px}
#app{max-width:480px;margin:0 auto;position:relative;min-height:100vh;overflow-x:hidden;overflow-x:clip}
.boot{height:100vh;display:flex;align-items:center;justify-content:center}

/* анимации */
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes slideIn{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes breath{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes shine{0%{transform:translateX(-140%) skewX(-20deg)}55%,100%{transform:translateX(420%) skewX(-20deg)}}
@keyframes pulse{0%,100%{box-shadow:0 10px 26px rgba(224,36,94,.32),inset 0 1px 0 rgba(255,255,255,.25)}50%{box-shadow:0 12px 42px rgba(224,36,94,.62),inset 0 1px 0 rgba(255,255,255,.25)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes gemSpin{to{transform:perspective(240px) rotateY(360deg)}}
@keyframes gemGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(255,107,147,.5))}50%{filter:drop-shadow(0 0 18px rgba(255,107,147,1))}}
@keyframes scan{0%{transform:translateY(-10px);opacity:0}10%,90%{opacity:1}100%{transform:translateY(200px);opacity:0}}
@keyframes pop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:1}100%{transform:scale(1)}}
@keyframes sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@keyframes bulbA{0%,100%{opacity:1;box-shadow:0 0 10px var(--gold)}50%{opacity:.25;box-shadow:none}}
@keyframes bulbB{0%,100%{opacity:.25;box-shadow:none}50%{opacity:1;box-shadow:0 0 10px var(--gold)}}
@keyframes tick{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
@keyframes panel{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@property --rxa{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes ring{to{--rxa:360deg}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.scr{position:relative;min-height:var(--app-height,100vh);padding:calc(14px + var(--safe-t)) 20px calc(110px + var(--safe-b));display:flex;flex-direction:column;gap:16px}
.tg-fullscreen{--safe-t:calc(var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px))}
.native-main-button{--action-gap:12px}
.scr.noTab{padding-bottom:calc(28px + var(--safe-b))}
.scr.in-right{animation:slideIn .38s cubic-bezier(.2,.8,.2,1) both}
.scr.in-up{animation:rise .4s cubic-bezier(.2,.8,.2,1) both}
.scr.in-fade{animation:fade .25s ease both}
.glow{position:absolute;left:-70px;top:-170px;width:calc(100% + 140px);height:400px;border-radius:50%;background:radial-gradient(closest-side,rgba(224,36,94,.24),rgba(224,36,94,0));pointer-events:none;animation:breath 6s ease-in-out infinite}
.scr>*:not(.glow){position:relative}
.stag>*{animation:up .6s ease both}
.stag>*:nth-child(2){animation-delay:.05s}.stag>*:nth-child(3){animation-delay:.1s}.stag>*:nth-child(4){animation-delay:.15s}
.stag>*:nth-child(5){animation-delay:.2s}.stag>*:nth-child(6){animation-delay:.25s}.stag>*:nth-child(7){animation-delay:.3s}

/* шапка */
.hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.hdr h1{margin:0;font-family:Unbounded,sans-serif;font-weight:600;font-size:22px}
.hdr h2{margin:0;font-family:Unbounded,sans-serif;font-weight:600;font-size:18px;flex:1}
.brand{display:flex;align-items:center;gap:6px}
.brand img{width:34px;height:34px;object-fit:cover;border-radius:10px;box-shadow:0 0 16px rgba(224,36,94,.45);animation:float 4s ease-in-out infinite}
.brand b{font-family:Cinzel,serif;font-size:15px;letter-spacing:.02em;white-space:nowrap}.brand b span{color:var(--acc)}
.icbtn{width:44px;height:44px;flex-shrink:0;border-radius:14px;background:var(--s1);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text)}
.pillbal{display:flex;align-items:center;gap:8px;height:40px;padding:0 4px 0 12px;border-radius:20px;border:1px solid var(--line);background:rgba(22,16,18,.85);font-weight:800;font-size:14px;color:var(--text)}
.pillbal .plus{width:32px;height:32px;border-radius:16px;background:var(--acc);display:flex;align-items:center;justify-content:center}
.plusbadge{height:40px;padding:0 9px;border-radius:20px;border:1px solid rgba(245,195,120,.4);background:rgba(245,195,120,.1);color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;gap:5px}

/* кнопки */
.cta{position:relative;overflow:hidden;height:58px;border:none;border-radius:20px;background:var(--acc);color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 28px rgba(224,36,94,.38),inset 0 1px 0 rgba(255,255,255,.25);width:100%;transition:transform .15s}
.cta:active{transform:scale(.98)}
.cta[disabled]{background:rgba(255,255,255,.08);color:var(--muted);box-shadow:none}
.cta .sh{position:absolute;top:0;left:0;width:60px;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.35),rgba(255,255,255,0));animation:shine 3.2s ease-in-out 1.2s infinite}
.cta .tag{font-size:14px;font-weight:700;background:rgba(0,0,0,.22);padding:4px 10px;border-radius:10px}
.cta.light{background:var(--text);color:var(--bg);box-shadow:none}
.btn2{height:52px;border-radius:18px;background:var(--s1);border:1px solid var(--line);color:var(--text);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.bar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;padding:10px 16px calc(14px + var(--safe-b));background:rgba(11,8,9,.96);border-top:1px solid rgba(255,255,255,.06);z-index:20}
.bar .cta{height:50px;border-radius:12px;box-shadow:none}

/* карточки */
.card{background:var(--s1);border:1px solid var(--line2);border-radius:20px;padding:14px}
.sec{display:flex;justify-content:space-between;align-items:baseline}
.sec h3{margin:0;font-family:Unbounded,sans-serif;font-weight:600;font-size:16px}
.sec a{font-size:13px;font-weight:700}
.tap{transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.tap:active{transform:scale(.94)}

/* слайдер */
.slider{position:relative;height:250px;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(224,36,94,.22);background:var(--s1);touch-action:pan-y;user-select:none}
.slide{position:absolute;inset:0;opacity:0;transform:scale(1);transition:opacity 1.2s ease,transform 5s ease-out;display:flex;align-items:flex-end;justify-content:center;background-size:cover;background-position:center}
.slide.on{opacity:1;transform:scale(1.08)}
.scrim{position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(to top,rgba(11,8,9,.92),rgba(11,8,9,0));pointer-events:none}
.bars{position:absolute;left:14px;right:14px;top:14px;display:flex;gap:5px}
.bars span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.28);transition:background .4s}
.bars span.on{background:#fff}
.cap{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:5px}
.cap .k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc3)}
.cap .t{font-family:Unbounded,sans-serif;font-weight:600;font-size:22px;line-height:1.15}
.cap .h{font-size:12px;font-weight:600;color:#D9CBD0}

/* плейсхолдер фото */
.ph{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.ph svg.sil{opacity:.22}
.ph img.pv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph video.pv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;background:transparent}
.pv[hidden]{display:none}.preview-missing{position:absolute;left:5px;right:5px;bottom:7px;text-align:center;font-size:10px;line-height:1.2;color:rgba(255,255,255,.65)}

/* лента */
.marq{margin:0 -20px;padding:2px 20px 4px;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.marq::-webkit-scrollbar{display:none}
.marq{touch-action:pan-x pan-y;overscroll-behavior-x:contain;cursor:grab}
.marq:active{cursor:grabbing}.marq:focus-visible{outline:2px solid var(--acc2);outline-offset:4px}
.mtile{position:relative;flex:0 0 96px;height:128px;border-radius:18px;border:1px solid var(--line);color:var(--text);padding:0}
.mtile{overflow:hidden;user-select:none}.mtile>.ph{height:100%;border-radius:inherit}.mtile img{pointer-events:none;-webkit-user-drag:none}
.lbl{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;background:linear-gradient(to top,rgba(11,8,9,.9),rgba(11,8,9,0));font-size:12px;font-weight:700;line-height:1.15;text-align:left}
.vbadge{position:absolute;right:6px;top:6px;height:22px;padding:0 7px;border-radius:8px;background:rgba(11,8,9,.6);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;gap:4px}

/* строки-ссылки */
.rowcard{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 8px 8px 12px;border-radius:18px;background:var(--s1);border:1px solid var(--line2);color:var(--text);width:100%;text-align:left}
.rowcard .ic{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:rgba(224,36,94,.14);color:var(--acc2);display:flex;align-items:center;justify-content:center}
.rowcard .tx{flex:1;display:flex;flex-direction:column;gap:1px}
.rowcard .tx b{font-size:14px;font-weight:800}.rowcard .tx span{font-size:12px;color:var(--muted)}
.rowcard .go{height:40px;padding:0 16px;border-radius:13px;background:var(--acc);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center}
.wheel-mini{width:40px;height:40px;border-radius:20px;background:conic-gradient(#E0245E 0 45deg,#2A161D 45deg 90deg,#FF6B93 90deg 135deg,#2A161D 135deg 180deg,#F5C378 180deg 225deg,#2A161D 225deg 270deg,#FF6B93 270deg 315deg,#2A161D 315deg 360deg);border:2px solid var(--gold);animation:spin 6s linear infinite;flex-shrink:0}
.season-row{background:#1E0F08;border-color:rgba(255,162,77,.3)}

/* таббар */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--safe-b));width:calc(100% - 24px);max-width:456px;height:66px;border-radius:24px;border:1px solid var(--line2);background:rgba(22,16,18,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 4px;z-index:20}
.tabbar button{border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:700;color:var(--muted2)}
.tabbar button span{width:44px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.tabbar button.on{color:var(--acc2)}.tabbar button.on span{background:rgba(224,36,94,.16)}

/* выбор образа */
.uprow{display:flex;align-items:center;gap:12px;padding:8px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.uprow .th{position:relative;width:56px;height:56px;border-radius:12px;flex-shrink:0;background:#2B2B2E center/cover}
.uprow .ok{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:10px;background:#22C55E;border:2px solid var(--s1);display:flex;align-items:center;justify-content:center}
.seg{position:relative;display:grid;gap:4px;padding:4px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.seg button{position:relative;height:42px;border:none;border-radius:12px;background:transparent;color:var(--soft);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .2s,color .2s;z-index:1}
.seg button.on{background:var(--acc);color:#fff}
.seg .deal{position:absolute;right:2px;top:-8px;height:17px;padding:0 5px;border-radius:6px;background:#22C55E;color:#06210F;font-size:10px;font-weight:800;display:flex;align-items:center}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px}
.chips::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;height:36px;padding:0 14px;border-radius:18px;font-size:13px;font-weight:700;border:1px solid var(--line);background:var(--s1);color:var(--text)}
.chip.on{border-color:var(--acc);background:rgba(224,36,94,.16)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}
.ltile{border:none;background:none;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left;color:var(--text)}
.ltile .pic{position:relative;width:100%;height:124px;border-radius:18px;border:2px solid rgba(255,255,255,.06)}
.ltile.on .pic{border-color:var(--acc);box-shadow:0 0 0 4px rgba(224,36,94,.18)}
.ltile.on .pic::after{content:"";position:absolute;inset:0;border-radius:16px;padding:2px;background:conic-gradient(from var(--rxa),transparent 0 62%,rgba(255,143,174,.95) 76%,#fff 83%,rgba(224,36,94,.95) 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ring 2.2s linear infinite;pointer-events:none}
.ltile.dim{opacity:.45}
.ltile .nm{font-size:13px;font-weight:700;line-height:1.2}
.ltile .pr{font-size:11px;color:var(--muted);font-weight:700}
.check{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:13px;background:var(--acc);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;animation:pop .3s ease both;z-index:2}
.lockb{position:absolute;left:6px;top:6px;height:20px;padding:0 6px;border-radius:7px;background:linear-gradient(90deg,#F5C378,#E0245E);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;z-index:2}
.ibadge{position:absolute;left:6px;top:6px;width:28px;height:28px;border-radius:9px;background:rgba(11,8,9,.55);display:flex;align-items:center;justify-content:center;z-index:2}
.opt{display:flex;align-items:center;gap:10px}
.opt .lab{font-size:14px;font-weight:700;color:var(--soft)}
.opt .two{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.optbtn{height:40px;border-radius:12px;border:1px solid var(--line);background:var(--s1);color:var(--text);font-size:14px;font-weight:700}
.optbtn.on{border-color:var(--acc);background:rgba(224,36,94,.16)}
.toggle{height:56px;border-radius:16px;border:1px solid var(--line);background:var(--s1);display:flex;align-items:center;gap:12px;padding:0 12px;width:100%;text-align:left;color:var(--text);transition:background .2s,border-color .2s}
.toggle.on{border-color:var(--acc);background:rgba(224,36,94,.12)}
.sw{width:50px;height:30px;flex-shrink:0;border-radius:15px;background:rgba(255,255,255,.16);padding:3px;display:flex;justify-content:flex-start;transition:background .2s}
.sw i{width:24px;height:24px;border-radius:12px;background:#fff;display:block}
.on>.sw,.sw.on{background:var(--acc);justify-content:flex-end}
.pricebar{display:flex;align-items:center;justify-content:space-between;padding:0 4px}
.strike{text-decoration:line-through;color:#958589;font-size:14px}

/* генерация */
.ringwrap{position:relative;width:260px;height:260px;margin:40px auto 0}
.ringwrap svg.r{position:absolute;inset:0;transform:rotate(-90deg)}
.ringwrap .face{position:absolute;left:30px;top:30px;width:200px;height:200px;border-radius:100px;overflow:hidden;background:#1E2B3A center/cover}
.ringwrap .scanl{position:absolute;left:0;top:0;width:200px;height:3px;background:var(--acc2);box-shadow:0 0 18px 4px rgba(255,107,147,.7);animation:scan 1.8s ease-in-out infinite}
.gem{position:relative;margin:-30px auto 0;width:60px;height:60px;border-radius:30px;background:var(--bg);border:2px solid rgba(255,107,147,.5);display:flex;align-items:center;justify-content:center;animation:gemGlow 1.6s ease-in-out infinite}
.gem svg{animation:gemSpin 1.6s linear infinite}
.gem-loader svg{animation:gemSpin 1.6s linear infinite,gemGlow 1.6s ease-in-out infinite}
.pct{text-align:center;font-family:Unbounded,sans-serif;font-weight:700;font-size:44px;letter-spacing:-.02em;margin-top:14px}
.steps{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.step{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:#958589;transition:color .3s}
.step i{width:22px;height:22px;border-radius:11px;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-style:normal}
.step.now{color:var(--text)}.step.now i{border-color:var(--acc2)}
.step.done{color:var(--text)}.step.done i{background:var(--acc);border-color:var(--acc)}

/* результат */
.media{position:relative;border-radius:30px;overflow:hidden;background:var(--s1);border:1px solid var(--line);box-shadow:0 24px 60px rgba(224,36,94,.25);touch-action:pan-y}
.media img,.media video{width:100%;max-height:62vh;object-fit:contain;background:#000;display:block}
.media .tagl{position:absolute;left:14px;top:14px;height:30px;padding:0 10px;border-radius:10px;background:rgba(11,8,9,.55);font-size:12px;font-weight:800;display:flex;align-items:center}
.nav2{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;border-radius:22px;border:none;background:rgba(11,8,9,.5);color:#fff;display:flex;align-items:center;justify-content:center}
.thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.thumbs button{height:70px;border-radius:14px;border:2px solid transparent;padding:0;background:#222 center/cover}
.thumbs button.on{border-color:var(--acc)}

/* работы */
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wtile{position:relative;height:140px;border-radius:18px;overflow:hidden;border:1px solid var(--line2);background:#1E2B3A center/cover;padding:0;color:var(--text)}
.wtile .st{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(11,8,9,.55);font-size:12px;font-weight:800}
.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:30px 0}

/* баланс */
.balcard{position:relative;height:150px;border-radius:26px;overflow:hidden;background:linear-gradient(135deg,#8E0F3A 0%,#E0245E 55%,#FF6B7E 100%);padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 20px 50px rgba(224,36,94,.35)}
.balcard .sh{position:absolute;top:0;left:0;width:80px;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,0));animation:shine 4.5s ease-in-out 1s infinite}
.balcard .big{font-family:Unbounded,sans-serif;font-weight:800;font-size:44px;line-height:1;font-variant-numeric:tabular-nums}
.ptiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ptile{position:relative;height:88px;border-radius:20px;border:2px solid var(--line2);background:var(--s1);color:var(--text);padding:12px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.ptile.on{border-color:var(--acc);background:rgba(224,36,94,.12);transform:scale(1.02);box-shadow:0 10px 30px rgba(224,36,94,.25)}
.ptile .hot{position:absolute;right:10px;top:-10px;height:20px;padding:0 8px;border-radius:7px;background:var(--acc);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;display:flex;align-items:center}
.methods{position:relative;display:grid;padding:4px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.methods .pillx{position:absolute;top:4px;left:4px;height:48px;border-radius:12px;background:var(--acc);box-shadow:0 6px 18px rgba(224,36,94,.45);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.methods button{position:relative;height:48px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:color .25s}
.methods button.on{color:#fff}
.mpanel{border-radius:16px;background:rgba(224,36,94,.08);border:1px solid rgba(224,36,94,.25);padding:10px 12px;display:flex;flex-direction:column;gap:7px;animation:panel .35s ease both}
.mchips{display:flex;flex-wrap:wrap;gap:6px}
.mchips button{height:28px;padding:0 10px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--soft);font-size:12px;font-weight:700}
.mchips button.on{background:var(--text);color:var(--bg);border-color:var(--text)}

/* оверлеи */
#overlay:empty{display:none}
.ov{position:fixed;inset:0;z-index:50;background:rgba(5,3,4,.75);display:flex;align-items:flex-end;justify-content:center;animation:fade .25s ease both}
.ov.center{align-items:center}
.sheetbox{width:100%;max-width:480px;border-radius:30px 30px 0 0;background:var(--s1);border-top:1px solid rgba(255,255,255,.1);padding:10px 20px calc(24px + var(--safe-b));display:flex;flex-direction:column;gap:14px;animation:sheet .45s cubic-bezier(.2,.8,.2,1) both;max-height:92vh;overflow-y:auto}
.sheetbox .grab{align-self:center;width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.18)}
.modal{position:relative;width:300px;border-radius:28px;background:var(--s1);border:1px solid rgba(255,255,255,.1);padding:28px 22px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;animation:pop .45s cubic-bezier(.2,.8,.2,1) both}
.okcirc{width:76px;height:76px;border-radius:38px;background:var(--acc);box-shadow:0 0 40px rgba(224,36,94,.6);display:flex;align-items:center;justify-content:center;animation:pop .5s ease .1s both}
.sparks{position:absolute;width:0;height:0;pointer-events:none}
.sparks span{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:2px;transition:transform .9s cubic-bezier(.1,.7,.2,1),opacity .9s ease .2s}
.req{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--s3);border:1px solid var(--line);border-radius:12px;padding:12px;word-break:break-all;user-select:all}
#toast{position:fixed;left:50%;transform:translateX(-50%);top:10px;width:calc(100% - 24px);max-width:456px;z-index:60;pointer-events:none}
.tst{pointer-events:auto;display:flex;align-items:center;gap:12px;min-height:64px;padding:8px;border-radius:20px;background:rgba(28,20,23,.97);border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px rgba(0,0,0,.5);transform:translateY(-130%);opacity:0;transition:transform .5s cubic-bezier(.2,.9,.25,1.15),opacity .3s;color:var(--text)}
.tst.show{transform:none;opacity:1}
.tst .th{width:50px;height:50px;border-radius:14px;flex-shrink:0;background:#3A1626 center/cover}
.err-msg{background:rgba(244,63,94,.12);border:1px solid rgba(244,63,94,.35);border-radius:14px;padding:12px;font-size:14px}

/* колесо */
.wheelwrap{position:relative;width:316px;height:316px;margin:26px auto 0}
.wheelwrap .rim{position:absolute;inset:0;border-radius:50%;background:#2A161D;border:3px solid var(--gold);box-shadow:0 0 50px rgba(224,36,94,.45),inset 0 0 20px rgba(0,0,0,.5)}
.wheelwrap .bulb{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:4px;background:#FFE2B0}
.wheelwrap .disc{position:absolute;left:20px;top:20px;width:276px;height:276px;border-radius:50%;overflow:hidden;background:conic-gradient(#E0245E 0 45deg,#3A1522 45deg 90deg,#C2185B 90deg 135deg,#3A1522 135deg 180deg,#F5C378 180deg 225deg,#3A1522 225deg 270deg,#C2185B 270deg 315deg,#3A1522 315deg 360deg)}
.wheelwrap .seglab{position:absolute;left:138px;top:138px;width:0;height:0}
.wheelwrap .seglab div{position:absolute;left:-30px;top:-122px;width:60px;text-align:center;display:flex;flex-direction:column;align-items:center}
.wheelwrap .seglab b{font-family:Unbounded,sans-serif;font-weight:800;font-size:22px;line-height:1.1}
.wheelwrap .seglab small{font-size:10px;font-weight:800;letter-spacing:.06em}
.wheelwrap .hub{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:32px;background:var(--bg);border:3px solid var(--gold);display:flex;align-items:center;justify-content:center}
.wheelwrap .pointer{position:absolute;left:50%;margin-left:-17px;top:-14px;transform-origin:50% 10px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}

/* сезон */
.season-hero{position:relative;height:196px;border-radius:26px;overflow:hidden;background:#1E0F08 center/cover;border:1px solid rgba(255,162,77,.25);padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.timer{display:flex;gap:6px}
.timer span{width:46px;height:42px;border-radius:10px;background:rgba(10,7,8,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.timer small{font-size:9px;color:#E3CBB4;text-transform:uppercase}

/* текстовые страницы */
.doc{line-height:1.6;color:var(--soft)}
.doc h1{font-family:Unbounded,sans-serif;font-size:22px;color:var(--text);margin:0 0 12px}
.doc h2{font-size:17px;color:var(--text);margin:20px 0 8px}
.doc strong{color:var(--text)}
.doc li{margin:4px 0}
.list{border-radius:22px;background:var(--s1);border:1px solid var(--line2);overflow:hidden}
.list>*{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;font-size:15px;font-weight:600;color:var(--text);border:none;background:none;width:100%;text-align:left;border-top:1px solid rgba(255,255,255,.06)}
.list>*:first-child{border-top:none}
.list svg.i{color:var(--acc2);flex-shrink:0}
.list .sp{flex:1}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.stats3>*{border-radius:18px;background:var(--s1);border:1px solid var(--line2);padding:12px;display:flex;flex-direction:column;gap:4px;color:var(--text)}
.stats3 b{font-size:20px}.stats3 span{font-size:12px;color:var(--muted)}
.plusban{display:flex;align-items:center;gap:12px;min-height:64px;padding:0 12px;border-radius:20px;background:linear-gradient(100deg,rgba(245,195,120,.16),rgba(224,36,94,.16));border:1px solid rgba(245,195,120,.35);color:var(--text);width:100%;text-align:left}
.plusic{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#F5C378,#E0245E);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.plan{position:relative;height:104px;border-radius:20px;border:2px solid var(--line);background:var(--s1);color:var(--text);padding:14px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left}
.plan.on{border-color:var(--gold);background:rgba(245,195,120,.08)}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--soft);line-height:1.4}
.agree input{width:22px;height:22px;accent-color:var(--acc);flex-shrink:0;margin:0}

/* Compact video controls and custom consent check. */
.video-controls,.scr>.video-controls{position:fixed;z-index:15;left:50%;transform:translateX(-50%);bottom:calc(var(--action-gap) + var(--safe-b));width:min(calc(100% - 28px),452px);padding:10px;border:1px solid var(--line);border-radius:20px;background:rgba(24,15,20,.96);backdrop-filter:blur(18px)}
.video-controls .opt{margin:0 0 8px}.video-controls .toggle{margin:0;width:100%;min-height:50px}.video-controls .optbtn{min-height:32px}
.scr.has-video-controls,.scr:has(.video-controls){padding-bottom:calc(180px + var(--action-gap) + var(--safe-b))!important}
.agree input{appearance:none;-webkit-appearance:none;border:1.5px solid rgba(255,107,147,.5);border-radius:7px;background:var(--s1);display:grid;place-content:center;cursor:pointer}
.agree input:checked{background:var(--acc);border-color:var(--acc)}
.agree input:checked:after{content:"";width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}
.agree input:focus-visible{outline:2px solid var(--acc2);outline-offset:3px}
.mines-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.mine-cell{aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:var(--s2);display:grid;place-content:center;font-size:24px;color:var(--muted2);transition:background .2s,border-color .2s}
.mine-cell.opened{border-color:rgba(255,107,147,.6);background:rgba(224,36,94,.14)}
.mine-cell.bomb{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}
.crash-stage{position:relative;overflow:hidden;min-height:210px;border-radius:18px;margin-top:14px;background:radial-gradient(ellipse at 70% 90%,rgba(224,36,94,.2),transparent 70%),var(--s3);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.crash-stage b{font-family:Unbounded,sans-serif;font-size:34px;position:relative;z-index:1}
.crash-stage .rocket{font-size:42px;position:absolute;right:18%;top:24px;transform:rotate(-12deg)}
.crash-stage.flying .rocket{animation:float 2s ease-in-out infinite}
.crash-trail{position:absolute;left:8%;bottom:-25px;width:70%;height:170px;border-top:3px solid var(--acc2);border-radius:80% 10% 0 0;transform:rotate(-23deg);opacity:.6}
.crash-stage.crashed .rocket{filter:grayscale(1);opacity:.45}.crash-stage.crashed b{color:var(--muted)}
@media(prefers-reduced-motion:reduce){.slide,.disc{transition:none!important}}
@media(prefers-reduced-motion:reduce){.crash-stage.flying .rocket{animation:none}}

/* Comparison hero, smooth photo track and Rubi game artwork. */
.hero-compare{position:relative;isolation:isolate;aspect-ratio:1.25;border-radius:28px;border:1px solid var(--line);overflow:hidden;background:var(--s1)}
.compare-layer,.compare-layer img,.compare-shade{position:absolute;inset:0;width:100%;height:100%}
.compare-layer img{object-fit:cover;object-position:50% 15%;opacity:0;transition:opacity .7s;pointer-events:none}
.compare-canvas{position:absolute;pointer-events:none}
.compare-canvas img{object-fit:fill;transform-origin:0 0}
.compare-layer img.on{opacity:1}.compare-layer.after{clip-path:inset(0 0 0 var(--split));will-change:clip-path}
.compare-shade{background:linear-gradient(0deg,rgba(11,8,9,.9),transparent 55%);pointer-events:none}
.compare-label{position:absolute;top:15px;padding:6px 10px;border-radius:20px;background:rgba(0,0,0,.65);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.before-label{left:15px}.after-label{right:15px;color:var(--acc2)}
.compare-caption{position:absolute;left:22px;right:18px;bottom:20px;pointer-events:none}
.compare-caption h2{font-size:clamp(24px,6.4vw,32px);font-weight:800;line-height:1.03;letter-spacing:-.035em;margin:0 0 10px}
.compare-caption p{margin:0;color:var(--soft);font-size:clamp(10px,2.7vw,13px)}
.compare-divider{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#fff;transform:translateX(-50%);pointer-events:none}
.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-content:center;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(22,16,18,.55);backdrop-filter:blur(8px)}
.compare-range{position:absolute;inset:0;margin:0;opacity:0;width:100%;height:100%;cursor:ew-resize;touch-action:pan-y}
.hero-compare:not(.pointer-focus):has(.compare-range:focus-visible){outline:2px solid var(--acc2);outline-offset:3px}
.marq-track{display:flex;gap:10px;flex:0 0 auto;will-change:transform}
.marq{scroll-behavior:auto;contain:layout paint}
.mtile{flex-basis:112px;height:148px}
.games-intro h2{margin:0 0 8px;font-size:25px}.games-intro p{margin:0;color:var(--muted);font-size:13px}
.game-lobby{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.game-card{padding:20px 10px 18px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;border:1px solid rgba(255,107,147,.25);border-radius:24px;color:var(--text);background:radial-gradient(ellipse at 50% 0%,rgba(224,36,94,.2),transparent 75%),var(--s1);min-height:265px}
.game-card>svg:first-child{margin-bottom:4px}
.game-card>b{font-size:16px;line-height:1.25;min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center}
.game-card>span{font-size:12px;line-height:1.35;color:var(--muted);min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center}
.game-card>svg:last-child{margin-top:auto;color:var(--acc2)}
.game-board{padding:14px}.game-board>#gameStatus{margin-top:0;font-weight:700;color:var(--acc3)}
.game-settings{display:flex;flex-direction:column;gap:10px}
.stake-stepper{display:flex;gap:10px;align-items:center;padding:6px;border:1px solid var(--line);background:var(--s1);border-radius:18px}
.stake-stepper button{width:46px;height:46px;flex:0 0 46px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:linear-gradient(155deg,var(--acc2),var(--acc));font-size:24px;font-weight:700;box-shadow:0 4px 0 #7E1434}
.stake-stepper button:disabled{opacity:.4;box-shadow:none}.stake-stepper input{width:100%;min-width:0;background:none;border:0;color:var(--text);font:800 22px Manrope,sans-serif;text-align:center;appearance:textfield;-moz-appearance:textfield}
.stake-stepper input::-webkit-inner-spin-button,.stake-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.mine-choice{display:flex;align-items:center;gap:6px}.mine-choice>span{font-size:11px;color:var(--muted);margin-right:4px}.mine-choice button{flex:1;border:1px solid var(--line);border-radius:13px;background:var(--s1);height:34px;font-weight:800;font-size:12px}.mine-choice button.on{background:rgba(224,36,94,.2);border-color:var(--acc);color:var(--acc2)}
.game-settings>p{margin:0;text-align:center}
.mine-cell{border-color:rgba(255,180,205,.3);background:linear-gradient(145deg,#FF6B93,#B51A4B);box-shadow:inset 3px 3px 0 rgba(255,255,255,.17),inset -4px -5px 0 rgba(80,0,30,.22),0 3px 0 #66122D;transition:background .16s,box-shadow .16s,transform .16s}
.mine-cell.opened{border-color:rgba(255,107,147,.35);background:var(--s3);box-shadow:inset 0 2px 6px rgba(0,0,0,.45);transform:translateY(2px)}
.crash-stage .rocket{right:12%;top:15px}.crash-stage{min-height:240px}

/* Cyber Safes & Balance Top Action */
.safes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.safe-cell{aspect-ratio:1;border:1.5px solid rgba(255,107,147,.22);border-radius:20px;background:linear-gradient(155deg,#231826 0%,#15101A 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1);position:relative;overflow:hidden;transition:all .2s cubic-bezier(.2,.8,.2,1);cursor:pointer}
.safe-cell:active:not(:disabled){transform:scale(.94);box-shadow:0 2px 8px rgba(0,0,0,.4)}
.safe-cell::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(224,36,94,.18),transparent 70%);opacity:.8;pointer-events:none}
.safe-cell .vault-ic{color:var(--acc2);filter:drop-shadow(0 0 8px rgba(224,36,94,.5));transition:transform .2s}
.safe-cell:hover:not(:disabled) .vault-ic{transform:scale(1.1)}
.safe-cell .safe-num{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.05em}
.safe-cell.opened{border-color:rgba(34,197,94,.6);background:radial-gradient(circle at 50% 50%,rgba(34,197,94,.22),transparent 75%),#131F1A;box-shadow:0 0 20px rgba(34,197,94,.25),inset 0 0 12px rgba(34,197,94,.15);animation:vaultOpen .4s cubic-bezier(.175,.885,.32,1.275)}
.safe-cell.opened .gem-ic{animation:pop .4s ease both;filter:drop-shadow(0 0 12px rgba(224,36,94,.8))}
.safe-cell.alarm{border-color:rgba(239,68,68,.8);background:radial-gradient(circle at 50% 50%,rgba(239,68,68,.35),transparent 75%),#281116;box-shadow:0 0 25px rgba(239,68,68,.4);animation:shakeAlarm .5s ease}
.safe-cell.alarm .alarm-ic{font-size:32px;filter:drop-shadow(0 0 10px rgba(239,68,68,1))}
@keyframes vaultOpen{0%{transform:scale(.85) rotate(-6deg)}60%{transform:scale(1.08) rotate(2deg)}100%{transform:scale(1) rotate(0)}}
@keyframes shakeAlarm{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

.pay-top-action{position:relative;background:linear-gradient(145deg,rgba(224,36,94,.18),rgba(25,18,24,.85));border:1.5px solid rgba(224,36,94,.38);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 32px rgba(224,36,94,.16);margin-bottom:6px}
.promo-box{background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}



/* Cinema-Grade Crash & Cyber Plinko */
.game-canvas-wrap{position:relative;width:100%;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,rgba(45,15,35,.8) 0%,#0C0812 70%);border:1.5px solid rgba(255,107,147,.24);box-shadow:0 12px 35px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;margin-top:6px}
.crash-canvas{display:block;width:100%;height:260px;touch-action:none}
.plinko-canvas{display:block;width:100%;max-width:350px;height:300px;touch-action:none}
.game-hud-status{position:absolute;top:14px;left:18px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);pointer-events:none}
.game-hud-status .dot{width:7px;height:7px;border-radius:50%;background:#22C55E;box-shadow:0 0 8px #22C55E}
.game-hud-status.flying .dot{background:#FF6B93;box-shadow:0 0 10px #FF6B93;animation:pulse 1s infinite}
.game-hud-status.crashed .dot{background:#EF4444;box-shadow:0 0 10px #EF4444}
.quick-stakes{display:flex;gap:6px;width:100%;margin-top:2px}
.quick-stakes button{flex:1;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.05);color:var(--soft);font-size:12px;font-weight:800;transition:all .18s}
.quick-stakes button:active{transform:scale(.95);background:rgba(224,36,94,.25);color:#fff}
.plinko-bins-legend{display:flex;gap:4px;width:100%;max-width:340px;margin-top:-6px;padding:0 6px 10px}
.plinko-bin-pill{flex:1;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:10px;font-weight:900;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:all .2s}


/* Plinko Multi-Ball & Risk Selectors */
.plinko-sub-bar{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:10px}
.plinko-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.plinko-row-label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;position:relative}
.plinko-toggles{display:flex;gap:4px;background:var(--s1);padding:3px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.plinko-toggles button{height:28px;padding:0 10px;border-radius:9px;border:none;background:none;color:var(--soft);font-size:11px;font-weight:800;cursor:pointer;transition:all .18s}
.plinko-toggles button.on{background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;box-shadow:0 2px 8px rgba(224,36,94,.4)}
.plinko-history-wrap{position:absolute;top:10px;right:10px;display:flex;gap:3px;align-items:center;pointer-events:none;z-index:2;max-width:96px;overflow:hidden}
.plinko-chip{height:18px;padding:0 5px;border-radius:5px;font-size:9px;font-weight:900;display:flex;align-items:center;justify-content:center}
