.music-catalog{margin:28px 0 32px}
.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.catalog-heading h2{margin:0;font-size:23px;font-weight:600;letter-spacing:-.03em}
.catalog-heading #catalog-summary{margin:0;color:#938b9d;font-size:12px}
.catalog-grid{--catalog-accent:#c4b5fd;position:relative;min-width:0}
.catalog-rail{display:flex;align-items:stretch;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#47424f transparent;padding:2px 0 6px}
.catalog-rail[hidden]{display:none}
.catalog-card{display:flex;align-items:center;gap:12px;position:relative;box-sizing:border-box;flex:1 0 250px;max-width:400px;min-width:0;scroll-snap-align:start;min-height:106px;border:1px solid #2d2834;border-radius:14px;padding:16px;background:#141118;color:#eee8f4;text-align:left;font:inherit;cursor:pointer;box-shadow:none;transition:border-color .18s,background .18s}
.catalog-card:hover{border-color:#655579;background:#1b1622}
.catalog-card:focus-visible{outline:2px solid var(--catalog-accent);outline-offset:2px}
.catalog-card[aria-busy=true]{opacity:.65;cursor:progress}
.catalog-cover{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border-radius:10px;background:linear-gradient(140deg,#332842,#201a2b);color:#baaad2}
.catalog-cover img{width:100%;height:100%;object-fit:cover}
.catalog-cover svg{width:20px;height:20px;fill:currentColor}
.catalog-label{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.catalog-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.catalog-track-count{font-size:11px;color:#9f94ad;white-space:nowrap}
.catalog-description{font-size:11px;color:#93899f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.catalog-chevron{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:#9687a9;stroke-width:1.7;transform:rotate(-90deg)}
.catalog-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:#b7a9c8;box-shadow:none;cursor:pointer;transition:background .16s,color .16s,border-color .16s}
.catalog-icon svg,.catalog-add-all svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.catalog-icon:hover{background:#2b2336;color:#f3eafa}
.catalog-icon:focus-visible,.catalog-add-all:focus-visible{outline:2px solid var(--catalog-accent);outline-offset:2px}
.catalog-icon:disabled,.catalog-add-all:disabled{cursor:default;opacity:.35}
.catalog-icon.is-added,.catalog-add-all.is-added{color:#e1d3f4;background:#352844;opacity:1}
.catalog-action{border:1px solid #3d374b;border-radius:10px;background:#24202d;color:#fff;min-height:40px;padding:10px 14px;font:inherit;font-size:13px;cursor:pointer}
.catalog-panel{position:relative;min-width:0}
.catalog-panel[hidden]{display:none}
.catalog-frame{position:absolute;inset:0;z-index:0;background:#131016;border:1px solid #302b39;border-radius:16px;transform-origin:center;pointer-events:none}
.catalog-content{position:relative;z-index:1;box-sizing:border-box;width:100%;padding:0 16px 10px}
.catalog-panel-head{display:flex;align-items:center;gap:10px;min-height:64px;border-bottom:1px solid #302737;margin-bottom:4px}
.catalog-panel-title{flex:0 1 auto;min-width:0;max-width:45%;margin:0;font-size:16px;font-weight:600;color:#eee5f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-panel-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.catalog-add-all{display:flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;border:1px solid #51415f;border-radius:9px;background:#292032;color:#e3d6ef;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;box-shadow:none}
.catalog-add-all:hover{background:#382945;border-color:#88709c}
.catalog-panel:is([data-phase="line"],[data-phase="space"],[data-phase="switching"],[data-phase="closing"]){overflow:hidden}
.catalog-panel:is([data-phase="line"],[data-phase="space"],[data-phase="switching"],[data-phase="closing"]) .catalog-content{position:absolute;top:50%;left:0;transform:translateY(-50%)}
.catalog-panel:is([data-phase="line"],[data-phase="space"],[data-phase="switching"],[data-phase="closing"]) .catalog-row{opacity:0}
.catalog-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;list-style:none;padding:0;margin:0;max-height:420px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#47424f transparent}
.catalog-row{display:flex;align-items:center;min-width:0;gap:6px;padding:6px 3px;border-bottom:1px solid #25202c;border-radius:8px;transition:background .16s}
.catalog-row.is-current{background:#292031}
.catalog-song[type="button"]{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:0;border-radius:7px;padding:8px 2px;background:transparent;color:#e6dfec;text-align:left;font:inherit;box-shadow:none;cursor:pointer}
.catalog-song[type="button"]:hover{color:#e3ccfb;background:#c4b5fd09}
.catalog-song[type="button"]:focus-visible{outline:2px solid var(--catalog-accent);outline-offset:1px}
.catalog-number{flex:0 0 20px;text-align:center;font-size:11px;color:#877a94;font-variant-numeric:tabular-nums}
.catalog-row.is-current .catalog-number,.catalog-row.is-current .catalog-track-play{color:var(--catalog-accent)}
.catalog-song-text{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.catalog-song-text strong{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.catalog-song-text small{font-size:11px;color:#a196ad;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.catalog-track-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.catalog-feedback{margin:8px 0 0;color:#baa5d0;font-size:12px;line-height:1.6}
.catalog-feedback:empty{display:none}
.catalog-empty{margin:0;padding:24px 8px;font-size:13px;color:#9f94ad}
@media(max-width:760px){.music-catalog{margin-top:24px}.catalog-rail{gap:10px}.catalog-card{flex:0 0 min(80vw,290px);padding:12px;min-height:96px}.catalog-content{padding:0 10px 6px}.catalog-tracks{grid-template-columns:1fr;max-height:360px}.catalog-heading h2{font-size:21px}.catalog-panel-head{gap:6px;min-height:60px}.catalog-panel-title{font-size:14px;max-width:none}.catalog-panel-actions{gap:2px}.catalog-add-all{padding:0 8px;font-size:11px}.catalog-panel-head>.catalog-track-count{font-size:10px}.catalog-back{width:28px;flex-basis:28px}.catalog-song[type="button"]{gap:6px}}
@media(prefers-reduced-motion:reduce){.catalog-icon,.catalog-card,.catalog-row{transition:none}}
