/* RipStudio МИНИ АПКИ — Blood Liquid Glass */
@font-face{font-family:Rip;src:url(assets/fonts/montserrat-bold-italic.ttf);font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:RipText;src:url(assets/fonts/inter.ttf);font-weight:100 900;font-display:swap}
:root{
  --bg:#060203;--text:#f8eeef;--muted:#b49a9e;--dim:#7d676b;
  --red:#e8142d;--red-hot:#ff3b52;--red-soft:#ff8a97;--red-deep:#8a0716;--blood:#4a0510;
  --glass:rgba(255,255,255,.07);--line:rgba(255,255,255,.11);--line-red:rgba(255,59,82,.34);
  --r:28px;--ease:cubic-bezier(.2,.9,.2,1);--spring:cubic-bezier(.3,1.45,.5,1);
  --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);scroll-behavior:smooth}
body{min-height:100vh;color:var(--text);font:500 15px/1.4 RipText,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit;outline:none}
button{cursor:pointer;touch-action:manipulation;border:0;background:none}
.hidden{display:none!important}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ───── фон: жидкая кровь ───── */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 70% at 50% -10%,#3a040d 0%,transparent 60%),var(--bg)}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
.b1{width:60vmax;height:60vmax;left:-20vmax;top:-18vmax;background:radial-gradient(circle,#c4102a,transparent 62%);animation:drift1 22s ease-in-out infinite alternate}
.b2{width:52vmax;height:52vmax;right:-22vmax;top:26vh;background:radial-gradient(circle,#7a0613,transparent 64%);animation:drift2 28s ease-in-out infinite alternate}
.b3{width:44vmax;height:44vmax;left:10vw;bottom:-22vmax;background:radial-gradient(circle,#ff2a45aa,transparent 62%);opacity:.32;animation:drift3 25s ease-in-out infinite alternate}
.grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
@keyframes drift1{to{transform:translate(14vmax,10vmax) scale(1.15)}}
@keyframes drift2{to{transform:translate(-16vmax,-8vmax) scale(.9)}}
@keyframes drift3{to{transform:translate(12vmax,-10vmax) scale(1.2)}}

/* ───── жидкое стекло ───── */
.glass,.glass-strong,.topbar,.tabbar,.dock{
  -webkit-backdrop-filter:blur(26px) saturate(175%);backdrop-filter:blur(26px) saturate(175%);
}
.glass{position:relative;border-radius:var(--r);border:1px solid var(--line);
  background:linear-gradient(150deg,rgba(255,255,255,.11),rgba(255,255,255,.035) 38%,rgba(232,20,45,.09));
  box-shadow:0 1px 0 rgba(255,255,255,.30) inset,0 -1px 0 rgba(0,0,0,.45) inset,0 26px 60px -24px rgba(0,0,0,.8),0 0 0 1px rgba(255,40,70,.04)}
.glass::before,.glass-strong::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 70% at 0% 0%,rgba(255,255,255,.20),transparent 46%),radial-gradient(90% 60% at 100% 100%,rgba(255,59,82,.14),transparent 55%);opacity:.7}
.glass>*,.glass-strong>*{position:relative;z-index:1}
.glass-strong{position:relative;border-radius:34px;border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(150deg,rgba(255,255,255,.15),rgba(255,255,255,.05) 40%,rgba(120,6,19,.30));
  box-shadow:0 1px 0 rgba(255,255,255,.38) inset,0 -1px 0 rgba(0,0,0,.5) inset,0 40px 90px -20px rgba(0,0,0,.9),0 0 60px -10px rgba(232,20,45,.30)}

/* ───── каркас ───── */
.app{max-width:1080px;margin:0 auto;padding:calc(var(--safe-t) + 10px) 16px calc(170px + var(--safe-b))}
.topbar{position:sticky;top:calc(var(--safe-t) + 8px);z-index:40;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 8px;margin-bottom:18px;border-radius:26px;border:1px solid var(--line);
  background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.04) 45%,rgba(120,6,19,.22));
  box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 18px 40px -20px #000}
.logo{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;
  background:linear-gradient(155deg,#ff4a60,#9a0819 70%);box-shadow:0 0 0 1px rgba(255,255,255,.28) inset,0 8px 24px -4px rgba(232,20,45,.7)}
.logo span{font:800 italic 24px Rip;color:#fff;text-shadow:0 2px 8px #0006}
.logo:after{content:"";position:absolute;left:9px;bottom:-7px;width:7px;height:15px;border-radius:0 0 8px 8px;background:#2a0006;opacity:.55;animation:drip 4s ease-in-out infinite}
@keyframes drip{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.brand{flex:1;min-width:0;line-height:1.1}
.brand b{display:block;font-size:16px;letter-spacing:.01em}
.brand span{font-size:10px;letter-spacing:.2em;color:var(--red-hot);font-weight:800}
.pill{display:flex;align-items:center;gap:8px;height:46px;padding:0 14px;border-radius:18px;border:1px solid var(--line);
  background:rgba(0,0,0,.28);font-weight:700;font-size:14px;transition:transform .25s var(--spring),background .25s}
.pill:active{transform:scale(.94)}
.pill svg{width:20px;height:20px}.pill i{font-style:normal;color:var(--red-hot);font-size:20px;line-height:1;font-weight:800}
.pill b{font-weight:700;white-space:nowrap}

/* ───── экраны и переходы ───── */
.screen{display:none}
.screen.active{display:block;animation:screenIn .6s var(--ease) both}
@keyframes screenIn{from{opacity:0;transform:translateY(26px) scale(.985);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.screen.active>.glass,.screen.active>.page-head,.screen.active>.chips,.screen.active>.actions-row,.screen.active>.pack-link{animation:rise .7s var(--ease) both;animation-delay:calc(var(--i,0)*80ms + 60ms)}
@keyframes rise{from{opacity:0;transform:translateY(34px) scale(.97)}to{opacity:1;transform:none}}

.page-head{margin:6px 2px 20px}
.page-head small{display:block;font:800 10.5px ui-monospace,Consolas,monospace;letter-spacing:.22em;color:var(--red-hot);text-transform:uppercase;margin-bottom:8px}
.page-head h1{font:800 italic 38px/1.02 Rip;text-transform:uppercase;letter-spacing:-.015em;text-shadow:0 4px 30px rgba(232,20,45,.35)}
.page-head h1 b{font-weight:800;background:linear-gradient(180deg,#ffd2d8,#ff3b52 60%,#a30a1e);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(232,20,45,.45))}
.page-head p{color:var(--muted);margin-top:10px;max-width:520px}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}
.count-chip{display:grid;place-items:center;min-width:74px;padding:10px 14px;border-radius:22px;border:1px solid var(--line-red);background:rgba(232,20,45,.14);backdrop-filter:blur(14px)}
.count-chip span{font:800 24px Rip;font-style:italic;line-height:1}.count-chip i{font-style:normal;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-soft)}

/* ───── карточки настроек ───── */
.card{padding:18px;margin-bottom:14px}
.card-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.card-head b{display:block;font-size:17px}
.card-head small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.ico{flex:0 0 46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(155deg,rgba(255,59,82,.35),rgba(120,6,19,.35));border:1px solid var(--line-red);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 22px -8px var(--red)}
.ico svg{width:22px;height:22px;color:#ffd6db}
.field-label{display:flex;justify-content:space-between;margin:16px 2px 8px;font-size:13px;font-weight:700;color:var(--muted)}
.field-label span{font-weight:600;color:var(--dim)}
.input-wrap{position:relative}
.input-wrap input,.topup-row input,.referral-link input,.searchbar input{width:100%;height:54px;border-radius:19px;border:1px solid var(--line);background:rgba(0,0,0,.34);padding:0 18px;font-weight:700;font-size:17px;transition:border-color .25s,box-shadow .25s,background .25s}
.input-wrap input:focus,.topup-row input:focus,.searchbar input:focus{border-color:var(--red-hot);box-shadow:0 0 0 4px rgba(232,20,45,.22),0 10px 30px -10px var(--red);background:rgba(0,0,0,.5)}
.input-wrap #captionCount{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--dim);pointer-events:none}
.row{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.row>div:first-child,.row>span:first-child{flex:1;min-width:0}
.row b,.row span{font-weight:700}.row small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}
.row select{height:44px;border-radius:15px;border:1px solid var(--line);background:rgba(0,0,0,.4);padding:0 12px;max-width:52%;min-width:0}
.row select option{background:#1a0a0d}
.font-preview{margin-top:14px;padding:16px;border-radius:20px;border:1px dashed var(--line-red);background:rgba(0,0,0,.28);text-align:center;font-size:26px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.note{display:block;color:var(--muted);font-size:12.5px;margin-top:10px}
.color-row{flex-wrap:wrap}
.color-row>div:first-child{flex:1 1 100%}
.swatch{position:relative;display:flex;align-items:center;gap:10px;height:46px;padding:0 14px 0 6px;border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.34);cursor:pointer;flex:1 1 150px}
.swatch input{width:34px;height:34px;border:0;border-radius:11px;background:none;padding:0;cursor:pointer}
.swatch input::-webkit-color-swatch-wrapper{padding:0}.swatch input::-webkit-color-swatch{border:2px solid rgba(255,255,255,.4);border-radius:11px}
.swatch output{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--red-soft)}

/* кнопки */
.btn,.btn-ghost,.apply{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:19px;font-weight:800;transition:transform .3s var(--spring),box-shadow .3s,filter .3s;position:relative;overflow:hidden}
.btn{height:54px;padding:0 24px;color:#fff;background:linear-gradient(180deg,#ff5468 0%,#e8142d 45%,#a30a1e 100%);box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 -2px 0 rgba(0,0,0,.25) inset,0 14px 34px -8px rgba(232,20,45,.75)}
.btn::after{content:"";position:absolute;left:0;right:0;top:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.34),transparent);pointer-events:none}
.btn:active,.btn-ghost:active,.apply:active{transform:scale(.95)}
.btn:disabled{filter:grayscale(.6) brightness(.7);box-shadow:none;cursor:default}
.btn.wide{width:100%}
.btn-ghost{height:54px;padding:0 22px;border:1px solid var(--line);background:rgba(255,255,255,.07);backdrop-filter:blur(14px)}
.apply{height:44px;padding:0 16px;font-size:13px;border:1px solid var(--line);background:rgba(255,255,255,.07)}
.apply:hover{background:rgba(255,255,255,.12)}
.go-card{display:grid;gap:14px}
.go-card b{font-size:18px}.go-card small{display:block;color:var(--muted);margin-top:4px}
.go-actions{display:flex;gap:10px}.go-actions>*{flex:1}

/* сегменты со скользящим стеклом */
.segment{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:5px;border-radius:21px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.07)}
.segment button{position:relative;z-index:1;height:46px;border-radius:16px;font-weight:800;color:var(--muted);transition:color .3s}
.segment button.active{color:#fff}
.seg-glass{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/2);border-radius:16px;transition:transform .5s var(--spring);
  background:linear-gradient(180deg,rgba(255,90,108,.95),rgba(190,12,34,.95));box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 24px -8px var(--red)}
.segment:has(button:nth-of-type(2).active) .seg-glass{transform:translateX(100%)}
.mini-segment{display:flex;gap:4px;padding:4px;border-radius:15px;background:rgba(0,0,0,.4)}
.mini-segment button{height:36px;padding:0 14px;border-radius:11px;font-weight:700;font-size:13px;color:var(--muted);transition:.25s}
.mini-segment button.active{color:#fff;background:linear-gradient(180deg,#ff5468,#b50c22);box-shadow:0 6px 16px -6px var(--red)}
@supports not selector(:has(*)){.segment button.active{background:linear-gradient(180deg,#ff5468,#b50c22)}.seg-glass{display:none}}

.upload{display:block;padding:18px;border-radius:20px;border:1px dashed var(--line-red);text-align:center;font-weight:800;cursor:pointer;margin-top:14px;background:rgba(0,0,0,.25)}
.upload input{display:none}.file-name{margin-top:8px;font-size:12.5px;color:var(--muted)}
.range-label{display:flex;justify-content:space-between;margin:14px 2px 6px;font-weight:700}
.range{width:100%;accent-color:var(--red-hot);height:34px}

/* ───── Студия ───── */
.searchbar{display:flex;align-items:center;margin-bottom:14px;padding:6px;border-radius:24px}
.searchbar input{border:0;background:transparent;height:46px}.searchbar input:focus{box-shadow:none;background:transparent}
.searchbar span{padding-right:16px;font-size:20px;color:var(--red-soft)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chips button{flex:0 0 auto;height:42px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);backdrop-filter:blur(12px);font-weight:700;color:var(--muted);transition:.3s var(--spring)}
.chips button.active{color:#fff;border-color:transparent;background:linear-gradient(180deg,#ff5468,#b50c22);box-shadow:0 10px 24px -8px var(--red);transform:translateY(-1px) scale(1.04)}
.actions-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.actions-row button,.catalog-actions button,.category-bar button{height:44px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.06);backdrop-filter:blur(12px);font-weight:700;font-size:13.5px;transition:transform .3s var(--spring),background .25s}
.actions-row button:active,.catalog-actions button:active,.category-bar button:active{transform:scale(.94)}
.series-section{margin-bottom:22px}
.series-section.out{display:none}
.series-head{display:flex;justify-content:space-between;align-items:center;margin:4px 4px 12px}
.series-head div{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800}
.series-head span{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:rgba(232,20,45,.2);border:1px solid var(--line-red);color:var(--red-soft)}
.series-head small{color:var(--muted)}
.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.series-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px;text-align:left;border-radius:26px;border:1px solid var(--line);
  background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.03) 40%,rgba(232,20,45,.08));backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 18px 40px -22px #000;transition:transform .45s var(--spring),border-color .3s,box-shadow .3s;animation:rise .7s var(--ease) both}
.series-card:hover{transform:translateY(-4px);border-color:var(--line-red);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 24px 50px -18px rgba(232,20,45,.5)}
.series-card:active{transform:scale(.97)}
.series-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.series-card-title b{display:block;font-size:15.5px}.series-card-title small{color:var(--muted);font-size:12px}
.series-card-title em{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.12em;padding:4px 8px;border-radius:999px;background:rgba(232,20,45,.25);border:1px solid var(--line-red);color:#ffc4cb}
.series-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;border-radius:20px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.05)}
.series-mini-grid span{aspect-ratio:1;display:block;min-width:0}
.series-mini-grid svg,.series-mini-grid img{width:100%!important;height:100%!important;object-fit:contain}
.category-bar{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.category-bar button{padding:0 16px;flex:0 0 auto}.category-bar b{display:block;font-size:17px}.category-bar span{color:var(--muted);font-size:12.5px}
.sticker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sticker{position:relative;aspect-ratio:1;border-radius:24px;padding:8px;border:1px solid var(--line);min-width:0;
  background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.03) 45%,rgba(232,20,45,.07));backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 12px 26px -16px #000;transition:transform .4s var(--spring),border-color .25s,box-shadow .3s,background .3s;animation:rise .55s var(--ease) both}
.sticker:hover{transform:translateY(-3px)}.sticker:active{transform:scale(.93)}
.sticker .lottie-thumb{width:100%;height:100%;display:grid;place-items:center;pointer-events:none}
.sticker .lottie-thumb svg{width:100%!important;height:100%!important}
.sticker>span:not(.eye){position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:10.5px;font-weight:800;color:var(--dim);letter-spacing:.04em}
.sticker::after{content:"✓";position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;color:#fff;background:linear-gradient(180deg,#ff5468,#b50c22);box-shadow:0 6px 14px -4px var(--red);opacity:0;transform:scale(.3) rotate(-40deg);transition:.4s var(--spring)}
.sticker.selected{border-color:var(--red-hot);background:linear-gradient(150deg,rgba(255,90,108,.28),rgba(232,20,45,.12) 50%,rgba(120,6,19,.3));box-shadow:0 0 0 1px var(--red-hot) inset,0 16px 36px -12px rgba(232,20,45,.75);animation:pop .5s var(--spring)}
.sticker.selected::after{opacity:1;transform:none}
@keyframes pop{0%{transform:scale(.9)}60%{transform:scale(1.07)}100%{transform:scale(1)}}
.eye{position:absolute;left:8px;top:8px;z-index:2;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.45);border:1px solid var(--line);backdrop-filter:blur(8px);pointer-events:auto;transition:transform .3s var(--spring)}
.eye:active{transform:scale(.85)}.eye svg{width:15px;height:15px}
.catalog-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:20px}
.catalog-actions #catalogDone{color:#fff;border:0;background:linear-gradient(180deg,#ff5468,#b50c22);box-shadow:0 12px 28px -10px var(--red)}

/* ───── Мои паки ───── */
.pack-link{display:grid;gap:6px;padding:16px;margin-bottom:12px;border-radius:26px;border:1px solid var(--line);
  background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.03) 40%,rgba(232,20,45,.08));backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 20px 44px -24px #000}
.pack-link b{font-size:17px;overflow:hidden;text-overflow:ellipsis}.pack-link>span{color:var(--muted);font-size:13px}
.pack-actions{display:flex;gap:8px;margin-top:8px}
.pack-actions a,.pack-actions button{flex:1;display:grid;place-items:center;height:46px;border-radius:16px;font-weight:800;font-size:13.5px;text-decoration:none;color:#fff;border:1px solid var(--line);background:rgba(255,255,255,.07);transition:transform .3s var(--spring)}
.pack-actions a{background:linear-gradient(180deg,#ff5468,#b50c22);border:0;box-shadow:0 10px 22px -8px var(--red)}
.pack-actions button:disabled{opacity:.4}.pack-actions *:active{transform:scale(.95)}
.empty-packs{display:grid;justify-items:center;gap:8px;text-align:center;padding:36px 20px;border-radius:30px;border:1px dashed var(--line-red);background:rgba(0,0,0,.25)}
.empty-packs img{width:110px;height:110px;object-fit:contain;animation:float 5s ease-in-out infinite;filter:drop-shadow(0 12px 22px rgba(232,20,45,.5))}
.empty-packs b{font-size:19px}.empty-packs span{color:var(--muted);max-width:280px}
.empty-packs button{margin-top:10px;height:50px;padding:0 24px;border-radius:18px;font-weight:800;color:#fff;background:linear-gradient(180deg,#ff5468,#b50c22);box-shadow:0 12px 26px -8px var(--red)}
@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}

/* ───── профиль ───── */
.profile-card{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;padding:18px;margin-bottom:14px}
.profile-avatar{width:72px;height:72px;border-radius:26px;display:grid;place-items:center;font:800 italic 32px Rip;background:linear-gradient(155deg,#ff4a60,#9a0819 75%);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 14px 34px -8px var(--red)}
.profile-info h2{font-size:21px}.profile-info p{color:var(--muted)}
.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.stats div{text-align:center;padding:12px 6px;border-radius:20px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.06)}
.stats b{display:block;font:800 24px Rip;font-style:italic}.stats span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.balance-card,.referral-card,.settings{padding:18px;margin-bottom:14px}
.balance-card small:first-child,.referral-card small:first-child{font:800 10.5px ui-monospace,Consolas,monospace;letter-spacing:.2em;color:var(--red-hot)}
.balance-card h3{font:800 italic 36px Rip;margin:6px 0}.balance-card p,.referral-card p{color:var(--muted)}
.topup-row{display:flex;gap:10px;margin-top:16px}.topup-row input{flex:1;min-width:0}
.referral-card h3{font-size:19px;margin:6px 0}
.referral-balance{display:flex;align-items:baseline;gap:10px;margin:14px 0}.referral-balance b{font:800 italic 34px Rip;color:var(--red-soft)}.referral-balance span{color:var(--muted)}
.referral-link{display:flex;gap:8px;margin-bottom:12px}.referral-link input{flex:1;min-width:0;font-size:13px;height:46px}
.verified{color:#6ef0a4}
.foot{margin:26px 0 6px;text-align:center;font-size:12px;color:var(--dim)}.foot b{color:var(--red-hot);letter-spacing:.06em}

/* ───── создание: плавающая панель ───── */
.dock{position:fixed;z-index:45;left:50%;bottom:calc(var(--safe-b) + 94px);width:min(calc(100% - 24px),440px);transform:translate(-50%,0);display:flex;align-items:center;gap:12px;padding:9px 9px 9px 18px;border-radius:28px;border:1px solid var(--line-red);
  background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.04) 45%,rgba(120,6,19,.4));box-shadow:0 1px 0 rgba(255,255,255,.34) inset,0 24px 50px -16px #000,0 0 40px -12px rgba(232,20,45,.5);
  transition:transform .55s var(--spring),opacity .35s}
body:not([data-screen="emoji"]):not([data-screen="catalog"]) .dock{transform:translate(-50%,40px) scale(.9);opacity:0;pointer-events:none}
.dock-info{flex:1;min-width:0;line-height:1.2}.dock-info b{display:block;font-size:16px}.dock-info span{font-size:12.5px;color:var(--muted)}
.dock .btn{height:50px;padding:0 20px;font-size:14px;white-space:nowrap;max-width:62%}

/* ───── нижняя панель в стиле iOS ───── */
.tabbar{position:fixed;z-index:50;left:50%;bottom:calc(var(--safe-b) + 14px);width:min(calc(100% - 20px),440px);height:68px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border-radius:34px;border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 40%,rgba(90,5,16,.5));
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 -1px 0 rgba(0,0,0,.5) inset,0 30px 60px -16px #000,0 0 50px -14px rgba(232,20,45,.45);animation:barIn .9s var(--spring) both .2s}
@keyframes barIn{from{transform:translate(-50%,90px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.tab-glass{position:absolute;z-index:0;top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/5);border-radius:28px;transform:translateX(calc(var(--idx,0)*100%));transition:transform .6s var(--spring);
  background:linear-gradient(180deg,rgba(255,110,126,.5),rgba(232,20,45,.34) 55%,rgba(120,6,19,.45));border:1px solid rgba(255,255,255,.28);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 10px 26px -6px rgba(232,20,45,.8),0 0 24px -4px rgba(255,59,82,.55)}
.tabbar button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#a98f93;font-size:10px;min-width:0;font-weight:700;letter-spacing:.01em;border-radius:28px;transition:color .35s}
.tabbar button svg{width:25px;height:25px;transition:transform .5s var(--spring),filter .35s}
.tabbar button.active{color:#fff}
.tabbar button.active svg{transform:translateY(-1px) scale(1.12);filter:drop-shadow(0 0 8px rgba(255,255,255,.55))}
.tabbar button:active svg{transform:scale(.82)}

/* ───── предпросмотр и модальные окна ───── */
.sheet{position:fixed;z-index:90;inset:0;display:grid;align-items:end;justify-items:center}
.sheet-back{position:absolute;inset:0;background:rgba(3,1,2,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .35s both}
.sheet-card{position:relative;width:min(100%,520px);padding:22px 20px calc(22px + var(--safe-b));border-radius:38px 38px 0 0;display:grid;justify-items:center;gap:14px;animation:sheetUp .6s var(--spring) both}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.grab{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.3)}
.modal-close{position:absolute;right:16px;top:16px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:22px;border:1px solid var(--line);background:rgba(0,0,0,.35);backdrop-filter:blur(10px);transition:transform .3s var(--spring)}
.modal-close:active{transform:scale(.85) rotate(90deg)}
.preview-stage{display:flex;align-items:center;gap:8px;width:100%;justify-content:center;margin-top:6px}
.preview-orbit{position:relative;width:min(62vw,290px);aspect-ratio:1}
.hero{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border-radius:36px;background:radial-gradient(70% 70% at 50% 40%,rgba(255,59,82,.25),rgba(0,0,0,.4));border:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 26px 60px -20px rgba(232,20,45,.6)}
.hero>svg{width:100%!important;height:100%!important}
.hero-idle{text-align:center}.hero-idle strong{display:block;font:800 italic 26px Rip;text-shadow:0 5px 20px var(--red)}.hero-idle span{color:var(--muted)}
.arrow{width:44px;height:64px;border-radius:20px;font-size:30px;border:1px solid var(--line);background:rgba(255,255,255,.07);backdrop-filter:blur(10px);transition:transform .3s var(--spring)}
.arrow:active{transform:scale(.88)}
.hero-tag{font:800 11px ui-monospace,Consolas,monospace;letter-spacing:.14em;padding:6px 14px;border-radius:999px;background:rgba(232,20,45,.2);border:1px solid var(--line-red);color:#ffc4cb}
.quick-row{display:flex;gap:8px;overflow-x:auto;width:100%;padding:6px 2px;scrollbar-width:none;justify-content:safe center}.quick-row::-webkit-scrollbar{display:none}
.quick-item{flex:0 0 54px;height:54px;border-radius:17px;border:1px solid var(--line);background:rgba(0,0,0,.35);overflow:hidden;transition:transform .35s var(--spring),border-color .25s}
.quick-item.active{border-color:var(--red-hot);box-shadow:0 0 0 1px var(--red-hot) inset,0 8px 20px -6px var(--red);transform:translateY(-3px) scale(1.06)}
.quick-item .lottie-thumb{width:100%;height:100%;display:grid;place-items:center}.quick-item svg{width:100%!important;height:100%!important}

.create-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,1,2,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fade .3s both}
.create-card{position:relative;width:min(100%,430px);padding:24px 20px 20px;border-radius:34px;border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(150deg,rgba(255,255,255,.15),rgba(255,255,255,.05) 40%,rgba(90,5,16,.55));-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);
  box-shadow:0 1px 0 rgba(255,255,255,.38) inset,0 40px 90px -20px #000,0 0 60px -14px rgba(232,20,45,.45);animation:modalIn .55s var(--spring) both}
@keyframes modalIn{from{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:none}}
.create-card>small{display:block;font:800 10.5px ui-monospace,Consolas,monospace;letter-spacing:.2em;color:var(--red-hot)}
.create-card h2{font:800 italic 24px Rip;text-transform:uppercase;margin:6px 0 12px;padding-right:44px}
.create-card p{color:var(--muted)}
.payment-summary{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;margin:6px 0 10px;border-radius:20px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.07)}
.payment-summary strong{font:800 italic 22px Rip;color:var(--red-soft)}
.payment-option{position:relative;width:100%;min-height:64px;margin-top:8px;padding:12px 46px 12px 16px;text-align:left;border-radius:20px;border:1px solid var(--line);background:rgba(0,0,0,.3);transition:.3s var(--spring)}
.payment-option span{font-weight:800}.payment-option small{display:block;margin-top:3px;color:var(--muted)}
.payment-option i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--red-soft);font-size:18px}
.payment-option.active{border-color:var(--red-hot);background:rgba(232,20,45,.18);box-shadow:0 10px 26px -12px var(--red)}
.payment-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
.payment-methods button{height:50px;border-radius:17px;border:1px solid var(--line);background:rgba(0,0,0,.3);font-weight:800;font-size:13.5px;transition:.3s var(--spring)}
.payment-methods button.active{border-color:var(--red-hot);background:rgba(232,20,45,.22);box-shadow:0 8px 22px -10px var(--red);transform:scale(1.03)}
.payment-status{min-height:20px;margin:6px 2px;font-size:13px;color:var(--muted)}
.payment-confirm{width:100%;height:54px;margin-top:10px;border-radius:20px;font-weight:800;color:#fff;background:linear-gradient(180deg,#ff5468,#b50c22);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 14px 30px -8px rgba(232,20,45,.75);transition:transform .3s var(--spring)}
.payment-confirm:active{transform:scale(.96)}.payment-confirm:disabled{filter:grayscale(.6);opacity:.7}
#paymentHint{margin:10px 2px 0;font-size:13px}
.progress{height:12px;margin:18px 0 10px;border-radius:8px;background:rgba(0,0,0,.45);overflow:hidden;border:1px solid rgba(255,255,255,.07)}
.progress i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#8a0716,#ff3b52,#ff8a97);background-size:200% 100%;animation:flow 1.6s linear infinite;transition:width .5s var(--ease);box-shadow:0 0 18px var(--red)}
@keyframes flow{to{background-position:-200% 0}}
.background-hint{display:block;margin:12px 0;color:var(--dim)}
#createDone{width:100%;height:50px;margin-top:8px}
.toast{position:fixed;z-index:120;left:50%;bottom:calc(var(--safe-b) + 176px);transform:translate(-50%,20px) scale(.92);max-width:min(92vw,420px);padding:12px 18px;border-radius:20px;border:1px solid var(--line-red);background:rgba(30,6,10,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:.45s var(--spring);box-shadow:0 20px 50px -12px #000}
.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}

/* ───── вход / загрузка ───── */
.gate{position:fixed;z-index:200;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(90% 60% at 50% 20%,#4a0510,var(--bg));text-align:center;padding:24px}
.gate b{font:800 italic 28px Rip;text-transform:uppercase}.gate span{color:var(--muted);max-width:300px}

.gate .avatar{border-radius:26px;display:grid;place-items:center;background:linear-gradient(155deg,#ff4a60,#9a0819);font:800 italic 28px Rip}
.gate .apply{margin-top:8px}
.loader{width:40px;height:40px;border:3px solid rgba(255,255,255,.12);border-top-color:var(--red-hot);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 22px -4px var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ───── широкие экраны ───── */
@media (min-width:760px){
  .sticker-grid{grid-template-columns:repeat(5,1fr)}
  .series-grid{grid-template-columns:repeat(4,1fr)}
  .page-head h1{font-size:50px}
  #emojiScreen.active{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:start}
  #emojiScreen>.page-head,#emojiScreen>.go-card,#emojiScreen>.foot{grid-column:1/-1}
  #profileScreen.active{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:start}
  #profileScreen>.page-head,#profileScreen>.foot,#profileScreen>.profile-card{grid-column:1/-1}
}
@media (min-width:1000px){.sticker-grid{grid-template-columns:repeat(7,1fr)}}
@media (max-width:380px){.page-head h1{font-size:32px}.brand span{letter-spacing:.12em}.pill b{display:none}.tabbar button{font-size:10px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ───── «Своё»: свой рисунок, ник, GIF ───── */
.drop{position:relative;display:grid;justify-items:center;gap:4px;padding:22px 16px;margin-bottom:14px;border-radius:24px;border:1.5px dashed var(--line-red);background:rgba(0,0,0,.28);text-align:center;cursor:pointer;transition:.3s var(--spring)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.drop.over,.drop:hover{border-color:var(--red-hot);background:rgba(232,20,45,.14);transform:scale(1.01)}
.drop.has{border-style:solid;border-color:rgba(61,220,132,.45)}
.drop b{font-size:16px}.drop small{color:var(--muted)}
.drop-ico{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(155deg,rgba(255,59,82,.4),rgba(120,6,19,.4));border:1px solid var(--line-red)}
.drop-ico svg{width:26px;height:26px;color:#ffd6db}
.cu-stage{display:grid;place-items:center;padding:10px;border-radius:26px;background:repeating-conic-gradient(rgba(255,255,255,.07) 0 25%,rgba(255,255,255,.02) 0 50%) 50%/22px 22px;border:1px solid var(--line)}
#cuCanvas{width:min(100%,340px);aspect-ratio:1;display:block;border-radius:18px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
.wide-apply{width:100%;margin-top:12px}
.effects{flex-wrap:wrap;overflow:visible;padding:0 0 6px}
.effects button{height:38px;padding:0 14px;font-size:13px}
.gif-preview{display:block;width:min(100%,220px);margin:14px auto 4px;border-radius:20px;background:repeating-conic-gradient(rgba(255,255,255,.07) 0 25%,rgba(255,255,255,.02) 0 50%) 50%/16px 16px;border:1px solid var(--line)}
.tray{display:flex;flex-wrap:wrap;gap:8px;min-height:20px;margin-bottom:14px}
.tray-item{position:relative;width:64px;height:64px;border-radius:18px;border:1px solid var(--line);background:rgba(0,0,0,.35);overflow:hidden;animation:pop .5s var(--spring)}
.tray-item img{width:100%;height:100%;object-fit:contain}
.tray-item i{position:absolute;right:3px;top:3px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.65);font-style:normal;font-size:13px}
.sheet-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;width:100%}
.sheet-actions .btn-ghost{height:54px;padding:0 12px}
@media (min-width:760px){#customScreen.active{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:start}#customScreen>.page-head,#customScreen>.foot{grid-column:1/-1}}

.gate-sticker,.empty-art{width:130px;height:130px;animation:float 4.5s ease-in-out infinite;filter:drop-shadow(0 14px 30px rgba(232,20,45,.6))}.gate-sticker svg,.empty-art svg{width:100%!important;height:100%!important}
