.header[data-v-5cb8a4d5]{display:flex;align-items:center;gap:16px;padding:0 24px;height:var(--header-h);background:#fff;border-bottom:1.5px solid var(--color-border);position:sticky;top:0;z-index:100}.logo[data-v-5cb8a4d5]{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;color:#1a1a1a;letter-spacing:-.5px;flex-shrink:0}.logo-icon[data-v-5cb8a4d5]{color:var(--color-primary);line-height:1}.logo-name[data-v-5cb8a4d5]{color:#1a1a1a}.desktop-nav[data-v-5cb8a4d5]{display:flex;align-items:center;gap:20px;flex:1}.nav-link[data-v-5cb8a4d5]{font-size:13px;color:#374151;white-space:nowrap}.nav-link.router-link-active[data-v-5cb8a4d5]{color:var(--color-primary);font-weight:600}.desktop-actions[data-v-5cb8a4d5]{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.mobile-right[data-v-5cb8a4d5]{display:none;align-items:center;gap:10px;margin-left:auto}.logo-img[data-v-5cb8a4d5]{display:block;height:28px;width:auto;object-fit:contain}.avatar[data-v-5cb8a4d5]{width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;overflow:hidden}.avatar img[data-v-5cb8a4d5]{width:100%;height:100%;object-fit:cover}.user-email[data-v-5cb8a4d5]{font-size:12px;color:var(--color-text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hamburger[data-v-5cb8a4d5]{width:36px;height:36px;border:none;background:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;border-radius:6px}.hamburger[data-v-5cb8a4d5]:hover{background:#f3f4f6}.bar[data-v-5cb8a4d5]{width:20px;height:2px;background:#374151;border-radius:2px;transition:all .2s;transform-origin:center}.mobile-drawer[data-v-5cb8a4d5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.drawer-overlay[data-v-5cb8a4d5]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d}.drawer-nav[data-v-5cb8a4d5]{position:absolute;top:0;right:0;bottom:0;width:240px;background:#fff;padding:24px 20px;display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000026;overflow-y:auto}.drawer-link[data-v-5cb8a4d5]{font-size:15px;font-weight:600;color:#111827;padding:12px 0;border-bottom:1px solid var(--color-border);display:block}.drawer-link.router-link-active[data-v-5cb8a4d5]{color:var(--color-primary)}.drawer-divider[data-v-5cb8a4d5]{border:none;border-top:1.5px solid var(--color-border);margin:12px 0}.drawer-user[data-v-5cb8a4d5]{display:flex;flex-direction:column;gap:10px;margin-top:4px}.drawer-email[data-v-5cb8a4d5]{font-size:12px;color:var(--color-text-muted);word-break:break-all}.notif-wrap[data-v-5cb8a4d5]{position:relative}.notif-btn[data-v-5cb8a4d5]{position:relative;background:none;border:none;cursor:pointer;color:#374151;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.notif-btn[data-v-5cb8a4d5]:hover,.notif-btn.active[data-v-5cb8a4d5]{background:#f3f4f6;color:var(--color-primary)}.notif-badge[data-v-5cb8a4d5]{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 3px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;line-height:16px;border-radius:8px;text-align:center;pointer-events:none}.notif-panel[data-v-5cb8a4d5]{width:340px;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 30px #00000026;overflow:hidden}.notif-panel-header[data-v-5cb8a4d5]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border)}.notif-panel-title[data-v-5cb8a4d5]{font-size:14px;font-weight:700;color:#111827}.notif-close[data-v-5cb8a4d5]{background:none;border:none;cursor:pointer;font-size:14px;color:#6b7280;padding:2px 4px}.notif-close[data-v-5cb8a4d5]:hover{color:#111827}.notif-list[data-v-5cb8a4d5]{max-height:360px;overflow-y:auto}.notif-empty[data-v-5cb8a4d5]{padding:24px 16px;text-align:center;color:#9ca3af;font-size:13px}.notif-item[data-v-5cb8a4d5]{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-bottom:1px solid #f3f4f6;transition:background .1s;cursor:pointer}.notif-item[data-v-5cb8a4d5]:last-child{border-bottom:none}.notif-item[data-v-5cb8a4d5]:hover{background:#f9fafb}.notif-item.unread[data-v-5cb8a4d5]{background:#eff6ff}.notif-item.unread[data-v-5cb8a4d5]:hover{background:#dbeafe}.notif-icon[data-v-5cb8a4d5]{font-size:18px;flex-shrink:0;margin-top:2px}.notif-body[data-v-5cb8a4d5]{min-width:0;flex:1}.notif-text[data-v-5cb8a4d5]{font-size:13px;color:#374151;line-height:1.4}.notif-user[data-v-5cb8a4d5]{font-weight:600;color:#111827}.notif-time[data-v-5cb8a4d5]{font-size:11px;color:#9ca3af;margin-top:3px}@media (max-width: 768px){.header[data-v-5cb8a4d5]{padding:0 16px}.desktop-nav[data-v-5cb8a4d5],.desktop-actions[data-v-5cb8a4d5]{display:none}.mobile-right[data-v-5cb8a4d5]{display:flex}.notif-panel[data-v-5cb8a4d5]{width:calc(100vw - 32px);right:16px!important}}.footer[data-v-51bfee54]{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-top:1.5px solid var(--color-border);font-size:12px;color:var(--color-text-muted);background:#fafafa}.audio-player[data-v-4d4f0cdb]{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;padding:8px 16px;padding-bottom:calc(8px + env(safe-area-inset-bottom));z-index:500;box-shadow:0 -4px 20px #0000004d}.player-row[data-v-4d4f0cdb]{display:flex;align-items:center;gap:12px}.player-row--top[data-v-4d4f0cdb]{margin-bottom:6px}.player-row--bottom[data-v-4d4f0cdb]{gap:8px}.player-track[data-v-4d4f0cdb]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.player-thumb[data-v-4d4f0cdb]{width:40px;height:40px;border-radius:6px;background:#2d2d4e;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.player-thumb img[data-v-4d4f0cdb]{width:100%;height:100%;object-fit:cover}.thumb-ph[data-v-4d4f0cdb]{font-size:18px;color:#ffffff4d}.player-meta[data-v-4d4f0cdb]{min-width:0}.player-title[data-v-4d4f0cdb]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-artist[data-v-4d4f0cdb]{font-size:11px;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.player-btns[data-v-4d4f0cdb]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ctrl[data-v-4d4f0cdb]{background:none;border:none;color:#fffc;font-size:18px;cursor:pointer;line-height:1;padding:6px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;transition:color .15s}.ctrl[data-v-4d4f0cdb]:hover:not(:disabled){color:#fff}.ctrl[data-v-4d4f0cdb]:disabled{opacity:.3;cursor:default}.ctrl-play[data-v-4d4f0cdb]{width:40px;height:40px;border-radius:50%;background:#fff;color:#1a1a2e;font-size:16px}.ctrl-play[data-v-4d4f0cdb]:hover{background:#e8e8e8}.ctrl-repeat[data-v-4d4f0cdb]{position:relative}.ctrl-repeat.active[data-v-4d4f0cdb]{color:var(--color-primary, #4f46e5)}.repeat-badge[data-v-4d4f0cdb]{position:absolute;top:2px;right:2px;font-size:9px;font-weight:700;line-height:1;color:var(--color-primary, #4f46e5)}.progress-wrap[data-v-4d4f0cdb]{flex:1;cursor:pointer;padding:8px 0;margin:-8px 0}.time-info--above[data-v-4d4f0cdb]{display:flex;justify-content:space-between;font-size:10px;color:#ffffff73;margin-bottom:4px;padding:0 2px}.progress-track[data-v-4d4f0cdb]{position:relative;height:6px;background:#fff3;border-radius:3px}.progress-fill[data-v-4d4f0cdb]{height:100%;background:var(--color-primary, #4f46e5);border-radius:3px;transition:width .1s linear}.progress-thumb[data-v-4d4f0cdb]{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:#fff;pointer-events:none}.dl-btn[data-v-4d4f0cdb]{background:none;border:none;color:#ffffff73;font-size:18px;cursor:pointer;padding:6px;flex-shrink:0;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;transition:color .15s}.dl-btn[data-v-4d4f0cdb]:hover:not(:disabled){color:#fff}.dl-btn[data-v-4d4f0cdb]:disabled{opacity:.4;cursor:default}.close-btn[data-v-4d4f0cdb]{background:none;border:none;color:#ffffff73;font-size:16px;cursor:pointer;padding:6px;flex-shrink:0;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-4d4f0cdb]:hover{color:#fff}@media (max-width: 640px){.player-artist[data-v-4d4f0cdb]{display:none}.ctrl[data-v-4d4f0cdb]{font-size:20px;min-width:40px;min-height:40px}.ctrl-play[data-v-4d4f0cdb]{width:44px;height:44px;font-size:18px}.progress-track[data-v-4d4f0cdb]{height:8px}.progress-thumb[data-v-4d4f0cdb]{width:18px;height:18px}}.build-badge[data-v-f4a0dceb]{position:fixed;bottom:6px;right:8px;font-size:10px;color:#00000040;pointer-events:none;z-index:9999;letter-spacing:.3px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-bg: #f0f2f5;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text: #111827;--color-text-muted: #6b7280;--header-h: 56px;--radius: 8px}html,body{overflow-x:hidden}body{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.6}.app-shell{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}@media (max-width: 640px){.page-container{padding:16px}}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;border:1.5px solid transparent;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-outline{background:#fff;color:var(--color-text);border-color:var(--color-border)}.btn-sm{padding:5px 12px;font-size:12px}.page-container{max-width:1200px;margin:0 auto;padding:24px}.badge-public{background:#d1fae5;color:#065f46;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700}.badge-private{background:#fee2e2;color:#991b1b;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700}input,textarea,select{width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;font-family:inherit;transition:border-color .15s;background:#fff}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:5px}
