:root,[data-theme=emerald]{--bg-main: #0a0a0c;--bg-sidebar: #0f1015;--bg-card: #15161e;--bg-card-hover: #20222e;--bg-elevated: #1a1b24;--bg-player: rgba(15, 16, 21, .88);--accent-primary: #10b981;--accent-primary-hover: #059669;--accent-secondary: #6366f1;--accent-glow: rgba(16, 185, 129, .35);--accent-subtle: rgba(16, 185, 129, .12);--text-main: #f3f4f6;--text-muted: #9ca3af;--text-dim: #6b7280;--border-subtle: rgba(255, 255, 255, .07);--border-active: rgba(255, 255, 255, .15);--glass-bg: rgba(26, 27, 36, .6);--glass-border: rgba(255, 255, 255, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=purple]{--accent-primary: #a855f7;--accent-primary-hover: #9333ea;--accent-secondary: #c084fc;--accent-glow: rgba(168, 85, 247, .35);--accent-subtle: rgba(168, 85, 247, .12)}[data-theme=blue]{--accent-primary: #0ea5e9;--accent-primary-hover: #0284c7;--accent-secondary: #38bdf8;--accent-glow: rgba(14, 165, 233, .35);--accent-subtle: rgba(14, 165, 233, .12)}[data-theme=orange]{--accent-primary: #f97316;--accent-primary-hover: #ea580c;--accent-secondary: #fb923c;--accent-glow: rgba(249, 115, 22, .35);--accent-subtle: rgba(249, 115, 22, .12)}[data-theme=red]{--accent-primary: #ef4444;--accent-primary-hover: #dc2626;--accent-secondary: #f87171;--accent-glow: rgba(239, 68, 68, .35);--accent-subtle: rgba(239, 68, 68, .12)}[data-theme=pink]{--accent-primary: #ec4899;--accent-primary-hover: #db2777;--accent-secondary: #f472b6;--accent-glow: rgba(236, 72, 153, .35);--accent-subtle: rgba(236, 72, 153, .12)}.theme-circles-container{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.theme-circle-btn{display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:transform .15s ease}.theme-circle-btn:hover{transform:translateY(-3px)}.theme-circle-swatch{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;border:2px solid transparent}.theme-circle-btn.active .theme-circle-swatch{transform:scale(1.1);border:2px solid #ffffff}.theme-circle-label{font-size:.78rem;font-weight:700;transition:color .15s ease}.custom-color-picker-wrap{position:relative;display:inline-flex}.hidden-color-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.rainbow-swatch{background:conic-gradient(#ef4444,#f59e0b,#10b981,#06b6d4,#8b5cf6,#ec4899,#ef4444)!important;animation:rainbowSpin 4s linear infinite}@keyframes rainbowSpin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}::selection{background:#ffffff38;color:#fff}::-moz-selection{background:#ffffff38;color:#fff}body{background-color:var(--bg-main);color:var(--text-main);overflow:hidden;height:100vh;width:100vw;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden;position:relative;background:radial-gradient(circle at top right,rgba(99,102,241,.06),transparent 40%),radial-gradient(circle at bottom left,rgba(16,185,129,.05),transparent 40%),var(--bg-main)}.main-content-wrapper{display:flex;flex-direction:column;flex:1;height:100vh;overflow:hidden;position:relative}.scroll-area{flex:1;overflow-y:auto;padding:24px 32px 32px;scroll-behavior:smooth;transition:padding .28s cubic-bezier(.2,.8,.2,1)}.app-container.has-player .scroll-area{padding:24px 32px 120px}.sidebar{width:350px;height:100vh;box-sizing:border-box;background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:20px 14px;gap:16px;flex-shrink:0;z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;transition:width .28s cubic-bezier(.2,.8,.2,1),padding .28s cubic-bezier(.2,.8,.2,1);will-change:width,padding}.sidebar.collapsed{width:84px;padding:20px 10px}.app-container.has-player .sidebar{padding:20px 14px 105px}.app-container.has-player .sidebar.collapsed{padding:20px 10px 105px}.sidebar-top-section{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 2px;transition:all .28s cubic-bezier(.2,.8,.2,1)}.sidebar.collapsed .sidebar-top-section{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:12px;padding:0}.sidebar-brand-container{display:flex;align-items:center;gap:12px;padding:4px 6px;cursor:pointer;border-radius:var(--radius-md);transition:opacity .18s ease,transform .18s ease,gap .28s ease;-webkit-user-select:none;user-select:none}.sidebar-brand-container:hover{opacity:.92;transform:scale(1.02)}.sidebar.collapsed .sidebar-brand-container{display:flex;align-items:center;justify-content:center;width:100%;padding:0;margin:0 auto;gap:0}.sidebar-brand-logo-icon{width:34px;height:34px;background-color:var(--accent-primary);-webkit-mask:url(/LSCmusic.webp) no-repeat center / contain;mask:url(/LSCmusic.webp) no-repeat center / contain;flex-shrink:0;transition:background-color .2s ease,transform .2s ease}.sidebar-brand-container:hover .sidebar-brand-logo-icon{transform:scale(1.06)}.sidebar.collapsed .sidebar-brand-logo-icon{width:36px;height:36px;margin:0 auto}.sidebar-brand-title{font-size:1.28rem;font-weight:800;letter-spacing:-.025em;color:#fff;white-space:nowrap;opacity:1;max-width:200px;transform:translate(0);transition:opacity .2s ease,max-width .28s cubic-bezier(.2,.8,.2,1),transform .2s ease;overflow:hidden}.sidebar.collapsed .sidebar-brand-title{opacity:0;max-width:0;transform:translate(-10px);pointer-events:none;margin:0!important;padding:0!important;display:none}.sidebar-collapse-toggle-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.2,.8,.2,1);flex-shrink:0}.sidebar-collapse-toggle-btn:hover{color:#fff;background:#ffffff14;transform:scale(1.08)}.library-item-create-collapsed{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:4px 0;width:100%;margin-bottom:6px;-webkit-user-select:none;user-select:none}.library-thumb-create-box{width:48px;height:48px;border-radius:8px;background:#1e2029!important;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--text-main);transition:all .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 4px 12px #0000004d}.library-item-create-collapsed:hover .library-thumb-create-box{background:#262834!important;border-color:var(--accent-primary);color:var(--accent-primary);transform:scale(1.06);box-shadow:0 6px 16px #00000073}.library-item-create-collapsed:hover .library-thumb-create-box svg{color:var(--accent-primary);stroke:var(--accent-primary)}.library-item-create-collapsed:active .library-thumb-create-box{transform:scale(.95)}.sidebar-main-box{display:flex;flex-direction:column;gap:14px;flex:1}.sidebar-section-header{display:flex;align-items:center;gap:10px;padding:0 4px;min-height:36px}.sidebar.collapsed .sidebar-section-header{justify-content:center;padding:0;gap:0}.sidebar-category-title{padding:0!important;font-size:.76rem;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;font-weight:700;-webkit-user-select:none;user-select:none}.sidebar-toggle-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:all .2s ease;flex-shrink:0}.sidebar-toggle-btn:hover{color:#fff;background:#ffffff14}.sidebar-toggle-icon{width:18px;height:18px;fill:currentColor;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar-toggle-icon.mirror{transform:scaleX(-1)}.sidebar-divider{height:1px;background:var(--border-subtle);margin:4px 8px}.nav-section{display:flex;flex-direction:column;gap:4px}.nav-label{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;padding:0 12px 6px;white-space:nowrap}.nav-link{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-muted);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .28s cubic-bezier(.2,.8,.2,1);border:1px solid transparent;background:transparent;white-space:nowrap}.nav-link span{opacity:1;max-width:200px;transform:translate(0);transition:opacity .2s ease,max-width .28s cubic-bezier(.2,.8,.2,1),transform .2s ease;overflow:hidden;white-space:nowrap}.nav-link .nav-icon{flex-shrink:0;transition:transform .2s ease}.nav-link:hover{color:var(--text-main);background-color:#ffffff0d}.sidebar.collapsed .nav-link{justify-content:center;padding:12px 0;gap:0;width:100%}.sidebar.collapsed .nav-link span{opacity:0;max-width:0;transform:translate(-10px);pointer-events:none;margin:0!important;padding:0!important;display:none}.nav-link.active{color:#000;background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:none;font-weight:700}.nav-link.active span{color:#000;font-weight:700}.sidebar.collapsed .nav-link.active{background:var(--accent-primary);box-shadow:none}.nav-link.active .nav-icon{color:#000;filter:none}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#0a0a0cb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:20;gap:16px}.topbar-left-controls{display:flex;align-items:center;gap:14px;flex:1;min-width:0;max-width:540px}.topbar-back-btn{background:var(--bg-card);width:36px;height:36px;border-radius:50%;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:var(--text-main, #ffffff);transition:all .15s ease}.topbar-back-btn svg{color:var(--text-main, #ffffff);stroke:var(--text-main, #ffffff)}.topbar-back-btn:hover{background:var(--bg-card-hover);border-color:var(--border-active);transform:scale(1.05)}.topbar-auth-zone{display:flex;align-items:center;gap:12px}.login-btn-primary{display:flex;align-items:center;gap:8px;padding:8px 18px;background:#fff;color:#000;border:none;border-radius:var(--radius-full);font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .2s cubic-bezier(.16,1,.3,1)}.login-btn-primary:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 4px 14px #ffffff40;background:#f0f0f0}.user-dropdown-container{position:relative}.user-profile-badge-btn{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;color:var(--text-main);transition:var(--transition)}.user-profile-badge-btn:hover{background:var(--bg-card-hover);border-color:var(--border-active)}.user-avatar-wrapper{position:relative;width:32px;height:32px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary));display:flex;align-items:center;justify-content:center}.user-avatar-img{width:100%;height:100%;object-fit:cover}.user-avatar-placeholder{font-size:.95rem;font-weight:700;color:#fff}.user-username{font-size:.88rem;font-weight:600;color:var(--text-main)}.user-menu-chevron{color:var(--text-muted);transition:transform .2s ease}.user-menu-chevron.rotated{transform:rotate(180deg)}.user-context-menu{position:absolute;top:calc(100% + 8px);right:0;width:190px;background:#16171feb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:6px;box-shadow:0 12px 30px #00000080,inset 0 1px #ffffff14;z-index:100;animation:fadeIn .15s ease-out}.context-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;background:transparent;color:var(--text-main);font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-align:left}.context-menu-item:hover{background:#ffffff14;color:#fff}.context-menu-item.danger{color:#f87171}.context-menu-item.danger:hover{background:#ef444426;color:#ef4444}.context-menu-divider{height:1px;background:var(--border-subtle);margin:4px 0}.account-native-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.account-security-form{display:flex;flex-direction:column;gap:14px}.account-status-alert{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.82rem;margin-bottom:14px}.account-status-alert.success{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#34d399}.account-status-alert.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171}.account-save-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;background:linear-gradient(135deg,var(--accent-primary),#059669);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:.88rem;cursor:pointer;margin-top:6px;box-shadow:0 4px 14px #10b9814d;transition:var(--transition)}.account-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98173}.account-save-btn:disabled{opacity:.6;cursor:not-allowed}.auth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;animation:fadeIn .2s ease-out}.auth-modal-dialog{width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:#12131af5;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:34px 28px 28px;box-shadow:0 24px 60px #000c,0 0 0 1px #ffffff0d;position:relative;animation:modalScaleIn .25s cubic-bezier(.16,1,.3,1)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-modal-close-btn{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;z-index:10}.auth-modal-close-btn:hover{background:#ffffff24;color:#fff;transform:scale(1.05)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:100000!important;display:flex;align-items:center;justify-content:center;padding:16px;animation:authFadeIn .18s ease-out}.auth-modal-card{width:100%;max-width:420px;background:#181920;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:34px 28px 26px;box-shadow:0 32px 70px #000000f2,0 0 0 1px #ffffff0f;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;animation:authSlideUp .22s cubic-bezier(.16,1,.3,1);z-index:100001!important}.auth-modal-close{position:absolute;top:14px;right:14px;background:#ffffff14;border:none;color:var(--text-dim);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.auth-modal-close:hover{background:#ffffff29;color:#fff;transform:scale(1.08)}.auth-modal-icon-wrapper{width:62px;height:62px;border-radius:50%;background:#10b98124;border:1px solid rgba(16,185,129,.3);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.auth-modal-title{font-size:1.35rem;font-weight:800;color:#fff;margin:0 0 8px}.auth-modal-description{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin:0 0 24px}.auth-modal-actions{display:flex;flex-direction:column;gap:10px;width:100%}.auth-modal-btn{width:100%;padding:13px 20px;border-radius:var(--radius-full);font-weight:700;font-size:.92rem;cursor:pointer;transition:all .18s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center}.auth-modal-btn-primary{background:var(--accent-primary);color:#000;border:none}.auth-modal-btn-primary:hover{transform:scale(1.02);filter:brightness(1.08)}.auth-modal-btn-secondary{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.12)}.auth-modal-btn-secondary:hover{background:#ffffff24;transform:scale(1.02)}.auth-unified-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:32px 16px;position:relative;width:100%}.auth-card-unified{width:100%;max-width:440px;background:#15161ed9;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:36px 32px;box-shadow:0 24px 60px #0009,inset 0 1px #ffffff14;display:flex;flex-direction:column;animation:fadeIn .25s ease-out}.auth-brand-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.auth-brand-icon-box{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,#059669 100%);display:flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:0 8px 24px #10b98159}.auth-title{font-size:1.6rem;font-weight:800;letter-spacing:-.025em;color:#fff;margin-bottom:6px}.auth-subtitle{font-size:.85rem;color:var(--text-muted);line-height:1.45;max-width:320px}.auth-tabs-unified{display:flex;background:#0c0d11d9;padding:4px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.07);margin-bottom:24px;gap:4px}.auth-tab-pill{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.auth-tab-pill.active{background:linear-gradient(135deg,var(--accent-primary),#059669);color:#fff;box-shadow:0 4px 14px #10b9814d}.auth-tab-pill:hover:not(.active){color:#fff;background:#ffffff0a}.auth-error-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);color:#f87171;font-size:.82rem;font-weight:600;margin-bottom:18px;animation:fadeIn .2s ease-out}.auth-form-unified{display:flex;flex-direction:column;gap:16px}.auth-input-group{display:flex;flex-direction:column;gap:6px}.auth-input-group label{font-size:.78rem;font-weight:700;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between}.auth-tag-required{color:var(--accent-primary);font-size:.72rem;font-weight:600}.auth-input-field-wrap{position:relative;display:flex;align-items:center}.auth-field-icon{position:absolute;left:14px;color:var(--text-dim);pointer-events:none}.auth-input-field-wrap input{width:100%;padding:11px 40px 11px 42px;background:#0c0d11bf;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:#fff;font-size:.88rem;font-weight:500;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-input-field-wrap input:focus{background:#0f1016f2;border-color:var(--accent-primary);box-shadow:0 0 0 3px #10b98126}.auth-input-field-wrap input::placeholder{color:#ffffff40}.auth-eye-btn{position:absolute;right:12px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:color .15s ease}.auth-eye-btn:hover{color:#fff}.auth-submit-btn-unified{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-full);font-size:.92rem;font-weight:700;margin-top:8px;box-shadow:0 6px 20px #10b98159}.auth-submit-btn-unified:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 26px #10b98180}.auth-footer-unified{margin-top:22px;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.82rem;color:var(--text-muted)}.auth-switch-link{background:none;border:none;color:var(--accent-primary);font-weight:700;font-size:.82rem;cursor:pointer;transition:color .15s ease}.auth-switch-link:hover{color:#34d399;text-decoration:underline}.auth-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.search-input-wrapper{display:flex;align-items:center;position:relative;width:380px}.search-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:10px 16px 10px 42px;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-main);font-size:.9rem;font-weight:500;outline:none;transition:var(--transition)}.search-input:focus{background-color:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:0 0 0 3px #10b98126}.filter-tabs{display:flex;gap:8px;margin:18px 0 24px}.filter-tab{padding:8px 18px;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.filter-tab:hover{background:var(--bg-card-hover);color:var(--text-main)}.filter-tab.active{background:var(--text-main);color:#000;border-color:var(--text-main);font-weight:700}.hero-banner{border-radius:20px;padding:42px 48px;background:linear-gradient(135deg,var(--accent-subtle) 0%,rgba(30,27,75,.35) 50%,rgba(10,10,15,.9) 100%);position:relative;overflow:hidden;margin-bottom:40px;box-shadow:0 20px 50px #00000080,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:32px}.hero-glow-blob{position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.5;z-index:1}.hero-glow-blob.top-left{top:-80px;left:-40px;background:radial-gradient(circle,var(--accent-primary) 0%,transparent 70%)}.hero-glow-blob.bottom-right{bottom:-60px;right:15%;background:radial-gradient(circle,#6366f1 0%,transparent 70%)}.hero-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;opacity:.7}.hero-content{position:relative;z-index:2;max-width:600px}.hero-badge-row{margin-bottom:16px}.hero-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--accent-subtle);border:1px solid var(--accent-subtle);color:var(--accent-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-full);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary)}.hero-sparkle{color:var(--accent-primary);animation:pulseGlow 2s infinite ease-in-out}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.hero-title{font-size:2.8rem;font-weight:900;letter-spacing:-.035em;margin-bottom:12px;line-height:1.12;color:#fff}.hero-gradient-text{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary, #ffffff) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-desc{color:#ffffffb8;font-size:.98rem;line-height:1.6;max-width:520px;margin-bottom:26px}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-btn-primary{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border-radius:var(--radius-full);background:var(--accent-primary);color:#000;border:none;font-weight:700;font-size:.94rem;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .2s cubic-bezier(.16,1,.3,1)}.hero-btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #0006;background:var(--accent-primary-hover)}.account-form-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;height:100%;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.account-form-card:hover{border-color:var(--border-active)}.account-form{display:flex;flex-direction:column;flex:1}.account-form-actions-bottom{margin-top:auto;padding-top:16px}.play-icon-circle{width:24px;height:24px;border-radius:50%;background:#0000001f;display:flex;align-items:center;justify-content:center}.hero-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius-full);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:600;font-size:.88rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.hero-btn-secondary:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-2px)}.hero-visual{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.hero-vinyl-wrapper{position:relative;width:170px;height:170px;filter:drop-shadow(0 16px 32px rgba(0,0,0,.65))}.hero-vinyl-cover{position:absolute;top:0;left:0;width:140px;height:140px;border-radius:14px;object-fit:cover;z-index:2;box-shadow:0 10px 24px #00000080;border:1px solid rgba(255,255,255,.15)}.hero-vinyl-cover.fallback{background:#1e1e24;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.hero-vinyl-disc{position:absolute;top:10px;right:0;width:120px;height:120px;border-radius:50%;background:repeating-radial-gradient(#111,#111 2px,#222,#111 4px);border:4px solid #333;z-index:1;animation:spinVinyl 12s linear infinite;box-shadow:inset 0 0 12px #000c}.hero-vinyl-disc:after{content:"";position:absolute;top:50%;left:50%;width:32px;height:32px;transform:translate(-50%,-50%);background:var(--accent-primary);border-radius:50%;border:3px solid #000}@keyframes spinVinyl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-user-profile-preview{position:relative;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}.hero-user-profile-preview:hover{transform:scale(1.04)}.hero-user-avatar-wrap{width:180px;height:180px;border-radius:50%;padding:0;background:transparent;display:flex;align-items:center;justify-content:center}.hero-user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 16px 40px #0009}.hero-soundwave{display:flex;align-items:flex-end;gap:5px;height:24px;padding:4px 12px;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-full)}.hero-soundwave .bar{width:4px;border-radius:2px;background:var(--accent-primary);animation:eqBounce 1.2s ease-in-out infinite alternate}.hero-soundwave .bar-1{height:40%;animation-delay:.1s}.hero-soundwave .bar-2{height:85%;animation-delay:.3s}.hero-soundwave .bar-3{height:60%;animation-delay:.15s}.hero-soundwave .bar-4{height:100%;animation-delay:.4s}.hero-soundwave .bar-5{height:50%;animation-delay:.25s}.hero-soundwave .bar-6{height:75%;animation-delay:.35s}@keyframes eqBounce{0%{transform:scaleY(.3);opacity:.5}to{transform:scaleY(1);opacity:1}}@media(max-width:900px){.hero-banner{flex-direction:column;padding:32px 24px;text-align:center}.hero-actions{justify-content:center}.hero-visual{margin-top:10px}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin-bottom:36px}.music-card{content-visibility:auto;contain-intrinsic-size:0 240px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;cursor:pointer;transition:var(--transition);position:relative;display:flex;flex-direction:column}.music-card:hover{background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 12px 24px #0000004d;border-color:var(--border-active)}.account-native-grid .music-card,.account-native-grid .music-card:hover{transform:none!important;box-shadow:none!important}.explore-header-banner{padding:32px 36px;border-radius:20px;background:linear-gradient(135deg,#6366f126,#10b9811f,#0f1016cc);border:1px solid var(--border-subtle);margin-bottom:36px;box-shadow:0 16px 40px #0000004d}.explore-main-title{font-size:2.2rem;font-weight:800;letter-spacing:-.025em;color:#fff;margin-bottom:8px}.explore-main-desc{font-size:.95rem;color:var(--text-muted);max-width:620px;line-height:1.5}.genres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:36px}.genre-card{position:relative;height:115px;border-radius:16px;padding:18px;overflow:hidden;cursor:pointer;box-shadow:0 10px 24px #00000059;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.1)}.genre-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 36px #0000008c;border-color:#ffffff40}.genre-name{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 6px rgba(0,0,0,.4);z-index:2;line-height:1.2}.genre-icon-wrap{position:absolute;bottom:8px;right:10px;color:#fff;opacity:.85;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));transition:transform .25s ease,opacity .25s ease}.genre-card:hover .genre-icon-wrap{transform:scale(1.15) rotate(8deg);opacity:1}.music-card .card-thumb-wrapper{position:relative;width:100%;aspect-ratio:1/1;border-radius:var(--radius-sm);margin-bottom:14px;background:var(--bg-elevated)}.music-card .card-thumb{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-sm);object-fit:cover;transition:transform .3s ease}.music-card:hover .card-thumb{transform:scale(1.03)}.card-play-btn{position:absolute;bottom:-8px;right:-8px;width:44px;height:44px;border-radius:var(--radius-full);background:var(--accent-primary);color:#000;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px #000000a6;opacity:0;transform:translateY(6px) scale(.9);transition:all .22s cubic-bezier(.16,1,.3,1);z-index:10;cursor:pointer}.music-card:hover .card-play-btn,.card-play-btn.active-playing{opacity:1;transform:translateY(0) scale(1)}.card-play-btn:hover{transform:scale(1.12)!important;background:var(--accent-primary-hover);box-shadow:0 10px 28px #000000bf}.card-title{font-size:.92rem;font-weight:700;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-subtitle{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-highlight-active{border-color:#ffffff40!important;background:var(--bg-card-hover)!important;transform:translateY(-3px);transition:all .3s ease}.radios-dashboard-container{padding-bottom:40px}.radios-header-section{display:flex;flex-direction:column;gap:10px}.radios-live-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;letter-spacing:.05em;color:#fff;width:fit-content}.radios-live-pill .live-dot{width:7px;height:7px;background:#ef4444;border-radius:50%;box-shadow:0 0 8px #ef4444cc;animation:pulseGlow 1.8s infinite ease-in-out}.radios-live-pill .live-subtag{background:#ef444433;color:#f87171;padding:1px 6px;border-radius:4px;font-size:.68rem}.radios-main-title{font-size:2.8rem;font-weight:900;letter-spacing:-.035em;color:#fff;margin:0;line-height:1.1}.radios-search-box{position:relative;max-width:280px;margin-top:14px}.radios-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-dim)}.radios-search-box input{width:100%;padding:10px 14px 10px 40px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-main);font-size:.88rem;outline:none;transition:var(--transition)}.radios-search-box input:focus{border-color:var(--border-active);background:#ffffff14}.radios-custom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.radio-card-item{background:#12131aa6;border:1px solid var(--border-subtle);border-radius:16px;padding:16px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;position:relative}.radio-card-item:hover{background:var(--bg-card-hover);transform:translateY(-4px);border-color:var(--border-active);box-shadow:0 16px 36px #00000080}.radio-card-item.active{border-color:var(--accent-primary);background:#10b98114}.radio-card-cover-wrapper{position:relative;width:100%;aspect-ratio:1/1;border-radius:12px;overflow:visible;margin-bottom:14px}.radio-card-img{width:100%;height:100%;border-radius:12px;object-fit:cover;background:#000;box-shadow:0 8px 20px #0006}.radio-card-info{display:flex;flex-direction:column;gap:3px}.radio-card-name{font-size:1rem;font-weight:800;color:var(--text-main);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-card-sub{font-size:.78rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-card .card-thumb-wrapper{border-radius:var(--radius-full)}.track-list{display:flex;flex-direction:column;gap:4px;margin-bottom:36px}.track-row{content-visibility:auto;contain-intrinsic-size:0 58px;display:grid;grid-template-columns:36px 4fr 2.5fr 65px 145px;align-items:center;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-muted);font-size:.88rem;gap:8px}.track-row.compact-row{contain-intrinsic-size:0 40px;padding:5px 14px;min-height:38px}.track-row.compact-row .track-title-box{justify-content:center}.track-artist-column{font-size:.84rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px;padding:4px 0 24px}.track-card-grid{background:var(--bg-card, #181818);padding:12px;border-radius:var(--radius-md, 10px);cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);position:relative;border:1px solid transparent;display:flex;flex-direction:column}.track-card-grid:hover{background:var(--bg-card-hover, #282828);transform:translateY(-4px);box-shadow:0 12px 28px #00000080;border-color:#ffffff14}.track-card-grid.active{background:var(--bg-card-hover, #242424);border-color:#10b9814d}.track-card-cover-box{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;margin-bottom:10px;box-shadow:0 6px 16px #0006}.track-card-cover-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.track-card-grid:hover .track-card-cover-img{transform:scale(1.04)}.track-card-play-btn{position:absolute;bottom:8px;right:8px;width:44px;height:44px;border-radius:50%;background:var(--accent-primary, #10b981);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px #00000080;opacity:0;transform:translateY(8px);transition:all .22s cubic-bezier(.16,1,.3,1);cursor:pointer;z-index:2}.track-card-grid:hover .track-card-play-btn,.track-card-play-btn.playing{opacity:1;transform:translateY(0)}.track-card-play-btn:hover{transform:scale(1.08)!important;background:var(--accent-hover, #34d399)}.track-card-title:hover{color:var(--accent-primary)!important;text-decoration:underline}.track-number{display:flex;align-items:center;justify-content:flex-start;font-variant-numeric:tabular-nums}.playing-eq{display:inline-flex;align-items:flex-end;gap:2px;height:13px}.playing-eq span{width:2px;background:var(--accent-primary);border-radius:1px;animation:eq-bounce .8s ease-in-out infinite alternate}.playing-eq span:nth-child(1){height:5px;animation-delay:.1s}.playing-eq span:nth-child(2){height:12px;animation-delay:.3s}.playing-eq span:nth-child(3){height:7px;animation-delay:.2s}@keyframes eq-bounce{0%{height:3px}to{height:13px}}.track-action-btn{display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.track-action-btn:hover{transform:scale(1.15);color:#fff!important}.offline-download-btn{transition:all .2s ease;border-radius:50%}.offline-download-btn:hover{background:#ffffff1a;transform:scale(1.1)}.offline-download-btn.downloaded:hover{background:#10b98126}.spin-loader{animation:spin 1s linear infinite;color:var(--accent-primary)}.track-row:hover{background:var(--bg-card-hover);color:var(--text-main)}.track-row.active{background:var(--accent-subtle);color:var(--accent-primary)}.track-row.active .track-title{color:var(--accent-primary)}.track-main-info{display:flex;align-items:center;gap:12px;overflow:hidden}.track-thumb{width:42px;height:42px;border-radius:6px;object-fit:cover;flex-shrink:0}.track-title-box{display:flex;flex-direction:column;overflow:hidden}.track-title{font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.track-title:hover{color:var(--accent-primary);text-decoration:underline}.track-thumb{transition:opacity .2s ease,transform .15s ease}.track-thumb:hover{transform:scale(1.06)}.track-artist{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist-link{color:var(--text-muted);transition:color .15s ease}.track-artist-link.clickable{cursor:pointer}.track-artist-link.clickable:hover,.track-artist-link:hover{color:#fff;text-decoration:underline}.track-album{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-dim);font-size:.84rem;min-width:0}.track-album-link{color:var(--text-dim);transition:color .15s ease;display:inline}.track-album-link.clickable{cursor:pointer}.track-album-link.clickable:hover,.track-album-link:hover{color:#fff;text-decoration:underline}.track-album.clickable{cursor:pointer}.track-album.clickable:hover{color:#fff;text-decoration:underline}.track-date-added{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-dim);font-size:.84rem;min-width:0}.tracklist-col-btn:hover{background:#ffffff1a!important;color:#fff!important}.tracklist-col-item:hover{background:#ffffff14!important;color:#fff!important}@keyframes modalSlideDown{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.view-header{display:flex;align-items:flex-end;gap:28px;padding:24px 0 32px;margin-bottom:24px}.view-header-img{width:200px;height:200px;border-radius:var(--radius-md);object-fit:cover;box-shadow:0 16px 36px #00000080;flex-shrink:0}.view-header-img.artist-circle{border-radius:var(--radius-full)}.view-header-details{display:flex;flex-direction:column;gap:8px}.view-type-tag{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.view-main-title{font-size:2.8rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}.view-meta-info{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.9rem}.track-view-page{padding-bottom:60px}.track-view-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}.track-play-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 32px;border-radius:var(--radius-full);background:var(--accent-primary);color:#000;border:none;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 8px 24px #10b98159;transition:transform .2s ease}.track-play-cta-btn:hover{transform:scale(1.04)}.track-view-main-col{display:flex;flex-direction:column;gap:32px}.track-lyrics-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:24px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .2s ease}.track-lyrics-card:hover{border-color:#ffffff1f}.track-lyrics-header{margin-bottom:18px}.track-lyrics-title-wrap{display:flex;align-items:center;gap:10px}.track-lyrics-body{display:flex;flex-direction:column;gap:14px}.track-lyrics-text{font-size:1.05rem;line-height:1.85;color:#fff;white-space:pre-wrap;font-weight:500;max-height:420px;overflow-y:auto;padding-right:12px}.track-lyrics-source{font-size:.78rem;color:var(--text-dim)}.track-lyrics-empty{color:var(--text-muted);font-size:.92rem;padding:12px 0}.track-view-side-col{display:flex;flex-direction:column;gap:20px}.track-side-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all .2s ease}.track-side-card:hover{background:#ffffff0f;border-color:#ffffff1f}.track-artist-card{cursor:pointer}.track-side-tag{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);display:block;margin-bottom:12px}.track-artist-row{display:flex;align-items:center;gap:14px}.track-artist-avatar{width:52px;height:52px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.track-artist-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.track-artist-meta{display:flex;flex-direction:column;gap:3px;overflow:hidden}.track-artist-name{font-size:1rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist-sub{font-size:.8rem;color:var(--accent-primary);font-weight:600}.track-side-title{font-size:.98rem;font-weight:700;color:#fff;margin:0 0 16px}.track-details-list{display:flex;flex-direction:column;gap:12px}.track-detail-item{display:flex;justify-content:space-between;align-items:center;font-size:.86rem}.detail-label{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.detail-value{font-weight:600;color:#fff;text-align:right}.detail-value.accent{color:var(--accent-primary)}.spotify-track-page{padding-bottom:80px;position:relative;display:flex;flex-direction:column}.spotify-track-header{display:flex;align-items:flex-end;gap:28px;padding:24px 0 28px;position:relative}.spotify-track-cover-wrap{width:232px;height:232px;min-width:232px;border-radius:4px;box-shadow:0 8px 36px #000000a6;overflow:hidden;background:#181818;flex-shrink:0}.spotify-track-cover-img{width:100%;height:100%;object-fit:cover;display:block}.spotify-track-header-info{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0;flex:1}.spotify-track-tag{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff}.spotify-track-title{font-size:clamp(2rem,5vw,3.75rem);font-weight:900;letter-spacing:-.04em;line-height:1.08;color:#fff;margin:0;word-break:break-word}.spotify-track-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;font-weight:500;color:#ffffffb3;margin-top:6px}.spotify-artist-mini-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;display:inline-block;vertical-align:middle;flex-shrink:0}.spotify-meta-artist-link{color:#fff;font-weight:700;cursor:pointer;text-decoration:none;transition:text-decoration .2s ease}.spotify-meta-artist-link:hover{text-decoration:underline}.spotify-meta-album-link{color:#fff;cursor:pointer;text-decoration:none;transition:text-decoration .2s ease}.spotify-meta-album-link:hover{text-decoration:underline}.spotify-meta-dot{color:#ffffff80;font-size:.8rem;margin:0 2px}.spotify-action-bar{display:flex;align-items:center;gap:24px;padding:16px 0 32px}.spotify-play-btn-circle{width:56px;height:56px;border-radius:50%;background:var(--accent-primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px var(--accent-glow, rgba(0, 0, 0, .4));transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease;flex-shrink:0}.spotify-play-btn-circle:hover{transform:scale(1.06);background:var(--accent-primary-hover, var(--accent-primary))}.spotify-action-icon-btn{background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease,transform .15s ease}.spotify-action-icon-btn:hover{color:#fff;transform:scale(1.08)}.spotify-action-icon-btn.is-active{color:var(--accent-primary)}.spotify-track-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:start}.spotify-lyrics-panel{display:flex;flex-direction:column;gap:28px}.spotify-lyrics-box{background:transparent;display:flex;flex-direction:column;gap:16px}.spotify-lyrics-title{font-size:1.35rem;font-weight:700;color:#fff;margin:0}.spotify-lyrics-lines{display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.spotify-lyrics-line{font-size:1.25rem;font-weight:700;color:#ffffffa6;line-height:1.5;transition:color .15s ease;-webkit-user-select:text;user-select:text}.spotify-lyrics-line:hover{color:#fff}.spotify-lyrics-collapsed{max-height:280px;-webkit-mask-image:linear-gradient(180deg,#000 65%,transparent 100%);mask-image:linear-gradient(180deg,#000 65%,transparent 100%)}.spotify-lyrics-expand-btn{align-self:flex-start;background:transparent;border:none;color:#ffffffb3;font-weight:700;font-size:.88rem;padding:6px 0;cursor:pointer;transition:color .2s ease}.spotify-lyrics-expand-btn:hover{color:#fff;text-decoration:underline}.spotify-side-panel{display:flex;flex-direction:column;gap:20px}.spotify-artist-card{display:flex;align-items:center;gap:18px;padding:12px 14px;border-radius:8px;background:#ffffff0a;transition:background-color .2s ease,transform .2s ease;cursor:pointer}.spotify-artist-card:hover{background:#ffffff14;transform:translateY(-2px)}.spotify-artist-card-avatar{width:80px;height:80px;min-width:80px;border-radius:50%;overflow:hidden;background:#282828;box-shadow:0 4px 12px #00000059;flex-shrink:0}.spotify-artist-card-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.spotify-artist-card-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.spotify-artist-card-tag{font-size:.78rem;font-weight:700;color:#ffffffb3;text-transform:uppercase;letter-spacing:.04em}.spotify-artist-card-name{font-size:1.05rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-album-card{display:flex;align-items:center;gap:18px;padding:12px 14px;border-radius:8px;background:#ffffff0a;transition:background-color .2s ease,transform .2s ease;cursor:pointer}.spotify-album-card:hover{background:#ffffff14;transform:translateY(-2px)}.spotify-album-card-cover{width:80px;height:80px;min-width:80px;border-radius:6px;overflow:hidden;background:#282828;box-shadow:0 4px 12px #00000059;flex-shrink:0}.spotify-album-card-cover img{width:100%;height:100%;object-fit:cover}.spotify-rec-section{margin-top:40px}.spotify-rec-header{margin-bottom:20px}.spotify-rec-title{font-size:1.35rem;font-weight:700;color:#fff;margin:0 0 4px}.spotify-rec-subtitle{font-size:.85rem;color:#fff9}@media(max-width:900px){.spotify-track-grid{grid-template-columns:1fr;gap:28px}}@media(max-width:768px){.spotify-track-page{padding-bottom:90px;width:100%;overflow-x:hidden}.spotify-track-header{flex-direction:column;align-items:center;text-align:center;gap:18px;padding:12px 0 20px}.spotify-track-cover-wrap{width:190px;height:190px;min-width:190px;border-radius:12px;margin:0 auto;box-shadow:0 12px 32px #0009}.spotify-track-header-info{align-items:center;text-align:center;width:100%;gap:6px}.spotify-track-tag{font-size:.72rem;letter-spacing:.06em}.spotify-track-title{font-size:clamp(1.4rem,6vw,1.85rem);line-height:1.2;text-align:center;max-width:100%}.spotify-track-meta-row{justify-content:center;text-align:center;font-size:.82rem;gap:5px;margin-top:4px;line-height:1.4}.spotify-action-bar{justify-content:center;align-items:center;gap:18px;padding:10px 0 24px;width:100%}.spotify-play-btn-circle{width:50px;height:50px}.spotify-action-icon-btn{padding:6px}.spotify-action-icon-btn svg{width:24px;height:24px}.spotify-lyrics-title{font-size:1.15rem}.spotify-lyrics-line{font-size:1.05rem;line-height:1.45}.spotify-artist-card,.spotify-album-card{padding:10px 12px;gap:14px}.spotify-artist-card-avatar,.spotify-album-card-cover{width:60px;height:60px;min-width:60px}.spotify-artist-card-name{font-size:.95rem}}.spotify-artist-page{padding-bottom:80px;position:relative;display:flex;flex-direction:column}.spotify-artist-header{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-end;gap:28px;padding:24px 0;position:relative;width:100%}.spotify-artist-avatar-wrap{width:220px;height:220px;min-width:220px;border-radius:50%;box-shadow:0 16px 36px #000000a6;overflow:hidden;background:#181818;flex-shrink:0}.spotify-artist-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;transition:opacity .25s ease,transform .25s ease}.spotify-artist-header-info{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0;flex:1}.spotify-artist-badge-row{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:#fff}.spotify-verified-icon{width:20px;height:20px;border-radius:50%;background:#3d91f4;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.spotify-artist-title{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:#fff;margin:0;word-break:break-word}.spotify-artist-listeners{font-size:.95rem;font-weight:600;color:#ffffffd9;margin-top:4px}.spotify-artist-action-bar{display:flex;align-items:center;gap:20px;padding:16px 0 28px}.spotify-btn-follow{padding:8px 24px;border-radius:var(--radius-full);background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.spotify-btn-follow:hover{border-color:#fff;transform:scale(1.04)}.spotify-btn-follow.is-followed{border-color:var(--accent-primary);color:var(--accent-primary);background:#10b9811a}.spotify-shelf{margin-bottom:44px}.spotify-shelf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.spotify-shelf-title{font-size:1.45rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.02em}.spotify-see-all-link{font-size:.85rem;font-weight:700;color:#ffffffa6;background:transparent;border:none;cursor:pointer;transition:color .15s ease,text-decoration .15s ease;padding:4px 8px}.spotify-see-all-link:hover{color:#fff;text-decoration:underline}.spotify-chips-row{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.spotify-chip{padding:7px 16px;border-radius:var(--radius-full);background:#ffffff14;border:1px solid transparent;color:#fff;font-size:.86rem;font-weight:600;cursor:pointer;transition:all .15s ease}.spotify-chip:hover{background:#ffffff26}.spotify-chip.is-active{background:#fff;color:#000;font-weight:700}.spotify-bio-card{position:relative;border-radius:12px;overflow:hidden;max-width:620px;min-height:280px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 28px;box-shadow:0 12px 30px #0006;cursor:default;transition:transform .2s ease,box-shadow .2s ease}.spotify-bio-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0000008c}.spotify-bio-listeners{font-size:1.05rem;font-weight:800;color:#fff;margin-bottom:12px;text-shadow:0 2px 4px rgba(0,0,0,.8)}.spotify-bio-text{font-size:.92rem;line-height:1.6;color:#ffffffe6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 4px rgba(0,0,0,.8)}.spotify-bio-text.is-expanded{-webkit-line-clamp:unset;overflow:visible}.spotify-bio-toggle-btn{background:transparent;border:none;color:#fff;font-weight:700;font-size:.84rem;cursor:pointer;margin-top:10px;align-self:flex-start;padding:0;text-decoration:underline}@media(max-width:680px){.spotify-artist-header{flex-direction:column;align-items:center;text-align:center}.spotify-artist-avatar-wrap{width:160px;height:160px;min-width:160px}.spotify-artist-action-bar,.spotify-chips-row{justify-content:center}}.player-bar{position:fixed;bottom:0;left:0;right:0;height:90px;background:var(--bg-player);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);display:grid;grid-template-columns:minmax(200px,30%) 1fr minmax(190px,30%);align-items:center;padding:0 20px;z-index:100;box-sizing:border-box}.player-mobile-progress-bar,.player-mobile-actions{display:none;position:absolute;top:0;left:0;right:0;pointer-events:none}.player-left{display:flex;align-items:center;gap:12px;overflow:hidden;min-width:0;justify-content:flex-start}.player-thumb{width:52px;height:52px;border-radius:8px;object-fit:cover;box-shadow:0 4px 12px #0000004d;flex-shrink:0}.player-track-info{display:flex;flex-direction:column;overflow:hidden;min-width:0;max-width:240px;flex:0 1 auto}.player-track-title{font-size:.92rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.player-track-title:hover{color:var(--accent-primary);text-decoration:underline}.player-track-artist{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-link:hover{color:#fff;text-decoration:underline}.player-desktop-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:6px}.player-desktop-actions .ctrl-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0!important;border-radius:50%;flex-shrink:0;transition:all .15s ease}.player-desktop-actions .ctrl-btn:hover{background:#ffffff14}.player-thumb-container{position:relative;width:52px;height:52px;border-radius:8px;overflow:hidden;box-shadow:0 4px 14px #0006;flex-shrink:0;background:#18181b}.player-thumb-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.player-thumb-img.fade-enter{opacity:1;transform:scale(1)}.player-thumb-img.fade-exit{opacity:0;transform:scale(1.05)}.player-center{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:560px;margin:0 auto;width:100%;min-width:0}.player-controls{display:flex;align-items:center;gap:16px}.ctrl-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:4px;flex-shrink:0}.ctrl-btn:hover{color:var(--text-main);transform:scale(1.1)}.ctrl-btn.play-main{width:40px;height:40px;border-radius:var(--radius-full);background:var(--text-main);color:#000}.ctrl-btn.play-main:hover{transform:scale(1.08);background:#fff}.progress-container{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.time-label{font-size:.72rem;color:var(--text-dim);font-weight:600;width:36px;text-align:center;flex-shrink:0}.slider-bar{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;outline:none;cursor:pointer;position:relative;transition:height .15s ease;min-width:0}.slider-bar:hover{height:5px}.slider-bar::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 8px #00000080;opacity:0;transition:opacity .15s ease,transform .1s ease}.slider-bar:hover::-webkit-slider-thumb{opacity:1;transform:scale(1.1)}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0;min-width:0}.volume-wrapper{display:flex;align-items:center;width:80px;min-width:50px;max-width:90px;flex-shrink:1;margin:0 2px}.volume-wrapper .slider-bar{width:100%}@media(max-width:1100px){.player-bar{grid-template-columns:minmax(180px,28%) 1fr minmax(160px,28%);padding:0 14px}.player-controls{gap:12px}}@media(max-width:950px){.player-bar{grid-template-columns:minmax(150px,26%) 1fr minmax(130px,26%);padding:0 10px}.player-controls{gap:8px}.volume-wrapper{width:60px;min-width:40px}}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.video-sidebar{width:380px;background-color:var(--bg-sidebar);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100vh;padding-bottom:110px;flex-shrink:0;z-index:50;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:slideInRight .25s cubic-bezier(.16,1,.3,1);overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.video-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.video-sidebar-content{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.video-player-container{width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 12px 28px #0009;border:1px solid var(--border-subtle)}.video-iframe{width:100%;height:100%;border:none}.video-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--border-subtle);transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.video-yt-btn{background:#ffffff0d;color:var(--text-primary)}.video-yt-btn:hover{background:#ff000026;border-color:#f006;color:#fff;transform:translateY(-1px)}.video-lyrics-btn{background:#10b98114;color:var(--accent-primary);border-color:#10b98133}.video-lyrics-btn:hover{background:#10b9812e;border-color:#10b98173;transform:translateY(-1px)}.video-action-btn:active{transform:scale(.98)}.video-fullscreen-overlay-btn{position:absolute;top:10px;right:10px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:6px 8px;cursor:pointer;opacity:0;transform:scale(.9);transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;z-index:10}.video-fullscreen-overlay-btn.visible{opacity:1;transform:scale(1)}.video-fullscreen-overlay-btn:hover{background:#10b981d9;border-color:var(--accent-primary);transform:scale(1.08)}.video-section-container{display:flex;flex-direction:column;gap:12px}.video-section-title{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.video-similar-list{display:flex;flex-direction:column;gap:8px}.video-similar-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;border:1px solid transparent}.video-similar-item:hover{background:#ffffff0f;border-color:var(--border-subtle);transform:translate(4px)}.video-similar-thumb-wrapper{position:relative;width:58px;height:38px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#181818}.video-similar-thumb{width:100%;height:100%;object-fit:cover}.video-similar-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.video-similar-item:hover .video-similar-play-overlay{opacity:1}.video-similar-meta{display:flex;flex-direction:column;min-width:0;gap:2px}.video-similar-title{font-size:.82rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-similar-artist{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-artist-card{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.video-artist-card:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-1px)}.video-artist-card-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.video-artist-bio-text{font-size:.8rem;color:var(--text-muted);line-height:1.5;margin-top:4px;padding:0 4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:16px;color:var(--text-dim)}.spotify-lyrics-container{position:relative;min-height:calc(100vh - 170px);padding:40px 60px 80px;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;background:#0f0a0a}.lyrics-bg-glow{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(80px) brightness(.28) saturate(160%);transform:scale(1.4);z-index:0}.lyrics-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,#a0141473,#0a0a0cd9);z-index:1}.lyrics-header-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.lyrics-track-pill{display:inline-flex;align-items:center;gap:14px;padding:6px 18px 6px 6px;background:#0006;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full)}.lyrics-pill-thumb{width:42px;height:42px;border-radius:50%;object-fit:cover}.lyrics-pill-info{display:flex;flex-direction:column}.lyrics-pill-title{font-size:.92rem;font-weight:700;color:#fff}.lyrics-pill-artist{font-size:.78rem;color:var(--text-muted)}.lyrics-source-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted);background:#ffffff0f;padding:6px 14px;border-radius:var(--radius-full)}.lyrics-scroll-content{position:relative;z-index:2;max-width:900px}.lyrics-lines-wrapper{display:flex;flex-direction:column;gap:22px}.lyrics-line{font-size:2.2rem;font-weight:800;line-height:1.4;letter-spacing:-.025em;color:#ffffff47;transition:all .28s cubic-bezier(.16,1,.3,1);cursor:default;margin:0;-webkit-user-select:none;user-select:none}.lyrics-line.clickable{cursor:pointer}.lyrics-line:hover{color:#ffffffd9;transform:translate(4px)}.lyrics-line.active{color:#fff!important;transform:scale(1.04) translate(8px);text-shadow:0 4px 28px rgba(0,0,0,.85)}.lyrics-line.past{color:#fff9}.lyrics-footer-credit{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#fff6}.lyrics-google-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 22px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);color:#fff;font-weight:600;font-size:.88rem;text-decoration:none;transition:all .2s ease}.lyrics-google-btn:hover{background:#fff3;transform:translateY(-2px)}.spotify-pip-native-wrapper{width:100vw;height:100vh;box-sizing:border-box;background:#101116;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:12px;overflow:hidden;-webkit-user-select:none;user-select:none;gap:8px}.spotify-pip-native-wrapper.has-video{padding:10px}.pip-video-container{width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 8px 24px #0009;flex:1}.pip-video-element{width:100%;height:100%;object-fit:cover}.spotify-pip-miniplayer{position:fixed;width:280px;height:380px;background:#101116f2;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 20px 48px #000000bf,0 0 0 1px #ffffff0d;z-index:1000;display:flex;flex-direction:column;overflow:hidden;padding:12px;animation:pipPopIn .22s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}@keyframes pipPopIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.pip-bg-cover{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(40px) brightness(.3);transform:scale(1.3);z-index:-2}.pip-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#10111666,#101116f0);z-index:-1}.pip-body{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;flex:1;min-height:0;overflow:hidden}.pip-cover-wrapper{position:relative;flex:1;min-height:0;max-width:100%;aspect-ratio:1 / 1;border-radius:14px;overflow:hidden;box-shadow:0 10px 24px #0000008c,0 0 0 1px #ffffff14;display:flex;align-items:center;justify-content:center}.pip-track-image{width:100%;height:100%;object-fit:cover;display:block}.pip-details{display:flex;flex-direction:column;width:100%;min-width:0;gap:2px;text-align:center;flex-shrink:0}.pip-title{font-size:.92rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.pip-artist{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pip-footer{flex-shrink:0;width:100%;display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.pip-progress-row{display:flex;align-items:center;gap:8px;padding:2px 0;width:100%}.pip-time{font-size:.68rem;font-weight:600;color:var(--text-dim);width:30px;text-align:center}.pip-slider{height:4px;flex:1}.pip-controls-row{display:flex;align-items:center;justify-content:space-between;padding-top:2px;width:100%}.pip-playback-btns{display:flex;align-items:center;gap:12px}.pip-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:50%;transition:all .15s ease;text-decoration:none}.pip-btn:hover{color:#fff;transform:scale(1.1);background:#ffffff14}.pip-btn.play{width:36px;height:36px;background:#fff;color:#000}.pip-btn.play:hover{background:#fff;transform:scale(1.08);box-shadow:0 4px 14px #ffffff4d}.pip-volume-container{position:relative;display:flex;align-items:center;justify-content:center}.pip-volume-popover{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);width:28px;height:96px;background:#12131af2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 8px 24px #0009;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);z-index:100;box-sizing:border-box;overflow:visible}.pip-volume-container:before{content:"";position:absolute;bottom:100%;left:-6px;right:-6px;height:14px}.pip-volume-container:hover .pip-volume-popover,.pip-volume-popover:hover{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.pip-volume-popover .slider-bar{flex:none;width:76px;height:4px;transform:rotate(-90deg);transform-origin:38px 2px;margin:0;transition:none}.pip-volume-popover .slider-bar:hover{height:4px}.pip-volume-popover .slider-bar::-webkit-slider-thumb{opacity:1;transform:none}.pip-volume-popover .slider-bar:hover::-webkit-slider-thumb{transform:scale(1.15)}.pip-volume-popover .slider-bar::-moz-range-thumb{opacity:1}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:authFadeIn .2s ease forwards}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal-card{position:relative;background:#14151b;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:24px 22px 20px;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 16px 40px #00000080,0 0 0 1px #ffffff0a;animation:authSlideUp .22s cubic-bezier(.16,1,.3,1) forwards}@keyframes authSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-dim);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.auth-modal-close:hover{background:#ffffff14;color:#fff}.auth-modal-icon-wrapper{width:44px;height:44px;border-radius:12px;background:#10b9811f;border:1px solid rgba(16,185,129,.22);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);margin-bottom:14px}.auth-modal-title{font-size:1.12rem;font-weight:700;color:#fff;letter-spacing:-.01em;margin-bottom:6px}.auth-modal-description{font-size:.83rem;line-height:1.45;color:var(--text-muted);margin-bottom:20px}.auth-modal-actions{display:flex;gap:8px;width:100%}.auth-modal-btn{flex:1;padding:10px 14px;border-radius:10px;font-size:.86rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border:none}.auth-modal-btn-primary{background:var(--accent-primary);color:#000;font-weight:700}.auth-modal-btn-primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.auth-modal-btn-secondary{background:#ffffff12;border:1px solid rgba(255,255,255,.08);color:var(--text-main)}.auth-modal-btn-secondary:hover{background:#ffffff1f;color:#fff;transform:translateY(-1px)}.sidebar-library-wrapper{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:hidden}.sidebar-library-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px;flex-shrink:0}.sidebar-library-title-group{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar.collapsed .sidebar-library-title-group{justify-content:center;width:100%}.sidebar-library-heading{font-size:.95rem;font-weight:700;color:var(--text-main);letter-spacing:-.01em;opacity:1;max-width:200px;transform:translate(0);transition:opacity .2s ease,max-width .28s cubic-bezier(.2,.8,.2,1),transform .2s ease;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-library-heading{opacity:0;max-width:0;transform:translate(-10px);pointer-events:none;margin:0;padding:0}.sidebar-create-playlist-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:var(--radius-full);background:#ffffff14;border:1px solid rgba(255,255,255,.06);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;opacity:1;max-width:120px;transform:translate(0);transition:opacity .2s ease,max-width .28s cubic-bezier(.2,.8,.2,1),transform .2s ease,background .2s ease;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-create-playlist-btn{opacity:0;max-width:0;transform:translate(-10px);pointer-events:none;margin:0!important;padding:0!important;border:none}.sidebar-create-playlist-btn:hover{background:#ffffff26;transform:scale(1.04)}.sidebar-library-pills{display:flex;align-items:center;gap:6px;padding:0 4px;overflow-x:auto;scrollbar-width:none;flex-shrink:0;opacity:1;max-height:40px;transform:translateY(0);transition:opacity .2s ease,max-height .28s cubic-bezier(.2,.8,.2,1),transform .2s ease,margin .28s ease}.sidebar.collapsed .sidebar-library-pills{opacity:0;max-height:0;transform:translateY(-8px);pointer-events:none;margin:0!important;padding:0!important}.sidebar-library-pills::-webkit-scrollbar{display:none}.library-pill{padding:5px 12px;border-radius:var(--radius-full);background:#ffffff0f;border:none;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .18s ease}.library-pill:hover{background:#ffffff1f;color:#fff}.library-pill.active{background:#fff;color:#000;font-weight:700}.sidebar-library-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding:0 4px 10px 0;overscroll-behavior:contain;transition:padding .28s cubic-bezier(.2,.8,.2,1)}.sidebar-library-list::-webkit-scrollbar{width:5px}.sidebar-library-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.sidebar-library-list::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sidebar.collapsed .sidebar-library-list{padding:0 0 10px;scrollbar-width:none;-ms-overflow-style:none}.sidebar.collapsed .sidebar-library-list::-webkit-scrollbar{display:none;width:0;height:0}.library-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .15s ease,transform .15s ease,opacity .15s ease,padding .28s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none;border-top:2px solid transparent}.library-item-details{display:flex;flex-direction:column;gap:3px;overflow:hidden;opacity:1;max-width:250px;transform:translate(0);transition:opacity .2s ease,max-width .28s cubic-bezier(.2,.8,.2,1),transform .2s ease;white-space:nowrap}.sidebar.collapsed .library-item-details{opacity:0;max-width:0;transform:translate(-10px);pointer-events:none;margin:0!important;padding:0!important}.library-item.drag-ready{cursor:grab!important;transform:scale(1.03);background-color:#ffffff1f;border-radius:6px;box-shadow:0 8px 24px #000c,0 0 0 1px #ffffff26;position:relative;z-index:5}.library-item.drag-ready:active{cursor:grabbing!important}.sidebar.collapsed .library-item{justify-content:center;padding:8px 0;gap:0}.library-item:hover{background-color:#ffffff12}.library-item.active{background-color:#ffffff1f}.library-item.dragging{opacity:.35;transform:scale(.96);background:#ffffff0a;cursor:grabbing!important}.library-item.drag-over{border-top:2px solid var(--accent-primary);background-color:var(--accent-subtle)}.library-thumb-liked{width:48px;height:48px;border-radius:4px;background:linear-gradient(135deg,#450af5,#8e8ee5,#c4efd9);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #450af54d}.library-thumb-offline{width:48px;height:48px;border-radius:4px;background:linear-gradient(135deg,var(--accent-primary-hover),var(--accent-primary));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px var(--accent-glow)}.library-thumb-img{width:48px;height:48px;border-radius:4px;object-fit:cover;flex-shrink:0}.library-thumb-artist{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.library-thumb-artist.fallback{background:#ffffff14;display:flex;align-items:center;justify-content:center}.library-thumb-fallback{width:48px;height:48px;border-radius:4px;background:#ffffff14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.library-item-details{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1;gap:3px}.library-item-title{font-size:.95rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;letter-spacing:-.01em;transition:color .15s ease}.library-item:hover .library-item-title{color:var(--accent-primary)}.library-item.active .library-item-title{color:var(--accent-primary);font-weight:700}.library-item-title.highlighted{color:var(--accent-primary);font-weight:600}.library-item-meta{display:flex;align-items:center;gap:5px;font-size:.8125rem;color:#a7a7a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.add-playlist-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:20000}.add-playlist-modal-card{background:#181818;border-radius:10px;box-shadow:0 16px 48px #000000f2,0 0 0 1px #ffffff1f;overflow:hidden;display:flex;flex-direction:column;z-index:20001;animation:authSlideUp .16s cubic-bezier(.16,1,.3,1)}.add-playlist-header{padding:16px 16px 12px}.add-playlist-title{font-size:1rem;font-weight:700;color:#fff;letter-spacing:-.01em}.add-playlist-search-box{display:flex;align-items:center;gap:10px;margin:0 16px 12px;padding:8px 12px;background:#ffffff14;border-radius:6px;border:1px solid transparent;transition:all .2s ease}.add-playlist-search-box:focus-within{border-color:#ffffff4d;background:#ffffff1f}.add-playlist-search-icon{color:var(--text-muted);flex-shrink:0}.add-playlist-search-input{background:transparent;border:none;color:#fff;font-size:.86rem;width:100%;outline:none}.add-playlist-search-input::placeholder{color:var(--text-dim)}.add-playlist-create-btn{display:flex;align-items:center;gap:12px;padding:10px 16px;background:transparent;border:none;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease;width:100%;text-align:left}.add-playlist-create-btn:hover{background:#ffffff0f}.add-playlist-create-icon-wrap{width:38px;height:38px;border-radius:4px;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#fff}.add-playlist-list{overflow-y:auto;flex:1;padding:4px 8px}.add-playlist-list::-webkit-scrollbar{width:4px}.add-playlist-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.add-playlist-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:6px;cursor:pointer;transition:background .15s ease}.add-playlist-item:hover{background:#ffffff0f}.add-playlist-thumb-liked{width:38px;height:38px;border-radius:4px;background:linear-gradient(135deg,#450af5,#c4efd9);display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-playlist-thumb-img{width:38px;height:38px;border-radius:4px;object-fit:cover;flex-shrink:0}.add-playlist-thumb-fallback{width:38px;height:38px;border-radius:4px;background:#ffffff14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-playlist-item-info{flex:1;min-width:0}.add-playlist-item-name{font-size:.88rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.add-playlist-item-actions{display:flex;align-items:center;gap:10px}.add-playlist-check-circle{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.add-playlist-check-circle.checked{background:#10b981;border-color:#10b981}.add-playlist-footer{padding:10px 16px 14px;display:flex;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.06)}.add-playlist-cancel-btn{background:transparent;border:none;color:var(--text-muted);font-weight:700;font-size:.88rem;cursor:pointer;padding:6px 12px;border-radius:var(--radius-full);transition:color .15s ease}.add-playlist-cancel-btn:hover{color:#fff}.playlist-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:authFadeIn .15s ease-out}.playlist-modal-card{width:100%;max-width:480px;background:#242424;border-radius:12px;padding:24px;box-shadow:0 20px 48px #000c;animation:authSlideUp .2s cubic-bezier(.16,1,.3,1)}.playlist-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.playlist-modal-title{font-size:1.25rem;font-weight:800;color:#fff}.playlist-modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;transition:color .15s ease}.playlist-modal-close:hover{color:#fff}.playlist-modal-grid{display:grid;grid-template-columns:140px 1fr;gap:16px}.playlist-modal-cover-wrap{width:140px;height:140px;border-radius:8px;overflow:hidden;background:#ffffff0f;box-shadow:0 8px 24px #0006;position:relative}.playlist-modal-cover-wrap.interactive-cover{cursor:pointer}.playlist-cover-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.playlist-modal-cover-wrap.interactive-cover:hover .playlist-cover-hover-overlay{opacity:1}.playlist-modal-btn-upload{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease}.playlist-modal-btn-upload:hover{background:#ffffff26;border-color:#ffffff40}.playlist-modal-btn-remove-cover{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:6px;background:#ef44441f;border:1px solid rgba(239,68,68,.2);color:#ef4444;cursor:pointer;transition:all .15s ease}.playlist-modal-btn-remove-cover:hover{background:#ef444438}.playlist-modal-btn-clear-grey{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.playlist-modal-btn-clear-grey:hover{color:#fff;background:#ffffff14}.playlist-modal-cover-img{width:100%;height:100%;object-fit:cover}.playlist-modal-cover-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-dim);font-size:.78rem}.playlist-modal-inputs{display:flex;flex-direction:column;justify-content:space-between;gap:12px}.playlist-form-group{display:flex;flex-direction:column;gap:6px}.playlist-form-group label{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.playlist-form-input,.playlist-form-textarea{background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px 12px;color:#fff;font-size:.9rem;outline:none;font-family:inherit;transition:border-color .2s ease}.playlist-form-input:focus,.playlist-form-textarea:focus{border-color:#ffffff4d;background:#ffffff1f}.playlist-visibility-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.playlist-visibility-pill{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-muted);cursor:pointer;text-align:left;transition:all .2s cubic-bezier(.2,.8,.2,1)}.playlist-visibility-pill:hover{background:#ffffff17;color:#fff}.playlist-visibility-pill.active{background:#10b9811f;border-color:var(--accent-primary);color:#fff;box-shadow:0 0 14px #10b98126}.playlist-visibility-pill.active svg{color:var(--accent-primary)}.playlist-visibility-pill .visibility-text{display:flex;flex-direction:column;gap:2px}.playlist-visibility-pill .visibility-title{font-size:.88rem;font-weight:700;color:inherit}.playlist-visibility-pill .visibility-desc{font-size:.74rem;color:var(--text-dim)}.playlist-badge-visibility{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.playlist-badge-visibility.public{background:#10b9811f;color:var(--accent-primary);border:1px solid rgba(16,185,129,.25)}.playlist-badge-visibility.private{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.playlist-follow-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:var(--radius-full);background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1)}.playlist-follow-btn:hover{border-color:#fff;transform:scale(1.04)}.playlist-follow-btn.following{background:#10b9811f;border-color:var(--accent-primary);color:var(--accent-primary)}.playlist-follow-btn.following:hover{background:#ef44441f;border-color:#ef4444;color:#ef4444}.playlist-follow-btn:active{transform:scale(.96)}.playlist-context-menu-popover{position:fixed;z-index:999999;min-width:220px;background:#1e2029;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px #0009,0 0 0 1px #ffffff0d;border-radius:var(--radius-md);padding:6px;display:flex;flex-direction:column;gap:2px;animation:contextMenuFadeIn .15s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:#e2e8f0;font-size:.86rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.context-menu-btn:hover{background:#ffffff14;color:#fff}.context-menu-btn.danger{color:#f87171}.context-menu-btn.danger:hover{background:#ef444424;color:#ef4444}.playlist-modal-import-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:var(--accent-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1)}.playlist-modal-import-toggle-btn:hover{background:#10b98133;border-color:var(--accent-primary);transform:translateY(-1px)}.playlist-import-platforms-badge{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:12px}.playlist-download-all-btn,.album-download-all-btn{transition:all .2s cubic-bezier(.2,.8,.2,1)!important}.playlist-download-all-btn:hover,.album-download-all-btn:hover{color:#fff!important;border-color:#fff6!important;transform:scale(1.06)}.playlist-download-all-btn.downloaded:hover,.album-download-all-btn.downloaded:hover{color:var(--accent-primary)!important;border-color:var(--accent-primary)!important;background:#10b98138!important}.playlist-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px}.playlist-modal-btn-cancel{background:transparent;border:none;color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;padding:10px 20px;border-radius:var(--radius-full)}.playlist-modal-btn-save{background:#fff;border:none;color:#000;font-weight:700;font-size:.9rem;cursor:pointer;padding:10px 24px;border-radius:var(--radius-full);transition:transform .15s ease}.playlist-modal-btn-save:hover:not(:disabled){transform:scale(1.04)}.playlist-modal-btn-save:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:22000;display:flex;align-items:center;justify-content:center;animation:authFadeIn .16s ease-out;padding:16px}.confirm-modal-card{width:100%;max-width:400px;background:#1e1e24;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 24px 20px;box-shadow:0 24px 50px #000000d9;animation:authSlideUp .2s cubic-bezier(.16,1,.3,1);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.confirm-modal-close{position:absolute;top:14px;right:14px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.confirm-modal-close:hover{color:#fff}.confirm-modal-icon-wrap{width:52px;height:52px;border-radius:50%;background:#ef44441f;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.confirm-modal-title{font-size:1.15rem;font-weight:800;color:#fff;margin:0 0 8px}.confirm-modal-desc{font-size:.88rem;color:var(--text-muted);line-height:1.45;margin:0 0 24px}.confirm-modal-actions{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.confirm-modal-btn-cancel{flex:1;padding:11px 16px;border-radius:var(--radius-full);background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#fff;font-weight:700;font-size:.88rem;cursor:pointer;transition:background .15s ease}.confirm-modal-btn-cancel:hover{background:#ffffff24}.confirm-modal-btn-action{flex:1;padding:11px 16px;border-radius:var(--radius-full);border:none;font-weight:700;font-size:.88rem;cursor:pointer;transition:transform .15s ease}.confirm-modal-btn-action.danger{background:#ef4444;color:#fff}.confirm-modal-btn-action.danger:hover{background:#dc2626}.confirm-modal-btn-action.primary{background:var(--accent-primary);color:#000}.confirm-modal-btn-action:active{transform:scale(.96)}.view-header-liked-cover{width:220px;height:220px;border-radius:12px;background:linear-gradient(135deg,#450af5,#c4efd9);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 36px #450af566;flex-shrink:0}.view-header-offline-cover,.view-header-eq-cover{width:220px;height:220px;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary-hover),var(--accent-primary));display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px #00000073;flex-shrink:0;transition:all .28s ease}.view-header-placeholder{width:220px;height:220px;border-radius:12px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-view-transition{animation:pageViewFadeIn .24s cubic-bezier(.16,1,.3,1) forwards;will-change:opacity,transform}@keyframes pageViewFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.playlist-empty-simple{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px 20px;gap:8px}.playlist-empty-simple-title{font-size:1.05rem;font-weight:700;color:#fff;margin:4px 0 0}.playlist-empty-simple-desc{font-size:.86rem;color:var(--text-muted);max-width:440px;line-height:1.45}.mobile-bottom-nav,.mobile-now-playing-overlay{display:none}.mobile-library-page{display:flex;flex-direction:column;gap:16px;padding:8px 4px 32px}.mobile-library-header{display:flex;flex-direction:column;gap:14px}.mobile-library-title-row{display:flex;align-items:center;justify-content:space-between}.mobile-library-heading{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:#fff;margin:0}.mobile-library-create-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-full);background:#ffffff1a;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease}.mobile-library-create-btn:active{transform:scale(.96)}.mobile-library-pills{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}.mobile-library-pills::-webkit-scrollbar{display:none}.mobile-library-search-box{display:flex;align-items:center;gap:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 14px}.mobile-library-search-input{background:transparent;border:none;color:#fff;font-size:.9rem;width:100%;outline:none}.mobile-library-search-input::placeholder{color:var(--text-dim)}.mobile-library-list{display:flex;flex-direction:column;gap:4px}.mobile-library-row{display:flex;align-items:center;gap:14px;padding:10px 8px;border-radius:10px;cursor:pointer;transition:background-color .15s ease}.mobile-library-row:active{background-color:#ffffff14}.mobile-library-row-text{display:flex;flex-direction:column;gap:2px;overflow:hidden}.mobile-library-row-title{font-size:.98rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-library-row-sub{font-size:.82rem;color:var(--text-muted)}.mobile-now-playing-overlay{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#09090c;flex-direction:column;overflow:hidden;animation:slideUpNowPlaying .32s cubic-bezier(.16,1,.3,1);padding-bottom:env(safe-area-inset-bottom)}@keyframes slideUpNowPlaying{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}.mobile-now-playing-bg{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;background-size:cover;background-position:center;filter:blur(60px) brightness(.28) saturate(160%);z-index:0;pointer-events:none;transform:scale(1.1)}.mobile-now-playing-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,#0003,#000c 75%);z-index:1;pointer-events:none}.mobile-now-playing-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;height:100%;box-sizing:border-box;padding-top:calc(max(18px,env(safe-area-inset-top,0px)) + 8px)!important;padding-bottom:max(28px,env(safe-area-inset-bottom,0px))!important;padding-left:max(20px,env(safe-area-inset-left,0px))!important;padding-right:max(20px,env(safe-area-inset-right,0px))!important;overflow-y:auto}.mobile-np-drag-bar-wrap{display:flex;align-items:center;justify-content:center;width:100%;padding-bottom:8px;cursor:grab}.mobile-np-drag-bar{width:38px;height:4.5px;border-radius:4px;background:#ffffff59}.mobile-now-playing-header{display:flex;align-items:center;justify-content:space-between;min-height:48px}.mobile-np-icon-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.mobile-np-header-title{display:flex;flex-direction:column;align-items:center;text-align:center}.mobile-np-header-title span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase}.mobile-np-header-title small{font-size:.78rem;font-weight:600;color:#fff;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-np-artwork-container{display:flex;align-items:center;justify-content:center;margin:16px 0;flex:1;min-height:200px;max-height:380px}.mobile-np-cover{width:100%;max-width:320px;aspect-ratio:1 / 1;object-fit:cover;border-radius:18px;box-shadow:0 20px 50px #000c,0 0 0 1px #ffffff14}.mobile-np-meta-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.mobile-np-meta-text{display:flex;flex-direction:column;gap:4px;overflow:hidden}.mobile-np-title{font-size:1.35rem;font-weight:800;color:#fff;margin:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}.mobile-np-artist{font-size:.98rem;font-weight:500;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-np-action-btn{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center}.mobile-np-progress-section{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.mobile-np-slider-wrapper{position:relative;height:6px;background:#ffffff26;border-radius:6px;display:flex;align-items:center;touch-action:none;cursor:pointer}.mobile-np-slider-fill{position:absolute;left:0;height:100%;background:#fff;border-radius:6px;pointer-events:none}.mobile-np-times{display:flex;justify-content:space-between;font-size:.76rem;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums}.mobile-np-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:0 4px}.mobile-np-ctrl-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:10px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:transform .15s ease,color .15s ease}.mobile-np-ctrl-btn:active{transform:scale(.9)}.mobile-np-ctrl-btn.active{color:var(--accent-primary)}.mobile-np-play-btn{width:68px;height:68px;border-radius:50%;background:#fff;color:#000;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #0006;transition:transform .15s ease}.mobile-np-play-btn:active{transform:scale(.92)}.mobile-np-footer-tools{display:flex;align-items:center;justify-content:space-around;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.mobile-np-tool-btn{background:transparent;border:none;color:var(--text-muted);font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 16px;border-radius:var(--radius-full);transition:color .15s ease}.mobile-np-tool-btn.downloaded{color:var(--accent-primary)}@media(max-width:768px){.sidebar{display:none!important}.main-content-wrapper{width:100vw;height:100vh;overflow:hidden;padding-top:env(safe-area-inset-top,0px)!important}.topbar{height:52px!important;min-height:52px!important;padding-top:0!important;padding-bottom:0!important;padding-left:max(12px,env(safe-area-inset-left,0px))!important;padding-right:max(12px,env(safe-area-inset-right,0px))!important;background:#0a0a0eeb;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:100%;max-width:100vw;box-sizing:border-box;gap:8px;overflow:visible}.topbar-left-controls{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.topbar-back-btn{width:32px;height:32px}.search-input-wrapper{width:100%;max-width:100%;flex:1;min-width:0}.search-input{padding:7px 10px 7px 34px;font-size:.82rem}.search-icon{left:10px;width:15px;height:15px}.topbar-right-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.topbar-jam-btn{padding:6px}.topbar-auth-zone{gap:6px;flex-shrink:0}.login-btn-primary{padding:7px 12px;gap:6px;font-size:.8rem;border-radius:var(--radius-full);flex-shrink:0;white-space:nowrap}@media(max-width:480px){.login-btn-text{display:none}.login-btn-primary{width:34px;height:34px;padding:0;justify-content:center;border-radius:50%}}.user-username,.user-menu-chevron{display:none}.user-profile-badge-btn{padding:2px;background:transparent;border:none}.user-avatar-wrapper{width:32px;height:32px}.scroll-area{padding:14px 14px 85px}.app-container.has-player .scroll-area{padding:14px 14px 155px}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(62px + env(safe-area-inset-bottom));background:#0e0e12f5;-webkit-backdrop-filter:blur(28px) saturate(190%);backdrop-filter:blur(28px) saturate(190%);border-top:1px solid rgba(255,255,255,.08);padding:0 10px env(safe-area-inset-bottom) 10px;z-index:99;align-items:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:6px;scrollbar-width:none;box-sizing:border-box}.mobile-bottom-nav::-webkit-scrollbar{display:none}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;flex:0 0 auto;min-width:64px;padding:6px 8px;border-radius:10px;height:calc(100% - 10px);transition:all .15s ease;white-space:nowrap;user-select:none;-webkit-user-select:none}.mobile-nav-btn:first-child{margin-left:auto}.mobile-nav-btn:last-child{margin-right:auto}.mobile-nav-btn.active{color:#fff;background:#ffffff14}.mobile-nav-btn.active .mobile-nav-icon{color:var(--accent-primary)}.mobile-nav-icon{transition:transform .15s ease}.mobile-nav-btn:active .mobile-nav-icon{transform:scale(.9)}.mobile-nav-label{font-size:.68rem;font-weight:700;letter-spacing:.01em}.player-bar{position:fixed!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;left:10px!important;right:10px!important;height:56px!important;border-radius:12px!important;background:#16161cf0!important;-webkit-backdrop-filter:blur(24px)!important;backdrop-filter:blur(24px)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 10px 30px #000000a6!important;padding:0 12px!important;z-index:100!important;display:flex!important;grid-template-columns:none!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important}.player-mobile-progress-bar{display:block!important;position:absolute;bottom:0;left:4px;right:4px;height:2.5px;background:var(--accent-primary);border-radius:4px;pointer-events:none}.player-bar .player-center,.player-bar .player-right,.player-bar .player-desktop-actions,.player-bar .player-timeline-wrapper,.player-bar .player-volume-wrapper{display:none!important}.player-bar .player-mobile-actions{display:flex!important;position:static!important;align-items:center!important;gap:6px!important;flex-shrink:0!important;pointer-events:auto!important}.player-bar .player-mobile-actions .mobile-mini-play-btn{width:36px;height:36px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%!important;background:#fff!important;color:#000!important;border:none;cursor:pointer;padding:0;margin-left:2px;box-shadow:0 2px 8px #00000059}.player-bar .player-mobile-actions .mobile-mini-play-btn svg{fill:#000!important;color:#000!important}.player-bar .player-left{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.player-bar .player-thumb{width:40px;height:40px;border-radius:8px;flex-shrink:0}.player-bar .player-track-info{flex:1;min-width:0}.player-bar .player-track-title{font-size:.88rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-bar .player-track-artist{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-header{flex-direction:column;align-items:center;text-align:center;gap:16px;padding:16px 8px}.view-header-img,.view-header-offline-cover,.view-header-eq-cover{width:150px;height:150px;border-radius:14px}.view-main-title{font-size:1.55rem;line-height:1.2;text-align:center}.view-header-details{align-items:center;text-align:center}.view-meta-info{justify-content:center;flex-wrap:wrap}.track-view-grid{grid-template-columns:1fr!important;gap:20px!important}.track-header{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:14px!important;margin-bottom:24px!important}.track-header .view-header-img{width:170px!important;height:170px!important;border-radius:14px!important;box-shadow:0 16px 36px #0009!important}.track-header .view-header-details{align-items:center!important;text-align:center!important;width:100%!important}.track-header .view-main-title{font-size:1.5rem!important;margin-bottom:8px!important}.track-play-cta-btn{padding:11px 26px!important;font-size:.92rem!important}.media-grid,.quick-picks-grid,.chart-grid,.cards-grid,.radio-cards-grid,.genres-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;box-sizing:border-box!important}.music-card{padding:8px!important;border-radius:10px!important;min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.music-card .card-thumb-wrapper{position:relative!important;width:100%!important;aspect-ratio:1 / 1!important;height:auto!important;margin-bottom:6px!important;border-radius:8px!important;overflow:hidden!important;background:var(--bg-elevated)!important}.music-card .card-thumb{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important}.music-card .card-title{font-size:.82rem!important;font-weight:700!important;margin-bottom:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;width:100%!important}.music-card .card-subtitle{font-size:.72rem!important;color:var(--text-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;width:100%!important}.hero-banner{padding:20px 18px!important;margin-bottom:24px!important;border-radius:16px!important;gap:14px!important;flex-direction:column!important;align-items:flex-start!important}.hero-visual{display:none!important}.hero-title{font-size:1.4rem!important;margin-bottom:6px!important;line-height:1.25!important}.hero-title br{display:none!important}.hero-desc{font-size:.82rem!important;line-height:1.4!important;margin-bottom:14px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.hero-actions{gap:8px!important;width:100%!important}.hero-btn-primary{padding:9px 18px!important;font-size:.84rem!important}.hero-btn-secondary{padding:9px 14px!important;font-size:.84rem!important}.track-row{display:grid!important;grid-template-columns:24px 1fr auto!important;align-items:center!important;padding:8px 4px!important;gap:8px!important}.tracklist-header-wrapper,.track-row .track-album,.track-row .track-date-added,.track-row .track-duration,.track-row .track-desktop-play{display:none!important}.track-row .track-main-info{min-width:0;overflow:hidden;display:flex;align-items:center;gap:10px}.track-row .track-thumb{width:42px;height:42px;border-radius:6px;flex-shrink:0}.track-row .track-title-box{min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:2px}.track-row .track-title{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.track-row .track-artist{font-size:.76rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.track-row .track-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:2px!important;flex-shrink:0!important;opacity:1!important}.modal-card,.playlist-modal-card,.confirm-modal-card,.notif-modal-card{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;width:100%!important;max-width:100%!important;border-radius:22px 22px 0 0!important;animation:slideUpModal .28s cubic-bezier(.2,.8,.2,1)!important;max-height:82vh!important;z-index:22000!important;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}.notif-modal-overlay{padding:0!important;align-items:flex-end!important;justify-content:center!important;background:#000000bf!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:21999!important}.mobile-sheet-drag-handle-wrap{display:flex!important;align-items:center;justify-content:center;padding-top:10px;padding-bottom:2px;width:100%}.mobile-sheet-drag-handle{width:38px;height:4.5px;border-radius:4px;background:#ffffff40}.notif-modal-header{padding:12px 16px!important}.notif-item{padding:12px 14px!important;gap:12px!important}.notif-item-title{font-size:.88rem!important}.notif-item-message{font-size:.78rem!important;line-height:1.35!important}.playlist-modal-overlay{z-index:21000!important}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-playlist-popover-overlay{background:#000000bf!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;z-index:20000!important}.add-playlist-modal-card{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0!important;max-height:75vh!important;z-index:20001!important;animation:slideUpModal .28s cubic-bezier(.2,.8,.2,1)!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}.playlist-modal-grid{display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important}.playlist-modal-cover-wrap{width:120px!important;height:120px!important;margin:0 auto!important}.playlist-modal-inputs{width:100%!important;gap:12px!important}.playlist-form-input,.playlist-form-textarea{font-size:1rem!important;width:100%!important;box-sizing:border-box!important}.auth-unified-container{padding:12px 6px 36px!important;min-height:auto!important}.auth-card-unified{padding:24px 18px!important;border-radius:18px!important;max-width:100%!important}.auth-brand-icon-box{width:46px!important;height:46px!important;margin-bottom:10px!important}.auth-title{font-size:1.4rem!important}.auth-subtitle{font-size:.8rem!important;max-width:100%!important}.auth-tabs-unified{margin-bottom:18px!important}.auth-tab-pill{padding:8px 12px!important;font-size:.82rem!important}.auth-form-unified{gap:13px!important}.auth-input-field-wrap input{font-size:16px!important;padding:10px 38px!important}.auth-submit-btn-unified{height:44px!important;font-size:.9rem!important}.auth-modal-backdrop{padding:10px!important;align-items:center!important}.auth-modal-dialog{padding:24px 18px 20px!important;border-radius:20px!important;max-height:90vh!important;max-width:100%!important}}.eq-page-container{display:flex;flex-direction:column;gap:28px}.eq-hero-cover{background:linear-gradient(135deg,#10b981,#047857)!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 12px 32px #10b98140!important}.eq-hero-icon{color:#000}.eq-current-track-badge{color:var(--accent-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.eq-btn-active{background:var(--accent-primary)!important;color:#000!important;border-radius:var(--radius-full)!important;font-weight:700!important;box-shadow:0 4px 16px #10b98159!important}.eq-btn-bypassed{background:#ffffff14!important;color:var(--text-muted)!important;border-radius:var(--radius-full)!important;font-weight:600!important}.eq-btn-bypassed:hover{background:#ffffff1f!important;color:#fff!important}.eq-content-body{display:flex;flex-direction:column;gap:20px}.eq-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:22px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all .2s ease}.eq-card:hover{border-color:#ffffff1a}.eq-card.is-disabled{opacity:.45;pointer-events:none}.eq-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.eq-card-tag{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.eq-card-helper{font-size:.78rem;color:var(--text-muted)}.eq-presets-pills-row{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.eq-pill{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-full);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s ease}.eq-pill:hover{background:#ffffff1a;color:#fff}.eq-pill.selected{background:#10b98126;border-color:var(--accent-primary);color:var(--accent-primary);font-weight:700}.eq-pill.selected.custom{background:#a855f726;border-color:#a855f7;color:#c084fc}.eq-faders-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:12px;padding:10px 0}.eq-fader-item{display:flex;flex-direction:column;align-items:center;gap:12px}.eq-db-badge{font-size:.72rem;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums;height:16px;transition:color .15s ease}.eq-db-badge.active{color:var(--accent-primary)}.eq-custom-fader-track{height:160px;width:32px;display:flex;justify-content:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;outline:none}.eq-custom-fader-track:before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 2px);width:4px;border-radius:4px;background:#ffffff26;transition:background .15s ease}.eq-custom-fader-track:hover:before{background:#ffffff40}.eq-custom-fader-track.disabled{opacity:.4;cursor:not-allowed}.eq-center-guideline{position:absolute;top:50%;left:2px;right:2px;height:1px;background:#fff3;pointer-events:none}.eq-fader-fill{position:absolute;left:calc(50% - 2px);width:4px;background:var(--accent-primary);border-radius:4px;pointer-events:none;transition:height .05s ease}.eq-fader-thumb{position:absolute;left:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0009;pointer-events:none;transition:transform .1s ease,box-shadow .1s ease}.eq-custom-fader-track:hover .eq-fader-thumb,.eq-custom-fader-track:active .eq-fader-thumb{transform:scale(1.2);box-shadow:0 0 10px #10b98180}.eq-freq-badge{font-size:.72rem;font-weight:700;color:var(--text-muted)}.eq-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.eq-booster-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.eq-booster-title-wrap{display:flex;align-items:center;gap:8px}.eq-booster-name{font-size:.95rem;font-weight:700;color:#fff}.eq-booster-val{font-size:.86rem;font-weight:800;color:var(--accent-primary)}.eq-booster-sub{font-size:.78rem;color:var(--text-muted);margin:0 0 12px}.eq-h-slider{height:4px;margin-top:4px}.queue-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:20000;pointer-events:auto}.queue-modal-card{position:fixed;bottom:90px;right:24px;width:360px;max-width:calc(100vw - 32px);max-height:500px;background:#181818;border-radius:10px;box-shadow:0 16px 48px #000000f2,0 0 0 1px #ffffff1f;overflow:hidden;display:flex;flex-direction:column;z-index:20001;animation:authSlideUp .16s cubic-bezier(.16,1,.3,1)}.queue-header{padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:10px}.queue-header-left{display:flex;align-items:center;gap:8px}.queue-title{font-size:1rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.queue-badge-count{font-size:.72rem;font-weight:700;color:var(--text-dim);background:#ffffff14;padding:1px 7px;border-radius:var(--radius-full)}.queue-header-right{display:flex;align-items:center;gap:6px}.queue-action-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:20px;color:var(--text-muted);font-size:.74rem;font-weight:600;cursor:pointer;transition:all .15s ease}.queue-action-pill:hover{background:#ffffff24;color:#fff}.queue-action-pill.active{background:#10b98126;border-color:#10b98166;color:#fff}.queue-status-dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;transition:background .15s ease}.queue-status-dot.on{background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary)}.queue-icon-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.queue-icon-btn:hover{background:#ffffff1a;color:#fff}.queue-icon-btn.danger:hover{background:#ef444426;color:#ef4444}.queue-content-list{padding:10px 10px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;max-height:440px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.queue-content-list::-webkit-scrollbar{width:6px}.queue-content-list::-webkit-scrollbar-track{background:transparent}.queue-content-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.queue-content-list::-webkit-scrollbar-thumb:hover{background:#ffffff59}.queue-group{display:flex;flex-direction:column;gap:4px}.queue-group-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px 4px}.queue-group-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:0 6px}.queue-group-count{font-size:.72rem;color:var(--text-dim);font-weight:600}.queue-now-playing-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.queue-thumb-img{width:38px;height:38px;border-radius:4px;object-fit:cover;flex-shrink:0}.queue-info-col{display:flex;flex-direction:column;overflow:hidden;flex:1;min-width:0}.queue-song-title{font-size:.84rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-song-title.active{color:var(--accent-primary);font-weight:700}.queue-song-artist{font-size:.74rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-equalizer-bars{display:flex;align-items:flex-end;gap:2px;height:14px;padding-right:4px}.queue-equalizer-bars .eq-bar{width:2.5px;height:4px;background:var(--accent-primary);border-radius:1px}.queue-equalizer-bars .eq-bar.running:nth-child(1){animation:eqBounce .8s ease-in-out infinite alternate}.queue-equalizer-bars .eq-bar.running:nth-child(2){animation:eqBounce 1.1s ease-in-out infinite alternate .2s}.queue-equalizer-bars .eq-bar.running:nth-child(3){animation:eqBounce .7s ease-in-out infinite alternate .4s}.queue-upcoming-list{display:flex;flex-direction:column;gap:2px}.queue-track-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .15s ease;position:relative}.queue-track-row:hover{background:#ffffff14}.queue-track-num{font-size:.72rem;font-weight:700;color:var(--text-dim);width:16px;text-align:center;flex-shrink:0}.queue-track-cover-wrap{width:36px;height:36px;border-radius:4px;position:relative;overflow:hidden;flex-shrink:0}.queue-track-play-hover{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.queue-track-row:hover .queue-track-play-hover{opacity:1}.queue-song-duration{font-size:.72rem;color:var(--text-dim);font-weight:600}.queue-remove-btn{width:24px;height:24px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:var(--text-dim);cursor:pointer;opacity:0;transition:all .15s ease}.queue-track-row:hover .queue-remove-btn{opacity:1}.queue-remove-btn:hover{background:#ef444433;color:#ef4444}.queue-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 14px;text-align:center;gap:6px}.queue-empty-text{font-size:.88rem;font-weight:700;color:#fff;margin:0}.queue-empty-hint{font-size:.76rem;color:var(--text-muted);max-width:240px}@media(max-width:768px){.queue-modal-card{right:0;left:0;bottom:0;width:100vw;max-width:100vw;border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:70vh}}@media(max-width:768px){.eq-faders-grid{grid-template-columns:repeat(5,1fr);row-gap:24px}.eq-two-cols{grid-template-columns:1fr}}.view-header-wrapped-cover{width:190px;height:190px;min-width:190px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary-hover),var(--accent-primary));display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px #00000073;position:relative;overflow:hidden;transition:all .28s ease}.view-header-wrapped-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 70%);pointer-events:none}.wrapped-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}.wrapped-kpi-card{background:#181818;border-radius:var(--radius-md);padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.05);transition:background .2s ease,transform .2s ease,border-color .2s ease;min-height:110px}.wrapped-kpi-card:hover{background:#222;border-color:#ffffff1f;transform:translateY(-2px)}.wrapped-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wrapped-kpi-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.wrapped-kpi-icon{color:var(--text-muted);opacity:.85}.wrapped-kpi-value{font-size:1.85rem;font-weight:900;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:4px}.wrapped-kpi-sub{font-size:.76rem;color:var(--text-dim);font-weight:500}.wrapped-hourly-chart{display:flex;align-items:flex-end;gap:4px;height:95px;padding-top:10px;margin-bottom:12px}.hourly-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.hourly-bar-fill{width:100%;min-height:4px;background:#ffffff29;border-radius:2px;transition:height .3s ease,background .2s ease}.hourly-bar-fill.peak{background:var(--accent-primary);box-shadow:0 0 10px #10b98166}.hourly-label{position:absolute;bottom:-18px;font-size:.65rem;color:var(--text-dim);font-weight:700}.wrapped-empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;gap:14px}.wrapped-empty-title{font-size:1.4rem;font-weight:800;color:#fff;margin:0}.wrapped-empty-desc{font-size:.92rem;color:var(--text-muted);max-width:480px;line-height:1.5}.wrapped-header-actions{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.wrapped-play-top-btn{padding:10px 22px;font-size:.92rem;flex-shrink:0;display:inline-flex;align-items:center;gap:8px}.wrapped-filter-pills{display:flex;align-items:center;gap:6px;overflow-x:auto;max-width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wrapped-filter-pills::-webkit-scrollbar{display:none}.wrapped-filter-pills .library-pill{flex-shrink:0;white-space:nowrap;font-size:.82rem;padding:6px 14px}@media(max-width:1024px){.wrapped-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.view-header-wrapped-cover{width:130px;height:130px;min-width:130px;margin:0 auto}.wrapped-header-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:14px;box-sizing:border-box}.wrapped-play-top-btn{width:100%;justify-content:center;padding:12px 18px;font-size:.94rem;box-sizing:border-box}.wrapped-filter-pills{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:2px;box-sizing:border-box}.wrapped-filter-pills .library-pill{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 6px;font-size:.8rem;box-sizing:border-box;white-space:nowrap}.wrapped-kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.wrapped-kpi-card{padding:14px 16px;min-height:95px}.wrapped-kpi-value{font-size:1.45rem}}@media(max-width:480px){.wrapped-kpi-grid{grid-template-columns:1fr}}.topbar-right-controls{display:flex;align-items:center;gap:10px}.topbar-jam-btn{background:transparent;border:none;color:var(--text-muted);padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:color .15s ease,transform .15s ease;position:relative}.topbar-jam-btn:hover{color:#fff;transform:scale(1.08)}.topbar-jam-btn.active{color:var(--accent-primary)}.topbar-jam-icon{flex-shrink:0;transition:transform .2s ease}.topbar-jam-dot-badge{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary);animation:pulseDot 1.4s infinite ease-in-out}.topbar-notif-btn{background:transparent;border:none;color:var(--text-muted);padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:color .15s ease,transform .15s ease;position:relative}.topbar-notif-btn:hover{color:#fff;transform:scale(1.08)}.topbar-notif-btn.active{color:var(--accent-primary)}.topbar-notif-icon{flex-shrink:0;transition:transform .2s ease}.topbar-notif-count-badge{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--accent-primary);color:#000;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #10b98166;line-height:1;border:2px solid #000000;animation:badgePop .25s cubic-bezier(.16,1,.3,1)}@keyframes badgePop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.notif-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:99998;display:flex;align-items:flex-start;justify-content:flex-end;padding:64px 32px 32px;animation:authFadeIn .15s ease-out}.notif-modal-card{width:100%;max-width:420px;max-height:calc(100vh - 90px);background:#181922;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 24px 60px #000000e0,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;overflow:hidden;animation:notifSlideDown .2s cubic-bezier(.16,1,.3,1)}.mobile-sheet-drag-handle-wrap{display:none}@keyframes notifSlideDown{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff05}.notif-modal-title-wrap{display:flex;align-items:center;gap:8px}.notif-header-bell{color:var(--accent-primary)}.notif-modal-title{font-size:1.05rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.01em}.notif-badge-pill{padding:2px 7px;border-radius:12px;background:#10b9812e;border:1px solid rgba(16,185,129,.3);color:var(--accent-primary);font-size:.72rem;font-weight:800}.notif-modal-header-actions{display:flex;align-items:center;gap:8px}.notif-mark-all-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);border-radius:20px;padding:5px 10px;font-size:.76rem;font-weight:600;display:flex;align-items:center;gap:5px;cursor:pointer;transition:all .15s ease}.notif-mark-all-btn:hover{background:#ffffff1f;color:#fff;border-color:#ffffff29}.notif-modal-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.notif-modal-close:hover{background:#ffffff1a;color:#fff}.notif-modal-list{display:flex;flex-direction:column;overflow-y:auto;padding:8px;gap:4px}.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;background:transparent;border:1px solid transparent;cursor:pointer;transition:all .18s ease;position:relative}.notif-item:hover{background:#ffffff0d;border-color:#ffffff0f}.notif-item.unread{background:#10b9810f;border-color:#10b98124}.notif-item.unread:hover{background:#10b9811a}.notif-item-left{flex-shrink:0;padding-top:2px}.notif-icon-bubble{width:36px;height:36px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center}.notif-type-icon.announcement{color:#f59e0b}.notif-type-icon.jam{color:var(--accent-primary)}.notif-type-icon.music,.notif-type-icon.playlist{color:#38bdf8}.notif-type-icon.system{color:#a855f7}.notif-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notif-item-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.notif-item-title{font-size:.92rem;font-weight:700;color:#fff;margin:0}.notif-item-time{font-size:.72rem;color:var(--text-dim);white-space:nowrap;font-weight:500}.notif-item-message{font-size:.82rem;color:var(--text-muted);line-height:1.45;margin:0}.notif-item-action-link{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;color:var(--accent-primary);margin-top:4px}.notif-item-action-link:hover{text-decoration:underline}.notif-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary);flex-shrink:0;margin-top:6px}.notif-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px}.notif-empty-icon-wrap{width:56px;height:56px;border-radius:50%;background:#ffffff0a;color:var(--text-dim);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.notif-empty-title{font-size:1rem;font-weight:700;color:#fff;margin:0}.notif-empty-desc{font-size:.82rem;color:var(--text-muted);max-width:260px;line-height:1.4;margin:0}.jam-live-dot-pill{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;color:var(--accent-primary);letter-spacing:.04em}.jam-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary);animation:pulseDot 1.2s infinite ease-in-out}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.jam-error-banner{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 14px;border-radius:var(--radius-md);font-size:.82rem;font-weight:600}.jam-hero-room-card{background:linear-gradient(145deg,#1c1c1c,#151515);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px #0006}.jam-hero-room-top{display:flex;align-items:center;justify-content:space-between}.jam-live-pulse-badge{display:inline-flex;align-items:center;gap:6px;background:#10b9811f;border:1px solid rgba(16,185,129,.25);padding:3px 8px;border-radius:var(--radius-full);font-size:.68rem;font-weight:800;color:var(--accent-primary);letter-spacing:.05em}.jam-hero-room-code-row{display:flex;align-items:center;justify-content:space-between}.jam-hero-room-code{font-size:1.65rem;font-weight:900;color:#fff;letter-spacing:.09em;font-family:inherit;line-height:1.1}.jam-hero-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.jam-hero-btn:hover{background:#ffffff24;color:#fff;transform:scale(1.06)}.jam-hero-btn.active{background:#10b98133;border-color:var(--accent-primary);color:var(--accent-primary)}.jam-hero-qr-drawer{margin-top:4px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeIn .2s ease}.jam-qr-img-preview{width:130px;height:130px;border-radius:8px;background:#181818;padding:4px;border:1px solid rgba(255,255,255,.1)}.jam-now-playing-card{background:#181818;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:10px 12px;display:flex;align-items:center;gap:12px}.jam-now-playing-thumb-wrap{position:relative;width:44px;height:44px;border-radius:6px;overflow:hidden;flex-shrink:0}.jam-now-playing-thumb{width:100%;height:100%;object-fit:cover}.jam-now-playing-eq{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding-bottom:6px}.jam-now-playing-eq span{width:3px;background:var(--accent-primary);border-radius:2px;animation:eqBounce .8s infinite ease-in-out alternate}.jam-now-playing-eq span:nth-child(1){height:6px;animation-delay:.1s}.jam-now-playing-eq span:nth-child(2){height:12px;animation-delay:.3s}.jam-now-playing-eq span:nth-child(3){height:8px;animation-delay:.2s}.jam-now-playing-info{display:flex;flex-direction:column;overflow:hidden;flex:1}.jam-now-playing-title{font-size:.86rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jam-now-playing-artist{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.jam-reactions-pill-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.jam-reaction-pill{background:#181818;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:8px 0;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1)}.jam-reaction-pill:hover{transform:translateY(-3px) scale(1.15);background:#242424;border-color:#fff3}.jam-reaction-pill:active{transform:scale(.92)}.jam-participants-stack{display:flex;flex-direction:column;gap:6px}.jam-user-row{background:#181818;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);padding:8px 12px;display:flex;align-items:center;gap:10px}.jam-user-avatar-wrap{position:relative;width:34px;height:34px;flex-shrink:0}.jam-user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jam-user-avatar-initial{width:100%;height:100%;border-radius:50%;background:var(--accent-primary);color:#000;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.84rem}.jam-user-online-dot{position:absolute;bottom:0;right:0;width:8px;height:8px;border-radius:50%;background:var(--accent-primary);border:1.5px solid #181818}.jam-user-info-col{display:flex;flex-direction:column;flex:1;overflow:hidden}.jam-user-name-line{display:flex;align-items:center;gap:6px}.jam-user-display-name{font-size:.84rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jam-host-crown-badge{display:inline-flex;align-items:center;gap:3px;background:#eab30826;border:1px solid rgba(234,179,8,.35);color:#facc15;font-size:.64rem;font-weight:800;padding:1px 6px;border-radius:var(--radius-full)}.jam-user-status-text{font-size:.72rem;color:var(--text-dim)}.jam-user-eq-mini{display:flex;align-items:flex-end;gap:1.5px;height:10px}.jam-user-eq-mini span{width:2px;background:var(--accent-primary);border-radius:1px;animation:eqBounce .8s infinite ease-in-out alternate}.jam-user-eq-mini span:nth-child(1){height:4px;animation-delay:.1s}.jam-user-eq-mini span:nth-child(2){height:9px;animation-delay:.3s}.jam-user-eq-mini span:nth-child(3){height:6px;animation-delay:.2s}.jam-queue-stack{display:flex;flex-direction:column;gap:6px}.jam-queue-row{background:#181818;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);padding:8px 10px;display:flex;align-items:center;gap:10px}.jam-queue-row-thumb{width:36px;height:36px;border-radius:4px;object-fit:cover;flex-shrink:0}.jam-queue-row-info{display:flex;flex-direction:column;flex:1;overflow:hidden}.jam-queue-row-title{font-size:.82rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jam-queue-row-added{font-size:.7rem;color:var(--text-muted)}.jam-queue-row-del{color:var(--text-dim);padding:4px;cursor:pointer;transition:color .15s ease}.jam-queue-row-del:hover{color:#ef4444}.jam-empty-queue-hint{border:1px dashed rgba(255,255,255,.1);border-radius:var(--radius-md);padding:16px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:var(--text-dim);font-size:.76rem;line-height:1.4}.jam-host-settings-card{background:#181818;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;justify-content:space-between}.jam-toggle-btn{width:38px;height:22px;border-radius:var(--radius-full);background:#ffffff26;border:none;cursor:pointer;position:relative;transition:background .2s ease;padding:2px}.jam-toggle-btn.active{background:var(--accent-primary)}.jam-toggle-slider{width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.16,1,.3,1);transform:translate(0)}.jam-toggle-btn.active .jam-toggle-slider{transform:translate(16px)}.jam-footer-leave-zone{margin-top:4px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.jam-leave-btn-danger{width:100%;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#f87171;padding:11px 18px;border-radius:var(--radius-full);font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1)}.jam-leave-btn-danger:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 16px #ef44444d}.jam-leave-btn-danger:active{transform:scale(.98)}.jam-floating-reactions-overlay{position:fixed;bottom:110px;right:400px;pointer-events:none;z-index:10000;display:flex;flex-direction:column;gap:12px;align-items:flex-end}@media(max-width:1024px){.jam-floating-reactions-overlay{right:20px;bottom:130px}}.jam-floating-bubble{background:#181818e6;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 14px;border-radius:var(--radius-full);display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px #00000080;animation:floatUpReaction 3.5s forwards cubic-bezier(.16,1,.3,1)}.jam-floating-emoji{font-size:1.5rem}.jam-floating-sender{font-size:.78rem;font-weight:700;color:#fff}@keyframes floatUpReaction{0%{opacity:0;transform:translateY(20px) scale(.7)}15%{opacity:1;transform:translateY(0) scale(1.08)}25%{transform:translateY(-5px) scale(1)}80%{opacity:1;transform:translateY(-30px)}to{opacity:0;transform:translateY(-60px) scale(.8)}}.topbar-install-pwa-btn{display:flex;align-items:center;gap:7px;background:var(--accent-primary);border:none;color:#000;font-size:.82rem;font-weight:700;padding:6px 14px;border-radius:var(--radius-full);cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #00000040}.topbar-install-pwa-btn:hover{background:var(--accent-primary-hover);color:#000;transform:translateY(-1px) scale(1.03);box-shadow:0 4px 12px #00000059}@media(max-width:768px){.topbar-install-text{display:none}.topbar-install-pwa-btn{width:36px;height:36px;padding:0;border-radius:50%;background:#ffffff14;border:1px solid var(--border-subtle);color:var(--text-main, #ffffff);display:flex;align-items:center;justify-content:center;box-shadow:none}.topbar-install-pwa-btn:hover{background:#ffffff24;border-color:var(--border-active);color:var(--accent-primary);transform:scale(1.05);box-shadow:0 4px 12px #0000004d}}.sidebar-install-footer{padding:12px 14px;border-top:1px solid rgba(255,255,255,.06);margin-top:auto}.sidebar-install-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#000;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000040}.sidebar-install-btn:hover{background:var(--accent-primary-hover);color:#000;transform:translateY(-1px) scale(1.02);box-shadow:0 4px 12px #00000059}.sidebar-install-btn .sidebar-install-icon{color:currentColor;transition:transform .2s ease;flex-shrink:0}.account-page-view{padding-bottom:48px}.account-header{margin-bottom:32px;gap:28px}.account-avatar-wrapper{position:relative;width:170px;height:170px;min-width:170px;min-height:170px;border-radius:50%;overflow:hidden;flex-shrink:0;border:3px solid rgba(255,255,255,.12);box-shadow:0 16px 40px #0009;cursor:pointer;background:var(--bg-elevated)}.account-avatar-img{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.account-header-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.account-wrapped-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-full);background:var(--accent-primary);border:none;color:#000;font-weight:700;font-size:.84rem;cursor:pointer;box-shadow:0 2px 8px #00000040;transition:all .2s cubic-bezier(.16,1,.3,1)}.account-wrapped-btn:hover{background:var(--accent-primary-hover);color:#000;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #00000059}.account-header-logout-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-full);background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:700;font-size:.84rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.account-header-logout-btn:hover{border-color:#ef444480;color:#f87171;background:#ef44441f;transform:translateY(-2px)}.account-native-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.account-forms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:40px}.account-status-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:.86rem;font-weight:600}.account-status-alert.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399}.account-status-alert.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171}.account-form{display:flex;flex-direction:column}.account-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;width:100%}.account-form-group label{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.account-input-wrap{position:relative;display:flex;align-items:center;width:100%}.account-input-icon{position:absolute;left:14px;color:var(--text-dim);pointer-events:none;flex-shrink:0;z-index:2}.account-input{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:12px 42px;color:#fff;font-size:.92rem;outline:none;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.account-input:focus{background:#ffffff14;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.account-password-toggle{position:absolute;right:10px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease;z-index:2}.account-password-toggle:hover{color:#fff}.account-logout-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 32px;border-radius:var(--radius-full);background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .2s ease}.account-logout-btn:hover{border-color:#fff;background:#ffffff14;transform:scale(1.02)}@media(max-width:768px){.account-header{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:16px!important;margin-bottom:24px!important}.account-avatar-wrapper{width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important;margin:0 auto!important}.account-header .view-header-details{align-items:center!important;text-align:center!important;width:100%!important}.account-header-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;max-width:360px!important;margin:16px auto 0!important}.account-wrapped-btn,.account-header-logout-btn{flex:1 1 0!important;min-width:0!important;padding:8px 6px!important;font-size:.76rem!important;justify-content:center!important;white-space:nowrap!important}.account-native-grid{grid-template-columns:1fr!important;gap:10px!important}.account-forms-grid{grid-template-columns:1fr!important;gap:20px!important}.account-forms-grid .music-card{padding:16px!important}}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-bottom-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}.spotify-offline-banner{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;font-size:.84rem;font-weight:600;z-index:1000;box-shadow:0 4px 16px #0006;transition:all .25s cubic-bezier(.16,1,.3,1);animation:bannerSlideDown .25s cubic-bezier(.16,1,.3,1)}.spotify-offline-banner.offline{background:var(--bg-main, #0c0d12);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}.spotify-offline-banner.online{background:#1db954;color:#000;justify-content:center;font-weight:700}.spotify-offline-content{display:flex;align-items:center;gap:8px}.spotify-offline-icon{flex-shrink:0}.spotify-offline-icon.warning{color:#3b82f6}.spotify-offline-title{font-weight:700}.spotify-offline-separator{opacity:.4;font-size:.75rem}.spotify-offline-subtitle{color:var(--text-muted)}.spotify-offline-banner.online .spotify-offline-subtitle{color:#000c}.spotify-offline-right{display:flex;align-items:center;gap:12px}.spotify-offline-cta{display:flex;align-items:center;gap:6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-size:.76rem;font-weight:700;cursor:pointer;transition:all .15s ease}.spotify-offline-cta:hover{background:#fff3;transform:scale(1.02)}.spotify-offline-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.spotify-offline-close:hover{color:#fff}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.spotify-offline-banner{padding:7px 12px;font-size:.76rem}.spotify-offline-subtitle,.spotify-offline-separator{display:none}.spotify-offline-cta{padding:3px 8px;font-size:.72rem}}.announcement-popup-overlay{z-index:10000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000000c7;animation:fadeIn .25s cubic-bezier(.16,1,.3,1)}.announcement-popup-card{max-width:480px;width:90%;background:linear-gradient(145deg,#181818,#111);border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;box-shadow:0 24px 64px #000c,0 0 0 1px #ffffff0d;animation:modalScaleUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.ann-popup-banner{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 10px}.ann-popup-icon-badge{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#10b98133,#065f461a);border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;justify-content:center;color:var(--accent-primary, #10b981)}.ann-popup-close-btn{background:#ffffff14;border:none;color:var(--text-muted);width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ann-popup-close-btn:hover{background:#ffffff29;color:#fff;transform:scale(1.06)}.ann-popup-body{padding:10px 24px 20px;display:flex;flex-direction:column;gap:12px}.ann-popup-counter{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:600;color:var(--accent-primary, #10b981);text-transform:uppercase;letter-spacing:.06em}.ann-popup-dots{display:flex;align-items:center;gap:6px}.ann-dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:all .25s ease}.ann-dot.active{width:18px;border-radius:6px;background:var(--accent-primary, #10b981)}.ann-popup-title{font-size:1.35rem;font-weight:800;color:#fff;line-height:1.25;margin:0}.ann-popup-message{font-size:.95rem;line-height:1.55;color:#d1d5db;margin:0;white-space:pre-wrap}.ann-popup-image-wrapper{margin-top:6px;border-radius:12px;overflow:hidden;max-height:200px;border:1px solid rgba(255,255,255,.08)}.ann-popup-image{width:100%;height:100%;object-fit:cover}.ann-popup-footer{padding:16px 24px;background:#00000059;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:12px}.ann-popup-link-btn{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;padding:10px 18px;border-radius:50px}.ann-popup-next-btn{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;padding:10px 22px;border-radius:50px;background:var(--accent-primary, #10b981);color:#000;margin-left:auto;border:none;cursor:pointer;transition:all .2s ease}.ann-popup-next-btn:hover{transform:scale(1.03);filter:brightness(1.1)}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.admin-stat-card{background:var(--bg-card, #181920)!important;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08))!important;border-radius:var(--radius-lg, 16px)!important;padding:22px 24px!important;display:flex;align-items:center;gap:18px;box-shadow:0 8px 24px #00000059;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all .25s cubic-bezier(.2,.8,.2,1)}.admin-stat-card:hover{background:var(--bg-card-hover, #20222c)!important;border-color:#ffffff29!important;transform:translateY(-3px);box-shadow:0 12px 32px #00000080}.admin-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-stat-icon.users{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.admin-stat-icon.playlists{background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.admin-stat-icon.plays{background:#10b98126;color:var(--accent-primary, #10b981);border:1px solid rgba(16,185,129,.3)}.admin-stat-icon.cache{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.admin-stat-info{display:flex;flex-direction:column;gap:2px}.admin-stat-label{font-size:.78rem;font-weight:700;color:var(--text-muted, #a7a7a7);text-transform:uppercase;letter-spacing:.06em}.admin-stat-value{font-size:1.75rem;font-weight:800;color:#fff;line-height:1.2}.admin-stat-sub{font-size:.8rem;color:var(--text-dim, #727272);margin-top:2px}.admin-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;width:100%}.admin-charts-grid.charts-top-charts{grid-template-columns:1.4fr 1fr}@media(max-width:960px){.admin-charts-grid,.admin-charts-grid.charts-top-charts{grid-template-columns:1fr!important}}.admin-section-card{background:var(--bg-card, #181920);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:var(--radius-lg, 16px);padding:24px 28px;box-shadow:0 8px 24px #00000059;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:0;overflow:hidden}@media(max-width:768px){.admin-section-card{padding:16px 14px;border-radius:14px}}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.admin-section-header h3{font-size:1.2rem;font-weight:800;color:#fff;margin:0}.admin-table-wrapper{overflow-x:auto;margin-top:8px}.admin-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left}.admin-table th{padding:14px 16px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim, #727272);border-bottom:1px solid rgba(255,255,255,.08)}.admin-table td{padding:16px;font-size:.9rem;color:var(--text-main, #ffffff);border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;position:relative}.admin-table tr{transition:background .15s ease}.admin-table tbody tr:hover td{background:#ffffff08}@media(max-width:768px){.admin-table-wrapper{overflow-x:visible}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%;box-sizing:border-box}.admin-table thead{display:none}.admin-table tbody{display:flex;flex-direction:column;gap:12px}.admin-table tr{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;position:relative;box-shadow:0 4px 12px #00000040;overflow:hidden}.admin-table td{padding:0;border:none;display:flex;align-items:center;justify-content:space-between;font-size:.86rem;position:static;max-width:100%;word-break:break-word;overflow-wrap:anywhere}.admin-table td:first-child{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.94rem;padding-right:44px;max-width:100%}.admin-table td:first-child>div{max-width:100%!important;min-width:0}.admin-table td div,.admin-table td span{max-width:100%;min-width:0}.admin-table td:last-child{position:absolute;top:12px;right:12px;width:auto;justify-content:flex-end;padding-right:0}.admin-filter-bar{display:flex;flex-direction:column;align-items:stretch;gap:10px}.admin-filter-bar form{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;gap:8px!important}.admin-search-input-wrap{flex:1 1 auto!important;min-width:0!important;width:auto!important}.admin-filter-bar form .admin-btn-primary{flex:0 0 auto!important;width:auto!important;white-space:nowrap!important;padding:0 14px!important;height:42px!important}.admin-select-filter{width:100%}}.admin-table-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ffffff1a,#ffffff08);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;overflow:hidden;flex-shrink:0;color:#fff}.admin-table-avatar img{width:100%;height:100%;object-fit:cover}.admin-role-badge{display:inline-block;padding:4px 10px;border-radius:50px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-role-badge.admin{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.35)}.admin-role-badge.mod{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.admin-role-badge.user{background:#ffffff0f;color:var(--text-muted, #a7a7a7);border:1px solid rgba(255,255,255,.1)}.admin-role-select{background:var(--bg-card-hover, #242630);border:1px solid var(--border-subtle, rgba(255, 255, 255, .12));color:#fff;padding:7px 12px;border-radius:var(--radius-sm, 8px);font-size:.82rem;font-weight:600;outline:none;cursor:pointer;transition:border-color .2s ease}.admin-role-select:hover{border-color:#ffffff40}.admin-role-select:focus{border-color:var(--accent-primary, #10b981)}.admin-user-menu-wrap{position:relative;display:inline-flex;z-index:50}.admin-user-dots-btn{background:transparent;border:1px solid transparent;color:var(--text-muted, #a7a7a7);width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease}.admin-user-dots-btn:hover,.admin-user-dots-btn.active{background:#ffffff1a;color:#fff;border-color:#ffffff26}.admin-user-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:#1e1f26;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 18px 40px #000000d9,0 0 0 1px #ffffff0f;min-width:170px;padding:6px;z-index:9999;display:flex;flex-direction:column;gap:2px;animation:authSlideUp .15s cubic-bezier(.16,1,.3,1)}.admin-user-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:transparent;border:none;color:var(--text-main, #ffffff);font-size:.86rem;font-weight:600;cursor:pointer;width:100%;text-align:left;transition:all .15s ease}.admin-user-dropdown-item:hover{background:#ffffff14}.admin-user-dropdown-item.danger{color:#f87171}.admin-user-dropdown-item.danger:hover{background:#ef444426;color:#ef4444}.admin-user-dropdown-divider{height:1px;background:#ffffff14;margin:4px 0}.admin-profile-modal-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:24px}@media(max-width:768px){.admin-profile-modal-grid{grid-template-columns:1fr;gap:18px}}.btn-icon-danger{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#ef4444;padding:8px;border-radius:var(--radius-sm, 8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease}.btn-icon-danger:hover{background:#ef444440;transform:scale(1.08)}.admin-filter-bar{display:flex;align-items:center;gap:14px}.admin-search-input-wrap{display:flex;align-items:center;gap:10px;background:var(--bg-card, #181920);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 10px);padding:10px 16px;flex:1;transition:border-color .2s ease,box-shadow .2s ease}.admin-search-input-wrap:focus-within{border-color:var(--accent-primary, #10b981);box-shadow:0 0 0 2px #10b98133}.admin-search-input-wrap svg{color:var(--text-muted, #a7a7a7)}.admin-search-input-wrap input{background:transparent;border:none;color:#fff;font-size:.9rem;outline:none;width:100%}.admin-search-input-wrap input::placeholder{color:var(--text-dim, #727272)}.admin-select-filter{background:var(--bg-card, #181920);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 10px);color:#fff;padding:10px 16px;font-size:.88rem;font-weight:600;outline:none;cursor:pointer;transition:border-color .2s ease}.admin-select-filter:hover{border-color:#fff3}.admin-select-filter:focus{border-color:var(--accent-primary, #10b981)}.admin-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent-primary, #10b981);color:#000;border:none;padding:10px 18px;border-radius:var(--radius-full, 50px);font-size:.86rem;font-weight:700;cursor:pointer;height:40px;box-shadow:0 4px 14px #10b98140;transition:all .2s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.admin-btn-primary:hover:not(:disabled){background:var(--accent-primary-hover, #059669);color:#000;transform:scale(1.03);box-shadow:0 6px 18px #10b98166}.admin-btn-primary:active:not(:disabled){transform:scale(.97)}.admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-btn-secondary{display:inline-flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:8px 16px;border-radius:var(--radius-full, 50px);font-size:.84rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.admin-btn-secondary:hover:not(:disabled){background:#ffffff29;border-color:#ffffff40;transform:scale(1.03)}.admin-btn-secondary:active:not(:disabled){transform:scale(.97)}.admin-btn-secondary:disabled{opacity:.4;cursor:not-allowed}.admin-page-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-card-hover, #242630);border:1px solid var(--border-subtle, rgba(255, 255, 255, .1));display:flex;align-items:center;justify-content:center;color:var(--text-main, #ffffff);cursor:pointer;transition:all .2s ease}.admin-page-btn:hover:not(:disabled){background:#fff3;border-color:var(--accent-primary, #10b981);color:var(--accent-primary, #10b981);transform:scale(1.08)}.admin-page-btn:disabled{opacity:.3;cursor:not-allowed}.admin-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);font-size:.86rem;color:var(--text-muted, #a7a7a7)}.admin-alert{padding:14px 20px;border-radius:var(--radius-md, 12px);display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:600}.admin-alert.success{background:#10b9811f;border:1px solid rgba(16,185,129,.35);color:#34d399}.admin-alert.error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#f87171}.admin-charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.admin-chart-bar-container{display:flex;align-items:flex-end;gap:14px;height:180px;padding:16px 8px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-chart-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.admin-chart-bar-wrapper{width:100%;max-width:38px;height:100%;background:#ffffff08;border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.admin-chart-bar-fill{width:100%;background:linear-gradient(180deg,var(--accent-primary, #10b981),#059669);border-radius:8px 8px 2px 2px;transition:height .6s cubic-bezier(.16,1,.3,1);min-height:4px;box-shadow:0 -2px 10px #10b9814d}.admin-chart-bar-label{font-size:.74rem;font-weight:700;color:var(--text-dim, #727272);text-transform:capitalize}.admin-chart-bar-value{font-size:.76rem;font-weight:800;color:#fff}.admin-roles-progress-list{display:flex;flex-direction:column;gap:16px;margin-top:12px}.admin-role-progress-item{display:flex;flex-direction:column;gap:6px}.admin-role-progress-header{display:flex;justify-content:space-between;font-size:.84rem;font-weight:700}.admin-role-progress-track{width:100%;height:8px;background:#ffffff0f;border-radius:50px;overflow:hidden}.admin-role-progress-bar{height:100%;border-radius:50px;transition:width .8s ease}.admin-role-progress-bar.user{background:#3b82f6}.admin-role-progress-bar.mod{background:#f59e0b}.admin-role-progress-bar.admin{background:#ef4444}.admin-recent-plays-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.admin-recent-play-card{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .2s ease}.admin-recent-play-card:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translate(2px)}.admin-recent-play-thumb{width:42px;height:42px;border-radius:8px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 10px #0006}.admin-recent-play-info{display:flex;flex-direction:column;min-width:0;flex:1}.admin-recent-play-title{font-size:.88rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-recent-play-artist{font-size:.76rem;color:var(--text-muted, #a7a7a7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-recent-play-meta{font-size:.72rem;color:var(--accent-primary, #10b981);font-weight:600;margin-top:2px}.admin-dashboard-content{padding:24px 32px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box;width:100%;max-width:100%}@media(max-width:992px){.admin-charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.admin-dashboard-content{padding:12px 10px 90px!important;gap:16px}.admin-section-card{padding:16px 14px!important;border-radius:12px!important}.admin-section-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.admin-section-header h3{font-size:1.05rem!important}.admin-stats-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.admin-stat-card{padding:14px 12px!important;border-radius:12px!important;gap:10px!important}.admin-stat-icon{width:38px!important;height:38px!important;border-radius:10px!important}.admin-stat-icon svg{width:18px!important;height:18px!important}.admin-stat-value{font-size:1.3rem!important}.admin-stat-label{font-size:.68rem!important}.admin-stat-sub{font-size:.7rem!important;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.admin-chart-bar-container{height:150px!important;gap:6px!important;padding:10px 0 6px!important;overflow-x:auto}.admin-chart-bar-label{font-size:.65rem!important}.admin-chart-bar-value{font-size:.68rem!important}.admin-recent-plays-grid{grid-template-columns:1fr!important;gap:8px!important}.admin-recent-play-card{padding:8px 10px!important;gap:10px!important}.admin-recent-play-thumb{width:36px!important;height:36px!important}.admin-recent-play-title{font-size:.82rem!important}.admin-filter-bar{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.admin-filter-bar form{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;gap:6px!important}.admin-search-input-wrap{flex:1 1 auto!important;min-width:0!important;width:auto!important;padding:8px 12px!important}.admin-select-filter{width:100%!important;box-sizing:border-box!important}.admin-filter-bar form .admin-btn-primary{flex:0 0 auto!important;width:auto!important;padding:0 12px!important;font-size:.82rem!important}}.device-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:20000;display:flex;align-items:flex-end;justify-content:flex-end}@media(min-width:769px){.device-popover-overlay{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.spotify-connect-sheet{position:fixed;bottom:90px;right:24px;width:360px;max-width:calc(100vw - 32px);max-height:580px;background:#121212;border-radius:12px;box-shadow:0 16px 40px #000000f2,0 0 0 1px #ffffff14;overflow:hidden;display:flex;flex-direction:column;z-index:20001;animation:authSlideUp .18s cubic-bezier(.16,1,.3,1);font-family:inherit}@media(max-width:768px){.device-popover-overlay{background:#000000bf!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;z-index:20000!important;align-items:flex-end!important;justify-content:center!important;padding:0!important}.spotify-connect-sheet{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;width:100%!important;max-width:100%!important;background:#121212!important;border-radius:20px 20px 0 0!important;border:none!important;border-top:1px solid rgba(255,255,255,.1)!important;max-height:80vh!important;z-index:20001!important;animation:slideUpModal .28s cubic-bezier(.2,.8,.2,1)!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;box-shadow:0 -10px 40px #000c!important}}.spotify-connect-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}.spotify-connect-title{font-size:1.15rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.02em}.spotify-connect-close{background:transparent;border:none;color:#b3b3b3;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.spotify-connect-close:hover{color:#fff;background:#ffffff14}.spotify-connect-body{padding:0 16px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.spotify-main-device-card{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#1f1f1f;border-radius:10px;cursor:pointer;transition:background .15s ease}.spotify-main-device-card:hover{background:#282828}.spotify-main-device-card.active .spotify-main-device-name{color:var(--accent-primary);font-weight:700}.spotify-main-device-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.spotify-main-device-name{font-size:.96rem;font-weight:600;color:#fff;letter-spacing:-.01em}.spotify-hints-section{display:flex;flex-direction:column;gap:18px;padding-top:4px}.spotify-hints-title{font-size:.95rem;font-weight:800;color:#fff;margin:4px 0 2px;letter-spacing:-.01em}.spotify-hint-item{display:flex;align-items:flex-start;gap:16px;padding:4px 0;transition:opacity .15s ease}.spotify-hint-item:hover{opacity:.85}.spotify-hint-icon{color:#fff;flex-shrink:0;margin-top:2px}.spotify-hint-text{display:flex;flex-direction:column;gap:2px}.spotify-hint-text h5{font-size:.88rem;font-weight:700;color:#fff;margin:0;line-height:1.25}.spotify-hint-text p{font-size:.78rem;color:#a7a7a7;margin:0;line-height:1.35}.spotify-device-list-section{display:flex;flex-direction:column;gap:8px}.spotify-section-title{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#b3b3b3;margin-bottom:2px}.spotify-devices-list{display:flex;flex-direction:column;gap:4px}.spotify-device-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#181818;border-radius:8px;cursor:pointer;transition:background .15s ease}.spotify-device-row:hover{background:#242424}.spotify-device-row.active{background:#ffffff14;border-left:3px solid var(--accent-primary)}.spotify-device-row-left{display:flex;align-items:center;gap:14px;overflow:hidden}.spotify-device-row-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.spotify-device-col{display:flex;flex-direction:column;overflow:hidden}.spotify-device-row-name{font-size:.88rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-device-row.active .spotify-device-row-name{color:var(--accent-primary);font-weight:700}.spotify-device-row-sub{font-size:.72rem;color:var(--accent-primary);font-weight:600}.spotify-device-check{display:flex;align-items:center;justify-content:center;padding-right:2px}.spotify-disconnect-btn{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:.72rem;font-weight:700;padding:5px 10px;border-radius:20px;cursor:pointer;transition:all .15s ease}.spotify-disconnect-btn:hover{background:#ef44444d;color:#fff}.spotify-add-bt-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:transparent;border:1px solid #383838;border-radius:20px;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s ease}.spotify-add-bt-btn:hover:not(:disabled){border-color:#fff;background:#ffffff0d}.spotify-add-bt-btn:disabled{opacity:.5;cursor:wait}.spotify-toast{display:flex;align-items:center;gap:8px;padding:8px 14px;margin:0 16px 8px;border-radius:6px;font-size:.76rem}.spotify-toast.success{background:#1ed76026;color:#1ed760;border:1px solid rgba(30,215,96,.3)}.spotify-toast.error{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.spotify-connect-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 18px;border-top:1px solid #282828;color:#b3b3b3;font-size:.88rem;font-weight:700}.spotify-connect-footer span:hover{color:#fff;text-decoration:underline}.spotify-footer-icon{color:#b3b3b3}.playback-error-toast{position:fixed;top:max(82px,calc(env(safe-area-inset-top,0px) + 64px));left:50%;transform:translate(-50%);z-index:99999;display:flex;align-items:center;gap:12px;background:#101118f0;border:1px solid rgba(245,158,11,.3);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);padding:8px 12px 8px 14px;border-radius:14px;box-shadow:0 16px 40px #000000bf,0 0 24px #f59e0b1f;cursor:pointer;max-width:min(92vw,440px);width:max-content;animation:slideDownToast .32s cubic-bezier(.16,1,.3,1);transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,box-shadow .2s ease;user-select:none;-webkit-user-select:none}.playback-error-toast:hover{transform:translate(-50%) translateY(2px);border-color:#f59e0b8c;box-shadow:0 20px 48px #000000d9,0 0 28px #f59e0b33}.playback-error-toast:active{transform:translate(-50%) scale(.98)}@keyframes slideDownToast{0%{opacity:0;transform:translate(-50%) translateY(-14px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.playback-error-toast-icon{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#f59e0b38,#f59e0b14);border:1px solid rgba(245,158,11,.35);color:#fbbf24;display:flex;align-items:center;justify-content:center;flex-shrink:0}.playback-error-toast-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.playback-error-toast-title{font-size:.84rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;line-height:1.2}.playback-error-toast-title span.tag{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#fbbf24;background:#f59e0b26;padding:1px 5px;border-radius:4px}.playback-error-toast-subtitle{font-size:.74rem;color:var(--text-dim, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;line-height:1.3}.playback-error-toast-action{display:flex;align-items:center;gap:3px;font-size:.76rem;font-weight:700;color:#fbbf24;padding:5px 9px;border-radius:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.2);flex-shrink:0;transition:background .15s ease,border-color .15s ease}.playback-error-toast:hover .playback-error-toast-action{background:#f59e0b38;border-color:#f59e0b66}.playback-error-toast-close{background:transparent;border:none;color:#64748b;padding:5px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.playback-error-toast-close:hover{color:#fff;background:#ffffff14}.playback-error-toast.download-error{border-color:#3b82f659;box-shadow:0 16px 40px #000000bf,0 0 24px #3b82f624}.playback-error-toast.download-error:hover{border-color:#3b82f699;box-shadow:0 20px 48px #000000d9,0 0 28px #3b82f638}.playback-error-toast.download-error .playback-error-toast-icon{background:linear-gradient(135deg,#3b82f638,#3b82f614);border-color:#3b82f659;color:#60a5fa}.playback-error-toast.download-error .playback-error-toast-title span.tag{color:#60a5fa;background:#3b82f626}.playback-error-toast.download-error .playback-error-toast-action{color:#60a5fa;background:#3b82f61f;border-color:#3b82f633}.playback-error-toast.download-error:hover .playback-error-toast-action{background:#3b82f638;border-color:#3b82f666}.playback-error-btn-primary .spin{animation:spinSlow 1s linear infinite}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.playback-error-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10001;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeInModal .2s ease-out}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.playback-error-modal-card{background:#121319;border:1px solid rgba(255,255,255,.1);border-radius:18px;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #000c,0 0 30px #f59e0b1a;overflow:hidden;animation:scaleUpCard .25s cubic-bezier(.16,1,.3,1)}@keyframes scaleUpCard{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.playback-error-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.07)}.playback-error-modal-header-info{display:flex;flex-direction:column;gap:4px}.playback-error-modal-badge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#f59e0b}.playback-error-modal-title{margin:0;font-size:1.15rem;font-weight:700;color:#fff}.playback-error-modal-artist{margin:0;font-size:.84rem;color:#9ca3af}.playback-error-modal-close-btn{background:#ffffff0f;border:none;color:#9ca3af;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.playback-error-modal-close-btn:hover{background:#ffffff1f;color:#fff}.playback-error-modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.playback-error-section{display:flex;flex-direction:column}.playback-error-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:8px}.playback-error-reason-box{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:12px}.playback-error-hints-list{margin:0;padding-left:20px;color:#d1d5db;font-size:.86rem;line-height:1.5;display:flex;flex-direction:column;gap:6px}.playback-error-copy-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#9ca3af;font-size:.76rem;font-weight:600;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .15s ease}.playback-error-copy-btn:hover{background:#ffffff1f;color:#f3f4f6}.playback-error-raw-box{margin:0;padding:12px 14px;background:#090a0d;border:1px solid rgba(255,255,255,.07);border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:#38bdf8;white-space:pre-wrap;word-break:break-all;max-height:140px;overflow-y:auto}.playback-error-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid rgba(255,255,255,.07);background:#0f1015}.playback-error-btn-secondary{padding:10px 18px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#d1d5db;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease}.playback-error-btn-secondary:hover{background:#ffffff1f;color:#fff}.playback-error-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;background:#10b981;border:none;color:#000;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease}.playback-error-btn-primary:hover{background:#059669;transform:translateY(-1px)}@media(max-width:600px){.playback-error-toast{top:calc(62px + env(safe-area-inset-top,0px));padding:7px 10px 7px 12px;gap:10px;max-width:calc(100vw - 24px);border-radius:12px}.playback-error-toast-icon{width:30px;height:30px;border-radius:8px}.playback-error-toast-subtitle{max-width:175px;font-size:.7rem}.playback-error-toast-action{font-size:.72rem;padding:4px 7px}.playback-error-modal-card{border-radius:16px;max-height:90vh}.playback-error-modal-header,.playback-error-modal-body,.playback-error-modal-footer{padding:14px 16px}}.playlist-filter-offline-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-full);background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-user-select:none}.playlist-filter-offline-btn:hover{background:#ffffff1f;color:#fff;border-color:#ffffff38;transform:translateY(-1px)}.playlist-filter-offline-btn.active{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 14px var(--accent-glow)}.playlist-filter-offline-btn.active:hover{background:var(--accent-subtle);filter:brightness(1.2);transform:translateY(-1px)}@media(max-width:600px){.playlist-filter-offline-btn{padding:8px 14px;font-size:.8rem;gap:6px}}.playlist-ctrl-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-user-select:none}.playlist-ctrl-btn:hover{background:#ffffff1f;color:#fff;border-color:#ffffff38;transform:translateY(-1px)}.playlist-ctrl-btn.active{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 14px var(--accent-glow)}.playlist-ctrl-btn.active:hover{background:var(--accent-subtle);filter:brightness(1.2);transform:translateY(-1px)}.playlist-ctrl-dot{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 6px var(--accent-glow)}@media(max-width:600px){.playlist-ctrl-btn{width:36px;height:36px}.playlist-ctrl-dot{bottom:4px}}
