:root{--bg:#05070d;--panel:#0c111c;--panel2:#101725;--line:rgba(255,255,255,.1);--line2:rgba(40,231,255,.22);--text:#f5f7fb;--muted:#8e99ad;--cyan:#28e7ff;--cyan2:#88f5ff;--gold:#ffcc55;--green:#49f2a7;--danger:#ff6b7a}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 14% -8%,rgba(40,231,255,.1),transparent 31%),radial-gradient(circle at 91% 4%,rgba(255,204,85,.07),transparent 24%),linear-gradient(180deg,#060914 0,#05070d 38%,#04060b 100%)}button,select,input{font:inherit}.library-topbar{position:sticky;top:0;z-index:40;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px clamp(16px,3vw,34px);border-bottom:1px solid var(--line);background:rgba(5,7,13,.9);backdrop-filter:blur(16px);box-shadow:0 10px 35px rgba(0,0,0,.18)}.library-topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.library-brand,.library-nav,.library-primary-link,.library-secondary-link{text-decoration:none}.library-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:950;letter-spacing:.02em;white-space:nowrap}.library-brand img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(40,231,255,.16))}.library-nav{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#dce5f2;background:rgba(255,255,255,.025);font-size:.88rem;font-weight:800}.library-nav:hover{border-color:rgba(40,231,255,.38);color:#fff}.library-user{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.9rem;white-space:nowrap}.library-user strong{color:#fff}.library-user button{min-height:36px;padding:0 12px;border:1px solid rgba(255,107,122,.25);border-radius:9px;background:rgba(86,24,33,.35);color:#ffc0c7;font-weight:800;cursor:pointer}.library-shell{width:min(1380px,calc(100% - 28px));margin:0 auto;padding:24px 0 46px}.library-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 28px;border:1px solid var(--line2);border-radius:22px;background:linear-gradient(135deg,rgba(18,31,48,.96),rgba(8,13,22,.97));box-shadow:0 22px 70px rgba(0,0,0,.26)}.library-hero:after{content:"♫";position:absolute;right:25%;top:-62px;font-size:190px;font-weight:900;color:rgba(40,231,255,.025);transform:rotate(-11deg);pointer-events:none}.library-hero-copy{position:relative;z-index:1}.library-eyebrow{margin:0 0 7px;color:var(--cyan);font-size:.7rem;font-weight:950;letter-spacing:.15em}.library-hero h1{margin:0;font-size:clamp(2rem,4vw,3.45rem);line-height:1.02;letter-spacing:-.035em}.library-intro{max-width:820px;margin:10px 0 0;color:#aab5c6;line-height:1.5}.library-hero-actions{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;min-width:230px}.library-primary-link,.library-secondary-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:11px;font-weight:900;text-align:center}.library-primary-link{border:1px solid rgba(255,204,85,.48);background:linear-gradient(135deg,#ffd96d,#e9ad27);color:#17120a;box-shadow:0 8px 24px rgba(255,204,85,.13)}.library-primary-link:hover{filter:brightness(1.06)}.library-secondary-link{border:1px solid rgba(40,231,255,.28);background:rgba(15,40,55,.62);color:#dffaff}.library-secondary-link:hover{border-color:rgba(40,231,255,.48)}.library-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:13px}.library-stat{appearance:none;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(12,17,28,.91);color:inherit;cursor:pointer;transition:.16s ease}.library-stat:hover{transform:translateY(-1px);border-color:rgba(40,231,255,.28);background:rgba(14,21,34,.96)}.library-stat.is-active{border-color:rgba(40,231,255,.42);box-shadow:inset 0 0 0 1px rgba(40,231,255,.06),0 0 28px rgba(40,231,255,.045)}.library-stat span,.library-stat small{display:block;color:var(--muted)}.library-stat span{font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.library-stat strong{display:block;margin:2px 0 1px;font-size:1.58rem;color:#fff}.library-stat small{font-size:.7rem}.library-control-deck{position:sticky;top:77px;z-index:25;margin-top:13px;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(10,15,25,.94);backdrop-filter:blur(18px);box-shadow:0 14px 42px rgba(0,0,0,.24)}.library-main-controls{display:grid;grid-template-columns:minmax(360px,1.45fr) minmax(255px,.8fr) minmax(180px,.45fr);gap:11px}.library-search-wrap,.library-playlist-wrap,.library-sort-wrap{display:grid;gap:6px}.library-search-wrap label,.library-playlist-wrap label,.library-sort-wrap label{color:#aab5c6;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.library-search-box{display:flex;align-items:center;gap:8px;height:48px;padding:0 11px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:#050912;transition:.15s ease}.library-search-box:focus-within{border-color:rgba(40,231,255,.62);box-shadow:0 0 0 3px rgba(40,231,255,.065)}.library-search-icon{color:var(--cyan);font-size:1.2rem}.library-search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:1rem}.library-search-box input::placeholder{color:#67758a}.library-search-box kbd{padding:4px 6px;border:1px solid rgba(255,255,255,.1);border-bottom-color:rgba(255,255,255,.18);border-radius:6px;color:#657185;background:#0b111d;font:700 .64rem/1 system-ui;white-space:nowrap}.library-clear-search{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#abb6c7;font-size:1.05rem;cursor:pointer}.library-clear-search:hover{background:rgba(255,255,255,.12);color:#fff}.library-clear-search[hidden]{display:none}.library-playlist-wrap select,.library-sort-wrap select{height:48px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:#050912;color:#fff;padding:0 11px;outline:0}.library-playlist-wrap select:focus{border-color:rgba(255,204,85,.58)}.library-sort-wrap select:focus{border-color:rgba(40,231,255,.5)}.library-playlist-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68758a;font-size:.68rem}.library-playlist-hint.is-ready{color:#9eecc4}.library-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px}.library-filters{display:flex;flex-wrap:wrap;gap:7px}.library-filters button{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.025);color:#aeb9ca;font-size:.76rem;font-weight:850;cursor:pointer}.library-filters button:hover{border-color:rgba(40,231,255,.35);color:#fff}.library-filters button.is-active{border-color:rgba(40,231,255,.55);background:rgba(40,231,255,.11);color:#dffcff}.library-active-playlist{display:flex;align-items:center;gap:7px;min-width:0;color:#8290a4;font-size:.75rem;font-weight:750}.library-active-playlist span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#5a6575}.library-active-playlist.is-ready{color:#bdeed3}.library-active-playlist.is-ready .pulse-dot{background:var(--green);box-shadow:0 0 0 4px rgba(73,242,167,.08),0 0 12px rgba(73,242,167,.45)}.library-alpha{display:flex;align-items:center;gap:3px;overflow-x:auto;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.065);scrollbar-width:thin}.library-alpha button{flex:0 0 auto;min-width:28px;height:28px;padding:0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:#738096;font-size:.7rem;font-weight:900;cursor:pointer}.library-alpha button:hover{color:#fff;background:rgba(255,255,255,.045)}.library-alpha button.is-active{border-color:rgba(255,204,85,.3);background:rgba(255,204,85,.08);color:#ffe2a1}.library-panel{overflow:hidden;margin-top:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 18px 55px rgba(0,0,0,.2)}.library-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}.library-panel-summary{display:flex;align-items:baseline;gap:10px}.library-panel-head strong{font-size:1rem}.library-panel-head span,.library-status{color:var(--muted);font-size:.76rem}.library-panel-head b{color:#fff}.library-panel-head i{font-style:normal;color:#67758a}.library-status[data-kind="good"]{color:var(--green)}.library-status[data-kind="error"]{color:#ff9aa6}.library-column-head{display:grid;grid-template-columns:96px minmax(180px,.75fr) minmax(220px,1.2fr) minmax(130px,.5fr) 130px;gap:12px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.055);background:#090e17;color:#5f6d82;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.library-list{min-height:220px}.library-track{display:grid;grid-template-columns:96px minmax(180px,.75fr) minmax(220px,1.2fr) minmax(130px,.5fr) 130px;align-items:center;gap:12px;min-height:53px;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.052);transition:background .12s ease}.library-track:last-child{border-bottom:0}.library-track:hover{background:linear-gradient(90deg,rgba(40,231,255,.035),rgba(255,255,255,.018))}.library-source{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:92px;min-height:27px;padding:0 8px;border-radius:999px;border:1px solid rgba(40,231,255,.25);background:rgba(40,231,255,.07);color:#aef6ff;font-size:.65rem;font-weight:950;white-space:nowrap}.library-source.upload{border-color:rgba(255,204,85,.3);background:rgba(255,204,85,.08);color:#ffe09b}.library-source.mine{border-color:rgba(73,242,167,.32);background:rgba(73,242,167,.065);color:#c7ffdf}.library-artist,.library-title{min-width:0}.library-artist strong,.library-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-artist strong{color:#e9eef6;font-size:.86rem}.library-title strong{color:#fff;font-size:.9rem}.library-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#778399;font-size:.7rem}.library-add{justify-self:end;min-width:124px;min-height:34px;border:1px solid rgba(40,231,255,.32);border-radius:9px;background:linear-gradient(180deg,#12394b,#0d2c3b);color:#dffcff;font-size:.74rem;font-weight:900;cursor:pointer}.library-add:hover:not(:disabled){border-color:rgba(40,231,255,.7);background:#16495f;transform:translateY(-1px)}.library-add:disabled{cursor:default;opacity:.48}.library-add.is-added{border-color:rgba(73,242,167,.28);background:rgba(21,68,49,.6);color:#bfffd9;opacity:1}.library-empty{padding:54px 18px;color:var(--muted);text-align:center}.library-empty strong{display:block;margin-bottom:5px;color:#dbe4ef}.library-pager{display:flex;align-items:center;justify-content:center;gap:13px;padding:12px;border-top:1px solid var(--line);background:rgba(255,255,255,.015)}.library-pager button{min-height:35px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#0a101b;color:#eef4fb;font-weight:800;cursor:pointer}.library-pager button:hover:not(:disabled){border-color:rgba(40,231,255,.32)}.library-pager button:disabled{opacity:.35;cursor:default}.library-pager span{min-width:112px;text-align:center;color:#a9b5c4;font-size:.77rem}.library-fatal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(5,7,13,.97);color:#fff;text-align:center;font-size:1.05rem}.library-fatal[hidden]{display:none!important}@media(max-width:1080px){.library-main-controls{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr)}.library-sort-wrap{grid-column:1 / -1}.library-sort-wrap select{height:42px}.library-column-head,.library-track{grid-template-columns:88px minmax(160px,.75fr) minmax(190px,1.2fr) 124px}.library-column-head span:nth-child(4),.library-meta{display:none}}@media(max-width:820px){.library-control-deck{position:static}.library-hero{align-items:flex-start;flex-direction:column}.library-hero-actions{width:100%;flex-direction:row}.library-primary-link,.library-secondary-link{flex:1}.library-stats{grid-template-columns:repeat(2,1fr)}.library-main-controls{grid-template-columns:1fr}.library-sort-wrap{grid-column:auto}.library-filter-row{align-items:flex-start;flex-direction:column}.library-active-playlist{width:100%}.library-column-head{display:none}.library-track{grid-template-columns:78px minmax(0,1fr) 116px;gap:8px;padding:9px 10px}.library-source{grid-row:1 / span 2}.library-artist{grid-column:2;align-self:end}.library-title{grid-column:2;align-self:start}.library-add{grid-column:3;grid-row:1 / span 2;min-width:110px}.library-search-box kbd{display:none}}@media(max-width:600px){.library-topbar{align-items:flex-start}.library-topbar-left{flex-wrap:wrap}.library-brand span,.library-user>span{display:none}.library-nav span:last-child{display:none}.library-nav{width:40px;padding:0;justify-content:center}.library-shell{width:min(100% - 16px,1380px);padding-top:14px}.library-hero{padding:18px;border-radius:17px}.library-hero:after{display:none}.library-hero-actions{flex-direction:column}.library-stats{gap:7px}.library-stat{padding:11px 12px}.library-stat strong{font-size:1.3rem}.library-control-deck{padding:10px;border-radius:15px}.library-panel-head{align-items:flex-start;flex-direction:column}.library-panel-summary{flex-wrap:wrap}.library-track{grid-template-columns:68px minmax(0,1fr)}.library-source{grid-row:1 / span 2;max-width:68px;padding:0 6px;font-size:.58rem}.library-artist,.library-title{grid-column:2}.library-add{grid-column:2;grid-row:auto;justify-self:start;min-width:0;padding:0 11px}.library-pager{gap:7px}.library-pager button{padding:0 9px}.library-pager span{min-width:86px}.library-alpha{margin-left:-2px;margin-right:-2px}}@media(max-width:390px){.library-stats{grid-template-columns:1fr 1fr}.library-stat small{display:none}.library-track{grid-template-columns:62px minmax(0,1fr)}.library-source{max-width:62px}.library-hero h1{font-size:2rem}}

/* V201 bulk music management */
.library-main-controls{grid-template-columns:minmax(260px,1.55fr) minmax(220px,.9fr) minmax(180px,.7fr) minmax(180px,.7fr)}
.library-uploader-wrap{min-width:0}
.library-uploader-wrap label{display:block;margin:0 0 7px;color:#aab5c6;font-size:.76rem;font-weight:850}
.library-uploader-wrap select{width:100%;min-height:44px;padding:0 38px 0 12px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#0b111c;color:#fff;font-weight:800;outline:none}
.library-uploader-wrap select:focus{border-color:rgba(40,231,255,.52);box-shadow:0 0 0 3px rgba(40,231,255,.08)}
.library-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}
.library-bulkbar button{min-height:38px;padding:0 13px;border-radius:9px;font-weight:900;cursor:pointer}
.library-bulk-add{border:1px solid rgba(73,242,167,.32);background:rgba(26,103,70,.28);color:#a9ffd2}
.library-bulk-remove{border:1px solid rgba(255,107,122,.32);background:rgba(105,30,43,.28);color:#ffc1c8}
.library-bulkbar button:disabled{opacity:.42;cursor:not-allowed}
.library-bulkbar span{color:#8e99ad;font-size:.8rem;font-weight:750}
.library-column-head{grid-template-columns:34px 92px minmax(150px,1.05fr) minmax(160px,1.2fr) minmax(140px,.85fr) 126px}
.library-track{grid-template-columns:34px 92px minmax(150px,1.05fr) minmax(160px,1.2fr) minmax(140px,.85fr) 126px}
.library-check{display:flex;align-items:center;justify-content:center}
.library-check input{width:17px;height:17px;accent-color:var(--cyan);cursor:pointer}
.library-check input:disabled{opacity:.25;cursor:not-allowed}
.library-add.is-remove{border-color:rgba(255,107,122,.34);background:rgba(102,28,40,.28);color:#ffc1c8}
@media(max-width:1050px){.library-main-controls{grid-template-columns:1fr 1fr}.library-column-head{display:none}.library-track{grid-template-columns:34px 80px minmax(0,1fr) 118px}.library-check{grid-column:1;grid-row:1 / span 2}.library-source{grid-column:2;grid-row:1 / span 2}.library-artist,.library-title{grid-column:3}.library-meta{display:none}.library-add{grid-column:4;grid-row:1 / span 2;align-self:center}}
@media(max-width:600px){.library-main-controls{grid-template-columns:1fr}.library-track{grid-template-columns:28px 62px minmax(0,1fr)}.library-check{grid-column:1;grid-row:1 / span 3}.library-source{grid-column:2;grid-row:1 / span 3}.library-artist,.library-title{grid-column:3}.library-add{grid-column:3;grid-row:auto;justify-self:start}.library-bulkbar{align-items:stretch}.library-bulkbar button{flex:1 1 180px}.library-bulkbar span{flex-basis:100%}}
