/* Главная: афиша, отксерокопированная на одной краске. Всё привязано к body[data-page=home], остальные страницы не затронуты. */
body[data-page=home],body[data-page=browse],body[data-page=playlist],body[data-page=plans],body:has(.hm){
  --paper:#E6E6E1;--ink:#000;--ink-soft:#43433E;--line:rgba(0,0,0,.4);--edge:#000;--surface:#F1F1EC;
  --x-blue:#2F3BFF;--x-tape:#FFD93B;
  --poster:"Oswald","Onest",sans-serif;--typed:"IBM Plex Mono",ui-monospace,monospace;
  background:var(--paper);
}
:root[data-theme=dark] body[data-page=home],:root[data-theme=dark] body[data-page=browse],:root[data-theme=dark] body[data-page=playlist],:root[data-theme=dark] body[data-page=plans],:root[data-theme=dark] body:has(.hm){
  --paper:#0C0C0D;--ink:#EDEDE6;--ink-soft:#A9A9A1;--line:rgba(237,237,230,.4);--edge:#EDEDE6;--surface:#161618;--x-blue:#8D95FF;
}
/* зерно бумаги */
body:has(.hm)::before{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.07;background:url("data:image/png;base64,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")}
:root[data-theme=dark] body:has(.hm)::before{filter:invert(1);opacity:.09}

.hm{overflow-x:clip}
.hm .btn{border-radius:0;border-width:3px;padding:14px 24px;font-size:1.02rem}
.hm .btn-solid{background:var(--ink);color:var(--paper)}
.hm .btn-yellow{background:var(--x-tape);border-color:#000;color:#000}
.hm .btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--x-blue)}
.hm h2,.hm h3{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;line-height:.95}
.hm section{padding:clamp(48px,6vw,88px) var(--gut)}
.h-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(20px,3vw,36px);border-bottom:3px solid var(--ink);padding-bottom:10px}
.h-head h2{font-size:clamp(2.4rem,6vw,4.8rem);font-weight:700}
.h-head a{font-weight:700}
.h-none{border:3px dashed var(--ink);padding:22px 24px;display:flex;gap:16px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.h-none p{font-size:1.15rem;max-width:44ch}

/* первый экран */
.h-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(8px,2vw,28px)!important;padding-bottom:clamp(56px,7vw,104px)!important}
.h-title{font-family:var(--poster);font-weight:700;font-size:clamp(4.4rem,15vw,13rem);line-height:.84;text-transform:uppercase;color:var(--ink);text-shadow:.045em .035em 0 var(--x-blue);overflow-wrap:anywhere}
.h-lead{margin-top:clamp(18px,3vw,32px);font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:34ch;line-height:1.35}
.h-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(20px,3vw,32px)}

.deck{position:relative;border:3px solid var(--ink);background:var(--paper);padding:clamp(14px,2vw,22px);box-shadow:10px 10px 0 var(--x-blue);transform:rotate(1.6deg);display:grid;gap:16px;max-width:520px;justify-self:center;width:100%}
.deck::before{content:"";position:absolute;top:-17px;left:50%;width:120px;height:32px;background:var(--x-tape);transform:translateX(-50%) rotate(-3deg);opacity:.92}
.deck-cv{position:relative;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;filter:grayscale(1) contrast(1.4);transition:filter .5s}
.deck-cv>*{width:100%;height:100%;object-fit:cover;display:block}
.deck-cv::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,#000 27%,transparent 30%) 0 0/6px 6px;opacity:.25;mix-blend-mode:multiply;pointer-events:none}
.deck.is-on .deck-cv{filter:none}
.deck-row{display:flex;align-items:center;gap:16px}
.deck-go{flex:none;width:64px;height:64px;border-radius:50%;background:var(--x-tape);color:#000;border:3px solid #000;display:grid;place-items:center;transition:transform .15s}
.deck-go:hover{transform:scale(1.06)}
.deck-go svg{width:26px;height:26px}
.deck-t{min-width:0;display:grid;line-height:1.15}
.deck-t strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck-t small{font-size:1rem;color:var(--ink-soft)}
.deck-wave{display:flex;align-items:center;gap:3px;height:44px}
.deck-wave i{flex:1;background:var(--ink);min-width:2px;height:var(--h);transform-origin:50% 50%}
.deck.is-on .deck-wave i{animation:bar .9s ease-in-out infinite alternate;animation-delay:calc(var(--d)*1ms)}
@keyframes bar{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.deck-q{display:grid;border-top:3px solid var(--ink)}
.dq{display:grid;grid-template-columns:2ch 1fr auto;gap:12px;align-items:baseline;text-align:left;padding:9px 2px;border-bottom:1px dashed var(--line);font-size:1rem}
.dq:last-child{border-bottom:0}
.dq b{font-family:var(--typed);font-weight:500}
.dq span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dq em{font-style:normal;font-family:var(--typed);color:var(--ink-soft);font-size:.9rem}
.dq:hover{background:var(--ink);color:var(--paper)}
.dq:hover em{color:inherit}
.deck-empty{aspect-ratio:1;border:3px dashed var(--ink);display:grid;place-content:center;gap:8px;text-align:center;padding:20px}
.deck-empty strong{font-family:var(--poster);text-transform:uppercase;font-size:2rem;font-weight:700}

/* новые релизы: первый крупно, остальные мельче */
.sleeves{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,22px)}
.sl{display:grid;gap:8px;text-decoration:none;align-content:start}
.sl:first-child{grid-column:span 2;grid-row:span 2}
.sl-c{display:block;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;box-shadow:6px 6px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.sl-c>*{width:100%;height:100%;object-fit:cover;display:block}
.sl:hover .sl-c{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--x-blue)}
.sl strong{font-family:var(--poster);text-transform:uppercase;font-size:1.25rem;font-weight:700;line-height:1;margin-top:8px}
.sl:first-child strong{font-size:clamp(1.8rem,3.6vw,3rem)}
.sl small{color:var(--ink-soft);font-size:.95rem}

/* чарт и подборки рядом, но разной формы */
.h-two{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.h-two .h-head h2{font-size:clamp(2rem,4.4vw,3.6rem)}
.h-chart{border:3px solid var(--ink);padding:6px clamp(8px,1.4vw,18px);background:var(--surface)}
.stk-list{display:grid;gap:14px}
.stk{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:10px 14px 10px 10px;border:3px solid var(--ink);text-decoration:none;background:var(--x-tape);color:#000;transition:transform .15s}
.stk:nth-child(2n){background:var(--surface);color:var(--ink);transform:rotate(-.6deg)}
.stk:nth-child(2n+1){transform:rotate(.5deg)}
.stk:hover{transform:rotate(0) translate(-2px,-2px);box-shadow:5px 5px 0 var(--x-blue)}
.stk-c{display:block;width:76px;height:76px;border:3px solid #000;overflow:hidden}
.stk-c>*{width:100%;height:100%;object-fit:cover;display:block}
.stk strong{font-family:var(--poster);text-transform:uppercase;font-size:1.35rem;font-weight:700;display:block;line-height:1}
.stk small{display:block;margin-top:4px;font-size:.95rem;opacity:.8}

/* афиша: билетики */
.tix{display:grid;gap:16px}
.tk{display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;border:3px solid var(--ink);background:var(--paper);text-decoration:none;transition:transform .15s,box-shadow .15s}
.tk:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--x-blue)}
.tk-d{padding:12px clamp(16px,2.4vw,32px);border-right:3px dashed var(--ink);text-align:center;font-family:var(--poster);text-transform:uppercase;line-height:.85;display:grid;align-content:center}
.tk-d b{display:block;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:700}
.tk-d span{font-size:1.1rem;font-weight:500}
.tk-i{padding:14px clamp(14px,2vw,26px);display:grid;gap:4px;align-content:center;min-width:0}
.tk-i strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:700;line-height:1}
.tk-i small{font-family:var(--typed);font-size:.95rem;color:var(--ink-soft)}
.tk-p{padding:0 clamp(14px,2vw,26px);display:grid;place-content:center;font-family:var(--typed);font-weight:500;border-left:3px dashed var(--ink)}

/* артисты: стена имён */
.h-wall .ar{border-bottom:3px solid var(--ink)}
.h-wall .artists{border-top:3px solid var(--ink)}
.h-wall .ar h3{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;line-height:.9;font-size:clamp(2.6rem,8vw,7rem)}

/* финал */
.h-band{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;margin-top:clamp(24px,4vw,56px)}
.h-band h2{font-size:clamp(3rem,9vw,8rem);font-weight:700}
.h-band ul{list-style:none;padding:0;margin:clamp(16px,2.4vw,28px) 0;display:grid;gap:8px;font-size:1.15rem;max-width:44ch}
.h-band li{padding-left:1.4em;position:relative}
.h-band li::before{content:"";position:absolute;left:0;top:.62em;width:.8em;height:3px;background:var(--x-tape)}
.h-band .btn{border-color:var(--paper);color:var(--paper)}
.h-band .btn-yellow{border-color:var(--x-tape);color:#000}
.h-band .btn:hover{box-shadow:4px 4px 0 var(--x-tape)}
.h-plus{position:relative;border:3px solid var(--paper);padding:clamp(20px,3vw,32px);transform:rotate(-1.4deg);display:grid;gap:12px}
.h-plus::before{content:"";position:absolute;top:-15px;right:24px;width:96px;height:28px;background:var(--x-tape);transform:rotate(4deg)}
.h-plus h3{font-size:2.4rem;font-weight:700;text-transform:none}
.h-plus b{font-family:var(--typed);font-weight:500;font-size:1.6rem}
.h-plus p{max-width:34ch}

/* каталог пуст */
.h-void{margin:0 var(--gut) clamp(40px,5vw,72px);border:3px solid var(--ink);padding:clamp(28px,5vw,64px);position:relative;background:var(--surface)}
.h-void::before{content:"";position:absolute;top:-16px;left:clamp(20px,5vw,60px);width:110px;height:30px;background:var(--x-tape);transform:rotate(-3deg)}
.h-void h2{font-size:clamp(3rem,10vw,9rem);font-weight:700;text-shadow:.04em .03em 0 var(--x-blue)}
.h-void p{font-size:1.25rem;max-width:40ch;margin:18px 0 26px}

@media (max-width:860px){
  .h-hero,.h-two,.h-band{grid-template-columns:1fr}
  .deck{transform:rotate(.8deg);box-shadow:7px 7px 0 var(--x-blue)}
  .sleeves{grid-template-columns:repeat(2,1fr)}
  .tk{grid-template-columns:auto 1fr}
  .tk-p{display:none}
}
@media (prefers-reduced-motion:reduce){
  .deck.is-on .deck-wave i{animation:none}
  .hm .btn:hover,.sl:hover .sl-c,.tk:hover,.stk:hover{transform:none}
}


/* ---------- Каталог: та же афиша, но картотекой ---------- */
.c-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(24px,5vw,72px);align-items:end;padding-top:clamp(8px,2vw,28px)!important;padding-bottom:clamp(32px,4vw,56px)!important}
.c-title{font-size:clamp(3.4rem,10.5vw,9.5rem);overflow-wrap:normal}
.c-search{display:flex;margin-top:clamp(18px,2.4vw,28px);border:3px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--x-blue)}
.c-search input{flex:1;min-width:0;font:inherit;font-size:1.15rem;padding:14px 16px;background:none;border:0;color:var(--ink);outline:0}
.c-search input::placeholder{color:var(--ink-soft);opacity:.8}
.c-search input::-webkit-search-cancel-button{display:none}
.c-search:focus-within{box-shadow:6px 6px 0 var(--x-tape)}
.hm .c-search .btn{border-width:0 0 0 3px;border-color:var(--ink);padding:0 22px}
.hm .c-search .btn:hover{transform:none;box-shadow:none;background:var(--ink);color:var(--paper)}
.c-count{margin-top:16px;font-family:var(--typed);font-size:.95rem;color:var(--ink-soft)}
.c-note{font-family:var(--typed);font-size:.95rem;color:var(--ink-soft)}

/* жанры: строка из афиши */
.lineup{display:flex;flex-wrap:wrap;gap:4px 22px}
.lu{font-family:var(--poster);font-weight:700;text-transform:uppercase;font-size:clamp(2.4rem,7.2vw,6.4rem);line-height:.98;text-decoration:none;padding:0 .1em}
.lu sup{font-family:var(--typed);font-weight:500;font-size:.2em;vertical-align:top;margin-left:.35em}
.lu:hover,.lu:focus-visible{background:var(--x-blue);color:#fff;outline:0}

/* города: прейскурант */
.cty-list{border-top:3px solid var(--ink)}
.cty{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 12px;padding:12px 6px;border-bottom:1px dashed var(--line);text-decoration:none}
.cty strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;line-height:1}
.cty i{border-bottom:2px dotted currentColor;height:.6em;opacity:.45}
.cty b{font-family:var(--typed);font-weight:500}
.cty small{grid-column:1/-1;color:var(--ink-soft);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cty:hover,.cty:focus-visible{background:var(--ink);color:var(--paper);outline:0}
.cty:hover small,.cty:focus-visible small{color:inherit}

/* настроения: ярлыки */
.moods{display:flex;flex-wrap:wrap;gap:16px 12px;padding-top:8px}
.mood{display:inline-block;padding:10px 18px;border:3px solid #000;font-weight:800;font-size:1.15rem;text-decoration:none;background:var(--x-tape);color:#000;transform:rotate(-1.2deg);transition:transform .15s,box-shadow .15s}
.mood:nth-child(2n){background:var(--surface);color:var(--ink);border-color:var(--ink);transform:rotate(1deg)}
.mood:nth-child(3n){transform:rotate(-.4deg)}
.mood:hover,.mood:focus-visible{transform:rotate(0) translate(-2px,-2px);box-shadow:4px 4px 0 var(--x-blue);outline:0}

/* вкладки */
.tabs{display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:clamp(18px,2.4vw,28px)}
.tab{padding:8px 18px;border:3px solid var(--ink);font-weight:700;background:none;color:var(--ink)}
.tab:hover{background:var(--surface)}
.tab[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--x-blue)}
.sleeves.flat{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.sleeves.flat .sl:first-child{grid-column:auto;grid-row:auto}
.sleeves.flat .sl:first-child strong{font-size:1.25rem}

/* поиск в том же стиле */
.hm section.s-hero{padding:clamp(8px,2vw,24px) var(--gut) 0}
.hm section.s-filters{padding:26px var(--gut) 0}
.hm .res section{padding:0}
.hm .s-input{border-bottom:6px solid var(--ink)}
.hm .s-input:focus-within{border-color:var(--x-blue)}
.hm .s-input svg{color:var(--ink)}
.hm .s-input input{font-family:var(--poster);font-weight:700;text-transform:uppercase;letter-spacing:0;font-size:clamp(2.6rem,9vw,8rem);line-height:1.05;text-shadow:.04em .03em 0 var(--x-blue)}
.hm .s-input input::placeholder{text-shadow:none}
.hm .s-input button{border-radius:0;border-width:3px;width:48px;height:48px}
.hm .s-row>span{font-family:var(--typed);font-weight:500;min-width:8ch}
.hm .chip{border-radius:0;border:3px solid var(--ink);padding:6px 14px;font-weight:700;background:none}
.hm .chip:hover{background:var(--surface)}
.hm .chip[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--x-blue)}
.hm .s-status{font-family:var(--typed)}
.hm .blk-h{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:clamp(2rem,4.6vw,3.6rem);line-height:.95;border-bottom:3px solid var(--ink);padding-bottom:8px;margin-bottom:22px}
.hm .blk-h small{font-family:var(--typed);text-transform:none;font-size:1rem;margin-left:10px;font-weight:500}
.hm .am{border-radius:0;border-width:3px}
.hm .am .cover{border-radius:0;border-width:3px}
.hm .am:hover{background:var(--ink);color:var(--paper)}
.hm .am:hover small{color:inherit}
.hm .pm{border-radius:0;border-width:3px;box-shadow:5px 5px 0 var(--ink)}
.hm .pm div{border-top-width:3px}
.hm .pm:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--x-blue)}
.hm .rel .cover{border-radius:0;border-width:3px;box-shadow:5px 5px 0 var(--ink)}
.hm .rel:hover .cover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--x-blue)}
.hm .rel strong{font-family:var(--poster);text-transform:uppercase;font-size:1.2rem;font-weight:700}
.hm .empty{border:3px dashed var(--ink);border-radius:0;background:none}
.hm .empty h3{font-family:var(--poster);text-transform:uppercase}

@media (max-width:860px){
  .c-hero{grid-template-columns:minmax(0,1fr)}
}
.c-hero>*{min-width:0}


/* ---------- Подборки ---------- */
.pl-crumb{padding:14px var(--gut) 0;font-family:var(--typed);font-size:.95rem;color:var(--ink-soft)}
.pl-crumb a{text-decoration:underline;text-underline-offset:3px}
.p-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(24px,5vw,72px);align-items:center;padding-top:clamp(8px,2vw,24px)!important;padding-bottom:clamp(40px,5vw,72px)!important}
.p-top>*{min-width:0}
.p-title{font-size:clamp(3.2rem,9.5vw,8.5rem);overflow-wrap:break-word;hyphens:manual}
.p-info .c-count a{text-decoration:underline;text-underline-offset:3px}
.pl-deck{position:relative;border:3px solid var(--ink);background:var(--paper);padding:14px;box-shadow:10px 10px 0 var(--x-blue);transform:rotate(1.4deg);max-width:460px;width:100%;justify-self:center}
.pl-deck::before{content:"";position:absolute;top:-17px;left:50%;width:120px;height:32px;background:var(--x-tape);transform:translateX(-50%) rotate(-3deg);opacity:.92;z-index:2}
.pl-mos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pl-mos span{position:relative;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;filter:grayscale(1) contrast(1.35);transition:filter .5s}
.pl-mos span:nth-child(2n){transform:rotate(-1.2deg)}
.pl-mos span:nth-child(3){transform:rotate(1deg)}
.pl-mos span>*{width:100%;height:100%;object-fit:cover;display:block}
.pl-mos span::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,#000 27%,transparent 30%) 0 0/6px 6px;opacity:.22;mix-blend-mode:multiply;pointer-events:none}
.pl-deck.is-on .pl-mos span{filter:none}
.pl-tag{position:absolute;right:-12px;bottom:-14px;z-index:2;background:var(--x-tape);color:#000;border:3px solid #000;padding:6px 16px;font-weight:800;font-size:1.1rem;transform:rotate(-3deg)}
.hm .btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}

.pf{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,56px);align-items:center;margin-bottom:clamp(28px,4vw,48px);border:3px solid var(--ink);padding:clamp(16px,2.4vw,28px);background:var(--surface);box-shadow:8px 8px 0 var(--x-blue)}
.pf>*{min-width:0}
.pf-cv{display:block;text-decoration:none}
.pf-t h2{font-size:clamp(2.2rem,5.6vw,4.6rem);font-weight:700;overflow-wrap:break-word}
.pf-t h2 a{text-decoration:none}
.pf-t h2 a:hover{background:var(--x-blue);color:#fff}
.pf-t p{max-width:44ch;margin-top:12px}
.pf-t .c-count{margin-top:12px}
.stk-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.stk.big{grid-template-columns:110px minmax(0,1fr)}
.stk.big .stk-c{width:110px;height:110px}
.stk.big strong{font-size:1.7rem}
.stk em{display:inline-block;margin-top:8px;font-style:normal;font-weight:800;font-size:.85rem;border:2px solid currentColor;padding:1px 8px}
@media (max-width:860px){
  .p-top,.pf{grid-template-columns:minmax(0,1fr)}
  .pl-deck{max-width:380px}
}


/* ---------- Моя музыка ---------- */
.c-search[hidden]{display:none}
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:26px 20px}
.shelf-i{display:grid;gap:8px;align-content:start}
.shelf .sl:first-child{grid-column:auto;grid-row:auto}
.shelf .sl:first-child strong{font-size:1.25rem}
.hm .linkbtn{font-family:var(--typed);font-size:.9rem;text-decoration:underline;text-underline-offset:3px;color:var(--ink-soft);justify-self:start;text-align:left}
.hm .linkbtn:hover{color:var(--ink)}
.stk-wrap{display:grid;gap:6px;align-content:start}
.stk-wrap:nth-child(2n) .stk{background:var(--surface);color:var(--ink);transform:rotate(-.6deg)}
.hm .mc{border:3px solid var(--ink);border-radius:0;padding:clamp(14px,2vw,22px);margin-top:20px;background:var(--surface);box-shadow:6px 6px 0 var(--ink)}
.hm .mc-h{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-bottom:14px}
.hm .mc-h strong{display:block;font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1}
.hm .mc-h small{font-family:var(--typed);color:var(--ink-soft)}
.mc-act{display:flex;gap:8px;flex-wrap:wrap}
.hm .mc .btn{padding:10px 16px}
.hm .addlist{border:3px dashed var(--ink);padding:12px 16px;margin-bottom:14px;max-height:260px;overflow-y:auto;display:grid;gap:6px}
.hm .addlist label{display:flex;gap:10px;align-items:center;cursor:pointer}
.hm .addlist small{color:var(--ink-soft)}
.m-note{color:var(--ink-soft);padding:6px 0}
.m-err{min-height:1.4em;margin-top:8px;color:#D6264F;font-weight:700}
.hm .m-h3{font-size:1.6rem;font-weight:700}
.hm .h-none>div p{margin-top:6px}


/* ---------- Тарифы ---------- */
.bill{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:clamp(18px,2.4vw,28px)}
.bill .save{background:var(--x-tape);color:#000;border:3px solid #000;font-weight:800;padding:3px 12px;transform:rotate(-3deg);font-size:.95rem}
.t-plans{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:clamp(18px,2.6vw,36px);align-items:stretch;padding-top:14px}
.tier{position:relative;border:3px solid var(--ink);background:var(--surface);padding:clamp(20px,2.6vw,34px);display:grid;gap:14px;align-content:start;grid-template-rows:auto auto auto 1fr auto}
.tier h3{font-size:2rem;font-weight:700}
.tier .price{font-family:var(--poster);font-weight:700;font-size:clamp(3rem,6vw,5.2rem);line-height:.9}
.tier .price small{font-family:var(--text);font-size:1rem;font-weight:500;margin-left:8px}
.tier .note{font-family:var(--typed);font-size:.95rem;color:var(--ink-soft);min-height:1.4em}
.tier ul{list-style:none;padding:0;display:grid;gap:9px;align-content:start}
.tier li{padding-left:1.4em;position:relative}
.tier li::before{content:"";position:absolute;left:0;top:.7em;width:.8em;height:3px;background:currentColor}
.tier .btn{align-self:end;justify-self:start}
.tier.pick{background:var(--x-tape);color:#000;border-color:#000;box-shadow:10px 10px 0 var(--x-blue);transform:rotate(-1deg) translateY(-10px)}
.tier.pick h3{text-transform:none}
.tier.pick .note{color:#000;opacity:.75}
.tier.pick .btn{background:#000;color:#fff;border-color:#000}
.tier .tag{position:absolute;top:-17px;right:20px;background:#000;color:var(--x-tape);padding:4px 14px;font-weight:800;transform:rotate(3deg)}
.tier.sel:not(.pick){outline:4px solid var(--x-blue);outline-offset:5px}

.hm .tbl{overflow-x:auto}
.hm .cmp{width:100%;min-width:560px;border-collapse:collapse;border:3px solid var(--ink);background:var(--surface)}
.hm .cmp th,.hm .cmp td{padding:12px 16px;text-align:left;border-bottom:1px dashed var(--line);vertical-align:top}
.hm .cmp thead th{font-family:var(--poster);text-transform:uppercase;font-size:1.3rem;font-weight:700;border-bottom:3px solid var(--ink);background:var(--paper)}
.hm .cmp td:not(:first-child),.hm .cmp th:not(:first-child){text-align:center;width:22%}
.hm .cmp th[scope=row]{font-weight:700}
.hm .cmp td.y{color:var(--ink);font-weight:800}
.hm .cmp td.n{color:var(--ink-soft)}
.hm .cmp td:nth-child(3),.hm .cmp thead th:nth-child(3){background:rgba(255,217,59,.3)}
.hm .cmp thead th:nth-child(3){text-transform:none}
.hm .cmp tbody tr:last-child td,.hm .cmp tbody tr:last-child th{border-bottom:0}

.pay-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(24px,4vw,56px);align-items:start}
.pay-grid>*{min-width:0}
.hm .opts{display:grid;gap:12px;border:0;padding:0}
.hm .opt{display:flex;gap:14px;align-items:flex-start;border:3px solid var(--ink);border-radius:0;padding:14px 16px;cursor:pointer;background:var(--surface)}
.hm .opt:hover{background:var(--paper)}
.hm .opt input{margin-top:5px;width:20px;height:20px;accent-color:var(--x-blue);flex:none}
.hm .opt:has(input:checked){background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--x-blue);border-color:var(--ink)}
.hm .opt:has(input:checked) small{color:inherit;opacity:.8}
.hm .opt:has(input:focus-visible){outline:3px solid var(--x-blue);outline-offset:3px}
.hm .opt small{display:block;color:var(--ink-soft)}
.hm .errsum{border:3px solid #D6264F;border-radius:0;padding:12px 16px;margin-top:14px}
.rcpt-s{position:relative;border:3px solid var(--ink);background:var(--surface);padding:clamp(20px,2.6vw,30px);font-family:var(--typed);display:grid;gap:14px}
.rcpt-s h3{font-size:1.8rem;font-weight:700}
.rcpt-s dl{display:grid;gap:8px;margin:0}
.rcpt-s dl>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed var(--line);padding-bottom:7px}
.rcpt-s dt{color:var(--ink-soft)}
.rcpt-s dd{margin:0;text-align:right;font-weight:500}
.rcpt-s .rs-tot{border-top:3px solid var(--ink);padding-top:12px}
.rcpt-s .rs-tot>div:first-child dd{font-size:1.5rem}
.rcpt-s .rs-tot>div:last-child{border-bottom:0}

.hm .manage{border:3px dashed var(--ink);border-radius:0;padding:clamp(18px,2.6vw,30px);display:flex;gap:16px 28px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.hm .manage h3{font-size:1.8rem;font-weight:700}
.hm .manage p{color:var(--ink-soft);max-width:52ch;margin-top:6px}
.hm .status{display:inline-block;background:var(--x-tape);color:#000;border:3px solid #000;border-radius:0;padding:2px 12px;font-weight:800;transform:rotate(-2deg);margin-bottom:12px}
.hm .status.off{background:var(--surface);color:var(--ink);border-color:var(--ink)}

.faqs{border-bottom:3px solid var(--ink)}
.hm .faq{border-top:3px solid var(--ink)}
.hm .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 4px;font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:700;line-height:1.1}
.hm .faq summary::-webkit-details-marker{display:none}
.hm .faq summary::after{content:"+";font-family:var(--typed);font-size:1.6rem;flex:none}
.hm .faq[open] summary::after{content:"−"}
.hm .faq summary:hover{background:var(--surface)}
.hm .faq p{padding:0 4px 18px;max-width:64ch;color:var(--ink-soft)}
.hm .faq p a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}

/* результат оплаты */
.pr-w{padding:clamp(24px,5vw,72px) var(--gut) 0;display:grid;gap:40px;justify-items:start}
.hm .pr-in{display:grid;gap:22px;max-width:640px;justify-items:start}
.hm .pr-in h1{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:clamp(3rem,8vw,6.4rem);line-height:.9;text-shadow:.04em .03em 0 var(--x-blue)}
.hm .pr-in .lead{font-size:1.2rem;max-width:44ch;color:var(--ink)}
.hm .tick{border-radius:0;border:3px solid #000;background:var(--x-tape);color:#000;transform:rotate(-3deg);box-shadow:5px 5px 0 var(--x-blue)}
.hm .tick.wait{background:var(--surface);color:var(--ink);border-color:var(--ink)}
.hm .tick.bad{background:#D6264F;color:#fff;border-color:#000}
.hm .rcpt{width:100%;max-width:480px;border:3px solid var(--ink);background:var(--surface);padding:6px 18px;font-family:var(--typed)}
.hm .rcpt div{border-bottom:1px dashed var(--line)}
.hm .rcpt div:last-child{border-bottom:0}
.hm .rcpt dt{color:var(--ink-soft)}
.hm .timer{font-family:var(--typed)}
.hm .timer strong{font-family:var(--typed);font-weight:500}
.hm .fix li::marker{content:"— "}
.hm .note{font-family:var(--typed)}

@media (max-width:980px){
  .t-plans{grid-template-columns:minmax(0,1fr)}
  .tier.pick{transform:rotate(-.6deg);order:-1}
  .pay-grid{grid-template-columns:minmax(0,1fr)}
}

.hm .brand{text-transform:none}


/* ---------- Артистам ---------- */
.x-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(24px,5vw,72px);align-items:center;padding-top:clamp(8px,2vw,28px)!important;padding-bottom:clamp(40px,5vw,72px)!important}
.x-hero>*{min-width:0}
.a-title{font-size:clamp(2.8rem,7.4vw,7rem);overflow-wrap:break-word}
.sticker{position:relative;border:3px solid #000;background:var(--x-tape);color:#000;padding:clamp(20px,2.6vw,30px);transform:rotate(1.6deg);box-shadow:8px 8px 0 var(--x-blue);display:grid;gap:12px}
.sticker::before{content:"";position:absolute;top:-16px;left:30px;width:100px;height:28px;background:var(--surface);border:2px solid #000;transform:rotate(-4deg)}
.sticker h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:700}
.sticker p{max-width:40ch}
.sticker .st-note{font-family:var(--typed);font-size:.92rem}

/* условия: полоски с объявления */
.strips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:3px solid var(--ink);background:var(--surface)}
.strip{padding:clamp(16px,2vw,24px);display:grid;gap:10px;align-content:start;border-left:3px dashed var(--ink)}
.strip:first-child{border-left:0}
.strip strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:700;line-height:1}
.strip p{font-size:.98rem;color:var(--ink-soft)}

/* шаги: это действительно последовательность */
.a-steps{list-style:none;padding:0}
.a-steps li{display:grid;grid-template-columns:minmax(64px,110px) minmax(0,1fr);gap:clamp(14px,3vw,36px);align-items:center;padding:clamp(14px,2vw,22px) 0;border-bottom:1px dashed var(--line)}
.a-n{font-family:var(--poster);font-weight:700;font-size:clamp(3.4rem,8vw,6.6rem);line-height:.85;text-shadow:.05em .04em 0 var(--x-blue)}
.a-steps h3{font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:700}
.a-steps p{max-width:60ch;margin-top:6px;color:var(--ink-soft)}
.h-band .h-plus p{max-width:36ch}

@media (max-width:980px){
  .strips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip{border-left:0;border-top:3px dashed var(--ink)}
  .strip:nth-child(-n+2){border-top:0}
  .strip:nth-child(2n){border-left:3px dashed var(--ink)}
}
@media (max-width:860px){
  .x-hero{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  .strips{grid-template-columns:minmax(0,1fr)}
  .strip,.strip:nth-child(2n){border-left:0;border-top:3px dashed var(--ink)}
  .strip:first-child{border-top:0}
}
.x-band h2{font-size:clamp(2.4rem,6vw,5rem)}


/* ---------- Страницы ошибок ---------- */
.e-code{display:flex;align-items:center;gap:.04em;font-family:var(--poster);font-weight:700;font-size:clamp(6rem,21vw,17rem);line-height:.82;color:var(--ink);text-shadow:.045em .035em 0 var(--x-blue);margin:0}
.e-code .rec{display:inline-block;flex:none;width:.74em;height:.74em;border-radius:50%;overflow:hidden;border:.035em solid var(--ink);box-shadow:.045em .035em 0 var(--x-blue);position:relative;margin:0 .03em}
.e-code .rec i{display:block;width:100%;height:100%}
.e-code .rec svg{width:100%;height:100%}
.e-code .rec::after{content:"";position:absolute;inset:0;margin:auto;width:.14em;height:.14em;border-radius:50%;background:var(--paper);border:.025em solid var(--ink)}
.is-playing .e-code .rec{animation:spin 2.4s linear infinite}
.e-h{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;margin-top:clamp(16px,2.4vw,28px);overflow-wrap:break-word}
.e-hero .h-lead{max-width:46ch}
.e-hero .c-search{max-width:560px}
.sticker .e-path{font-family:var(--typed);font-size:.95rem;background:#fff;color:#000;border:2px solid #000;padding:8px 10px;overflow-wrap:anywhere}
.e-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border:3px solid var(--ink);background:var(--surface)}
.e-next a{display:grid;gap:4px;padding:18px 20px;border-left:3px dashed var(--ink);text-decoration:none;color:var(--ink)}
.e-next a:first-child{border-left:0}
.e-next strong{font-family:var(--poster);text-transform:uppercase;font-size:1.5rem;font-weight:700;line-height:1}
.e-next small{font-family:var(--typed);color:var(--ink-soft);font-size:.9rem}
.e-next a:hover,.e-next a:focus-visible{background:var(--x-tape);color:#000}
.e-next a:hover small,.e-next a:focus-visible small{color:#000}
@media (max-width:700px){
  .e-next a{border-left:0;border-top:3px dashed var(--ink)}
  .e-next a:first-child{border-top:0}
}
@media (max-width:700px){
  .e-code{font-size:min(38vw,10rem)}
}


/* ---------- Артист, релиз, трек, профиль ---------- */
.r-title{font-size:clamp(2.8rem,8vw,7rem);overflow-wrap:anywhere;hyphens:manual}
.p-info .c-count{line-height:1.5}
.p-info .c-count a{text-decoration:underline;text-underline-offset:3px}
.pl-deck .r-cv{display:block;position:relative;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;filter:grayscale(1) contrast(1.3);transition:filter .5s}
.pl-deck .r-cv>*{width:100%;height:100%;object-fit:cover;display:block}
.pl-deck .r-cv::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,#000 27%,transparent 30%) 0 0/6px 6px;opacity:.22;mix-blend-mode:multiply;pointer-events:none}
.pl-deck.is-on .r-cv{filter:none}
.hm .r-bio{max-width:52ch;font-size:1.1rem;line-height:1.5;white-space:pre-line}
.hm .soc{margin-top:20px}
.hm .soc a{border:3px solid var(--ink);border-radius:0;padding:7px 16px;font-weight:700}
.hm .soc a:hover{background:var(--ink);color:var(--paper)}
.hm .cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:26px 20px}
.hm .ar-mini{gap:16px}
.hm .gigs{border-top:0}
.hm .gig{border:3px solid var(--ink);background:var(--surface);padding:14px 18px;margin-bottom:14px;text-decoration:none;box-shadow:5px 5px 0 var(--ink)}
.hm .gig:hover{box-shadow:7px 7px 0 var(--x-blue);transform:translate(-2px,-2px)}
.hm .gig .d{font-family:var(--poster);font-weight:700;color:var(--ink);letter-spacing:0;text-transform:uppercase}
.hm .gig .d b{font-size:2.8rem}
.hm .gig strong{font-family:var(--poster);text-transform:uppercase;font-size:1.4rem;font-weight:700}
.hm .gig small{font-family:var(--typed)}
.hm .lyr.r-lyr{max-width:52ch;border:3px solid var(--ink);background:var(--surface);padding:clamp(18px,3vw,32px);font-family:var(--typed);font-size:1.05rem;line-height:1.6;box-shadow:8px 8px 0 var(--x-blue);gap:10px}
body:has(.hm) .modal{background:rgba(0,0,0,.7)}
body:has(.hm) .modal>div{border:3px solid var(--ink);border-radius:0;box-shadow:8px 8px 0 var(--x-blue)}
body:has(.hm) .modal h3{font-family:var(--poster);text-transform:uppercase;font-size:2rem;font-weight:700}
body:has(.hm) .modal .field input,body:has(.hm) .modal .field textarea{border-radius:0;border:3px solid var(--ink)}
@media (max-width:700px){
  .hm .gig{grid-template-columns:70px minmax(0,1fr)}
  .hm .gig .btn{grid-column:1/-1}
  .hm .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ---------- Афиша ---------- */
.ev-month{margin-bottom:clamp(28px,4vw,48px)}
.ev-month .h-head h2{font-size:clamp(1.8rem,4vw,3rem)}
.ev-stub{justify-self:center;width:min(100%,340px);border:3px solid #000;background:var(--x-tape);color:#000;padding:22px 26px;transform:rotate(-2deg);box-shadow:10px 10px 0 var(--x-blue);display:grid;justify-items:start;gap:2px;position:relative;font-family:var(--poster);text-transform:uppercase}
.ev-stub::before,.ev-stub::after{content:"";position:absolute;top:50%;width:26px;height:26px;border-radius:50%;background:var(--paper);border:3px solid #000;margin-top:-13px}
.ev-stub::before{left:-15px}
.ev-stub::after{right:-15px}
.ev-stub b{font-size:clamp(6rem,16vw,9rem);line-height:.85;font-weight:700}
.ev-stub span{font-size:2.2rem;font-weight:700;line-height:1}
.ev-stub i{font-style:normal;font-family:var(--typed);text-transform:none;font-size:1rem}
.ev-stub em{font-style:normal;font-size:2.6rem;font-weight:700;margin-top:10px;border-top:3px dashed #000;padding-top:8px;width:100%}
.ev-about{display:grid;gap:18px;max-width:640px}
.ev-t{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1}


/* ---------- Общие элементы форм и служебные виды (вход, настройки, кабинет, панель) ---------- */
.hm .field label{font-family:var(--typed);font-weight:500;font-size:.92rem}
.hm .field input,.hm .field select,.hm .field textarea,.hm select,.hm textarea.inp,.hm input.inp{border:3px solid var(--ink);border-radius:0;background:var(--surface);color:var(--ink);font:inherit}
.hm .field input,.hm .field select{min-height:52px}
.hm .field input:hover,.hm .field select:hover,.hm .field textarea:hover{border-color:var(--ink)}
.hm .field input:focus-visible,.hm .field select:focus-visible,.hm .field textarea:focus-visible,.hm .cd:focus-visible{outline:3px solid var(--x-blue);outline-offset:2px;box-shadow:5px 5px 0 var(--x-tape)}
.hm .field .err{font-family:var(--typed);font-size:.88rem}
.hm .errsum{border:3px solid #D6264F;border-radius:0;background:var(--surface)}
.hm .btn-blue{background:var(--x-blue);border-color:var(--ink);color:#fff}
:root[data-theme=dark] .hm .btn-blue{color:#000}
.hm .btn-ghost{background:none}
.hm .btn-ghost:hover{background:var(--ink);color:var(--paper)}
.hm .seg{border:3px solid var(--ink);border-radius:0;padding:0}
.hm .seg button{border-radius:0;padding:11px 22px;font-weight:700}
.hm .seg button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.hm .pw button{border-radius:0;font-family:var(--typed)}
.hm .pw button:hover{background:var(--x-tape);color:#000}
.hm .chk input{accent-color:var(--x-blue)}
.hm .cd{border:3px solid var(--ink);border-radius:0;font-family:var(--poster);font-weight:700;background:var(--surface)}
.hm .or{font-family:var(--typed);font-size:.9rem}
.hm .or::before,.hm .or::after{background:none;border-top:2px dashed var(--ink);height:0;opacity:.5}
.hm .linkbtn{font-family:var(--typed)}
.hm .tick{border:3px solid #000;border-radius:0;background:var(--x-tape);color:#000;transform:rotate(-4deg);box-shadow:5px 5px 0 var(--x-blue)}
.hm .tick.wait{background:var(--surface);color:var(--ink);border-color:var(--ink)}
.hm .tick.bad{background:#FF6B8B}
.hm .meter span{border-radius:0;height:8px}
.hm .rules li::before{border-radius:0}
.hm .rcpt{border-top:3px solid var(--ink)}

/* Вход и регистрация */
.hm .auth{margin:clamp(8px,2vw,24px) var(--gut) clamp(32px,5vw,64px);border:3px solid var(--ink);border-radius:0;box-shadow:10px 10px 0 var(--x-blue);background:var(--surface)}
.hm .auth-art{background:var(--x-tape);color:#000;border-right:3px solid var(--ink)}
.hm section.auth{padding:0}
.hm .auth-art .big{font-size:clamp(4rem,9vw,8rem);font-family:var(--poster);font-weight:700;text-transform:uppercase;letter-spacing:0;line-height:.8;text-shadow:.045em .035em 0 var(--x-blue)}
.hm .auth-art p{font-family:var(--typed);font-weight:500;letter-spacing:0;font-size:clamp(1rem,1.6vw,1.2rem)}
.hm .auth-art .shape{border-radius:0;border:3px solid #000}
.hm .auth-art .s1{background:#fff;transform:rotate(12deg)}
.hm .auth-art .s2{background:var(--x-blue);transform:rotate(-8deg)}
.hm .auth h1{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;line-height:.95;font-size:clamp(2.4rem,5vw,4rem)}
.hm .auth .sub{font-size:1.05rem}
.hm .auth h1+.sub{margin-top:12px}
.hm .auth-form{background:var(--paper)}
@media (max-width:860px){.hm .auth-art{border-right:0;border-bottom:3px solid var(--ink)}}

/* Текстовые страницы: о сервисе, помощь, правила, жалоба */
.hm .prose section{padding:0}
.hm .nots{border-top:3px solid var(--ink);max-width:820px}
.hm .nots li{border-bottom:2px dashed var(--line);font-size:1.1rem}
.hm .nots li::before{background:#D6264F;height:4px;border-radius:0}
.hm .steps{border-top:3px solid var(--ink)}
.hm .steps li{border-bottom:2px dashed var(--line)}
.hm .sn{border-radius:0;border:3px solid #000;background:var(--x-tape);color:#000;font-family:var(--poster);transform:rotate(-4deg);box-shadow:3px 3px 0 var(--x-blue)}
.hm .steps h3{font-size:1.6rem;font-weight:700}
.hm .when{border-radius:0;border:3px solid var(--ink);background:none;color:var(--ink);font-family:var(--typed);font-weight:500}
.hm .lg-toc{font-family:var(--typed);font-size:.95rem}
.hm .lg-toc a{color:var(--ink)}
.hm .prose h2{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;font-size:clamp(1.5rem,2.6vw,2.1rem);border-bottom:3px solid var(--ink);padding-bottom:6px;margin-bottom:12px}
.hm .prose h2 span{color:var(--x-blue);font-family:var(--poster)}
.hm .tab[aria-selected=true]{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--x-blue)}
.hm .hint{font-family:var(--typed);font-size:.85rem}
.hm .opt{border:3px solid var(--ink);border-radius:0;background:var(--surface)}
.hm .opt:hover{border-color:var(--ink);box-shadow:4px 4px 0 var(--x-blue)}
.hm .opt:has(input:checked){border-color:var(--ink);background:var(--x-tape);color:#000;box-shadow:5px 5px 0 var(--ink)}
.hm .opt:has(input:checked) small{color:#000}
.hm .opt input{accent-color:#000}
.hm .pay-i{border:3px solid var(--ink);border-radius:0;background:var(--surface)}
.hm .terms{border-top:3px solid var(--ink)}
.hm .terms dt{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;color:var(--ink)}
.hm .lbl-s{font-family:var(--typed);font-weight:500}

/* История, уведомления, настройки */
.hm .set-sec,.hm .lib-sec{padding:0}
.hm .set-nav a{border-radius:0;font-family:var(--typed);font-weight:500;border:3px solid transparent}
.hm .set-nav a:hover,.hm .set-nav a:focus-visible{background:var(--x-tape);color:#000;border-color:var(--ink)}
.hm .set-sec h2{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;border-bottom:3px solid var(--ink);padding-bottom:6px}
.hm .set-row{border-bottom:2px dashed var(--line)}
.hm .set-row small{font-family:var(--typed);font-size:.85rem}
.hm .sw{border:3px solid var(--ink);border-radius:0;width:60px;height:32px}
.hm .sw::after{border-radius:0;left:2px;top:2px;width:22px;height:22px;background:var(--ink)}
.hm .sw[aria-checked=true]{background:var(--x-tape);border-color:var(--ink)}
.hm .sw[aria-checked=true]::after{transform:translateX(28px);background:#000}
.hm .rng{accent-color:var(--x-blue)}
.hm .danger{border:3px dashed #D6264F;border-radius:0}
.hm .nlist{border-top:3px solid var(--ink)}
.hm .nt{border-bottom:2px dashed var(--line)}
.hm .nd{border-radius:0;background:var(--x-blue)}
.hm .nb strong{font-family:var(--poster);text-transform:uppercase;font-size:1.25rem;font-weight:700;letter-spacing:0}
.hm .nb small{font-family:var(--typed)}
.hm .lib-sec h2{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;border-bottom:3px solid var(--ink);padding-bottom:6px}
@media (max-width:860px){.hm .set-nav{position:static;display:flex;flex-wrap:wrap;gap:6px}}

/* Кабинет артиста */
.hm .st section,.hm .ob section,.hm .adm section{padding:0}
.hm .st-nav nav a{border-radius:0;font-family:var(--typed);font-weight:500;border:3px solid transparent}
.hm .st-nav nav a:hover{background:var(--x-tape);color:#000;border-color:var(--ink)}
.hm .st-nav nav a[aria-current=page]{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--x-blue)}
.hm .st-me .cover{border-radius:0;border:3px solid var(--ink)}
.hm .st-head h1,.hm .ob-in h1,.hm .adm-head h1,.hm .rh-t h1{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;line-height:.95;text-shadow:.04em .03em 0 var(--x-blue)}
.hm .st-sec h2,.hm .up-sec h2,.hm .ad-h h2,.hm .rej h2{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;border-bottom:3px solid var(--ink);padding-bottom:6px}
.hm .ad-h h2{border-bottom:0;padding-bottom:0}
.hm .kpis{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.hm .kpi+.kpi{border-left:2px dashed var(--ink)}
.hm .kpi span{font-family:var(--typed);font-size:.9rem}
.hm .kpi strong{font-family:var(--poster);font-weight:700;letter-spacing:0}
.hm .tops{border-top:3px solid var(--ink)}
.hm .tops li{border-bottom:2px dashed var(--line)}
.hm .tops .num{font-family:var(--poster);color:var(--ink)}
.hm .chart-wrap{border:3px solid var(--ink);border-radius:0;background:var(--surface)}
.hm .chart-svg .bar{fill:var(--ink)}
.hm .chart-svg .bar:hover{fill:var(--x-blue)}
.hm .stepper li{border:3px solid var(--ink);border-radius:0;font-family:var(--typed);font-weight:500}
.hm .stepper li[aria-current=step]{background:var(--x-tape);color:#000;box-shadow:4px 4px 0 var(--ink)}
.hm .stepper li .sn{border-radius:0}
.hm .stepper li.is-done .sn{background:var(--ink);color:var(--paper)}
.hm .drop{border:3px dashed var(--ink);border-radius:0}
.hm .drop:hover,.hm .drop.over{background:var(--x-tape);color:#000;border-color:var(--ink)}
.hm .drop:hover span,.hm .drop.over span{color:#000}
.hm .utr li{border:3px solid var(--ink);border-radius:0;background:var(--surface)}
.hm .tfld input{font-family:var(--typed)}
.hm .pbar{border-radius:0;height:10px;border:2px solid var(--ink);background:none}
.hm .pbar span{background:var(--x-blue)}
.hm .tact button{border-radius:0;border:3px solid var(--ink)}
.hm .cov-prev,.hm .rv-c,.hm .rh-c,.hm .aqi .cover{border-radius:0;border:3px solid var(--ink)}
.hm .cov-prev.ph{border-radius:50%}
.hm .up-nav{border-top:3px solid var(--ink)}
.hm .rv-d div{border-bottom:2px dashed var(--line)}
.hm .rv-d dt{font-family:var(--typed)}
.hm .pv{border-radius:0;border:3px solid #000;box-shadow:8px 8px 0 var(--x-blue)}
.hm .pv-ph{border-radius:0}
.hm .pv-l span{border-radius:0}
.hm .glist{border-top:3px solid var(--ink)}
.hm .glist li{border-bottom:2px dashed var(--line)}
.hm .vb{border-radius:0;border:3px solid #000;color:#000;box-shadow:5px 5px 0 var(--ink)}
.hm .vb .btn{border-color:#000;color:#000}
.hm .vb .btn:hover{background:#000;color:#fff}
.hm .tl{border-left:3px solid var(--ink)}
.hm .tl li::before{border-radius:0;border:3px solid var(--ink)}
.hm .tl li.is-done::before{background:var(--ink)}
.hm .tl li.is-cur::before{background:var(--x-tape)}
.hm .rej{border:3px dashed #D6264F;border-radius:0}
.hm .status{border-radius:0;border:3px solid var(--ink);background:var(--x-tape);color:#000;font-family:var(--typed);font-weight:500}
.hm .status.off{background:#FF6B8B}
.hm .cmp th,.hm .cmp td{font-family:inherit}
.hm .tbl{border:3px solid var(--ink);background:var(--surface)}
@media (max-width:900px){.hm .st{grid-template-columns:minmax(0,1fr)}.hm .st-nav{position:static}.hm .st-nav nav{display:flex;flex-wrap:wrap;gap:6px}.hm .kpis{grid-template-columns:repeat(2,1fr)}.hm .pf{grid-template-columns:minmax(0,1fr)}.hm .pf-side{position:static}}

/* Служебная панель */
.hm .adm-head h1{font-size:clamp(2rem,4vw,3.2rem)}
.hm .adm-grid{align-items:start}
.hm .aqi{border:3px solid var(--ink);border-radius:0;background:var(--surface)}
.hm .aqi:hover{box-shadow:4px 4px 0 var(--x-blue)}
.hm .aqi.on{background:var(--x-tape);color:#000;box-shadow:5px 5px 0 var(--ink);border-color:var(--ink)}
.hm .aqi.on small{color:#000}
.hm .pill{border-radius:0;border:2px solid #000;font-family:var(--typed);font-weight:500}
.hm .ad{border:3px solid var(--ink);border-radius:0;background:var(--surface);box-shadow:6px 6px 0 var(--ink)}
.hm .adm section.ad{padding:clamp(16px,2.4vw,28px)}
.hm .ad .opt{background:var(--paper)}
.hm .thr li{border:3px solid var(--ink);border-radius:0}
.hm .thr li.a{background:var(--x-blue);color:#fff;border-color:var(--ink)}
:root[data-theme=dark] .hm .thr li.a{color:#000}
.hm .tr-l li{border-bottom:2px dashed var(--line)}
.hm .chk-l{border-top:3px solid var(--ink)}
.hm .chk-l li{border-bottom:2px dashed var(--line)}
@media (max-width:900px){.hm .adm-grid{grid-template-columns:minmax(0,1fr)}}


/* ---------- Строки треков по всему сайту ---------- */
body:has(.hm) .tracks{border-top:0}
body:has(.hm) .tracks li{border-bottom:2px dashed var(--line)}
body:has(.hm) .tracks li:last-child{border-bottom:0}
body:has(.hm) .trow{gap:14px;padding:12px 10px;color:var(--ink);transition:none}
body:has(.hm) .trow:hover,:root[data-theme=dark] body:has(.hm) .trow:hover{background:var(--ink);color:var(--paper)}
body:has(.hm) .trow.is-cur,:root[data-theme=dark] body:has(.hm) .trow.is-cur,body:has(.hm) .trow.is-cur:hover{background:var(--x-tape);color:#000}
body:has(.hm) .trow .tt a,body:has(.hm) .trow .ta a,body:has(.hm) .trow .tt small,body:has(.hm) .trow .ta,body:has(.hm) .trow .tp,body:has(.hm) .trow .td{color:inherit}
body:has(.hm) .trow .tt small,body:has(.hm) .trow .ta,body:has(.hm) .trow .tp,body:has(.hm) .trow .td{font-family:var(--typed);font-size:.9rem;opacity:.8}
body:has(.hm) .trow .tt strong{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.2rem;line-height:1.05;letter-spacing:0}
body:has(.hm) .tn{width:40px;height:40px}
body:has(.hm) .tn .num{font-family:var(--poster);font-weight:700;font-size:1.5rem;letter-spacing:0;color:inherit;opacity:.85}
body:has(.hm) .tn .pp{border-radius:0;background:var(--x-tape);color:#000;border:3px solid #000}
body:has(.hm) .trow.is-cur .tn .pp{background:#000;color:var(--x-tape)}
body:has(.hm) .tc{width:52px;height:52px;border-radius:0;border:3px solid var(--ink)}
body:has(.hm) .trow:hover .tc{border-color:var(--paper)}
body:has(.hm) .trow.is-cur .tc,body:has(.hm) .trow.is-cur:hover .tc{border-color:#000}
body:has(.hm) .like{border-radius:0;color:inherit}
body:has(.hm) .like:hover{background:transparent;box-shadow:inset 0 0 0 3px currentColor}
body:has(.hm) .like[aria-pressed=true]{color:#E0446F}
:root[data-theme=dark] body:has(.hm) .like[aria-pressed=true]{color:#FF7C9C}
body:has(.hm) .trow.is-cur .like[aria-pressed=true]{color:#B3123E}
body:has(.hm) .trow:hover .like[aria-pressed=true]{color:#FF7C9C}
:root:not([data-theme=dark]) body:has(.hm) .trow:hover .like[aria-pressed=true]{color:#FF7C9C}
body:has(.hm) .trow:focus-visible{outline:3px solid var(--x-blue);outline-offset:-3px}
@media (max-width:620px){
  body:has(.hm) .ta{display:none}
  body:has(.hm) .trow{gap:10px;padding:10px 6px}
  body:has(.hm) .tc{width:44px;height:44px}
  body:has(.hm) .trow .tt strong{font-size:1.05rem}
}
body:has(.hm) .trow .tt{flex:1 1 140px;min-width:110px}
body:has(.hm) .trow .ta{flex:0 1 22%}
body:has(.hm) .trow .tp{flex:0 0 auto;min-width:64px}
body:has(.hm) .h-two .trow .ta{display:none}
body:has(.hm) .trow{gap:10px}
body:has(.hm) .trow .tp{min-width:0}
body:has(.hm) .trow .tt strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}


/* ---------- Главная: доработка ---------- */
.h-hero>div:first-child{container-type:inline-size}
.h-hero .h-title{font-size:clamp(3.2rem,22cqi,11rem);overflow-wrap:normal}
.h-hero .deck{max-width:460px}
.h-hero .deck-q .dq:nth-child(n+4){display:none}
@media (max-width:860px){.h-hero .deck-cv{aspect-ratio:1}}
.h-hero .h-lead{margin-top:clamp(14px,2vw,22px)}
.h-hero .h-cta{margin-top:clamp(14px,2vw,22px)}
.h-wall .ar h3{font-size:clamp(2rem,4.6vw,4rem)}
.h-wall .ar{padding:clamp(12px,1.6vw,20px) 0}
.h-wall .ar:hover{background:var(--ink);color:var(--paper)}
.hm .follow{border:3px solid currentColor;border-radius:0;font-family:var(--typed);font-weight:500}
.hm .follow[aria-pressed=true]{background:var(--x-tape);color:#000;border-color:#000}
.hm .ar:hover .follow:not([aria-pressed=true]):hover{background:var(--x-tape);color:#000;border-color:#000}
.hm .ar-meta{font-family:var(--typed);font-size:.95rem}


/* ---------- Подвал ---------- */
.foot{display:block;margin-top:clamp(40px,6vw,88px);padding:clamp(32px,5vw,64px) var(--gut) calc(var(--bar-h,108px) + 28px);background:#000;color:#E6E6E1;border-top:3px solid #000;gap:0}
:root[data-theme=dark] .foot{background:#161618;border-top:3px solid #EDEDE6;color:#EDEDE6}
.foot a,.foot .ck-cs{color:inherit;text-decoration:none;font-weight:500}
.foot-top{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:clamp(28px,5vw,80px);align-items:start}
.foot-brand{display:grid;gap:14px;justify-items:start;container-type:inline-size;min-width:0}
.foot .foot-logo{font-family:"Oswald","Onest",sans-serif;font-weight:700;text-transform:uppercase;font-size:min(31cqi,10rem);line-height:.8;color:#FFD93B;text-shadow:.05em .04em 0 #2F3BFF;letter-spacing:0}
.foot .foot-tag{font-size:1.1rem;max-width:30ch;line-height:1.35;color:inherit;width:auto;margin-top:8px}
.foot .foot-mail{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1rem;border:3px solid #FFD93B;color:#FFD93B;padding:10px 16px;box-shadow:5px 5px 0 #2F3BFF}
.foot .foot-mail:hover{background:#FFD93B;color:#000;text-decoration:none}
.foot .foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px clamp(16px,2.4vw,36px)}
.foot-cols>div{display:grid;gap:10px;align-content:start}
.foot .foot-h{font-family:"Oswald","Onest",sans-serif;text-transform:uppercase;font-weight:700;font-size:1.3rem;line-height:1;color:inherit;width:auto;border-bottom:3px solid currentColor;padding-bottom:8px;margin-bottom:4px}
.foot-cols a,.foot-cols .ck-cs{font-size:1rem;text-align:left;width:fit-content}
.foot-cols a:hover,.foot-cols .ck-cs:hover{background:#FFD93B;color:#000;text-decoration:none}
.foot-cols a:focus-visible,.foot-cols .ck-cs:focus-visible,.foot-logo:focus-visible,.foot-mail:focus-visible{outline:3px solid #8D95FF;outline-offset:3px}
.foot-bot{margin-top:clamp(32px,5vw,56px);padding-top:18px;border-top:3px dashed currentColor;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.85rem}
.foot .foot-bot p{width:auto;color:inherit;font-size:.85rem;opacity:.85;max-width:70ch}
.foot .foot-req{opacity:.85}
.foot .foot-req a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:980px){.foot-top{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.foot .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Колода на главной: обложка квадратная и не обрезается, рядом название и волна */
.h-hero .deck{max-width:540px;grid-template-columns:minmax(120px,190px) minmax(0,1fr);grid-template-areas:"cv row" "cv wave" "q q";gap:14px 18px;align-items:center}
.h-hero .deck-cv{grid-area:cv;aspect-ratio:1;align-self:start}
.h-hero .deck-row{grid-area:row;flex-wrap:wrap;gap:12px}
.h-hero .deck-wave{grid-area:wave}
.h-hero .deck-q{grid-area:q}
.h-hero .deck-empty{grid-column:1/-1}
.h-hero .deck-t{flex:1 1 120px}
.h-hero .deck-t strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(1.3rem,2.2vw,1.8rem)}
@media (max-width:860px){.h-hero .deck{max-width:460px}}
@media (max-width:460px){.h-hero .deck{grid-template-columns:minmax(0,1fr);grid-template-areas:"cv" "row" "wave" "q"}.h-hero .deck-cv{align-self:stretch}}
.h-hero .deck-cv img{object-fit:contain;background:var(--surface)}
body:has(.foot){padding-bottom:0}


/* ---------- Шапка: титул газеты ---------- */
body:has(.hm) .nav{position:relative;gap:clamp(16px,2.4vw,32px);padding:12px var(--gut);background:var(--paper);border-bottom:3px solid var(--ink);align-items:center}
@media (min-width:901px){body:has(.hm) .nav{position:sticky;top:0;z-index:40}}
body:has(.hm) .nav .logo{font-family:var(--poster);font-weight:700;text-transform:uppercase;font-size:2.2rem;line-height:1;letter-spacing:0;color:var(--ink);text-shadow:.07em .06em 0 var(--x-blue);padding:2px 4px 0 0}
body:has(.hm) .nav .logo:focus-visible{outline:3px solid var(--x-blue);outline-offset:4px}
body:has(.hm) .nav-links{margin-left:0;gap:6px;flex:1;font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.1rem;letter-spacing:.01em}
body:has(.hm) .nav-links a{padding:6px 12px;border:3px solid transparent;line-height:1.1;color:var(--ink)}
body:has(.hm) .nav-links a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
body:has(.hm) .nav-links a[aria-current=page]{background:var(--x-tape);color:#000;border-color:#000}
body:has(.hm) .nav-links a:focus-visible{outline:3px solid var(--x-blue);outline-offset:2px}
body:has(.hm) .nav-end{margin-left:auto;gap:8px}
body:has(.hm) .nav .icon-btn{width:46px;height:46px;border-radius:0;border:3px solid var(--ink);background:none;color:var(--ink)}
body:has(.hm) .nav .icon-btn:hover{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--x-blue);transform:translate(-2px,-2px)}
body:has(.hm) .nav .icon-btn[aria-current=page]{background:var(--x-tape);color:#000;border-color:#000}
body:has(.hm) .nav .icon-btn:focus-visible{outline:3px solid var(--x-blue);outline-offset:2px}
body:has(.hm) .nav .badge{border-radius:0;background:#E0446F;color:#fff;border:3px solid var(--paper);min-width:22px;height:22px;right:-8px;top:-8px}
body:has(.hm) .nav .btn{border-radius:0;border:3px solid #000;background:var(--x-tape);color:#000;padding:11px 20px;font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.1rem;letter-spacing:.01em}
body:has(.hm) .nav .btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--x-blue)}
@media (min-width:901px) and (max-width:1100px){
  body:has(.hm) .nav-links a{padding:6px 8px;font-size:1rem}
  body:has(.hm) .nav .logo{font-size:1.9rem}
}
@media (max-width:900px){
  body:has(.hm) .nav{flex-wrap:wrap;row-gap:10px;padding:10px var(--gut) 0}
  body:has(.hm) .nav .logo{font-size:1.9rem}
  body:has(.hm) .nav-links{order:3;flex:0 0 calc(100% + 2 * var(--gut));margin:0 calc(-1 * var(--gut));padding:0 var(--gut);border-top:3px solid var(--ink);gap:0;overflow-x:auto;scrollbar-width:none;background:var(--surface)}
  body:has(.hm) .nav-links::-webkit-scrollbar{display:none}
  body:has(.hm) .nav-links a{white-space:nowrap;border:0;border-right:2px dashed var(--line);padding:12px 16px}
  body:has(.hm) .nav-links a[aria-current=page]{background:var(--x-tape);color:#000}
  body:has(.hm) .nav-end .icon-btn{width:42px;height:42px}
  body:has(.hm) .nav-end{margin-left:auto}
}
@media (max-width:440px){
  body:has(.hm) .nav-end{gap:6px}
  body:has(.hm) .nav .btn{padding:9px 14px;font-size:1rem}
  body:has(.hm) .nav-end .icon-btn:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){body:has(.hm) .nav .icon-btn:hover,body:has(.hm) .nav .btn:hover{transform:none}}
@media (min-width:901px){html{scroll-padding-top:84px}}

/* полоска загрузки при переходе между страницами */
.pj-bar{position:fixed;left:0;top:0;height:5px;width:0;background:var(--x-tape);border-bottom:2px solid #000;z-index:90;pointer-events:none;opacity:0}
.pj-bar.on{opacity:1;width:70%;transition:width 6s cubic-bezier(.1,.7,.2,1)}
.pj-bar.done{opacity:0;width:100%;transition:width .2s,opacity .35s .15s}


/* ---------- Мелочи: плеер без музыки, сердце, заглушки, нет сети, клавиши ---------- */
body.bar-idle .bar{display:none}
body.bar-idle{--bar-h:0px}
body.bar-idle .foot{padding-bottom:clamp(32px,5vw,56px)}

@keyframes heart-pop{0%{transform:scale(1)}30%{transform:scale(1.5) rotate(-10deg)}60%{transform:scale(.88) rotate(6deg)}100%{transform:scale(1) rotate(0)}}
.pop{animation:heart-pop .5s cubic-bezier(.2,.9,.3,1.3)}

.net-bar{position:fixed;left:0;right:0;top:0;z-index:95;background:#E0446F;color:#fff;border-bottom:3px solid #000;padding:8px var(--gut);font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.9rem;text-align:center}
.net-bar[hidden]{display:none}

.modal.keys .kb{display:grid;gap:0;margin:6px 0 14px;border-top:3px solid var(--ink)}
.modal.keys .kb div{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:2px dashed var(--line)}
.modal.keys dt,.modal.keys dd{margin:0}
.modal.keys kbd{font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.95rem;border:3px solid var(--ink);padding:2px 10px;background:var(--surface);box-shadow:3px 3px 0 var(--ink);white-space:nowrap}

@keyframes sk-shine{from{background-position:200% 0}to{background-position:-200% 0}}
.sk{display:block;background:linear-gradient(100deg,var(--line) 30%,rgba(255,255,255,.35) 50%,var(--line) 70%) 0 0/200% 100%;opacity:.55;animation:sk-shine 1.4s linear infinite}
.sk-rows,.sk-gigs{display:grid;border:3px solid var(--ink);background:var(--surface);padding:6px 14px}
.sk-row{display:grid;grid-template-columns:52px minmax(0,1fr) 44px;gap:14px;align-items:center;padding:12px 0;border-bottom:2px dashed var(--line)}
.sk-row:last-child{border-bottom:0}
.sk-row span,.sk-gig span{display:grid;gap:8px}
.sk-sq{width:52px;height:52px}
.sk-l1{height:16px;width:62%}
.sk-l2{height:12px;width:38%}
.sk-t{height:14px}
.sk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:22px 16px}
.sk-card{display:grid;gap:10px;align-content:start}
.sk-img{aspect-ratio:1;border:3px solid var(--ink)}
.sk-gig{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:center;padding:14px 0;border-bottom:2px dashed var(--line)}
.sk-gig:last-child{border-bottom:0}
.sk-d{height:56px}
@media (prefers-reduced-motion:reduce){.sk{animation:none}.pop{animation:none}}

/* Подсказки поиска */
.hm .s-input{position:relative}
.sg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:35;background:var(--surface);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--x-blue);max-height:min(62vh,440px);overflow:auto;text-align:left}
.sg[hidden]{display:none}
.sg-i{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:9px 14px;border-bottom:2px dashed var(--line);text-decoration:none;color:var(--ink);background:none;text-align:left;font:inherit}
.sg-i:last-child{border-bottom:0}
.sg-i:hover,.sg-i[aria-selected=true]{background:var(--x-tape);color:#000}
.sg-c{width:44px;height:44px;border:3px solid currentColor;overflow:hidden;display:grid;place-items:center;font-family:var(--poster);font-size:1.4rem}
.sg-c>*{width:100%;height:100%;object-fit:cover;display:block}
.sg-t{display:grid;min-width:0;line-height:1.2}
.sg-t strong{font-family:var(--poster);text-transform:uppercase;font-size:1.2rem;font-weight:700;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-t small{font-family:var(--typed);font-size:.85rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-i em{font-style:normal;font-family:var(--typed);font-size:.8rem;border:2px solid currentColor;padding:1px 8px}


/* ---------- Большой плеер: афиша на весь экран, фон берётся из обложки ---------- */
.fp{--fb:#2F3BFF;--ff:#fff;--fs:#12163f;--fd:#2230c4;--sheet:#ECEBE4;--sheet-ink:#0A0A0A;
  background:radial-gradient(120% 90% at 22% 18%,var(--fb) 0%,var(--fb) 38%,var(--fd) 100%);
  color:var(--ff);font-family:"Onest",sans-serif;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px)}
@property --fb{syntax:"<color>";inherits:true;initial-value:#2F3BFF}
@property --fd{syntax:"<color>";inherits:true;initial-value:#2230c4}
@property --fs{syntax:"<color>";inherits:true;initial-value:#12163f}
@media (prefers-reduced-motion:no-preference){.fp{transition:--fb .7s,--fd .7s,--fs .7s}}
.fp::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#000 24%,transparent 27%) 0 0/7px 7px;opacity:.07;mix-blend-mode:multiply}
.fp>.fp-main,.fp>.fp-side{position:relative}
.fp-x{border-radius:0;border:3px solid var(--ff);background:none;color:var(--ff)}
.fp-x:hover{background:var(--ff);color:var(--fb);box-shadow:4px 4px 0 var(--fs)}
.fp-main{align-items:flex-start;gap:clamp(14px,2.2vh,24px)}
.fp-cv-wrap{position:relative;width:min(44vh,100%,440px);align-self:flex-start;margin:clamp(6px,1vh,14px) 0 6px 6px}
.fp-cv-wrap::before{content:"";position:absolute;top:-16px;left:50%;width:110px;height:30px;background:var(--x-tape,#FFD93B);transform:translateX(-50%) rotate(-3deg);opacity:.95;z-index:2;border:2px solid #000}
.fp .fp-cover{width:100%;border-radius:0;border:4px solid var(--ff);transform:rotate(-1.8deg);box-shadow:12px 12px 0 var(--fs);background:var(--fd);transition:transform .5s}
.fp.is-on .fp-cover{transform:rotate(0)}
.fp-cover img,.fp-cover svg{object-fit:contain}
.fp-tag{position:absolute;right:-14px;bottom:-14px;z-index:3;background:var(--x-tape,#FFD93B);color:#000;border:3px solid #000;padding:5px 14px;font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-weight:700;font-size:1.05rem;transform:rotate(3deg);letter-spacing:.02em}
.fp:not(.is-on) .fp-tag{background:#fff}
.fp-info h2{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-weight:700;letter-spacing:0;line-height:.92;font-size:clamp(2.6rem,6.2vw,5.8rem);text-shadow:.04em .035em 0 var(--fs);text-wrap:balance}
.fp-info p{font-family:var(--typed,"IBM Plex Mono",monospace);font-size:1.15rem;margin-top:12px;opacity:1}
.fp-seek{max-width:560px}
.fp-times{font-family:var(--typed,"IBM Plex Mono",monospace);opacity:1}
.fp input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:0;border:2px solid var(--ff);background:linear-gradient(to right,var(--ff) var(--p,0%),transparent var(--p,0%))}
.fp input[type=range]::-moz-range-track{height:10px;border-radius:0;border:2px solid var(--ff);background:transparent}
.fp input[type=range]::-moz-range-progress{height:10px;border-radius:0;background:var(--ff)}
.fp input[type=range]::-webkit-slider-thumb{width:16px;height:26px;border-radius:0;margin-top:-10px;background:var(--ff);border:3px solid var(--fb)}
.fp input[type=range]::-moz-range-thumb{width:16px;height:26px;border-radius:0;background:var(--ff);border:3px solid var(--fb)}
.fp-wave .w i{border-radius:0}
.fp-ctrl{gap:10px}
.fp-ctrl button{border-radius:0;width:54px;height:54px;border:3px solid transparent;color:var(--ff)}
.fp-ctrl button:hover{background:transparent;border-color:var(--ff);box-shadow:4px 4px 0 var(--fs);transform:translate(-2px,-2px)}
.fp-ctrl .fp-play{width:84px;height:84px;background:var(--ff);color:var(--fb);border:4px solid var(--ff);box-shadow:6px 6px 0 var(--fs)}
.fp-ctrl .fp-play:hover{background:var(--ff);transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--fs)}
.fp-ctrl .mode[aria-pressed=true]::after{border-radius:0;width:14px;height:4px;margin-left:-7px;bottom:3px}
.fp-ctrl #fpLike[aria-pressed=true]{color:#FF4D79}
.fp .qchip{border:3px solid var(--ff);border-radius:0;font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:500;color:var(--ff)}
.fp .vol-w button{border-radius:0;color:var(--ff)}
.fp .vol{width:150px}

/* Лист с текстом: бумага, приколотая к цветной стене */
.fp-side{background:var(--sheet);color:var(--sheet-ink);border:4px solid #000;box-shadow:12px 12px 0 var(--fs);padding:clamp(16px,2.2vw,28px) clamp(16px,2.6vw,34px) 0;margin:clamp(40px,5vh,64px) 12px 12px 0;padding-top:clamp(16px,2.2vw,28px);transform:rotate(.6deg);overflow:hidden}
.fp-side::before{content:"";position:absolute;top:-17px;right:46px;width:100px;height:30px;background:var(--x-tape,#FFD93B);border:2px solid #000;transform:rotate(4deg);z-index:2}
.fp-tabs{gap:8px;margin-bottom:12px}
.fp-tabs button{border-radius:0;border:3px solid #000;padding:6px 16px;font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-weight:700;font-size:1.05rem;color:#000;background:none}
.fp-tabs button:hover{background:rgba(0,0,0,.08)}
.fp-tabs button[aria-pressed=true]{background:#000;color:var(--sheet)}
.fp .fp-side button:focus-visible,.fp .fp-side [tabindex]:focus-visible{outline:3px solid #2F3BFF;outline-offset:2px}
#fpLyrics{padding:3vh 0 22vh}
.ly{font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:500;font-size:clamp(1.15rem,2vw,1.8rem);letter-spacing:0;line-height:1.4;margin-bottom:.7em;opacity:.42;transition:opacity .3s;padding:0 .3em;margin-left:-.3em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ly.past{opacity:.6}
.ly.on{opacity:1;font-weight:500;background:linear-gradient(transparent 6%,var(--x-tape,#FFD93B) 6% 94%,transparent 94%)}
.fp-empty{padding-top:4vh}
.fp-empty strong{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:2.2rem}
.fp-empty span{font-family:var(--typed,"IBM Plex Mono",monospace);opacity:1}
.fq{border-radius:0;border-bottom:2px dashed rgba(0,0,0,.35);padding:10px 6px;color:#000}
.fq:hover{background:rgba(0,0,0,.08)}
.fq.is-cur{background:var(--x-tape,#FFD93B);color:#000}
.fq .cover{border-radius:0;border:3px solid #000}
.fq strong{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-size:1.15rem;font-weight:700}
.fq small,.fq-d{font-family:var(--typed,"IBM Plex Mono",monospace);opacity:.85}
@media (max-width:900px){
  .fp{grid-template-columns:minmax(0,1fr)}
  .fp-cv-wrap{width:min(66vw,320px)}
  .fp-info h2{font-size:clamp(2.4rem,12vw,4rem)}
  .fp-side{margin:12px 8px 18px 0;transform:none;height:72vh;overflow:hidden}
  .fp .fp-ctrl button{width:46px;height:46px}
  .fp .fp-ctrl .fp-play{width:70px;height:70px}
}
@media (prefers-reduced-motion:reduce){.fp .fp-cover,.fp-ctrl button{transition:none}.fp .fp-cover{transform:none}}
.fp .fp-main{padding-top:clamp(52px,7vh,72px);justify-content:flex-start}
.fp-cv-wrap{width:min(36vh,100%,400px)}
@media (max-width:900px){.fp .fp-main{padding-top:60px}}


/* ---------- Текст по словам ---------- */
.lq{font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:500;font-size:clamp(1.15rem,2vw,1.8rem);line-height:1.6;margin:0 0 .6em;opacity:1!important;background:none!important;padding:0;cursor:pointer}
.lq .wd{display:inline-block;white-space:nowrap;opacity:.3;padding:0 .22em;margin:0 -.22em;transition:opacity .2s,background-color .15s}
.lq.past .wd{opacity:.72}
.lq.on .wd{opacity:.3}
.lq.on .wd.d{opacity:1}
.lq.on .wd.c{opacity:1;background:var(--x-tape,#FFD93B);color:#000;box-shadow:0 .08em 0 #000}
.lq .wd:hover{text-decoration:underline;text-underline-offset:.2em}
@media (prefers-reduced-motion:reduce){.lq .wd{transition:none}}
.lyr-box{position:relative;max-height:60vh;overflow-y:auto;padding:14px 18px 40vh;border:3px solid var(--ink);background:var(--surface);scrollbar-width:thin}

/* ---------- Кабинет: тексты песен ---------- */
.ly-player{position:sticky;top:78px;z-index:20;background:var(--paper);border:3px solid var(--ink);padding:10px 12px;box-shadow:6px 6px 0 var(--x-blue)}
.ly-player audio{width:100%;display:block}
.ly-player .hint{margin:4px 0 0}
.ly-player .hint:empty{display:none}
.hm kbd{font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.9em;border:2px solid var(--ink);padding:0 7px;background:var(--surface);box-shadow:2px 2px 0 var(--ink);white-space:nowrap}
.sy-opts{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:8px 0 14px}
.sy-sel{display:inline-flex;gap:8px;align-items:center;font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.9rem}
.sy-sel select{font:inherit;border:3px solid var(--ink);border-radius:0;background:var(--surface);color:var(--ink);padding:6px 8px}
.sy-stage{border:3px solid var(--ink);background:var(--surface);padding:clamp(14px,2.4vw,26px);margin-bottom:14px;min-height:190px;display:grid;align-content:center;gap:10px;text-align:center}
.sy-p,.sy-n{font-family:var(--typed,"IBM Plex Mono",monospace);font-size:1rem;opacity:.45;min-height:1.5em}
.sy-c{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-weight:700;font-size:clamp(1.6rem,4vw,3rem);line-height:1.15}
.sy-c mark{background:var(--x-tape,#FFD93B);color:#000;padding:0 .18em;box-shadow:3px 3px 0 var(--ink)}
.sy-d{opacity:.35}
.sy-f{opacity:.9}
.sy-done{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-size:1.8rem;font-weight:700}
.pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.88rem;line-height:1.5;border:3px solid var(--ink);background:var(--surface);padding:14px 16px;max-height:340px;overflow:auto;margin:10px 0}
.pre[hidden]{display:none}
@media (max-width:900px){.ly-player{top:0}}


/* ---------- Страница артиста ---------- */
.ap-top .r-title{font-size:clamp(3.2rem,10vw,9rem)}
.ap-tags{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:clamp(18px,2.6vw,30px)}
.ap-tags span{border:3px solid var(--ink);padding:4px 14px;font-family:var(--typed);font-weight:500;font-size:1rem;background:var(--surface)}
.ap-tags span:first-child{background:var(--x-tape);color:#000;border-color:#000;transform:rotate(-1.5deg)}
.ap-tags span:last-child{transform:rotate(1deg)}

.hm section.ap-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:0;padding-bottom:clamp(36px,5vw,64px);gap:0}
.ap-stats>div{display:grid;gap:6px;padding:clamp(14px,2vw,24px) clamp(14px,2vw,26px);border:3px solid var(--ink);margin-left:-3px;background:var(--surface);min-width:0}
.ap-stats>div:first-child{margin-left:0}
.ap-stats>div:nth-child(2n){background:var(--paper)}
.ap-stats b{font-family:var(--poster);font-weight:700;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.9;overflow-wrap:anywhere}
.ap-stats span{font-family:var(--typed);font-size:.95rem;color:var(--ink-soft)}

.hm section.ap-new{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:center;margin:0 var(--gut) clamp(40px,5vw,72px);padding:clamp(18px,2.6vw,32px);border:3px solid var(--ink);background:var(--surface);box-shadow:8px 8px 0 var(--x-blue);position:relative}
.ap-new>*{min-width:0}
.ap-new-c{display:block;text-decoration:none;transform:rotate(-1.6deg)}
.ap-new-c span{display:block;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;box-shadow:6px 6px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.ap-new-c:hover span{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--x-blue)}
.ap-new-c span>*{width:100%;height:100%;object-fit:cover;display:block}
.ap-stamp{display:inline-block;background:var(--x-tape);color:#000;border:3px solid #000;padding:2px 14px;font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.2rem;transform:rotate(-3deg);margin-bottom:14px}
.ap-new h2{font-size:clamp(2.4rem,6vw,5rem);font-weight:700;overflow-wrap:anywhere}
.ap-new h2 a{text-decoration:none}
.ap-new h2 a:hover{background:var(--x-blue);color:#fff}
.ap-new .c-count{line-height:1.5}

.ap-note{position:relative;border:3px solid var(--ink);background:var(--surface);padding:clamp(18px,2.4vw,28px);box-shadow:6px 6px 0 var(--ink);transform:rotate(.5deg)}
.ap-note::before{content:"";position:absolute;top:-14px;left:28px;width:92px;height:26px;background:var(--x-tape);transform:rotate(-4deg);opacity:.92}
.ap-note .r-bio{font-family:var(--typed);font-size:1rem;line-height:1.6}
.hm .about .soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

.ap-disc{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:clamp(22px,2.6vw,34px) clamp(14px,1.8vw,24px)}
.ap-sl{display:grid;gap:4px;align-content:start;text-decoration:none;min-width:0}
.ap-sc{position:relative;display:block;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;box-shadow:6px 6px 0 var(--ink);transition:transform .15s,box-shadow .15s;margin-bottom:10px}
.ap-sc>img,.ap-sc>svg,.ap-sc>span{width:100%;height:100%;object-fit:cover;display:block}
.ap-sc i{position:absolute;left:0;bottom:0;background:var(--x-tape);color:#000;border-top:3px solid #000;border-right:3px solid #000;padding:2px 10px;font-style:normal;font-weight:800;font-size:.85rem}
.ap-sl:hover .ap-sc{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--x-blue)}
.ap-sl strong{font-family:var(--poster);text-transform:uppercase;font-size:1.3rem;font-weight:700;line-height:1;overflow-wrap:anywhere}
.ap-sl small{font-family:var(--typed);font-size:.9rem;color:var(--ink-soft)}

@media (max-width:860px){
  .hm section.ap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-stats>div:nth-child(3){margin-left:0}
  .ap-stats>div:nth-child(n+3){margin-top:-3px}
  .hm section.ap-new{grid-template-columns:minmax(0,1fr)}
  .ap-new-c{max-width:260px}
}
@media (max-width:520px){
  .ap-disc{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .ap-new-c:hover span,.ap-sl:hover .ap-sc{transform:none}
}

/* концерты артиста: билет на всю ширину (общие .tk/.tix из pages.css не используются) */
.ap-gigs{display:grid;gap:16px}
.ap-tk{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;border:3px solid var(--ink);background:var(--surface);text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.ap-tk:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--x-blue)}
.ap-tk-d{padding:14px clamp(16px,2.4vw,32px);border-right:3px dashed var(--ink);text-align:center;font-family:var(--poster);text-transform:uppercase;line-height:.9;display:grid;align-content:center;gap:4px}
.ap-tk-d b{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:700}
.ap-tk-d span{font-size:1.1rem;font-weight:500}
.ap-tk-i{padding:14px clamp(14px,2vw,26px);display:grid;gap:6px;align-content:center;min-width:0}
.ap-tk-i strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:700;line-height:1;overflow-wrap:anywhere}
.ap-tk-i small{font-family:var(--typed);font-size:.95rem;color:var(--ink-soft)}
.ap-tk-p{padding:0 clamp(14px,2vw,26px);display:grid;place-content:center;font-family:var(--typed);font-weight:500;white-space:nowrap;border-left:3px dashed var(--ink)}
@media (max-width:700px){
  .ap-tk{grid-template-columns:auto minmax(0,1fr)}
  .ap-tk-p{grid-column:1/-1;border-left:0;border-top:3px dashed var(--ink);padding:10px 16px;place-content:start}
}
@media (prefers-reduced-motion:reduce){.ap-tk:hover{transform:none}}
.ap-new .ap-when{font-family:var(--typed);font-weight:500;font-size:1.05rem;margin-bottom:6px}

/* «Новое» на странице артиста, вторая версия */
.hm section.ap-new{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start}
.ap-new-c{margin-top:6px}
.ap-new-b{display:grid;gap:clamp(14px,1.8vw,22px);justify-items:start;min-width:0}
.ap-new .ap-stamp{margin-bottom:0}
.ap-new h2{line-height:1;padding:.04em 0 .1em;margin:0;text-shadow:.04em .035em 0 var(--x-blue)}
.ap-new h2 a:hover{text-shadow:none}
.ap-meta{display:flex;flex-wrap:wrap;margin:0;border:3px solid var(--ink);background:var(--paper)}
.ap-meta>div{display:grid;gap:2px;padding:10px 18px;border-left:3px dashed var(--ink)}
.ap-meta>div:first-child{border-left:0}
.ap-meta dt{font-family:var(--typed);font-size:.85rem;color:var(--ink-soft)}
.ap-meta dd{margin:0;font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.35rem;line-height:1.1}
.ap-new .h-cta{margin-top:0}
.ap-new-t{width:100%}
@media (max-width:860px){
  .hm section.ap-new{grid-template-columns:minmax(0,1fr)}
  .ap-meta>div{flex:1 1 40%}
  .ap-meta>div:nth-child(odd){border-left:0}
  .ap-meta>div:nth-child(n+3){border-top:3px dashed var(--ink)}
}

/* баннер и сообщение артиста */
.ap-banner{position:relative;margin:clamp(10px,2vw,20px) var(--gut) 0;z-index:0}
.ap-bn-i{display:block;aspect-ratio:16/5;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:var(--surface);overflow:hidden}
.ap-banner img{display:block;width:100%;height:100%;object-fit:cover}
.ap-banner::before,.ap-banner::after{content:"";position:absolute;top:-14px;width:110px;height:28px;background:var(--x-tape);opacity:.92;z-index:2}
.ap-banner::before{left:clamp(16px,4vw,56px);transform:rotate(-5deg)}
.ap-banner::after{right:clamp(16px,4vw,56px);transform:rotate(4deg)}
.ap-top.has-bn{padding-top:0!important;align-items:start}
.ap-top.has-bn .p-info{padding-top:clamp(20px,3vw,36px)}
.ap-top.has-bn .pl-deck{margin-top:calc(-1 * clamp(70px,11vw,170px));z-index:3;background:var(--paper)}
.hm aside.ap-notice{display:flex;align-items:flex-start;gap:clamp(14px,2vw,22px);margin:0 var(--gut) clamp(32px,4vw,56px)}
.ap-nav{flex:none;width:clamp(52px,7vw,76px);aspect-ratio:1;border:3px solid var(--ink);border-radius:50%;overflow:hidden;background:var(--surface);box-shadow:4px 4px 0 var(--x-blue)}
.ap-nav>*{width:100%;height:100%;object-fit:cover;display:block}
.ap-bub{position:relative;display:grid;gap:8px;justify-items:start;min-width:0;max-width:min(100%,760px);padding:clamp(14px,2vw,22px) clamp(16px,2.4vw,28px);background:var(--surface);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.ap-bub::before{content:"";position:absolute;left:-12px;top:22px;width:20px;height:20px;background:var(--surface);border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}
.ap-bub strong{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.1rem;line-height:1}
.ap-bub p{font-family:var(--typed);font-weight:500;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.5;overflow-wrap:anywhere}
.ap-bub .btn{margin-top:4px;padding:10px 20px}
@media (max-width:860px){
  .ap-top.has-bn .pl-deck{margin-top:calc(-1 * clamp(50px,14vw,90px));max-width:300px}
  .ap-bn-i{box-shadow:6px 6px 0 var(--ink)}
}
@media (max-width:520px){
  .hm aside.ap-notice{flex-direction:column;gap:12px}
  .ap-bub::before{left:22px;top:-12px;transform:rotate(135deg)}
}

/* «Новое»: шапка блока сверху, треки на всю ширину в две колонки */
.hm section.ap-new{align-items:center}
.ap-new-t{grid-column:1/-1;width:100%}
.ap-new-t .tracks{columns:2;column-gap:clamp(20px,3vw,44px)}
.ap-new-t .tracks li{break-inside:avoid}
@media (max-width:860px){.ap-new-t .tracks{columns:1}}
.ap-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:3px;background:var(--ink);border:3px solid var(--ink);width:min(100%,640px)}
.ap-meta>div,.ap-meta>div:first-child{background:var(--paper);border:0;margin:0}
@media (max-width:860px){.ap-meta>div{flex:none}.ap-meta>div:nth-child(n+3){border-top:0}}
.tabs[hidden]{display:none}

/* шапка артиста одним блоком: пунктирная рамка, баннер, имя с кнопками, аватарка сбоку, цифры */
.hm section.ap-card{margin:clamp(10px,2vw,20px) var(--gut) clamp(32px,4vw,56px);padding:0;border:3px dashed var(--ink);background:var(--surface);display:grid}
.ap-card .ap-banner{margin:clamp(12px,1.6vw,20px) clamp(12px,1.6vw,20px) 0}
.ap-card .ap-banner::before,.ap-card .ap-banner::after{display:none}
.ap-card .ap-bn-i{box-shadow:none}
.ap-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(20px,3vw,40px)}
.ap-main>*{min-width:0}
.ap-card .r-title{font-size:clamp(3rem,8.5vw,7.5rem)}
.ap-card .ap-ava{margin:0;transform:rotate(1.4deg);max-width:300px;width:100%;justify-self:center;align-self:center;box-shadow:8px 8px 0 var(--x-blue)}
.ap-lis{margin-top:clamp(14px,2vw,22px);font-family:var(--typed);font-size:1rem;color:var(--ink-soft)}
.ap-lis b{font-family:var(--poster);font-weight:700;font-size:1.6rem;color:var(--ink);margin-right:4px}
.ap-card .ap-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px dashed var(--ink);background:none;margin:0;padding:0}
.ap-card .ap-stats>div{border:0;border-left:3px dashed var(--ink);margin:0;background:none;padding:clamp(14px,2vw,24px) clamp(14px,2vw,28px)}
.ap-card .ap-stats>div:first-child{border-left:0}
@media (max-width:860px){
  .ap-main{grid-template-columns:minmax(0,1fr)}
  .ap-card .ap-ava{order:-1;max-width:220px}
  .ap-card .ap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-card .ap-stats>div:nth-child(odd){border-left:0}
  .ap-card .ap-stats>div:nth-child(n+3){border-top:3px dashed var(--ink)}
}
/* баннер натянут на весь блок артиста */
.ap-card{position:relative;isolation:isolate;overflow:hidden}
.ap-card.has-bn .ap-banner{position:absolute;inset:0;margin:0;z-index:-2}
.ap-card.has-bn .ap-bn-i{position:absolute;inset:0;aspect-ratio:auto;border:0;box-shadow:none;background:none}
.ap-card.has-bn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--paper) 0%,color-mix(in srgb,var(--paper) 88%,transparent) 38%,color-mix(in srgb,var(--paper) 35%,transparent) 68%,transparent 100%)}
.ap-card.has-bn .ap-stats{background:color-mix(in srgb,var(--paper) 90%,transparent)}
.ap-card.has-bn .ap-tags span:last-child{background:var(--paper)}
@media (max-width:860px){
  .ap-card.has-bn::before{background:color-mix(in srgb,var(--paper) 78%,transparent)}
}.ap-meta>div:last-child:nth-child(odd){grid-column:1/-1}

/* ---------- Страница артиста: телефон ---------- */
@media (max-width:600px){
  body[data-page=artist] .hm section{padding-top:30px;padding-bottom:30px}
  .hm section.ap-card,.hm section.ap-new{padding:0}
  .hm section.ap-card{margin-top:8px;margin-bottom:28px}

  /* шапка: аватарка рядом с именем, кнопки на всю ширину */
  .ap-main{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"ava t" "ava g" "c c" "l l";gap:10px 14px;padding:16px;align-items:center}
  .ap-main .p-info{display:contents}
  .ap-card .r-title{grid-area:t;align-self:end;font-size:clamp(2.3rem,12.5vw,3.3rem);line-height:.9}
  .ap-card .ap-tags{grid-area:g;margin:0;align-self:start;gap:6px 8px}
  .ap-tags span{font-size:.85rem;padding:2px 10px}
  .ap-card .ap-ava{grid-area:ava;order:0;max-width:92px;padding:6px;transform:rotate(-2.5deg);box-shadow:4px 4px 0 var(--x-blue);align-self:center}
  .ap-card .ap-ava::before{width:52px;height:15px;top:-9px}
  .ap-main .h-cta{grid-area:c;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 0}
  .ap-main .h-cta .btn{padding:12px 8px;font-size:.95rem;justify-content:center;width:100%}
  .ap-main .h-cta #playAll{grid-column:1/-1;padding:15px 10px;font-size:1.1rem}
  .ap-lis{grid-area:l;margin:2px 0 0;font-size:.9rem}
  .ap-lis b{font-size:1.35rem}
  .ap-card .ap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-card .ap-stats>div{padding:12px 16px;gap:2px}
  .ap-card .ap-stats>div:nth-child(odd){border-left:0}
  .ap-card .ap-stats>div:nth-child(even){border-left:3px dashed var(--ink)}
  .ap-card .ap-stats>div:nth-child(n+3){border-top:3px dashed var(--ink)}
  .ap-stats b{font-size:2rem;white-space:nowrap}
  .ap-stats span{font-size:.85rem}

  /* сообщение артиста */
  .hm aside.ap-notice{margin-bottom:28px}

  /* «Новое»: обложка и название в одной строке */
  .hm section.ap-new{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"cv st" "cv h" "m m" "b b" "t t";gap:12px 14px;padding:16px;margin-bottom:28px;box-shadow:6px 6px 0 var(--x-blue)}
  .ap-new-c{grid-area:cv;max-width:none;align-self:start}
  .ap-new-b{display:contents}
  .ap-new .ap-stamp{grid-area:st;align-self:end;justify-self:start;font-size:1rem;padding:1px 10px}
  .ap-new h2{grid-area:h;font-size:clamp(1.8rem,9vw,2.4rem);align-self:start}
  .ap-meta{grid-area:m;grid-template-columns:1fr 1fr;width:100%}
  .ap-meta dd{font-size:1.1rem}
  .ap-new .h-cta{grid-area:b;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;width:100%}
  .ap-new .h-cta .btn{padding:12px 8px;font-size:.95rem;justify-content:center}
  .ap-new-t{grid-area:t}

  .ap-sc{box-shadow:5px 5px 0 var(--ink)}

  /* билеты на концерты */
  .ap-tk-d b{font-size:2.4rem}
  .ap-tk-d{padding:10px 14px}
}
@media (max-width:360px){
  .ap-main{grid-template-columns:76px minmax(0,1fr)}
  .ap-card .ap-ava{max-width:76px}
  .hm section.ap-new{grid-template-columns:84px minmax(0,1fr)}
}

/* ---------- Страница артиста: клавиатура и мелочи ---------- */
.ap-sl:focus-visible,.ap-new-c:focus-visible,.ap-tk:focus-visible,.ap-new h2 a:focus-visible{outline:3px solid var(--x-blue);outline-offset:4px}
.ap-lis b{font-variant-numeric:tabular-nums}
.ap-stats b{font-variant-numeric:tabular-nums}
.ap-card .btn:focus-visible{outline:3px solid var(--x-blue);outline-offset:3px}
@media (hover:none){
  .ap-sl:hover .ap-sc,.ap-new-c:hover span,.ap-tk:hover{transform:none;box-shadow:inherit}
}

/* ---------- Главная: телефон ---------- */
@media (max-width:600px){
  body[data-page=home] .hm section{padding-top:34px;padding-bottom:34px}
  body[data-page=home] .h-head{flex-wrap:wrap;gap:2px 16px;align-items:baseline}
  body[data-page=home] .h-head h2{font-size:clamp(2.2rem,11vw,3rem)}
  body[data-page=home] .h-head a{font-size:.95rem;text-decoration:underline;text-underline-offset:3px}
  body[data-page=home] .h-two .h-head h2{font-size:clamp(2.2rem,11vw,3rem)}

  /* первый экран: заголовок, кнопки, колода «сейчас играет» помещаются на экран */
  .h-hero{gap:22px;padding-top:6px!important;padding-bottom:40px!important}
  .h-hero .h-title{font-size:clamp(3.6rem,19vw,5rem);line-height:.84}
  .h-hero .h-lead{font-size:1.05rem;margin-top:14px;max-width:none}
  .h-hero .h-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
  .h-hero .h-cta .btn{padding:14px 8px;font-size:.95rem;justify-content:center;width:100%}
  .h-hero .h-cta .btn[hidden]+.btn,.h-hero .h-cta:has(.btn[hidden]){grid-template-columns:1fr}
  .deck{transform:none;max-width:none;padding:12px;gap:10px 12px;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"cv row" "cv wave" "q q";box-shadow:6px 6px 0 var(--x-blue)}
  .deck::before{width:70px;height:20px;top:-11px}
  .deck-cv{grid-area:cv;align-self:start}
  .deck-row{grid-area:row;gap:10px;align-self:end}
  .deck-go{width:48px;height:48px}
  .deck-go svg{width:20px;height:20px}
  .deck-t strong{font-size:1.25rem}
  .deck-t small{font-size:.9rem}
  .deck-wave{grid-area:wave;height:28px;align-self:start}
  .deck-q{grid-area:q}
  .dq:nth-child(n+4){display:none}
  .deck-empty{aspect-ratio:auto;grid-column:1/-1;padding:18px}

  .sl-c{box-shadow:5px 5px 0 var(--ink)}
  .sl strong,.sl:first-child strong{font-size:1.2rem}

  /* чарт, афиша, артисты */
  .h-chart{padding:4px 8px}
  .tk-d{padding:10px 14px}
  .tk-d b{font-size:2.4rem}
  .h-wall .ar h3{font-size:clamp(2.2rem,12vw,3.4rem)}

  /* финальный блок */
  .h-band{gap:28px}
  .h-band h2{font-size:clamp(2.8rem,15vw,4rem)}
  .h-band .h-cta{display:grid;grid-template-columns:1fr;gap:10px}
  .h-band .h-cta .btn{justify-content:center;width:100%}
  .h-plus{transform:none;padding:20px}
}
@media (max-width:360px){
  .deck{grid-template-columns:80px minmax(0,1fr)}
}
@media (max-width:600px){
  .h-hero .deck{max-width:none;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"cv row" "cv wave" "q q";gap:10px 12px;align-items:center}
  .h-hero .deck-cv{grid-area:cv;align-self:start;aspect-ratio:1}
  .h-hero .deck-row{grid-area:row;flex-wrap:nowrap;gap:10px}
  .h-hero .deck-t strong{font-size:1.2rem}
  .h-hero .deck-wave{grid-area:wave}
}
@media (max-width:360px){.h-hero .deck{grid-template-columns:80px minmax(0,1fr)}}
@media (max-width:600px){
}
@media (max-width:600px){
  .h-wall .ar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"h h" "m f";gap:8px 12px;align-items:center}
  .h-wall .ar h3{grid-area:h;overflow-wrap:anywhere}
  .h-wall .ar .ar-meta{grid-area:m;display:grid;gap:0;min-width:0}
  .h-wall .ar .follow{grid-area:f;padding:8px 14px;font-size:.9rem;justify-self:end}
}

/* шапка на средних ширинах: пункты не переносятся, «Войти» не выпадает за край */
@media (min-width:901px) and (max-width:1100px){
  body:has(.hm) .nav{gap:14px}
  body:has(.hm) .nav-links{gap:2px}
  body:has(.hm) .nav-links a{white-space:nowrap;padding:6px 6px;font-size:.95rem}
  body:has(.hm) .nav-end{gap:6px}
  body:has(.hm) .nav .icon-btn{width:42px;height:42px}
  body:has(.hm) .nav .btn{padding:9px 14px;font-size:1rem}
}


/* ---------- Исправления: без свайпов, ничего не выходит за край ---------- */
.h-hero>*,.h-two>*,.h-band>*,.ap-main>*{min-width:0}
.deck>*{min-width:0}
.deck-wave{overflow:hidden;min-width:0;gap:2px}
.deck-wave i{min-width:1px}
.dq{grid-template-columns:2ch minmax(0,1fr) auto}
.h-hero .deck-t{min-width:0}
@media (max-width:860px){
  .h-hero,.h-two,.h-band{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  /* релизы: две колонки, первый на всю ширину */
  .sleeves{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .sleeves .sl:first-child{grid-column:1/-1;grid-row:auto}
  .sl-c{box-shadow:5px 5px 0 var(--ink)}
  .sl strong,.sl:first-child strong{font-size:1.2rem}
  .sl:first-child strong{font-size:1.7rem}
  /* подборки столбиком */
  .h-two .stk-list{gap:14px}
  /* чарт и любые списки не шире экрана */
  .h-chart,.h-chart .tracks,.h-chart .trow{max-width:100%;min-width:0}
  .h-chart .trow{gap:10px;padding:10px 6px}
  .h-chart .tt strong{font-size:1rem}
  /* дискография артиста: две колонки */
  .ap-disc{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .ap-sc{box-shadow:5px 5px 0 var(--ink)}
}@media (max-width:380px){
  .h-chart .trow{gap:8px;padding:10px 4px}
  .h-chart .trow .tc{width:40px;height:40px;flex:none}
  .h-chart .trow .td{flex-basis:38px;font-size:.85rem}
  .h-chart .trow .num{min-width:1.2ch}
}
@media (max-width:380px){
  .h-chart .trow .tc{display:none}
  .h-chart .trow .tt{flex:1 1 0;min-width:0}
}
@media (max-width:600px){.h-head{flex-wrap:wrap;gap:2px 16px}.h-head .c-note{white-space:normal}}


/* ---------- Каталог: обозреватель ---------- */
.cb-hero{padding-bottom:clamp(20px,3vw,36px)!important}
.hm section.cb{padding-top:0}
.cb-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:clamp(16px,2.4vw,26px)}
.cb-tab{display:flex;align-items:baseline;gap:10px;padding:10px clamp(16px,2.4vw,30px);border:3px solid var(--ink);margin-left:-3px;background:none;color:var(--ink);font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:clamp(1.3rem,3vw,2rem);line-height:1;cursor:pointer}
.cb-tab:first-child{margin-left:0}
.cb-tab b{font-family:var(--typed);font-weight:500;font-size:.85rem;color:var(--ink-soft)}
.cb-tab:hover{background:var(--surface)}
.cb-tab[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--x-blue);position:relative;z-index:1}
.cb-tab[aria-pressed=true] b{color:inherit}
.cb-tab:focus-visible,.cb-f select:focus-visible,.cb-ar:focus-visible{outline:3px solid var(--x-blue);outline-offset:3px}

.cb-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px clamp(16px,3vw,40px);align-items:start;padding:clamp(14px,2vw,20px);border:3px dashed var(--ink);background:var(--surface)}
.cb-chips{display:flex;flex-wrap:wrap;gap:8px}
.cb-chips .chip{font-size:.95rem}
.cb-chips .chip sup{font-family:var(--typed);font-size:.7rem;margin-left:2px;opacity:.7}
.cb-chips .chip:disabled{opacity:.35;cursor:default}
.cb-sel{display:flex;gap:12px;flex-wrap:wrap}
.cb-f{display:grid;gap:4px;font-family:var(--typed);font-size:.85rem;color:var(--ink-soft)}
.cb-f select{appearance:none;-webkit-appearance:none;min-width:180px;padding:9px 38px 9px 12px;border:3px solid var(--ink);border-radius:0;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23888' stroke-width='2.6'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--ink);font:500 1rem var(--typed);cursor:pointer}
.cb-f select:hover{box-shadow:3px 3px 0 var(--x-blue)}
.cb-sum{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap;margin:clamp(16px,2.4vw,24px) 0 clamp(14px,2vw,20px);font-family:var(--typed);font-size:1rem}
.cb-sum span{font-weight:500}
.cb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:clamp(24px,3vw,38px) clamp(14px,2vw,24px)}
.cb-ars{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.cb-ar{display:grid;gap:4px;align-content:start;text-decoration:none;padding:12px;border:3px solid var(--ink);background:var(--surface);box-shadow:5px 5px 0 var(--ink);min-width:0;transition:transform .15s,box-shadow .15s}
.cb-ar:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--x-blue)}
.cb-ar-c{display:block;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;margin-bottom:8px}
.cb-ar-c>*{width:100%;height:100%;object-fit:cover;display:block}
.cb-ar strong{font-family:var(--poster);text-transform:uppercase;font-size:1.5rem;font-weight:700;line-height:1;overflow-wrap:anywhere}
.cb-ar small{font-family:var(--typed);font-size:.9rem;color:var(--ink-soft)}
.cb-ar em{font-style:normal;font-family:var(--typed);font-size:.85rem;margin-top:4px}
.cb-more{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-top:clamp(24px,3vw,40px)}
.cb-more span{font-family:var(--typed);color:var(--ink-soft)}
@media (max-width:860px){
  .cb-bar{grid-template-columns:minmax(0,1fr)}
  .cb-sel{display:grid;grid-template-columns:1fr 1fr}
  .cb-f select{min-width:0;width:100%}
}
@media (max-width:600px){
  .cb-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .cb-tab{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 10px;font-size:1.15rem}
  .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-ars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-ar{padding:8px}
  .cb-ar strong{font-size:1.15rem}
  .cb-more .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.cb-ar:hover{transform:none}}


/* ---------- Подборки ---------- */
.pc-mos{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:1;width:100%}
.pc-mos span{position:relative;display:block;overflow:hidden;min-width:0;min-height:0}
.pc-mos span>*{width:100%;height:100%;object-fit:cover;display:block}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:clamp(26px,3vw,40px) clamp(16px,2.2vw,28px);margin-top:clamp(24px,3vw,36px)}
.pl-feat+.pc-grid{margin-top:clamp(32px,4vw,52px)}
.pc{display:grid;gap:12px;align-content:start;min-width:0}
.pc-top{position:relative}
.pc-cv{display:block;position:relative;padding:5px;border:3px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.pc:hover .pc-cv{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--x-blue)}
.pc.is-on .pc-cv{box-shadow:6px 6px 0 var(--x-blue)}
.pc-mood{position:absolute;left:-10px;top:14px;z-index:2;background:var(--x-tape);color:#000;border:3px solid #000;padding:1px 12px;font-weight:800;font-size:.9rem;transform:rotate(-4deg);max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-play{position:absolute;right:-8px;bottom:-8px;z-index:3;width:54px;height:54px;border-radius:50%;background:var(--x-tape);color:#000;border:3px solid #000;display:grid;place-items:center;cursor:pointer;transition:transform .15s}
.pc-play:hover{transform:scale(1.08)}
.pc-play svg{width:22px;height:22px}
.pc-play:disabled{opacity:.4;cursor:default;transform:none}
.pc-play:focus-visible,.pc-save:focus-visible,.pc-cv:focus-visible{outline:3px solid var(--x-blue);outline-offset:3px}
.pc-t{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}
.pc-t>div{display:grid;gap:3px;min-width:0}
.pc-t strong{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.5rem;line-height:1;overflow-wrap:anywhere}
.pc-t strong a{text-decoration:none}
.pc-t strong a:hover{background:var(--x-blue);color:#fff}
.pc-t small{font-family:var(--typed);font-size:.9rem;color:var(--ink-soft)}
.pc-save{flex:none;width:40px;height:40px;display:grid;place-items:center;border:3px solid var(--ink);background:none;color:var(--ink);cursor:pointer}
.pc-save:hover{background:var(--ink);color:var(--paper)}
.pc-save[aria-pressed=true]{background:var(--x-tape);color:#000;border-color:#000}
.pc-save svg{width:18px;height:18px}
.pl-feat{margin-top:0}
.pl-feat .pf-cv{position:relative;padding:6px;border:3px solid var(--ink);background:var(--paper);transition:transform .15s}
.pl-feat .pf-cv .pc-mood{left:-12px}
.pl-feat.is-on .pf-cv{box-shadow:6px 6px 0 var(--x-blue)}
.cb-f input{min-width:200px;padding:9px 12px;border:3px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font:500 1rem var(--typed)}
.cb-f input:hover{box-shadow:3px 3px 0 var(--x-blue)}
.cb-f input:focus-visible{outline:3px solid var(--x-blue);outline-offset:3px}
.pl-desc{margin-top:clamp(12px,1.6vw,18px);max-width:52ch;font-size:1.1rem;line-height:1.45}
.ap-card .ap-ava .pc-mos{border:0}
.ap-card .ap-ava.pl-deck{padding:8px}
.ap-stats.s3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pl-hero .c-count{margin-top:12px}
@media (max-width:860px){
  .cb-f input{min-width:0;width:100%}
}
@media (max-width:600px){
  .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
  .pc-t strong{font-size:1.15rem}
  .pc-t small{font-size:.8rem}
  .pc-play{width:44px;height:44px;right:-6px;bottom:-6px}
  .pc-play svg{width:18px;height:18px}
  .pc-save{width:34px;height:34px}
  .pc-mood{font-size:.75rem;padding:0 8px;left:-8px}
  .pl-desc{font-size:1rem}
  .ap-stats.s3 b{font-size:1.6rem}
}
@media (hover:none){.pc:hover .pc-cv{transform:none;box-shadow:6px 6px 0 var(--ink)}}
@media (prefers-reduced-motion:reduce){.pc:hover .pc-cv,.pc-play:hover{transform:none}}
.ap-card .ap-stats.s3>div,.ap-card .ap-stats.s3>div:nth-child(odd),.ap-card .ap-stats.s3>div:nth-child(even),.ap-card .ap-stats.s3>div:nth-child(n+3){border-top:0;border-left:3px dashed var(--ink)}
.ap-card .ap-stats.s3>div:first-child{border-left:0}
@media (max-width:600px){.ap-card .ap-stats.s3>div{padding:12px 10px}.ap-stats.s3 span{font-size:.75rem}}
@media (max-width:600px){
  .cb-bar{padding:12px;gap:10px}
  .cb-chips{gap:6px}
  .cb-chips .chip{font-size:.85rem;padding:5px 10px}
  .cb-f select,.cb-f input{padding:8px 10px;font-size:.95rem}
}

/* названия в шапке не рвутся посреди слова; длинные чуть мельче */
.ap-card .r-title{overflow-wrap:break-word;hyphens:manual}
@media (max-width:600px){
  .ap-card .r-title.long{font-size:clamp(1.9rem,9.6vw,2.7rem);line-height:.92}
  .ap-main .h-cta:has(#shuf) #share{grid-column:1/-1}
  .ap-lis.by b{font-size:1.1rem}
}
.ap-lis.by a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){
  .ap-main:has(.pl-desc){grid-template-areas:"ava t" "ava g" "d d" "c c" "l l"}
  .ap-main .pl-desc{grid-area:d;margin:2px 0 4px;max-width:none}
}

/* ===== Кабинет артиста: общий каркас и обзор ===== */
.hm .st{grid-template-columns:260px minmax(0,1fr);gap:clamp(20px,3.4vw,52px);padding-top:clamp(14px,2.4vw,30px);padding-bottom:clamp(40px,6vw,80px)}
.hm .st-nav{top:16px;gap:14px;padding:16px;border:3px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--x-blue)}
.hm .st-me{gap:12px;padding-bottom:14px;border-bottom:3px dashed var(--ink)}
.hm .st-me .cover{width:56px;height:56px;border-radius:0;border:3px solid var(--ink)}
.hm .st-me strong{font-family:var(--poster);font-weight:700;font-size:1.3rem;text-transform:uppercase;line-height:1;overflow-wrap:anywhere}
.hm .st-me small{font-family:var(--typed);font-size:.78rem}
.hm .sd-up{justify-content:center;text-align:center}
.hm .st-nav nav{gap:6px}
.hm .st-nav nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:0;border:3px solid transparent;padding:9px 12px;font-family:var(--typed);font-size:.92rem;font-weight:500}
.hm .st-nav nav a:hover{border-color:var(--ink);background:none}
.hm .st-nav nav a[aria-current=page]{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--x-tape)}
.sd-nb{font-style:normal;font-family:var(--typed);font-size:.78rem;min-width:22px;text-align:center;padding:1px 6px;background:var(--x-tape);color:#000;border:2px solid #000}
.sd-nb.bad{background:var(--pink)}
.hm .st-head h1,.hm .st-main h1{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;line-height:.92}
.hm .st-sec h2,.hm .up-sec h2{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:clamp(1.5rem,3vw,2.1rem);padding-bottom:8px;border-bottom:3px solid var(--ink)}
.hm .st-h2{border-bottom:3px solid var(--ink);margin-bottom:14px}
.hm .st-h2 h2{border:0;padding:0;margin:0}
.hm .tbl,.hm .kpis,.hm .chart-wrap,.hm .empty{border-radius:0}
.hm .empty{border:3px dashed var(--ink);background:var(--surface)}
.hm .kpis{border:3px solid var(--ink);background:var(--surface)}
.hm .kpi strong{font-family:var(--poster);font-weight:700}
.hm .tops{border-top:3px solid var(--ink)}
.hm .tops .num{font-family:var(--poster)}
.hm .chart-wrap{border:3px solid var(--ink)}

.sd{gap:clamp(18px,2.6vw,30px)}
.sd-hero.ap-card{margin:0;padding:0;border:3px dashed var(--ink);background:var(--surface);display:block}
.sd-hero-in{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;padding:clamp(18px,3vw,36px)}
.sd-hero-t{min-width:0;flex:1 1 320px}
.sd-hero h1{font-size:clamp(2.6rem,7vw,5.6rem);overflow-wrap:anywhere}
.sd-hero h1.long{font-size:clamp(2.2rem,5.4vw,4.2rem)}
.sd-sub{font-family:var(--typed);margin-top:10px;color:var(--ink-soft)}
.sd-state{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sd-hero .h-cta{margin:0}
.sd-flag{font-family:var(--typed);font-size:.82rem;padding:3px 10px;border:2px solid var(--ink);background:var(--paper);text-decoration:none;color:var(--ink)}
.sd-flag.wait{background:var(--x-tape);color:#000;border-color:#000}
.sd-flag.bad{background:var(--pink);color:#000;border-color:#000}

.sd-bar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sd-per.tabs{margin:0}
.sd-live{font-family:var(--typed);font-size:.82rem;padding:3px 10px;background:var(--mint);color:#000;border:2px solid #000;animation:sdLive 2.5s both}
@keyframes sdLive{0%{transform:translateY(4px);opacity:0}12%,85%{transform:none;opacity:1}100%{opacity:0}}
.sd-ks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.sd-k{display:grid;gap:6px;align-content:start;padding:clamp(14px,2vw,22px);border:3px solid var(--ink);margin-left:-3px;background:var(--surface);min-width:0}
.sd-k:first-child{margin-left:0}
.sd-k:nth-child(2n){background:var(--paper)}
.sd-k span{font-family:var(--typed);font-size:.9rem;color:var(--ink-soft)}
.sd-k b{font-family:var(--poster);font-weight:700;font-size:clamp(2rem,4.4vw,3.6rem);line-height:.9;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.sd-d{font-style:normal;font-family:var(--typed);font-size:.82rem;color:var(--ink-soft);width:fit-content}
.sd-d.up{color:#0B7A4B;font-weight:500}
.sd-d.down{color:#C2275A;font-weight:500}
:root[data-theme=dark] .sd-d.up{color:#6FE8B4}
:root[data-theme=dark] .sd-d.down{color:#FF8DB8}

.sd-sec{display:grid;gap:14px;align-content:start;min-width:0}
.sd-sec h2{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;padding-bottom:8px;border-bottom:3px solid var(--ink)}
.sd-chart{padding:clamp(14px,2vw,24px);border:3px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--x-blue)}
.sd-ch-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sd-ch-h h2{border:0;padding:0}
.sd-ch-h .tabs{margin:0}
.sd-rd{font-family:var(--typed);min-height:1.6em;color:var(--ink-soft)}
.sd-rd b{color:var(--ink)}
.sd-plot-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.sd-y{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-family:var(--typed);font-size:.74rem;color:var(--ink-soft);height:clamp(180px,26vw,260px)}
.sd-plot{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:end;gap:clamp(1px,.25vw,4px);height:clamp(180px,26vw,260px);border-bottom:3px solid var(--ink);background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 50%}
.sd-bar{height:var(--h);min-height:2px;background:var(--ink);border:0;padding:0;cursor:pointer;min-width:0}
.sd-bar:hover,.sd-bar.is-on{background:var(--x-blue)}
.sd-bar.is-best{background:var(--x-tape);box-shadow:inset 0 0 0 2px #000}
.sd-bar.is-today{background:repeating-linear-gradient(135deg,var(--ink) 0 3px,transparent 3px 6px)}
.sd-bar:focus-visible{outline:3px solid var(--x-blue);outline-offset:2px}
.sd-x{display:flex;justify-content:space-between;font-family:var(--typed);font-size:.74rem;color:var(--ink-soft);margin:8px 0 0 calc(2.8ch + 10px)}
.sd-none{display:grid;gap:8px;justify-items:start;padding:clamp(18px,3vw,32px);border:3px dashed var(--ink);background:var(--surface)}
.sd-none strong{font-family:var(--poster);text-transform:uppercase;font-size:1.5rem;line-height:1}
.sd-none span{color:var(--ink-soft);max-width:52ch}

.sd-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.sd-top{list-style:none;padding:0;display:grid}
.sd-top li{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0 16px;border-bottom:1px dashed var(--ink)}
.sd-rk{font-family:var(--poster);font-weight:700;font-size:1.5rem;color:var(--x-blue)}
.sd-tt{display:grid;text-decoration:none;color:inherit;min-width:0}
.sd-tt strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-tt small{font-family:var(--typed);font-size:.78rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-pl{display:grid;justify-items:end;gap:2px}
.sd-pl b{font-variant-numeric:tabular-nums}
.sd-fill{grid-column:2/-1;height:8px;background:var(--line);position:relative}
.sd-fill::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ink)}
.sd-top li:first-child .sd-fill::after{background:var(--x-tape);box-shadow:inset 0 0 0 2px #000}
.sd-rels{list-style:none;padding:0;display:grid;gap:10px}
.sd-rels a{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px;border:3px solid var(--ink);background:var(--surface);text-decoration:none;color:inherit}
.sd-rels a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--x-blue)}
.sd-rels .is-wait a{background:color-mix(in srgb,var(--x-tape) 30%,var(--surface))}
.sd-rels .is-bad a{background:color-mix(in srgb,var(--pink) 30%,var(--surface))}
.sd-cv{width:56px;height:56px;overflow:hidden;border:2px solid var(--ink);display:block}
.sd-cv img,.sd-cv>*{width:100%;height:100%;object-fit:cover;display:block}
.sd-ri{display:grid;min-width:0}
.sd-ri strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-ri small{font-family:var(--typed);font-size:.78rem;color:var(--ink-soft)}
.sd-rs{display:grid;justify-items:end;gap:2px}
.sd-rs .status{margin:0}
.sd-todo ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.sd-todo a{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:3px dashed var(--ink);background:var(--surface);text-decoration:none;color:inherit}
.sd-todo a:hover{border-style:solid;box-shadow:4px 4px 0 var(--x-tape)}
.sd-tk{flex:none;width:18px;height:18px;margin-top:2px;border:3px solid var(--ink)}
.sd-todo.is-done{padding:clamp(14px,2vw,22px);border:3px solid var(--ink);background:var(--mint);color:#000}
.sd-todo.is-done h2{border-color:#000}

@media (max-width:900px){
  .hm .st{grid-template-columns:minmax(0,1fr)}
  .hm .st-nav{position:static;box-shadow:4px 4px 0 var(--x-blue)}
  .hm .st-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-ks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-k:nth-child(3){margin-left:0}
  .sd-k:nth-child(n+3){margin-top:-3px}
  .sd-two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .sd-hero .h-cta .btn{flex:1 1 100%;justify-content:center;text-align:center}
  .sd-per{width:100%}
  .sd-per .tab{flex:1;text-align:center}
  .sd-ch-h .tabs{width:100%}
  .sd-ch-h .tab{flex:1;text-align:center;padding-inline:8px}
  .sd-rels a{grid-template-columns:48px minmax(0,1fr)}
  .sd-cv{width:48px;height:48px}
  .sd-rs{grid-column:1/-1;grid-auto-flow:column;justify-content:space-between;align-items:center}
}
@media (prefers-reduced-motion:reduce){.sd-live{animation:none}.sd-rels a:hover{transform:none}}

#sd-body{display:grid;gap:clamp(18px,2.6vw,30px);min-width:0}
.hm section.sd-hero.ap-card{margin:0}

/* Правка кабинета: отступы блоков и цвет пунктов меню */
.hm .st .sd-chart{padding:clamp(18px,2.6vw,32px);gap:clamp(12px,1.6vw,18px)}
.hm .st .sd-todo.is-done{padding:clamp(18px,2.4vw,28px)}
.hm .st .sd-plot-wrap{gap:14px}
.hm .st .sd-y{padding-right:2px}
.hm .st .sd-x{margin-left:calc(3ch + 14px)}
.hm .st-nav nav a:hover{background:var(--x-tape);color:#000;border-color:#000}
.hm .st-nav nav a[aria-current=page]:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hm .st .sd-k{container-type:inline-size}
.hm .st .sd-k b{font-size:clamp(1.7rem,19cqw,3.6rem);white-space:nowrap;overflow-wrap:normal}

/* ===== Кабинет: загрузка, релиз, выплаты ===== */

/* --- загрузка релиза --- */
.hm .up .stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.hm .up .stepper li{display:flex;gap:10px;align-items:center;padding:10px 12px;border:3px solid var(--ink);border-radius:0;margin-left:-3px;background:var(--surface);color:var(--ink-soft);font-family:var(--typed);font-size:.9rem;min-width:0}
.hm .up .stepper li:first-child{margin-left:0}
.hm .up .stepper .sn{flex:none;width:30px;height:30px;border-radius:0;border:3px solid var(--ink);display:grid;place-items:center;font-family:var(--poster);font-size:1.05rem;background:transparent;color:var(--ink)}
.hm .up .stepper li[aria-current=step]{background:var(--x-tape);color:#000;border-color:#000;position:relative;z-index:1;box-shadow:4px 4px 0 var(--ink)}
.hm .up .stepper li[aria-current=step] .sn{background:#000;color:var(--x-tape);border-color:#000}
.hm .up .stepper li.is-done{background:var(--mint);color:#000;border-color:#000}
.hm .up .stepper li.is-done .sn{background:#000;color:var(--mint);border-color:#000}
.hm .up .errsum{border:3px solid #000;border-radius:0;background:var(--pink);color:#000;padding:14px 18px;box-shadow:5px 5px 0 var(--ink)}
.hm .up .errsum strong{font-family:var(--poster);text-transform:uppercase;font-size:1.2rem}

.up-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:clamp(18px,2.6vw,36px);align-items:start}
.up-body{display:grid;gap:clamp(16px,2vw,24px);min-width:0}
.hm .st .up-sec{padding:clamp(16px,2.4vw,28px);border:3px solid var(--ink);background:var(--surface);gap:16px}
.hm .st .up-sec h2{border-bottom:3px solid var(--ink)}
.up-pv{position:sticky;top:16px}
.up-pv-h{font-family:var(--typed);font-size:.82rem;color:var(--ink-soft);margin-bottom:10px}
.pv-card{display:grid;gap:6px;padding:12px;border:3px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--x-blue)}
.pv-c{aspect-ratio:1;border:3px solid var(--ink);background:repeating-linear-gradient(135deg,var(--line) 0 6px,transparent 6px 12px);display:grid;place-items:center;overflow:hidden;color:var(--ink-soft);font-family:var(--typed);font-size:.85rem}
.pv-c img{width:100%;height:100%;object-fit:cover;display:block}
.pv-card strong{font-family:var(--poster);text-transform:uppercase;font-size:1.5rem;line-height:1;overflow-wrap:anywhere;margin-top:4px}
.pv-card strong.is-ph{color:var(--ink-soft)}
.pv-card small{font-family:var(--typed);font-size:.8rem;color:var(--ink-soft)}

.hm .up .drop{border:3px dashed var(--ink);border-radius:0;padding:clamp(24px,4vw,48px);background:repeating-linear-gradient(135deg,transparent 0 14px,var(--line) 14px 15px);gap:8px}
.hm .up .drop:hover,.hm .up .drop.over{background:var(--x-tape);border-color:#000;color:#000}
.hm .up .drop:hover span,.hm .up .drop.over span{color:#000}
.hm .up .drop strong{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:0;line-height:1}
.hm .up .drop span{font-family:var(--typed);font-size:.9rem}
.hm .up .utr{gap:12px}
.hm .up .utr li{border:3px solid var(--ink);border-radius:0;background:var(--paper);padding:12px}
.hm .up .utr .sn{border-radius:0;border:3px solid var(--ink);background:var(--x-tape);color:#000;font-family:var(--poster);font-size:1.1rem;width:40px;height:40px}
.hm .up .utr .empty-li{border:3px dashed var(--ink);background:transparent}
.hm .up .pbar{height:10px;border-radius:0;border:2px solid var(--ink);background:transparent}
.hm .up .pbar span{background:var(--ink)}
.hm .up .cov-prev,.hm .up .rv-c{border-radius:0;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--x-blue)}
.hm .up .opt{border:3px solid var(--ink);border-radius:0;background:var(--paper);padding:16px 18px}
.hm .up .opt:has(input:checked){background:var(--x-tape);color:#000;border-color:#000;box-shadow:5px 5px 0 var(--ink)}
.hm .up .opt:has(input:checked) small{color:#000}
.hm .up .up-nav{border-top:3px dashed var(--ink);padding-top:16px}
.hm .up .rv-d div{border-bottom:1px dashed var(--ink)}
.hm .up .rv-d dd{font-family:var(--typed)}
.hm .up .utr-r li{background:var(--paper)}
.hm .st .done{display:grid;gap:14px;justify-items:start;padding:clamp(22px,4vw,48px);border:3px dashed var(--ink);background:var(--surface)}
.hm .st .done h1{font-size:clamp(2rem,5vw,3.6rem)}
.hm .st .done .tick{display:grid;place-items:center;width:64px;height:64px;border:3px solid #000;border-radius:0;background:var(--mint);color:#000;box-shadow:5px 5px 0 var(--ink)}

/* --- страница релиза --- */
.hm .st .crumb{font-family:var(--typed);font-size:.85rem}
.hm .st .rl-hero{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:center;padding:clamp(18px,3vw,36px);border:3px dashed var(--ink);background:var(--surface)}
.rl-cover{position:relative;aspect-ratio:1;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--x-blue);background:var(--paper)}
.rl-cover::before{content:"";position:absolute;left:50%;top:-14px;width:84px;height:26px;transform:translateX(-50%) rotate(-3deg);background:var(--x-tape);opacity:.9;z-index:1}
.rl-cover>*{width:100%;height:100%;object-fit:cover;display:block}
.rl-info{display:grid;gap:12px;justify-items:start;min-width:0}
.rl-t{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;line-height:.92;font-size:clamp(2.4rem,6vw,5rem);overflow-wrap:anywhere}
.rl-t.long{font-size:clamp(2rem,4.6vw,3.6rem)}
.rl-meta{font-family:var(--typed);color:var(--ink-soft)}
.rl-info .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.sd-ks3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm .st .sd-k b.is-t{font-size:clamp(1.3rem,2.4vw,2rem);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rl-tr{list-style:none;padding:0;display:grid}
.rl-tr li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0 14px;border-bottom:1px dashed var(--ink)}
.rl-n{font-family:var(--poster);font-weight:700;font-size:1.5rem;color:var(--x-blue)}
.rl-tt{display:grid;min-width:0}
.rl-tt strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rl-tt small{font-family:var(--typed);font-size:.78rem;color:var(--ink-soft)}
.rl-pl b{font-variant-numeric:tabular-nums}
.rl-tr .sd-fill{grid-column:2/-1}
.hm .st .tl{border-left:3px solid var(--ink);margin-left:8px}
.hm .st .tl li::before{border-radius:0;border:3px solid var(--ink);background:var(--surface);left:-12px;width:21px;height:21px}
.hm .st .tl li.is-done::before{background:var(--mint)}
.hm .st .tl li.is-cur::before{background:var(--x-tape)}
.hm .st .tl b{font-family:var(--poster);text-transform:uppercase;font-size:1.15rem;font-weight:700}
.hm .st .tl span{font-family:var(--typed);font-size:.85rem}
.hm .st .rej{border:3px solid #000;border-radius:0;background:var(--pink);color:#000;padding:clamp(18px,3vw,32px);box-shadow:6px 6px 0 var(--ink)}
.hm .st .rej h2{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;border:0;padding:0;max-width:none}
.hm .st .rej .btn-ghost{border-color:#000;color:#000}
.hm .st .vb{border:3px solid #000;border-radius:0;color:#000;box-shadow:5px 5px 0 var(--ink)}
.hm .st .vb strong{font-family:var(--poster);text-transform:uppercase;font-size:1.3rem;font-weight:700}

/* --- выплаты --- */
.po{gap:clamp(18px,2.6vw,30px)}
.hm .st .po-hero .sd-hero-in{align-items:center}
.po-lead{max-width:56ch;margin-top:14px;color:var(--ink-soft)}
.po-stamp{flex:none;font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.8rem,4vw,3rem);line-height:1;padding:12px 26px;background:var(--x-tape);color:#000;border:4px solid #000;box-shadow:6px 6px 0 var(--ink);transform:rotate(-5deg)}
.po-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.po-steps li{display:grid;gap:12px;align-content:start;padding:clamp(16px,2vw,24px);border:3px solid var(--ink);margin-left:-3px;background:var(--surface)}
.po-steps li:first-child{margin-left:0}
.po-steps li:nth-child(2){background:var(--paper)}
.po-n{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:var(--paper);font-family:var(--poster);font-size:1.4rem}
.po-steps p{max-width:34ch}

@media (max-width:900px){
  .up-grid{grid-template-columns:minmax(0,1fr)}
  .up-pv{display:none}
  .hm .up .stepper{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm .up .stepper li:nth-child(3){margin-left:0}
  .hm .up .stepper li:nth-child(n+3){margin-top:-3px}
  .po-steps{grid-template-columns:minmax(0,1fr)}
  .po-steps li{margin-left:0;margin-top:-3px}
  .po-steps li:first-child{margin-top:0}
}
@media (max-width:700px){
  .hm .st .rl-hero{grid-template-columns:minmax(0,1fr)}
  .rl-cover{max-width:260px}
  .sd-ks3{grid-template-columns:minmax(0,1fr)}
  .sd-ks3 .sd-k{margin-left:0;margin-top:-3px}
  .sd-ks3 .sd-k:first-child{margin-top:0}
  .rl-info .cta .btn{flex:1 1 100%;justify-content:center;text-align:center}
  .po-stamp{transform:rotate(-3deg)}
}
.hm .st .status{border-radius:0;border:2px solid #000;font-family:var(--typed);font-weight:500;font-size:.82rem;padding:2px 10px}
.hm .st .st-sec{display:grid;gap:16px;align-content:start}
@media (max-width:600px){
  .hm .st-nav{padding:10px;gap:10px}
  .hm .st-me{padding-bottom:10px}
  .hm .st-me .cover{width:40px;height:40px}
  .hm .st-me strong{font-size:1.1rem}
  .hm .st-nav .sd-up{padding:10px 14px}
  .hm .st-nav nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .hm .st-nav nav a{padding:8px 6px;font-size:.78rem;justify-content:center;text-align:center;border-width:2px}
}

/* Профиль артиста в кабинете: его .pf не должен наследовать одноимённый блок другой страницы */
.hm .st .pf{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(18px,2.6vw,36px);align-items:start;border:0;padding:0;margin:0}
.hm .st .pf-side{position:sticky;top:16px;align-content:start}
@media (max-width:1320px){
  .hm .st .pf{grid-template-columns:minmax(0,1fr)}
  .hm .st .pf-side{position:static}
}
@media (min-width:901px){
  .hm .st-nav{top:96px;max-height:calc(100vh - 112px);overflow:auto}
  .hm .st .pf-side{top:96px}
}
@media (min-width:901px){
  .hm .st-nav{top:calc(var(--hdr-h,81px) + 16px);max-height:calc(100vh - var(--hdr-h,81px) - 32px)}
  .hm .st .pf-side,.up-pv{top:calc(var(--hdr-h,81px) + 16px)}
}

/* ===== Страницы трека и альбома: пластинка, дорожка, лента показателей ===== */

/* обложка-конверт, из которого выезжает пластинка */
.vn{position:relative;width:100%;max-width:540px;justify-self:center;aspect-ratio:1.28}
.vn .pl-deck{position:relative;z-index:2;width:78%;max-width:none;margin:0;justify-self:auto}
.vinyl{position:absolute;z-index:1;top:2%;left:22%;width:77%;aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle,var(--paper) 0 2.4%,transparent 2.8%),
    radial-gradient(circle,var(--x-tape) 0 17%,#000 17.5% 19%,transparent 19.6%),
    conic-gradient(from 25deg,transparent 0 18%,rgba(255,255,255,.2) 24%,transparent 31% 68%,rgba(255,255,255,.16) 75%,transparent 82%),
    repeating-radial-gradient(circle,#161616 0 2px,#262626 2px 3px);
  box-shadow:0 0 0 3px var(--ink),6px 6px 0 var(--x-blue);
  translate:0 0;transition:translate .9s cubic-bezier(.2,.8,.2,1)}
.vinyl::after{content:"kveng";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--poster);font-size:clamp(.7rem,1.8vw,1.1rem);text-transform:uppercase;color:#000;letter-spacing:.04em;padding-top:2%}
.vn:has(.pl-deck.is-on) .vinyl{translate:9% 0;animation:vspin 3.4s linear infinite}
@keyframes vspin{to{rotate:360deg}}

/* лента показателей */
.ts-sec{padding-top:0!important;padding-bottom:clamp(28px,4vw,48px)!important}
.ts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ts-k{display:grid;gap:6px;align-content:start;min-width:0;padding:clamp(14px,2vw,24px);border:3px solid var(--ink);margin-left:-3px;background:var(--surface)}
.ts-k:first-child{margin-left:0}
.ts-k:nth-child(2n){background:var(--paper)}
.ts-k span{font-family:var(--typed);font-size:.9rem;color:var(--ink-soft)}
.ts-k b{font-family:var(--poster);font-weight:700;font-size:clamp(2rem,4.6vw,3.8rem);line-height:.9;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ts-k b.is-t{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1;text-transform:uppercase}
.ts-k small{font-family:var(--typed);font-size:.8rem;color:var(--ink-soft);overflow-wrap:anywhere}

/* дорожка трека */
.wv-sec{padding-top:0!important;padding-bottom:clamp(20px,3vw,32px)!important}
.wv{--p:0;position:relative;display:grid;grid-template-columns:repeat(var(--n,100),minmax(0,1fr));align-items:center;gap:clamp(1px,.2vw,3px);height:clamp(96px,14vw,150px);padding:14px clamp(10px,1.6vw,20px);border:3px solid var(--ink);background:var(--surface);cursor:pointer;box-shadow:6px 6px 0 var(--x-blue)}
.wv i{display:block;height:var(--h);background:var(--ink);opacity:.32;transition:opacity .15s}
.wv i.on{opacity:1;background:var(--x-blue)}
.wv:hover i:not(.on){opacity:.5}
.wv-ph{position:absolute;top:6px;bottom:6px;left:calc(clamp(10px,1.6vw,20px) + (100% - 2 * clamp(10px,1.6vw,20px)) * var(--p));width:3px;background:var(--x-tape);box-shadow:0 0 0 2px #000;pointer-events:none}
.wv:focus-visible{outline:3px solid var(--x-tape);outline-offset:4px}
.wv-t{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-family:var(--typed);font-size:.85rem;color:var(--ink-soft)}
.wv-hint{flex:1;text-align:center}
.wv-hint[hidden]{display:block;visibility:hidden}

/* блок об артисте */
.ab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,2.4vw,32px);align-items:center;padding:clamp(16px,2.4vw,28px);border:3px dashed var(--ink);background:var(--surface)}
.ab-av{display:block;width:clamp(84px,10vw,120px);aspect-ratio:1;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--x-blue);overflow:hidden;text-decoration:none}
.ab-av .cover{display:block;width:100%;height:100%}
.ab-av .cover>*{width:100%;height:100%;object-fit:cover;display:block}
.ab-t{min-width:0}
.ab-t h3{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:.95;overflow-wrap:anywhere}
.ab-t small{display:block;margin-top:6px;font-family:var(--typed);color:var(--ink-soft)}
.ab-t p{margin-top:10px;max-width:60ch;color:var(--ink-soft)}
.ab-act{display:flex;flex-wrap:wrap;gap:12px}

/* самый слушаемый трек релиза */
.trow.is-hit .tt strong a::after{content:"Хит релиза";display:inline-block;margin-left:10px;padding:1px 8px;background:var(--x-tape);color:#000;border:2px solid #000;font-family:var(--typed);font-size:.7rem;font-weight:500;transform:rotate(-2deg);vertical-align:middle}

@media (max-width:900px){
  .ts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-k:nth-child(3){margin-left:0}
  .ts-k:nth-child(n+3){margin-top:-3px}
  .ab{grid-template-columns:auto minmax(0,1fr)}
  .ab-act{grid-column:1/-1}
}
@media (max-width:600px){
  .vn{max-width:340px}
  .ab{grid-template-columns:minmax(0,1fr)}
  .ab-act .btn{flex:1 1 100%;justify-content:center;text-align:center}
  .wv-hint{display:none}
}
@media (prefers-reduced-motion:reduce){
  .vn:has(.pl-deck.is-on) .vinyl{animation:none}
  .vinyl{transition:none}
}
.ts-k b span{font:inherit;color:inherit}
.vn .pl-deck{width:72%}
.vinyl{left:26%;width:73%;top:3%;
  background:
    radial-gradient(circle,var(--paper) 0 2.4%,transparent 2.8%),
    radial-gradient(circle,var(--x-tape) 0 17%,#000 17.5% 19%,transparent 19.6%),
    conic-gradient(from 25deg,transparent 0 16%,rgba(255,255,255,.34) 23%,transparent 31% 66%,rgba(255,255,255,.26) 74%,transparent 82%),
    repeating-radial-gradient(circle,#202020 0 2px,#3a3a3a 2px 3px)}
:root[data-theme=light] .vinyl{background:
    radial-gradient(circle,var(--paper) 0 2.4%,transparent 2.8%),
    radial-gradient(circle,var(--x-tape) 0 17%,#000 17.5% 19%,transparent 19.6%),
    conic-gradient(from 25deg,transparent 0 16%,rgba(255,255,255,.22) 23%,transparent 31% 66%,rgba(255,255,255,.16) 74%,transparent 82%),
    repeating-radial-gradient(circle,#111 0 2px,#262626 2px 3px)}
@media (max-width:700px){
  .p-top:has(.vn) .vn{order:-1;margin-bottom:8px}
  .p-top:has(.vn) .h-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .p-top:has(.vn) .h-cta .btn{justify-content:center;text-align:center;width:100%;padding-inline:10px}
  .p-top:has(.vn) .h-cta #playAll{grid-column:1/-1}
  .p-top:has(.vn) .h-cta #embed{grid-column:1/-1}
}

/* ===== Вход и регистрация: пропуск за кулисы ===== */
.hm .auth{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:calc(100vh - 170px)}
.hm .auth-art{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(18px,3vw,36px);padding:clamp(28px,4vw,56px) clamp(20px,3vw,48px);overflow:hidden;isolation:isolate;background:
  radial-gradient(circle,rgba(0,0,0,.16) 1.2px,transparent 1.6px) 0 0/10px 10px,var(--x-tape)}
.hm .auth-claim{max-width:22ch;text-align:center;font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1;color:#000}

.pass{position:relative;width:min(340px,100%);padding:26px 22px 18px;display:grid;gap:14px;background:#EDEDE6;color:#0E0E0E;border:3px solid #000;box-shadow:10px 10px 0 #000;
  transform-origin:50% -120px;rotate:-4deg;animation:passSwing 2.6s cubic-bezier(.3,1.3,.5,1) both}
.pass::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);width:30px;height:200px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,var(--x-blue) 0 14px,#000 14px 17px);border:3px solid #000;border-bottom:0;z-index:-1}
.pass-hole{position:absolute;left:50%;top:9px;width:74px;height:14px;transform:translateX(-50%);border:3px solid #000;border-radius:99px;background:var(--x-tape)}
.pass-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:10px;padding-bottom:10px;border-bottom:3px dashed #000}
.pass-top b{font-family:var(--poster);font-size:2rem;line-height:1;text-transform:uppercase;text-shadow:.05em .04em 0 var(--x-blue)}
.pass-top i{font-style:normal;font-family:var(--typed);font-size:.72rem;text-align:right}
.pass-mid{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:end}
.pass-ph{display:block;width:96px;aspect-ratio:1;border:3px solid #000;overflow:hidden;background:#fff}
.pass-ph svg{display:block;width:100%;height:100%}
.pass-role{align-self:end;justify-self:start;padding:5px 12px;background:#000;color:var(--x-tape);font-family:var(--poster);text-transform:uppercase;font-size:1.15rem;line-height:1;transform:rotate(-2deg)}
.pass-name{font-family:var(--poster);font-weight:700;text-transform:uppercase;line-height:.9;font-size:clamp(2rem,4.4vw,3.1rem);min-height:1.8em;overflow-wrap:anywhere;display:flex;align-items:flex-end}
.pass-name.is-ph{opacity:.3}
.pass-name.pop{animation:passPop .28s ease-out}
.pass-bar{display:flex;align-items:stretch;gap:2px;height:46px;overflow:hidden}
.pass-bar i{display:block;background:#000;flex:none}
.pass-foot{display:flex;justify-content:space-between;gap:10px;font-family:var(--typed);font-size:.72rem;border-top:3px solid #000;padding-top:8px}
@keyframes passSwing{0%{rotate:-17deg}30%{rotate:7deg}58%{rotate:-8deg}80%{rotate:-2.5deg}100%{rotate:-4deg}}
@keyframes passPop{0%{transform:scale(1.07);opacity:.6}100%{transform:none;opacity:1}}

/* форма */
.hm .auth-form{background:var(--paper);padding:clamp(24px,4.4vw,72px);gap:clamp(18px,2vw,26px)}
.hm .auth h1{font-size:clamp(2.6rem,5.6vw,4.8rem);line-height:.9}
.hm .seg{border:3px solid var(--ink);border-radius:0;padding:0;gap:0}
.hm .seg button{border-radius:0;padding:11px 20px;font-family:var(--typed);font-weight:500;border:0}
.hm .seg button+button{border-left:3px solid var(--ink)}
.hm .seg button[aria-selected=true]{background:var(--x-tape);color:#000;box-shadow:inset 0 -4px 0 #000}
.hm .soc-btns{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm .soc-btns .btn{padding:12px 8px;font-size:.92rem;justify-content:center;text-align:center}
.hm .or{display:flex;align-items:center;gap:14px;font-family:var(--typed);font-size:.85rem;color:var(--ink-soft)}
.hm .or::before,.hm .or::after{content:"";flex:1;border-top:3px dashed var(--ink);opacity:.5}
.hm .chips .chip{border-radius:0;border:3px solid var(--ink);font-family:var(--typed)}
.hm .chips .chip[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--x-blue)}
.hm .auth form{gap:16px}
.hm .auth form .btn[type=submit]{width:100%;padding:17px 24px;font-size:1.1rem;justify-content:center}
.hm .auth .errsum{border:3px solid #000;border-radius:0;background:var(--pink);color:#000;padding:12px 16px;box-shadow:4px 4px 0 var(--ink)}
.hm .auth .pw button{border-radius:0;font-family:var(--typed)}
.hm .auth .done .tick{display:grid;place-items:center;width:64px;height:64px;border:3px solid #000;border-radius:0;background:var(--mint);color:#000;box-shadow:5px 5px 0 var(--ink)}

@media (max-width:860px){
  .hm .auth{grid-template-columns:minmax(0,1fr);min-height:0}
  .hm .auth-art{flex-direction:row;justify-content:center;gap:16px;padding:44px 16px 20px;border-bottom:3px solid var(--ink)}
  .hm .auth-claim{display:none}
  .pass{width:min(320px,100%);gap:10px;padding:22px 16px 14px;transform-origin:50% -60px}
  .pass::before{height:70px}
  .pass-bar,.pass-foot{display:none}
  .pass-mid{grid-template-columns:72px minmax(0,1fr)}
  .pass-ph{width:72px}
  .pass-name{min-height:0;font-size:clamp(1.8rem,9vw,2.4rem)}
  .hm .soc-btns{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:420px){
  .hm .soc-btns{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.pass{animation:none}.pass-name.pop{animation:none}}

.pass-name{overflow-wrap:break-word;hyphens:manual}
.pass-name.md{font-size:clamp(1.7rem,3.6vw,2.4rem)}
.pass-name.sm{font-size:clamp(1.4rem,3vw,1.9rem)}
.pass-name,.pass-name.md,.pass-name.sm{word-break:normal}

/* ===== Тарифы и оплата: билет kveng+ ===== */
.hm .t-plans{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:clamp(22px,3.4vw,48px);align-items:center;padding-top:22px}
.tr-side{display:grid;gap:clamp(18px,2.4vw,28px)}
.hm .tr-mini{grid-template-rows:none;padding:clamp(16px,2vw,24px);gap:10px}
.tr-mh{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.hm .tr-mini h3{font-size:1.7rem}
.hm .tr-mini .price{font-size:clamp(1.8rem,3vw,2.4rem)}
.hm .tr-mini .btn{justify-self:start;margin-top:4px}

/* билет */
.hm .tr-ticket{display:grid;grid-template-columns:minmax(0,1fr) 150px;grid-template-rows:none;gap:0;padding:0;border-width:3px;transform:rotate(-1.2deg);box-shadow:12px 12px 0 var(--x-blue);
  background:radial-gradient(circle,rgba(0,0,0,.13) 1.2px,transparent 1.6px) 0 0/10px 10px,var(--x-tape);align-items:stretch}
.tk-main{position:relative;display:grid;gap:12px;align-content:start;padding:clamp(22px,3vw,40px)}
.hm .tr-ticket h3{font-size:clamp(2.4rem,5vw,3.8rem);line-height:.9;text-transform:none}
.hm .tr-ticket .price{font-size:clamp(4rem,9vw,7.4rem);line-height:.82;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.hm .tr-ticket .price small{font-family:var(--typed);font-size:1rem;margin:0}
.hm .tr-ticket .price.flip{animation:priceFlip .45s cubic-bezier(.2,.9,.3,1.3)}
@keyframes priceFlip{0%{transform:translateY(-14px) scale(.94);opacity:.2}100%{transform:none;opacity:1}}
.hm .tr-ticket ul{gap:8px;margin-top:6px}
.hm .tr-ticket li{padding-left:1.7em}
.hm .tr-ticket li::before{content:"";width:.9em;height:.9em;top:.25em;background:#000;clip-path:polygon(14% 52%,0 66%,38% 100%,100% 18%,86% 4%,38% 70%)}
.hm .tr-ticket .tag{top:-17px;right:auto;left:clamp(22px,3vw,40px)}
.tk-stub{position:relative;display:grid;align-content:space-between;justify-items:center;gap:16px;padding:20px 14px;border-left:4px dashed #000;
  background:linear-gradient(90deg,rgba(0,0,0,.06),transparent)}
.tk-stub::before,.tk-stub::after{content:"";position:absolute;left:-14px;width:24px;height:24px;border-radius:50%;background:var(--paper);border:3px solid #000}
.tk-stub::before{top:-14px}
.tk-stub::after{bottom:-14px}
.tk-v{writing-mode:vertical-rl;rotate:180deg;font-family:var(--poster);text-transform:uppercase;font-size:1.5rem;line-height:1;color:#000;letter-spacing:.02em;margin:auto 0}
.tk-stub .btn{width:100%;justify-content:center;text-align:center;padding-inline:8px;font-size:.95rem}

/* схема качества звука */
.ql{display:grid;gap:12px;margin-bottom:14px}
.ql-r{display:grid;grid-template-columns:minmax(150px,.3fr) minmax(0,1fr);gap:16px;align-items:center;padding:12px 16px;border:3px solid var(--ink);background:var(--surface)}
.ql-r.plus{background:color-mix(in srgb,var(--x-tape) 32%,var(--surface))}
.ql-t{display:grid;gap:2px}
.ql-t b{font-family:var(--poster);text-transform:uppercase;font-size:1.5rem;line-height:1}
.ql-t small{font-family:var(--typed);font-size:.78rem;color:var(--ink-soft)}
.ql-b{display:flex;align-items:flex-end;gap:2px;height:56px}
.ql-b i{flex:1;min-width:0;background:var(--ink);display:block}
.ql-r.plus .ql-b i{background:#000}
:root[data-theme=dark] .ql-r.plus .ql-b i{background:var(--ink)}

/* таблица, оплата, управление */
.hm .cmp td.y::before{content:"✓ ";font-family:var(--typed)}
.hm .cmp td.n::before{content:"— ";font-family:var(--typed)}
.hm .pay-grid .opts{gap:12px}
.hm .pay-grid .opt{border:3px solid var(--ink);border-radius:0;background:var(--paper);padding:16px 18px}
.hm .pay-grid .opt:has(input:checked){background:var(--x-tape);color:#000;border-color:#000;box-shadow:5px 5px 0 var(--ink)}
.hm .pay-grid .opt:has(input:checked) small{color:#000}
.hm .pay-grid .errsum{border:3px solid #000;border-radius:0;background:var(--pink);color:#000;padding:12px 16px}
.hm #payBtn{width:100%;justify-content:center;padding:18px 24px;font-size:1.15rem}
.hm .rcpt-s{box-shadow:8px 8px 0 var(--x-blue);background:radial-gradient(circle at 0 0,transparent 0 12px,var(--surface) 12.5px)}
.hm .manage{background:var(--surface)}
.hm .manage .status{display:inline-block;border-radius:0;border:2px solid #000;background:var(--mint);color:#000;font-family:var(--typed);font-size:.82rem;padding:2px 10px;margin-bottom:8px}
.hm .manage .status.off{background:var(--pink)}

/* результат оплаты: чек */
.hm .pr-in{padding:clamp(22px,3.4vw,40px);border:3px solid var(--ink);background:var(--surface);box-shadow:10px 10px 0 var(--x-blue);max-width:680px;width:100%;position:relative}
.hm .pr-in .tick.big{display:grid;place-items:center;width:84px;height:84px;border:3px solid #000;border-radius:0;background:var(--mint);color:#000;box-shadow:5px 5px 0 var(--ink);rotate:-4deg}
.hm .pr-in .tick.big.bad{background:var(--pink)}
.hm .pr-in .tick.big.wait{background:var(--x-tape)}
.hm .pr-in .rcpt{border-top:3px solid var(--ink);font-family:var(--typed);max-width:none;width:100%}
.hm .pr-in .rcpt div{border-bottom:1px dashed var(--ink)}
.hm .pr-in .brand{background:var(--x-tape);color:#000;padding:0 .15em;box-shadow:.05em .05em 0 #000}
.hm .pr-in .fix{display:grid;gap:8px;padding-left:20px}
.hm .pr-in .timer{font-family:var(--typed)}

@media (max-width:900px){
  .hm .t-plans{grid-template-columns:minmax(0,1fr)}
  .hm .tr-ticket{order:-1;transform:rotate(-.6deg)}
}
@media (max-width:600px){
  .hm .tr-ticket{grid-template-columns:minmax(0,1fr);box-shadow:8px 8px 0 var(--x-blue)}
  .tk-stub{border-left:0;border-top:4px dashed #000;grid-template-columns:minmax(0,1fr);padding:22px 16px 16px}
  .tk-stub::before,.tk-stub::after{left:auto;top:-14px;bottom:auto}
  .tk-stub::before{left:-14px}
  .tk-stub::after{right:-14px}
  .tk-v{display:none}
  .ql-r{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.hm .tr-ticket .price.flip{animation:none}}

/* ===== Кабинет слушателя: читательский билет и разделы ===== */
.hm .acm{padding:clamp(8px,2vw,24px) var(--gut) 0}
.acm-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ph id st" "bar bar bar";gap:clamp(14px,2.2vw,28px);align-items:center;padding:clamp(16px,2.4vw,28px);border:3px solid #000;color:#000;
  background:radial-gradient(circle,rgba(0,0,0,.14) 1.2px,transparent 1.6px) 0 0/10px 10px,var(--x-tape);box-shadow:8px 8px 0 var(--x-blue)}
.acm-card::before{content:"";position:absolute;right:clamp(16px,2vw,28px);top:-12px;width:90px;height:24px;background:var(--x-blue);border:3px solid #000;transform:rotate(2deg)}
.acm-ph{grid-area:ph;display:block;width:clamp(72px,9vw,112px);aspect-ratio:1;border:3px solid #000;background:#fff;overflow:hidden}
.acm-ph svg,.acm-ph img{display:block;width:100%;height:100%;object-fit:cover}
.acm-id{grid-area:id;display:grid;gap:6px;min-width:0;justify-items:start}
.acm-name{font-family:var(--poster);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.6rem);line-height:.9;overflow-wrap:anywhere}
.acm-id small{font-family:var(--typed);font-size:.82rem}
.acm-plan{display:inline-block;max-width:100%;padding:3px 12px;background:#000;color:var(--x-tape);font-family:var(--typed);font-size:.82rem;text-decoration:none;border:2px solid #000}
.acm-plan.plus{background:var(--mint);color:#000}
.acm-plan:hover{background:#fff;color:#000}
.acm-st{grid-area:st;display:grid;grid-template-columns:repeat(4,auto);gap:0;margin:0}
.acm-st div{display:grid;gap:2px;padding:8px 16px;border:3px solid #000;margin-left:-3px;background:rgba(255,255,255,.55);text-align:center}
.acm-st div:first-child{margin-left:0}
.acm-st dt{font-family:var(--typed);font-size:.72rem}
.acm-st dd{margin:0;font-family:var(--poster);font-weight:700;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1;font-variant-numeric:tabular-nums}
.acm-bar{grid-area:bar;display:flex;align-items:stretch;gap:2px;height:22px;overflow:hidden;opacity:.9}
.acm-bar i{display:block;background:#000;flex:none}
.acm-nav{display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(18px,2.4vw,28px)}
.acm-nav a{display:flex;align-items:center;gap:8px;padding:11px 20px;border:3px solid var(--ink);margin-left:-3px;background:var(--surface);font-family:var(--typed);font-weight:500;text-decoration:none;color:var(--ink)}
.acm-nav a:first-child{margin-left:0}
.acm-nav a:hover{background:var(--x-tape);color:#000;border-color:#000;position:relative;z-index:1}
.acm-nav a[aria-current=page]{background:var(--ink);color:var(--paper);box-shadow:inset 0 -4px 0 var(--x-tape);position:relative;z-index:1}
.acm-nav i{font-style:normal;min-width:22px;text-align:center;padding:0 6px;background:var(--x-tape);color:#000;border:2px solid #000;font-size:.78rem}
.acm ~ .c-hero{padding-top:clamp(20px,3vw,36px)!important}
.acm ~ .c-hero .c-title{font-size:clamp(2.4rem,6vw,5rem)!important}

/* уведомления: полоски-записки */
.hm .nlist{border-top:0;display:grid;gap:12px;max-width:none}
.hm .nt{grid-template-columns:18px minmax(0,1fr) auto;border:3px solid var(--ink);background:var(--surface);padding:14px 16px;position:relative}
.hm .nt.un{background:color-mix(in srgb,var(--x-tape) 24%,var(--surface));box-shadow:5px 5px 0 var(--ink)}
.hm .nt.un::before{content:"Новое";position:absolute;right:14px;top:-12px;background:var(--x-tape);color:#000;border:2px solid #000;font-family:var(--typed);font-size:.72rem;padding:0 8px;transform:rotate(2deg)}
.hm .nt:hover{background:var(--surface);transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--x-blue)}
.hm .nd{border-radius:0;width:14px;height:14px;border:2px solid #000;margin-top:.35em;opacity:1}
.hm .nt:not(.un) .nd{opacity:.4}
.hm .nb strong{font-family:var(--poster);text-transform:uppercase;font-weight:700;font-size:1.35rem;line-height:1}
.hm .nb small{font-family:var(--typed);font-size:.78rem}
.hm .nt:not(.un){opacity:.82}

/* история и сохранённое: панель действий */
.hm .lib-bar{padding:24px var(--gut) 0}
.hm .lib-sec h2{font-family:var(--poster);text-transform:uppercase;font-weight:700;border-bottom:3px solid var(--ink);padding-bottom:6px;margin-bottom:12px}
.hm .lib-sec h2 small{font-family:var(--typed);font-size:.9rem;margin-left:8px;color:var(--ink-soft)}

/* настройки: меню липнет под шапкой, разделы карточками */
.hm .set{align-items:start}
.hm .set-nav{top:calc(var(--hdr-h,81px) + 16px);gap:6px;padding:14px;border:3px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--x-blue)}
.hm .set-nav a{padding:9px 12px}
.hm .set .set-sec{padding:clamp(18px,2.6vw,30px);border:3px solid var(--ink);background:var(--surface);gap:16px;scroll-margin-top:calc(var(--hdr-h,81px) + 16px)}
.hm .set .set-sec:target{box-shadow:6px 6px 0 var(--x-tape)}
.hm .set .set-sec h2{border-bottom:3px solid var(--ink);padding-bottom:8px}
.hm .set-row:last-child{border-bottom:0}
.hm .sw{border-radius:0;border:3px solid var(--ink);width:58px;height:32px}
.hm .sw::after{border-radius:0;width:20px;height:20px;top:3px;left:3px;background:var(--ink)}
.hm .sw[aria-checked=true]{background:var(--x-tape);border-color:#000}
.hm .sw[aria-checked=true]::after{background:#000;transform:translateX(26px)}

@media (max-width:900px){
  .hm .set-nav{display:flex;flex-wrap:wrap;position:static;box-shadow:4px 4px 0 var(--x-blue)}
  .acm-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ph id" "st st" "bar bar"}
  .acm-st{grid-template-columns:repeat(4,minmax(0,1fr))}
  .acm-st div{padding:8px 6px}
}
@media (max-width:600px){
  .acm-nav a{flex:1 1 50%;justify-content:center;margin-left:0;margin-top:-3px;padding:11px 8px}
  .acm-nav a:nth-child(-n+2){margin-top:0}
  .acm-nav a:nth-child(2n){margin-left:-3px}
  .acm-ph{width:64px}
  .hm .nt{grid-template-columns:18px minmax(0,1fr)}
  .hm .nt .na{grid-column:2}
}
@media (prefers-reduced-motion:reduce){.hm .nt:hover{transform:none}}
.acm ~ .c-hero{align-items:start;padding-top:clamp(18px,2.4vw,28px)!important;padding-bottom:clamp(14px,2vw,24px)!important}
.acm ~ .c-hero .c-title{font-size:clamp(2.2rem,4.6vw,3.8rem)!important;line-height:.95}
.acm ~ .c-hero .h-lead{font-size:1rem}

/* ===== Афиша: билеты ===== */
.hm .evn-sec{padding-top:0!important;padding-bottom:clamp(20px,3vw,36px)!important}
.evn{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,3vw,40px);align-items:center;padding:clamp(18px,3vw,36px);border:3px solid #000;color:#000;text-decoration:none;position:relative;
  background:radial-gradient(circle,rgba(0,0,0,.13) 1.2px,transparent 1.6px) 0 0/10px 10px,var(--x-tape);box-shadow:10px 10px 0 var(--x-blue);transform:rotate(-.6deg)}
.evn::before,.evn::after{content:"";position:absolute;left:calc(clamp(110px,16vw,190px) + clamp(18px,3vw,36px) + 8px);width:26px;height:26px;border-radius:50%;background:var(--paper);border:3px solid #000}
.evn::before{top:-15px}
.evn::after{bottom:-15px}
.evn:hover{box-shadow:12px 12px 0 var(--ink)}
.evn-d{display:grid;justify-items:center;gap:0;padding-right:clamp(16px,3vw,40px);border-right:4px dashed #000;min-width:clamp(110px,16vw,190px);font-family:var(--poster);text-transform:uppercase;line-height:.9}
.evn-d b{font-size:clamp(4.4rem,11vw,8.5rem);font-weight:700}
.evn-d span{font-size:clamp(1.1rem,2.2vw,1.8rem)}
.evn-i{display:grid;gap:8px;min-width:0}
.evn-tag{justify-self:start;padding:2px 12px;background:#000;color:var(--x-tape);font-family:var(--typed);font-size:.8rem}
.evn-i strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(2.2rem,5.4vw,4.6rem);font-weight:700;line-height:.9;overflow-wrap:anywhere}
.evn-i small{font-family:var(--typed);font-size:.95rem}
.evn-c{display:grid;justify-items:end;text-align:right;font-family:var(--poster);text-transform:uppercase;line-height:.9}
.evn-c b{font-size:clamp(2rem,4.4vw,3.6rem);font-weight:700}
.evn-c span{font-family:var(--typed);font-size:.8rem;text-transform:none}

.evn-when{display:flex;flex-wrap:wrap;gap:8px 10px;margin:-6px 0 clamp(18px,2.4vw,28px)}
.evn-when .chip{border-radius:0;border:3px solid var(--ink);font-family:var(--typed)}
.evn-when .chip[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--x-blue)}

.evt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.evt{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(12px,1.8vw,22px);align-items:center;padding:14px 18px 14px 14px;border:3px solid var(--ink);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:5px 5px 0 var(--ink)}
.evt:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--x-blue)}
.evt.today{background:color-mix(in srgb,var(--x-tape) 30%,var(--surface))}
.evt-d{display:grid;justify-items:center;min-width:78px;padding-right:clamp(12px,1.8vw,22px);border-right:3px dashed var(--ink);font-family:var(--poster);text-transform:uppercase;line-height:.92}
.evt-d b{font-size:clamp(2.6rem,4.4vw,3.6rem);font-weight:700}
.evt-wd{font-family:var(--typed);font-size:.75rem;text-transform:none;color:var(--ink-soft)}
.evt-m{font-size:1.05rem}
.evt-i{display:grid;gap:4px;min-width:0}
.evt-i strong{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;line-height:1;overflow-wrap:anywhere}
.evt-i small{font-family:var(--typed);font-size:.82rem;color:var(--ink-soft)}
.evt-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.evt-meta i{font-style:normal;font-family:var(--typed);font-size:.74rem;padding:1px 8px;border:2px solid var(--ink)}
.evt-meta i.pr{background:var(--x-tape);color:#000;border-color:#000}
.evt-meta i.tx{background:var(--mint);color:#000;border-color:#000}
.evt-s{display:grid;justify-items:end;gap:8px;text-align:right}
.evt-s em{font-style:normal;font-family:var(--poster);text-transform:uppercase;font-size:1.05rem;line-height:1;padding:3px 10px;background:var(--ink);color:var(--paper)}
.evt-go{font-family:var(--typed);font-size:.82rem;text-decoration:underline;text-underline-offset:3px}

/* страница концерта */
.ev-wd{display:block;font-family:var(--typed);font-style:normal;font-size:1rem;text-transform:none;margin-bottom:6px}

@media (max-width:900px){
  .evt-grid{grid-template-columns:minmax(0,1fr)}
  .evn{grid-template-columns:auto minmax(0,1fr)}
  .evn-c{grid-column:1/-1;justify-items:start;text-align:left;grid-auto-flow:column;gap:10px;align-items:baseline}
}
@media (max-width:600px){
  .evn{padding:18px 14px;transform:none;box-shadow:7px 7px 0 var(--x-blue)}
  .evn::before,.evn::after{display:none}
  .evn-d{min-width:84px;padding-right:12px}
  .evn-d b{font-size:3.6rem}
  .evt{grid-template-columns:auto minmax(0,1fr);padding:12px}
  .evt-s{grid-column:1/-1;grid-auto-flow:column;justify-content:space-between;align-items:center}
}
@media (prefers-reduced-motion:reduce){.evt:hover{transform:none}}
.evn-c span{margin-top:6px}
.ts-k b.is-t{overflow-wrap:break-word;word-break:normal;font-size:clamp(1.1rem,2.2vw,1.8rem)}

/* ===== Тексты песен в студии ===== */
.lyed{gap:clamp(18px,2.6vw,30px)}
.hm .st .ly-hero{padding:clamp(16px,2.4vw,28px);grid-template-columns:minmax(0,150px) minmax(0,1fr)}
.ly-hero .rl-t{font-size:clamp(2rem,5vw,4rem)}

/* ступени работы */
.ly-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ly-steps li{display:flex;gap:12px;align-items:center;padding:12px 14px;border:3px solid var(--ink);margin-left:-3px;background:var(--surface);color:var(--ink-soft);min-width:0}
.ly-steps li:first-child{margin-left:0}
.ly-steps .sn{flex:none;display:grid;place-items:center;width:34px;height:34px;border:3px solid var(--ink);font-family:var(--poster);font-size:1.15rem;color:var(--ink)}
.ly-steps b{display:block;font-family:var(--poster);text-transform:uppercase;font-size:1.15rem;line-height:1;color:var(--ink)}
.ly-steps small{display:block;font-family:var(--typed);font-size:.76rem;margin-top:3px;overflow-wrap:anywhere}
.ly-steps li.is-cur{background:var(--x-tape);color:#000;border-color:#000;position:relative;z-index:1;box-shadow:4px 4px 0 var(--ink)}
.ly-steps li.is-cur .sn{background:#000;color:var(--x-tape);border-color:#000}
.ly-steps li.is-cur b{color:#000}
.ly-steps li.is-done{background:var(--mint);color:#000;border-color:#000}
.ly-steps li.is-done .sn{background:#000;color:var(--mint);border-color:#000}
.ly-steps li.is-done .sn{font-size:0}
.ly-steps li.is-done .sn::before{content:"✓";font-size:1.15rem}
.ly-steps li.is-done b{color:#000}

/* разделы редактора карточками */
.hm .st .lyed .st-sec{padding:clamp(16px,2.4vw,28px);border:3px solid var(--ink);background:var(--surface);gap:16px}
.hm .st .lyed .st-sec h2{border-bottom:3px solid var(--ink)}
.ly-player{top:calc(var(--hdr-h,81px) + 10px)}

/* пульт отметок */
.sy-bar{height:12px;border:3px solid var(--ink);background:transparent;margin-top:4px}
.sy-bar i{display:block;height:100%;width:0;background:var(--x-tape);box-shadow:inset 0 0 0 2px #000;transition:width .2s}
.hm .st .sy-stage{border-width:3px;background:var(--paper);box-shadow:6px 6px 0 var(--x-blue)}
#ly-mark{min-width:min(100%,320px);padding:22px 34px;font-size:clamp(1.2rem,2.6vw,1.7rem);font-family:var(--poster);text-transform:uppercase;border:3px solid #000;background:var(--x-tape);color:#000;box-shadow:0 8px 0 #000;transform:translateY(0);transition:transform .08s,box-shadow .08s}
#ly-mark:hover{transform:translateY(-1px);box-shadow:0 9px 0 #000}
#ly-mark:active{transform:translateY(7px);box-shadow:0 1px 0 #000}
.hm .st .lyed kbd{border:3px solid var(--ink);background:var(--paper);padding:1px 10px;box-shadow:0 3px 0 var(--ink)}

/* список треков */
.lyc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.lyc{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-areas:"cv t" "bar bar" "go go";gap:10px 14px;padding:14px;border:3px solid var(--ink);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:5px 5px 0 var(--ink)}
.lyc:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--x-blue)}
.lyc-cv{grid-area:cv;width:76px;aspect-ratio:1;border:3px solid var(--ink);overflow:hidden;display:block}
.lyc-cv img,.lyc-cv>*{width:100%;height:100%;object-fit:cover;display:block}
.lyc-t{grid-area:t;display:grid;gap:3px;align-content:center;min-width:0}
.lyc-t strong{font-family:var(--poster);text-transform:uppercase;font-size:1.4rem;line-height:1;overflow-wrap:anywhere}
.lyc-t small{font-family:var(--typed);font-size:.78rem;color:var(--ink-soft)}
.lyc-st{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.lyc-st i{font-style:normal;font-family:var(--typed);font-size:.72rem;padding:1px 8px;border:2px solid var(--ink);opacity:.5}
.lyc-st i.on{opacity:1;background:var(--mint);color:#000;border-color:#000}
.lyc-bar{grid-area:bar;height:10px;border:3px solid var(--ink)}
.lyc-bar b{display:block;height:100%;background:var(--ink)}
.lyc.is-full .lyc-bar b{background:var(--mint);box-shadow:inset 0 0 0 2px #000}
.lyc.is-half .lyc-bar b{background:var(--x-tape);box-shadow:inset 0 0 0 2px #000}
.lyc-go{grid-area:go;font-family:var(--typed);font-size:.85rem;text-decoration:underline;text-underline-offset:3px}

@media (max-width:900px){
  .lyc-grid{grid-template-columns:minmax(0,1fr)}
  .ly-steps{grid-template-columns:minmax(0,1fr)}
  .ly-steps li{margin-left:0;margin-top:-3px}
  .ly-steps li:first-child{margin-top:0}
}
@media (max-width:600px){
  .hm .st .ly-hero{grid-template-columns:minmax(0,1fr)}
  #ly-mark{width:100%}
}
@media (prefers-reduced-motion:reduce){.lyc:hover{transform:none}#ly-mark,.sy-bar i{transition:none}}

/* ===== Анкета артиста: афиша растёт вместе с ответами ===== */
.hm .ob{padding:clamp(16px,3vw,40px) var(--gut) clamp(40px,6vw,80px)}
.hm .ob .ob-in{max-width:1120px;margin:0 auto;gap:clamp(16px,2.4vw,28px)}
.ob-head{display:grid;gap:10px}
.hm .ob .ob-in h1{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:.9}
.ob-sub{font-family:var(--typed);color:var(--ink-soft);max-width:60ch}
.hm .ob .up-sec{padding:clamp(16px,2.4vw,28px);border:3px solid var(--ink);background:var(--surface);gap:16px}
.hm .ob .up-sec h2{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:clamp(1.5rem,3vw,2.1rem);padding-bottom:8px;border-bottom:3px solid var(--ink)}
.hm .ob .done{display:grid;gap:14px;justify-items:start;padding:clamp(22px,4vw,44px);border:3px dashed var(--ink);background:var(--surface)}
.hm .ob .done h2{font-family:var(--poster);text-transform:uppercase;font-weight:700!important;letter-spacing:0!important;font-size:clamp(2rem,4.4vw,3.4rem)!important;line-height:.95}
.hm .ob .done .tick{display:grid;place-items:center;width:64px;height:64px;border:3px solid #000;border-radius:0;background:var(--mint);color:#000;box-shadow:5px 5px 0 var(--ink)}
.hm .ob .opt strong{font-family:var(--poster);text-transform:uppercase;font-size:1.25rem;font-weight:700;letter-spacing:0}

/* афиша справа */
.obp{position:relative;display:grid;gap:10px;padding:clamp(16px,2vw,24px) clamp(16px,2vw,24px) 18px;border:3px dashed var(--ink);background:var(--surface);box-shadow:8px 8px 0 var(--x-blue)}
.obp-tape{position:absolute;left:50%;top:-14px;width:96px;height:26px;transform:translateX(-50%) rotate(-3deg);background:var(--x-tape);opacity:.92}
.obp-ph{width:100%;aspect-ratio:1;border:3px solid var(--ink);background:#fff;overflow:hidden;margin-top:6px;filter:grayscale(1) contrast(1.3);transition:filter .5s}
.obp-ph svg,.obp-ph img{display:block;width:100%;height:100%;object-fit:cover}
.obp.is-done .obp-ph{filter:none}
.obp-name{font-family:var(--poster);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,3.6vw,2.9rem);line-height:.9;overflow-wrap:anywhere;text-shadow:.045em .035em 0 var(--x-blue)}
.obp-name.is-ph{opacity:.3;text-shadow:none}
.obp-tags{font-family:var(--typed);font-size:.85rem;color:var(--ink-soft)}
.obp-st{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 0;gap:0}
.obp-st div{display:grid;gap:2px;padding:8px;border:3px solid var(--ink);margin-left:-3px;text-align:center;background:var(--paper)}
.obp-st div:first-child{margin-left:0}
.obp-st dt{font-family:var(--typed);font-size:.62rem;color:var(--ink-soft)}
.obp-st dd{margin:0;font-family:var(--poster);font-weight:700;font-size:1.5rem;line-height:1}
.obp-stamp{position:absolute;right:-10px;bottom:70px;rotate:-9deg;padding:6px 18px;background:var(--x-tape);color:#000;border:4px solid #000;font-family:var(--poster);text-transform:uppercase;font-size:2rem;line-height:1;box-shadow:5px 5px 0 #000;animation:obStamp .5s cubic-bezier(.2,1.4,.4,1) both}
@keyframes obStamp{0%{transform:scale(2.2);opacity:0}100%{transform:none;opacity:1}}
@media (max-width:900px){
  .hm .ob .up-pv{display:block;position:static;order:-1}
  .obp{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"ph n" "ph t" "st st";gap:6px 14px;align-items:center}
  .obp-ph{grid-area:ph;margin-top:0}
  .obp-name{grid-area:n;font-size:clamp(1.7rem,8vw,2.4rem)}
  .obp-tags{grid-area:t}
  .obp-st{grid-area:st}
  .obp-stamp{bottom:auto;top:-18px;right:6px;font-size:1.4rem}
}
@media (prefers-reduced-motion:reduce){.obp-stamp{animation:none}.obp-ph{transition:none}}
.ob-sub{margin-top:10px}

/* ===== Страницы ошибок: пластинка вместо нуля ===== */
.e-code .rec{border:0;background:
    radial-gradient(circle,var(--paper) 0 3%,transparent 3.4%),
    radial-gradient(circle,var(--x-tape) 0 21%,#000 21.6% 24%,transparent 24.6%),
    conic-gradient(from 25deg,transparent 0 16%,rgba(255,255,255,.34) 23%,transparent 31% 66%,rgba(255,255,255,.26) 74%,transparent 82%),
    repeating-radial-gradient(circle,#202020 0 .012em,#3a3a3a .012em .018em);
  box-shadow:0 0 0 .035em var(--ink),.045em .035em 0 .035em var(--x-blue);overflow:visible;animation:recSpin 7s linear infinite}
.e-code .rec::after{display:none}
.e-code .rec-503{animation:none;filter:grayscale(1)}
.e-code .rec-500{animation:recWobble 2.2s ease-in-out infinite}
.e-code .rec svg{position:absolute;inset:0;width:100%;height:100%}
.e-code .crack path{fill:none;stroke:var(--x-tape);stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(1px 1px 0 #000)}
.e-code .lock rect{fill:var(--x-tape);stroke:#000;stroke-width:1.5}
.e-code .lock path{fill:none;stroke:#000;stroke-width:2}
.e-code .lock{inset:30%;width:40%;height:40%}
@keyframes recSpin{to{rotate:360deg}}
@keyframes recWobble{0%,100%{rotate:-4deg}50%{rotate:5deg}}
.sticker .e-guess{font-family:var(--typed);font-size:.95rem}
.sticker .e-guess a{font-weight:500;text-decoration:underline;text-underline-offset:3px;color:#000}
.sticker .e-auto{font-family:var(--typed);font-size:.9rem;padding:6px 10px;border:2px dashed #000}
@media (prefers-reduced-motion:reduce){.e-code .rec,.e-code .rec-500{animation:none}}

/* ===== Плеер: пластинка в большом плеере и «живая» панель ===== */
.fp-cv-wrap .fp-cover{position:relative;z-index:1}
.fp-vinyl{position:absolute;z-index:0;top:3%;left:26%;width:92%;aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle,var(--fb) 0 2.4%,transparent 2.8%),
    radial-gradient(circle,var(--ff) 0 17%,#000 17.5% 19%,transparent 19.6%),
    conic-gradient(from 25deg,transparent 0 16%,rgba(255,255,255,.34) 23%,transparent 31% 66%,rgba(255,255,255,.26) 74%,transparent 82%),
    repeating-radial-gradient(circle,#161616 0 2px,#2c2c2c 2px 3px);
  box-shadow:0 0 0 4px var(--ff),10px 10px 0 4px var(--fs);
  translate:0 0;transition:translate .9s cubic-bezier(.2,.8,.2,1)}
.fp-vinyl::after{content:"kveng";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-size:clamp(.8rem,2vw,1.4rem);color:var(--fb);padding-top:2%}
.fp.is-on .fp-vinyl{translate:20% 0;animation:fpSpin 3.6s linear infinite}
@keyframes fpSpin{to{rotate:360deg}}
.fp-main{overflow:visible}

/* нижняя панель: эквалайзер у названия, пока играет, и плотная полоса прогресса */
.is-playing .bar-t strong::before{content:"";display:inline-block;width:15px;height:13px;margin-right:9px;vertical-align:-1px;
  background:linear-gradient(var(--yellow),var(--yellow)) 0 100%/3px 40% no-repeat,linear-gradient(var(--yellow),var(--yellow)) 6px 100%/3px 90% no-repeat,linear-gradient(var(--yellow),var(--yellow)) 12px 100%/3px 60% no-repeat;
  animation:barEq .9s steps(5) infinite}
@keyframes barEq{
  0%{background-size:3px 40%,3px 90%,3px 60%}
  25%{background-size:3px 90%,3px 50%,3px 100%}
  50%{background-size:3px 60%,3px 100%,3px 40%}
  75%{background-size:3px 100%,3px 40%,3px 80%}
  100%{background-size:3px 40%,3px 90%,3px 60%}}
.bar input[type=range]::-webkit-slider-runnable-track{height:12px;border:2px solid var(--yellow);background:linear-gradient(to right,var(--yellow) var(--p,0%),transparent var(--p,0%))}
.bar input[type=range]::-moz-range-track{height:12px;border:2px solid var(--yellow);background:transparent}
.bar input[type=range]::-moz-range-progress{height:12px;background:var(--yellow)}
.bar input[type=range]::-webkit-slider-thumb{height:24px;margin-top:-8px;border:2px solid #000}
.bar-t .cover{transition:transform .25s}
.is-playing .bar-t .cover{transform:rotate(-3deg)}
.ctrl .main{border-radius:0;border:3px solid #000;box-shadow:4px 4px 0 var(--x-blue,#2F3BFF);transition:transform .12s,box-shadow .12s}
.ctrl .main:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--x-blue,#2F3BFF)}
.ctrl .main:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--x-blue,#2F3BFF)}
@media (prefers-reduced-motion:reduce){.fp.is-on .fp-vinyl,.is-playing .bar-t strong::before{animation:none}.fp-vinyl{transition:none}.is-playing .bar-t .cover{transform:none}}
@media (max-width:900px){.fp-vinyl{display:none}}
.fp-vinyl{left:28%;width:92%}
.fp.is-on .fp-vinyl{translate:46% 0}

/* правка по отзыву: без надписи на пластинке, диск наполовину скрыт, кнопка панели снова круглая */
.fp-vinyl::after{content:none}
.fp.is-on .fp-vinyl{translate:28% 0}
.ctrl .main{border-radius:50%;border:0;box-shadow:none;transition:transform .15s}
.ctrl .main:hover{transform:scale(1.07);box-shadow:none}
.ctrl .main:active{transform:scale(.96);box-shadow:none}

/* ===== Служебная панель: пульт редакции ===== */
.adm-h{display:flex;align-items:center;gap:16px;padding:12px var(--gut);background:#000;color:#EDEDE6;border-bottom:4px solid var(--x-tape)}
.adm-h .logo{color:var(--x-tape);text-shadow:.05em .04em 0 var(--x-blue)}
.adm-t{font-family:var(--typed);font-weight:500;font-size:.9rem;opacity:1;padding:2px 10px;border:2px solid #EDEDE6;margin-right:auto}
.adm-h .btn{border-radius:0;border:3px solid #EDEDE6;color:#EDEDE6;padding:8px 16px}
.adm-h .btn:hover{background:var(--x-tape);color:#000;border-color:var(--x-tape)}
.adm-h .icon-btn{border-radius:0;border:3px solid #EDEDE6;color:#EDEDE6}
.adm-h .icon-btn:hover{background:var(--x-tape);color:#000}

.hm .adm.adm-shell{grid-template-columns:230px minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start}
.adm-main{display:grid;gap:clamp(16px,2.4vw,28px);min-width:0}
.adm-rail{order:-1;position:sticky;top:16px;padding:14px;border:3px solid var(--ink);background:var(--surface);box-shadow:6px 6px 0 var(--x-blue);display:grid;gap:10px}
.adm-rail-h{font-family:var(--typed);font-size:.78rem;color:var(--ink-soft)}
.adm-rail nav{display:grid;gap:6px}
.adm-rail a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:3px solid transparent;font-family:var(--typed);font-weight:500;text-decoration:none;color:var(--ink)}
.adm-rail a:hover{border-color:var(--ink);background:none}
.adm-rail a[aria-current=page]{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--x-tape)}
.adm-rail i{font-style:normal;min-width:24px;text-align:center;padding:0 6px;background:var(--x-tape);color:#000;border:2px solid #000;font-size:.8rem}
.hm .adm-head{border-bottom:3px solid var(--ink);padding-bottom:12px}
.hm .adm-head h1{font-family:var(--poster);text-transform:uppercase;letter-spacing:0;font-weight:700;line-height:.95;font-size:clamp(2.2rem,4.6vw,3.8rem)}
.adm-date{font-family:var(--typed);color:var(--ink-soft);text-transform:capitalize}

/* сводка */
.ov-lead{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1}
.ov-q{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.ovt{display:grid;gap:6px;padding:clamp(16px,2vw,26px);border:3px solid var(--ink);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:5px 5px 0 var(--ink)}
.ovt span{font-family:var(--typed);font-size:.9rem}
.ovt b{font-family:var(--poster);font-weight:700;font-size:clamp(3rem,7vw,5.6rem);line-height:.85;font-variant-numeric:tabular-nums}
.ovt small{font-family:var(--typed);font-size:.82rem}
.ovt.has{background:var(--x-tape);color:#000;border-color:#000}
.ovt.zero{background:color-mix(in srgb,var(--mint) 32%,var(--surface))}
.ovt:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--x-blue)}
.ov-h{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;padding-bottom:8px;border-bottom:3px solid var(--ink);margin:clamp(8px,1.4vw,16px) 0 14px}
.ov-ks{grid-template-columns:repeat(4,minmax(0,1fr))}
.ov-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,40px)}
.ov-l{list-style:none;padding:0;display:grid;gap:8px}
.ov-l a{display:grid;gap:2px;padding:10px 14px;border:3px solid var(--ink);background:var(--surface);color:var(--ink);text-decoration:none}
.ov-l a:hover{background:var(--x-tape);color:#000;border-color:#000}
.ov-l strong{font-family:var(--poster);text-transform:uppercase;font-size:1.2rem;line-height:1;overflow-wrap:anywhere}
.ov-l small{font-family:var(--typed);font-size:.78rem;color:inherit;opacity:.75}

@media (max-width:900px){
  .hm .adm.adm-shell{grid-template-columns:minmax(0,1fr)}
  .adm-rail{position:static;order:0}
  .adm-rail nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ov-q{grid-template-columns:minmax(0,1fr)}
  .ov-ks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ov-ks .sd-k:nth-child(3){margin-left:0}
  .ov-ks .sd-k:nth-child(n+3){margin-top:-3px}
  .ov-two{grid-template-columns:minmax(0,1fr)}
  .adm-h{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.ovt:hover{transform:none}}
:root[data-theme] .adm-h{background:#000}
.adm-date{text-transform:none;display:inline-block}
.adm-date::first-letter{text-transform:uppercase}
.adm-main>*{min-width:0}
.hm .adm-shell .ad{min-width:0;overflow-wrap:anywhere}
@media (max-width:1180px){
  .hm .adm-shell .adm-grid{grid-template-columns:minmax(0,1fr)}
  .hm .adm-shell .aq{max-height:none}
}
.hm .adm-shell .ad{overflow-wrap:break-word}
@media (max-width:1500px){
  .hm .adm-shell .adm-grid{grid-template-columns:minmax(0,1fr)}
  .hm .adm-shell .aq{max-height:none}
}
.hm .ad-h h2{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.95}
.hm .ad h3{font-family:var(--poster);text-transform:uppercase;font-weight:700;letter-spacing:0;font-size:1.3rem;border-bottom:3px solid var(--ink);padding-bottom:6px}
.hm .adm .chip{border-radius:0;border:3px solid var(--ink);font-family:var(--typed)}
.hm .adm .chip[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--x-blue)}

/* объявление над страницей, подтверждённый артист, текстовые страницы редакции */
.ann{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:8px 44px 8px var(--gut);background:var(--x-tape);color:#000;border-bottom:3px solid #000;font-family:var(--typed);font-size:.9rem;position:relative;text-align:center}
.ann.warn{background:var(--pink)}
.ann a{color:#000;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.ann button{position:absolute;right:12px;top:50%;translate:0 -50%;width:30px;height:30px;font-size:1.3rem;line-height:1;color:#000;border:2px solid #000}
.ann button:hover{background:#000;color:var(--x-tape)}
.ap-tags .ap-ok{background:var(--mint);color:#000;border:2px solid #000}
.pg-body{max-width:68ch;display:grid;gap:16px;font-size:1.1rem}
.pg-body h2{font-family:var(--poster);text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1;border-bottom:3px solid var(--ink);padding-bottom:8px;margin-top:12px}
.pg-body h3{font-family:var(--poster);text-transform:uppercase;font-size:1.5rem}
.pg-body ul{padding-left:1.3em;display:grid;gap:6px}
.pg-body a{text-decoration:underline;text-underline-offset:3px}

/* ===== Служебная панель: разделы управления ===== */
.adm-find{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 12px;border:3px solid var(--ink);background:var(--paper);font-family:var(--typed);font-size:.88rem;cursor:pointer}
.adm-find:hover{background:var(--x-tape);color:#000;border-color:#000}
.adm-find kbd{font-family:var(--typed);font-size:.72rem;border:2px solid currentColor;padding:0 6px}
.adm-groups{display:grid;gap:4px}
.adm-groups .adm-rail-h{margin-top:8px}
.adm-who{font-family:var(--typed);font-size:.74rem;color:var(--ink-soft);border-top:2px dashed var(--ink);padding-top:10px;overflow-wrap:anywhere}
.adm-lead{max-width:70ch;color:var(--ink-soft)}
.adm-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:6px}
.adm-filters input[type=search]{flex:1 1 260px;min-width:0}
.adm-filters select{border:3px solid var(--ink);border-radius:0;background:var(--surface);color:var(--ink);padding:10px 12px;font-family:var(--typed)}
.adm-count{font-family:var(--typed);color:var(--ink-soft);margin:4px 0 10px}
.adc{display:inline-block;margin:2px 4px 2px 0;padding:1px 9px;border:2px solid var(--ink);font-family:var(--typed);font-size:.74rem;white-space:nowrap}
.adc.ok{background:var(--mint);color:#000;border-color:#000}
.adc.bad{background:var(--pink);color:#000;border-color:#000}
.adm-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.adm-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.adm-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);align-items:start}
.adm-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px;font-family:var(--typed)}
.adm-top{list-style:none;padding:0;display:grid;gap:6px}
.adm-top li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border:3px solid var(--ink);background:var(--surface)}
.adm-top li>span{font-family:var(--poster);font-size:1.3rem;color:var(--x-blue)}
.adm-top a{text-decoration:none;color:var(--ink);overflow-wrap:anywhere}
.adm-top small{display:block;font-family:var(--typed);font-size:.76rem;color:var(--ink-soft)}
.adm-top b{font-family:var(--typed);font-variant-numeric:tabular-nums}
.adm-log{list-style:none;padding:0;display:grid;gap:8px}
.adm-log li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:10px 14px;border:3px solid var(--ink);background:var(--surface)}
.adm-log time{font-family:var(--typed);font-size:.8rem;color:var(--ink-soft)}
.adm-log strong{display:block;line-height:1.25;overflow-wrap:anywhere}
.adm-log small{font-family:var(--typed);font-size:.76rem;color:var(--ink-soft)}
.adm-log details{margin-top:6px}
.adm-log summary{cursor:pointer;font-family:var(--typed);font-size:.8rem}
.adm-log-pre{max-height:320px;overflow:auto;font-size:.76rem}
.ov-l .ov-s{display:grid;gap:2px;padding:8px 12px;border:3px solid var(--ink);background:var(--surface)}
.ask-checks{display:grid;gap:8px}
.adm-sr{width:min(640px,100%);display:grid;gap:12px;align-self:start;margin-top:10vh;padding:16px;border:3px solid var(--ink);background:var(--paper);box-shadow:8px 8px 0 var(--x-blue)}
.adm-sr input{width:100%;font-size:1.1rem;padding:12px 14px;border:3px solid var(--ink);background:var(--surface);color:var(--ink)}
.adm-sr-l{max-height:55vh;overflow:auto;display:grid;gap:6px}
.adm-sr-l h4{font-family:var(--poster);text-transform:uppercase;font-size:1.1rem;margin-top:6px}
.adm-sr-l ul{list-style:none;padding:0;display:grid;gap:4px}
.adm-sr-l a{display:grid;gap:1px;padding:8px 12px;border:3px solid var(--ink);background:var(--surface);color:var(--ink);text-decoration:none}
.adm-sr-l a:hover,.adm-sr-l a:focus-visible{background:var(--x-tape);color:#000;border-color:#000}
.adm-sr-l small{font-family:var(--typed);font-size:.76rem;opacity:.75}
#bulk{margin-left:auto}
@media (max-width:900px){
  .adm-cols{grid-template-columns:minmax(0,1fr)}
  .adm-log li{grid-template-columns:minmax(0,1fr)}
}
.hm .adm-t td:nth-child(3),.hm .adm-t thead th:nth-child(3){background:none}
.hm .adm-t thead th{background:var(--paper)}
.hm .adm-t td,.hm .adm-t th[scope=row]{text-align:left;width:auto}

/* метки в таблицах переносятся и не перекрывают кнопки соседней колонки */
.adm-t .adc{white-space:normal;max-width:100%;overflow-wrap:anywhere}
.adm-t td.acts{min-width:150px}

/* трек буферизуется на слабой связи: кнопка на плеере пульсирует */
@keyframes kvbuf{0%,100%{opacity:1}50%{opacity:.35}}
.is-buffering #toggle,.is-buffering .fp-play{animation:kvbuf 1s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.is-buffering #toggle,.is-buffering .fp-play{animation:none;opacity:.6}}

/* текстовые значения (жанр, город) не наезжают на подпись под ними */
.ts-k b.is-t{overflow-wrap:anywhere;hyphens:auto}
.ts-k b+small{margin-top:4px}
/* карточка артиста: без лишнего отступа снизу, из-за него разделитель не доходил до края */
.hm .ap-card section.ap-stats{padding:0}
/* мобильный альбом и трек: «скотч» над обложкой не залезает на хлебные крошки */
@media (max-width:860px){
  .p-top:has(.vn){padding-top:40px!important}
}
/* нижняя полоса карточки артиста: статистика упирается в рамку */
.hm section.ap-card{padding-bottom:0!important}

/* «Новое» у артиста: три факта в одну строку без пустой ячейки */
@media (min-width:861px){
  .ap-meta{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,760px)}
  .ap-meta>div:last-child:nth-child(odd){grid-column:auto}
}

/* большой плеер: длинное название не выталкивает кнопки за край экрана */
.fp-info h2{font-size:clamp(2.2rem,min(6.2vw,9.5vh),5.8rem);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere;padding-bottom:.08em}
.fp-info h2[data-len=l]{font-size:clamp(1.9rem,min(4.8vw,7.2vh),4.2rem)}
.fp-info h2[data-len=xl]{font-size:clamp(1.6rem,min(3.8vw,5.6vh),3.2rem)}
@media (max-height:820px){.fp-cv-wrap{width:min(30vh,100%,360px)}}
@media (max-height:700px){.fp-cv-wrap{width:min(24vh,100%,280px)}.fp .fp-main{gap:10px}}

/* ===== Большой плеер: текст песни как плакат, очередь как билеты ===== */
/* Листа больше нет: слова лежат прямо на цвете обложки. Ещё не спетое набрано контуром, спетое залито, звучащее слово лежит на жёлтой ленте. */
.fp .fp-side{background:none;color:var(--ff);border:0;box-shadow:none;transform:none;overflow:visible;padding:clamp(52px,7vh,72px) clamp(8px,1.6vw,24px) 0 0;margin:0 12px 12px 0}
.fp .fp-side::before{display:none}
.fp .fp-tabs{display:flex;gap:12px;margin:0 0 18px;width:auto;border:0;box-shadow:none}
.fp .fp-tabs button{border:3px solid var(--ff);border-radius:0;padding:4px 18px 2px;background:none;color:var(--ff);font-family:var(--poster,"Oswald",sans-serif);font-weight:700;font-size:1.5rem;text-transform:uppercase;line-height:1.1;transition:transform .15s,box-shadow .15s}
.fp .fp-tabs button+button{border-left:3px solid var(--ff)}
.fp .fp-tabs button:hover{background:none;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fs)}
.fp .fp-tabs button[aria-pressed=true]{background:var(--x-tape,#FFD93B);border-color:#000;color:#000;transform:rotate(-1.5deg);box-shadow:5px 5px 0 var(--fs)}
.fp .fp-panel{scrollbar-width:thin;scrollbar-color:var(--ff) transparent}
.fp #fpLyrics{padding:6px 14px 18vh 4px;background:none;-webkit-mask-image:linear-gradient(transparent 0,#000 10%,#000 80%,transparent 100%);mask-image:linear-gradient(transparent 0,#000 10%,#000 80%,transparent 100%)}
.fp .ly{position:relative;font-family:var(--poster,"Oswald",sans-serif);font-weight:700;text-transform:uppercase;font-size:clamp(1.9rem,3.5vw,3.6rem);line-height:1.02;letter-spacing:.005em;margin:0 0 .5em;padding:0;color:var(--ff);opacity:1;background:none;overflow-wrap:anywhere;text-wrap:balance}
.fp .ly::before{display:none}
/* строки без таймингов: текущая заливкой, остальные контуром */
.fp .ly:not(.lq){color:transparent;-webkit-text-stroke:2px var(--ff);opacity:.7}
.fp .ly.past:not(.lq){color:var(--ff);-webkit-text-stroke:0;opacity:.35}
.fp .ly.on:not(.lq){color:var(--ff);-webkit-text-stroke:0;opacity:1;text-shadow:.05em .05em 0 var(--fs)}
/* строки с таймингами: слово за словом */
.fp .lq .wd{padding:0 .04em;margin:0;opacity:1;color:transparent;-webkit-text-stroke:2px var(--ff);transition:color .12s}
.fp .lq:not(.on):not(.past) .wd{opacity:.6}
.fp .lq.past .wd{color:var(--ff);-webkit-text-stroke:0;opacity:.32}
.fp .lq.on .wd.d{color:var(--ff);-webkit-text-stroke:0;opacity:1;text-shadow:.05em .05em 0 var(--fs)}
.fp .lq.on .wd.c{color:#000;-webkit-text-stroke:0;opacity:1;background:var(--x-tape,#FFD93B);box-shadow:.07em .07em 0 var(--fs);transform:rotate(-1.6deg)}
.fp .lq .wd:hover{opacity:1;cursor:pointer}
.fp .fp-empty{color:var(--ff)}
.fp .fp-empty strong{font-size:clamp(2.2rem,4vw,3.6rem);line-height:.95;text-shadow:.04em .04em 0 var(--fs)}
/* очередь: билеты, текущий закрашен лентой */
.fp #fpQueue{padding:6px 12px 24px 4px}
.fp #fpQueue ol{counter-reset:q;display:grid;gap:12px}
.fp .fq{display:grid;grid-template-columns:2.2rem 56px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:8px 14px 8px 12px;border:3px solid var(--ff);border-radius:0;background:none;color:var(--ff);text-align:left;transition:transform .15s,box-shadow .15s}
.fp .fq::before{counter-increment:q;content:counter(q);font-family:var(--poster,"Oswald",sans-serif);font-weight:700;font-size:1.6rem;line-height:1;opacity:.7}
.fp .fq:hover{background:none;transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--fs)}
.fp .fq .cover{width:56px;height:56px;border:3px solid currentColor;border-radius:0}
.fp .fq strong{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-size:1.3rem;font-weight:700;line-height:1.05;overflow-wrap:anywhere}
.fp .fq small,.fp .fq-d{font-family:var(--typed,"IBM Plex Mono",monospace);opacity:.85}
.fp .fq.is-cur{background:var(--x-tape,#FFD93B);color:#000;border-color:#000;box-shadow:6px 6px 0 var(--fs);transform:rotate(-.6deg);box-shadow:6px 6px 0 var(--fs)}
.fp .fq.is-cur::before{opacity:1}
@media (max-width:900px){.fp .fp-side{padding-top:8px;margin:8px 8px 18px 0;height:70vh}.fp .ly{font-size:clamp(1.7rem,7.5vw,2.6rem)}}
@media (prefers-reduced-motion:reduce){.fp .fq,.fp .fp-tabs button{transition:none}}
/* звучащее слово держится на любой обложке, в том числе жёлтой: лента обведена чёрным */
.fp .lq.on .wd.c{outline:3px solid #000;outline-offset:0}

/* ===== Телефон: текст и очередь на месте обложки ===== */
/* Обложка ведёт себя как аватарки в списках: в покое серая и контрастная, а здесь ещё и притемнена, чтобы текст читался. Текст набран так же, как на компьютере: спетое залито, будущее контуром, звучащее слово на жёлтой ленте. */
.fp .fp-pan{display:none}
@media (max-width:900px){
  .fp .fp-pan{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:2px}
  .fp .fp-pan button{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 10px 9px;border:3px solid var(--ff);border-radius:0;background:none;color:var(--ff);font-family:var(--poster,"Oswald",sans-serif);font-weight:700;font-size:1.35rem;line-height:1;text-transform:uppercase;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background-color .2s,color .2s}
  .fp .fp-pan button svg{width:22px;height:22px;flex:none}
  .fp .fp-pan button[aria-pressed=true]{background:var(--x-tape,#FFD93B);border-color:#000;color:#000;transform:rotate(-1.6deg);box-shadow:5px 5px 0 var(--fs)}
  .fp .fp-pan button:active{transform:translate(2px,2px)}

  .fp .fp-cv-wrap{transition:width .7s cubic-bezier(.2,.8,.2,1),height .7s cubic-bezier(.2,.8,.2,1),margin .7s cubic-bezier(.2,.8,.2,1)}
  .fp .fp-cv-wrap::before{transition:opacity .35s}
  .fp .fp-cv-wrap .fp-cover{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s,box-shadow .45s,border-color .45s}
  .fp .fp-tag{transition:opacity .3s,transform .3s}
  .fp .fp-cv-wrap::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0,rgba(0,0,0,.12) 32%,rgba(0,0,0,.2) 62%,rgba(0,0,0,.6) 100%);transition:opacity .7s}

  .fp.is-text{overflow-x:hidden;overflow-y:auto}
  .fp.is-text .fp-cv-wrap{width:var(--st-w);height:var(--st-h);margin:calc(-1 * var(--st-up)) 0 6px calc(-1 * var(--st-l));overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),95% 100%,90% calc(100% - 9px),85% 100%,80% calc(100% - 13px),75% 100%,70% calc(100% - 8px),65% 100%,60% calc(100% - 12px),55% 100%,50% calc(100% - 9px),45% 100%,40% calc(100% - 13px),35% 100%,30% calc(100% - 8px),25% 100%,20% calc(100% - 12px),15% 100%,10% calc(100% - 9px),5% 100%,0 calc(100% - 12px))}
  .fp.is-text .fp-cv-wrap::before,.fp.is-text .fp-tag{opacity:0;transform:translateY(-8px)}
  .fp.is-text .fp-cv-wrap::after{opacity:1}
  .fp.is-text .fp-cv-wrap .fp-cover{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;border-color:transparent;box-shadow:none;filter:grayscale(1) contrast(1.4) brightness(.8)}
  .fp.is-text .fp-cv-wrap .fp-cover img,.fp.is-text .fp-cv-wrap .fp-cover svg{width:100%;height:100%;object-fit:cover}
  .fp.is-text .fp-x{z-index:6}

  /* лист живёт внутри обложки и появляется после того, как она растянулась; поверх тёмной обложки текст белый */
  .fp .fp-cv-wrap>.fp-side{position:absolute;inset:0;z-index:5;margin:0;height:auto;padding:68px 16px 10px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(26px);pointer-events:none;--ff:#fff;--fs:rgba(0,0,0,.6);transition:opacity .35s,transform .6s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
  .fp.is-text .fp-cv-wrap>.fp-side{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:.3s,.3s,0s}
  .fp .fp-cv-wrap>.fp-side .fp-tabs{display:none}
  .fp .fp-cv-wrap>.fp-side .fp-panel{flex:1;min-height:0}
  .fp .fp-cv-wrap #fpLyrics{padding:6px 6px 26vh 2px;-webkit-mask-image:linear-gradient(transparent 0,#000 11%,#000 76%,transparent 97%);mask-image:linear-gradient(transparent 0,#000 11%,#000 76%,transparent 97%)}
  .fp .fp-cv-wrap #fpQueue{padding:4px 6px 28px 0}
  .fp .fp-cv-wrap .fq{background:rgba(0,0,0,.4)}
  .fp .fp-cv-wrap .fq.is-cur{background:var(--x-tape,#FFD93B)}
  /* строки всплывают одна за другой */
  .fp.is-text .fp-cv-wrap .ly{animation:fpRise .6s cubic-bezier(.2,.8,.2,1) backwards}
  .fp.is-text .fp-cv-wrap .ly:nth-child(1){animation-delay:.45s}
  .fp.is-text .fp-cv-wrap .ly:nth-child(2){animation-delay:.53s}
  .fp.is-text .fp-cv-wrap .ly:nth-child(3){animation-delay:.61s}
  .fp.is-text .fp-cv-wrap .ly:nth-child(4){animation-delay:.69s}
  .fp.is-text .fp-cv-wrap .ly:nth-child(n+5){animation-delay:.77s}
  @keyframes fpRise{from{transform:translateY(34px)}}
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .fp .fp-cv-wrap,.fp .fp-cv-wrap .fp-cover,.fp .fp-cv-wrap::after,.fp .fp-cv-wrap>.fp-side,.fp .fp-pan button{transition:none}
  .fp.is-text .fp-cv-wrap .ly{animation:none}
}

/* ===== Плеер v2: пульт, качество звука, обложка с растром ===== */

/* --- Ряд кнопок: ровная сетка. Раньше шесть кнопок не помещались в ширину телефона, переносились и уезжали за экран --- */
.fp .fp-ctrl{display:grid;grid-template-columns:1fr 1fr 1fr 1.7fr 1fr 1fr;align-items:center;gap:6px;width:100%;max-width:560px;flex-wrap:nowrap}
.fp .fp-ctrl button{width:100%;min-width:0;height:56px;border:3px solid transparent;border-radius:0;color:var(--ff);position:relative;transition:transform .15s,box-shadow .15s,background-color .15s,color .15s}
.fp .fp-ctrl button svg{width:26px;height:26px}
.fp .fp-ctrl .mode,.fp .fp-ctrl #fpLike{opacity:.9}
.fp .fp-ctrl .fp-play{height:80px;width:100%;background:var(--ff);color:var(--fb);border:4px solid var(--ff);box-shadow:6px 6px 0 var(--fs);opacity:1}
.fp .fp-ctrl .fp-play svg{width:34px;height:34px}
.fp .fp-ctrl .fp-play:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--fs)}
.fp .fp-ctrl .fp-play:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--fs)}
/* включённые режимы и лайк: жёлтая плашка вместо точки, видно на любой обложке */
.fp .fp-ctrl .mode[aria-pressed=true],.fp .fp-ctrl #fpLike[aria-pressed=true]{opacity:1;background:var(--x-tape,#FFD93B);color:#000;border-color:#000;box-shadow:3px 3px 0 var(--fs)}
.fp .fp-ctrl .mode[aria-pressed=true]::after{display:none}
.fp .fp-ctrl #fpLike[aria-pressed=true] svg{color:#000}
@media (max-width:900px){
  .fp .fp-ctrl{gap:4px}
  .fp .fp-ctrl button{height:50px}
  .fp .fp-ctrl button svg{width:24px;height:24px}
  .fp .fp-ctrl .fp-play{height:68px}
}
@media (max-width:900px) and (max-height:720px){
  .fp .fp-info h2{font-size:clamp(1.9rem,9.5vw,2.6rem)}
  .fp .fp-ctrl button{height:44px}
  .fp .fp-ctrl .fp-play{height:60px}
  .fp .fp-pan button{padding:8px 8px 6px;font-size:1.2rem}
}

/* --- Ряд «качество и громкость» --- */
.fp .fp-ext{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;width:100%;max-width:560px}
.fp .vol-w{flex:1;min-width:0}
.fp .vol{width:100%;min-width:60px;max-width:180px}
.qchip{--dim:color-mix(in srgb,currentColor 28%,transparent);display:inline-flex;align-items:center;gap:9px}
.qchip::before{content:"";width:19px;height:15px;flex:none;background:
  linear-gradient(var(--b1,currentColor),var(--b1,currentColor)) 0 100%/3px 35% no-repeat,
  linear-gradient(var(--b2,currentColor),var(--b2,currentColor)) 5px 100%/3px 60% no-repeat,
  linear-gradient(var(--b3,currentColor),var(--b3,currentColor)) 10px 100%/3px 80% no-repeat,
  linear-gradient(var(--b4,currentColor),var(--b4,currentColor)) 15px 100%/3px 100% no-repeat}
.qchip[data-q=standard]{--b3:var(--dim);--b4:var(--dim)}
.qchip[data-q=high]{--b4:var(--dim)}
.qchip::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(-135deg);flex:none}
.qchip[aria-expanded=true]::after{transform:translateY(1px) rotate(45deg)}
.fp .qchip{padding:9px 14px;border:3px solid var(--ff);border-radius:0;font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:600;font-size:.86rem;box-shadow:3px 3px 0 var(--fs);transition:transform .15s,box-shadow .15s,background-color .15s,color .15s}
.fp .qchip:hover{background:var(--ff);color:var(--fb);transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--fs)}
.fp .qchip[aria-expanded=true]{background:var(--x-tape,#FFD93B);color:#000;border-color:#000}

/* --- Меню качества: панель с уровнями, на телефоне шторка снизу --- */
.qm-bd{position:fixed;inset:0;z-index:94;background:transparent}
.qm2{min-width:0;width:min(372px,calc(100vw - 16px));display:block;padding:0;background:#0A0A0A;color:#EDEDE6;border:3px solid #EDEDE6;box-shadow:7px 7px 0 var(--x-blue,#2F3BFF);transform-origin:bottom left;animation:qmIn .22s cubic-bezier(.2,.9,.3,1.15)}
.qm-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px 8px;background:var(--x-tape,#FFD93B);color:#000;border-bottom:3px solid #000}
.qm-h strong{font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-size:1.3rem;line-height:1;letter-spacing:.01em}
.qm-h span{font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.74rem;font-weight:600;border:2px solid #000;padding:1px 8px}
.qm2 button[role=menuitemradio]{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:12px 16px;text-align:left;color:inherit;background:none;transition:background-color .12s,color .12s}
.qm2 button[role=menuitemradio]+button{border-top:2px dashed rgba(237,237,230,.26)}
.qm-bars{--dim:rgba(237,237,230,.22);display:block;width:22px;height:20px;background:
  linear-gradient(currentColor,currentColor) 0 100%/4px 35% no-repeat,
  linear-gradient(currentColor,currentColor) 6px 100%/4px 60% no-repeat,
  linear-gradient(var(--b3,currentColor),var(--b3,currentColor)) 12px 100%/4px 80% no-repeat,
  linear-gradient(var(--b4,currentColor),var(--b4,currentColor)) 18px 100%/4px 100% no-repeat}
.qm-bars[data-lv="2"]{--b3:var(--dim);--b4:var(--dim)}
.qm-bars[data-lv="3"]{--b4:var(--dim)}
.qm-t strong{display:block;font-family:var(--poster,"Oswald",sans-serif);text-transform:uppercase;font-weight:700;font-size:1.3rem;line-height:1.05}
.qm-t small{display:block;margin-top:2px;font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.74rem;opacity:.75}
.qm-r{display:grid;justify-items:end;gap:4px}
.qm-r b{font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:500;font-size:.72rem;opacity:.7;white-space:nowrap}
.qm-r em{font-style:normal;font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:700;font-size:.72rem;background:var(--x-tape,#FFD93B);color:#000;padding:1px 8px}
.qm2 button[role=menuitemradio][aria-checked=true]{background:var(--x-tape,#FFD93B);color:#000;--dim:rgba(0,0,0,.22)}
.qm2 button[role=menuitemradio][aria-checked=true] .qm-r b,.qm2 button[role=menuitemradio][aria-checked=true] .qm-t small{opacity:.8}
.qm2 button[role=menuitemradio]:hover:not([aria-checked=true]),.qm2 button[role=menuitemradio]:focus-visible:not([aria-checked=true]){background:#EDEDE6;color:#000;--dim:rgba(0,0,0,.22)}
.qm2 button[role=menuitemradio]:focus-visible{outline:3px solid var(--x-blue,#2F3BFF);outline-offset:-5px}
.qm-f{padding:10px 16px 13px;border-top:2px dashed rgba(237,237,230,.26);font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.74rem;line-height:1.45;opacity:.72}
@keyframes qmIn{from{opacity:0;transform:translateY(10px) scale(.96)}}
@keyframes qmUp{from{transform:translateY(100%)}}
@media (max-width:900px){
  .qm-bd{background:rgba(0,0,0,.55);animation:qmFade .2s}
  .qm2.is-sheet{position:fixed;left:0;right:0;bottom:0;width:auto;border-width:3px 0 0;box-shadow:none;padding-bottom:env(safe-area-inset-bottom);animation:qmUp .32s cubic-bezier(.2,.9,.3,1)}
  .qm2.is-sheet button[role=menuitemradio]{padding:14px 16px}
  @keyframes qmFade{from{opacity:0}}
}
@media (prefers-reduced-motion:reduce){.qm2,.qm2.is-sheet,.qm-bd{animation:none}}

/* --- Метка «Играет» с живым эквалайзером --- */
.fp.is-on .fp-tag::before{content:"";display:inline-block;width:15px;height:13px;margin-right:8px;vertical-align:-1px;background:linear-gradient(#000,#000) 0 100%/3px 40% no-repeat,linear-gradient(#000,#000) 6px 100%/3px 90% no-repeat,linear-gradient(#000,#000) 12px 100%/3px 60% no-repeat;animation:fpEq .9s ease-in-out infinite alternate}
@keyframes fpEq{0%{background-size:3px 30%,3px 100%,3px 50%}50%{background-size:3px 90%,3px 40%,3px 100%}100%{background-size:3px 55%,3px 85%,3px 25%}}
@media (prefers-reduced-motion:reduce){.fp.is-on .fp-tag::before{animation:none}}

/* --- Сцена с текстом: цветной растр поверх серой обложки и зубчатый низ --- */
@media (max-width:900px){
  .fp.is-text .fp-cv-wrap::before{inset:0;top:0;left:0;width:auto;height:auto;border:0;transform:none;opacity:1;z-index:3;mix-blend-mode:multiply;background:radial-gradient(circle,rgba(0,0,0,.6) 0 1px,transparent 1.7px) 0 0/5px 5px}
  .fp .fp-cv-wrap::after{background:linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.1) 34%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.66) 100%),var(--fb);mix-blend-mode:multiply}
}
.qm2 button[aria-checked=true] strong::before{content:none}
.qm2 button[role=menuitemradio]:hover{background:#EDEDE6;color:#000}
.qm2 button[role=menuitemradio][aria-checked=true]:hover{background:var(--x-tape,#FFD93B)}
@media (max-width:900px){
  .fp .fp-cv-wrap::after{background:linear-gradient(180deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.26) 34%,rgba(0,0,0,.3) 62%,rgba(0,0,0,.7) 100%),var(--fb)}
  .fp.is-text .fp-x{color:#fff;border-color:#fff;background:rgba(0,0,0,.4)}
}

/* ===== Плеер v3: одна лента, ссылки, громкость на телефоне ===== */

/* --- Одна лента: волна громких и тихих мест, она же полоса перемотки. Тянется пальцем, головка растёт, над ней время --- */
.fp .fp-seek{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;max-width:560px}
.fp .fp-t{font-family:var(--typed,"IBM Plex Mono",monospace);font-size:.86rem;font-weight:500;font-variant-numeric:tabular-nums;min-width:2.7em}
.fp .fp-t:last-child{text-align:right}
.fp .fp-scrub{position:relative;height:38px;--p:0%;touch-action:none}
.fp .fp-scrub .fp-wave{position:absolute;inset:0;height:auto;margin:0;pointer-events:none;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.fp .fp-scrub .fp-wave[hidden]{display:none}
.fp .fp-wave .w i{border-radius:0;min-width:2px}
.fp .fp-wave .w{gap:2px}
.fp .fp-scrub.is-drag .fp-wave{transform:scaleY(1.22)}
/* без волны (у трека её ещё нет) лента остаётся полосой */
.fp .fp-line{position:absolute;left:0;right:0;top:50%;height:14px;margin-top:-7px;border:3px solid var(--ff);background:linear-gradient(to right,var(--ff) var(--p),transparent var(--p));pointer-events:none}
.fp .fp-scrub.has-wave .fp-line{display:none}
.fp .fp-head{position:absolute;top:-2px;bottom:-2px;left:var(--p);width:4px;margin-left:-2px;background:var(--ff);box-shadow:0 0 0 2px var(--fb);pointer-events:none;transition:transform .2s cubic-bezier(.2,1.5,.4,1)}
.fp .fp-scrub.is-drag .fp-head{transform:scaleX(2) scaleY(1.2);background:var(--x-tape,#FFD93B);box-shadow:0 0 0 2px #000}
.fp .fp-bub{position:absolute;bottom:calc(100% + 6px);left:clamp(22px,var(--p),calc(100% - 22px));transform:translate(-50%,6px) scale(.85);opacity:0;pointer-events:none;background:var(--x-tape,#FFD93B);color:#000;border:2px solid #000;padding:1px 8px;font-family:var(--typed,"IBM Plex Mono",monospace);font-weight:600;font-size:.8rem;box-shadow:3px 3px 0 var(--fs);transition:opacity .15s,transform .2s cubic-bezier(.2,1.5,.4,1)}
.fp .fp-scrub.is-drag .fp-bub{opacity:1;transform:translate(-50%,0) scale(1)}
.fp .fp-scrub input[type=range]{position:absolute;inset:-6px 0;width:100%;height:calc(100% + 12px);margin:0;opacity:0;cursor:pointer}
.fp .fp-scrub:focus-within .fp-head{box-shadow:0 0 0 2px var(--fb),0 0 0 5px var(--ff)}
@media (prefers-reduced-motion:reduce){.fp .fp-scrub .fp-wave,.fp .fp-head,.fp .fp-bub{transition:none}}

/* --- Название и артист открывают свои страницы --- */
.fp-info a{color:inherit;text-decoration:none;background:linear-gradient(var(--x-tape,#FFD93B),var(--x-tape,#FFD93B)) 0 100%/0 .16em no-repeat;transition:background-size .25s cubic-bezier(.2,.8,.2,1),color .15s}
.fp-info a:hover,.fp-info a:focus-visible{background-size:100% .16em;outline:0}
.fp-info h2 a:hover{text-shadow:none}
.fp-info p a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
.fp-info p a:hover{text-decoration-color:transparent}

/* --- Громкость есть и на телефоне --- */
.fp .vol{display:block}
.fp .fp-ext{gap:12px}
.fp .vol-w{flex:1;min-width:0;gap:4px}
.fp .vol{min-width:0;max-width:none;height:34px}
.fp .vol-w button{flex:none}

/* --- Ровный ряд: всё по центру колонки, а не прижато вправо --- */
.fp .fp-ctrl button{display:grid;place-items:center;padding:0}
.fp .fp-ctrl button svg{display:block;margin:0 auto}
.fp .fp-ctrl .fp-play svg{margin-left:3px}

/* --- Телефон: плотнее, чтобы окну с текстом досталось больше места --- */
@media (max-width:900px){
  .fp .fp-main{gap:11px;padding-top:62px}
  .fp .fp-info h2{font-size:clamp(1.9rem,8.6vw,2.6rem);line-height:.95}
  .fp .fp-info p{margin-top:6px;font-size:1rem}
  .fp .fp-ctrl{margin-top:2px}
  .fp .fp-ctrl button{height:46px}
  .fp .fp-ctrl .fp-play{height:60px}
  .fp .fp-pan button{padding:8px 8px 6px;font-size:1.2rem}
  .fp .fp-cv-wrap>.fp-side{padding-top:66px}
}
@media (max-width:900px) and (max-height:720px){
  .fp .fp-info h2{font-size:clamp(1.7rem,8vw,2.2rem)}
  .fp .fp-ctrl button{height:42px}
  .fp .fp-ctrl .fp-play{height:54px}
}
/* иконки строго по центру; треугольник Play сдвинут на пару пикселей для оптического баланса */
.fp .fp-ctrl button svg{margin:0}
.fp .fp-ctrl .fp-play svg{margin:0;transform:translateX(2px)}
.fp .fp-scrub,.fp .fp-ctrl,.fp .fp-tag,.fp .fp-pan{-webkit-user-select:none;user-select:none}

/* ===== Плеер v4: пластинка прячется в карточку, обложка по центру, лента потоньше ===== */

/* --- Пластинка: на паузе целиком спрятана за обложкой, при запуске выезжает и крутится --- */
.fp .fp-vinyl{translate:-31% 0;opacity:0;transition:translate .9s cubic-bezier(.2,.8,.2,1),opacity .2s .65s}
.fp.is-on .fp-vinyl{translate:28% 0;opacity:1;transition:translate .9s cubic-bezier(.2,.8,.2,1),opacity .12s 0s}
@media (prefers-reduced-motion:reduce){.fp .fp-vinyl,.fp.is-on .fp-vinyl{transition:none}}

@media (max-width:900px){
  /* на телефоне пластинка тоже есть, но короче: после выезда пара «обложка + пластинка» остаётся по центру экрана */
  .fp .fp-cv-wrap{width:min(60vw,300px);align-self:flex-start;margin-left:calc((100% - min(60vw,300px)) / 2);margin-right:0;transition:width .7s cubic-bezier(.2,.8,.2,1),height .7s cubic-bezier(.2,.8,.2,1),margin .7s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
  .fp.is-on .fp-cv-wrap{transform:translateX(-17%)}
  .fp .fp-vinyl{display:block;left:10%;top:5%;width:90%;translate:-12% 0}
  .fp.is-on .fp-vinyl{translate:38% 0}
  /* в режиме текста обложка растягивается на весь экран и никуда не сдвигается */
  .fp.is-text .fp-cv-wrap{transform:none}
  .fp.is-text .fp-vinyl{opacity:0;transition:opacity .2s}
}

/* --- Лента перемотки: тоньше, ровнее, с квадратной ручкой --- */
.fp .fp-seek{gap:10px}
.fp .fp-t{font-size:.78rem;min-width:2.5em;opacity:.95}
.fp .fp-scrub{height:30px}
.fp .fp-scrub .fp-wave{overflow:hidden}
.fp .fp-wave .w{gap:2px;overflow:hidden}
.fp .fp-wave .w i{flex:1 1 0;min-width:0;border-radius:0}
.fp .fp-wave .w i{opacity:.3}
.fp .fp-line{height:10px;margin-top:-5px;border-width:2px}
.fp .fp-head{width:3px;margin-left:-1.5px;top:-3px;bottom:-3px;box-shadow:none}
.fp .fp-head::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;background:var(--x-tape,#FFD93B);border:2px solid #000;transition:transform .2s cubic-bezier(.2,1.5,.4,1)}
.fp .fp-scrub.is-drag .fp-head{transform:none;background:var(--ff);box-shadow:none}
.fp .fp-scrub.is-drag .fp-head::before{transform:scale(1.5) rotate(45deg)}
.fp .fp-scrub.is-drag .fp-wave{transform:scaleY(1.18)}
.fp .fp-scrub:focus-within .fp-head{box-shadow:none}
.fp .fp-scrub:focus-within .fp-head::before{outline:3px solid var(--ff);outline-offset:2px}
