:root{--bg-color:#0b0d10;--surface-color:#0d0f13f0;--surface-solid:#14161b;--surface-2:#ffffff0a;--surface-3:#ffffff14;--primary-color:#1ed760;--primary-soft:#1ed7601f;--primary-text:#5fe08c;--primary-contrast:#04240f;--text-main:#e8e8ea;--text-muted:#9aa0aa;--text-dim:#7d828c;--text-dim2:#5c6068;--danger:#ff6b7a;--border:#ffffff0f;--border-2:#ffffff1a;--panel:#0d0f13;--panel-2:#101318;--panel-modal:#14161b;--sidebar-collapsed:76px;--sidebar-expanded:228px;--glow-color:#1ed76012;--radius:14px;--radius-sm:10px;--radius-lg:18px;--player-h:84px;--ease:cubic-bezier(.2, .8, .2, 1);--app-height:100vh}@supports (height:100dvh){:root{--app-height:100dvh}}*{box-sizing:border-box}html,body,#root{touch-action:manipulation;width:100%;height:100%;min-height:100%}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;overscroll-behavior:none;flex-direction:column;margin:0;font-family:Golos Text,Segoe UI,sans-serif;display:flex;overflow:hidden}button{font-family:inherit}.hidden{display:none!important}.glow-bg{background:radial-gradient(circle 600px at var(--mouse-x,50%) var(--mouse-y,50%), var(--glow-color), transparent 80%);opacity:.6;z-index:-1;pointer-events:none;transition:background .4s;position:fixed;inset:0}.app-layout{height:calc(100vh - var(--player-h));flex:1;min-height:0;display:flex}.sidebar{width:var(--sidebar-collapsed);background:var(--panel);border-right:1px solid var(--border);transition:width .3s var(--ease);flex-direction:column;flex-shrink:0;padding:22px 14px 16px;display:flex;overflow:hidden}.sidebar:not(.collapsed){width:var(--sidebar-expanded)}.sidebar-brand{white-space:nowrap;align-items:center;gap:12px;margin-bottom:14px;padding:0 6px;display:flex}.sidebar.collapsed .sidebar-brand{justify-content:center;gap:0;padding:0}.brand-chip{background:linear-gradient(135deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 70%, #000));width:32px;height:32px;color:var(--primary-contrast);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.brand-name{letter-spacing:-.01em;max-width:160px;font-size:16px;font-weight:800;transition:opacity .22s,max-width .3s;overflow:hidden}.brand-collapse{color:var(--text-dim2);cursor:pointer;margin-left:auto;font-size:12px;transition:color .2s,opacity .22s}.brand-collapse:hover{color:var(--text-main)}.sidebar.collapsed .brand-name,.sidebar.collapsed .brand-collapse{opacity:0;pointer-events:none;max-width:0;margin-left:0}.sidebar-expand{height:0;transition:height .3s var(--ease);flex-shrink:0;overflow:hidden}.sidebar.collapsed .sidebar-expand{height:52px}.expand-btn{width:44px;height:44px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0 auto 8px;font-size:15px;transition:color .2s,background .2s;display:flex}.expand-btn:hover{color:var(--text-main);background:#ffffff0d}.nav-scroll{scrollbar-width:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.nav-scroll::-webkit-scrollbar{width:0;display:none}.nav-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim2);white-space:nowrap;margin-bottom:6px;padding:0 8px;font-size:11px;font-weight:700;transition:opacity .22s}.sidebar.collapsed .nav-section-label{opacity:0}.nav-items{flex-direction:column;gap:2px;margin-bottom:20px;display:flex}.nav-item{cursor:pointer;width:200px;height:44px;color:var(--text-muted);transition:width .3s var(--ease), color .2s, background .2s;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:12px;margin:0 auto;padding:0 8px;display:flex}.nav-item:hover{color:var(--text-main);background:#ffffff0a}.nav-item.active{color:var(--primary-text);background:var(--primary-soft)}.nav-item.active .nav-text{font-weight:600}.nav-item i{text-align:center;flex-shrink:0;width:20px;font-size:14px;transition:font-size .25s}.sidebar.collapsed .nav-item{border-radius:12px;justify-content:center;gap:0;width:44px;padding:0}.sidebar.collapsed .nav-item i{font-size:17px}.nav-text{max-width:160px;font-size:.95rem;font-weight:500;transition:opacity .22s,max-width .3s;overflow:hidden}.sidebar.collapsed .nav-text{opacity:0;max-width:0}.nav-bottom{flex-direction:column;flex-shrink:0;gap:2px;margin-top:auto;padding-top:8px;display:flex}.sidebar-user{white-space:nowrap;width:200px;transition:width .3s var(--ease), padding .3s var(--ease);background:#ffffff0a;border-radius:10px;align-items:center;gap:10px;margin:2px auto 0;padding:8px;display:flex;overflow:hidden}.sidebar.collapsed .sidebar-user{justify-content:center;gap:0;width:44px;padding:8px 0}.sidebar-user-avatar{color:#fff;background:linear-gradient(135deg,#4e4376,#2b5876);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.sidebar-user-name{color:#c8ccd2;font-size:13px}.main-content{background:radial-gradient(900px 420px at 30% -10%, var(--glow-color), transparent 60%);flex:1;min-width:0;padding:24px 32px 28px;overflow-y:auto}.main-content::-webkit-scrollbar{width:10px}.main-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.main-content::-webkit-scrollbar-thumb:hover{background:#ffffff24}.top-bar{align-items:center;gap:16px;margin-bottom:26px;display:flex}.search-container{background:#ffffff0d;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:10px;width:380px;max-width:60%;padding:9px 16px;transition:border-color .2s,background .2s;display:flex}.search-container:focus-within{border-color:var(--primary-color)}.search-container>i{color:var(--text-dim);font-size:13px}.search-container input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:14px}.topbar-kbd-hint{color:var(--text-dim2);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:inline-flex}.topbar-kbd-hint kbd{color:var(--text-muted)}.search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.search-clear:hover{background:var(--surface-3);color:var(--text-main)}.top-actions{gap:8px;display:flex}.icon-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:inline-flex}.icon-btn:hover{color:var(--primary-text);border-color:var(--primary-color)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:50px 20px 30px;animation:.4s fadeIn;display:flex}.empty-state .empty-icon{color:var(--primary-color);opacity:.85;filter:drop-shadow(0 0 20px var(--primary-soft));margin-bottom:18px;font-size:3.5rem}.empty-state h1{margin:0 0 8px;font-size:1.8rem}.empty-state p{color:var(--text-muted);max-width:400px;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home-greeting{letter-spacing:-.01em;margin-bottom:20px;font-size:22px;font-weight:800}.pwa-notice{border:1px solid color-mix(in srgb, var(--primary-color) 28%, var(--border));background:linear-gradient(110deg, var(--primary-soft), #ffffff06 70%);animation:pwaNoticeIn .3s var(--ease);border-radius:16px;grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:14px;margin:-4px 0 20px;padding:15px 14px 15px 16px;display:grid;position:relative;box-shadow:0 12px 30px #0000002e}.pwa-notice-icon{width:46px;height:46px;color:var(--primary-text);background:var(--primary-soft);border-radius:13px;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.pwa-notice-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.pwa-notice-copy strong{font-size:14px;font-weight:700}.pwa-notice-copy span{color:var(--text-muted);font-size:12.5px;line-height:1.45}.pwa-notice-action{white-space:nowrap;padding:9px 17px;font-size:13px}.pwa-notice-close{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pwa-notice-close:hover{color:var(--text-main);background:#ffffff12}@keyframes pwaNoticeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.link-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;transition:color .18s}.link-btn:hover{color:var(--text-main)}.hero-section{background:linear-gradient(120deg, var(--primary-soft), #0d0f1399 65%);z-index:1;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:24px;margin-bottom:28px;padding:24px;animation:.35s fadeIn;display:flex;position:relative}.cover-large{background:#1a1d22;border-radius:14px;flex-shrink:0;width:172px;height:172px;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000080}.cover-large img{object-fit:cover;width:100%;height:100%;display:block}.cover-placeholder{color:#444;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.track-details{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.badge{background:var(--primary-soft);width:fit-content;color:var(--primary-text);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;margin-bottom:12px;padding:4px 11px;font-size:11px;font-weight:700;display:inline-flex}.badge i{font-size:10px}.track-details h1{letter-spacing:-.02em;word-break:break-word;margin:0 0 6px;font-size:34px;font-weight:800;line-height:1.05}.track-details h2{color:var(--text-muted);margin:0 0 2px;font-size:16px;font-weight:500}.track-details h2 .clickable-text:hover{text-decoration:none;color:var(--text-main)!important}.track-details h3{color:var(--primary-text);margin:0 0 18px;font-size:14px;font-weight:500}.track-details h3 .clickable-text:hover{filter:brightness(1.15);text-decoration:none;color:var(--primary-text)!important}.hero-actions{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.btn-primary{background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:9px;padding:10px 22px;font-size:.95rem;font-weight:700;transition:transform .15s,filter .2s;display:inline-flex}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:scale(.98)}#hero-play-btn{background:var(--primary-color);color:var(--primary-contrast)}.btn-ghost{color:var(--text-main);border:1px solid var(--border-2);cursor:pointer;background:#ffffff0f;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--primary-color);color:var(--primary-text)}.btn-ghost.active{border-color:var(--primary-color);color:var(--primary-text);background:var(--primary-soft)}.lyrics-container{border-left:3px solid var(--primary-color);color:var(--text-muted);white-space:pre-wrap;background:#ffffff0a;border-radius:12px;max-height:220px;margin-top:6px;padding:16px 18px;line-height:1.6;animation:.25s fadeIn;overflow-y:auto}.home-empty-section{min-height:calc(100vh - var(--player-h) - 220px);justify-content:center;align-items:center;display:flex}.home-queue-list{margin:0;padding:0;list-style:none}.content-section{margin-bottom:40px}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-header h2{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:800}.section-header--sub h2{letter-spacing:0;font-size:17px;font-weight:700}.section-header--start{justify-content:flex-start;align-items:baseline;gap:14px}.section-actions{gap:8px;display:flex}.lib-stats{color:var(--text-dim);font-size:13.5px}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--primary-text);font-size:11px;font-weight:700}kbd{color:var(--text-main);background:#ffffff12;border:1px solid #ffffff1a;border-radius:5px;padding:1px 7px;font-family:inherit;font-size:11.5px}.subsection-title{color:var(--text-main);align-items:center;gap:10px;margin:28px 0 14px;font-size:17px;font-weight:700;display:flex}.subsection-title:first-child{margin-top:0}.release-header{align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.release-header .back-btn{align-self:flex-start}.release-cover{background:#1a1d22;border-radius:14px;flex-shrink:0;width:190px;height:190px;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000080}.release-cover img{object-fit:cover;width:100%;height:100%;display:block}.release-info{flex:1;min-width:0}.release-info .eyebrow{margin-bottom:8px;display:inline-block}.release-title{letter-spacing:-.02em;word-break:break-word;margin:0 0 8px;font-size:36px;font-weight:800;line-height:1.1}.release-meta{color:var(--text-muted);margin-bottom:18px;font-size:14px}.release-artists{display:inline}.release-artist{color:var(--text-main);cursor:pointer;font-weight:600;transition:color .18s}.release-artist:hover{color:var(--primary-text)}.release-artist-separator{color:var(--text-muted)}.release-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-glass{color:var(--text-main);border:1px solid var(--border-2);cursor:pointer;background:#ffffff0f;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.btn-glass:hover{border-color:var(--primary-color);color:var(--primary-text)}.btn-glass:active{transform:scale(.97)}.btn-glass.active{color:var(--primary-text);background:var(--primary-soft);border-color:var(--primary-color)}.btn-glass:focus-visible,.btn-primary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-circle{width:41px;height:41px;color:var(--text-muted);border:1px solid var(--border-2);cursor:pointer;background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.btn-circle:hover{color:var(--primary-text);border-color:var(--primary-color)}.btn-circle.active{color:var(--primary-text)}.btn-circle.danger:hover{color:var(--danger);border-color:#ff6b7a80}.back-btn{border-radius:50%;flex-shrink:0;justify-content:center;width:38px;height:38px;padding:0}.back-btn:hover{background:#ffffff1f}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.cover-card{cursor:pointer;border-radius:var(--radius);transition:background .2s, transform .2s var(--ease), border-color .2s;-webkit-user-select:none;user-select:none;background:#ffffff08;border:1px solid #0000;flex-direction:column;gap:10px;padding:12px;display:flex}.cover-card:hover{background:#ffffff0f;border-color:#ffffff14;transform:translateY(-3px)}.cover-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.cover-card-art{aspect-ratio:1;background:#1a1d22;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 8px 20px #00000059}.cover-card-art img{object-fit:cover;width:100%;height:100%;transition:transform .35s var(--ease);display:block}.cover-card:hover .cover-card-art img{transform:scale(1.05)}.cover-placeholder{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(135deg,#2a2a2a 0%,#1a1a1a 100%);justify-content:center;align-items:center;display:flex;position:relative}.cover-placeholder i{opacity:.35;font-size:2.4rem}.cover-placeholder-letter{color:var(--text-main);opacity:.85;font-size:2rem;font-weight:700;position:absolute}.cover-card .fav-btn{-webkit-backdrop-filter:blur(10px);color:#fff;cursor:pointer;opacity:0;z-index:2;background:#0a0a0e80;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .18s,transform .18s,background .18s;display:inline-flex;position:absolute;bottom:8px;right:8px}.cover-card:hover .fav-btn,.cover-card:focus-within .fav-btn,.cover-card .fav-btn.active{opacity:1}.cover-card .fav-btn:hover{background:#0a0a0ebf;transform:scale(1.08)}.cover-card .fav-btn.active{color:var(--primary-text)}@media (hover:none){.cover-card .fav-btn,.track-item .t-actions,.history-row-delete{opacity:1}}.cover-card-meta{min-width:0}.cover-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.cover-card-subtitle{color:#8b909a;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.cover-card--artist{text-align:center;border-radius:16px;align-items:center;gap:12px;padding:20px 14px 16px}.cover-card--artist .cover-card-art{aspect-ratio:auto;border-radius:50%;width:104px;height:104px;box-shadow:0 12px 26px #0006}.cover-card--artist .cover-card-title{font-size:14.5px;font-weight:700}.cover-card--artist .cover-card-subtitle{white-space:normal;margin-top:3px;font-size:12.5px}.cover-card--artist .fav-btn{width:32px;height:32px;bottom:2px;right:2px}.cover-card--type-single .cover-card-art{background:0 0;border-radius:50%;overflow:visible}.cover-card--type-single .cover-card-art>img,.cover-card--type-single .cover-card-art>.cover-placeholder,.cover-card--type-single .cover-card-art>.playlist-mosaic{border-radius:50%;overflow:hidden}.cover-card--type-ep .cover-card-art{box-shadow:0 6px 18px #0006, inset 0 0 0 1px var(--primary-soft)}.cover-card--type-single .cover-card-title:after{content:"Сингл";letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;margin-left:8px;font-size:.7rem;font-weight:600}.cover-card--type-ep .cover-card-title:after{content:"EP";letter-spacing:.06em;color:var(--primary-color);text-transform:uppercase;margin-left:8px;font-size:.7rem;font-weight:700}.artist-page .cover-card-title:after{content:none!important}.tabs{border-bottom:1px solid #ffffff12;gap:4px;margin-bottom:20px;display:flex}.tabs .tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-size:.95rem;font-weight:500;transition:color .18s,border-color .18s;display:inline-flex}.tabs .tab:hover{color:var(--text-main)}.tabs .tab.active{color:var(--primary-text);border-bottom-color:var(--primary-color)}.tabs .tab-count{color:var(--text-muted);background:#ffffff12;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600}.track-list{margin:0;padding:0;list-style:none}.track-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;transition:background .18s;position:relative}.t-row-fg{grid-template-columns:28px 44px 1fr auto auto;align-items:center;gap:14px;padding:9px 12px;display:grid}.track-item:hover{background:#ffffff0a}.track-item.playing{background:var(--primary-soft);color:var(--text-main)}.track-item.playing .t-idx,.track-item.playing .t-title,.track-item.playing .t-idx i.fa-volume-high{color:var(--primary-text)}.track-item .t-idx{color:var(--text-dim);text-align:center;font-variant-numeric:tabular-nums;font-size:13px}.track-item .t-idx .play-on-hover,.track-item:hover .t-idx .num{display:none}.track-item:hover .t-idx .play-on-hover{color:var(--text-main);display:inline}.track-item .t-cover{background:#1a1d22;border-radius:8px;width:40px;height:40px;overflow:hidden}.track-item .t-cover img{object-fit:cover;width:100%;height:100%}.track-item .t-meta{min-width:0}.track-item .t-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.explicit-badge{background:var(--text-muted);width:16px;height:16px;color:var(--bg-color);vertical-align:middle;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.censored-badge{background:var(--danger);color:#fff;vertical-align:middle;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:6px;font-size:.6rem;line-height:1;display:inline-flex}.gap-badge{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;border:1px solid #ffffff24;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:.62rem;font-weight:600}.track-item.gap{opacity:.62}.track-item.gap:hover{opacity:.9}.track-item.gap .t-cover{filter:grayscale(.5)}.section-meta{color:var(--text-muted);margin-left:8px;font-size:.85em;font-weight:400}.track-item .t-sub{color:#8b909a;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12.5px;overflow:hidden}.track-item .t-dur{color:#8b909a;font-variant-numeric:tabular-nums;font-size:13px}.track-item .t-actions{opacity:0;gap:4px;transition:opacity .18s;display:flex}.track-item:hover .t-actions{opacity:1}.track-item .t-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:color .15s,background .15s;display:inline-flex}.track-item .t-actions button:hover{color:var(--text-main);background:var(--surface-3)}.track-item .t-actions button.liked{color:var(--primary-text)}.list-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.search-hint{color:var(--text-muted);margin-bottom:18px}.search-chips-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim2);margin-bottom:12px;font-size:13px;font-weight:700}.search-chips{flex-wrap:wrap;gap:10px;display:flex}.artist-chip{color:var(--text-main);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:10px;padding:7px 16px 7px 8px;font-size:14px;transition:border-color .2s;display:inline-flex}.artist-chip:hover{border-color:var(--primary-color)}.artist-chip-avatar{color:#fff;background:linear-gradient(135deg,#2b5876,#4e4376);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.artist-chip-avatar img{object-fit:cover;width:100%;height:100%}.search-nothing{text-align:center;color:var(--text-muted);padding:60px 20px}.search-nothing i{color:#3a3f47;margin-bottom:14px;font-size:28px;display:block}.custom-player-bar{height:var(--player-h);background:var(--surface-color);z-index:10;border-top:1px solid #ffffff12;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 24px;display:grid}.player-info{align-items:center;gap:13px;min-width:0;display:flex}.mini-cover{width:52px;height:52px;color:var(--text-dim);cursor:pointer;background:#1a1d22;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.mini-cover img{object-fit:cover;width:100%;height:100%}.mini-details{flex:1;min-width:0}.mini-title-row{align-items:center;gap:8px;max-width:100%;display:inline-flex}.mini-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.mini-title.clickable-text:hover{text-decoration:none;color:var(--primary-text)!important}.mini-artist{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mini-artist.clickable-text:hover{text-decoration:none}#now-playing-artist{width:fit-content;max-width:100%}.like-btn{color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:15px;transition:color .2s,transform .15s}.like-btn:hover{color:var(--primary-text);transform:scale(1.1)}.like-btn.liked{color:var(--primary-text)}.player-controls{flex-direction:column;align-items:center;gap:7px;width:480px;max-width:44vw;display:flex}.control-buttons{align-items:center;gap:22px;display:flex}.ctrl-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:16px;transition:color .2s,transform .15s;display:inline-flex}.ctrl-btn:hover{color:var(--text-main)}.ctrl-btn:active{transform:scale(.92)}.ctrl-btn.active{color:var(--primary-text)}.ctrl-btn.small{font-size:13px}.repeat-control{position:relative}.repeat-one-badge{background:var(--surface-solid);min-width:13px;height:13px;color:var(--primary-text);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:8px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-3px;box-shadow:0 0 0 1px #ffffff14}.play-btn{color:#0b0d10;background:#f2f3f5;border-radius:50%;width:38px;height:38px;font-size:13px}.play-btn:hover{color:#0b0d10;background:#fff;transform:scale(1.06)}.progress-container{width:100%;color:var(--text-dim);align-items:center;gap:10px;font-size:11.5px;display:flex}#time-current,#time-total{font-variant-numeric:tabular-nums;text-align:center;min-width:36px}.player-volume{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:14px;display:flex}.volume-bar{width:96px}.progress-bar,.volume-bar{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--primary-color) var(--val,0%), #ffffff1f var(--val,0%));border-radius:2px;outline:none;height:4px;transition:height .15s}.volume-bar{background:linear-gradient(to right, #c8ccd2 var(--val,0%), #ffffff1f var(--val,0%))}.progress-bar{flex:1}.progress-bar:hover,.volume-bar:hover{height:6px}.progress-bar::-webkit-slider-thumb{appearance:none;background:var(--text-main);cursor:pointer;opacity:0;border:2px solid var(--primary-color);border-radius:50%;width:14px;height:14px;transition:opacity .2s,transform .15s}.volume-bar::-webkit-slider-thumb{appearance:none;background:var(--text-main);cursor:pointer;opacity:0;border:2px solid var(--primary-color);border-radius:50%;width:14px;height:14px;transition:opacity .2s,transform .15s}.progress-bar:hover::-webkit-slider-thumb{opacity:1}.volume-bar:hover::-webkit-slider-thumb{opacity:1}.progress-bar::-moz-range-thumb{background:var(--text-main);cursor:pointer;border:2px solid var(--primary-color);border-radius:50%;width:12px;height:12px}.volume-bar::-moz-range-thumb{background:var(--text-main);cursor:pointer;border:2px solid var(--primary-color);border-radius:50%;width:12px;height:12px}.volume-bar::-webkit-slider-thumb{border-color:#c8ccd2}.volume-bar::-moz-range-thumb{border-color:#c8ccd2}.queue-panel{top:16px;right:16px;bottom:calc(var(--player-h) + 16px);border-radius:var(--radius-lg);z-index:900;opacity:0;width:360px;max-width:92vw;transition:transform .35s var(--ease), opacity .25s ease;background:#111318f5;border:1px solid #ffffff14;flex-direction:column;display:flex;position:fixed;transform:translate(110%);box-shadow:0 20px 50px #00000080}.queue-panel:not(.hidden){opacity:1;transform:translate(0)}.queue-panel.hidden{pointer-events:none}.queue-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.queue-header h3{align-items:center;gap:10px;margin:0;font-size:15px;font-weight:700;display:flex}.queue-header h3 i{color:var(--primary-text);font-size:13px}.queue-header-actions{gap:6px;display:flex}.queue-header-actions .icon-btn{background:#ffffff0d;border:none;width:30px;height:30px}#queue-clear-btn:hover{color:var(--danger)}.queue-body{flex:1;padding:10px 10px 16px;overflow-y:auto}.queue-body::-webkit-scrollbar{width:8px}.queue-body::-webkit-scrollbar-thumb{background:#ffffff12;border-radius:10px}.queue-group{margin-top:8px}.queue-group-label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim2);justify-content:space-between;align-items:center;padding:6px 10px;font-size:10.5px;font-weight:700;display:flex}.queue-count{color:var(--text-muted);background:#ffffff12;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600}.queue-now,.queue-next{margin:0;padding:0;list-style:none}.queue-item{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;grid-template-columns:16px 38px 1fr auto;align-items:center;gap:10px;padding:8px 10px;transition:background .18s;display:grid}.queue-item:hover{background:#ffffff0a}.queue-item.playing{background:var(--primary-soft)}.queue-item.playing .q-handle{color:var(--primary-text)}.queue-item.dragging{opacity:.35;cursor:grabbing}.queue-item.drop-before{box-shadow:inset 0 2px 0 var(--primary-color)}.queue-item.drop-after{box-shadow:inset 0 -2px 0 var(--primary-color)}.queue-item .q-handle{color:#3a3f47;text-align:center;cursor:grab;font-size:11px}.queue-item .q-cover{background:#1a1d22;border-radius:7px;width:36px;height:36px;overflow:hidden}.queue-item .q-cover img{object-fit:cover;width:100%;height:100%}.queue-item .q-meta{min-width:0}.queue-item .q-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.queue-item .q-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.queue-item .q-actions{gap:2px;display:flex}.queue-item .q-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.queue-item .q-actions button:hover{color:var(--text-main);background:var(--surface-3)}.queue-empty{color:var(--text-muted);padding:14px 14px 8px;font-size:.85rem;line-height:1.5}.queue-fab{right:20px;bottom:calc(var(--player-h) + 20px);cursor:pointer;background:var(--primary-color);color:#000;width:52px;height:52px;box-shadow:0 10px 30px #00000080, 0 0 30px var(--primary-soft);z-index:800;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:transform .2s,filter .2s;display:inline-flex;position:fixed}.queue-fab:hover{filter:brightness(1.1);transform:scale(1.08)}.queue-fab-badge{background:var(--text-main);color:#000;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}@media (width>=901px){.queue-fab{display:none}}.ctx-menu{z-index:2000;background:#14161bf7;border:1px solid #ffffff14;border-radius:12px;min-width:200px;padding:6px;animation:.12s fadeIn;position:fixed;box-shadow:0 20px 40px #00000080}.ctx-item{cursor:pointer;color:var(--text-main);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.88rem;transition:background .12s,color .12s;display:flex}.ctx-item:hover{background:var(--primary-soft);color:var(--primary-text)}.ctx-item.danger:hover{color:var(--danger);background:#ff6b7a26}.ctx-item i{width:16px;font-size:.85rem}.ctx-sep{background:#ffffff12;height:1px;margin:4px 2px}.ctx-submenu-trigger{justify-content:flex-start}.ctx-submenu-trigger .ctx-chev{width:auto;margin-left:auto;transition:transform .15s}.ctx-submenu-trigger.open{background:var(--primary-soft);color:var(--primary-text)}.ctx-submenu-trigger.open .ctx-chev{transform:rotate(90deg)}.ctx-submenu{border:1px solid var(--border);background:#ffffff08;border-radius:8px;max-height:260px;margin:2px 0 4px;padding:4px;overflow-y:auto}.ctx-submenu .ctx-item{padding:6px 10px;font-size:.85rem}.ctx-pl-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ctx-pl-count{color:var(--text-dim);background:#ffffff12;border-radius:999px;padding:1px 6px;font-size:.75rem}.playlist-cover{cursor:pointer}.playlist-cover .cover-placeholder{width:100%;height:100%;color:var(--text-dim);justify-content:center;align-items:center;font-size:3.5rem;display:flex}.playlist-cover-overlay{opacity:0;color:#fff;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .2s;display:flex;position:absolute;inset:0}.playlist-cover-overlay i{font-size:1.6rem}.playlist-cover-overlay span{font-size:.85rem}.playlist-cover:hover .playlist-cover-overlay{opacity:1}.playlist-mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid}.playlist-mosaic img{object-fit:cover;width:100%;height:100%;display:block}.mosaic-fill{display:block}.mosaic-fill-0{background:linear-gradient(135deg,#134e5e,#71b280)}.mosaic-fill-1{background:linear-gradient(135deg,#2b5876,#4e4376)}.mosaic-fill-2{background:linear-gradient(135deg,#42275a,#734b6d)}.mosaic-fill-3{background:linear-gradient(135deg,#0f2027,#2c5364)}.playlist-new-card{border-radius:var(--radius);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px dashed #ffffff24;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:220px;transition:border-color .2s,color .2s;display:flex}.playlist-new-card:hover,.playlist-new-card:focus-visible{border-color:var(--primary-color);color:var(--primary-text)}.playlist-new-card i{font-size:22px}.playlist-new-card span{font-size:13px;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1500;opacity:1;background:#000000b3;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.modal-overlay.hidden{opacity:0;pointer-events:none}.modal-content{background:var(--panel-modal);border-radius:var(--radius-lg);width:480px;max-width:92vw;max-height:86vh;transition:transform .25s var(--ease);border:1px solid #ffffff17;padding:22px 24px;overflow-y:auto;transform:scale(.98);box-shadow:0 20px 40px #000c}.modal-overlay:not(.hidden) .modal-content{transform:scale(1)}.modal-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:800}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:inline-flex}.close-btn:hover{color:#fff;background:var(--surface-2)}.install-app-overlay{z-index:1550}.install-app-modal{width:650px;max-height:min(780px,90vh);overflow-y:auto}.install-app-modal .modal-header{align-items:flex-start}.install-app-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:12.5px}.install-platform-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.install-platform{border:1px solid var(--border-2);min-width:0;min-height:112px;color:var(--text-main);background:var(--surface-1);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:14px 8px 11px;font-family:inherit;transition:border-color .18s,background .18s,transform .18s;display:flex}.install-platform:hover:not(:disabled),.install-platform.active{border-color:var(--primary-color);background:var(--primary-soft);transform:translateY(-2px)}.install-platform>i{color:var(--text-muted);font-size:25px}.install-platform.active>i{color:var(--primary-text)}.install-platform>span{font-size:13px;font-weight:700}.install-platform>small{min-height:26px;color:var(--text-dim);font-size:9.5px;line-height:1.3}.install-platform:disabled{cursor:default;opacity:.48}.iphone-install-guide{border:1px solid var(--border);animation:pwaNoticeIn .22s var(--ease);background:#ffffff06;border-radius:16px;margin-top:18px;padding:18px}.iphone-install-heading{align-items:center;gap:12px;margin-bottom:15px;display:flex}.iphone-install-heading>i{background:var(--primary-soft);width:42px;height:42px;color:var(--primary-text);border-radius:12px;justify-content:center;align-items:center;font-size:21px;display:inline-flex}.iphone-install-heading div{flex-direction:column;gap:2px;display:flex}.iphone-install-heading strong{font-size:15px}.iphone-install-heading span{color:var(--text-muted);font-size:11.5px}.iphone-install-guide ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.iphone-install-guide li{grid-template-columns:36px 1fr;align-items:center;gap:11px;display:grid}.iphone-step-icon{width:34px;height:34px;color:var(--primary-text);background:var(--primary-soft);border-radius:10px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.iphone-install-guide li>div{flex-direction:column;gap:2px;display:flex}.iphone-install-guide li strong{font-size:12.5px}.iphone-install-guide li div span{color:var(--text-muted);font-size:11.5px;line-height:1.35}.iphone-install-note{border-top:1px solid var(--border);color:var(--text-muted);margin:15px 0 0;padding-top:13px;font-size:11.5px;line-height:1.45}.setting-group{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.setting-group>label:first-child{color:var(--text-muted);font-size:.92rem}.theme-selector{align-items:center;gap:10px;display:flex}.theme-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;transition:transform .2s,border-color .2s}.theme-dot:hover{transform:scale(1.15)}.theme-dot.active{border-color:#f2f3f5;transform:scale(1.1)}.switch{width:40px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .slider{cursor:pointer;background-color:#ffffff26;border-radius:22px;transition:all .2s;position:absolute;inset:0}.switch .slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+.slider{background-color:var(--primary-color)}.switch input:checked+.slider:before{transform:translate(18px)}.hotkeys{width:100%;color:var(--text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.hotkeys kbd{font-size:11.5px}.clickable-text{cursor:pointer;transition:color .18s}.clickable-text:hover{text-decoration:underline;color:var(--text-main)!important}.content-section.artist-page{z-index:5;animation:.35s fadeIn;position:relative}.artist-hero{background:radial-gradient(circle at 20% 0%, var(--primary-soft), transparent 55%), radial-gradient(circle at 95% 110%, #2b587680, transparent 60%), var(--panel-2);border:1px solid #ffffff17;border-radius:22px;margin-bottom:26px;position:relative;overflow:hidden}.artist-hero>.back-btn{z-index:3;background:#ffffff12;border-color:#ffffff1f;position:absolute;top:16px;left:16px}.artist-hero-content{align-items:center;gap:28px;padding:32px 32px 28px;display:flex}.artist-hero-photo{background:var(--surface-solid);border:1px solid #fff3;border-radius:50%;flex-shrink:0;width:176px;height:176px;position:relative;overflow:hidden;box-shadow:0 24px 48px #00000080}.artist-hero-photo img{object-fit:cover;width:100%;height:100%;display:block}.artist-hero-placeholder{background:linear-gradient(145deg, color-mix(in srgb, var(--primary-color) 32%, #16161a), #121216 70%);color:#ffffffe6;letter-spacing:.02em;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:3.6rem;font-weight:700;display:flex;position:absolute;inset:0}.artist-hero-details{flex:1;min-width:0}.artist-eyebrow{color:var(--text-main);letter-spacing:.09em;text-transform:uppercase;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:7px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.artist-eyebrow i{color:var(--primary-text);font-size:10px}.artist-hero-name{letter-spacing:-.02em;word-break:break-word;margin:12px 0 10px;font-size:clamp(1.9rem,4.5vw,42px);font-weight:800;line-height:1.05}.artist-hero-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 18px;margin-bottom:20px;font-size:14px;display:flex}.artist-hero-meta span{align-items:center;gap:7px;display:inline-flex}.artist-hero-meta i{opacity:.75;font-size:12px}.artist-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.artist-hero-actions .btn-primary{box-shadow:0 10px 26px var(--primary-soft);padding:11px 24px;font-size:.98rem}.artist-favbox{border-radius:var(--radius);background:#ffffff08;border:1px solid #ffffff12;margin-bottom:26px;overflow:hidden}.artist-favbox-head{width:100%;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:13px 18px;font-size:1rem;font-weight:600;transition:background .18s;display:flex}.artist-favbox-head:hover{background:#ffffff08}.artist-favbox-head:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px;border-radius:var(--radius)}.favbox-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.favbox-count,.subsection-count{color:var(--text-muted);background:#ffffff12;border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:600}.favbox-chevron{color:var(--text-muted);transition:transform .25s var(--ease);margin-left:auto;font-size:.8rem}.artist-favbox.open .favbox-chevron{transform:rotate(180deg)}.artist-favbox-body{transition:grid-template-rows .3s var(--ease), opacity .25s ease;opacity:0;grid-template-rows:0fr;display:grid}.artist-favbox.open .artist-favbox-body{opacity:1;grid-template-rows:1fr}.artist-favbox-body>div{min-height:0;overflow:hidden}.artist-favbox .track-list{padding:2px 8px 10px}.artist-page .subsection-title{color:var(--text-main);text-transform:none;letter-spacing:0;align-items:center;gap:10px;margin:30px 0 14px;font-size:1.15rem;font-weight:700;display:flex}.release-section{margin-bottom:10px}@media (width<=900px){.artist-hero-content{gap:22px;padding:28px 24px 24px}.artist-hero-photo{width:144px;height:144px}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}}@media (width<=640px){.artist-hero{border-radius:20px}.artist-hero-content{flex-direction:column;align-items:flex-start;gap:18px;padding:70px 20px 20px}.artist-hero-photo{width:116px;height:116px}.artist-hero-placeholder{font-size:2.4rem}.artist-hero-meta{margin-bottom:16px}.artist-hero-actions{width:100%}.artist-hero-actions .btn-primary,.artist-hero-actions .btn-glass{flex:auto;justify-content:center;min-height:44px}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}}.toast-host{bottom:calc(var(--player-h) + 16px);z-index:2500;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--border);color:var(--text-main);animation:toastIn .25s var(--ease);background:#14161bf5;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:.88rem;display:flex;box-shadow:0 10px 30px #0006}.toast.out{animation:toastOut .25s var(--ease) forwards}.toast i{color:var(--primary-text)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translateY(12px)}}.update-badge{z-index:3000;border:1px solid var(--border-2);color:var(--text-main);cursor:pointer;animation:updateBadgeIn .3s var(--ease);background:#14161bf5;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-family:inherit;font-size:.85rem;font-weight:600;transition:transform .15s,filter .2s,border-color .2s;display:inline-flex;position:fixed;top:72px;right:16px;box-shadow:0 10px 30px #0006}.update-badge:hover{border-color:var(--primary-color);filter:brightness(1.08)}.update-badge:active{transform:scale(.97)}.update-badge i{color:var(--primary-text)}.update-badge-dot{background:#ffa502;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.8s ease-out infinite updatePulse}@keyframes updatePulse{0%{box-shadow:0 0 #ffa50280}70%{box-shadow:0 0 0 7px #ffa50200}to{box-shadow:0 0 #ffa50200}}@keyframes updateBadgeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.update-modal-overlay{z-index:3000;padding:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:updateOverlayIn .25s var(--ease);background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-modal{background:var(--panel-modal);border:1px solid var(--border-2);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:360px;animation:updateModalIn .3s var(--ease);padding:28px 24px 24px;box-shadow:0 24px 60px #0009}.update-modal-icon{background:var(--primary-soft);width:62px;height:62px;color:var(--primary-text);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:26px;display:flex}.update-modal h2{margin:0 0 8px;font-size:20px;font-weight:800}.update-modal p{color:var(--text-muted);margin:0 0 22px;font-size:14px;line-height:1.5}.update-modal-btn{justify-content:center;width:100%;padding:13px;font-size:1rem}@keyframes updateOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes updateModalIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=900px){.player-info{width:auto}.player-volume,.topbar-kbd-hint{display:none}.cover-large{width:150px;height:150px}.track-details h1{font-size:1.6rem}.hero-section{gap:20px}.search-container{width:240px}.queue-panel{width:320px;top:8px;right:8px}.main-content{padding:20px}}@media (width<=640px){.hero-section{flex-direction:column;align-items:flex-start}.cover-large{width:128px;height:128px}.top-bar{flex-wrap:wrap}.t-row-fg{grid-template-columns:28px 40px 1fr auto}.track-item .t-actions{display:none}.sidebar{z-index:1000;height:calc(100vh - var(--player-h));position:fixed;box-shadow:12px 0 40px #00000073}.main-content{margin-left:var(--sidebar-collapsed);padding:16px}.custom-player-bar{gap:10px;padding:0 12px}.player-controls{max-width:none}.control-buttons{gap:14px}.mini-title-row .like-btn{display:none}.release-header{flex-direction:column;align-items:flex-start;gap:16px}.release-cover{width:150px;height:150px}.release-title{font-size:26px}.release-actions{width:100%}.release-actions .btn-primary,.release-actions .btn-ghost{flex:auto;justify-content:center;min-height:44px}.history-row{grid-template-columns:52px 34px 1fr 70px 24px}.history-album{display:none}}.setting-group.cache-group{flex-direction:column;align-items:stretch}.setting-group.cache-group>label:first-child{margin-bottom:8px}.setting-group.crossfade-duration-group{flex-direction:column;align-items:stretch}.setting-group.crossfade-duration-group>label:first-child{margin-bottom:6px}.setting-group.crossfade-duration-group input[type=range]{width:100%;accent-color:var(--primary-color);cursor:pointer}.setting-group.crossfade-duration-group input[type=range]:disabled{opacity:.4;cursor:not-allowed}.cache-info{background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.cache-stats-row{color:var(--text-main);align-items:center;gap:10px;font-weight:600;display:flex}.cache-stats-row i{color:var(--primary-text)}.sw-status-row{color:var(--text-muted);font-size:.88rem;font-weight:500}.sw-status-row[data-status=active] i{color:var(--primary-text)}.sw-status-row[data-status=waiting] i,.sw-status-row[data-status=update-available] i,.sw-status-row[data-status=registering] i{color:#ffa502}.sw-status-row[data-status=failed] i,.sw-status-row[data-status=unsupported] i{color:var(--danger)}#sw-reset-btn{margin-top:4px}.cache-hint{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.45}.btn-ghost.danger{color:var(--danger);border-color:#ff6b7a66;align-self:flex-start}.btn-ghost.danger:hover{color:#fff;border-color:var(--danger);background:#ff6b7a1f}.invite-summary{align-items:center;gap:12px;display:flex}.invite-quota{color:var(--text-dim2);white-space:nowrap;font-size:12px}.invite-modal-overlay{z-index:1600}.invite-modal-content{width:520px}.invite-modal-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.invite-error{color:var(--danger);margin-bottom:8px;font-size:12px}.invite-empty{color:var(--text-muted);margin:4px 0 0;font-size:13px}.invite-list{flex-direction:column;gap:6px;max-height:52vh;margin:0;padding:2px;list-style:none;display:flex;overflow-y:auto}.invite-row{align-items:center;gap:10px;display:flex}.invite-code{letter-spacing:.08em;-webkit-user-select:all;user-select:all;border:1px solid var(--border-2);background:#ffffff0d;border-radius:6px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.invite-row.used .invite-code{color:var(--text-dim);border-color:var(--border);background:0 0}.invite-status{color:var(--text-dim);flex:1;font-size:12px}.invite-status.fresh{color:var(--primary-text)}.invite-create-btn{white-space:nowrap}.auth-screen{background:radial-gradient(circle at 20% 20%, var(--primary-soft), transparent 55%), radial-gradient(circle at 80% 80%, #2b587659, transparent 55%), var(--bg-color);z-index:9999;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-loading{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;font-size:1rem;display:flex}.auth-loading i{color:var(--primary-color);font-size:2rem}.auth-card{background:var(--panel-modal);border-radius:var(--radius-lg);border:1px solid #ffffff17;flex-direction:column;gap:20px;width:100%;max-width:400px;padding:32px 28px;display:flex;box-shadow:0 24px 60px #00000080}.auth-brand{letter-spacing:-.01em;color:var(--text-main);justify-content:center;align-items:center;gap:10px;font-size:1.4rem;font-weight:800;display:flex}.auth-tabs{background:#ffffff0d;border-radius:10px;padding:4px;display:flex}.auth-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-weight:600;transition:background .2s,color .2s}.auth-tab:hover{color:var(--text-main)}.auth-tab.active{color:var(--text-main);background:#ffffff17}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.78rem}.auth-field input{color:var(--text-main);background:#ffffff0d;border:1px solid #ffffff17;border-radius:8px;outline:none;padding:10px 12px;font-size:.95rem;transition:border-color .15s}.auth-field input:focus{border-color:var(--primary-color)}.auth-field input:disabled{opacity:.6}.auth-error{color:var(--danger);background:#ff6b7a1f;border:1px solid #ff6b7a59;border-radius:8px;padding:8px 10px;font-size:.85rem}.auth-submit{justify-content:center;margin-top:4px;padding:10px 14px;font-size:.95rem}.logout-btn{justify-content:center;width:100%}.auth-screen{background:radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--primary-color) 14%, transparent), transparent 32%), radial-gradient(circle at 88% 86%, #2b587638, transparent 34%), linear-gradient(145deg, #080a0d 0%, var(--bg-color) 48%, #0c1116 100%);isolation:isolate;padding:32px;overflow-y:auto}.auth-screen:before{content:"";z-index:-1;pointer-events:none;opacity:.17;background-image:radial-gradient(#ffffff59 .55px,#0000 .55px);background-size:5px 5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000bf,#0000 78%);mask-image:linear-gradient(#000000bf,#0000 78%)}.auth-orb{pointer-events:none;z-index:-1;filter:blur(2px);border-radius:50%;position:absolute}.auth-orb--one{border:1px solid color-mix(in srgb, var(--primary-color) 22%, transparent);width:360px;height:360px;box-shadow:inset 0 0 90px color-mix(in srgb, var(--primary-color) 7%, transparent);top:-190px;right:8%}.auth-orb--two{border:1px solid #5e9abe1f;width:220px;height:220px;bottom:-130px;left:5%}.auth-shell{-webkit-backdrop-filter:blur(24px);background:#0f1217d1;border:1px solid #ffffff17;border-radius:24px;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);width:min(980px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 32px 90px #0000008c,inset 0 0 0 1px #ffffff04}.auth-showcase{background:linear-gradient(155deg, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent 48%), radial-gradient(circle at 78% 74%, #244d6285, transparent 44%), #0d1014;border-right:1px solid #ffffff12;flex-direction:column;min-width:0;padding:44px 46px 38px;display:flex;position:relative;overflow:hidden}.auth-showcase:after{content:"";border:60px solid color-mix(in srgb, var(--primary-color) 5%, transparent);width:380px;height:380px;box-shadow:0 0 0 1px color-mix(in srgb, var(--primary-color) 12%, transparent);border-radius:50%;position:absolute;bottom:-205px;right:-210px}.auth-showcase-brand,.auth-brand{letter-spacing:-.02em;color:var(--text-main);justify-content:flex-start;align-items:center;gap:11px;font-size:1.05rem;font-weight:800;display:flex}.auth-showcase-brand .brand-chip,.auth-brand .brand-chip{width:36px;height:36px;box-shadow:0 8px 24px color-mix(in srgb, var(--primary-color) 18%, transparent);font-size:15px}.auth-showcase-copy{z-index:1;margin-top:86px;position:relative}.auth-kicker,.auth-card-kicker{color:var(--primary-text);letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:700}.auth-kicker{align-items:center;gap:9px;display:flex}.auth-kicker span{background:var(--primary-color);width:20px;height:1px}.auth-showcase h1{letter-spacing:-.055em;margin:14px 0;font-size:clamp(2.25rem,4vw,3.35rem);font-weight:800;line-height:1.04}.auth-showcase-copy p{max-width:390px;color:var(--text-muted);margin:0;font-size:.96rem;line-height:1.65}.auth-library-stats{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(390px,100%);margin-top:auto;display:grid;position:relative}.auth-stat-item{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0a;border:1px solid #ffffff17;border-radius:13px;align-items:center;gap:11px;min-width:0;padding:13px 14px;display:flex;box-shadow:0 12px 30px #00000026}.auth-stat-item>i{width:34px;height:34px;color:var(--primary-text);background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary-color) 14%, transparent);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:.78rem;display:flex}.auth-stat-item div{flex-direction:column;gap:1px;min-width:0;display:flex}.auth-stat-item strong{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:1.08rem;font-weight:700;line-height:1.1}.auth-stat-item span{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.67rem;line-height:1.35;overflow:hidden}.auth-waveform{opacity:.12;align-items:center;gap:4px;width:150px;height:64px;display:flex;position:absolute;bottom:41px;right:34px;transform:rotate(-6deg)}.auth-waveform i{height:var(--wave-height);background:var(--primary-color);border-radius:4px;flex:1}.auth-card{width:auto;min-width:0;max-width:none;box-shadow:none;background:#14161be6;border:0;border-radius:0;flex-direction:column;gap:0;padding:44px 42px 30px;display:flex}.auth-brand{display:none}.auth-card-heading{margin:26px 0 24px}.auth-card-heading h2{letter-spacing:-.035em;margin:7px 0 8px;font-size:1.8rem;line-height:1.15}.auth-card-heading p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.55}.auth-tabs{background:#ffffff0b;border:1px solid #ffffff0e;border-radius:12px;margin-bottom:22px}.auth-tab{border-radius:9px;padding:9px 12px;font-size:.82rem;transition:background .2s,color .2s,box-shadow .2s}.auth-tab.active{background:#ffffff16;box-shadow:0 4px 12px #00000026}.auth-form{gap:15px}.auth-field{gap:7px}.auth-field span{letter-spacing:.02em;text-transform:none;color:#b8bdc5;font-size:.72rem;font-weight:600}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-wrap>i{z-index:1;width:15px;color:var(--text-dim2);text-align:center;pointer-events:none;font-size:.78rem;transition:color .2s;position:absolute;left:14px}.auth-field input{background:#ffffff09;border-color:#ffffff16;border-radius:10px;width:100%;height:44px;padding:0 14px 0 42px;font-family:inherit;font-size:.88rem;transition:border-color .2s,background .2s,box-shadow .2s}.auth-field input::placeholder{color:var(--text-dim2)}.auth-input-wrap:focus-within>i{color:var(--primary-text)}.auth-field input:focus{border-color:color-mix(in srgb, var(--primary-color) 65%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 9%, transparent);background:#ffffff0d}.auth-error{border-color:#ff6b7a47;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 11px;font-size:.78rem;line-height:1.4;display:flex}.auth-error i{margin-top:2px}.auth-error span{color:inherit;font-size:inherit;letter-spacing:0;text-transform:none;font-weight:500}.auth-submit.btn-primary{width:100%;min-height:44px;box-shadow:0 10px 28px color-mix(in srgb, var(--primary-color) 16%, transparent);border-radius:11px;justify-content:center;margin-top:5px;padding:10px 16px;font-size:.88rem}.auth-submit.btn-primary>i:last-child:not(:first-child){transition:transform .2s var(--ease);font-size:.74rem}.auth-submit.btn-primary:hover>i:last-child:not(:first-child){transform:translate(3px)}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-card-footer{color:var(--text-dim2);justify-content:center;align-items:center;gap:7px;margin-top:auto;padding-top:26px;font-size:.68rem;display:flex}.auth-card-footer i{color:color-mix(in srgb, var(--primary-text) 65%, var(--text-dim2));font-size:.66rem}@media (width<=780px){.auth-screen{align-items:stretch;padding:22px;overflow:clip}.auth-shell{max-width:450px;height:calc(var(--app-height) - 44px);max-height:calc(var(--app-height) - 44px);grid-template-columns:1fr;min-height:0;margin:0 auto}.auth-showcase{display:none}.auth-card{overscroll-behavior-y:contain;height:100%;min-height:0;padding:34px 34px 26px;overflow-y:auto}.auth-brand{display:flex}.auth-card-heading{margin-top:38px}}@media (width<=480px){.auth-screen{padding:12px}.auth-shell{height:calc(var(--app-height) - 24px);max-height:calc(var(--app-height) - 24px);border-radius:19px}.auth-card{padding:26px 22px 22px}.auth-card-heading{margin:32px 0 22px}.auth-card-heading h2{font-size:1.62rem}}@media (height<=700px) and (width>=781px){.auth-screen{padding:18px}.auth-shell{min-height:570px}.auth-showcase{padding-top:34px;padding-bottom:28px}.auth-showcase-copy{margin-top:55px}.auth-card{padding-top:30px;padding-bottom:22px}.auth-card-heading{margin-top:18px;margin-bottom:18px}.auth-tabs{margin-bottom:16px}.auth-form{gap:12px}}.history-groups{flex-direction:column;gap:14px;margin-top:8px;display:flex}.history-group{border-radius:var(--radius);background:#ffffff05;border:1px solid #ffffff12;overflow:hidden}.history-group-header{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;display:flex}.history-group-header:hover{background:#ffffff08}.history-group-title{font-weight:700}.history-chevron{color:var(--text-dim2);transition:transform .25s var(--ease);margin-left:auto;font-size:11px}.history-group.open .history-chevron{transform:rotate(180deg)}.history-group-count{color:var(--text-muted);background:#ffffff12;border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:600}.history-group-body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.history-group.open .history-group-body{opacity:1;grid-template-rows:1fr}.history-group-body>.history-list{margin:0;padding:0;list-style:none;overflow:hidden}.history-row{color:var(--text-main);border-top:1px solid #ffffff0d;grid-template-columns:52px 34px 1.3fr 1fr 88px 28px;align-items:center;gap:13px;padding:9px 16px;font-size:13.5px;display:grid}.history-row:hover{background:#ffffff08}.history-time{font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12.5px}.history-cover{width:34px;height:34px;color:var(--text-dim2);background:#1a1d22;border-radius:7px;justify-content:center;align-items:center;font-size:12px;display:inline-flex;overflow:hidden}.history-cover img{object-fit:cover;width:100%;height:100%;display:block}.history-main{flex-direction:column;min-width:0;display:flex}.history-title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.history-artist{color:#8b909a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.history-album{color:#8b909a;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-style:italic;overflow:hidden}.history-duration{text-align:right;font-variant-numeric:tabular-nums;color:#8b909a;justify-content:flex-end;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.history-duration i{opacity:.7}.history-link{font:inherit;color:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;margin:0;padding:0;text-decoration:none;transition:opacity .12s,color .12s;overflow:hidden}.history-link:hover{color:var(--primary-text)}.history-link:focus-visible{outline-offset:2px;border-radius:2px;outline:1px dashed}.history-row-delete{color:var(--text-dim2);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;margin:0;padding:4px 6px;transition:color .12s,background .12s,opacity .12s}.history-row:hover .history-row-delete{opacity:1}.history-row-delete:hover{color:var(--danger);background:#ff6b7a1a}.history-clear-btn{color:var(--text-muted);padding:8px 15px;font-size:13px;font-weight:500}.history-clear-btn:hover{color:var(--danger);border-color:#ff6b7a80}.history-clear-menu{display:inline-block;position:relative}.history-clear-dropdown{background:var(--panel-modal);z-index:50;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0006}.history-clear-dropdown button{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 12px}.history-clear-dropdown button:hover{background:#ffffff0f}.admin-panel{color:var(--text-main);padding:24px 32px 80px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-header h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:800}.admin-tabs{border-bottom:1px solid #ffffff12;gap:8px;margin-bottom:24px;display:flex}.admin-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.admin-tab:hover{color:var(--text-main)}.admin-tab.active{color:var(--primary-text);border-bottom-color:var(--primary-color)}.admin-card{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff08;margin-bottom:20px;padding:20px}.admin-card h3{margin:0 0 16px;font-size:16px}.admin-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-card-head h3{margin:0}.admin-tabs-mini{flex-wrap:wrap;gap:6px;display:flex}.admin-chip{border:1px solid var(--border-2);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:20px;padding:6px 12px;font-size:12px}.admin-chip.active{background:var(--primary-color);color:var(--primary-contrast);border-color:#0000}.admin-stats{gap:20px;display:grid}.admin-chart{width:100%;height:280px}.admin-muted{color:var(--text-dim);font-size:12px}.admin-error-text{color:var(--danger);font-size:12px}.admin-empty{color:var(--text-dim);text-align:center;padding:12px}.admin-top-list{margin:0;padding:0;list-style:none}.admin-top-list li{border-bottom:1px solid var(--border);grid-template-columns:30px 1fr 1fr 60px;align-items:center;gap:12px;padding:8px 4px;display:grid}.admin-top-rank{color:var(--text-dim2);font-weight:700}.admin-top-artist{color:var(--text-dim);font-size:13px}.admin-top-plays{text-align:right;color:var(--primary-text);font-weight:600}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px}.admin-table th{color:var(--text-dim);text-transform:uppercase;font-size:12px;font-weight:500}.admin-row{vertical-align:middle}.admin-row:hover{background:#ffffff08}.role-badge{background:#ffffff14;border-radius:999px;padding:2px 8px;font-size:11px}.role-badge.role-admin{background:var(--primary-soft);color:var(--primary-text)}.admin-role-select{width:auto;min-width:104px;padding:4px 8px;font-size:13px}.admin-user-cell{align-items:center;gap:10px;min-width:220px;display:flex}.admin-user-avatar{width:32px;height:32px;color:var(--text-main);background:#ffffff14;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.admin-user-main{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-user-main strong,.admin-user-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-main span{color:var(--text-dim);font-size:12px}.status-badge{border-radius:999px;justify-content:center;align-items:center;min-width:94px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.active{background:var(--primary-soft);color:var(--primary-text)}.status-badge.blocked{color:var(--danger);background:#ff6b7a24}.admin-user-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;display:flex}.admin-user-actions .icon-btn{flex:0 0 38px;justify-content:center;width:38px;height:38px;padding:0}.admin-user-actions .icon-btn svg{width:17px;height:17px}.admin-history-row td{background:#ffffff05;padding:16px}.admin-user-history h4{margin:0}.admin-user-history-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-user-history-head span{color:var(--text-dim);font-size:12px}.admin-history-groups{flex-direction:column;gap:10px;max-height:420px;display:flex;overflow-y:auto}.admin-history-group{border:1px solid var(--border);background:#0000001f;border-radius:8px;overflow:hidden}.admin-history-group-head{color:var(--text-main);cursor:pointer;text-align:left;background:#ffffff0a;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.admin-history-group-head:hover{background:#ffffff12}.admin-history-group-meta{color:var(--text-dim);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.admin-history-chevron{flex-shrink:0;transition:transform .2s}.admin-history-chevron--collapsed{transform:rotate(-90deg)}.admin-history-list{margin:0;padding:0;list-style:none}.admin-history-list li{border-bottom:1px solid var(--border);grid-template-columns:72px minmax(0,1.4fr) minmax(0,1fr) 60px;gap:12px;padding:6px 4px;font-size:13px;display:grid}.admin-history-list li:last-child{border-bottom:0}.admin-history-time,.admin-history-dur{color:var(--text-dim)}.admin-history-track,.admin-history-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-history-artist{color:var(--text-muted)}.admin-actions{justify-content:flex-end;gap:6px;display:flex}.admin-panel .icon-btn{border:1px solid var(--border-2);color:var(--text-muted);cursor:pointer;background:#ffffff0f;border-radius:6px;align-items:center;gap:4px;width:auto;height:auto;padding:6px 8px;display:inline-flex}.admin-panel .icon-btn:hover{color:var(--text-main);background:#ffffff1a}.admin-panel .icon-btn.active{background:var(--primary-soft);border-color:var(--primary-color);color:var(--primary-text)}.admin-panel .icon-btn.danger{color:var(--danger);border-color:#ff6b7a59}.admin-panel .icon-btn.danger:hover{background:#ff6b7a1f}.admin-panel .icon-btn.success{color:var(--primary-text);border-color:color-mix(in srgb, var(--primary-color) 45%, transparent)}.admin-panel .icon-btn.success:hover{background:var(--primary-soft)}.admin-panel .icon-btn:disabled{opacity:.45;cursor:not-allowed}.admin-panel .icon-btn:disabled:hover{color:var(--text-muted);background:#ffffff0f}.admin-input{border:1px solid var(--border-2);width:100%;color:var(--text-main);background:#ffffff0d;border-radius:8px;padding:8px 10px;font-size:14px}.admin-input:focus{border-color:var(--primary-color);outline:none}.admin-input.admin-quota-input{width:92px}.admin-coartists-group{flex-direction:column;align-items:flex-start}.admin-coartists-editor{flex-direction:column;gap:9px;width:100%;display:flex}.admin-coartist-selected{flex-wrap:wrap;gap:7px;display:flex}.admin-coartist-chip{border:1px solid color-mix(in srgb, var(--primary-color) 35%, transparent);background:var(--primary-soft);color:var(--primary-text);border-radius:999px;align-items:center;gap:6px;padding:5px 7px 5px 10px;font-size:12px;font-weight:600;display:inline-flex}.admin-coartist-chip button{width:19px;height:19px;color:inherit;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-coartist-chip button:hover{background:#ffffff29}.admin-coartist-search{align-items:center;display:flex;position:relative}.admin-coartist-search>svg{z-index:1;color:var(--text-dim);pointer-events:none;position:absolute;left:10px}.admin-coartist-search .admin-input{padding-left:34px}.admin-coartist-results{border:1px solid var(--border-2);background:#ffffff06;border-radius:9px;flex-direction:column;max-height:190px;padding:5px;display:flex;overflow-y:auto}.admin-coartist-results button{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 9px;display:flex}.admin-coartist-results button:hover{color:var(--text-main);background:#ffffff12}.admin-coartist-results>span{color:var(--text-dim);padding:9px;font-size:12px}.admin-invite-quota-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-invite-quota-row label{color:var(--text-muted);font-size:14px}.admin-invite-quota-row+.admin-muted{margin:10px 0 0}.admin-section-kicker{color:var(--primary-text);letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:750;display:block}.admin-users-summary,.admin-content-hero{border:1px solid var(--border);background:radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent 42%), #ffffff06;border-radius:16px;margin-bottom:18px;padding:22px}.admin-users-heading,.admin-content-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-users-heading h2,.admin-content-heading h2{letter-spacing:-.025em;margin:0;font-size:22px}.admin-users-heading p,.admin-content-heading p{color:var(--text-muted);margin:7px 0 0;font-size:13px;line-height:1.5}.admin-users-metrics{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.admin-users-metrics>span{border:1px solid var(--border);min-width:92px;color:var(--text-dim);background:#00000021;border-radius:10px;padding:9px 11px;font-size:11px}.admin-users-metrics strong{color:var(--text-main);font-size:17px;line-height:1.15;display:block}.admin-users-metrics .is-warning strong{color:var(--danger)}.admin-card-subtitle{color:var(--text-dim);margin-top:4px;font-size:12px;display:block}.admin-quota-card{padding:18px 20px}.admin-quota-card .admin-card-head{margin-bottom:12px}.admin-quota-card .admin-card-head h3{margin-bottom:0}.admin-quota-copy{flex-direction:column;flex:1;gap:3px;min-width:min(330px,100%);display:flex}.admin-quota-copy strong{font-size:13px}.admin-quota-copy span{color:var(--text-dim);font-size:11px}.admin-number-stepper{border:1px solid var(--border-2);background:#ffffff09;border-radius:9px;grid-template-columns:32px minmax(45px,58px) 32px;align-items:stretch;min-height:34px;transition:border-color .15s,box-shadow .15s;display:inline-grid;overflow:hidden}.admin-number-stepper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 10%, transparent)}.admin-number-stepper input{border:0;border-right:1px solid var(--border);border-left:1px solid var(--border);width:100%;min-width:0;color:var(--text-main);font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;outline:0;padding:0 3px;font-size:13px;font-weight:650}.admin-number-stepper input::placeholder{color:var(--text-dim2);opacity:.8}.admin-number-stepper-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-number-stepper-btn:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-text)}.admin-number-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.admin-user-quota{align-items:center;gap:7px;min-width:205px;display:flex}.admin-quota-inherit{color:var(--text-dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:4px 0;font-size:10px;text-decoration:underline}.admin-quota-inherit:hover{color:var(--primary-text)}.admin-quota-inherit:disabled{opacity:.45}.admin-table-scroll{scrollbar-width:thin;width:100%;overflow-x:auto}.admin-users-card .admin-table{min-width:980px}.admin-search-field{border:1px solid var(--border-2);min-height:40px;color:var(--text-dim);background:#ffffff09;border-radius:10px;align-items:center;gap:9px;padding:0 11px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.admin-search-field:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 9%, transparent);background:#ffffff0d}.admin-search-field>svg{flex:none}.admin-search-field input{width:100%;min-width:0;color:var(--text-main);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:13px}.admin-search-field input::placeholder{color:var(--text-dim2)}.admin-search-field button{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.admin-search-field button:hover{color:var(--text-main);background:#ffffff12}.admin-users-search{width:min(460px,100%);margin:0 0 14px}.admin-refresh-btn{flex:none;align-items:center;gap:7px;display:inline-flex}.admin-content-switcher{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:20px;display:grid}.admin-content-switch{border:1px solid var(--border);min-width:0;color:var(--text-muted);cursor:pointer;text-align:left;background:#0000001f;border-radius:10px;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 10px;transition:border-color .15s,background .15s,color .15s;display:grid}.admin-content-switch:hover{color:var(--text-main);background:#ffffff0b}.admin-content-switch.active{border-color:color-mix(in srgb, var(--primary-color) 58%, transparent);background:var(--primary-soft);color:var(--primary-text)}.admin-content-switch svg{width:15px;height:15px}.admin-content-switch span{text-overflow:ellipsis;font-size:12.5px;font-weight:650;overflow:hidden}.admin-content-switch strong{min-width:24px;color:inherit;text-align:center;background:#ffffff12;border-radius:999px;padding:2px 6px;font-size:10px}.admin-content-toolbar{align-items:center;gap:14px;margin-top:12px;display:flex}.admin-content-toolbar .admin-search-field{flex:1}.admin-content-result-count{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.admin-content-error,.admin-content-loading{min-height:130px;color:var(--text-muted);justify-content:center;align-items:center;gap:12px;display:flex}.admin-content-error{min-height:0;color:var(--danger);background:#ff6b7a0f;border:1px solid #ff6b7a4d;border-radius:12px;justify-content:flex-start;margin-bottom:18px;padding:15px 17px}.admin-content-error>div{flex-direction:column;flex:1;gap:2px;display:flex}.admin-content-error span{color:var(--text-muted);font-size:11px}.admin-content-card{padding:0;overflow:hidden}.admin-content-card>.admin-table-scroll{padding:6px 14px 0}.admin-content-card>.admin-table-scroll .admin-table{min-width:760px}.admin-content-card>.admin-grid{padding:16px}.admin-content-card .admin-card-item{border-radius:12px;align-items:stretch;padding:10px;transition:border-color .15s,transform .15s,background .15s;position:relative}.admin-content-card .admin-card-item:hover{border-color:var(--border-2);background:#ffffff0b;transform:translateY(-1px)}.admin-content-card .admin-card-meta{text-align:left;min-width:0}.admin-content-card .admin-card-meta strong,.admin-content-card .admin-card-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-content-card .admin-actions{margin-top:auto}.admin-storage-status{border:1px solid color-mix(in srgb, var(--primary-color) 30%, transparent);background:var(--primary-soft);color:var(--primary-text);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.admin-storage-status.is-missing{color:#ffca75;background:#ffb84d14;border-color:#ffb84d4d}@media (width<=760px){.admin-panel{padding-left:16px;padding-right:16px}.admin-users-heading,.admin-content-heading{flex-direction:column}.admin-users-metrics{justify-content:flex-start;width:100%}.admin-users-metrics>span{flex:1}.admin-content-switcher{grid-template-columns:1fr}.admin-content-toolbar{flex-direction:column;align-items:stretch;gap:7px}.admin-content-result-count{padding-left:2px}.admin-content-card .admin-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}}@media (width<=480px){.admin-users-summary,.admin-content-hero{padding:17px}.admin-quota-card,.admin-users-card{padding:15px}.admin-invite-quota-row{align-items:stretch}.admin-invite-quota-row .btn-ghost{flex:1}}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.admin-card-item{border:1px solid var(--border);background:#ffffff08;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.admin-card-item img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}.admin-cover-placeholder{aspect-ratio:1;width:100%;color:var(--text-dim2);background:#1a1d22;border-radius:6px;justify-content:center;align-items:center;font-size:36px;display:flex}.admin-card-meta{text-align:center;font-size:13px}.admin-card-meta strong{display:block}.admin-card-meta span{color:var(--text-dim);font-size:12px;display:block}.admin-panel .btn-primary{background:var(--primary-color);color:var(--primary-contrast);cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-weight:600}.admin-panel .btn-primary:disabled{opacity:.5;cursor:not-allowed}.switch-row{cursor:pointer;align-items:center;gap:8px;display:flex}.admin-upload{flex-direction:column;gap:18px;transition:border-color .15s,background .15s;display:flex;position:relative}.admin-upload--drag{border-color:var(--primary-color);background:var(--primary-soft)}.admin-upload-dropzone{border:1.5px dashed var(--border-2);color:var(--text-muted);background:#ffffff05;border-radius:12px;align-items:center;gap:14px;padding:16px;transition:border-color .15s,background .15s;display:flex}.admin-upload--drag .admin-upload-dropzone{border-color:var(--primary-color);background:var(--primary-soft);color:var(--text-main)}.admin-upload-dropzone strong{margin-bottom:4px;font-size:14px;display:block}.admin-upload-dropzone .admin-muted{font-size:12px;line-height:1.5}.admin-upload code{color:var(--text-main);background:#ffffff0f;border-radius:4px;padding:1px 6px;font-size:12px}.admin-upload-pick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-upload-btn{cursor:pointer;color:var(--text-main);border:1px solid var(--border-2);background:#ffffff14;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-weight:500;display:inline-flex}.admin-upload-btn:hover{background:#ffffff1f}.admin-upload-summary{color:var(--text-muted);font-size:13px}.admin-upload-progress{border:1px solid var(--border);background:#ffffff08;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.admin-upload-bar{background:#ffffff14;border-radius:999px;width:100%;height:10px;overflow:hidden}.admin-upload-bar-fill{background:linear-gradient(90deg, var(--primary-color), var(--primary-text));border-radius:999px;height:100%;transition:width .25s}.admin-upload-progress-meta{flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.admin-upload-current{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.admin-upload-current code{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.admin-upload-current-label{color:var(--text-muted)}.admin-upload-current--uploading{border-color:#2a4d70}.admin-upload-current--skipped{color:#d6c47a;border-color:#505010}.admin-upload-current--done{border-color:color-mix(in srgb, var(--primary-color) 45%, transparent);color:var(--primary-text)}.admin-upload-current--error{color:var(--danger);border-color:#ff6b7a59}.admin-upload-success{color:var(--primary-text);align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-upload-done{flex-wrap:wrap;gap:12px;display:flex}.admin-upload-log{border:1px solid var(--border);background:#ffffff05;border-radius:8px;padding:8px 12px}.admin-upload-log summary{cursor:pointer;color:var(--text-muted);padding:4px 0;font-size:13px}.admin-upload-log ul{max-height:240px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.admin-upload-log li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.admin-upload-log li:last-child{border-bottom:0}.admin-upload-log-status{text-transform:uppercase;letter-spacing:.5px;flex:none;min-width:72px;font-size:11px;font-weight:500}.admin-upload-log-uploaded .admin-upload-log-status{color:var(--primary-text)}.admin-upload-log-skipped .admin-upload-log-status{color:#d6c47a}.admin-upload-log-error .admin-upload-log-status{color:var(--danger)}.admin-upload-log code{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.admin-stats-hero,.admin-upload-hero{border:1px solid var(--border);background:radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent 42%), #ffffff06;border-radius:16px;padding:22px}.admin-stats-heading,.admin-upload-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-stats-heading h2,.admin-upload-hero h2{letter-spacing:-.025em;margin:0;font-size:22px}.admin-stats-heading p,.admin-upload-hero p{color:var(--text-muted);margin:7px 0 0;font-size:13px;line-height:1.5}.admin-stats-filter-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.admin-stats-filter-row>span{color:var(--text-dim);font-size:11px}.admin-stats-periods{border:1px solid var(--border);background:#00000029;border-radius:10px;gap:3px;padding:3px;display:inline-flex}.admin-stats-period{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 12px;font-size:11px}.admin-stats-period:hover{color:var(--text-main)}.admin-stats-period.active{background:var(--primary-soft);color:var(--primary-text);font-weight:650}.admin-stats-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-stat-metric{border:1px solid var(--border);background:#ffffff06;border-radius:12px;align-items:center;gap:12px;min-width:0;padding:15px;display:flex}.admin-stat-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary-text);border-radius:10px;flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex}.admin-stat-metric>div{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-stat-metric strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.15;overflow:hidden}.admin-stat-metric div span{color:var(--text-dim);font-size:10px}.admin-stats-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:20px;display:grid}.admin-stats-layout .admin-card{min-width:0;margin:0}.admin-stats-chart-card .admin-card-head,.admin-stats-top-card .admin-card-head{align-items:flex-start}.admin-stats-top-card .admin-card-head>svg{color:var(--primary-text)}.admin-stats-loading{min-height:260px;color:var(--text-dim);justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex}.admin-stats-top-card .admin-stats-loading{min-height:230px}.admin-stats-top-card .admin-top-list{flex-direction:column;gap:4px;display:flex}.admin-stats-top-card .admin-top-list li{border-bottom:1px solid var(--border);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:8px 4px;display:grid}.admin-stats-top-card .admin-top-list li:last-child{border-bottom:0}.admin-stats-top-card .admin-top-list li.admin-empty{padding:30px 8px;display:block}.admin-top-track{grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;display:grid}.admin-top-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.admin-top-artist{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-top-progress{background:#ffffff0d;border-radius:999px;width:100%;height:2px;margin-top:4px;overflow:hidden}.admin-top-progress i{border-radius:inherit;background:var(--primary-color);height:100%;display:block}.admin-stats-top-card .admin-top-plays{flex-direction:column;align-items:flex-end;line-height:1;display:flex}.admin-stats-top-card .admin-top-plays strong{font-size:13px}.admin-stats-top-card .admin-top-plays small{color:var(--text-dim2);margin-top:3px;font-size:8px;font-weight:500}.admin-upload-workspace{flex-direction:column;gap:18px;display:flex}.admin-upload-workspace code{color:var(--text-main);background:#ffffff0e;border-radius:5px;padding:2px 6px;font-size:11px}.admin-upload-index-btn{flex:none;align-items:center;gap:7px;display:inline-flex}.admin-upload-index-notice{border:1px solid color-mix(in srgb, var(--primary-color) 35%, transparent);background:var(--primary-soft);color:var(--primary-text);border-radius:10px;align-items:center;gap:8px;padding:11px 13px;font-size:11px;display:flex}.admin-upload-index-notice span{flex:1}.admin-upload-index-notice.is-error{color:var(--danger);background:#ff6b7a0f;border-color:#ff6b7a4d}.admin-upload-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,.62fr);align-items:start;gap:18px;display:grid}.admin-upload-layout>.admin-card{min-width:0;margin:0}.admin-upload-main{padding:20px}.admin-upload-path-example{text-overflow:ellipsis;white-space:nowrap;max-width:310px;overflow:hidden;color:var(--text-muted)!important}.admin-upload-workspace .admin-upload-dropzone{border-width:1.5px;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:116px;padding:19px;display:grid}.admin-upload-workspace.admin-upload--drag .admin-upload-dropzone{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary-color) 7%, transparent)}.admin-upload-drop-icon{background:var(--primary-soft);width:46px;height:46px;color:var(--primary-text);border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.admin-upload-workspace .admin-upload-dropzone strong{color:var(--text-main);margin:0;font-size:13px}.admin-upload-workspace .admin-upload-dropzone p{color:var(--text-dim);margin:4px 0 0;font-size:11px;line-height:1.4}.admin-upload-workspace .admin-upload-btn{white-space:nowrap;flex:none;padding:9px 13px;font-size:11px}.admin-upload-queue{border-top:1px solid var(--border);margin-top:15px;padding-top:15px}.admin-upload-queue-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-upload-queue-head>div{flex-direction:column;gap:2px;display:flex}.admin-upload-queue-head strong{font-size:13px}.admin-upload-queue-head span{color:var(--text-dim);font-size:10px}.admin-upload-file-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px;display:grid}.admin-upload-file-metrics>span{border:1px solid var(--border);min-width:0;color:var(--text-dim);border-radius:9px;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:6px;padding:9px;font-size:9px;display:grid}.admin-upload-file-metrics svg{color:var(--primary-text);grid-row:1/span 2}.admin-upload-file-metrics strong{color:var(--text-main);font-size:12px}.admin-upload-file-metrics .is-warning svg,.admin-upload-file-metrics .is-warning strong{color:#e7bd72}.admin-upload-warning{color:#e7bd72;background:#e7bd720f;border:1px solid #e7bd7240;border-radius:9px;align-items:flex-start;gap:8px;margin-top:10px;padding:9px 10px;font-size:10px;line-height:1.45;display:flex}.admin-upload-warning svg{flex:none}.admin-upload-preview-list{border-top:1px solid var(--border);margin:12px 0 0;padding:0;list-style:none}.admin-upload-preview-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:6px 2px;font-size:10px;display:flex}.admin-upload-preview-list li span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-upload-preview-list small{color:var(--text-dim2);flex:none}.admin-upload-preview-list .is-more{color:var(--text-dim);justify-content:center}.admin-upload-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;display:flex}.admin-upload-actions .btn-primary,.admin-upload-actions .btn-ghost{justify-content:center;align-items:center;gap:7px;display:inline-flex}.admin-upload-guide{padding:20px}.admin-upload-guide h3{margin-bottom:19px}.admin-upload-guide ol{counter-reset:upload-steps;margin:0;padding:0;list-style:none}.admin-upload-guide li{counter-increment:upload-steps;min-height:54px;padding:0 0 17px 36px;position:relative}.admin-upload-guide li:not(:last-child):after{content:"";background:var(--border-2);width:1px;position:absolute;top:24px;bottom:2px;left:12px}.admin-upload-guide li:before{content:counter(upload-steps);background:var(--primary-soft);width:25px;height:25px;color:var(--primary-text);border-radius:8px;justify-content:center;align-items:center;font-size:10px;font-weight:750;display:flex;position:absolute;top:0;left:0}.admin-upload-guide li strong,.admin-upload-guide li span{display:block}.admin-upload-guide li strong{margin-bottom:3px;font-size:11px}.admin-upload-guide li span,.admin-upload-guide>p{color:var(--text-dim);font-size:10px;line-height:1.45}.admin-upload-formats{border:1px solid var(--border);background:#ffffff05;border-radius:9px;padding:11px}.admin-upload-formats strong,.admin-upload-formats span{display:block}.admin-upload-formats strong{margin-bottom:4px;font-size:10px}.admin-upload-formats span{color:var(--text-muted);font-size:9px;line-height:1.5}.admin-upload-guide>p{margin:11px 0 0}.admin-upload-workspace .admin-upload-progress{margin:0;padding:18px 20px}.admin-upload-progress-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-upload-progress-head h3{margin:0}.admin-upload-progress-head>strong{color:var(--primary-text);font-variant-numeric:tabular-nums;font-size:18px}.admin-upload-workspace .admin-upload-bar{height:7px}.admin-upload-workspace .admin-upload-progress-meta{color:var(--text-muted);font-size:10px}.admin-upload-index-error{align-items:center;gap:7px;display:inline-flex}.admin-upload-index-error .btn-ghost{padding:5px 9px}.admin-upload-workspace .admin-upload-log{margin:0;padding:12px 16px}.admin-upload-workspace .admin-upload-log summary{align-items:center;gap:7px;display:flex}.admin-upload-workspace .admin-upload-log summary span{text-align:center;background:#ffffff0f;border-radius:999px;min-width:24px;padding:2px 6px}@media (width<=980px){.admin-stats-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-layout,.admin-upload-layout{grid-template-columns:1fr}}@media (width<=760px){.admin-stats-heading,.admin-upload-hero{flex-direction:column}.admin-stats-filter-row{flex-direction:column;align-items:flex-start}.admin-upload-workspace .admin-upload-dropzone{grid-template-columns:auto minmax(0,1fr)}.admin-upload-workspace .admin-upload-btn{grid-column:1/-1;justify-content:center}.admin-upload-file-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.admin-stats-hero,.admin-upload-hero{padding:17px}.admin-stats-metrics{grid-template-columns:1fr}.admin-stats-periods{width:100%}.admin-stats-period{flex:1}.admin-upload-path-example{display:none}}.spin{animation:.9s linear infinite admin-spin}@keyframes admin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-pagination{justify-content:center;align-items:center;gap:12px;padding:12px 4px 4px;display:flex}.admin-pagination span{color:var(--text-dim);font-size:13px}.admin-pagination button{border:1px solid var(--border-2);color:var(--text-muted);cursor:pointer;background:#ffffff0f;border-radius:8px;padding:6px 14px;font-size:13px}.admin-pagination button:hover{color:var(--text-main);background:#ffffff1a}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-pagination button:disabled:hover{color:var(--text-muted);background:#ffffff0f}.admin-header-actions{align-items:center;gap:8px;display:flex}.btn-pending{background:var(--primary-soft);border:1px solid var(--primary-color);color:var(--primary-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-pending:hover{filter:brightness(1.15)}.admin-pending-tag{color:var(--primary-text);text-transform:uppercase;letter-spacing:.4px;margin-left:8px;font-size:11px;font-weight:600;display:inline-block}.admin-row--pending-update td:first-child,.admin-card-item--pending-update{box-shadow:inset 3px 0 0 var(--primary-color)}.admin-row--pending-delete{opacity:.55}.admin-row--pending-delete td:first-child,.admin-card-item--pending-delete{box-shadow:inset 3px 0 0 var(--danger)}.admin-card-item--pending-delete{opacity:.55}.admin-catalog{flex-direction:column;display:flex}.admin-catalog-crumbs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px;padding:0 2px 10px;display:flex}.admin-catalog-crumb{cursor:pointer;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;max-width:280px;padding:4px 7px;font-size:13.5px;overflow:hidden}.admin-catalog-crumb:hover:not(:disabled){color:var(--text-main);background:#ffffff0f}.admin-catalog-crumb:disabled{cursor:default}.admin-catalog-crumb.current{color:var(--text-main);font-weight:600}.admin-catalog-crumb-sep{color:var(--text-dim);flex:none}.admin-catalog-list{flex-direction:column;gap:2px;display:flex}.admin-catalog-row{border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.admin-catalog-row:hover{background:#ffffff08}.admin-catalog-row--pending-update{box-shadow:inset 3px 0 0 var(--primary-color)}.admin-catalog-row--pending-delete{box-shadow:inset 3px 0 0 var(--danger);opacity:.55}.admin-catalog-main{cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.admin-catalog-main--static{cursor:default}.admin-catalog-thumb{object-fit:cover;border-radius:8px;flex:none;width:42px;height:42px}.admin-catalog-thumb--round{border-radius:50%}.admin-catalog-thumb--empty{color:var(--text-dim);background:#ffffff0f;justify-content:center;align-items:center;font-size:17px;display:flex}.admin-catalog-text{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-catalog-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.admin-catalog-text>span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.admin-catalog-open{color:var(--text-dim);flex:none;margin-left:auto}.admin-catalog-tracknum{text-align:right;width:30px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.admin-catalog-explicit{border:1px solid var(--border-2);color:var(--text-dim);vertical-align:1px;border-radius:3px;margin-left:6px;padding:0 4px;font-size:10px;line-height:14px;display:inline-block}.admin-catalog-row .admin-actions{flex:none}.admin-catalog-row .icon-btn:disabled{opacity:.35;cursor:not-allowed}.admin-number-pair{align-items:stretch}.admin-number-pair>div{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.admin-edit-preview{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:14px;display:flex}.modal-content--wide{width:100%;max-width:720px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:8px;padding-top:14px;display:flex}.admin-pending-list{flex-direction:column;gap:10px;max-height:60vh;display:flex;overflow-y:auto}.admin-pending-card{border:1px solid var(--border-2);background:#ffffff05;border-radius:8px;padding:10px 12px}.admin-pending-card--delete{background:#ff6b7a0f;border-color:#ff6b7a66}.admin-pending-card--update{border-color:color-mix(in srgb, var(--primary-color) 40%, transparent)}.admin-pending-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.admin-pending-card-title{font-size:14px;font-weight:600}.admin-pending-card-target{color:var(--text-muted);margin-top:2px;font-size:13px}.admin-pending-card-details{border-top:1px dashed var(--border-2);flex-direction:column;gap:4px;margin:8px 0 0;padding:8px 0 0;font-size:13px;list-style:none;display:flex}.admin-pending-field{color:var(--text-dim)}.admin-pending-from{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--text-dim2);text-decoration-color:var(--text-dim2)}.admin-pending-to{color:var(--primary-text);font-weight:600}.admin-pending-errors{margin:6px 0 0;padding-left:20px;font-size:12px;list-style:outside}.admin-pending-errors code{background:#ffffff0f;border-radius:3px;padding:1px 4px}.t-artist-link{cursor:pointer;transition:color .15s}.t-artist-link:hover{color:var(--primary-text);text-decoration:underline}.t-artist-sep{opacity:.75}#hero-artist .t-artist-link:hover{color:var(--text-main)}.artist-feats .track-list{margin-top:4px}.smart-shuffle-modal{flex-direction:column;max-height:min(640px,86vh);display:flex}.smart-shuffle-modal .modal-body{flex-direction:column;min-height:0;display:flex}.smart-shuffle-hint{color:var(--text-muted);margin-bottom:12px;font-size:13px}.smart-shuffle-search{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;display:flex}.smart-shuffle-search i{color:var(--text-muted);font-size:13px}.smart-shuffle-search input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;font-size:14px}.smart-shuffle-tools{gap:14px;margin-bottom:8px;display:flex}.smart-shuffle-tools .link-btn i{margin-right:5px;font-size:12px}.smart-shuffle-tools .link-btn:disabled{opacity:.4;cursor:default}.smart-shuffle-list{border:1px solid #ffffff12;border-radius:12px;flex:1;min-height:120px;margin-bottom:12px;padding:4px;overflow-y:auto}.smart-shuffle-row{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.smart-shuffle-row:hover{background:#ffffff0d}.smart-shuffle-row.picked{background:var(--primary-soft)}.smart-shuffle-row input[type=checkbox]{accent-color:var(--primary-color);flex:none;width:15px;height:15px}.smart-shuffle-avatar{width:30px;height:30px;color:var(--text-muted);background:linear-gradient(135deg,#ffffff24,#ffffff0a);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex;overflow:hidden}.smart-shuffle-avatar img{object-fit:cover;width:100%;height:100%}.smart-shuffle-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.smart-shuffle-fav{color:var(--primary-text);margin-left:6px;font-size:11px}.smart-shuffle-count{color:var(--text-muted);flex:none;font-size:12px}.smart-shuffle-feat{margin-bottom:0}.smart-shuffle-footer{justify-content:flex-end;padding-top:14px;display:flex}.smart-shuffle-footer .btn-primary:disabled{opacity:.5;cursor:default}.admin-censor{flex-direction:column;gap:18px;display:flex}.admin-censor-hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-censor-hero h2{margin:4px 0 6px}.admin-censor-hero p{color:var(--text-muted);max-width:560px;margin:0;font-size:13.5px}.admin-censor-list{flex-direction:column;gap:14px;display:flex}.admin-censor-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.admin-censor-head{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.admin-censor-title{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-censor-track{font-size:15px;font-weight:700}.admin-censor-sub{color:var(--text-muted);font-size:12.5px}.admin-censor-services{flex-wrap:wrap;gap:6px;display:flex}.admin-censor-chip{color:#ff8b5f;background:#ff8b5f1f;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.admin-censor-reports{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.admin-censor-reports li{color:var(--text-muted);font-size:12.5px}.admin-censor-reports b{color:var(--text-main);font-weight:600}.admin-censor-audio{width:100%;height:36px}.admin-censor-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-censor-actions .btn-primary:disabled,.admin-censor-actions .btn-ghost:disabled{opacity:.5;cursor:default}.admin-censor-clean:not(:disabled):hover{color:var(--primary-text)}@media (width<=720px){.admin-censor-hero{flex-direction:column}.admin-censor-actions .btn-primary{justify-content:center;width:100%}}.admin-error{color:#ff9b9b;background:#ff6b6b14;border:1px solid #ff6b6b40;border-radius:10px;padding:10px 14px;font-size:13px}@media (pointer:coarse){.m-search input,.search-container input,.auth-field input{font-size:16px}}.ds-mobile{background:radial-gradient(500px 300px at 60% -10%, var(--glow-color), transparent 60%), var(--bg-color);z-index:1;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.ds-mobile-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;flex:1;min-height:0;padding:4px clamp(12px,4vw,20px) 24px;overflow:hidden auto}.ds-mobile-content::-webkit-scrollbar{display:none}.ds-mobile .back-btn{display:none}.m-topbar{padding:calc(10px + env(safe-area-inset-top,0px)) max(clamp(12px, 4vw, 20px), env(safe-area-inset-right,0px)) 10px max(clamp(12px, 4vw, 20px), env(safe-area-inset-left,0px));flex-shrink:0;align-items:center;gap:12px;display:flex}.m-topbar-btn{background:var(--surface-2);border:1px solid var(--border-2);width:38px;height:38px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:background .2s;display:flex}.m-topbar-btn:active{background:#ffffff24}.m-back-label{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.m-brand{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.m-brand-chip{background:linear-gradient(135deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 70%, #000));width:30px;height:30px;color:var(--primary-contrast);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.m-brand-name{letter-spacing:-.01em;font-size:17px;font-weight:800}.m-search{background:var(--surface-2);border:1px solid var(--border-2);border-radius:12px;flex:1;align-items:center;gap:10px;min-width:0;height:40px;padding:0 14px;display:flex}.m-search>i{color:var(--text-dim);font-size:13px}.m-search input{min-width:0;color:var(--text-main);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.m-search input::placeholder{color:var(--text-dim)}.m-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px}.ds-mobile .m-greeting{letter-spacing:-.01em;margin:6px 0 16px;font-size:24px;font-weight:800}.ds-mobile .pwa-notice{border-radius:14px;grid-template-columns:40px minmax(0,1fr) 28px;gap:10px;margin:0 0 16px;padding:13px 10px 13px 12px}.ds-mobile .pwa-notice-icon{border-radius:11px;width:40px;height:40px;font-size:17px}.ds-mobile .pwa-notice-copy strong{font-size:13px}.ds-mobile .pwa-notice-copy span{font-size:11.5px}.ds-mobile .pwa-notice-action{grid-column:2/4;justify-self:start;padding:8px 14px;font-size:12px}.ds-mobile .pwa-notice-close{grid-area:1/3;align-self:start}.m-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:5px max(8px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));background:#0b0d10e6;border-top:1px solid #ffffff12;flex-shrink:0;align-items:stretch;display:flex}.m-nav-item{cursor:pointer;min-height:48px;color:var(--text-dim);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 0;font-family:inherit;transition:color .2s;display:flex}.m-nav-item i{font-size:18px}.m-nav-item span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;max-width:100%;font-size:clamp(9px,2.5vw,10px);font-weight:600;overflow:hidden}.m-nav-item.active{color:var(--primary-text)}.m-nav-item:active{opacity:.7}.ds-mobile .hero-section{text-align:left;border-radius:18px;flex-direction:row;align-items:center;gap:14px;margin-bottom:24px;padding:14px}.ds-mobile .cover-large{border-radius:12px;width:92px;height:92px;box-shadow:0 12px 28px #00000080}.ds-mobile .badge{margin-bottom:8px;padding:3px 9px;font-size:10px}.ds-mobile .track-details h1{margin:0 0 2px;font-size:17px}.ds-mobile .track-details h2{margin:0 0 2px;font-size:13px}.ds-mobile .track-details h3{margin:0 0 10px;font-size:12px}.ds-mobile .hero-actions{gap:8px;margin-bottom:0}.ds-mobile .hero-actions .btn-primary{padding:8px 16px;font-size:.85rem}.ds-mobile .hero-actions .btn-ghost,.ds-mobile .hero-actions .btn-circle,.ds-mobile .lyrics-container{display:none}.m-player{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);background:#101318eb;flex-shrink:0}.m-player-row{align-items:center;gap:4px;padding:8px 10px 8px 12px;display:flex}.m-player-info{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.m-player-cover{color:#ffffff59;background:#1a1d22;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;display:flex;overflow:hidden}.m-player-cover img{object-fit:cover;width:100%;height:100%;display:block}.m-player-meta{flex:1;min-width:0}.m-player-title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.m-player-artist{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11.5px;overflow:hidden}.m-player button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.m-player-like{width:36px;height:36px;color:var(--text-muted);flex-shrink:0;font-size:15px}.m-player-like.liked{color:var(--primary-text)}.m-player-like:active,.m-player-next:active{transform:scale(.9)}.m-player .m-player-play{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;display:flex}.m-player-play:active{transform:scale(.92)}.m-player-next{width:36px;height:36px;color:var(--text-muted);flex-shrink:0;font-size:15px}.m-player-progress{background:#ffffff14;height:2px}.m-player-progress>div{background:var(--primary-color);height:100%}.m-np{z-index:1200;background:var(--bg-color);transition:transform .34s var(--ease);position:fixed;inset:0;overflow:hidden;transform:translateY(100%)}.m-np.open{transform:translateY(0)}.m-np-bg{filter:blur(46px)saturate(1.2);opacity:.6;background-color:#14161b;background-position:50%;background-size:cover;position:absolute;inset:-40px}.m-np-shade{background:linear-gradient(#0b0d101a,#0b0d10f0 80%);position:absolute;inset:0}.m-np-content{z-index:1;height:100%;padding:calc(6px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;position:relative}.m-np-grab{touch-action:none;cursor:grab;justify-content:center;padding:10px 0 6px;display:flex}.m-np-handle{background:#ffffff38;border-radius:99px;width:44px;height:5px}.m-np-head{align-items:center;gap:12px;padding:8px 0;display:flex}.m-np-round{color:#c8ccd2;cursor:pointer;background:#ffffff12;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;display:flex}.m-np-round:active{background:#ffffff24}.m-np-from{text-align:center;cursor:pointer;flex:1;min-width:0}.m-np-from-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;font-size:10px;font-weight:700}.m-np-from-title{color:#c8ccd2;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12.5px;font-weight:600;overflow:hidden}.m-np-cover{flex:1;justify-content:center;align-items:center;min-height:0;padding:14px 0;display:flex}.m-np-cover img,.m-np-cover-ph{aspect-ratio:1;object-fit:cover;border-radius:18px;width:min(100%,44vh);box-shadow:0 24px 60px #0000008c}.m-np-cover-ph{color:#555;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);justify-content:center;align-items:center;font-size:42px;display:flex}.m-np-meta{flex-shrink:0}.m-np-title-row{align-items:center;gap:10px;display:flex}.m-np-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:21px;font-weight:800;overflow:hidden}.m-np-like{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:19px}.m-np-like.liked{color:var(--primary-text)}.m-np-artist{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;overflow:hidden}.m-np-artist .t-artist-link{cursor:pointer}.m-np-progress{align-items:center;gap:10px;margin:14px 0 4px;display:flex}.m-np-progress span{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:center;min-width:36px;font-size:11px}.m-np-progress .progress-bar{flex:1;height:5px}.m-np-progress .progress-bar::-webkit-slider-thumb{opacity:1}.m-np-progress .progress-bar::-moz-range-thumb{opacity:1}.m-np-controls{justify-content:space-between;align-items:center;padding:8px 4px 4px;display:flex}.m-np-controls button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.m-np-small{width:44px;height:44px;color:var(--text-dim);font-size:16px;position:relative}.m-np-small.active{color:var(--primary-text)}.m-np-side{width:54px;height:54px;color:var(--text-main);font-size:24px}.m-np-side:active{transform:scale(.92)}.m-np-controls .m-np-play{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-size:22px;display:flex;box-shadow:0 14px 34px #00000073}.m-np-controls .m-np-play:active{transform:scale(.94)}.m-np-controls .repeat-one-badge{background:var(--panel);top:6px;right:5px}.m-dim{z-index:1290;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .3s;position:fixed;inset:0}.m-dim.open{opacity:1;pointer-events:auto}.m-sheet{z-index:1300;background:var(--panel-2);border:1px solid var(--border-2);transition:transform .32s var(--ease);max-height:min(86%, calc(var(--app-height) - env(safe-area-inset-top,0px)));border-bottom:none;border-radius:22px 22px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(105%)}.m-sheet.open{transform:translateY(0)}.m-sheet-grab{touch-action:none;cursor:grab;flex-shrink:0;justify-content:center;padding:10px 0 4px;display:flex}.m-sheet-handle{background:#ffffff2e;border-radius:99px;width:44px;height:5px}.m-sheet-body{-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.m-more-user{background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;margin:4px 16px 12px;padding:12px;display:flex}.m-more-avatar{color:#fff;background:linear-gradient(135deg,#4e4376,#2b5876);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:inline-flex}.m-more-user-meta{min-width:0}.m-more-user-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.m-more-user-sub{color:var(--text-dim);font-size:11.5px}.m-more-row{cursor:pointer;width:100%;min-height:48px;color:var(--text-main);text-align:left;background:0 0;border:none;align-items:center;gap:14px;padding:13px 22px;font-family:inherit;font-size:14.5px;font-weight:500;display:flex}.m-more-row:active{background:var(--surface-2)}.m-more-row i{text-align:center;width:20px;color:var(--text-muted);font-size:15px}.m-more-row.danger,.m-more-row.danger i{color:var(--danger)}.ds-mobile .queue-panel{z-index:1300;opacity:1;border-bottom:none;border-radius:22px 22px 0 0;width:auto;max-width:none;height:72%;inset:auto 0 0;transform:translateY(105%)}.ds-mobile .queue-panel:not(.hidden){transform:translateY(0)}.ds-mobile .queue-body{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.ds-mobile .modal-overlay{align-items:flex-end}.ds-mobile .modal-content{width:100%;max-width:none;max-height:calc(var(--app-height) * .88);padding:18px 18px calc(24px + env(safe-area-inset-bottom,0px));border-bottom:none;border-radius:22px 22px 0 0;margin:0;transform:translateY(30px)}.ds-mobile .modal-overlay:not(.hidden) .modal-content{transform:translateY(0)}.ds-mobile .install-app-modal{max-height:calc(var(--app-height) * .9)}.ds-mobile .install-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-mobile .install-platform{min-height:96px}.ds-mobile .install-platform:first-child{grid-column:1/-1;min-height:90px}.ds-mobile .iphone-install-guide{padding:14px}.ds-mobile .section-header{margin-bottom:10px}.ds-mobile .section-header h2{font-size:19px}.ds-mobile .section-header--start{flex-wrap:wrap;gap:2px 10px}.ds-mobile .lib-stats{font-size:12px}.ds-mobile .content-section{margin-bottom:28px}.ds-mobile .subsection-title{margin:20px 0 10px;font-size:15.5px}.ds-mobile .home-empty-section{min-height:calc(var(--app-height) * .46)}.ds-mobile .empty-state{padding-inline:clamp(8px,3vw,20px)}.ds-mobile .empty-state h1{font-size:clamp(1.45rem,7vw,1.8rem)}.ds-mobile .empty-state p{font-size:clamp(.9rem,4vw,1rem);line-height:1.45}.ds-mobile .empty-disc-trigger{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin-bottom:18px;padding:0;transition:transform .15s;display:inline-flex;position:relative}.ds-mobile .empty-disc-trigger:active{transform:scale(.94)}.ds-mobile .empty-disc-trigger:focus-visible{outline:2px solid var(--primary-color);outline-offset:6px;border-radius:50%}.ds-mobile .empty-disc-trigger .empty-icon{opacity:1;filter:drop-shadow(0 0 20px color-mix(in srgb, var(--primary-color) 35%, transparent));margin:0;font-size:clamp(4rem,16vw,4.6rem);line-height:1;display:block}.ds-mobile .empty-disc-trigger .empty-icon .fa-spin{animation-duration:3s;display:block}.ds-mobile .empty-disc-badge{background:var(--primary-color);color:#fff;border:3px solid var(--bg-color);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding-left:1px;font-size:10px;display:flex;position:absolute;bottom:-2px;right:-8px}.ds-mobile .empty-source-toggle{border:1px solid var(--border);background:#00000029;border-radius:12px;gap:3px;margin-top:18px;padding:4px;display:inline-flex}.ds-mobile .empty-source-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:11px 18px;font-family:inherit;font-size:.92rem;font-weight:600;transition:color .18s,background .18s;display:inline-flex}.ds-mobile .empty-source-btn.active{background:var(--primary-soft);color:var(--primary-text)}.ds-mobile .empty-source-btn i{font-size:.85em}@media (prefers-reduced-motion:reduce){.ds-mobile .empty-disc-trigger{transition:none}.ds-mobile .empty-disc-trigger .empty-icon .fa-spin{animation:none}}.ds-mobile .t-row-fg{background:var(--bg-color);touch-action:pan-y;transition:transform .22s var(--ease);z-index:1;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:7px 8px;position:relative}.ds-mobile .track-item{overflow:hidden}.ds-mobile .track-item.playing .t-row-fg{background:linear-gradient(var(--primary-soft), var(--primary-soft)), var(--bg-color)}.ds-mobile .t-swipe-bg{z-index:0;color:#fff;pointer-events:none;align-items:center;font-size:18px;transition:opacity .12s;display:flex;position:absolute;inset:0}.ds-mobile .t-swipe-queue{background:var(--primary-color);justify-content:flex-start;padding-left:22px}.ds-mobile .t-swipe-fav{background:var(--danger);justify-content:flex-end;padding-right:22px}.ds-mobile .t-swipe-bg i{transform:scale(calc(.72 + .28 * var(--p,0)))}.ds-mobile .track-item .t-idx{display:none}.ds-mobile .track-item .t-cover{width:40px;height:40px}.ds-mobile .track-item .t-title{font-size:13.5px}.ds-mobile .track-item .t-sub{font-size:11.5px}.ds-mobile .track-item .t-dur{display:none}.ds-mobile .track-item .t-actions{opacity:1;display:flex}.ds-mobile .track-item .t-actions button{width:44px;height:44px}.ds-mobile .track-item .t-actions button[data-act=play-next],.ds-mobile .track-item .t-actions button[data-act=queue]{display:none}.ds-mobile .cover-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.ds-mobile .cover-card{gap:8px;padding:10px}.ds-mobile .artist-hero{border-radius:18px;margin-bottom:20px}.ds-mobile .artist-hero-content{flex-direction:row;align-items:center;gap:14px;padding:16px}.ds-mobile .artist-hero-photo{width:96px;height:96px;box-shadow:0 12px 26px #00000073}.ds-mobile .artist-hero-placeholder{font-size:2rem}.ds-mobile .artist-eyebrow{padding:3px 9px;font-size:9.5px}.ds-mobile .artist-hero-name{margin:8px 0 6px;font-size:24px}.ds-mobile .artist-hero-meta{gap:4px 12px;margin-bottom:12px;font-size:12.5px}.ds-mobile .artist-hero-actions{gap:8px}.ds-mobile .artist-hero-actions .btn-primary{padding:9px 18px;font-size:.9rem}.ds-mobile .artist-hero-actions .btn-ghost{padding:8px 14px;font-size:.88rem}.ds-mobile .release-header{flex-direction:row;align-items:center;gap:14px;margin-bottom:18px}.ds-mobile .release-cover{border-radius:12px;width:110px;height:110px}.ds-mobile .release-title{font-size:20px}.ds-mobile .release-info .eyebrow{margin-bottom:4px}.ds-mobile .release-meta{margin-bottom:10px;font-size:12.5px}.ds-mobile .release-actions{gap:8px}.ds-mobile .release-actions .btn-primary{padding:8px 16px;font-size:.88rem}.ds-mobile .tabs{scrollbar-width:none;margin-bottom:14px;overflow-x:auto}.ds-mobile .tabs::-webkit-scrollbar{display:none}.ds-mobile .tabs .tab{white-space:nowrap;padding:9px 12px;font-size:.9rem}.ds-mobile .search-chips{gap:8px}.ds-mobile .artist-chip{padding:6px 13px 6px 7px;font-size:13px}@media (height<=700px){.m-topbar{padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:6px}.ds-mobile .m-greeting{margin:2px 0 10px;font-size:21px}.m-nav{padding-top:2px}.m-nav-item{min-height:44px;padding-block:4px}.m-nav-item i{font-size:16px}.ds-mobile .home-empty-section{min-height:calc(var(--app-height) * .38)}}@media (width<=350px){.m-nav{padding-inline:2px}.m-nav-item{gap:3px}.m-nav-item i{font-size:16px}.ds-mobile .cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ds-mobile~.toast-host,.ds-mobile .toast-host{bottom:calc(132px + env(safe-area-inset-bottom,0px));width:max-content;max-width:92vw}.suggestions-page{padding-bottom:110px}.suggestions-header{align-items:flex-start}.suggestions-header h2{margin:3px 0 0}.suggestions-eyebrow,.suggestion-guide-kicker{color:var(--primary-text);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.suggestions-help{border:1px solid color-mix(in srgb, var(--primary-color) 45%, transparent);background:var(--primary-soft);width:38px;height:38px;color:var(--primary-text);cursor:pointer;border-radius:50%;font:800 18px/1 inherit;transition:transform .16s,background .16s}.suggestions-help:hover{background:color-mix(in srgb, var(--primary-color) 23%, transparent);transform:translateY(-1px)}.suggestions-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.suggestion-form,.suggestions-catalog{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-solid) 94%, transparent);border-radius:18px;box-shadow:0 18px 48px #00000029}.suggestion-form{flex-direction:column;gap:15px;padding:20px;display:flex;position:sticky;top:18px}.suggestion-form-heading h3{margin:0 0 4px;font-size:18px}.suggestion-form-heading p{color:var(--text-dim);margin:0;font-size:13px}.suggestion-type-switch{background:#ffffff0b;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.suggestion-type-switch button{min-height:42px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:13px;font-weight:650}.suggestion-type-switch button i{margin-right:7px}.suggestion-type-switch button.active{background:var(--primary-color);color:var(--primary-contrast);box-shadow:0 5px 16px var(--glow-color)}.suggestion-field{flex-direction:column;gap:7px;display:flex}.suggestion-field>span{color:var(--text-muted);font-size:12px;font-weight:650}.suggestion-field b{color:var(--danger)}.suggestion-field small{color:var(--text-dim2);margin-left:5px;font-weight:400}.suggestion-field input,.suggestion-field textarea,.suggestion-search input,.suggestions-filters select{border:1px solid var(--border);color:var(--text-main);font:inherit;background:#05070a6b;border-radius:10px;font-size:13px}.suggestion-field input{height:42px;padding:0 12px}.suggestion-field textarea{resize:vertical;min-height:84px;padding:11px 12px}.suggestion-field input:focus,.suggestion-field textarea:focus,.suggestion-search input:focus,.suggestions-filters select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.suggestion-submit{justify-content:center;gap:8px;min-height:43px}.suggestion-matches{border:1px solid color-mix(in srgb, var(--primary-color) 28%, transparent);background:var(--primary-soft);border-radius:11px;flex-direction:column;gap:6px;padding:10px;display:flex}.suggestion-matches>strong{color:var(--primary-text);text-transform:uppercase;letter-spacing:.05em;margin:0 3px 2px;font-size:11px}.suggestion-matches button{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:#ffffff0e;border:0;border-radius:8px;justify-content:space-between;gap:10px;padding:9px;display:flex}.suggestion-matches button:disabled{opacity:.55;cursor:default}.suggestion-matches button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suggestion-matches button em{color:var(--primary-text);flex-shrink:0;font-size:11px;font-style:normal}.suggestions-catalog{min-width:0;padding:20px}.suggestions-catalog-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.suggestions-catalog-head>span{color:var(--text-dim);font-size:12px}.suggestions-scope-tabs{margin:0}.suggestions-filters{grid-template-columns:minmax(180px,1fr) 130px 145px;gap:8px;margin-bottom:16px;display:grid}.suggestion-search{align-items:center;display:flex;position:relative}.suggestion-search i{color:var(--text-dim);pointer-events:none;position:absolute;left:12px}.suggestion-search input{width:100%;height:40px;padding:0 12px 0 34px}.suggestions-filters select{height:40px;padding:0 10px}.suggestions-error,.suggestions-loading,.suggestions-empty{min-height:100px;color:var(--text-dim);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:9px;display:flex}.suggestions-error{min-height:auto;color:var(--danger);background:#ff6b7a1a;justify-content:flex-start;margin-bottom:12px;padding:11px 13px}.suggestions-empty{flex-direction:column;min-height:230px}.suggestions-empty i{color:var(--primary-text);font-size:26px}.suggestions-empty strong{color:var(--text-main)}.suggestions-empty span{font-size:12px}.suggestions-list{flex-direction:column;gap:10px;display:flex}.suggestion-card{border:1px solid var(--border);background:#ffffff06;border-radius:13px;justify-content:space-between;gap:16px;padding:16px;display:flex}.suggestion-card--in_progress{border-color:#569fff47}.suggestion-card--added{border-color:color-mix(in srgb, var(--primary-color) 35%, transparent)}.suggestion-card--rejected{opacity:.78}.suggestion-card-main{flex:1;min-width:0}.suggestion-card-topline{align-items:center;gap:8px;margin-bottom:7px;display:flex}.suggestion-kind{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.suggestion-kind i{margin-right:5px}.suggestion-status{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.suggestion-status.status-pending{color:#ffc76c;background:#ffbb481f}.suggestion-status.status-in_progress{color:#83b9ff;background:#569fff21}.suggestion-status.status-rejected{color:var(--danger);background:#ff6b7a1f}.suggestion-status.status-added{background:var(--primary-soft);color:var(--primary-text)}.suggestion-card h3{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:16px;overflow:hidden}.suggestion-artist{color:var(--text-muted);margin:0;font-size:12.5px}.suggestion-meta{color:var(--text-dim);flex-wrap:wrap;gap:9px;margin-top:10px;font-size:11px;display:flex}.suggestion-meta i{margin-right:3px}.suggestion-mine{color:var(--primary-text)}.suggestion-team-reply{color:var(--text-muted);background:#ffffff0a;border-radius:9px;gap:9px;margin-top:12px;padding:10px;font-size:12px;line-height:1.45;display:flex}.suggestion-team-reply i{color:var(--primary-text);margin-top:2px}.suggestion-team-reply span{flex-direction:column;gap:2px;display:flex}.suggestion-team-reply strong{color:var(--text-main);font-size:11px}.suggestion-my-details{color:var(--text-dim);margin-top:9px;font-size:11px}.suggestion-my-details summary{cursor:pointer}.suggestion-my-details a{color:var(--primary-text);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;display:block;overflow:hidden}.suggestion-my-details p{color:var(--text-muted);margin:5px 0 0}.suggestion-card-actions{flex-shrink:0;align-items:center;display:flex}.suggestion-card-actions button{justify-content:center;align-items:center;gap:7px;min-width:124px;display:inline-flex}.suggestion-guide-modal{width:min(620px,100vw - 32px)}.suggestion-guide-modal .modal-header{align-items:flex-start}.suggestion-guide-modal h2{margin:3px 0 0}.suggestion-guide-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.suggestion-guide-list li{grid-template-columns:28px 1fr;align-items:start;gap:10px;display:grid}.suggestion-guide-list li>span{background:var(--primary-soft);width:28px;height:28px;color:var(--primary-text);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.suggestion-guide-list p{color:var(--text-muted);margin:4px 0 0;font-size:13px;line-height:1.45}@media (width<=1080px){.suggestions-layout{grid-template-columns:330px minmax(0,1fr)}.suggestions-filters{grid-template-columns:1fr 1fr}.suggestion-search{grid-column:1/-1}}.ds-mobile .suggestions-page{padding-bottom:28px}.ds-mobile .suggestions-header{margin-bottom:12px}.ds-mobile .suggestions-help{flex-shrink:0;width:44px;height:44px}.ds-mobile .suggestions-layout{flex-direction:column;gap:14px;display:flex}.ds-mobile .suggestion-form,.ds-mobile .suggestions-catalog{width:100%;box-shadow:none;border-radius:15px;padding:15px}.ds-mobile .suggestion-form{position:static}.ds-mobile .suggestion-type-switch button{min-height:44px}.ds-mobile .suggestion-field input,.ds-mobile .suggestion-field textarea,.ds-mobile .suggestion-search input,.ds-mobile .suggestions-filters select{font-size:16px}.ds-mobile .suggestions-filters{grid-template-columns:1fr}.ds-mobile .suggestion-search{grid-column:auto}.ds-mobile .suggestions-catalog-head{align-items:flex-end}.ds-mobile .suggestion-card{flex-direction:column;padding:14px}.ds-mobile .suggestion-card-actions button{width:100%;min-height:44px}.ds-mobile .suggestion-guide-modal{width:100%;max-height:calc(var(--app-height) * .9)}.ds-mobile .suggestion-guide-list p{font-size:12.5px}.admin-suggestions{flex-direction:column;gap:16px;display:flex}.admin-suggestions-hero{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-suggestions-hero h2{margin:4px 0 5px}.admin-suggestions-hero p{color:var(--text-dim);margin:0;font-size:13px}.admin-suggestion-toolbar{grid-template-columns:minmax(220px,1fr) 150px 160px auto;align-items:center;gap:8px;display:grid}.admin-suggestion-toolbar label{align-items:center;display:flex;position:relative}.admin-suggestion-toolbar label svg{color:var(--text-dim);position:absolute;left:11px}.admin-suggestion-toolbar input,.admin-suggestion-toolbar select,.admin-suggestion-review select,.admin-suggestion-review textarea{border:1px solid var(--border);width:100%;color:var(--text-main);font:inherit;background:#05070a73;border-radius:9px;font-size:13px}.admin-suggestion-toolbar input{height:40px;padding:0 12px 0 34px}.admin-suggestion-toolbar select{height:40px;padding:0 10px}.admin-suggestion-toolbar>span{color:var(--text-dim);text-align:right;font-size:12px}.admin-suggestions-state{min-height:220px;color:var(--text-dim);justify-content:center;align-items:center;gap:9px;display:flex}.admin-suggestion-list{flex-direction:column;gap:9px;display:flex}.admin-suggestion-card{border:1px solid var(--border);background:#ffffff06;border-radius:12px;overflow:hidden}.admin-suggestion-card.expanded{border-color:color-mix(in srgb, var(--primary-color) 38%, transparent)}.admin-suggestion-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:84px minmax(0,1fr) 70px 18px;align-items:center;gap:12px;padding:14px;display:grid}.admin-suggestion-summary:hover{background:#ffffff09}.admin-suggestion-title{flex-direction:column;min-width:0;display:flex}.admin-suggestion-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-suggestion-title small{color:var(--text-dim);margin-top:2px}.admin-suggestion-votes{color:var(--primary-text);justify-content:flex-end;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.admin-suggestion-detail{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:18px;padding:0 14px 14px;display:grid}.admin-suggestion-detail h4{margin:16px 0 10px}.admin-suggestion-support-list{flex-direction:column;gap:8px;max-height:310px;display:flex;overflow-y:auto}.admin-suggestion-support-list>div{background:#ffffff09;border-radius:8px;padding:9px 10px}.admin-suggestion-support-list a,.admin-suggestion-support-list p{overflow-wrap:anywhere;align-items:flex-start;gap:6px;margin:0;font-size:12px;line-height:1.4;display:flex}.admin-suggestion-support-list a{color:var(--primary-text)}.admin-suggestion-support-list p{color:var(--text-muted);margin-top:5px}.admin-suggestion-support-list svg{flex-shrink:0;margin-top:2px}.admin-suggestion-review{flex-direction:column;gap:11px;padding-top:16px;display:flex}.admin-suggestion-review label{flex-direction:column;gap:6px;display:flex}.admin-suggestion-review label>span{color:var(--text-dim);font-size:11px;font-weight:650}.admin-suggestion-review select{height:40px;padding:0 10px}.admin-suggestion-review textarea{resize:vertical;min-height:84px;padding:10px}.admin-suggestion-review textarea:disabled{opacity:.5}.admin-suggestion-review .btn-primary{align-self:flex-end;align-items:center;gap:7px;display:inline-flex}@media (width<=900px){.admin-suggestion-toolbar{grid-template-columns:1fr 1fr}.admin-suggestion-toolbar label{grid-column:1/-1}.admin-suggestion-toolbar>span{text-align:left}.admin-suggestion-detail{grid-template-columns:1fr}}.ds-mobile .admin-suggestion-toolbar{grid-template-columns:1fr}.ds-mobile .admin-suggestion-toolbar label{grid-column:auto}.ds-mobile .admin-suggestion-toolbar input,.ds-mobile .admin-suggestion-toolbar select,.ds-mobile .admin-suggestion-review select,.ds-mobile .admin-suggestion-review textarea{font-size:16px}.ds-mobile .admin-suggestion-summary{grid-template-columns:76px minmax(0,1fr) 50px}.ds-mobile .admin-suggestion-summary>svg{display:none}.ds-mobile .admin-suggestion-detail{grid-template-columns:1fr}
