.music-page{padding-bottom:110px}.music-hero{padding:82px 0 46px}.music-hero h1{margin:.08em 0 .12em;font-size:clamp(5rem,18vw,12rem);line-height:.76;letter-spacing:-.075em}.music-section{padding:28px 0 90px}.music-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.music-head h2{margin:6px 0 0;font-size:clamp(2.1rem,6vw,4.3rem);line-height:.9;letter-spacing:-.05em}.catalog-count{color:#8e8a84;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.song-card{position:relative;overflow:hidden;min-height:420px;border:1px solid rgba(255,255,255,.10);border-radius:26px;background:#101010;box-shadow:0 18px 54px rgba(0,0,0,.22);isolation:isolate;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.song-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transition:transform .5s ease,filter .35s ease}.song-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-4;filter:saturate(1.08) contrast(1.04);transform:scale(1.02);pointer-events:none}.song-card.has-video.has-cover .song-cover{inset:18px auto auto 50%;width:58%;height:61%;object-fit:cover;border-radius:18px;transform:translateX(-50%);box-shadow:0 18px 50px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.12)}.song-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18)}.song-card:hover .song-cover{transform:scale(1.025)}.song-card.has-video.has-cover:hover .song-cover{transform:translateX(-50%) scale(1.025)}.song-card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(5,5,5,.05) 18%,rgba(5,5,5,.32) 48%,rgba(8,8,8,.91) 82%,#080808 100%)}.song-card.has-video::before{background:linear-gradient(180deg,rgba(5,5,5,.08) 10%,rgba(5,5,5,.20) 44%,rgba(8,8,8,.88) 80%,#080808 100%)}.song-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 58%);pointer-events:none}.song-card.fallback .song-cover{display:none}.song-card.fallback{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.08),transparent 38%),#101010}.song-card[data-song="armando"]{border-color:rgba(203,84,255,.22);box-shadow:0 22px 74px rgba(81,0,113,.20)}.song-card[data-song="armando"]::after{background:radial-gradient(circle at 50% 26%,rgba(123,48,255,.14),transparent 35%),linear-gradient(90deg,rgba(0,0,0,.12),transparent 60%)}.song-card[data-song="funhouse-meltdown"].fallback{background:radial-gradient(circle at 22% 18%,rgba(255,222,91,.36),transparent 17rem),radial-gradient(circle at 80% 26%,rgba(255,63,168,.34),transparent 18rem),radial-gradient(circle at 52% 70%,rgba(66,213,255,.25),transparent 19rem),repeating-conic-gradient(from 8deg at 50% 36%,rgba(255,255,255,.055) 0 8deg,transparent 8deg 22deg),#210127}.song-card[data-song="funhouse-meltdown"]::before{background:linear-gradient(180deg,rgba(11,0,15,.05) 10%,rgba(11,0,15,.25) 48%,rgba(11,0,15,.92) 83%,#09000c 100%)}.song-card[data-song="the-musician-police"] .song-cover{object-position:50% 40%}.song-card[data-song="the-musician-police"]::before{background:linear-gradient(180deg,rgba(3,8,16,.04) 13%,rgba(3,8,16,.25) 46%,rgba(3,8,16,.93) 82%,#050b14 100%)}.song-card[data-song="level-up"] .song-cover{object-position:50% 53%}.song-card[data-song="level-up"]::before{background:linear-gradient(180deg,rgba(6,7,8,.03) 13%,rgba(6,7,8,.18) 43%,rgba(7,8,9,.94) 82%,#070809 100%)}.song-art-hit{position:absolute;z-index:1;top:0;left:0;right:0;height:58%;display:flex;align-items:flex-start;justify-content:flex-start;padding:18px;border:0;background:transparent;color:#f3f1eb;text-decoration:none;cursor:pointer;text-align:left}.song-art-hit.is-disabled{cursor:default}.song-art-cue{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,8,8,.58);box-shadow:0 8px 28px rgba(0,0,0,.22);backdrop-filter:blur(12px);font-size:.68rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,transform .2s ease}.song-art-hit:hover .song-art-cue,.song-art-hit:focus-visible .song-art-cue{background:rgba(242,240,233,.94);border-color:#f2f0e9;color:#090909;transform:translateY(-1px)}.song-art-hit:focus-visible{outline:2px solid #f2f0e9;outline-offset:-4px}.song-card.is-selected{border-color:rgba(255,255,255,.28)}.song-card.is-playing{border-color:rgba(255,255,255,.42);box-shadow:0 24px 74px rgba(0,0,0,.34)}.song-card.is-playing .song-art-cue{background:#f1eee7;border-color:#f1eee7;color:#090909}.song-card-body{position:relative;z-index:2;min-height:420px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.song-meta{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:8px;color:#a6a29b;font-size:.67rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.song-card h3{margin:0;font-size:clamp(1.7rem,3vw,2.7rem);line-height:.96;letter-spacing:-.045em}.song-card p{margin:12px 0 0;color:#c2beb7}.song-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;pointer-events:auto}.song-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(12,12,12,.76);color:#f2f0e9;font-weight:760;cursor:pointer;backdrop-filter:blur(8px)}.song-link:hover{border-color:rgba(255,255,255,.30);background:rgba(25,25,25,.88)}.catalog-empty{padding:30px;border:1px solid rgba(255,255,255,.08);border-radius:20px;color:#aaa69f}.catalog-player{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,8,8,0),rgba(8,8,8,.88) 18%,rgba(8,8,8,.98));backdrop-filter:blur(16px)}.catalog-player-inner{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(15,15,15,.94);box-shadow:0 18px 60px rgba(0,0,0,.45)}.player-cover{width:58px;height:58px;border-radius:12px;object-fit:cover;background:#171717}.player-copy{min-width:0}.player-copy small,.player-status{display:block;color:#99958f;font-size:.72rem}.player-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.08rem}.player-status{min-height:1em;margin-top:2px}.catalog-controls{display:flex;align-items:center;gap:7px}.catalog-play,.catalog-skip{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);background:#191919;color:#f3f1eb;cursor:pointer}.catalog-play{width:48px;height:48px;border-radius:50%;font-size:1rem}.catalog-skip{width:38px;height:38px;border-radius:50%;font-size:1rem}.catalog-play:hover,.catalog-skip:hover{background:#262626;border-color:rgba(255,255,255,.26)}.catalog-play:focus-visible,.catalog-skip:focus-visible{outline:2px solid #f2f0e9;outline-offset:2px}.catalog-progress{position:absolute;left:16px;right:16px;bottom:8px;height:4px;border-radius:99px;background:#292929;overflow:hidden;cursor:pointer}.catalog-progress span{display:block;width:0;height:100%;background:#e9e5dc}.cmd-radio-gate{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:24px;background:rgba(4,4,5,.76);backdrop-filter:blur(18px);transition:opacity .28s ease,background .28s ease,backdrop-filter .28s ease}.cmd-radio-gate.is-cue{background:rgba(3,3,4,.46);backdrop-filter:blur(8px)}.cmd-radio-gate.is-leaving{opacity:0;pointer-events:none}.cmd-radio-intro{position:relative;width:min(100%,430px);padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:radial-gradient(circle at 78% 8%,rgba(150,132,255,.20),transparent 15rem),rgba(13,13,15,.97);box-shadow:0 28px 90px rgba(0,0,0,.55)}.cmd-radio-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#19191d;color:#f3f1eb;font-size:1.35rem;cursor:pointer}.cmd-radio-kicker{padding-right:42px;color:#a9a2c0;font-size:.69rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.cmd-radio-intro h2{margin:.2em 0 .06em;font-size:clamp(4rem,17vw,6.7rem);line-height:.78;letter-spacing:-.075em}.cmd-radio-stats{margin:14px 0 22px;color:#8f8a96;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cmd-radio-sent{padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.035)}.cmd-radio-sent small{display:block;color:#918b9c;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cmd-radio-sent strong{display:block;margin-top:4px;font-size:1.12rem;line-height:1.15}.cmd-radio-intro p{margin:18px 0;color:#bbb6ae;line-height:1.5}.cmd-radio-enter{width:100%;min-height:52px;border:0;border-radius:999px;background:#f1eee7;color:#090909;font-weight:900;cursor:pointer}.cmd-radio-cue{display:grid;justify-items:center;gap:18px;text-align:center}.cmd-radio-cue[hidden],.cmd-radio-intro[hidden]{display:none}.cmd-radio-big-play{width:154px;height:154px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(11,11,13,.90);color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.50),0 0 0 10px rgba(255,255,255,.035);cursor:pointer;backdrop-filter:blur(12px);transition:transform .18s ease,background .18s ease}.cmd-radio-big-play:hover,.cmd-radio-big-play:focus-visible{transform:scale(1.035);background:#f1eee7;color:#090909;outline:none}.cmd-radio-big-play span{display:block;margin-left:8px;font-size:3.25rem;line-height:.8}.cmd-radio-big-play small{display:block;margin-top:-24px;font-size:.62rem;font-weight:900;letter-spacing:.16em}.cmd-radio-cue-copy{display:grid;gap:4px;max-width:360px;padding:0 12px}.cmd-radio-cue-copy strong{font-size:1.4rem}.cmd-radio-cue-copy span{color:#bbb6c4}.cmd-radio-cue-copy small{margin-top:5px;color:#8e8993;font-size:.74rem}.song-card.shared-radio-target{border-color:rgba(198,190,255,.48);box-shadow:0 28px 88px rgba(76,59,143,.25),0 0 0 1px rgba(198,190,255,.10)}body.cmd-radio-gated{overflow:hidden}body.cmd-radio-entered .song-card.shared-radio-target.is-playing{box-shadow:0 32px 94px rgba(76,59,143,.28),0 0 0 1px rgba(255,255,255,.13)}@media(max-width:900px){.song-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.music-hero{padding:58px 0 34px}.music-head{align-items:start;flex-direction:column}.song-grid{grid-template-columns:1fr}.song-card,.song-card-body{min-height:470px}.song-card.has-video.has-cover .song-cover{width:54%;height:58%;top:16px}.song-art-hit{height:56%;padding:16px}.song-art-cue{font-size:.64rem}.catalog-player-inner{grid-template-columns:48px minmax(0,1fr) auto;gap:9px;padding:11px 11px 18px}.player-cover{width:48px;height:48px}.player-copy small,.player-status{font-size:.64rem}.player-copy strong{font-size:.95rem}.catalog-controls{gap:4px}.catalog-play{width:44px;height:44px}.catalog-skip{width:34px;height:34px}.song-card h3{font-size:clamp(2rem,9vw,3rem)}.cmd-radio-gate{padding:16px}.cmd-radio-intro{padding:26px 22px 22px;border-radius:26px}.cmd-radio-big-play{width:142px;height:142px}.song-card.shared-radio-target,.song-card.shared-radio-target .song-card-body{min-height:min(68vh,560px)}}@media(max-width:390px){.catalog-player-inner{grid-template-columns:42px minmax(0,1fr) auto;gap:7px}.player-cover{width:42px;height:42px;display:block}.catalog-skip{width:32px;height:32px}.catalog-play{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){.cmd-radio-gate,.cmd-radio-big-play{transition:none!important}}

/* Swipe browse */
.catalog-player-inner{touch-action:pan-y;}
.catalog-player .swipe-hint{
  display:none;
  margin:0;
  padding:0 0 .35rem;
  text-align:center;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,232,220,.55);
}
@media (hover:none) and (pointer:coarse){
  .catalog-player:not([hidden]) .swipe-hint{display:block;}
}

/* Listener final — why / taste / search / lineages / swipe */
.player-cover,.catalog-player-inner,.player-copy,.cmd-swipe-target{touch-action:pan-y;}
.player-why{display:block;margin-top:3px;color:#c4a090;font-size:.68rem;line-height:1.25;letter-spacing:.02em}
.catalog-taste{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#191919;color:#f3f1eb;cursor:pointer;font-size:.9rem;line-height:1}
.catalog-taste.is-active{background:#f1eee7;color:#090909;border-color:#f1eee7}
.catalog-taste:hover{border-color:rgba(255,255,255,.3);background:#262626}
.catalog-taste.is-active:hover{background:#fff;color:#090909}
.cmd-swipe-target.is-swipe-next{animation:cmdSwipeNext .22s ease}
.cmd-swipe-target.is-swipe-prev{animation:cmdSwipePrev .22s ease}
@keyframes cmdSwipeNext{0%{transform:translateX(0)}40%{transform:translateX(-10px)}100%{transform:translateX(0)}}
@keyframes cmdSwipePrev{0%{transform:translateX(0)}40%{transform:translateX(10px)}100%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.cmd-swipe-target.is-swipe-next,.cmd-swipe-target.is-swipe-prev{animation:none}}

.catalog-search-bar{position:sticky;top:12px;z-index:30;margin:0 0 22px;padding:16px 18px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:rgba(12,10,10,.92);backdrop-filter:blur(14px);box-shadow:0 16px 48px rgba(0,0,0,.28)}
.catalog-search-label{display:block;margin-bottom:8px;color:#a89a90;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.catalog-search-row{display:flex;gap:10px;align-items:center}
.catalog-search-row input{flex:1;min-height:46px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#161414;color:#f3f1eb;font:inherit}
.catalog-search-row input:focus{outline:2px solid rgba(232,120,110,.55);outline-offset:1px;border-color:rgba(232,120,110,.45)}
.catalog-search-clear{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#f2f0e9;cursor:pointer;font-weight:760}
.catalog-search-hints{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.catalog-hint{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(232,120,110,.22);background:rgba(90,28,28,.28);color:#f4e8dc;font-size:.72rem;font-weight:760;cursor:pointer}
.catalog-hint:hover{border-color:rgba(232,120,110,.5);background:rgba(120,36,36,.4)}
.catalog-search-empty{margin:12px 0 0;color:#c4a090;font-size:.9rem}
.song-card[hidden]{display:none!important}

.lineage-rail{padding:10px 0 8px}
.lineage-rail-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}
.lineage-rail-head h2{margin:6px 0 0;font-size:clamp(2rem,5.5vw,3.6rem);line-height:.9;letter-spacing:-.05em}
.lineage-rail-head p{max-width:38ch;color:#b7b2aa}
.lineage-rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,78vw);gap:14px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.lineage-card{scroll-snap-align:start;display:grid;grid-template-rows:150px auto;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;background:#121010;color:#f3f1eb;cursor:pointer;padding:0;box-shadow:0 16px 44px rgba(0,0,0,.28)}
.lineage-card img,.lineage-card-fallback{width:100%;height:150px;object-fit:cover;background:radial-gradient(circle at 30% 20%,rgba(232,120,110,.35),transparent 55%),#1a1212}
.lineage-card-copy{display:grid;gap:4px;padding:14px 14px 16px}
.lineage-card-copy small{color:#c4a090;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.lineage-card-copy strong{font-size:1.15rem;letter-spacing:-.03em}
.lineage-card-copy span{color:#b7b2aa;font-size:.86rem;line-height:1.35}
.lineage-card:hover{border-color:rgba(232,120,110,.4);transform:translateY(-1px)}

@media(max-width:620px){
  .catalog-controls{gap:3px}
  .catalog-taste{width:30px;height:30px;font-size:.8rem}
  .player-why{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lineage-rail-head{flex-direction:column;align-items:start}
  .catalog-player-inner{grid-template-columns:48px minmax(0,1fr) auto}
}
@media(max-width:390px){
  .catalog-taste{display:none}
  .player-why{display:none}
}

/* Taste clusters — most likely rail + player chip */
.taste-rail{padding:10px 0 8px}
.taste-rail[hidden]{display:none!important}
.taste-rail-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}
.taste-rail-head h2{margin:6px 0 0;font-size:clamp(2rem,5.5vw,3.6rem);line-height:.9;letter-spacing:-.05em}
.taste-rail-head p{max-width:42ch;color:#b7b2aa}
.taste-rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,72vw);gap:14px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.taste-card{scroll-snap-align:start;display:grid;grid-template-rows:140px auto;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;background:#121010;color:#f3f1eb;cursor:pointer;padding:0;box-shadow:0 16px 44px rgba(0,0,0,.28)}
.taste-card img,.taste-card-fallback{width:100%;height:140px;object-fit:cover;background:radial-gradient(circle at 30% 20%,rgba(150,120,255,.35),transparent 55%),#141018}
.taste-card-copy{display:grid;gap:4px;padding:14px 14px 16px}
.taste-card-copy small{color:#c4a090;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.taste-card-copy strong{font-size:1.08rem;letter-spacing:-.03em}
.taste-card-copy span{color:#b7b2aa;font-size:.82rem;line-height:1.35}
.taste-card:hover{border-color:rgba(180,150,255,.45);transform:translateY(-1px)}
.player-cluster{display:inline-flex;align-items:center;margin-top:4px;margin-right:8px;padding:2px 9px;border-radius:999px;border:1px solid rgba(196,160,144,.35);background:rgba(90,40,40,.28);color:#e8d2c4;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.player-cluster[hidden]{display:none!important}
@media(max-width:620px){
  .taste-rail-head{flex-direction:column;align-items:start}
  .player-cluster{font-size:.58rem;padding:2px 7px}
}
@media(max-width:390px){
  .player-cluster{display:none}
}


/* Player open: default room; mobile pane modes override below */
body.catalog-player-open.music-page{padding-bottom:168px}
.catalog-lyrics:not([hidden]){min-height:0;position:relative;z-index:1}
/* On-site lyrics (catalog player + card disclosures) */
.catalog-lyrics{
  width:min(100%,var(--shell-max,1100px));
  margin:0 auto 8px;
  padding:0 16px;
}
.catalog-lyrics-head{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.catalog-lyrics-toggle{
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(18,18,18,.92);
  color:#f2f0e9;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.catalog-lyrics-toggle[aria-expanded="true"]{
  border-color:rgba(255,255,255,.32);
  background:rgba(242,240,233,.94);
  color:#090909;
}
.catalog-lyrics-suno{
  color:#c9c4bb;
  font-size:.78rem;
  font-weight:720;
  text-decoration:none;
}
.catalog-lyrics-suno:hover{color:#f2f0e9;text-decoration:underline}
.catalog-lyrics-body{
  margin-top:8px;
  max-height:min(28vh,260px);
  overflow:auto;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(10,10,10,.92);
  color:#d8d4cc;
  font-size:.88rem;
  line-height:1.45;
  -webkit-overflow-scrolling:touch;
}
.lyric-tag{
  display:inline-block;
  margin:.35em 0 .1em;
  color:#8e8a84;
  font-size:.72rem;
  font-weight:780;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.song-lyrics-details{
  margin-top:14px;
  pointer-events:auto;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(8,8,8,.55);
  backdrop-filter:blur(8px);
}
.song-lyrics-details>summary{
  list-style:none;
  cursor:pointer;
  padding:10px 14px;
  color:#f2f0e9;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.song-lyrics-details>summary::-webkit-details-marker{display:none}
.song-lyrics-details[open]>summary{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.song-lyrics-text{
  max-height:220px;
  overflow:auto;
  padding:12px 14px 16px;
  color:#d2cec6;
  font-size:.86rem;
  line-height:1.5;
}
@media(max-width:620px){
  .catalog-lyrics{padding:0;margin:0}
  .catalog-lyrics-body{max-height:none;flex:1 1 auto;min-height:0;font-size:.8rem;padding:8px 10px}
}

/* Player chrome — pane tabs / sheet heights / search collapse */
.catalog-sheet-chrome{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:min(100%,var(--shell-max,1100px));
  margin:0 auto;
  padding:2px 12px 0;
  flex:0 0 auto;
  position:relative;
  z-index:2;
}
.catalog-player > .catalog-sheet-chrome{
  width:auto;
  margin-left:10px;
  margin-right:10px;
}
.catalog-sheet-handle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:22px;
  padding:4px 14px;
  border:0;
  border-radius:999px;
  background:transparent;
  cursor:pointer;
  color:#9a958e;
}
.catalog-sheet-handle-bar{
  display:block;
  width:36px;
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
}
.catalog-sheet-handle:hover .catalog-sheet-handle-bar,
.catalog-sheet-handle:focus-visible .catalog-sheet-handle-bar{
  background:rgba(242,240,233,.72);
}
.catalog-sheet-handle:focus-visible{outline:2px solid #f2f0e9;outline-offset:2px}
.catalog-sheet-actions{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
}
.catalog-sheet-btn{
  min-height:28px;
  min-width:28px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(18,18,18,.92);
  color:#f2f0e9;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
}
.catalog-sheet-btn:hover:not(:disabled){
  border-color:rgba(255,255,255,.28);
  background:rgba(40,40,40,.94);
}
.catalog-sheet-btn:disabled,
.catalog-sheet-btn[aria-disabled="true"]{
  opacity:.35;
  cursor:default;
}
.catalog-sheet-btn:focus-visible{outline:2px solid #f2f0e9;outline-offset:2px}
.catalog-sheet-full-lyrics,
.catalog-sheet-full-lyrics-inline,
.catalog-sheet-done{
  background:rgba(242,240,233,.94);
  color:#090909;
  border-color:rgba(242,240,233,.94);
}
.catalog-sheet-full-lyrics-inline{
  min-height:28px;
  font-size:.62rem;
}
.catalog-lyrics-head .catalog-sheet-full-lyrics-inline[hidden]{display:none!important}

.catalog-pane-tabs{
  width:min(100%,var(--shell-max,1100px));
  margin:2px auto 4px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  padding:3px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(15,15,15,.94);
  flex:0 0 auto;
  box-sizing:border-box;
}
.catalog-player > .catalog-pane-tabs{
  width:auto;
  margin-left:16px;
  margin-right:16px;
}
.catalog-pane-tab{
  min-height:32px;
  padding:0 8px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#bdb8b0;
  cursor:pointer;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.catalog-pane-tab.is-active,
.catalog-pane-tab[aria-selected="true"]{
  background:rgba(242,240,233,.94);
  color:#090909;
}
.catalog-pane-tab:hover:not(.is-active):not([aria-selected="true"]){
  color:#f3f1eb;
  background:rgba(255,255,255,.06);
}
.catalog-pane-tab:focus-visible{outline:2px solid #f2f0e9;outline-offset:2px}

.catalog-player-pane{
  width:min(100%,var(--shell-max,1100px));
  margin:0 auto 4px;
  padding:0 16px 2px;
  min-height:0;
}
.catalog-player.pane-page .catalog-player-pane{display:none}
.catalog-player.pane-lyrics .catalog-player-search{display:none}
.catalog-player.pane-search .catalog-lyrics{display:none}
.catalog-player-pane[hidden],
.catalog-lyrics[hidden],
.catalog-player-search[hidden],
.catalog-lyrics-body[hidden]{display:none!important}
.catalog-lyrics:not([hidden]),
.catalog-player-search:not([hidden]){min-height:0}

.catalog-lyrics-empty{
  margin:8px 0 0;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  color:#a89a90;
  font-size:.82rem;
}
.catalog-player.pane-lyrics .catalog-lyrics-body:not([hidden]){
  max-height:min(18vh,180px);
}
.catalog-player-search{
  margin-top:2px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(10,10,10,.92);
}
.catalog-player-search-label{
  display:block;
  margin-bottom:6px;
  color:#a89a90;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.catalog-player-search-row{display:flex;gap:8px;align-items:center}
.catalog-player-search-row input{
  flex:1;min-width:0;min-height:36px;padding:0 12px;
  border:1px solid rgba(255,255,255,.14);border-radius:999px;
  background:#161414;color:#f3f1eb;font:inherit
}
.catalog-player-search-hints{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
  max-height:4.5em;
  overflow:hidden;
}
.catalog-hint-more{border-style:dashed;opacity:.92}
.catalog-player-search-results{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:8px;
  min-height:0;
  max-height:min(28vh,220px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.catalog-player-search-results[hidden]{display:none!important}
.catalog-search-results-empty{
  margin:0;
  padding:8px 10px;
  color:#a89a90;
  font-size:.72rem;
}
.catalog-search-result{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.catalog-search-result-main{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(22,18,18,.92);
  color:#f3f1eb;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.catalog-search-result-main:hover,
.catalog-search-result-main:focus-visible{
  border-color:rgba(232,120,110,.45);
  background:rgba(70,28,28,.45);
  outline:none;
}
.catalog-search-result-main strong{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.82rem;
  font-weight:760;
}
.catalog-search-result-meta{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#a89a90;
  font-size:.62rem;
}
.catalog-search-result-open{
  flex:0 0 auto;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  color:#f4e8dc;
  font-size:.62rem;
  font-weight:760;
  text-decoration:none;
  white-space:nowrap;
}
.catalog-search-result-open:hover{border-color:rgba(232,120,110,.45)}

/* Title/status never crush into vertical single-word stacks */
.catalog-player-inner{
  grid-template-columns:58px minmax(0,1fr) auto;
}
.player-copy{
  min-width:0;
  overflow:hidden;
}
.player-copy strong,
#playerTitle{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.player-status,
.player-copy small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.catalog-controls{
  flex-wrap:nowrap;
  flex-shrink:0;
}

/* Sheet heights (orthogonal to pane mode) */
.catalog-player{
  display:flex;
  flex-direction:column;
  bottom:0;
  transition:max-height .22s ease,bottom .15s ease;
}
.catalog-player.keyboard-open{
  /* Compact while soft keyboard is up — keep the search field visible */
  max-height:min(42vh,360px)!important;
}
.catalog-player.keyboard-open .catalog-player-search-hints,
.catalog-player.keyboard-open .tactile-scrubber-shell,
.catalog-player.keyboard-open .swipe-hint,
.catalog-player.keyboard-open .catalog-sheet-chrome .catalog-sheet-full-lyrics,
.catalog-player.keyboard-open .catalog-sheet-chrome .catalog-sheet-done{
  display:none!important;
}
.catalog-player.keyboard-open .catalog-player-pane{
  flex:0 0 auto;
}
body.cmd-keyboard-open.catalog-player-open.music-page{
  padding-bottom:calc(var(--vv-keyboard-inset,0px) + min(44vh,380px));
}
@media(prefers-reduced-motion:reduce){
  .catalog-player{transition:none!important}
}

.catalog-player.sheet-mini,
.catalog-player.is-minimized{
  max-height:min(15vh,120px);
}
.catalog-player.sheet-dock{max-height:min(27vh,30vh)}
.catalog-player.sheet-info{max-height:min(45vh,420px)}
.catalog-player.sheet-full{max-height:min(92vh,920px)}

/* Minimized / mini: compact transport only */
.catalog-player.sheet-mini .catalog-player-pane,
.catalog-player.is-minimized .catalog-player-pane,
.catalog-player.sheet-mini .tactile-scrubber-shell,
.catalog-player.is-minimized .tactile-scrubber-shell,
.catalog-player.sheet-mini .swipe-hint,
.catalog-player.is-minimized .swipe-hint,
.catalog-player.sheet-mini .player-why,
.catalog-player.is-minimized .player-why,
.catalog-player.sheet-mini .player-cluster,
.catalog-player.is-minimized .player-cluster,
.catalog-player.sheet-mini .player-status,
.catalog-player.is-minimized .player-status,
.catalog-player.sheet-mini .catalog-taste,
.catalog-player.is-minimized .catalog-taste,
.catalog-player.sheet-mini .catalog-pane-tabs,
.catalog-player.is-minimized .catalog-pane-tabs,
.catalog-player.sheet-mini .catalog-skip,
.catalog-player.is-minimized .catalog-skip,
.catalog-player.sheet-mini .cmd-now-song-link,
.catalog-player.is-minimized .cmd-now-song-link{display:none!important}
.catalog-player.sheet-mini .catalog-sheet-actions .catalog-sheet-full-lyrics,
.catalog-player.sheet-mini .catalog-sheet-actions .catalog-sheet-done,
.catalog-player.is-minimized .catalog-sheet-actions .catalog-sheet-full-lyrics,
.catalog-player.is-minimized .catalog-sheet-actions .catalog-sheet-done{display:none!important}
.catalog-player.sheet-mini .catalog-player-inner,
.catalog-player.is-minimized .catalog-player-inner{
  grid-template-columns:48px minmax(0,1fr) auto;
  padding:8px 12px 14px;
}
.catalog-player.sheet-mini,
.catalog-player.is-minimized{padding-top:2px}

/* Body padding matches sheet height */
body.catalog-player-open.music-page{padding-bottom:168px}
body.catalog-player-open.music-page:has(#catalogPlayer.sheet-mini),
body.catalog-player-open.music-page:has(#catalogPlayer.is-minimized){padding-bottom:110px}
body.catalog-player-open.music-page:has(#catalogPlayer.sheet-dock){padding-bottom:min(30vh,280px)}
body.catalog-player-open.music-page:has(#catalogPlayer.sheet-info){padding-bottom:min(48vh,440px)}
body.catalog-player-open.music-page:has(#catalogPlayer.sheet-full){padding-bottom:min(94vh,940px)}

/* Page search collapse */
.catalog-search-expand{
  display:none;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(232,120,110,.35);
  background:rgba(90,28,28,.4);
  color:#f4e8dc;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.catalog-search-bar.is-collapsed{
  padding:8px 12px;
  display:flex;
  align-items:center;
}
.catalog-search-bar.is-collapsed .catalog-search-expanded{display:none}
.catalog-search-bar.is-collapsed .catalog-search-expand{display:inline-flex}

/* Mobile sheet layout */
@media(max-width:620px){
  .catalog-player{
    display:flex;
    flex-direction:column;
    padding:4px 0 max(6px,env(safe-area-inset-bottom));
    overflow:hidden;
  }
  .catalog-player.sheet-mini,
  .catalog-player.is-minimized{max-height:min(14vh,110px)}
  .catalog-player.sheet-dock{max-height:min(27vh,30vh)}
  .catalog-player.sheet-info{max-height:min(45vh,420px)}
  .catalog-player.sheet-full{max-height:min(92vh,920px)}

  .catalog-player-inner{
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:8px;
    padding:8px 10px 12px;
    border-radius:18px;
    flex:0 0 auto;
  }
  .player-cover{width:42px;height:42px;border-radius:10px}
  .player-copy strong,#playerTitle{font-size:.9rem}
  .player-copy small,.player-status{font-size:.6rem}
  .catalog-controls{gap:3px;flex-wrap:nowrap}
  .catalog-play{width:40px;height:40px}
  .catalog-skip{width:30px;height:30px}
  .catalog-taste{width:28px;height:28px;font-size:.72rem}
  .catalog-sheet-chrome{margin:0 8px;padding:0 4px;gap:6px}
  .catalog-sheet-btn{min-height:26px;padding:0 8px;font-size:.56rem}
  .catalog-pane-tabs{margin:2px 10px 2px;padding:2px;gap:2px}
  .catalog-player > .catalog-pane-tabs{margin-left:10px;margin-right:10px}
  .catalog-pane-tab{min-height:28px;font-size:.58rem;letter-spacing:.05em;padding:0 4px}
  .catalog-player-pane{
    flex:1 1 auto;
    min-height:0;
    max-height:100%;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    padding:0 10px 2px;
    margin-bottom:2px;
  }
  .catalog-player.pane-page .catalog-player-pane{display:none}
  .catalog-lyrics,
  .catalog-player-search{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .catalog-lyrics-head{gap:8px;flex-wrap:nowrap}
  .catalog-lyrics-toggle{min-height:28px;padding:0 10px;font-size:.62rem}
  .catalog-lyrics-suno{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .catalog-player.pane-lyrics .catalog-lyrics-body:not([hidden]),
  .catalog-lyrics-body{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow:auto;
    margin-top:4px;
  }
  .catalog-player-search{padding:6px 8px}
  .catalog-player-search-label{margin-bottom:4px}
  .catalog-player-search-row input{min-height:32px}
  .catalog-player-search-hints{
    margin-top:6px;
    max-height:2.8em;
    overflow:hidden;
  }
  .catalog-player-search-hints .catalog-hint{min-height:28px;padding:0 9px;font-size:.64rem}
  .catalog-player-search-results{margin-top:6px;max-height:min(22vh,180px);gap:3px}
  .catalog-search-result-main{padding:6px 8px}
  .catalog-search-result-main strong{font-size:.74rem}
  .catalog-search-result-meta{font-size:.58rem}
  .catalog-search-result-open{padding:4px 7px;font-size:.58rem}

  /* Dock + lyrics/search: compress chrome (why/status/link) to fit ~27vh */
  .catalog-player.sheet-dock.pane-lyrics .tactile-scrubber-shell,
  .catalog-player.sheet-dock.pane-search .tactile-scrubber-shell,
  .catalog-player.sheet-dock.pane-lyrics .swipe-hint,
  .catalog-player.sheet-dock.pane-search .swipe-hint,
  .catalog-player.sheet-dock.pane-lyrics .player-why,
  .catalog-player.sheet-dock.pane-search .player-why,
  .catalog-player.sheet-dock.pane-lyrics .player-cluster,
  .catalog-player.sheet-dock.pane-search .player-cluster,
  .catalog-player.sheet-dock.pane-lyrics .player-status,
  .catalog-player.sheet-dock.pane-search .player-status,
  .catalog-player.sheet-dock.pane-lyrics .cmd-now-song-link,
  .catalog-player.sheet-dock.pane-search .cmd-now-song-link{display:none!important}

  /* Info: reveal why / cluster / status / Open song + pane */
  .catalog-player.sheet-info .player-why,
  .catalog-player.sheet-info .player-cluster,
  .catalog-player.sheet-info .player-status,
  .catalog-player.sheet-info .cmd-now-song-link{display:block!important}
  .catalog-player.sheet-info .player-copy strong,
  .catalog-player.sheet-info #playerTitle{
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .catalog-player.sheet-info .tactile-scrubber-shell,
  .catalog-player.sheet-info .swipe-hint{display:none!important}
  .catalog-player.sheet-info.pane-lyrics .catalog-lyrics-body:not([hidden]){
    max-height:min(18vh,160px);
  }

  /* Full: lyrics (or search) dominate remaining sheet space */
  .catalog-player.sheet-full .tactile-scrubber-shell,
  .catalog-player.sheet-full .swipe-hint{display:none!important}
  .catalog-player.sheet-full .player-why,
  .catalog-player.sheet-full .player-cluster{display:none!important}
  .catalog-player.sheet-full .catalog-player-pane{
    flex:1 1 auto;
    min-height:0;
  }
  .catalog-player.sheet-full.pane-lyrics .catalog-lyrics,
  .catalog-player.sheet-full.pane-lyrics .catalog-lyrics-body:not([hidden]){
    flex:1 1 auto;
    min-height:0;
    max-height:none;
  }
  .catalog-player.sheet-full.pane-search .catalog-player-search{
    flex:1 1 auto;
    min-height:0;
  }
  .catalog-player.sheet-full.pane-search .catalog-player-search-hints{
    max-height:none;
    overflow:auto;
    flex:1 1 auto;
  }

  body.catalog-player-open.music-page{padding-bottom:min(32vh,300px)}
  body.catalog-player-open.music-page:has(#catalogPlayer.sheet-mini),
  body.catalog-player-open.music-page:has(#catalogPlayer.is-minimized){padding-bottom:96px}
  body.catalog-player-open.music-page:has(#catalogPlayer.sheet-dock){padding-bottom:min(30vh,280px)}
  body.catalog-player-open.music-page:has(#catalogPlayer.sheet-info){padding-bottom:min(48vh,440px)}
  body.catalog-player-open.music-page:has(#catalogPlayer.sheet-full){padding-bottom:min(94vh,940px)}
}
@media(max-width:390px){
  .catalog-player-inner{grid-template-columns:38px minmax(0,1fr) auto;gap:6px;padding:7px 8px 10px}
  .player-cover{width:38px;height:38px}
  .catalog-pane-tab{font-size:.54rem}
  .catalog-taste{display:none}
  .catalog-sheet-btn{font-size:.52rem;padding:0 7px}
}
