/* The music library follows the product-search drawer, with one scrolling list
   and persistent playback controls. Scoped rules override the legacy widget. */
html:root body.public-ui #ambientMusic.music-library dialog.music-library-modal {
 --ml-bg:#fff;--ml-soft:#f6f9fc;--ml-line:#e2ebf3;--ml-ink:#213449;--ml-muted:#687c91;--ml-blue:#009fd6;--ml-tint:#edf9ff;
 position:fixed!important;inset:0 0 0 auto!important;width:min(420px,calc(100% - 18px))!important;height:var(--mobile-viewport-height,100dvh)!important;max-height:var(--mobile-viewport-height,100dvh)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--ml-ink)!important;box-shadow:none!important;overflow:visible!important;font:400 13px/1.6 var(--font-ui,system-ui,sans-serif);
}
html:root.site-dark body.public-ui #ambientMusic.music-library dialog.music-library-modal {--ml-bg:#131d29;--ml-soft:#192636;--ml-line:#304154;--ml-ink:#e6eef8;--ml-muted:#a5b6c9;--ml-blue:#7bd1f5;--ml-tint:#17364a}
html:root body.public-ui #ambientMusic.music-library dialog.music-library-modal:not([open]){display:none!important}
html:root body.public-ui #ambientMusic.music-library dialog.music-library-modal[open]{display:flex!important;animation:ml-enter .3s cubic-bezier(.2,.8,.2,1)}
html:root body.public-ui #ambientMusic.music-library dialog.music-library-modal::backdrop{background:#0d18245c;backdrop-filter:blur(4px)}
.music-library-modal *{box-sizing:border-box}
.music-library-modal [hidden]{display:none!important}
.music-library-modal .ml-stage{position:relative;display:flex;width:100%;height:100%;min-height:0}
.music-library-modal .ml-panel{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--ml-line);background:var(--ml-bg);color:var(--ml-ink);box-shadow:-12px 0 48px #10233f16}
.music-library-modal .ml-close{position:absolute;z-index:3;left:-18px;top:max(22px,env(safe-area-inset-top));display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--ml-line);border-radius:50%;background:var(--ml-bg);color:var(--ml-ink);box-shadow:0 4px 16px #1736501a;cursor:pointer}
.music-library-modal .ml-heading{display:flex;align-items:center;gap:10px;flex:none;min-height:80px;padding:20px 24px 17px;border-bottom:1px solid var(--ml-line)}
.music-library-modal .ml-heading-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:var(--ml-tint);color:var(--ml-blue)}
html:root body.public-ui #ambientMusic .ml-heading h2{margin:0!important;color:var(--ml-ink)!important;font-size:16px!important;line-height:1.4!important;letter-spacing:0!important;font-weight:750!important}
.music-library-modal .ml-heading p{margin:3px 0 0;color:var(--ml-muted);font-size:11px}
.music-library-modal .ml-search{display:flex;align-items:center;gap:9px;flex:none;min-height:42px;margin:17px 18px 12px;padding:0 12px;border:1px solid var(--ml-line);border-radius:14px;background:var(--ml-bg);color:var(--ml-blue)}
html:root body.public-ui #ambientMusic #musicLibrarySearch{flex:1;min-width:0;width:100%;min-height:40px;margin:0;padding:8px 0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:var(--ml-ink)!important;font-size:13px!important}
.music-library-modal .ml-search>button{display:grid;place-items:center;flex:none;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:var(--ml-soft);color:var(--ml-muted);font-size:19px;cursor:pointer}
.music-library-modal .ml-search input::placeholder{color:var(--ml-muted);font-size:12px}
.music-library-modal .ml-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:0 20px 12px}
.music-library-modal .ml-list-heading h3{margin:0;color:var(--ml-ink);font-size:12px;font-weight:650}
.music-library-modal .ml-list-heading>span{font-size:11px;color:var(--ml-muted)}
.music-library-modal .ml-content{flex:1;min-height:0;overflow:auto;padding:0 15px 20px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ml-line) transparent}
.music-library-modal .ml-track-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.music-library-modal .ml-track{display:flex;align-items:center;gap:11px;width:100%;min-width:0;min-height:76px;margin:0;padding:11px;border:1px solid var(--ml-line);border-radius:14px;background:var(--ml-bg);color:var(--ml-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .18s,border-color .18s}
.music-library-modal .ml-track:hover,.music-library-modal .ml-track[aria-pressed=true]{background:var(--ml-tint);border-color:color-mix(in srgb,var(--ml-blue) 45%,var(--ml-line))}
.ml-art{position:relative;display:grid;place-items:center;flex:0 0 47px;width:47px;height:47px;overflow:hidden;border:1px solid #81b8db26;border-radius:12px;background:#eaf7ff;color:#138dbc}
.ml-art>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.music-library-modal .ml-art{background:var(--ml-soft);color:var(--ml-blue)}
.music-library-modal .ml-track-copy{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}
.music-library-modal .ml-track-copy>strong{font-size:13px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.music-library-modal .ml-track-copy>small{font-size:11px;color:var(--ml-muted);overflow-wrap:anywhere}
.music-library-modal .ml-track-status{color:var(--ml-blue);font-size:10px;line-height:1.6}
.music-library-modal .ml-track-play{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:var(--ml-tint);color:var(--ml-blue)}
.music-library-modal .ml-equalizer{display:none;align-items:center;gap:2px;height:16px}
.music-library-modal .ml-equalizer i{display:block;width:2px;height:13px;border-radius:2px;background:currentColor;animation:ml-wave .6s ease-in-out infinite alternate}
.music-library-modal .ml-equalizer i:nth-child(2){animation-delay:-.2s}.music-library-modal .ml-equalizer i:nth-child(3){animation-delay:-.4s}
.music-library-modal .ml-track.is-playing .ml-equalizer{display:flex}.music-library-modal .ml-track.is-playing .ml-track-play>svg{display:none}
.music-library-modal .ml-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:190px;padding:28px 16px;text-align:center;color:var(--ml-muted)}
.music-library-modal .ml-empty>svg{width:34px;height:34px;color:var(--ml-blue)}
.music-library-modal .ml-empty strong{font-size:13px;color:var(--ml-ink)}.music-library-modal .ml-empty p{margin:0;font-size:12px;line-height:1.7}
.music-library-modal .ml-player{flex:none;padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ml-line);background:var(--ml-soft)}
.music-library-modal .ml-now{display:flex;align-items:center;gap:10px;min-width:0}
.music-library-modal .ml-now-art{flex-basis:40px;width:40px;height:40px;border-radius:10px;background:var(--ml-bg)}
.music-library-modal .ml-now>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.music-library-modal .ml-now strong{font-size:13px;color:var(--ml-ink);overflow-wrap:anywhere;line-height:1.5}
.music-library-modal .ml-now [data-music-status]{font-size:11px;color:var(--ml-muted);line-height:1.5}
.music-library-modal .ml-timeline{margin:11px 0 8px}
.music-library-modal input[type=range]{display:block;width:100%;height:18px;min-height:18px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--ml-blue);cursor:pointer}
.music-library-modal .ml-times{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ml-muted);font-size:10px;font-variant-numeric:tabular-nums}
.music-library-modal .ml-player-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.music-library-modal .ml-playback{display:flex;align-items:center;gap:8px}
.music-library-modal .ml-player button{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ml-ink);cursor:pointer}
.music-library-modal .ml-player .ml-main-play{width:42px;height:42px;background:#079fd5;color:#fff;box-shadow:0 3px 10px #079fd522}
.music-library-modal .ml-player button:disabled{opacity:.4;cursor:default}
.music-library-modal .ml-volume{display:flex;align-items:center;gap:4px;width:120px;max-width:42%}
.music-library-modal .ml-volume input{min-width:0}
.music-library-modal :is(button,input):focus-visible{outline:2px solid var(--ml-blue);outline-offset:3px}
.ml-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes ml-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes ml-wave{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@media(max-width:600px){.music-library-modal .ml-heading{padding:18px 18px 14px}.music-library-modal .ml-track{padding:10px;gap:9px}.music-library-modal .ml-player{padding-inline:16px}}
@media(max-height:550px){.music-library-modal .ml-heading{min-height:0;padding-block:10px}.music-library-modal .ml-heading p{display:none}.music-library-modal .ml-search{margin-block:8px}.music-library-modal .ml-player{padding-block:8px}.music-library-modal .ml-now-art{display:none}.music-library-modal .ml-timeline{margin-block:4px}}
@media(prefers-reduced-motion:reduce){html:root body.public-ui #ambientMusic.music-library dialog.music-library-modal[open],.music-library-modal *{animation:none!important;transition:none!important}}
/* Administrator workspace. */
.music-admin .ml-admin-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start;gap:20px;margin-top:20px}
.music-admin .ml-admin-visibility{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}
.music-admin .ml-admin-visibility>label{display:flex;align-items:center;gap:12px;cursor:pointer}
.music-admin .ml-admin-visibility span{display:flex;flex-direction:column;gap:3px}.music-admin small{color:var(--am-muted)}
.music-admin .ml-admin-editor,.music-admin .ml-admin-list{min-width:0;padding:20px}
.music-admin h2{margin:0 0 18px;font-size:17px;color:var(--am-ink)}.music-admin h2>span{font-size:12px;color:var(--am-muted)}
.music-admin .ml-admin-editor form{display:grid;gap:14px}
.music-admin .ml-admin-editor label{display:grid;gap:6px;font-size:12px;color:var(--am-ink)}
.music-admin .ml-admin-editor input{width:100%;min-width:0}
.music-admin .ml-admin-editor .ml-admin-check{display:flex;align-items:center;gap:8px}.music-admin .ml-admin-check input{width:auto}
.music-admin .ml-admin-hint{margin:0;color:var(--am-muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.music-admin .ml-admin-track{padding:16px 0;border-top:1px solid var(--am-line)}.music-admin .ml-admin-track:first-of-type{border-top:0;padding-top:0}
.music-admin .ml-admin-track-heading{display:flex;align-items:center;gap:11px}.music-admin .ml-admin-track-heading>div{flex:1;min-width:0}
.music-admin h3{margin:0;font-size:14px;color:var(--am-ink);overflow-wrap:anywhere}.music-admin .ml-admin-track-heading p{margin:3px 0 0;font-size:11px;color:var(--am-muted)}.music-admin .ml-admin-track-heading>span:last-child{font-size:11px;color:var(--am-muted)}
.music-admin audio{display:block;width:100%;height:38px;margin:12px 0}
.music-admin .ml-admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.music-admin .ml-admin-actions form{margin:0}
@media(max-width:1000px){.music-admin .ml-admin-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.music-admin .ml-admin-visibility{align-items:flex-start;flex-direction:column}}
