/* MUSIC FOLDER — wrapped-btn | исходник: 3827..3927 */

/* ═══ кнопка «Мои итоги за месяц» ═══ */
.wrapped-row{margin-top:20px;text-align:center}
.wrapped-btn{position:relative;display:inline-flex;align-items:center;gap:13px;padding:15px 28px;border-radius:16px;
border:1px solid transparent;cursor:pointer;overflow:hidden;font-family:var(--fb);
background:
linear-gradient(180deg,rgba(19,21,38,.92),rgba(12,13,24,.94)) padding-box,
linear-gradient(135deg,var(--c1),var(--c2)) border-box;
color:var(--text);font-size:15px;font-weight:800;letter-spacing:.01em;
box-shadow:0 14px 40px -12px color-mix(in srgb,var(--c1) 55%,transparent);
transition:transform .22s cubic-bezier(.2,.9,.3,1.3),box-shadow .3s}
.wrapped-btn:hover{transform:translateY(-2px) scale(1.02);
box-shadow:0 20px 52px -12px color-mix(in srgb,var(--c1) 70%,transparent),0 0 30px -6px color-mix(in srgb,var(--c2) 45%,transparent)}
.wrapped-btn:active{transform:scale(.97)}
.wrapped-btn::after{content:"";position:absolute;top:-30%;bottom:-30%;width:30%;left:-45%;
background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);
transform:skewX(-18deg);transition:left .6s ease}
.wrapped-btn:hover::after{left:125%}
.wrapped-btn-ico{font-size:19px;filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--c2) 60%,transparent))}
.wrapped-btn-hint{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}
@media (max-width:640px){
.wrapped-btn{padding:13px 20px;font-size:14px;max-width:100%}
.wrapped-btn-hint{display:none}
/* итоги месяца и инструкция iOS: компактнее на маленьком экране */
.wr-overlay{padding:12px}
.wr-card{padding:24px 16px 18px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
.wr-title{font-size:21px;margin:10px 0 14px}
.wr-stats{margin-bottom:14px}
.wr-top{margin-bottom:14px}
.wr-prime{margin-bottom:14px}
.wr-hours{height:38px}
.wr-cta{padding:12px}
.wr-stats{gap:8px}
.wr-stat{padding:12px 6px}
.wr-stat b{font-size:17px}
.wr-stat span{font-size:10px}
.wr-top-row{padding:8px 10px;font-size:12.5px}
.ios-card{padding:26px 18px 20px}
.tg-btn{justify-content:center}
}
/* ═══ Топ треки месяца ═══ */
.top-section{padding:72px 0 0;position:relative}
.top-section .container{position:relative;z-index:2}
.top-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px;min-width:0}
.top-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;
background:var(--glass);border:1px solid var(--line);
backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
transition:border-color .2s,transform .2s,box-shadow .2s;min-width:0;overflow:hidden;cursor:pointer;position:relative}
.top-card:hover{border-color:color-mix(in srgb,#ff4466 45%,transparent);transform:translateY(-2px);
box-shadow:0 8px 28px -8px rgba(255,68,102,.15)}
/* цифры порядка — белые, чтобы не сливались с красными лайками */
.top-rank{font-family:var(--fm);font-weight:700;font-size:20px;min-width:32px;text-align:center;color:#fff;opacity:.92}
.top-rank.r1{font-size:26px;opacity:1;
background:linear-gradient(135deg,#ffd700,#ffaa00,#ffd700);-webkit-background-clip:text;background-clip:text;color:transparent;
text-shadow:0 0 20px rgba(255,215,0,.5);filter:drop-shadow(0 0 8px rgba(255,200,0,.4));}
.top-thumb{flex:none;position:relative;width:48px;height:48px;border-radius:12px;overflow:hidden;display:grid;place-items:center;
background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 30%,transparent),color-mix(in srgb,var(--c2) 30%,transparent));
font-size:18px;color:#fff}
.top-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.top-play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(5,6,15,.5);opacity:0;transition:opacity .25s}
.top-play svg{width:20px;height:20px;fill:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.7))}
.top-card:hover .top-play{opacity:1}
/* ── активный трек в on-demand плеере: яркая подсветка карточки ── */
.top-card.od-current{border-color:color-mix(in srgb,var(--c2) 70%,transparent);
box-shadow:0 0 0 1px color-mix(in srgb,var(--c2) 45%,transparent),0 10px 30px -8px color-mix(in srgb,var(--c2) 42%,transparent)}
.top-card.od-current:hover{border-color:color-mix(in srgb,var(--c2) 85%,transparent);
box-shadow:0 0 0 1px color-mix(in srgb,var(--c2) 55%,transparent),0 12px 34px -8px color-mix(in srgb,var(--c2) 50%,transparent)}
.top-card.od-current .top-play{opacity:1;background:color-mix(in srgb,var(--c2) 30%,rgba(5,6,15,.5))}
.top-meta{min-width:0;flex:1;overflow:hidden}
.top-meta b{display:flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.top-meta span{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.top-likes{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:800;color:#ff4466;flex:none;
font-variant-numeric:tabular-nums}
.top-likes svg{width:14px;height:14px;fill:#ff4466;flex:none}
.top-likes.pop{animation:topLikePop .55s cubic-bezier(.2,.9,.3,1.4)}
@keyframes topLikePop{0%{transform:scale(1)}35%{transform:scale(1.3)}100%{transform:scale(1)}}
/* ═══ ripple при клике на карточку ═══ */
.click-ripple{position:absolute;border-radius:50%;pointer-events:none;z-index:8;
background:radial-gradient(circle,color-mix(in srgb,var(--c2) 42%,transparent) 0%,color-mix(in srgb,var(--c1) 24%,transparent) 45%,transparent 70%);
transform:translate(-50%,-50%) scale(0);animation:crip .65s ease-out forwards}
@keyframes crip{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
/* ═══ летящая обложка (карточка → on-demand панель) ═══ */
.fly-cover{position:fixed;z-index:10002;border-radius:12px;overflow:hidden;pointer-events:none;
display:grid;place-items:center;color:#fff;font-size:22px;
background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 55%,#141628),color-mix(in srgb,var(--c2) 55%,#141628));
box-shadow:0 22px 60px -12px rgba(0,0,0,.85),0 0 36px -4px color-mix(in srgb,var(--c1) 70%,transparent);
opacity:0;transform:scale(.5);transition:opacity .16s,transform .2s cubic-bezier(.2,1.2,.3,1)}
.fly-cover img{width:100%;height:100%;object-fit:cover;display:block}
.fly-cover.go{opacity:1;transform:scale(1.08)}
/* ═══ живое приземление лайка на таймлайн ═══ */
.like-burst-fx{position:absolute;top:50%;left:0;width:0;height:0;pointer-events:none;z-index:12}
.lb-ring{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;
border:2px solid #ff4466;opacity:0;animation:lbRing .7s ease-out forwards;
box-shadow:0 0 14px -2px rgba(255,68,102,.9)}
@keyframes lbRing{0%{opacity:.95;transform:scale(.25)}100%{opacity:0;transform:scale(1.5)}}
.lb-spark{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:#ff7d9c;opacity:0;
animation:lbSpark .6s ease-out forwards}
@keyframes lbSpark{0%{opacity:1;transform:rotate(var(--a)) translateX(3px)}100%{opacity:0;transform:rotate(var(--a)) translateX(21px)}}
.lb-plus{position:absolute;left:0;top:-9px;transform:translateX(-50%);font-size:10.5px;font-weight:800;color:#ff86a3;
text-shadow:0 0 8px rgba(255,68,102,.9),0 1px 3px rgba(0,0,0,.8);opacity:0;white-space:nowrap;
animation:lbPlus .95s cubic-bezier(.2,.7,.3,1) .05s forwards}
@keyframes lbPlus{0%{opacity:0;transform:translateX(-50%) translateY(6px) scale(.7)}25%{opacity:1;transform:translateX(-50%) translateY(0) scale(1.15)}100%{opacity:0;transform:translateX(-50%) translateY(-18px) scale(1)}}
