:root{--brand:#e73c31;--bg:#f7f7f8;--card:#fff;--text:#1f2329;--text-2:#646a73;--border:#e5e6eb;--shadow:0 2px 12px #0000000f;--radius:12px}html.dark{--bg:#141416;--card:#1f1f23;--text:#e8e8ea;--text-2:#9aa0a6;--border:#2e2e33}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 16px}.page{padding:24px 0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:6px 16px;font-size:14px;line-height:20px;transition:opacity .2s;display:inline-flex}.btn:hover{opacity:.88}.btn-ghost{color:var(--text-2);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--brand);opacity:1}.input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;outline:none;padding:6px 12px;font-size:14px;transition:border-color .2s}.input:focus{border-color:var(--brand)}.input::placeholder{color:var(--text-2)}.auth-mask[data-v-cc061bbd]{z-index:300;-webkit-backdrop-filter:blur(4px);background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.auth-card[data-v-cc061bbd]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-width:100%;box-shadow:var(--shadow);padding:28px 28px 24px;position:relative}.close[data-v-cc061bbd]{width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:18px;line-height:1;transition:color .2s,background .2s;position:absolute;top:10px;right:12px}.close[data-v-cc061bbd]:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.tabs[data-v-cc061bbd]{border-bottom:1px solid var(--border);gap:24px;margin-bottom:20px;display:flex}.tab[data-v-cc061bbd]{color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:8px 2px 12px;font-size:16px;transition:color .2s;position:relative}.tab[data-v-cc061bbd]:hover{color:var(--text)}.tab.active[data-v-cc061bbd]{color:var(--brand);font-weight:600}.tab.active[data-v-cc061bbd]:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.form[data-v-cc061bbd]{flex-direction:column;gap:12px;display:flex}.form .input[data-v-cc061bbd]{width:100%;padding:10px 14px}.err[data-v-cc061bbd]{color:var(--brand);margin:0;font-size:13px;line-height:1.5}.submit[data-v-cc061bbd]{margin-top:4px;padding:10px 16px;font-size:15px}.submit[data-v-cc061bbd]:disabled{opacity:.6;cursor:not-allowed}.header[data-v-62b1f24d]{z-index:100;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner[data-v-62b1f24d]{align-items:center;gap:20px;height:60px;display:flex}.logo[data-v-62b1f24d]{color:var(--brand);white-space:nowrap;font-size:20px;font-weight:700}.logo-sub[data-v-62b1f24d]{color:var(--text);font-weight:600}.nav[data-v-62b1f24d]{flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.nav a[data-v-62b1f24d]{color:var(--text-2);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:15px;transition:color .2s,background .2s}.nav a[data-v-62b1f24d]:hover{color:var(--brand)}.nav a.router-link-active[data-v-62b1f24d]{color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, transparent)}.actions[data-v-62b1f24d]{align-items:center;gap:8px;display:flex}.search[data-v-62b1f24d]{width:180px}.login-btn[data-v-62b1f24d]{white-space:nowrap}.username[data-v-62b1f24d]{max-width:120px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.logout-btn[data-v-62b1f24d],.theme-btn[data-v-62b1f24d]{white-space:nowrap}@media (width<=768px){.header-inner[data-v-62b1f24d]{gap:10px}.logo[data-v-62b1f24d]{font-size:18px}.logo-sub[data-v-62b1f24d]{display:none}.search[data-v-62b1f24d]{width:96px}.username[data-v-62b1f24d]{max-width:80px}}.footer[data-v-e9fd494c]{border-top:1px solid var(--border);background:var(--card);margin-top:40px;padding:32px 0 24px}.footer-nav[data-v-e9fd494c]{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.footer-col[data-v-e9fd494c]{flex-direction:column;gap:8px;min-width:120px;display:flex}.footer-col h4[data-v-e9fd494c]{color:var(--text);margin:0 0 4px;font-size:15px}.footer-col a[data-v-e9fd494c]{color:var(--text-2);font-size:13px;transition:color .2s}.footer-col a[data-v-e9fd494c]:hover{color:var(--brand)}.footer-info[data-v-e9fd494c]{text-align:center;color:var(--text-2);margin-top:24px;font-size:13px}.footer-info p[data-v-e9fd494c]{margin:4px 0}.footer-info a[data-v-e9fd494c]{color:var(--text-2)}.footer-info a[data-v-e9fd494c]:hover{color:var(--brand)}.report .sep[data-v-e9fd494c]{color:var(--border);margin:0 8px}.player-bar[data-v-a3f6f66a]{z-index:200;background:color-mix(in srgb, var(--card) 82%, transparent);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.bar-inner[data-v-a3f6f66a]{grid-template-columns:minmax(120px,1fr) minmax(0,2fr) minmax(120px,1fr);align-items:center;gap:16px;height:72px;display:grid}.left[data-v-a3f6f66a]{align-items:center;gap:12px;min-width:0;display:flex}.cover[data-v-a3f6f66a]{background:color-mix(in srgb, var(--brand) 8%, var(--bg));border-radius:8px;flex:none;width:48px;height:48px;overflow:hidden}.cover img[data-v-a3f6f66a]{object-fit:cover;width:100%;height:100%}.cover-empty[data-v-a3f6f66a]{width:100%;height:100%;color:color-mix(in srgb, var(--brand) 45%, transparent);justify-content:center;align-items:center;font-size:18px;display:flex}.meta[data-v-a3f6f66a]{flex-direction:column;gap:2px;min-width:0;display:flex}.name[data-v-a3f6f66a]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;transition:color .2s;overflow:hidden}.name[data-v-a3f6f66a]:hover{color:var(--brand)}.artist[data-v-a3f6f66a]{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;transition:color .2s;overflow:hidden}a.artist[data-v-a3f6f66a]:hover{color:var(--brand)}.center[data-v-a3f6f66a]{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.controls[data-v-a3f6f66a]{align-items:center;gap:18px;display:flex}.ctrl[data-v-a3f6f66a]{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:color .2s,transform .2s;display:flex}.ctrl[data-v-a3f6f66a]:hover{color:var(--text);transform:scale(1.08)}.ctrl.main[data-v-a3f6f66a]{background:var(--brand);color:#fff;width:40px;height:40px}.ctrl.main[data-v-a3f6f66a]:hover{color:#fff}.ctrl.on[data-v-a3f6f66a]{color:var(--brand)}.progress-row[data-v-a3f6f66a]{align-items:center;gap:10px;width:100%;display:flex}.time[data-v-a3f6f66a]{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.progress[data-v-a3f6f66a]{background:color-mix(in srgb, var(--text) 12%, transparent);cursor:pointer;touch-action:none;border-radius:999px;flex:1;height:4px;position:relative}.progress-filled[data-v-a3f6f66a]{background:var(--brand);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.progress-dot[data-v-a3f6f66a]{background:var(--brand);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000040}.progress-dot[data-v-a3f6f66a]:before{content:"";position:absolute;inset:-5px}.right[data-v-a3f6f66a]{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.vol[data-v-a3f6f66a]{align-items:center;gap:6px;display:flex}.vol-icon[data-v-a3f6f66a]{color:var(--text-2);display:flex}.vol-bar[data-v-a3f6f66a]{background:color-mix(in srgb, var(--text) 12%, transparent);cursor:pointer;touch-action:none;border-radius:999px;width:80px;height:4px;position:relative}.vol-filled[data-v-a3f6f66a]{background:var(--brand);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.vol-bar[data-v-a3f6f66a]:after{content:"";position:absolute;inset:-5px}.drawer[data-v-a3f6f66a]{background:var(--card);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;width:380px;max-width:calc(100vw - 32px);position:absolute;bottom:100%;right:16px;overflow:hidden;box-shadow:0 -6px 24px #00000024}.drawer-head[data-v-a3f6f66a]{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.drawer-clear[data-v-a3f6f66a]{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;transition:color .2s}.drawer-clear[data-v-a3f6f66a]:hover{color:var(--brand)}.drawer-body[data-v-a3f6f66a]{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.drawer-body li[data-v-a3f6f66a]{cursor:pointer;align-items:center;gap:8px;padding:10px 12px 10px 16px;font-size:13px;transition:background .2s;display:flex}.drawer-body li[data-v-a3f6f66a]:hover{background:color-mix(in srgb, var(--brand) 5%, transparent)}.d-name[data-v-a3f6f66a]{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.d-artist[data-v-a3f6f66a]{max-width:35%;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:12px;overflow:hidden}.d-del[data-v-a3f6f66a]{width:20px;height:20px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:color .2s,background .2s;display:flex}.d-del[data-v-a3f6f66a]:hover{color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, transparent)}.drawer-body li.current .d-name[data-v-a3f6f66a],.drawer-body li.current .d-artist[data-v-a3f6f66a]{color:var(--brand)}.drawer-empty[data-v-a3f6f66a]{text-align:center;color:var(--text-2);cursor:default;padding:32px 0}.eq[data-v-a3f6f66a]{flex:none;align-items:flex-end;gap:2px;width:14px;height:12px;display:inline-flex}.eq i[data-v-a3f6f66a]{background:var(--brand);border-radius:1px;width:2px;height:4px;animation:1s ease-in-out infinite eq-bounce-a3f6f66a}.eq i[data-v-a3f6f66a]:nth-child(2){animation-delay:.25s}.eq i[data-v-a3f6f66a]:nth-child(3){animation-delay:.5s}.eq.paused i[data-v-a3f6f66a]{animation-play-state:paused}@keyframes eq-bounce-a3f6f66a{0%,to{height:4px}50%{height:12px}}.drawer-enter-active[data-v-a3f6f66a],.drawer-leave-active[data-v-a3f6f66a]{transition:transform .25s,opacity .25s}.drawer-enter-from[data-v-a3f6f66a],.drawer-leave-to[data-v-a3f6f66a]{opacity:0;transform:translateY(12px)}@media (width<=768px){.bar-inner[data-v-a3f6f66a]{gap:8px;display:flex}.left[data-v-a3f6f66a]{flex:1;gap:10px}.cover[data-v-a3f6f66a]{width:44px;height:44px}.center[data-v-a3f6f66a]{flex:none}.controls[data-v-a3f6f66a]{gap:6px}.progress-row[data-v-a3f6f66a]{display:none}.ctrl[data-v-a3f6f66a]:not(.main){width:36px;height:36px}.right[data-v-a3f6f66a]{flex:none}.vol[data-v-a3f6f66a]{display:none}.drawer[data-v-a3f6f66a]{border-radius:0;width:auto;max-width:none;left:0;right:0}.drawer-body[data-v-a3f6f66a]{max-height:40vh}}.app-shell[data-v-d023d00a]{flex-direction:column;min-height:100vh;display:flex}.app-main[data-v-d023d00a]{flex:1;padding-bottom:72px}
