.music-library,.music-editor,.music-public,.music-admin,.music-discover { padding-block:clamp(2rem,5vw,4rem); }
.music-editor,.music-public { max-width:74rem; }
.music-editor *, .music-public *, .music-library * { min-width:0; }
.music-discover-hero { background:linear-gradient(135deg,#edf4ff,#f7f5ff);border-bottom:1px solid var(--line); }
.music-discover-hero .page-shell { padding-block:clamp(3rem,7vw,6rem); }
.music-discover-hero h1,.music-editor h1,.music-public h1,.music-library h1,.music-admin h1 { margin:.5rem 0 1rem;font-size:clamp(2.3rem,7vw,4.8rem);line-height:1.04;letter-spacing:-.055em;overflow-wrap:anywhere; }
.music-discover-hero h1 .section-brand-unit,.music-discover-hero h1 .section-title-unit{display:block}.music-discover-hero h1 .section-brand-unit{white-space:nowrap;font-size:clamp(2rem,7vw,4.8rem)}
.music-discover-hero p { max-width:43rem;color:var(--ink-soft);line-height:1.7; }
.music-panel { margin-block:1.4rem;padding:clamp(1.15rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 14px 40px rgba(15,48,102,.05); }
.music-panel h2 { margin:0 0 1.2rem;font-size:1.4rem;letter-spacing:-.025em; }
.music-panel .section-row { flex-wrap:wrap;gap:.75rem; }
.music-panel .section-row h2 { margin:0; }
.music-editor-heading>div { display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap; }
.music-editor-heading h1 { max-width:100%; }
.music-editor .status,.music-library .status,.music-admin .status { color:var(--blue);background:var(--blue-soft); }
.music-form,.music-form fieldset,.music-new-form,.music-form label { display:grid;gap:.6rem; }
.music-form { gap:1.2rem; }
.music-form fieldset { margin:0;padding:0;border:0;gap:1rem; }
.music-form fieldset:disabled { opacity:.78; }
.music-form label,.music-new-form label { font-size:.82rem;font-weight:700; }
.music-form input:not([type=checkbox]):not([type=range]),.music-form textarea,.music-form select,.music-new-form input,.music-search input { width:100%;max-width:100%;padding:.85rem 1rem;color:var(--ink);background:white;border:1px solid #cfdbea;border-radius:.8rem;font:inherit; }
.music-form :is(input,select,textarea):focus,.music-new-form input:focus,.music-search input:focus { outline:2px solid rgba(17,103,239,.28);outline-offset:2px; }
.music-form textarea { resize:vertical; }
.music-form .button { justify-self:start; }
.music-form .music-check { display:flex;align-items:flex-start;gap:.8rem;line-height:1.6; }
.music-check input { margin:.25rem 0 0;width:1.25rem;height:1.25rem;flex:0 0 auto;accent-color:var(--blue); }
.music-check span { flex:1; }
.music-actions { display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.8rem; }
.music-actions button,.music-actions a { min-height:2.75rem; }
.music-form small,.music-technical,.music-stable-url { color:var(--ink-soft);font-size:.75rem;line-height:1.6;overflow-wrap:anywhere; }
.music-stable-url code { display:block;margin-top:.35rem; }
.music-notice:empty { display:none; }
.music-notice,.music-info { padding:.85rem 1rem;border-radius:.8rem;background:var(--blue-soft);color:var(--blue-deep);font-size:.85rem;line-height:1.6; }
.music-error { color:var(--danger)!important; }
.music-notice.music-error { background:#fff0f4; }
.music-cover-preview { display:grid;place-items:center;width:100%;aspect-ratio:1;background:linear-gradient(145deg,#edf4ff,#e4e7ff);overflow:hidden;border-radius:1rem; }
.music-cover-preview img { width:100%;height:100%;object-fit:cover; }
.music-cover-preview>span { font-size:4rem;color:var(--blue); }
.music-cover-panel>p { color:var(--ink-soft);font-size:.82rem;line-height:1.65; }
.music-dropzone { display:grid;justify-items:center;gap:.7rem;margin:1.5rem 0;padding:2rem 1rem;border:2px dashed #b5cef3;border-radius:1rem;background:#f7faff;text-align:center; }
.music-dropzone>span { display:grid;place-items:center;width:3rem;height:3rem;color:var(--blue);background:white;border-radius:50%;font-size:1.8rem; }
.music-dropzone h3,.music-dropzone p { margin:0; }
.music-dropzone p { max-width:38rem;color:var(--ink-soft);line-height:1.5;font-size:.78rem; }
.music-dropzone.is-dragging { border-color:var(--blue);background:var(--blue-soft); }
.music-sort-hint { color:var(--ink-soft);font-size:.78rem;line-height:1.6; }
.music-track-editor-list { display:grid;gap:1.1rem;margin-top:1.3rem; }
.music-track-editor { padding:1rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,#f8fbff,white 8rem); }
.music-track-editor>header { display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem; }
.music-sort-buttons { display:flex;align-items:center;gap:.35rem;margin-right:auto; }
.music-sort-buttons button { display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);background:white;color:var(--blue);border-radius:.65rem;cursor:pointer;font-size:1.1rem; }
.music-sort-handle { cursor:grab!important; }
.music-sort-buttons strong { margin-left:.5rem; }
.music-track-fields { display:grid;gap:1rem; }
.music-preview-settings { display:grid;gap:1rem;padding-top:1rem;border-top:1px solid var(--line); }
.music-preview-settings>span { color:var(--ink-soft);align-self:end;font-size:.8rem; }
.music-preview-listen { padding:.7rem 1rem;border:1px solid #b5cef3;border-radius:999px;color:var(--blue);background:var(--blue-soft);font-weight:750;cursor:pointer; }
.music-upload-list { display:grid;gap:.7rem; }
.music-upload-row { display:grid;gap:.55rem;padding:1rem;background:var(--surface-soft);border-radius:.8rem;font-size:.78rem; }
.music-upload-row strong { overflow-wrap:anywhere; }
.music-upload-row progress { width:100%;height:.7rem;accent-color:var(--blue); }
.music-code-camera-preview { width:100%;max-height:360px;border-radius:12px; }
.music-publish-panel ul { padding-left:1.2rem;color:var(--ink-soft);font-size:.85rem;line-height:1.8; }
.music-commerce-note { margin:2rem 0;padding:1.25rem 1.5rem;background:var(--surface-soft);border-radius:1rem;line-height:1.6; }
.music-commerce-note p { margin:.4rem 0 0;color:var(--ink-soft);font-size:.85rem; }
.music-cover-modal { position:fixed;inset:0;z-index:var(--layer-crop-modal);display:grid;place-items:end center; }
.music-cover-dialog { position:relative;width:min(38rem,100%);max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;background:white;border-radius:1.5rem 1.5rem 0 0; }
.music-cover-dialog header { display:flex;justify-content:space-between;align-items:center;gap:1rem; }
.music-cover-dialog h2 { margin:0;font-size:1.4rem; }
.music-cover-dialog header button { width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);font-size:1.5rem; }
.music-cover-dialog>p { font-size:.82rem;color:var(--ink-soft);line-height:1.5; }
.music-square-stage { aspect-ratio:1;max-height:50dvh;max-width:100%;width:min(100%,50dvh);margin:auto; }
.music-square-stage canvas { width:100%;height:100%;aspect-ratio:1;object-fit:contain;touch-action:none;border-radius:1rem;cursor:grab; }
.music-cover-dialog>label { display:grid;gap:.6rem;margin-top:1rem;font-size:.8rem;font-weight:700; }
.music-cover-dialog input[type=range] { width:100%;min-height:2.75rem;accent-color:var(--blue); }
.music-owned-list { display:grid;gap:1rem;margin-top:1.5rem; }
.music-owned-card { display:grid;grid-template-columns:minmax(16rem,1.45fr) minmax(12rem,.8fr) auto;align-items:center;gap:1.5rem;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 15px rgba(21,49,90,.04); }
.music-owned-card>div { min-width:0; }
.music-owned-identity { display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:1rem; }
.music-owned-identity>div { min-width:0;overflow-wrap:break-word;word-break:normal; }
.music-owned-card h2 { margin:0 0 .35rem;font-size:1.2rem;word-break:normal; }
.music-owned-card p { margin:.3rem 0;color:var(--ink-soft);font-size:.85rem; }
.music-owned-identity>img,.music-owned-identity>.music-cover-placeholder { width:5rem;height:5rem;border-radius:.7rem;object-fit:cover; }
.music-owned-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem;padding-left:1.5rem;border-left:1px solid var(--line); }
.music-owned-metrics strong { color:var(--ink); }
.music-owned-metrics .music-owned-prices { grid-column:1/-1; }
.music-owned-actions { display:grid;justify-items:end;gap:.75rem; }
.music-owned-actions .button { min-width:8.5rem;text-align:center; }
.music-cover-placeholder { display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:2rem; }
.music-search { display:flex;gap:.7rem;margin-bottom:2rem; }
.music-search label { flex:1;min-width:0; }
.music-search .button { padding-inline:1rem; }
.music-album-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem;margin-top:1.5rem; }
.music-album-card { display:block;min-width:0;border:1px solid var(--line);border-radius:1.3rem;overflow:hidden;background:white;box-shadow:0 14px 40px rgba(15,48,102,.06); }
.music-album-card>img { width:100%;height:auto;aspect-ratio:1;object-fit:cover; }
.music-album-card>div { padding:1.2rem; }
.music-album-card h3 { margin:0 0 .4rem;overflow-wrap:anywhere; }
.music-album-card p { margin:0 0 .6rem;color:var(--ink-soft);overflow-wrap:anywhere; }
.music-album-card small { color:var(--ink-soft); }
.music-profile-releases { grid-column:1/-1; }
.music-profile-releases .section-row { flex-wrap:wrap;gap:1rem; }
.music-album-hero { display:grid;gap:2rem;margin:1.7rem 0 2.5rem;align-items:center; }
.music-front-cover { width:100%;height:auto;aspect-ratio:1;border-radius:1.2rem;box-shadow:0 24px 70px rgba(11,42,96,.17); }
.music-album-artist { font-size:clamp(1.2rem,4vw,2rem);color:var(--ink-soft); }
.music-ai-badge { display:inline-flex;max-width:100%;padding:.3rem .55rem;background:#f0edff;color:#5c499e;border-radius:.5rem;font-size:.7rem;font-weight:650; }
.music-public-tracks { list-style:none;padding:0;margin:1.4rem 0 0; }
.music-public-tracks>li { display:grid;grid-template-columns:1.3rem minmax(0,1fr) auto auto;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line); }
.music-public-tracks>li:last-child { border-bottom:0; }
.music-public-tracks h3 { margin:0 0 .3rem;font-size:1rem;overflow-wrap:anywhere; }
.music-public-tracks p { margin:0;color:var(--ink-soft);font-size:.8rem;overflow-wrap:anywhere; }
.music-track-number,.music-track-duration { color:var(--ink-soft);font-size:.8rem; }
.music-no-preview { max-width:5rem;color:var(--ink-soft);font-size:.65rem;overflow-wrap:anywhere; }
.music-play-button { display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:0 0 auto;color:white;background:var(--blue);border:0;border-radius:50%;cursor:pointer; }
.music-player { position:fixed;inset:auto 0 0;z-index:20;display:flex;align-items:center;gap:1rem;padding:1rem max(1.25rem,calc((100% - 70rem)/2));background:white;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(11,42,96,.1); }
.music-player-copy { display:grid;gap:.25rem;flex:1;min-width:0; }
.music-player-copy strong,.music-player-copy span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.music-player-copy span,.music-player output { color:var(--ink-soft);font-size:.72rem; }
.music-player input { width:100%;height:1.8rem;margin:0;accent-color:var(--blue); }
.music-player [data-player-message]:empty { display:none; }
.music-player [data-player-message] { position:absolute;bottom:100%;right:1rem;left:1rem;padding:.7rem;background:#fff0f4;color:var(--danger);font-size:.8rem; }
body.has-music-player { padding-bottom:7rem; }
.music-worker-health { display:grid;gap:1rem; }
@media(min-width:44rem) {
    .music-editor-grid { display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:1.5rem;align-items:start; }
    .music-new-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:1rem; }
    .music-new-form label { display:grid;gap:.6rem; }
    .music-track-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .music-preview-settings { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center; }
    .music-album-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .music-cover-modal { place-items:center;padding:1.5rem; }
    .music-cover-dialog { border-radius:1.5rem;padding:1.5rem; }
    .music-square-stage { width:min(100%,50dvh); }
    .music-worker-health { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:64rem) {
    .music-album-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .music-album-hero { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:3rem; }
    .music-track-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr); }
}
@media(max-width:30rem) {
    .music-public-tracks>li { grid-template-columns:1rem minmax(0,1fr) 2.75rem;gap:.65rem; }
    .music-track-duration { grid-column:2;grid-row:auto; }
    .music-public-tracks .music-play-button,.music-public-tracks .music-no-preview { grid-column:3;grid-row:1/span 2; }
    .music-player { gap:.65rem;padding:.75rem 1rem; }
    .music-player output { max-width:3rem;line-height:1.5; }
}
@media(max-width:62rem){.music-owned-card{grid-template-columns:minmax(0,1fr) auto}.music-owned-metrics{grid-column:1;padding:0;border:0}.music-owned-actions{grid-column:2;grid-row:1/3}}
@media(max-width:36rem){.music-owned-card{grid-template-columns:minmax(0,1fr);gap:1rem}.music-owned-identity{grid-template-columns:4rem minmax(0,1fr)}.music-owned-identity>img,.music-owned-identity>.music-cover-placeholder{width:4rem;height:4rem}.music-owned-metrics,.music-owned-actions{grid-column:1;grid-row:auto}.music-owned-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem}.music-owned-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:start}.music-owned-actions .button{min-height:44px;min-width:0}}
.music-hub{padding-top:2rem;padding-bottom:4rem}.music-hub-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:2rem;align-items:start}.music-hub-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem}.music-hub-filters a{padding:.65rem 1rem;border-radius:999px;background:#edf3fc;color:#183858;text-decoration:none;font-weight:700}.music-hub-filters a[aria-current]{background:#0f66e8;color:#fff}.music-hub-rail{display:grid;gap:1rem;position:sticky;top:92px}.music-hub-rail>section{padding:1.1rem;border:1px solid #dce5f3;border-radius:20px;background:#fff}.music-hub-rail h2{margin:0 0 1rem;font-size:1.05rem}.music-hub-library-item{display:flex;align-items:center;gap:.7rem;padding:.55rem;border-radius:12px;color:#102d50;text-decoration:none}.music-hub-library-item:hover{background:#f1f6fd}.music-hub-library-item img{width:52px;height:52px;border-radius:9px;object-fit:cover}.music-hub-library-item strong,.music-hub-library-item small{display:block}.music-hub-library-item small{color:#60748c}@media(max-width:860px){.music-hub-grid{grid-template-columns:1fr}.music-hub-rail{position:static}}@media(max-width:600px){.music-hub{padding-top:1rem}.music-hub .music-search{display:grid;grid-template-columns:1fr}.music-hub .music-search button{width:100%}}

.music-discover-hero,.music-hub-hero{position:relative;isolation:isolate;overflow:hidden;background:#09091c;color:#fff}
.music-hero-media{position:absolute;inset:0;z-index:-1;display:block}.music-hero-media img{width:100%;height:100%;object-fit:cover}
.music-discover-hero::after,.music-hub-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,8,25,.9),rgba(4,8,25,.18))}
.music-discover-hero p{color:#edf4ff}.music-discover-hero .page-shell{padding-block:clamp(2rem,5vw,4rem)}
.music-hub-hero{border-radius:1.25rem;margin-bottom:1.5rem;min-height:clamp(10rem,20vw,16rem);display:flex;align-items:center;padding:clamp(1.2rem,3vw,2.5rem)}
.music-hub-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:.2rem 0}.music-hub-hero .section-brand-unit{font-weight:700}
.album-danger{margin-top:1.5rem}.album-danger input[type=checkbox]{width:1.15rem;height:1.15rem;flex:none}
