*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-screen{align-items:center;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){body{font-size:14px}}.app{display:flex;flex-direction:column;min-height:100vh;padding-bottom:100px}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:20px;width:100%}.loading{color:#fff;padding:60px 20px}.loading .spinner{border:4px solid #ffffff4d;border-top-color:#fff;margin-bottom:20px}@media (max-width:768px){.main-content{padding:15px}.app{padding-bottom:120px}}:root{--bg-primary:#0f0a1e;--bg-secondary:#1a1a2e;--bg-tertiary:#252545;--bg-card-hover:#ffffff1a;--bg-header:#1e293bf2;--bg-player:#1e293bf2;--bg-modal:#12122a;--bg-input:#ffffff14;--bg-input-focus:#ffffff1f;--bg-badge:#667eea26;--bg-dropzone:#667eea0d;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#999;--text-faint:#666;--text-track-title:#e2e8f0;--text-track-artist:#94a3b8;--accent:#667eea;--accent-hover:#5a6fd6;--accent-light:#667eea26;--accent-gradient:linear-gradient(135deg,#667eea,#764ba2);--border:#ffffff1a;--border-hover:#fff3;--shadow:0 4px 20px #0000004d;--shadow-card:0 4px 15px #0006;--danger:#ef4444;--danger-bg:#ef444433;--success:#22c55e;--warning:#f59e0b;--scrollbar-bg:#1a1a2e;--scrollbar-thumb:#444;--spinner-bg:#ffffff4d;--spinner-color:#fff}body.light-theme{--bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-tertiary:#e8eaf0;--bg-card:#00000008;--bg-card-hover:#0000000f;--bg-header:#fffffff2;--bg-player:#fffffff2;--bg-modal:#fff;--bg-input:#0000000d;--bg-input-focus:#00000014;--bg-badge:#667eea1a;--bg-dropzone:#667eea08;--text-primary:#1a1a2e;--text-secondary:#444;--text-muted:#666;--text-faint:#999;--text-track-title:#1a1a2e;--text-track-artist:#555;--accent:#5563d5;--accent-hover:#4a55c0;--accent-light:#667eea1a;--accent-gradient:linear-gradient(135deg,#5563d5,#6b4fa0);--border:#0000001a;--border-hover:#0003;--shadow:0 2px 12px #00000014;--shadow-card:0 2px 8px #0000000f;--danger:#dc2626;--danger-bg:#dc26261a;--success:#16a34a;--warning:#d97706;--scrollbar-bg:#e8eaf0;--scrollbar-thumb:#bbb;--spinner-bg:#00000026;--spinner-color:#5563d5}body{background:#0f0a1e!important;background:var(--bg-primary)!important;color:#fff!important;color:var(--text-primary)!important;transition:background .3s ease,color .3s ease}.app{background:#0f0a1e;background:var(--bg-primary)}.header{background:#1e293bf2!important;background:var(--bg-header)!important;box-shadow:0 4px 20px #0000004d!important;box-shadow:var(--shadow)!important}body.light-theme .header{border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border)}body.light-theme .header-logo{color:#fff;color:var(--text-primary)}body.light-theme .nav-link{color:#999;color:var(--text-muted)}body.light-theme .nav-link.active,body.light-theme .nav-link:hover{background:#667eea26;background:var(--accent-light);color:#667eea;color:var(--accent)}body.light-theme .user-name{color:#ccc;color:var(--text-secondary)}body.light-theme .logout-btn{border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.player-compact{background:#1e293bf2!important;background:var(--bg-player)!important;box-shadow:0 -4px 20px #00000026!important}body.light-theme .player-compact{border-top:1px solid #ffffff1a;border-top:1px solid var(--border)}body.light-theme .player-title{color:#fff;color:var(--text-primary)}body.light-theme .ctrl-btn,body.light-theme .player-artist{color:#999;color:var(--text-muted)}body.light-theme .ctrl-btn:hover{color:#667eea;color:var(--accent)}body.light-theme .time-compact,body.light-theme .time-display{color:#999;color:var(--text-muted)}body.light-theme .album-card{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border);box-shadow:0 4px 15px #0006;box-shadow:var(--shadow-card)}body.light-theme .album-card:hover{box-shadow:0 4px 16px #0000001f}body.light-theme .album-name,body.light-theme .album-title{color:#fff!important;color:var(--text-primary)!important}body.light-theme .album-artist,body.light-theme .album-meta span{color:#999;color:var(--text-muted)}body.light-theme .album-category-badge{background:#667eea26;background:var(--accent-light);color:#667eea;color:var(--accent)}body.light-theme .track-title{color:#e2e8f0!important;color:var(--text-track-title)!important}body.light-theme .track-artist{color:#94a3b8!important;color:var(--text-track-artist)!important}body.light-theme .track-duration,body.light-theme .track-number{color:#999;color:var(--text-muted)}body.light-theme .disc-header{background:#667eea26;background:var(--accent-light);color:#667eea;color:var(--accent)}body.light-theme .collection-card{background:#1a1a2e;background:var(--bg-secondary)}body.light-theme .collection-name{color:#fff!important;color:var(--text-primary)!important}body.light-theme .collection-count{color:#999!important;color:var(--text-muted)!important}body.light-theme .section-title{border-bottom-color:#ffffff1a;border-bottom-color:var(--border);color:#667eea!important;color:var(--accent)!important}body.light-theme .collection-cover-placeholder,body.light-theme .stack-card{background:#252545;background:var(--bg-tertiary)}body.light-theme .collection-modal-overlay{background:#00000080}body.light-theme .collection-modal{background:#1a1a2e;background:var(--bg-secondary)}body.light-theme .collection-modal-info h2{color:#fff;color:var(--text-primary)}body.light-theme .collection-desc{color:#999;color:var(--text-muted)}body.light-theme .search-input{background:#ffffff14;background:var(--bg-input);border-color:#ffffff1a;border-color:var(--border);color:#fff;color:var(--text-primary)}body.light-theme .search-input:focus{background:#ffffff1f;background:var(--bg-input-focus);border-color:#667eea;border-color:var(--accent)}body.light-theme .search-btn{background:#667eea;background:var(--accent)}body.light-theme .suggestions{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border);box-shadow:0 4px 20px #0000004d;box-shadow:var(--shadow)}body.light-theme .suggestion-item{color:#fff;color:var(--text-primary)}body.light-theme .suggestion-item:hover{background:#667eea26;background:var(--accent-light)}body.light-theme .filter-select,body.light-theme .filters select{background:#ffffff14;background:var(--bg-input);border-color:#ffffff1a;border-color:var(--border);color:#fff;color:var(--text-primary)}body.light-theme .form-input{background:#ffffff14!important;background:var(--bg-input)!important;border-color:#ffffff1a!important;border-color:var(--border)!important;color:#fff!important;color:var(--text-primary)!important}body.light-theme .form-input:focus{background:#ffffff1f!important;background:var(--bg-input-focus)!important;border-color:#667eea!important;border-color:var(--accent)!important}body.light-theme label{color:#ccc;color:var(--text-secondary)}body.light-theme .admin-container,body.light-theme .admin-page{color:#fff;color:var(--text-primary)}body.light-theme .admin-section{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border)}body.light-theme .admin-tabs .tab-btn{color:#999;color:var(--text-muted)}body.light-theme .admin-tabs .tab-btn.active{border-color:#667eea;border-color:var(--accent);color:#667eea;color:var(--accent)}body.light-theme .library-header h2{color:#fff;color:var(--text-primary)}body.light-theme .album-cover-placeholder{background:#252545;background:var(--bg-tertiary)}body.light-theme .collections-admin-section{background:#5563d50d!important;border-color:#5563d526!important}body.light-theme .collection-admin-item{background:#ffffff0d;background:var(--bg-card)}body.light-theme .collection-admin-info strong{color:#fff!important;color:var(--text-primary)!important}body.light-theme .modal-overlay{background:#0006}body.light-theme .edit-collection-modal,body.light-theme .edit-modal{background:#1a1a2e;background:var(--bg-secondary);color:#fff;color:var(--text-primary)}body.light-theme .modal-tab-btn{color:#999;color:var(--text-muted)}body.light-theme .modal-tab-btn.active{color:#667eea;color:var(--accent)}body.light-theme .shares-table th{background:#252545;background:var(--bg-tertiary);color:#ccc;color:var(--text-secondary)}body.light-theme .shares-table td{border-bottom-color:#ffffff1a;border-bottom-color:var(--border);color:#fff;color:var(--text-primary)}body.light-theme .playlist-card{background:#1a1a2e;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border)}body.light-theme .playlist-name{color:#fff;color:var(--text-primary)}body.light-theme .playlist-desc{color:#999;color:var(--text-muted)}body.light-theme .share-modal{background:#1a1a2e;background:var(--bg-secondary)}body.light-theme .share-modal-title{color:#fff;color:var(--text-primary)}body.light-theme .add-to-playlist-modal{background:#1a1a2e;background:var(--bg-secondary)}body.light-theme .loading{color:#fff;color:var(--text-primary)}body.light-theme .loading .spinner{border-color:#ffffff4d;border-color:var(--spinner-bg);border-top-color:#fff;border-top-color:var(--spinner-color)}body.light-theme .page-btn{background:#ffffff14;background:var(--bg-input);border-color:#ffffff1a;border-color:var(--border);color:#fff;color:var(--text-primary)}body.light-theme .page-btn:hover:not(:disabled){background:#667eea26;background:var(--accent-light);color:#667eea;color:var(--accent)}body.light-theme .dropzone,body.light-theme .page-info{color:#999;color:var(--text-muted)}body.light-theme .dropzone{background:#667eea0d;background:var(--bg-dropzone);border-color:#ffffff1a;border-color:var(--border)}body.light-theme .edit-cover-dropzone{background:#5563d508;border-color:#5563d533}body.light-theme .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--accent-gradient)}body.light-theme .btn-secondary{background:#252545;background:var(--bg-tertiary);color:#fff;color:var(--text-primary)}body.light-theme .btn-danger{background:#ef4444;background:var(--danger)}body.light-theme .btn-sm{color:#999;color:var(--text-muted)}body.light-theme ::-webkit-scrollbar{background:#1a1a2e;background:var(--scrollbar-bg)}body.light-theme ::-webkit-scrollbar-thumb{background:#444;background:var(--scrollbar-thumb)}body.light-theme .progress-slider-compact,body.light-theme .volume-slider-compact{accent-color:#667eea;accent-color:var(--accent)}body.light-theme .message{color:#fff;color:var(--text-primary)}.theme-toggle-btn{align-items:center;border:2px solid #fff3;border-radius:50%;color:#fffc;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.theme-toggle-btn:hover{border-color:#ffffff80;transform:scale(1.1)}body.light-theme .theme-toggle-btn{border-color:#00000026;color:#666}body.light-theme .theme-toggle-btn:hover{border-color:#667eea;border-color:var(--accent);color:#667eea;color:var(--accent)}body.light-theme .radio-nav-btn.radio-active{color:#667eea;color:var(--accent)}body.light-theme .share-page{color:#fff;color:var(--text-primary)}.admin-section,.album-card,.btn,.collection-card,.form-input,.header,.modal-overlay,.player-compact,.playlist-card,.search-input{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body.light-theme .filter-toggle-btn{background:#e2e8f0!important;border:1px solid #cbd5e1!important;color:#333!important}body.light-theme .library-page h1,body.light-theme .library-page h2,body.light-theme .library-subtitle,body.light-theme .library-title{color:#fff!important;color:var(--text-primary)!important}body.light-theme .library-empty p,body.light-theme .library-page p,body.light-theme .no-favorites{color:#999!important;color:var(--text-muted)!important}body.light-theme .page-title,body.light-theme .playlists-page h1,body.light-theme .playlists-page h2,body.light-theme .playlists-title{color:#fff!important;color:var(--text-primary)!important}body.light-theme .empty-message,body.light-theme .empty-state p,body.light-theme .no-playlists,body.light-theme .playlists-page p{color:#999!important;color:var(--text-muted)!important}body.light-theme .playlists-tabs button,body.light-theme .tab-btn{background:#e2e8f0!important;border:1px solid #cbd5e1!important;color:#555!important}body.light-theme .playlists-tabs button.active,body.light-theme .tab-btn.active{background:#667eea!important;background:var(--accent)!important;border-color:#667eea!important;border-color:var(--accent)!important;color:#fff!important}body.light-theme h1,body.light-theme h2,body.light-theme h3{color:#fff;color:var(--text-primary)}body.light-theme p{color:#ccc;color:var(--text-secondary)}body.light-theme .empty-state,body.light-theme .no-data{color:#999;color:var(--text-muted)}body.light-theme .empty-icon,body.light-theme .empty-state svg,body.light-theme .library-page svg{color:#cbd5e1;opacity:.6}body.light-theme .album-modal-content{color:#fff;color:var(--text-primary)}body.light-theme .album-modal-header{border-bottom-color:#ffffff1a;border-bottom-color:var(--border)}body.light-theme .album-modal-header h2{color:#fff!important;color:var(--text-primary)!important}body.light-theme .album-modal-header p{color:#999!important;color:var(--text-muted)!important}body.light-theme .album-modal-body{background:#fff}body.light-theme .track-item{border-bottom:1px solid #0000000d}body.light-theme .track-duration{color:#999!important}body.light-theme .track-action-btn{color:#999}body.light-theme .track-action-btn:hover{color:#667eea;color:var(--accent)}body.light-theme .album-header-btn{background:#f1f5f9;border:1px solid #e2e8f0;color:#666}body.light-theme .album-header-btn:hover{background:#667eea1a;color:#667eea;color:var(--accent)}body.light-theme .disc-header{color:var(--accent)!important}:root{--bg-card:#ffffff0d}body.light-theme{--bg-card:#fffffff2}@media (max-width:600px){.header-container{align-items:center!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:6px!important;padding:8px 12px!important}.header-logo{font-size:15px!important;margin-right:auto}.header-user{align-items:center;display:flex;gap:4px;order:2}.header-user .user-name{display:none!important}.header-user .logout-btn{font-size:10px!important;padding:3px 6px!important}.theme-toggle-btn{font-size:13px!important;min-width:auto!important;padding:2px 4px!important}.header-nav{border-top:1px solid #ffffff14;display:flex!important;flex-wrap:wrap!important;gap:3px!important;justify-content:center!important;order:3;padding-top:4px!important;width:100%!important}.nav-link,.radio-nav-btn,.shuffle-btn{font-size:11px!important;padding:3px 6px!important;white-space:nowrap!important}.search-section{flex-direction:column!important;gap:6px!important;padding:0!important}.search-bar{width:100%!important}.search-input{font-size:13px!important}.search-btn{padding:8px 12px!important}.filter-toggle-btn,.search-btn{font-size:12px!important}.albums-grid,.collections-grid{gap:8px!important;grid-template-columns:repeat(2,1fr)!important}.album-card{border-radius:8px!important}.album-info{padding:8px!important}.album-title{-webkit-line-clamp:1!important;font-size:12px!important}.album-artist{font-size:10px!important;margin-bottom:4px!important}.album-category{font-size:8px!important;padding:1px 4px!important}.action-btn.favorite-btn{font-size:11px!important;height:26px!important;width:26px!important}.album-modal-overlay{padding:8px!important}.album-modal-content{border-radius:12px!important;max-height:95vh!important;width:100%!important}.album-modal-header{flex-wrap:wrap;gap:10px!important;padding:12px!important}.album-modal-cover{border-radius:8px!important;height:60px!important;width:60px!important}.album-modal-header h2{font-size:.95rem!important}.album-modal-header-actions{gap:6px!important}.album-header-btn,.album-modal-close{font-size:12px!important;height:30px!important;width:30px!important}.dl-btn-album{font-size:.75rem!important;padding:5px 10px!important}.track-item{padding:8px 10px!important}.track-title{font-size:.82rem!important}.track-artist{font-size:.7rem!important}.track-number{font-size:.8rem!important;min-width:20px!important}.track-duration{font-size:.75rem!important}.track-actions{gap:1px!important}.track-action-btn{font-size:10px!important;padding:3px!important}.track-queue-btn{display:none!important}.dl-btn-sm{font-size:10px!important;padding:3px 4px!important}.player-bar{flex-wrap:wrap!important;gap:4px!important;padding:6px 8px!important}.player-close-btn{font-size:10px!important;padding:2px 4px!important}.player-info{flex:1 1;min-width:0}.player-title{font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-artist{font-size:10px!important}.player-controls-compact{gap:2px!important}.ctrl-btn{font-size:11px!important;padding:4px!important}.play-btn-compact{font-size:11px!important;height:30px!important;width:30px!important}.player-progress-compact{gap:4px;order:10;width:100%}.time-compact{font-size:10px!important}.player-volume-compact{display:none!important}.player-extra-actions{gap:1px!important}.queue-toggle-btn .queue-badge{font-size:8px;height:14px;min-width:14px}.player-expand-btn{font-size:10px!important;padding:3px 5px!important}.sleep-icon{font-size:12px!important}.pagination{gap:4px!important}.page-btn{font-size:12px!important;padding:6px 12px!important}.home-page{padding:10px!important}.section-title{font-size:1rem!important}.collection-name{font-size:.75rem!important}.collection-count{font-size:.65rem!important}body.light-theme .header-nav{border-top-color:#e2e8f0}.albums-grid,.collections-grid{gap:8px!important;grid-template-columns:repeat(2,1fr)!important}.album-card,.collection-card{min-width:0!important;width:100%!important}.collection-cover-stack{padding-top:100%!important}.player-bar{grid-gap:4px 8px!important;align-items:center!important;display:grid!important;gap:4px 8px!important;grid-template-columns:auto 1fr auto auto!important;grid-template-rows:auto auto!important;padding:6px 10px!important}.player-close-btn{grid-column:1;grid-row:1}.player-info{grid-column:2;grid-row:1;min-width:0}.player-controls-compact{gap:2px!important;grid-column:3;grid-row:1}.player-progress-compact{grid-column:1/-1;grid-row:2;width:100%!important}.player-extra-actions,.player-volume-compact{display:none!important}.player-expand-btn{grid-column:4;grid-row:1}.sleep-timer-wrapper{display:none!important}.player-radio-info{grid-column:1/-1;grid-row:2}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{max-width:500px;width:100%}.login-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0003;padding:40px;text-align:center}.login-card h1{color:#667eea;font-size:32px;margin-bottom:20px}.login-card p{color:#666;font-size:16px;line-height:1.6;margin-bottom:30px}.login-btn{background:#667eea;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-bottom:30px;padding:15px 40px;transition:all .3s;width:100%}.login-btn:hover{background:#5568d3;box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.login-info{background:#f8f9fa;border-radius:12px;padding:20px}.login-info p{color:#888;font-size:14px;margin:8px 0}@media (max-width:768px){.login-card{padding:30px 20px}.login-card h1{font-size:24px}.login-card p{font-size:14px}.login-btn{font-size:16px;padding:12px 30px}}.add-to-party-wrapper{position:relative}.party-add-btn{color:#888}.party-add-btn:hover{color:#6c5ce7;color:var(--primary,#6c5ce7)}.party-dropdown{background:#1e1e2f;border:1px solid #ffffff1a;border-radius:10px;bottom:100%;box-shadow:0 8px 24px #0006;min-width:200px;overflow:hidden;position:absolute;right:0;z-index:200}.party-dropdown-title{border-bottom:1px solid #ffffff0f;color:#888;font-size:.7rem;padding:8px 12px;text-transform:uppercase}.party-dropdown-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:background .2s}.party-dropdown-item:hover{background:#6c5ce71f}.party-dropdown-name{color:#ddd;font-size:.85rem}.party-dropdown-meta{color:#555;font-size:.7rem}.party-dropdown-empty{color:#555;font-size:.8rem;padding:14px;text-align:center}.party-dropdown-msg{color:#00b894;font-size:.85rem;padding:14px;text-align:center}.playlist-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.playlist-modal{background:#1a1a2e;border-radius:16px;box-shadow:0 20px 60px #00000080;flex-direction:column;max-height:80vh;max-width:420px;overflow:hidden;width:90%}.playlist-modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 20px}.playlist-modal-header h3{align-items:center;color:#fff;display:flex;font-size:1.1rem;gap:8px;margin:0}.playlist-modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;padding:4px}.playlist-modal-close:hover{color:#fff}.playlist-modal-track{background:#ffffff0d;border-bottom:1px solid #ffffff1a;padding:12px 20px}.playlist-modal-track-title{color:#fff;font-size:.95rem;font-weight:600;margin:0 0 4px}.playlist-modal-track-artist{color:#999;font-size:.85rem;margin:0}.playlist-modal-error{background:#ff6b6b1a;color:#ff6b6b;font-size:.85rem;margin:0;padding:8px 20px}.playlist-modal-list{flex:1 1;max-height:300px;overflow-y:auto;padding:8px 0}.playlist-modal-empty,.playlist-modal-loading{color:#999;font-size:.9rem;padding:24px 20px;text-align:center}.playlist-modal-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:background .2s}.playlist-modal-item:hover{background:#ffffff14}.playlist-modal-item.added{background:#4caf5026}.playlist-modal-item-info{display:flex;flex-direction:column;gap:2px}.playlist-modal-item-name{color:#fff;font-size:.95rem}.playlist-modal-item-count{color:#777;font-size:.8rem}.playlist-modal-item-add{color:#999;font-size:.9rem}.playlist-modal-item-check{color:#4caf50;font-size:1rem}.playlist-modal-create{border-top:1px solid #ffffff1a;display:flex;gap:8px;padding:12px 20px}.playlist-modal-create input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;flex:1 1;font-size:.9rem;outline:none;padding:8px 12px}.playlist-modal-create input:focus{border-color:#667eea}.playlist-modal-create button{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px}.playlist-modal-create button:hover{background:#fff3}.playlist-modal-create-btn{align-items:center;background:none;border:none;border-top:1px solid #ffffff1a;color:#667eea;cursor:pointer;display:flex;font-size:.95rem;gap:8px;justify-content:center;padding:14px 20px;transition:background .2s;width:100%}.playlist-modal-create-btn:hover{background:#667eea1a}.share-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.share-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;overflow:hidden;width:100%}.share-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px 15px}.share-modal-header h3{align-items:center;color:#1e293b;color:#667eea;display:flex;font-size:17px;gap:8px;margin:0}.share-modal-close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:18px;padding:4px;transition:all .2s}.share-modal-close:hover{background:#f1f5f9;color:#475569}.share-modal-track{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:18px 24px}.share-modal-title{color:#1e293b;font-size:15px;font-weight:600;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-modal-artist{color:#667eea;font-size:13px;margin:0}.share-modal-options{padding:20px 24px 24px}.share-option-group{margin-bottom:15px}.share-option-group label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.share-option-group input,.share-option-group select{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:14px;outline:none;padding:9px 12px;transition:border-color .2s;width:100%}.share-option-group input:focus,.share-option-group select:focus{border-color:#667eea}.share-modal-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:5px;padding:11px;transition:all .3s;width:100%}.share-modal-btn:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-1px)}.share-modal-btn:disabled{cursor:not-allowed;opacity:.6}.share-modal-btn-secondary{background:#f1f5f9;color:#475569;margin-top:12px}.share-modal-btn-secondary:hover{background:#e2e8f0;box-shadow:none!important}.share-modal-result{padding:20px 24px 24px}.share-modal-label{color:#475569;font-size:13px;font-weight:600;margin:0 0 8px}.share-modal-url-box{align-items:center;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;display:flex;margin-bottom:8px;overflow:hidden}.share-modal-url{color:#475569;flex:1 1;font-size:13px;overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.share-modal-copy-btn{background:#667eea;border:none;color:#fff;cursor:pointer;flex-shrink:0;padding:10px 14px;transition:background .2s}.share-modal-copy-btn:hover{background:#5568d3}.share-modal-copy-btn.copied{background:#22c55e}.share-modal-copied{color:#22c55e;font-size:13px;font-weight:600;margin:0 0 10px;text-align:center}.share-modal-details{background:#f8fafc;border-radius:8px;margin-bottom:5px;padding:12px 15px}.share-modal-details p{color:#64748b;font-size:13px;margin:4px 0}.share-modal-error{color:#ef4444;font-size:13px;margin:10px 0!important;text-align:center}.share-modal-overlay{z-index:10001!important}.dl-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-family:inherit;gap:6px;transition:all .2s}.dl-btn-sm{background:none;color:#888;font-size:.8rem;padding:4px 6px}.dl-btn-lg,.dl-btn-sm:hover{background:#667eea1a;color:#667eea}.dl-btn-lg{font-size:.85rem;font-weight:500;padding:8px 14px}.dl-btn-lg:hover{background:#667eea33}.dl-btn-album{background:#667eea1a;border-radius:8px;color:#667eea;font-size:.85rem;font-weight:500;padding:8px 16px}.dl-btn-album:hover{background:#667eea33}.dl-btn.dl-done{color:#4caf50}.dl-btn-sm.dl-done:hover{background:#f443361a;color:#f44336}.dl-btn-album.dl-done,.dl-btn-lg.dl-done{background:#4caf501a;color:#4caf50}.dl-btn-album.dl-done:hover,.dl-btn-lg.dl-done:hover{background:#f443361a;color:#f44336}.dl-btn.dl-loading{color:#667eea;cursor:wait;opacity:.8}@keyframes dlSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dl-spin{animation:dlSpin 1s linear infinite}body.light-theme .dl-btn-sm{color:#999}body.light-theme .dl-btn-sm:hover{background:#667eea14;color:#667eea}body.light-theme .dl-btn-sm.dl-done{color:#4caf50}body.light-theme .dl-btn-sm.dl-done:hover{color:#f44336}.album-card{background:#ffffff0d;background:var(--bg-card,#ffffff0d);border-radius:12px;box-shadow:0 4px 15px #0000001a;cursor:pointer}.album-card:hover{box-shadow:0 8px 25px #0003;transform:translateY(-8px)}.album-cover{background:linear-gradient(135deg,#667eea,#764ba2);width:100%}.album-cover-placeholder{color:#fff;font-size:60px}.album-overlay{align-items:center;background:#0009;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%}.album-card:hover .album-overlay{opacity:1}.play-icon{color:#fff;font-size:40px}.album-info{padding:15px}.album-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;color:var(--text-primary,#fff);display:-webkit-box;font-size:16px;font-weight:700;margin-bottom:5px}.album-artist{color:#666;font-size:14px;margin-bottom:8px}.album-category{background:#667eea;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.album-actions{display:flex;gap:8px;position:absolute;right:10px;top:10px;z-index:10}.action-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.action-btn:hover{box-shadow:0 4px 12px #0003;transform:scale(1.1)}.favorite-btn{color:#999}.favorite-btn.active{background:#ef44441a;color:#ef4444}.favorite-btn:hover{color:#ef4444}.playlist-btn{color:#667eea}.playlist-btn:hover{background:#667eea1a}.album-modal{align-items:center;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:9999}.album-modal-content{max-height:85vh}.modal-close{color:#fff;color:var(--text-primary,#fff)}.modal-header{border-bottom:1px solid #e0e0e0;display:flex;gap:20px;padding:30px}.modal-cover{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;flex-shrink:0;height:150px;overflow:hidden;width:150px}.modal-cover img{height:100%;object-fit:cover;width:100%}.modal-cover-placeholder{align-items:center;color:#fff;display:flex;font-size:60px;height:100%;justify-content:center;width:100%}.modal-info{display:flex;flex:1 1;flex-direction:column;justify-content:center}.modal-info h2{color:#fff;color:var(--text-primary,#fff);font-size:24px;margin-bottom:8px}.modal-info p{color:#666;font-size:16px;margin-bottom:12px}.modal-category{background:#667eea;border-radius:12px;color:#fff;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px}.modal-tracks{flex:1 1;overflow-y:auto;padding:10px}.disc-header-modal{border-top:1px solid #e0e0e0;color:#667eea;font-size:14px;font-weight:700;letter-spacing:1px;margin-top:10px;padding:15px 10px 5px;text-transform:uppercase}.modal-track{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:15px;padding:12px;position:relative;transition:all .3s}.modal-track:hover{background:#f8f9fa}.modal-track:hover .modal-track-play{opacity:1}.modal-track-number{color:#999;font-size:14px;min-width:30px;text-align:center}.modal-track-info{flex:1 1;min-width:0}.modal-track-title{color:#fff;color:var(--text-primary,#fff);font-weight:500}.modal-track-artist,.modal-track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-track-artist{color:#666;font-size:14px}.modal-track-duration{color:#999;font-size:14px}.modal-track-play{color:#667eea;font-size:20px;opacity:0;transition:opacity .3s}.playlist-modal-content{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-radius:16px;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;width:100%}.playlist-modal-content h2{color:#1e293b;margin:0 0 20px}.playlist-modal-content h3{color:#334155;font-size:16px;margin:20px 0 10px}.track-selection{border-bottom:2px solid #e2e8f0;margin-bottom:20px;padding-bottom:20px}.track-selection-list{background:#f8fafc;border-radius:8px;max-height:200px;overflow-y:auto;padding:10px}.disc-header-selection{color:#667eea;font-size:14px;font-weight:600;margin:10px 0 5px;padding-left:5px}.track-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background .2s}.track-checkbox:hover{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e)}.track-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.track-checkbox .track-number{color:#94a3b8;font-size:12px;min-width:25px}.track-checkbox .track-name{color:#334155;flex:1 1;font-size:14px}.create-playlist{border-bottom:2px solid #e2e8f0;margin-bottom:20px;padding-bottom:20px}.create-playlist-form{gap:10px}.create-playlist-form input{border:2px solid #e2e8f0;flex:1 1;font-size:14px;padding:10px 15px}.create-playlist-form input:focus{outline:none}.create-playlist-form button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.create-playlist-form button:hover:not(:disabled){background:#5568d3}.create-playlist-form button:disabled{cursor:not-allowed;opacity:.5}.playlists-list{margin-top:20px}.no-playlists{color:#94a3b8;font-style:italic;padding:20px;text-align:center}.playlists-grid{grid-gap:10px;display:grid;gap:10px}.playlist-item{align-items:center;background:#f8fafc;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:15px;padding:12px;transition:all .3s}.playlist-item:hover{background:#f1f5f9;border-color:#667eea;transform:translateX(5px)}.playlist-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;font-size:20px;height:45px;justify-content:center;width:45px}.playlist-details{flex:1 1}.playlist-name{color:#1e293b;font-weight:600;margin-bottom:3px}.playlist-count{color:#64748b;font-size:12px}.playlist-add-icon{color:#667eea;font-size:18px}@media (max-width:768px){.playlist-modal-content{padding:20px;width:95%}.track-selection-list{max-height:150px}.modal-header{align-items:center;flex-direction:column;padding:20px;text-align:center}.modal-cover{height:120px;width:120px}.modal-info h2{font-size:20px}.modal-close{font-size:24px;height:35px;right:10px;top:10px;width:35px}}.album-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.album-modal-content{animation:slideUp .3s ease;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-radius:16px;display:flex;flex-direction:column;max-width:700px;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.album-modal-header{border-bottom:2px solid #ffffff1a;border-bottom:2px solid var(--border,#ffffff1a);padding:25px;position:relative}.album-modal-header,.album-modal-info{align-items:center;display:flex;gap:20px}.album-modal-info{flex:1 1}.album-modal-cover{border-radius:12px;box-shadow:0 4px 12px #0003;flex-shrink:0;height:100px;object-fit:cover;width:100px}.album-modal-info h2{color:#fff;color:var(--text-primary,#fff);font-size:24px;font-weight:700;margin:0 0 8px}.album-modal-info p{color:#666;font-size:16px;margin:0}.album-modal-close{align-items:center;background:#0000000d;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .3s;width:40px}.album-modal-close:hover{background:#0000001a;color:#fff;color:var(--text-primary,#fff)}.album-modal-body{flex:1 1;overflow-y:auto;padding:15px}.tracks-list{display:flex;flex-direction:column;gap:2px}.disc-header{border-top:1px solid #e0e0e0;color:#667eea;font-size:14px;font-weight:700;letter-spacing:1px;margin-top:10px;padding:20px 10px 10px;text-transform:uppercase}.disc-header:first-child{border-top:none;margin-top:0;padding-top:10px}.track-item{border-radius:8px;cursor:pointer;gap:15px;padding:12px 15px;position:relative;transition:all .2s}.track-item:hover{background:linear-gradient(90deg,#667eea1a,#667eea0d)}.track-item:hover .track-play-btn{opacity:1}.track-number{color:#999;font-size:14px;font-weight:500;min-width:30px;text-align:center}.track-info{flex:1 1;min-width:0}.track-title{color:#fff;color:var(--text-primary,#fff);font-weight:600;margin-bottom:4px}.track-artist,.track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist{color:#666;font-size:14px}.track-duration{color:#999;font-size:14px;min-width:50px;text-align:right}.track-play-btn{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:35px;justify-content:center;opacity:0;padding-left:2px;transition:all .3s;width:35px}.track-play-btn:hover{box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.no-tracks{color:#999;font-size:16px;padding:40px 20px}@media (max-width:768px){.album-modal-content{max-width:95%}.album-modal-header{padding:20px}.album-modal-header,.album-modal-info{flex-direction:column;text-align:center}.album-modal-cover{height:120px;width:120px}.album-modal-info h2{font-size:20px}.track-item{padding:10px}.track-title{font-size:14px}.track-artist{font-size:13px}}@media (max-width:480px){.track-item{gap:8px;padding:10px 8px}.track-main{gap:8px}.track-number{font-size:12px;min-width:22px}.track-title{font-size:14px;line-height:1.3}.track-artist,.track-title{overflow:visible;text-overflow:clip;white-space:normal}.track-artist{font-size:12px}.track-duration{font-size:11px;min-width:36px}.track-play-btn{font-size:11px;height:28px;opacity:1;width:28px}.track-actions{gap:0}.track-action-btn{font-size:13px;padding:4px 5px}.disc-header{font-size:13px;padding:6px 8px}}body.light-theme .album-modal-overlay{background:#0006}body.light-theme .album-modal-content{background:#fff!important;box-shadow:0 20px 60px #00000026;color:#1a1a2e!important}body.light-theme .album-modal-header{border-bottom-color:#e2e8f0}body.light-theme .album-modal-header h2{color:#1a1a2e!important}body.light-theme .album-modal-header p,body.light-theme .album-modal-info p{color:#666!important}body.light-theme .album-modal-body{background:#fff!important}body.light-theme .track-item{border-bottom:1px solid #f1f5f9}body.light-theme .track-item:hover{background:#667eea0f}body.light-theme .track-title{color:#1a1a2e!important}body.light-theme .track-artist{color:#666!important}body.light-theme .track-number{color:#999!important}body.light-theme .track-duration{color:#888!important}body.light-theme .track-action-btn{color:#999!important}body.light-theme .track-action-btn:hover{background:#667eea1a;color:#667eea!important}body.light-theme .track-play-btn{background:#667eea!important;color:#fff!important}body.light-theme .album-modal-close{background:#f1f5f9!important;border:1px solid #e2e8f0;color:#666!important}body.light-theme .album-modal-close:hover{background:#fee2e2!important;color:#dc2626!important}body.light-theme .disc-header{background:#667eea14!important;color:#667eea!important}.album-title{color:#fff!important}.album-artist{color:#aaa!important}body.light-theme .album-title{color:#1a1a2e!important}body.light-theme .album-artist{color:#666!important}@media (max-width:480px){.album-card{border-radius:8px}.album-info{padding:8px 10px}.album-title{-webkit-line-clamp:1;font-size:13px!important}.album-artist{font-size:11px!important}.album-category{font-size:9px;padding:1px 5px}.action-btn.favorite-btn{font-size:12px;height:28px;width:28px}.album-modal-content{border-radius:10px!important;max-height:95vh!important}.album-modal-header{gap:12px!important;padding:14px!important}.album-modal-cover{height:60px!important;width:60px!important}.album-modal-header h2{font-size:1rem!important}.track-item{padding:8px 12px!important}.track-title{font-size:.85rem!important}.track-actions{gap:2px!important}.track-action-btn{font-size:11px!important;padding:4px!important}}.album-modal-content{-webkit-overflow-scrolling:touch;max-height:90vh;overflow-y:auto}.album-extras{border-top:1px solid #ffffff14;padding:16px}@media (max-width:600px){.album-modal-content{height:95vh;max-height:95vh}}.extras-collapsible{border-top:1px solid #ffffff14;margin-top:12px}.extras-toggle{align-items:center;background:#ffffff0a;border:none;border-radius:8px;color:#aaa;cursor:pointer;display:flex;font-size:.9rem;justify-content:space-between;padding:12px 16px;transition:all .2s;width:100%}.extras-toggle:hover{background:#ffffff14;color:#fff}.extras-arrow{font-size:.7rem;transition:transform .3s}.extras-collapsible.open .extras-arrow{transform:rotate(180deg)}.extras-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.extras-collapsible.open .extras-content{max-height:800px}.star-rating{align-items:center;display:inline-flex;gap:6px}.stars{display:flex;gap:2px}.star{color:#555;cursor:pointer;transition:color .15s,transform .15s}.star.filled{color:#fdcb6e}.star:hover{transform:scale(1.2)}.rating-avg{color:#888;font-size:.75rem}.star-rating.sm .star{font-size:.85rem}.star-rating.md .star{font-size:1.1rem}.comment-section{border-top:1px solid #ffffff14;margin-top:20px;padding-top:16px}.comment-section h3{align-items:center;color:#ddd;font-size:1rem;margin-bottom:12px}.comment-input-row,.comment-section h3{display:flex;gap:8px}.comment-input-row input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:20px;color:#fff;flex:1 1;padding:8px 16px}.comment-input-row input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.comment-input-row button{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.comment-input-row button:disabled{opacity:.4}.replying-to{align-items:center;color:#6c5ce7;color:var(--primary,#6c5ce7);display:flex;font-size:.8rem;gap:8px;margin-bottom:6px}.replying-to button{background:none;border:none;color:#888;cursor:pointer}.comments-list{display:flex;flex-direction:column;gap:12px;margin-top:12px;max-height:400px;overflow-y:auto}.comment-item{background:#ffffff0a;border-radius:10px;padding:10px}.comment-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.comment-author{color:#fff;font-size:.85rem;font-weight:600}.comment-date{color:#666;font-size:.7rem}.comment-content{color:#ccc;font-size:.85rem;margin:4px 0}.comment-actions{display:flex;gap:8px;margin-top:6px}.comment-actions button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:.75rem;gap:4px}.comment-actions button:hover{color:#aaa}.comment-reply{background:#ffffff08;border-left:2px solid #6c5ce74d;border-radius:8px;margin-left:24px;margin-top:8px;padding:8px}.comment-edit{display:flex;gap:6px}.comment-edit input{background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;color:#fff;flex:1 1;padding:6px 10px}.comment-edit button{background:none;border:none;color:#aaa;cursor:pointer}.no-comments{color:#555;padding:20px;text-align:center}.recommendations{border-top:1px solid #ffffff14;margin-top:20px;padding-top:16px}.recommendations h3{align-items:center;color:#ddd;display:flex;font-size:1rem;gap:8px;margin-bottom:12px}.reco-loading{color:#666;padding:20px;text-align:center}.reco-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.reco-card{background:#ffffff0a;border-radius:10px;cursor:pointer;flex-shrink:0;max-width:150px;min-width:130px;overflow:hidden}.reco-card:hover{transform:scale(1.04)}.reco-card img{aspect-ratio:1;object-fit:cover;width:100%}.reco-info{padding:8px}.reco-title{color:#ddd;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reco-artist{color:#888;font-size:.7rem}.reco-source{color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:.65rem;font-style:italic;margin-top:4px}@media (max-width:768px){.recommendations{display:none}}.home-page{color:#fff}.search-section{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.search-bar{align-items:center;background:#fff;border-radius:50px;box-shadow:0 4px 15px #0000001a;display:flex;padding:12px 20px}.search-icon{color:#667eea;font-size:20px;margin-right:10px}.search-input{border:none;color:#333;flex:1 1;font-size:16px;outline:none}.search-input::placeholder{color:#999}.search-btn{background:#667eea;border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:600;padding:10px 25px;transition:all .3s}.search-btn:hover{background:#5568d3;box-shadow:0 4px 10px #667eea4d;transform:translateY(-2px)}.suggestions{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.suggestion-item{color:#333;cursor:pointer;padding:15px 20px;transition:background .3s}.suggestion-item:hover{background:#f8f9fa}.suggestion-item strong{color:#667eea}.filter-toggle-btn{align-items:center;align-self:flex-start;background:#fff3;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.filter-toggle-btn:hover{background:#ffffff4d}.filters{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.filter-group{flex:1 1;min-width:200px}.filter-group label{color:#fff;display:block;margin-bottom:8px}.filter-group select{background:#fff;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:15px;padding:10px;width:100%}.albums-grid{margin-bottom:40px}.no-results{background:#ffffff1a;border-radius:12px;color:#fff;padding:60px 20px}.no-results p{font-size:18px}.pagination{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:40px}.page-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.page-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#fff;font-weight:600}@media (max-width:768px){.search-bar{border-radius:12px;flex-direction:column;gap:10px;padding:15px}.search-btn,.search-input{width:100%}.filters{flex-direction:column}.filter-group{min-width:100%}.albums-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pagination{flex-direction:column;gap:15px}.page-btn{width:100%}}.collection-name,.section-title{color:#667eea!important}.collection-name{color:#fff!important}.collection-count{color:#ffffffb3!important}.section-title{color:#fff!important}@media (max-width:480px){.home-page{padding:10px}.section-title{font-size:1rem;margin-bottom:10px}.collections-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.collection-name{font-size:.8rem}.collection-count{font-size:.7rem}.albums-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.search-section{flex-direction:column;gap:8px}.search-bar{width:100%}.search-input{font-size:14px}.search-btn{padding:8px 12px}.filter-toggle-btn,.search-btn{font-size:12px}.collection-modal{border-radius:14px;padding:16px}.collection-modal-header{flex-direction:column;gap:12px;text-align:center}.collection-modal-cover{height:80px;width:80px}.collection-modal-info h2{font-size:1.1rem}.collection-modal-albums .albums-grid{gap:8px;grid-template-columns:repeat(2,1fr)}}@media (max-width:380px){.albums-grid{gap:8px!important;grid-template-columns:repeat(2,1fr)!important}}.track-results-section{margin-bottom:24px}.track-results-list{background:#ffffff08;border-radius:12px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.track-result-item{align-items:center;cursor:pointer;display:flex;gap:12px;padding:10px 16px;transition:background .2s}.track-result-item:hover{background:#667eea14}.track-result-play{align-items:center;background:#667eea1a;border-radius:50%;color:#667eea;display:flex;flex-shrink:0;font-size:.8rem;height:28px;justify-content:center;width:28px}.track-result-item:hover .track-result-play{background:#667eea;color:#fff}.track-result-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.track-result-title{color:#fff;color:var(--text-primary,#fff);font-size:.9rem;font-weight:500}.track-result-artist,.track-result-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-result-artist,.track-result-duration{color:#888;color:var(--text-muted,#888);font-size:.8rem}.track-result-duration{flex-shrink:0}body.light-theme .track-results-list{background:#f8fafc;border:1px solid #e2e8f0}body.light-theme .track-result-item:hover{background:#667eea0d}@media (max-width:600px){.track-result-item{gap:8px;padding:8px 12px}.track-result-title{font-size:.82rem}.track-result-artist{font-size:.72rem}.track-result-play{font-size:.7rem;height:24px;width:24px}}.recent-section{margin-bottom:24px}.recent-scroll{-webkit-overflow-scrolling:touch;display:flex;gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.recent-scroll .album-card{flex-shrink:0;max-width:180px;min-width:180px;scroll-snap-align:start}.recent-scroll::-webkit-scrollbar{height:4px}.recent-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:2px}.recent-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.tag-results-section{margin-bottom:24px}.tag-no-results{color:#555;padding:20px;text-align:center}.tag-filter{margin-bottom:16px}.tag-filter-toggle{align-items:center;background:#ffffff0f;border:none;border-radius:20px;color:#aaa;cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:8px 16px}.tag-filter-toggle:hover{background:#ffffff1a}.tag-active-indicator{color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:1.5rem;line-height:0}.tag-filter-panel{background:#ffffff0a;border-radius:12px;margin-top:8px;padding:16px}.tag-clear{background:#ff50501f;border:none;border-radius:12px;color:#ff5050;cursor:pointer;font-size:.8rem;padding:4px 12px}.tag-category,.tag-clear{margin-bottom:12px}.tag-cat-label{color:#888;font-size:.8rem;margin-bottom:6px}.tag-list{flex-wrap:wrap}.tag-chip,.tag-list{display:flex;gap:6px}.tag-chip{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;color:#aaa;cursor:pointer;font-size:.8rem;padding:5px 12px}.tag-chip:hover{color:#6c5ce7;color:var(--tag-color,#6c5ce7)}.tag-chip.selected,.tag-chip:hover{border-color:#6c5ce7;border-color:var(--tag-color,#6c5ce7)}.tag-chip.selected{background:#6c5ce7;background:var(--tag-color,#6c5ce7);color:#fff}.tag-count{background:#ffffff26;border-radius:8px;font-size:.65rem;padding:1px 6px}.admin-page{margin:0 auto;max-width:1400px;padding:20px 20px 100px}.admin-container{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.admin-container h1{color:#1e293b;font-size:24px;margin:0 0 15px}.admin-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:20px}.tab-btn{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:-2px;padding:8px 16px;transition:all .3s}.tab-btn:hover{color:#667eea}.tab-btn.active{border-bottom-color:#667eea;color:#667eea}.message{border-radius:8px;font-size:14px;font-weight:500;margin-bottom:15px;padding:10px 15px}.message.success{background:#dcfce7;color:#166534}.message.error{background:#fee2e2;color:#991b1b}.admin-section{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.admin-section.single-column{grid-template-columns:1fr}.form-group{margin-bottom:0}.form-group.full-width{grid-column:1/-1}.form-group label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.form-input{border:2px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;transition:all .3s;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.dropzone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;padding:20px;text-align:center;transition:all .3s}.dropzone:hover{background:#f1f5f9;border-color:#667eea}.dropzone p{color:#64748b;font-size:13px;margin:8px 0 0}.dropzone .small-text{color:#94a3b8;font-size:11px}.file-preview img{border-radius:8px;margin-bottom:8px;max-width:120px}.file-input-button{align-items:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;margin-bottom:8px;padding:8px 16px;transition:all .3s}.file-input-button:hover{background:#5568d3;transform:translateY(-1px)}.files-list{background:#f8fafc;border-radius:6px;font-size:12px;margin-top:10px;max-height:150px;overflow-y:auto;padding:10px}.files-list p{color:#1e293b;font-weight:600;margin:0 0 8px}.files-list ul{list-style:none;margin:0;padding-left:20px}.files-list li{color:#475569;margin-bottom:3px}.disc-group{margin-bottom:10px}.disc-title{align-items:center;color:#667eea;display:flex;font-weight:600;gap:5px;margin-bottom:5px}.progress-container{grid-column:1/-1;margin-top:10px}.progress-bar{background:#e2e8f0;width:100%}.progress-fill{align-items:center;background:#667eea;color:#fff;display:flex;font-size:11px;font-weight:600;justify-content:center}.progress-text{color:#64748b;font-size:13px;margin-top:5px;text-align:center}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s}.btn-primary{background:#667eea;color:#fff;grid-column:1/-1;justify-content:center;padding:10px}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#64748b;color:#fff}.btn-secondary:hover{background:#475569}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{font-size:13px;padding:5px 10px}.btn-large{font-size:15px;padding:12px 24px}.library-header{grid-column:1/-1;margin-bottom:20px}.library-header h2{color:#1e293b;font-size:20px;margin-bottom:15px}.search-bar{margin-bottom:15px;position:relative}.search-icon{color:#94a3b8;font-size:16px;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 12px 10px 38px;width:100%}.filters-bar{background:#f8fafc;border-radius:8px;display:flex;flex-wrap:wrap;gap:15px;padding:12px}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:#475569;font-size:13px;font-weight:600}.filter-select{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:2px solid #e2e8f0;border-radius:6px;font-size:13px;padding:6px 10px}.albums-grid{grid-gap:15px;gap:15px;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.album-card{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;transition:all .3s}.album-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-3px)}.album-cover{background:#f1f5f9;overflow:hidden;padding-top:100%;position:relative}.album-cover img{object-fit:cover}.album-cover img,.album-cover-placeholder{height:100%;left:0;position:absolute;top:0;width:100%}.album-cover-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:48px;justify-content:center}.album-info{padding:10px}.album-title{color:#1e293b;font-size:13px;font-weight:600;margin-bottom:4px}.album-meta,.album-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-meta{color:#64748b;font-size:12px;margin-bottom:6px}.album-category-badge{background:#667eea1a;border-radius:10px;color:#667eea;display:inline-block;font-size:10px;font-weight:600;margin-bottom:8px;padding:3px 8px}.no-results{color:#94a3b8;font-size:14px;grid-column:1/-1;padding:40px;text-align:center}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:20px;width:100%}.modal-large{max-width:800px}.modal-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:15px}.modal-tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;margin-bottom:-2px;padding:8px 16px}.modal-tab-btn.active{border-bottom-color:#667eea;color:#667eea}.tracks-edit-container{max-height:400px;overflow-y:auto}.disc-header-edit{border-left:3px solid #667eea;color:#667eea;font-size:13px;font-weight:600;margin:10px 0 8px;padding-left:8px}.track-edit-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:50px 50px 1fr 150px 40px;margin-bottom:8px}.track-input{border:1px solid #e2e8f0;border-radius:4px;font-size:13px;padding:6px 8px}.track-delete-btn{padding:6px}.playlists-grid-page{grid-gap:15px;gap:15px;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}@media (max-width:768px){.admin-section{grid-template-columns:1fr}.albums-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.track-edit-row{gap:5px;grid-template-columns:40px 40px 1fr}.track-artist-input,.track-delete-btn{grid-column:1/-1}}.collections-admin-section h3{color:#4a5abb!important}.admin-page,.admin-page h1,.admin-page h2,.admin-page h3{color:var(--text-primary)}.admin-page label{color:var(--text-secondary)}.admin-page input[type=number],.admin-page input[type=text],.admin-page input[type=url],.admin-page select,.admin-page textarea{background:#ffffff0d;background:var(--bg-tertiary,#ffffff0d);border-color:var(--border);color:var(--text-primary)}.admin-page .album-item,.admin-page .collection-item{border-color:var(--border)}.admin-page .album-info-text span{color:var(--text-muted)}body.light-theme .collection-admin-info strong{color:#1a1a2e!important}body.light-theme .collection-admin-meta{color:#555!important}body.light-theme .collections-admin-section h3{color:#4a5abb!important}.library-page{margin:0 auto;max-width:1400px;padding:30px 20px}.library-header{margin-bottom:30px;text-align:center}.library-header h1{align-items:center;color:#333;display:flex;font-size:36px;font-weight:700;gap:15px;justify-content:center;margin-bottom:10px}.library-header h1 svg{color:#667eea}.library-header p{color:#666;font-size:16px;margin:0}.library-content{min-height:400px}.albums-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.empty-state{padding:80px 20px}.empty-icon{color:#e0e0e0;font-size:80px;margin-bottom:20px}.empty-state h3{color:#666;font-size:24px;margin-bottom:10px}.empty-state p{color:#999}.loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:100px 20px}.loading .spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}.loading p{color:#666;font-size:16px}@media (max-width:1024px){.albums-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.library-page{padding:20px 15px}.library-header h1{font-size:28px}.albums-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:480px){.albums-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.library-header h1{font-size:24px}}.library-tabs{gap:8px;margin-bottom:24px}.library-tab{background:#ffffff14;border-radius:25px;color:#aaa;font-family:inherit;font-size:.95rem;padding:10px 24px;transition:all .3s}.library-tab:hover{background:#ffffff1f}.library-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);font-weight:600}body.light-theme .library-tab{background:#e2e8f0;color:#666}body.light-theme .library-tab:hover{background:#cbd5e1;color:#333}body.light-theme .library-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.storage-info{align-items:center;background:#ffffff0d;border-radius:10px;color:#aaa;display:flex;font-size:.9rem;gap:10px;margin-bottom:20px;padding:12px 20px}.storage-info svg{color:#667eea}.clear-all-btn{align-items:center;background:#f443361a;border-radius:8px;color:#f44336;display:flex;font-family:inherit;font-size:.85rem;gap:6px;margin-left:auto;padding:6px 14px;transition:all .2s}.clear-all-btn:hover{background:#f4433633}body.light-theme .storage-info{background:#f1f5f9;color:#666}body.light-theme .clear-all-btn{background:#fee2e2;color:#dc2626}.downloads-list{display:flex;flex-direction:column;gap:20px}.dl-album-group{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;overflow:hidden}.dl-album-header{align-items:center;background:#ffffff0a;border-bottom:1px solid #ffffff0f;display:flex;gap:16px;padding:16px 20px}.dl-album-cover{border-radius:10px;box-shadow:0 4px 12px #0000004d;height:56px;object-fit:cover;width:56px}.dl-album-info h3{color:#fff;color:var(--text-primary,#fff);font-size:1rem;margin:0 0 4px}.dl-album-info p{color:#888;color:var(--text-muted,#888);font-size:.85rem;margin:0}.dl-tracks{padding:4px 0}.dl-track-item{align-items:center;display:flex;padding:0 20px;transition:background .2s}.dl-track-item:hover{background:#ffffff0a}.dl-track-main{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:12px;min-width:0;padding:12px 0}.dl-track-num{color:#666;color:var(--text-muted,#666);font-size:.85rem;min-width:24px;text-align:center}.dl-track-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dl-track-title{color:#fff;color:var(--text-primary,#fff);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-track-artist{font-size:.8rem}.dl-track-artist,.dl-track-duration{color:#888;color:var(--text-muted,#888)}.dl-track-duration{font-size:.85rem;min-width:40px;text-align:right}.dl-track-actions{display:flex;gap:4px;margin-left:8px}.dl-track-play,.dl-track-remove{background:none;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;padding:6px 8px;transition:all .2s}.dl-track-play{color:#667eea}.dl-track-play:hover{background:#667eea26}.dl-track-remove{color:#888}.dl-track-remove:hover{background:#f443361a;color:#f44336}body.light-theme .dl-album-group{background:#fff;border-color:#e2e8f0;box-shadow:0 2px 8px #0000000f}body.light-theme .dl-album-header{background:#f8fafc;border-bottom-color:#e2e8f0}body.light-theme .dl-album-cover{box-shadow:0 4px 12px #0000001a}body.light-theme .dl-track-item:hover{background:#667eea0a}body.light-theme .dl-track-remove:hover{background:#dc262614;color:#dc2626}@media (max-width:480px){.library-tabs{gap:6px}.library-tab{font-size:.85rem;padding:8px 16px}.storage-info{flex-wrap:wrap;font-size:.8rem;padding:10px 14px}.dl-album-header{gap:12px;padding:12px 14px}.dl-album-cover{height:44px;width:44px}.dl-track-item{padding:0 14px}.dl-track-title{font-size:.85rem;white-space:normal}}.playlists-page{color:#fff;min-height:100vh;padding:20px}.playlists-header{margin-bottom:30px}.playlists-header h1{font-size:32px;margin:0 0 20px;text-align:center}.library-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;display:flex;gap:10px;justify-content:center;padding:10px}.library-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.library-tab:hover{background:#ffffff26;color:#fff}.library-tab.active{background:#ffffff40;color:#fff}.library-content{margin-top:30px}.empty-state{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:16px;color:#fff;padding:60px 20px}.empty-state svg{color:#ffffff80;margin-bottom:20px}.empty-state h2{font-size:24px;margin:0 0 10px}.empty-state p{color:#ffffffb3;font-size:16px;margin:0}.playlists-grid-page{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.playlist-card{align-items:center;background:#fffffff2;border-radius:12px;cursor:pointer;display:flex;gap:15px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.playlist-card:hover{box-shadow:0 8px 25px #0003;transform:translateY(-5px)}.playlist-card-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;flex-shrink:0;font-size:28px;height:60px;justify-content:center;width:60px}.playlist-card-info{flex:1 1}.playlist-card-info h3{color:#1e293b;font-size:18px;margin:0 0 5px}.playlist-card-info p{color:#64748b;font-size:14px;margin:0}.playlist-delete{align-items:center;background:#ef44441a;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.playlist-delete:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.favorites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.favorite-card{background:#fffffff2;border-radius:12px;overflow:hidden;position:relative;transition:all .3s ease}.favorite-card:hover{box-shadow:0 8px 25px #0003;transform:translateY(-5px)}.favorite-cover{background:linear-gradient(135deg,#667eea,#764ba2);padding-top:100%;position:relative;width:100%}.favorite-cover img{object-fit:cover}.favorite-cover img,.favorite-cover-placeholder{height:100%;left:0;position:absolute;top:0;width:100%}.favorite-cover-placeholder{align-items:center;color:#fff;display:flex;font-size:60px;justify-content:center}.favorite-info{padding:15px}.favorite-info h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;display:-webkit-box;font-size:16px;font-weight:700;margin:0 0 5px;overflow:hidden}.favorite-info p{color:#64748b;font-size:14px;margin:0}.favorite-remove{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .3s ease;width:36px}.favorite-remove:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.playlist-modal{align-items:center;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.playlist-modal-detail{background:#fff;border-radius:16px;display:flex;flex-direction:column;max-height:85vh;max-width:700px;position:relative;width:100%}.modal-close{align-items:center;background:#0000001a;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s;width:40px;z-index:1}.modal-close:hover{background:#0003}.playlist-detail-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;padding:30px}.playlist-detail-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;flex-shrink:0;font-size:40px;height:80px;justify-content:center;width:80px}.playlist-detail-info{flex:1 1}.playlist-detail-info h2{color:#1e293b;font-size:28px;margin:0 0 8px}.playlist-detail-info p{color:#64748b;font-size:14px;margin:0 0 15px}.play-all-btn{align-items:center;background:#667eea;border:none;border-radius:25px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.play-all-btn:hover{background:#5568d3;transform:scale(1.05)}.playlist-detail-tracks{flex:1 1;overflow-y:auto;padding:20px}.no-tracks{color:#94a3b8;font-style:italic;padding:40px;text-align:center}.disc-header-detail{border-top:1px solid #e0e0e0;color:#667eea;font-size:14px;font-weight:700;letter-spacing:1px;margin-top:10px;padding:15px 10px 5px;text-transform:uppercase}.playlist-track-item{align-items:center;border-radius:8px;display:flex;gap:15px;padding:12px;position:relative;transition:all .3s}.playlist-track-item:hover{background:#f8f9fa}.playlist-track-play{align-items:center;background:#667eea1a;border-radius:50%;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .3s;width:40px}.playlist-track-play:hover{background:#667eea;color:#fff;transform:scale(1.1)}.playlist-track-info{flex:1 1;min-width:0}.playlist-track-title{color:#1e293b;font-weight:600;margin-bottom:3px}.playlist-track-meta,.playlist-track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-track-meta{color:#64748b;font-size:13px}.playlist-track-duration{color:#94a3b8;font-size:14px;min-width:45px;text-align:right}.playlist-track-remove{align-items:center;background:#ef44441a;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:32px;justify-content:center;opacity:0;transition:all .3s;width:32px}.playlist-track-item:hover .playlist-track-remove{opacity:1}.playlist-track-remove:hover{background:#ef4444;color:#fff;transform:scale(1.1)}@media (max-width:768px){.playlists-grid-page{grid-template-columns:1fr}.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.library-tabs{flex-direction:column}.playlist-modal-detail{max-height:95vh}.playlist-detail-header{flex-direction:column;text-align:center}.playlist-track-meta{font-size:12px}}.share-page{align-items:center;background:linear-gradient(135deg,#1e293b,#0f172a);display:flex;justify-content:center;min-height:100vh;padding:20px}.share-container{max-width:500px;width:100%}.share-header{margin-bottom:30px;text-align:center}.share-header h1{color:#fff;font-size:28px;margin:0 0 8px}.share-header p{color:#94a3b8;font-size:14px;margin:0}.share-player{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:30px;text-align:center}.share-cover{border-radius:12px;box-shadow:0 8px 30px #0000004d;height:180px;margin:0 auto 20px;object-fit:cover;width:180px}.share-info h2{color:#fff;font-size:20px;margin:0 0 6px}.share-artist{color:#667eea;font-size:15px;font-weight:500;margin:0 0 4px!important}.share-album{color:#64748b;font-size:13px;margin:0 0 25px!important}.share-controls{margin-bottom:20px}.share-play-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 20px #667eea66;color:#fff;cursor:pointer;display:flex;height:70px;justify-content:center;margin:0 auto;transition:all .3s;width:70px}.share-play-btn:hover{box-shadow:0 6px 25px #667eea80;transform:scale(1.08)}.share-play-btn:active{transform:scale(.95)}.share-progress{align-items:center;display:flex;gap:10px;margin-bottom:15px}.share-time{color:#94a3b8;font-size:12px;min-width:40px;text-align:center}.share-progress-bar{-webkit-appearance:none;background:#ffffff26;border-radius:3px;cursor:pointer;flex:1 1;height:5px;outline:none}.share-progress-bar::-webkit-slider-thumb{-webkit-appearance:none;background:#667eea;border-radius:50%;cursor:pointer;height:14px;width:14px}.share-volume{align-items:center;color:#64748b;display:flex;gap:10px;justify-content:center;margin-bottom:20px}.share-volume-slider{-webkit-appearance:none;background:#ffffff26;border-radius:2px;cursor:pointer;height:4px;outline:none;width:100px}.share-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:12px;width:12px}.share-meta{border-top:1px solid #ffffff14;padding-top:15px}.share-expires,.share-plays{color:#64748b;font-size:13px;margin:4px 0!important}.share-footer{margin-top:25px;text-align:center}.share-footer p{color:#475569;font-size:13px;margin:0}.share-loading{color:#94a3b8;font-size:18px}.share-error,.share-loading{text-align:center}.share-error h1{color:#fff;margin-bottom:20px}.error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:10px;color:#ef4444;font-size:16px;padding:15px 25px}.stats-page{margin:0 auto;max-width:900px;padding:20px}.stats-loading{color:#aaa;padding:60px;text-align:center}.stats-loading .spin{animation:spin 1s linear infinite}.stats-header{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.stats-header,.stats-header h1{align-items:center;display:flex}.stats-header h1{color:#fff;font-size:1.5rem;gap:10px}.stats-tabs{display:flex;gap:8px}.stats-tabs button{background:#ffffff14;border:none;border-radius:20px;color:#aaa;cursor:pointer;padding:8px 16px;transition:all .2s}.stats-tabs button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.stats-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.stat-card{background:#ffffff0f;border-radius:12px;padding:16px;text-align:center}.stat-icon{color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:1.5rem;margin-bottom:8px}.stat-value{color:#fff;font-size:1.6rem;font-weight:700}.stat-label{color:#888;font-size:.8rem;margin-top:4px}.stats-section{background:#ffffff0a;border-radius:12px;margin-bottom:16px;padding:20px}.stats-section h2{color:#ddd;font-size:1.1rem;margin-bottom:16px}.top-list{display:flex;flex-direction:column;gap:8px}.top-item{align-items:center;border-radius:8px;display:flex;gap:12px;padding:8px}.top-item:hover{background:#ffffff0f}.top-rank{color:#888;font-weight:700;text-align:center;width:30px}.top-cover{border-radius:6px;height:40px;object-fit:cover;width:40px}.top-info{flex:1 1;min-width:0}.top-title{color:#fff;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-subtitle{color:#888;font-size:.75rem}.top-count{color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:.8rem;font-weight:600}.chart-container{overflow-x:auto}.bar-chart{align-items:flex-end;display:flex;gap:3px;height:120px}.bar-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;min-width:8px}.bar{background:#6c5ce7;background:var(--primary,#6c5ce7);border-radius:3px 3px 0 0;min-height:2px;width:100%}.bar-label{color:#666;font-size:.6rem;margin-top:4px}.category-bars{display:flex;flex-direction:column;gap:10px}.cat-bar-row{align-items:center;display:flex;gap:10px}.cat-label{color:#aaa;font-size:.85rem;text-align:right;width:100px}.cat-bar-bg{background:#ffffff0f;border-radius:10px;flex:1 1;height:20px;overflow:hidden}.cat-bar-fill{background:#6c5ce7;background:var(--primary,#6c5ce7);border-radius:10px;height:100%}.cat-pct{color:#aaa;font-size:.85rem;width:40px}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.history-header h2{color:#ddd;font-size:1.1rem}.clear-history-btn{align-items:center;background:#ff505026;border:none;border-radius:8px;color:#ff5050;cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:6px 12px}.empty-state{color:#666;padding:40px;text-align:center}.history-list{display:flex;flex-direction:column;gap:4px}.history-item{align-items:center;border-radius:8px;display:flex;gap:12px;padding:10px}.history-item:hover{background:#ffffff0a}.history-cover{border-radius:6px;height:42px;object-fit:cover;width:42px}.history-info{flex:1 1;min-width:0}.history-title{color:#fff;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-subtitle{color:#888;font-size:.75rem}.history-meta{text-align:right}.history-time{color:#666;font-size:.75rem}.history-completed{color:#00b894;margin-left:6px}.profile-page{margin:0 auto;max-width:800px;padding:20px}.profile-error,.profile-loading{color:#aaa;padding:60px;text-align:center}.profile-header-card{background:#ffffff0f;border-radius:16px;display:flex;gap:20px;margin-bottom:24px;padding:24px}.profile-avatar{align-items:center;background:#ffffff1a;border-radius:50%;color:#888;display:flex;flex-shrink:0;font-size:2rem;height:80px;justify-content:center;overflow:hidden;width:80px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-header-info{flex:1 1}.profile-header-info h1{color:#fff;font-size:1.5rem;margin:0 0 4px}.profile-username{color:#888;font-size:.85rem;margin:0 0 8px}.profile-bio{color:#ccc;font-size:.9rem;margin:8px 0}.profile-genre{background:#6c5ce733;border-radius:12px;color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:.8rem;padding:3px 10px}.profile-joined{color:#666;font-size:.8rem;margin-top:8px}.edit-profile-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#aaa;cursor:pointer;display:inline-flex;gap:6px;margin-top:10px;padding:6px 14px}.profile-edit-form{display:flex;flex-direction:column;gap:10px}.profile-edit-form input,.profile-edit-form textarea{background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#fff;padding:8px 12px}.profile-public-toggle{align-items:center;color:#aaa;display:flex;font-size:.85rem;gap:8px}.profile-edit-actions{display:flex;gap:8px}.save-btn{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff;display:flex;gap:6px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;padding:8px 16px}.cancel-btn{background:#ffffff1a;color:#aaa}.profile-stats-row{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.profile-stat{align-items:center;background:#ffffff0f;border-radius:12px;display:flex;flex-direction:column;padding:16px 24px}.profile-stat svg{color:#6c5ce7;color:var(--primary,#6c5ce7);margin-bottom:6px}.profile-stat span{color:#fff;font-size:1.4rem;font-weight:700}.profile-stat small{color:#888;font-size:.75rem}.profile-section{margin-bottom:24px}.profile-section h2{align-items:center;color:#ddd;display:flex;font-size:1.1rem;gap:8px;margin-bottom:16px}.profile-albums-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.profile-album-card{background:#ffffff0a;border-radius:10px;cursor:pointer;overflow:hidden}.profile-album-card:hover{transform:scale(1.03)}.profile-album-card img{aspect-ratio:1;object-fit:cover;width:100%}.profile-album-title{color:#ddd;font-size:.8rem;overflow:hidden;padding:8px;text-overflow:ellipsis;white-space:nowrap}.profile-album-plays{color:#888;font-size:.7rem;padding:0 8px 8px}.profile-playlists{display:flex;flex-direction:column;gap:8px}.profile-playlist-item{align-items:center;background:#ffffff0a;border-radius:8px;display:flex;gap:12px;padding:10px}.playlist-icon{color:#6c5ce7;color:var(--primary,#6c5ce7)}.playlist-name{color:#ddd;font-size:.9rem}.playlist-desc{font-size:.75rem}.submit-page{margin:0 auto;max-width:700px;padding:20px}.submit-page h1{align-items:center;color:#fff;display:flex;font-size:1.5rem;gap:10px;margin-bottom:8px}.submit-info{color:#888;font-size:.85rem;margin-bottom:20px}.drop-zone{border:2px dashed #ffffff1f;border-radius:16px;margin-bottom:20px;min-height:140px;padding:24px;transition:all .3s}.drop-zone.dragging{background:#6c5ce714;border-color:#6c5ce7;border-color:var(--primary,#6c5ce7)}.drop-zone.has-files{border-color:#ffffff14;border-style:solid;padding:12px}.drop-zone-content{align-items:center;color:#888;display:flex;flex-direction:column;gap:10px}.drop-icon{color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:2.5rem;opacity:.6}.drop-zone-content p{color:#aaa;font-size:1rem;margin:0}.drop-zone-content span{color:#555;font-size:.8rem}.drop-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.drop-btn{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 16px}.drop-btn.secondary{background:#ffffff1a;color:#aaa}.drop-btn:hover{opacity:.9}.drop-zone-header{align-items:center;color:#aaa;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:8px}.drop-zone-header div{align-items:center;display:flex;gap:8px}.add-more-btn{background:#ffffff14;border-radius:6px;color:#aaa;cursor:pointer;font-size:.8rem;padding:4px 12px}.add-more-btn:hover{background:#ffffff1f;color:#fff}.clear-all-btn{background:none;border:none;color:#666;cursor:pointer;padding:4px 8px}.clear-all-btn:hover{color:#ff5050}.audio-file-list{display:flex;flex-direction:column;gap:3px;max-height:250px;overflow-y:auto}.audio-file-item{align-items:center;background:#ffffff08;border-radius:6px;color:#ccc;display:flex;font-size:.8rem;gap:8px;padding:6px 10px}.audio-file-icon{color:#6c5ce7;color:var(--primary,#6c5ce7);flex-shrink:0;font-size:.7rem}.audio-file-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-file-size{color:#555;flex-shrink:0;font-size:.7rem}.audio-file-item button{background:none;border:none;color:#555;cursor:pointer;font-size:.7rem;padding:2px}.audio-file-item button:hover{color:#ff5050}.submit-form{flex-direction:column}.submit-form,.submit-row{display:flex;gap:16px}.submit-cover-area{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.cover-mode-tabs{display:flex;gap:4px}.cover-mode-tabs button{align-items:center;background:#ffffff0f;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.75rem;gap:4px;padding:4px 10px}.cover-mode-tabs button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.cover-upload-label{border:2px dashed #ffffff1f;border-radius:10px;cursor:pointer;display:block;height:120px;overflow:hidden;width:120px}.cover-upload-label:hover{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7)}.cover-upload-label img{height:100%;object-fit:cover;width:100%}.cover-placeholder{align-items:center;color:#555;display:flex;flex-direction:column;font-size:.75rem;gap:6px;height:100%;justify-content:center;width:100%}.cover-placeholder svg{font-size:1.3rem}.cover-url-input{display:flex;flex-direction:column;gap:6px;width:120px}.cover-url-input input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;box-sizing:border-box;color:#fff;font-size:.75rem;padding:6px 8px;width:100%}.cover-url-input input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.cover-url-preview{border-radius:6px;height:80px;object-fit:cover;width:120px}.submit-fields{display:flex;flex:1 1;flex-direction:column;gap:10px}.submit-fields input,.submit-fields select{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;color:#fff;font-size:.9rem;padding:10px 14px}.submit-fields input:focus,.submit-fields select:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.submit-fields select{appearance:none}.submit-message{border-radius:8px;font-size:.85rem;padding:10px 14px}.submit-message.success{background:#00b89426;color:#00b894}.submit-message.error{background:#ff505026;color:#ff5050}.submit-progress{align-items:center;display:flex;gap:10px}.progress-bar{background:#ffffff14;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .3s}.progress-fill,.submit-btn{background:#6c5ce7;background:var(--primary,#6c5ce7)}.submit-btn{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;justify-content:center;padding:12px}.submit-btn:disabled{cursor:not-allowed;opacity:.4}.spin{animation:spin 1s linear infinite}.my-submissions{margin-top:32px}.my-submissions h2{color:#ddd;font-size:1.1rem;margin-bottom:12px}.submissions-list{display:flex;flex-direction:column;gap:8px}.submission-item{align-items:center;background:#ffffff0a;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:12px}.submission-cover{border-radius:6px;height:44px;object-fit:cover;width:44px}.submission-info{flex:1 1;min-width:0}.submission-title{color:#fff;font-size:.9rem}.submission-artist{color:#888;font-size:.75rem}.submission-date{color:#555;font-size:.7rem}.submission-status{align-items:center;display:flex;font-size:.8rem;gap:6px}.status-pending{color:#fdcb6e}.status-approved{color:#00b894}.status-rejected{color:#ff5050}.submission-reason{border-top:1px solid #ffffff0f;color:#888;font-size:.8rem;margin-top:4px;padding-top:4px;width:100%}@media (max-width:600px){.submit-row{align-items:center;flex-direction:column}.cover-url-input{width:100%}.drop-zone{padding:16px}}.submit-tabs{display:flex;gap:8px;margin-bottom:20px}.submit-tabs button{align-items:center;background:#ffffff0f;border:none;border-radius:10px;color:#aaa;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 20px}.submit-tabs button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.pending-badge{background:#e74c3c;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;padding:2px 7px}.review-section h1{color:#fff;font-size:1.3rem;margin-bottom:16px}.review-empty{color:#555;font-size:.9rem;padding:40px;text-align:center}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-card{align-items:center;background:#ffffff0a;border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:14px;transition:background .2s}.pending-card:hover{background:#ffffff14}.pending-cover{border-radius:8px;height:56px;object-fit:cover;width:56px}.pending-info{flex:1 1}.pending-title{color:#fff;font-size:1rem;font-weight:600}.pending-artist{color:#aaa;font-size:.85rem}.pending-meta{color:#666;font-size:.75rem;margin-top:4px}.pending-meta strong{color:#aaa}.review-btn{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:8px;color:#fff;display:flex;gap:6px;padding:8px 14px;white-space:nowrap}.review-back,.review-btn{cursor:pointer;font-size:.85rem}.review-back{background:none;border:none;color:#aaa;margin-bottom:12px;padding:0}.review-back:hover{color:#fff}.review-header{display:flex;gap:16px;margin-bottom:20px}.review-cover{border-radius:10px;height:100px;object-fit:cover;width:100px}.review-header h2{color:#fff;font-size:1.2rem;margin:0 0 4px}.review-artist{color:#aaa;font-size:.9rem;margin:0 0 4px}.review-meta{color:#666;font-size:.8rem;margin:0}.review-tracks{margin-bottom:20px}.review-tracks h3{align-items:center;color:#ddd;display:flex;font-size:1rem;gap:8px;margin-bottom:10px}.review-track{align-items:center;border-radius:8px;display:flex;gap:10px;padding:8px;transition:background .2s}.review-track:hover{background:#ffffff0a}.review-track.playing{background:#6c5ce71f}.preview-play-btn{align-items:center;background:#ffffff14;border:none;border-radius:50%;color:#aaa;cursor:pointer;display:flex;font-size:.7rem;height:32px;justify-content:center;width:32px}.preview-play-btn:hover{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.review-track-num{color:#555;font-size:.8rem;text-align:center;width:24px}.review-track-info{flex:1 1;min-width:0}.review-track-title{color:#ddd;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-track-artist{color:#666;font-size:.75rem}.review-track-dur{color:#555;font-size:.8rem}.review-actions{background:#ffffff0a;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.approve-btn{align-items:center;background:#00b894;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;justify-content:center;padding:12px}.approve-btn:disabled{opacity:.5}.reject-area{display:flex;gap:8px}.reject-area input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;color:#fff;flex:1 1;font-size:.85rem;padding:10px}.reject-area input:focus{border-color:#ff5050;outline:none}.reject-btn{align-items:center;background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:6px;padding:10px 16px;white-space:nowrap}.reject-btn:disabled{opacity:.5}@media (max-width:600px){.review-header{align-items:center;text-align:center}.reject-area,.review-header{flex-direction:column}}.messages-page{display:flex;height:calc(100vh - 70px);overflow:hidden}.messages-sidebar{border-right:1px solid #ffffff14;display:flex;flex-direction:column;flex-shrink:0;width:300px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:16px}.sidebar-header h2{font-size:1.1rem;gap:8px;margin:0}.new-conv-btn,.sidebar-header h2{align-items:center;color:#fff;display:flex}.new-conv-btn{background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:50%;cursor:pointer;height:32px;justify-content:center;width:32px}.conv-list{flex:1 1;overflow-y:auto}.conv-empty{color:#555;font-size:.85rem;padding:30px;text-align:center}.conv-item{align-items:center;border-bottom:1px solid #ffffff08;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background .2s}.conv-item:hover{background:#ffffff0a}.conv-item.active{background:#6c5ce71f}.conv-item.unread{background:#6c5ce70f}.conv-avatar{align-items:center;background:#6c5ce74d;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:40px;justify-content:center;width:40px}.conv-info{flex:1 1;min-width:0}.conv-name{color:#ddd;font-size:.85rem;font-weight:600}.conv-name,.conv-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-preview{color:#666;font-size:.75rem}.conv-item.unread .conv-name{color:#fff}.conv-item.unread .conv-preview{color:#aaa}.conv-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.conv-time{color:#555;font-size:.65rem}.conv-unread{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border-radius:9px;color:#fff;display:flex;font-size:.6rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px}.messages-main{min-width:0}.chat-placeholder,.messages-main{display:flex;flex:1 1;flex-direction:column}.chat-placeholder{align-items:center;color:#444;gap:12px;justify-content:center}.placeholder-icon{font-size:3rem;opacity:.3}.chat-placeholder p{font-size:.9rem}.chat-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;padding:12px 16px}.chat-back-btn{background:none;border:none;color:#aaa;cursor:pointer;display:none;font-size:1rem}.chat-header-name{color:#fff;font-size:1rem;font-weight:600}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto;padding:16px}.chat-date-divider{color:#555;font-size:.7rem;padding:12px 0 6px;text-align:center}.chat-bubble{border-radius:16px;max-width:70%;padding:10px 14px;position:relative}.chat-bubble.me{align-self:flex-end;background:#6c5ce7;background:var(--primary,#6c5ce7);border-bottom-right-radius:4px;color:#fff}.chat-bubble.other{align-self:flex-start;background:#ffffff14;border-bottom-left-radius:4px;color:#ddd}.bubble-sender{color:#6c5ce7;color:var(--primary,#6c5ce7);display:block;font-size:.7rem;font-weight:600;margin-bottom:2px}.chat-bubble p{font-size:.9rem;line-height:1.4;margin:0;word-break:break-word}.bubble-time{display:block;font-size:.6rem;margin-top:4px;opacity:.6;text-align:right}.chat-input{border-top:1px solid #ffffff14;display:flex;gap:8px;padding:12px 16px}.chat-input input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:20px;color:#fff;flex:1 1;font-size:.9rem;padding:10px 16px}.chat-input input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.chat-input button{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}.chat-input button:disabled{opacity:.4}.new-conv-panel{display:flex;flex:1 1;flex-direction:column}.new-conv-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;padding:12px 16px}.new-conv-header button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1rem}.new-conv-header h3{color:#fff;font-size:1rem;margin:0}.new-conv-search{align-items:center;border-bottom:1px solid #ffffff0f;color:#666;display:flex;gap:8px;padding:8px 16px}.new-conv-search input{background:none;border:none;color:#fff;flex:1 1;font-size:.9rem;outline:none}.new-conv-selected{align-items:center;background:#6c5ce71a;color:#ddd;display:flex;font-size:.9rem;justify-content:space-between;padding:10px 16px}.new-conv-selected button{background:none;border:none;color:#888;cursor:pointer}.user-list{flex:1 1;overflow-y:auto}.user-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 16px;transition:background .2s}.user-item:hover{background:#ffffff0a}.user-avatar{align-items:center;background:#6c5ce733;border-radius:50%;color:#6c5ce7;color:var(--primary,#6c5ce7);display:flex;font-weight:700;height:36px;justify-content:center;width:36px}.user-display{color:#ddd;font-size:.85rem}.user-handle{color:#555;font-size:.75rem}.new-conv-compose{border-top:1px solid #ffffff0f;padding:16px}.new-conv-compose textarea{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;box-sizing:border-box;color:#fff;font-size:.9rem;padding:10px;resize:none;width:100%}.new-conv-compose textarea:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.new-conv-compose button{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:center;margin-top:8px;padding:10px;width:100%}.new-conv-compose button:disabled{opacity:.4}@media (max-width:768px){.messages-sidebar{width:100%}.messages-page{flex-direction:column}.messages-main,.messages-page.chat-open .messages-sidebar{display:none}.messages-page.chat-open .messages-main{display:flex}.chat-back-btn{display:block!important}}.requests-page{margin:0 auto;max-width:800px;padding:20px}.requests-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.requests-header h1{color:#fff;font-size:1.4rem;margin:0}.new-request-btn{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 18px}.request-form{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;margin-bottom:20px;padding:20px}.request-form h3{color:#ddd;font-size:1rem;margin:0 0 14px}.form-grid{display:flex;gap:16px}.form-main{display:flex;flex:1 1;flex-direction:column;gap:10px}.form-main input,.form-main select,.form-main textarea{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;color:#fff;font-size:.9rem;padding:10px 14px}.form-main input:focus,.form-main select:focus,.form-main textarea:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.form-main textarea{font-family:inherit;resize:vertical}.form-cover-url{align-items:center;display:flex;gap:0}.form-cover-url .form-icon{color:#555;margin-left:12px;position:absolute}.form-cover-url input{padding-left:36px;width:100%}.form-cover-url{position:relative}.form-cover-preview{flex-shrink:0}.form-cover-preview img{border-radius:10px;height:120px;object-fit:cover;width:120px}.request-message{border-radius:8px;font-size:.85rem;margin-top:8px;padding:8px 12px}.request-message.success{background:#00b89426;color:#00b894}.request-message.error{background:#ff505026;color:#ff5050}.submit-request-btn{background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:12px;padding:10px 20px}.requests-controls,.submit-request-btn{align-items:center;display:flex;gap:8px}.requests-controls{flex-wrap:wrap;justify-content:space-between;margin-bottom:16px}.requests-sort,.requests-tabs{display:flex;gap:4px}.requests-sort button,.requests-tabs button{background:#ffffff0f;border:none;border-radius:8px;color:#888;cursor:pointer;font-size:.8rem;padding:6px 14px}.requests-tabs button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.requests-sort button.active{background:#ffffff1f;color:#fff}.requests-list{display:flex;flex-direction:column;gap:8px}.requests-empty{color:#555;padding:40px;text-align:center}.request-card{align-items:center;background:#ffffff0a;border-radius:12px;display:flex;gap:14px;padding:14px;transition:background .2s}.request-card:hover{background:#ffffff0f}.request-card.fulfilled{opacity:.7}.request-vote{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:2px;min-width:36px;padding:6px;transition:background .2s}.request-vote:hover{background:#ffffff0f}.vote-arrow{color:#555;font-size:1rem;transition:color .2s}.vote-arrow.voted{color:#6c5ce7;color:var(--primary,#6c5ce7)}.vote-count{color:#888;font-size:.9rem;font-weight:700}.vote-count.voted{color:#6c5ce7;color:var(--primary,#6c5ce7)}.request-cover{border-radius:8px;flex-shrink:0;height:56px;object-fit:cover;width:56px}.request-info{flex:1 1;min-width:0}.request-title{color:#fff;font-size:1rem;font-weight:600}.request-artist{color:#888;font-size:.8rem;margin-top:2px}.request-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#999;display:-webkit-box;font-size:.8rem;line-height:1.3;margin-top:4px;overflow:hidden}.request-meta{color:#555;font-size:.7rem;margin-top:4px}.request-meta strong{color:#888}.request-actions{display:flex;flex-shrink:0;gap:6px}.request-actions button{align-items:center;background:#ffffff0f;border:none;border-radius:8px;color:#888;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.action-fulfill:hover{background:#00b89433;color:#00b894}.action-close:hover{background:#ffa50033;color:orange}.action-delete:hover{background:#ff505033;color:#ff5050}@media (max-width:600px){.requests-header{align-items:flex-start;gap:10px}.form-grid,.requests-header{flex-direction:column}.request-card{flex-wrap:wrap}}.rankings-page{margin:0 auto;max-width:800px;padding:20px}.rankings-loading{color:#888;padding:40px;text-align:center}.rankings-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.rankings-header h1{align-items:center;color:#fff;display:flex;font-size:1.4rem;gap:10px;margin:0}.period-select{display:flex;gap:4px}.period-select button{background:#ffffff0f;border:none;border-radius:8px;color:#888;cursor:pointer;font-size:.8rem;padding:6px 12px}.period-select button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.rankings-tabs{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.rankings-tabs button{align-items:center;background:#ffffff0f;border:none;border-radius:10px;color:#888;cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 16px;white-space:nowrap}.rankings-tabs button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.ranking-list{display:flex;flex-direction:column;gap:6px}.ranking-empty{color:#555;padding:40px;text-align:center}.ranking-item{align-items:center;background:#ffffff0a;border-radius:12px;display:flex;gap:12px;padding:12px 14px;transition:background .2s}.ranking-item:hover{background:#ffffff12}.ranking-item.clickable{cursor:pointer}.rank-num{color:#555;font-size:1.1rem;font-weight:700;min-width:30px;text-align:center}.rank-cover{border-radius:8px;object-fit:cover}.rank-avatar,.rank-cover{flex-shrink:0;height:48px;width:48px}.rank-avatar{align-items:center;background:#6c5ce740;border-radius:50%;color:#6c5ce7;color:var(--primary,#6c5ce7);display:flex;font-size:1.2rem;font-weight:700;justify-content:center}.rank-info{flex:1 1;min-width:0}.rank-title{color:#fff;font-size:.95rem;font-weight:600}.rank-sub,.rank-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-sub{color:#666;font-size:.8rem}.rank-stats{flex-shrink:0;text-align:right}.rank-stat-main{color:#ddd;font-size:.9rem;font-weight:600}.rank-stat-main span{color:#888;font-size:.75rem;font-weight:400}.rank-stat-sub{color:#555;font-size:.7rem}.rank-play{color:#555;flex-shrink:0;font-size:.8rem}.ranking-item.clickable:hover .rank-play{color:#6c5ce7;color:var(--primary,#6c5ce7)}@media (max-width:600px){.rankings-header{align-items:flex-start;flex-direction:column}.rank-avatar,.rank-cover{height:40px;width:40px}}.party-page{margin:0 auto;max-width:1000px;padding:20px}.party-hero{padding:40px 20px;text-align:center}.party-hero h1{color:#fff;font-size:2rem;margin:0 0 8px}.party-hero p{color:#888;font-size:1rem;margin:0 0 24px}.party-hero-actions{display:flex;gap:12px;justify-content:center}.party-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:12px 24px}.party-btn.primary{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.party-btn.secondary{background:#ffffff14;color:#ddd}.party-modal{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;margin-left:auto;margin-right:auto;margin-top:20px;max-width:400px;padding:20px}.party-modal h3{color:#ddd;font-size:1rem;margin:0 0 12px}.party-modal input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;margin-bottom:12px;padding:10px;width:100%}.party-modal input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.party-modal-actions{display:flex;gap:8px}.party-modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;padding:10px}.party-modal-actions button:first-child{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.party-modal-actions button.cancel{background:#ffffff0f;color:#888}.my-parties{margin-top:24px}.my-parties h2{color:#ddd;font-size:1.1rem;margin-bottom:12px}.party-card{align-items:center;background:#ffffff0a;border-radius:12px;cursor:pointer;display:flex;gap:14px;margin-bottom:8px;padding:14px;transition:background .2s}.party-card:hover{background:#ffffff14}.party-card-info{flex:1 1}.party-card-name{color:#fff;font-size:1rem;font-weight:600}.party-card-meta{color:#666;font-size:.8rem;margin-top:2px}.party-card-join{color:#6c5ce7;color:var(--primary,#6c5ce7);font-size:1.2rem}.party-top-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.party-back{background:none;border:none;color:#aaa;cursor:pointer;font-size:.9rem}.party-top-info{flex:1 1}.party-top-info h2{color:#fff;font-size:1.2rem;margin:0}.party-code{color:#6c5ce7;color:var(--primary,#6c5ce7);gap:4px}.party-code,.party-end-btn{align-items:center;cursor:pointer;display:flex;font-size:.85rem}.party-end-btn{background:#e74c3c;border:none;border-radius:8px;color:#fff;gap:6px;padding:8px 14px}.party-layout{display:flex;gap:20px}.party-now-playing{align-items:center;background:#ffffff0a;border-radius:16px;display:flex;flex:1 1;flex-direction:column;padding:24px;text-align:center}.party-cover{border-radius:12px;box-shadow:0 8px 24px #0000004d;height:200px;margin-bottom:16px;object-fit:cover;width:200px}.party-track-title{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:4px}.party-track-artist{color:#aaa;font-size:.95rem}.party-track-album{color:#666;font-size:.8rem;margin-top:2px}.party-progress{align-items:center;color:#888;display:flex;font-size:.75rem;gap:8px;margin-top:16px;width:100%}.party-progress-bar{background:#ffffff14;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.party-progress-fill{background:#6c5ce7;background:var(--primary,#6c5ce7);border-radius:2px;height:100%;transition:width .3s}.party-controls{display:flex;gap:12px;margin-top:16px}.party-controls button{align-items:center;background:#ffffff14;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:48px;justify-content:center;transition:all .2s;width:48px}.party-controls button:first-child{background:#6c5ce7;background:var(--primary,#6c5ce7);height:56px;width:56px}.party-controls button:hover{transform:scale(1.05)}.party-controls button:disabled{opacity:.3}.party-sync-info{background:#6c5ce726;border-radius:20px;color:#fff;font-size:.9rem;margin-top:16px;padding:8px 16px}.party-no-track{color:#555;padding:40px;text-align:center}.party-no-track-icon{font-size:3rem;margin-bottom:12px;opacity:.3}.party-sidebar{display:flex;flex-direction:column;flex-shrink:0;gap:16px;width:300px}.party-members{background:#ffffff0a;border-radius:12px;padding:14px}.party-members h3{color:#ddd;font-size:.9rem;margin:0 0 10px}.party-member,.party-members h3{align-items:center;display:flex;gap:8px}.party-member{padding:6px 0}.party-member-avatar{align-items:center;background:#6c5ce740;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:28px;justify-content:center;width:28px}.party-member span{color:#ccc;font-size:.85rem}.host-badge{background:#6c5ce7;background:var(--primary,#6c5ce7);border-radius:4px;color:#fff;font-size:.6rem;margin-left:auto;padding:2px 6px}.party-queue{background:#ffffff0a;border-radius:12px;flex:1 1;overflow-y:auto;padding:14px}.party-queue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.party-queue-header h3{align-items:center;color:#ddd;display:flex;font-size:.9rem;gap:8px;margin:0}.add-track-btn{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.party-search{margin-bottom:10px}.party-search-bar{align-items:center;background:#ffffff0f;border-radius:8px;color:#888;display:flex;gap:6px;margin-bottom:6px;padding:6px 10px}.party-search-bar input{background:none;border:none;color:#fff;flex:1 1;font-size:.85rem;outline:none}.party-search-result{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background .2s}.party-search-result:hover{background:#ffffff0f}.add-icon{color:#6c5ce7;color:var(--primary,#6c5ce7);flex-shrink:0}.search-result-title{color:#ddd;font-size:.8rem}.search-result-artist{color:#666;font-size:.7rem}.queue-item{border-radius:8px;cursor:pointer;padding:8px}.queue-item.next{background:#6c5ce714}.queue-pos{color:#555;font-size:.8rem;text-align:center;width:20px}.queue-track-title{color:#ccc;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-track-artist{color:#555;font-size:.7rem}.queue-track-dur{color:#555;font-size:.75rem}.queue-empty{color:#444;font-size:.8rem;padding:16px}.party-message{border-radius:10px;bottom:100px;font-size:.85rem;left:50%;padding:10px 20px;position:fixed;transform:translateX(-50%);z-index:1000}.party-message.success{background:#00b894e6;color:#fff}.party-message.error{background:#e74c3ce6;color:#fff}@media (max-width:768px){.party-layout{flex-direction:column}.party-sidebar{width:100%}.party-cover{height:150px;width:150px}}.party-code-row{align-items:center;display:flex;gap:10px}.party-qr{background:#fff;border-radius:6px;height:60px;padding:2px;width:60px}.qr-scanner-overlay{align-items:center;background:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:300}.qr-scanner-modal{background:#1a1a2e;border-radius:16px;max-width:90vw;padding:20px;width:320px}.qr-scanner-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.qr-scanner-header h3{color:#fff;font-size:1rem;margin:0}.qr-scanner-header button{background:none;border:none;color:#888;cursor:pointer;font-size:1.2rem}.qr-scanner-video-wrap{aspect-ratio:1;background:#000;border-radius:12px;margin-bottom:12px;overflow:hidden;position:relative;width:100%}.qr-scanner-video{height:100%;object-fit:cover;width:100%}.qr-scanner-frame{border:2px solid #6c5ce7;border:2px solid var(--primary,#6c5ce7);border-radius:12px;height:70%;left:15%;position:absolute;top:15%;width:70%}.qr-scanner-error{color:#ff5050;padding:30px;text-align:center}.qr-scanner-hint{color:#888;font-size:.8rem;margin:8px 0;text-align:center}.qr-scanner-input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;box-sizing:border-box;color:#fff;font-size:1.2rem;letter-spacing:4px;padding:12px;text-align:center;width:100%}.qr-scanner-input:focus{border-color:#6c5ce7;border-color:var(--primary,#6c5ce7);outline:none}.qr-scanner-camera-hint{bottom:10px;color:#fff9;font-size:.75rem;left:0;position:absolute;right:0;text-align:center}.qr-scanner-no-camera{padding:20px;text-align:center}.qr-scanner-no-camera-icon{font-size:2.5rem;margin-bottom:8px;opacity:.5}.qr-scanner-no-camera p{color:#aaa;margin:4px 0}.qr-scanner-no-camera-sub{color:#666;font-size:.8rem}.qr-scanner-manual{display:flex;flex-direction:column;gap:10px;padding:12px 0 0}.qr-scanner-join-btn{background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;padding:12px}.qr-scanner-join-btn:disabled{cursor:not-allowed;opacity:.4}.party-listener-zone{margin-top:16px}.party-sync-btn{align-items:center;background:#6c5ce7;background:var(--primary,#6c5ce7);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;margin:0 auto;padding:12px 24px}.party-sync-btn:hover{opacity:.9}.queue-play-hint{color:#6c5ce7;color:var(--primary,#6c5ce7);flex-shrink:0;font-size:.7rem}.queue-header-actions{align-items:center;display:flex;gap:6px}.queue-clear-btn{background:#ff50501a;border-radius:50%;color:#ff5050;font-size:.7rem;height:28px;justify-content:center;width:28px}.queue-clear-btn:hover{background:#ff505033}.queue-list{display:flex;flex-direction:column;gap:4px}.queue-item{align-items:center;border-radius:10px;display:flex;gap:8px;padding:8px 10px;transition:background .2s}.queue-item:hover{background:#ffffff0a}.queue-item.next{background:#6c5ce71a;border-left:3px solid #6c5ce7;border-left:3px solid var(--primary,#6c5ce7)}.queue-cover{border-radius:6px;flex-shrink:0;height:36px;object-fit:cover;width:36px}.queue-track-info{cursor:pointer;flex:1 1;min-width:0}.queue-controls{display:flex;flex-shrink:0;gap:3px}.queue-ctrl{align-items:center;background:#ffffff0f;border:none;border-radius:6px;color:#888;cursor:pointer;display:flex;font-size:.65rem;height:26px;justify-content:center;transition:all .2s;width:26px}.queue-ctrl:hover{background:#ffffff1f;color:#fff}.queue-ctrl:disabled{cursor:default;opacity:.2}.queue-ctrl.queue-play:hover{background:#6c5ce74d;color:#6c5ce7;color:var(--primary,#6c5ce7)}.queue-ctrl.queue-remove:hover{background:#ff505033;color:#ff5050}.notif-bell-btn,.notif-bell-container{position:relative}.notif-bell-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.2rem;padding:8px}.notif-bell-btn:hover{color:#fff}.notif-badge{align-items:center;background:#e74c3c;border-radius:8px;color:#fff;font-size:.6rem;font-weight:700;height:16px;justify-content:center;min-width:16px;right:2px;top:2px}.notif-badge,.notif-dropdown{display:flex;position:absolute}.notif-dropdown{background:#1e1e2e;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 40px #00000080;flex-direction:column;max-height:420px;overflow:hidden;right:0;top:100%;width:320px;z-index:1000}.notif-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:12px 16px}.notif-header span{color:#fff;font-size:.9rem;font-weight:600}.notif-header button{background:none;border:none;color:#6c5ce7;color:var(--primary,#6c5ce7);cursor:pointer;font-size:.8rem}.notif-list{flex:1 1;overflow-y:auto}.notif-empty{color:#555;padding:30px;text-align:center}.notif-item{border-bottom:1px solid #ffffff0a;cursor:pointer;display:flex;gap:10px;padding:12px 16px}.notif-item:hover{background:#ffffff0a}.notif-item.unread{background:#6c5ce714}.notif-icon{font-size:1.2rem}.notif-content{flex:1 1}.notif-title{color:#ddd;font-size:.85rem;font-weight:500}.notif-message{color:#888;font-size:.75rem;margin-top:2px}.notif-time{color:#555;font-size:.7rem;margin-top:4px}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f1ef2;border-bottom:1px solid #ffffff0f;position:sticky;top:0;z-index:1000}.header-container{align-items:center;display:flex;height:56px;margin:0 auto;max-width:1400px;padding:0 16px}.header-logo{color:#fff;flex-shrink:0;font-size:1.1rem;font-weight:700;margin-right:16px;text-decoration:none}.header-main-nav{flex:1 1}.header-main-nav,.nav-link{align-items:center;display:flex;gap:4px}.nav-link{background:none;border:none;border-radius:8px;color:#999;cursor:pointer;font-size:.8rem;padding:6px 10px;text-decoration:none;transition:all .2s;white-space:nowrap}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.header-right{align-items:center;display:flex;flex-shrink:0;gap:6px;margin-left:auto}.radio-btn-desktop,.shuffle-btn-desktop{font-size:.8rem;padding:5px 8px}.radio-active{color:#e74c3c!important}.radio-live-dot{animation:pulse 1.5s infinite;background:#e74c3c;height:6px;width:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.theme-toggle-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px}.user-name{color:#aaa;font-size:.8rem}.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-left:4px;padding:8px;z-index:1010}.hamburger span{background:#ddd;border-radius:2px;display:block;height:2px;margin:4px 0;transition:all .3s;width:20px}.hamburger.open span:first-child{transform:translateY(6px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-overlay{background:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1004}.nav-drawer{background:#0f0f1e;border-left:1px solid #ffffff14;box-shadow:-4px 0 20px #0006;height:100vh;overflow-y:auto;padding:70px 16px 30px;position:fixed;right:-300px;top:0;transition:right .3s ease;visibility:hidden;width:280px;z-index:1005}.nav-drawer.open{right:0;visibility:visible}.drawer-section{margin-bottom:12px}.drawer-label{color:#555;font-size:.65rem;letter-spacing:1px;padding:8px 10px 4px;text-transform:uppercase}.drawer-section .nav-link{border-radius:10px;box-sizing:border-box;font-size:.9rem;padding:10px 12px;width:100%}.drawer-section .nav-link.active{background:#6c5ce733;color:#fff}.drawer-bottom{border-top:1px solid #ffffff0f;margin-top:10px;padding-top:10px}.logout-link{color:#ff5050!important}.logout-link:hover{background:#ff50501a!important}@media (max-width:768px){.header-main-nav,.radio-btn-desktop,.shuffle-btn-desktop,.theme-toggle-btn,.user-name{display:none}.nav-drawer{right:-100vw;visibility:hidden;width:100vw}}#root,body,html{overflow-x:hidden}.sleep-timer-btn,.sleep-timer-wrapper{align-items:center;display:flex;position:relative}.sleep-timer-btn{justify-content:center;min-width:32px}.sleep-timer-btn.sleep-active{color:#ffa726!important}.sleep-icon{font-size:14px}.sleep-countdown{font-feature-settings:"tnum";color:#ffa726;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600}.sleep-timer-menu{animation:sleepMenuIn .2s ease;background:#1e1e3a;border:1px solid #ffffff1f;border-radius:12px;bottom:100%;box-shadow:0 8px 32px #0006;margin-bottom:8px;min-width:180px;padding:8px 0;position:absolute;right:0;z-index:1000}@keyframes sleepMenuIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sleep-menu-title{color:#888;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.sleep-menu-active{background:#ffa72614;color:#ffa726;font-size:.9rem;padding:10px 16px}.sleep-menu-item{background:none;border:none;color:#ddd;cursor:pointer;display:block;font-family:inherit;font-size:.9rem;padding:10px 16px;text-align:left;transition:background .15s;width:100%}.sleep-menu-item:hover{background:#ffffff14;color:#fff}.sleep-menu-item.sleep-cancel{border-top:1px solid #ffffff14;color:#f44336;margin-top:4px}.sleep-menu-item.sleep-cancel:hover{background:#f443361a}body.light-theme .sleep-timer-menu{background:#fff;border-color:#e2e8f0;box-shadow:0 8px 32px #0000001f}body.light-theme .sleep-menu-title{color:#999}body.light-theme .sleep-menu-active{background:#ffa7260f}body.light-theme .sleep-menu-item{color:#333}body.light-theme .sleep-menu-item:hover{background:#667eea0f;color:#1a1a2e}body.light-theme .sleep-menu-item.sleep-cancel{border-top-color:#e2e8f0;color:#dc2626}.shuffle-btn{background:none;border:none;cursor:pointer;transition:all .3s}.shuffle-btn:hover{transform:scale(1.05)}@media (max-width:480px){.sleep-timer-menu{min-width:160px;right:-40px}.sleep-menu-item{font-size:.85rem;padding:8px 14px}.sleep-countdown{font-size:10px}}.player-compact{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293bf2;bottom:0;box-shadow:0 -4px 20px #0000004d;left:0;position:fixed;right:0;transition:all .3s ease;z-index:1000}.player-compact.expanded{height:400px}.player-bar{gap:15px;height:60px;padding:10px 20px}.player-bar,.player-close-btn{align-items:center;display:flex}.player-close-btn{background:#ef444433;border:none;border-radius:50%;color:#ef4444;cursor:pointer;flex-shrink:0;height:36px;justify-content:center;transition:all .3s ease;width:36px}.player-close-btn:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.player-info{flex:0 0 200px;overflow:hidden}.player-title{color:#fff;font-size:14px;font-weight:600}.player-artist,.player-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-artist{color:#94a3b8;font-size:12px}.player-controls-compact{align-items:center;display:flex;flex-shrink:0;gap:10px}.ctrl-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.ctrl-btn:hover{background:#ffffff1a;transform:scale(1.1)}.play-btn-compact{background:#667eea;height:40px;width:40px}.play-btn-compact:hover{background:#5568d3;transform:scale(1.15)}.player-progress-compact{align-items:center;display:flex;flex:1 1;gap:10px}.time-compact{color:#cbd5e1;font-size:12px;min-width:40px;text-align:center}.progress-slider-compact{-webkit-appearance:none;background:#fff3;border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none}.progress-slider-compact::-webkit-slider-thumb{-webkit-appearance:none;background:#667eea;border-radius:50%;cursor:pointer;height:14px;-webkit-transition:all .3s ease;transition:all .3s ease;width:14px}.progress-slider-compact::-webkit-slider-thumb:hover{background:#5568d3;transform:scale(1.2)}.player-volume-compact{align-items:center;display:flex;flex-shrink:0;gap:8px}.volume-slider-compact{-webkit-appearance:none;background:#fff3;border-radius:2px;cursor:pointer;height:4px;outline:none;width:80px}.volume-slider-compact::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:12px;width:12px}.player-expand-btn{align-items:center;background:#667eea33;border:none;border-radius:50%;color:#667eea;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .3s ease;width:36px}.player-expand-btn:hover{background:#667eea;color:#fff;transform:scale(1.1)}.player-playlist-expanded{border-top:1px solid #ffffff1a;height:340px;overflow:hidden;padding:20px}.player-playlist-expanded h3{color:#fff;font-size:16px;margin:0 0 15px}.playlist-scroll{height:calc(100% - 35px);overflow-y:auto;padding-right:10px}.playlist-scroll::-webkit-scrollbar{width:8px}.playlist-scroll::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.playlist-scroll::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.playlist-scroll::-webkit-scrollbar-thumb:hover{background:#667eea}.disc-header-compact{border-left:3px solid #667eea;color:#667eea;font-size:14px;font-weight:600;margin:15px 0 10px;padding-left:10px}.playlist-item-compact{border-radius:8px;cursor:pointer;gap:12px;margin-bottom:5px;padding:10px;transition:all .2s ease}.playlist-item-compact:hover{background:#ffffff1a}.playlist-item-compact.active{background:#667eea4d}.track-num-compact{color:#94a3b8;font-size:12px;min-width:25px;text-align:center}.track-info-compact{flex:1 1;overflow:hidden}.track-name-compact{color:#fff;font-size:14px;font-weight:500}.track-artist-compact,.track-name-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist-compact{color:#94a3b8;font-size:12px}.track-dur-compact{color:#cbd5e1;font-size:12px;min-width:45px;text-align:right}@media (max-width:768px){.player-bar{flex-wrap:wrap;height:auto;padding:10px}.player-info{flex:1 1 100%;order:1}.player-controls-compact{flex:0 0 auto;order:2}.player-progress-compact{flex:1 1 100%;margin-top:10px;order:3}.player-volume-compact{display:none}}.cast-button{--disconnected-color:#94a3b8;--connected-color:#667eea;cursor:pointer;margin-right:10px}.casting-badge{background:#667eea33;border-radius:10px;color:#667eea;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.shares-table-container{margin-top:16px;overflow-x:auto}.shares-table{border-collapse:collapse;font-size:.9rem;width:100%}.shares-table th{background:#ffffff14;color:#ccc;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.shares-table td{border-bottom:1px solid #ffffff0f;color:#ddd;padding:12px 16px}.share-row:hover{background:#ffffff0a}.share-row-expired{opacity:.5}.share-row-maxed{opacity:.7}.share-content-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-badge{border-radius:12px;font-size:.8rem;padding:4px 10px;white-space:nowrap}.badge-active{background:#4caf5033;color:#4caf50}.badge-expired{background:#f4433633;color:#f44336}.badge-maxed{background:#ff980033;color:#ff9800}.track-item{gap:8px}.track-item,.track-main{align-items:center;display:flex}.track-main{cursor:pointer;flex:1 1;gap:12px;min-width:0;padding:10px 0}.track-actions{display:flex;flex-shrink:0;gap:4px}.track-action-btn{background:none;border:none;border-radius:6px;color:#888;cursor:pointer;font-size:.8rem;padding:6px 8px;transition:all .2s}.track-action-btn:hover{background:#ffffff1a;color:#667eea}.album-modal-header-actions{align-items:center;display:flex;gap:8px}.album-header-btn{background:#ffffff1a;border:none;border-radius:8px;color:#ccc;cursor:pointer;padding:8px 12px;transition:all .2s}.album-header-btn:hover{background:#667eea4d;color:#667eea}.player-extra-actions,.playlist-item-compact{align-items:center;display:flex;gap:4px}.playlist-item-main{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:10px;min-width:0;padding:8px 0}.playlist-item-actions{display:flex;flex-shrink:0;gap:2px}.playlist-action-btn{background:none;border:none;border-radius:4px;color:#777;cursor:pointer;font-size:.75rem;padding:4px 6px;transition:all .2s}.playlist-action-btn:hover{background:#ffffff1a;color:#667eea}.share-tracklist{margin-top:20px;width:100%}.share-tracklist h3{color:#ccc;font-size:1rem;margin-bottom:12px}.share-track-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:background .2s}.share-track-item:hover{background:#ffffff14}.share-track-item.active{background:#667eea33}.share-track-num{color:#888;font-size:.85rem;text-align:center;width:24px}.share-track-info{flex:1 1;min-width:0}.share-track-title{color:#fff;display:block;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-track-artist{color:#888;font-size:.8rem}.share-track-duration{color:#888;font-size:.85rem}.share-now-playing{color:#667eea;font-size:.9rem;margin-top:4px}.share-nav-btn{background:none;border:none;border-radius:50%;color:#ccc;cursor:pointer;padding:8px;transition:all .2s}.share-nav-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.share-nav-btn:disabled{cursor:default;opacity:.3}.share-controls{align-items:center;display:flex;gap:16px;justify-content:center}@media (max-width:768px){.shares-table{font-size:.8rem}.shares-table td,.shares-table th{padding:8px 10px}.track-actions{gap:2px}.player-extra-actions{display:none}}.share-link-cell{max-width:180px}.share-link-box{align-items:center;display:flex;gap:6px}.share-link-text{color:#667eea;font-family:monospace;font-size:.8rem;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.share-link-text:hover{color:#8b9cf7;text-decoration:underline}.share-copy-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:2px 4px;transition:background .2s}.share-copy-btn:hover{background:#ffffff1a}.playlists-toolbar{margin-bottom:20px}.create-playlist-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;gap:8px;padding:12px 20px;transition:opacity .2s}.create-playlist-btn:hover{opacity:.9}.create-playlist-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.create-playlist-form input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:.9rem;min-width:200px;outline:none;padding:10px 14px}.create-playlist-form input:focus{border-color:#667eea}.btn-create{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 18px}.btn-create:disabled{opacity:.5}.btn-cancel{background:#ffffff1a;border:none;border-radius:8px;color:#ccc;cursor:pointer;font-size:1rem;padding:10px 14px}.playlist-card-actions{display:flex;gap:4px}.playlist-edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:4px 6px}.playlist-edit-btn:hover{background:#ffffff1a}.playlist-desc{color:#888;font-size:.8rem;margin:2px 0}.playlist-count{color:#aaa;font-size:.85rem}.playlist-detail-desc{color:#999;font-size:.9rem;margin:4px 0}.playlist-track-action{background:none;border:none;border-radius:6px;color:#888;cursor:pointer;padding:6px 8px;transition:all .2s}.playlist-track-action:hover{background:#ffffff1a;color:#667eea}.playlist-edit-modal{background:#1a1a2e;border-radius:16px;max-width:400px;padding:24px;width:90%}.playlist-edit-modal h3{color:#fff;margin:0 0 16px}.playlist-edit-modal input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:.9rem;margin-bottom:10px;outline:none;padding:10px 14px;width:100%}.playlist-edit-modal input:focus{border-color:#667eea}.edit-modal-actions{display:flex;gap:8px;margin-top:8px}.radio-nav-btn{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;font-family:inherit;gap:6px}.radio-nav-btn.radio-active{color:#ff9800!important}.radio-live-dot{animation:radio-pulse 1.2s ease-in-out infinite;background:#f44;border-radius:50%;display:inline-block;height:7px;margin-left:2px;width:7px}@keyframes radio-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.player-compact.radio-mode{border-top:2px solid #ff9800}.radio-icon-player{color:#ff9800;font-size:.85rem;margin-right:6px}.radio-live-badge{animation:radio-pulse 1.2s ease-in-out infinite;background:#f44;border-radius:4px;color:#fff;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.5px;margin-left:8px;padding:2px 6px}.player-radio-info{align-items:center;color:#ff9800;display:flex;flex:1 1;font-size:.85rem;gap:8px;justify-content:center}.radio-wave{animation:radio-wave-anim 1.5s ease-in-out infinite;font-size:1.2rem}@keyframes radio-wave-anim{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.radio-stream-text{color:#ccc;font-size:.85rem}@media (max-width:768px){.player-radio-info{display:none}}.import-mode-toggle{background:#ffffff0d;border-radius:12px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.toggle-btn{align-items:center;background:none;border:none;border-radius:10px;color:#888;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;gap:8px;justify-content:center;padding:12px 16px;transition:all .3s}.toggle-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.toggle-btn:hover:not(.active){background:#ffffff14;color:#ccc}.collection-import .form-group{margin-bottom:16px}.collection-preview{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin:16px 0;padding:16px}.collection-preview h3{align-items:center;color:#fff;display:flex;gap:8px;margin:0 0 12px}.detected-albums-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.detected-album-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;gap:12px;padding:10px}.detected-album-cover{align-items:center;background:#1a1a2e;border-radius:6px;display:flex;flex-shrink:0;height:50px;justify-content:center;overflow:hidden;width:50px}.detected-album-cover img{height:100%;object-fit:cover;width:100%}.no-cover-detected{font-size:1.5rem}.detected-album-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.detected-album-name-input{background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;color:#fff;font-size:.9rem;padding:6px 10px;width:100%}.detected-album-name-input:focus{border-color:#667eea;outline:none}.detected-album-meta{color:#888;font-size:.8rem}.collection-progress{margin:16px 0}.collection-progress p{color:#ccc;margin-bottom:8px}.collections-admin-section{background:#667eea14;border:1px solid #667eea33;border-radius:12px;margin-bottom:24px;padding:16px}.collections-admin-section h3{align-items:center;color:#667eea;display:flex;gap:8px;margin:0 0 12px}.collections-admin-list{display:flex;flex-direction:column;gap:6px}.collection-admin-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.collection-admin-info{display:flex;flex-direction:column;gap:2px}.collection-admin-info strong{color:#fff}.collection-admin-meta{color:#888;font-size:.8rem}.collection-admin-actions{display:flex;gap:6px}.collections-section{margin-bottom:30px}.section-title{align-items:center;border-bottom:1px solid #ffffff1a;color:#fff;display:flex;font-size:1.2rem;gap:8px;margin:0 0 16px;padding-bottom:8px}.collections-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.collection-card{cursor:pointer;transition:transform .3s,box-shadow .3s}.collection-card:hover{transform:translateY(-4px)}.collection-cover-stack{margin-bottom:8px;padding-top:100%;position:relative;width:100%}.stack-card{background:#2a2a4a;border-radius:10px;position:absolute}.stack-3{bottom:8px;left:8px;opacity:.3;right:8px;top:0}.stack-2{bottom:4px;left:4px;opacity:.5;right:4px;top:4px}.stack-1{border-radius:10px;bottom:0;box-shadow:0 4px 15px #0006;left:0;overflow:hidden;right:0;top:8px}.stack-1 img{height:100%;object-fit:cover;width:100%}.collection-cover-placeholder{align-items:center;background:linear-gradient(135deg,#1a1a2e,#2a2a4a);color:#667eea;display:flex;font-size:2rem;height:100%;justify-content:center;width:100%}.collection-cover-placeholder.large{border-radius:12px;font-size:3rem;height:120px;width:120px}.collection-info{text-align:center}.collection-name{color:#fff;font-size:.95rem;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-count{color:#888;font-size:.8rem;gap:4px;margin:0}.collection-count,.collection-modal-overlay{align-items:center;display:flex;justify-content:center}.collection-modal-overlay{background:#000000d9;bottom:0;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.collection-modal{background:#12122a;border-radius:20px;max-height:90vh;max-width:900px;overflow-y:auto;padding:24px;position:relative;width:100%}.collection-modal-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s;width:36px;z-index:1}.collection-modal-close:hover{background:#fff3}.collection-modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:20px;margin-bottom:24px;padding-bottom:16px}.collection-modal-cover{border-radius:12px;flex-shrink:0;height:120px;overflow:hidden;width:120px}.collection-modal-cover img{height:100%;object-fit:cover;width:100%}.collection-modal-info h2{color:#fff;margin:0 0 8px}.collection-desc{color:#999;font-size:.9rem;margin:4px 0}.collection-modal-count{color:#888;font-size:.85rem}.collection-modal-albums{display:flex;flex-direction:column;gap:16px}.collection-modal-albums .albums-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.no-albums{color:#888;padding:40px 0;text-align:center}.edit-collection-modal{background:#1a1a2e;border-radius:16px;max-width:450px;padding:24px;width:90%}.edit-collection-modal h3{align-items:center;color:#fff;display:flex;gap:8px;margin:0 0 16px}@media (max-width:768px){.collections-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.collection-modal-header{flex-direction:column;text-align:center}.collection-modal-albums .albums-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.detected-album-item,.import-mode-toggle{flex-direction:column}.detected-album-item{text-align:center}}.album-collection-badge{align-items:center;background:#667eea26;border-radius:6px;color:#667eea;display:flex;font-size:.7rem;gap:4px;margin-top:4px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.cast-button,google-cast-launcher{height:24px!important;max-height:24px!important;max-width:24px!important;width:24px!important}.edit-cover-dropzone{background:#667eea0d;border:2px dashed #667eea4d;border-radius:10px;cursor:pointer;padding:16px;text-align:center;transition:all .3s}.edit-cover-dropzone.dragover,.edit-cover-dropzone:hover{background:#667eea1f;border-color:#667eea}@media (max-width:480px){.player-container{padding-bottom:110px}.player-bar{padding:6px 10px}.player-info{min-width:0}.player-info .track-title{font-size:13px}.player-info .track-artist{font-size:11px}.player-cover-mini{height:36px;width:36px}.player-controls-compact button{font-size:14px;padding:4px}.player-controls-compact .play-btn-compact{font-size:14px;height:36px;width:36px}.time-display{font-size:10px}.player-close-btn,.player-expand-btn{font-size:12px;height:28px;width:28px}.player-compact{border-radius:14px 14px 0 0}.player-bar{flex-wrap:nowrap;gap:10px;height:auto;padding:8px 12px}.player-close-btn{font-size:11px;height:28px;min-width:28px;order:-1;width:28px}.player-cover-mini{border-radius:6px;height:40px;min-width:40px;width:40px}.player-info{flex:1 1;min-width:0;overflow:hidden}.player-title{font-size:13px;font-weight:600}.player-artist,.player-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-artist{font-size:11px;opacity:.7}.player-controls-compact{align-items:center;display:flex;flex-shrink:0;gap:2px}.player-controls-compact .ctrl-btn{align-items:center;display:flex;font-size:12px;height:32px;justify-content:center;padding:0;width:32px}.player-controls-compact .play-btn-compact{background:#667eea;border-radius:50%;color:#fff;font-size:15px;height:38px;width:38px}.player-progress-compact{flex:1 1 100%;gap:6px;margin-top:2px;order:10}.time-compact{font-size:9px;min-width:28px;opacity:.6}.progress-slider-compact{height:3px}.player-volume-compact{display:none!important}.player-extra-actions{display:none}.player-expand-btn{flex-shrink:0;font-size:12px;height:28px;width:28px}.radio-live-badge{font-size:9px;padding:1px 5px}.player-radio-info,.radio-icon-player{font-size:11px}.cast-button,google-cast-launcher{display:none!important}.player-compact.expanded{border-radius:20px 20px 0 0;height:70vh}.player-playlist-expanded{padding:8px}.playlist-scroll{max-height:calc(70vh - 100px)}}.queue-toggle-btn{position:relative}.queue-toggle-btn.has-queue{color:#667eea!important}.queue-badge{align-items:center;background:#667eea;border-radius:8px;color:#fff;display:flex;font-size:9px;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-4px;top:-4px}.player-queue-expanded{background:#0a0a1efa;border-top:1px solid #ffffff14;display:flex;flex-direction:column;max-height:300px}.queue-header{align-items:center;display:flex;justify-content:space-between;padding:12px 20px 8px}.queue-header h3{color:#fff;font-size:.95rem;margin:0}.queue-clear-btn{align-items:center;background:#f443361a;border:none;border-radius:6px;color:#f44336;cursor:pointer;display:flex;font-family:inherit;font-size:.8rem;gap:6px;padding:4px 12px;transition:background .2s}.queue-clear-btn:hover{background:#f4433633}.queue-empty{padding:20px;text-align:center}.queue-empty p{color:#888;font-size:.9rem;margin:4px 0}.queue-hint{color:#666!important;font-size:.8rem!important}.queue-item{border-left:3px solid #667eea}.queue-num{color:#667eea!important;font-weight:600}.queue-remove-btn{color:#888!important}.queue-remove-btn:hover{background:#f443361a;color:#f44336!important}body.light-theme .player-queue-expanded{background:#fff;border-top-color:#e2e8f0}body.light-theme .queue-header h3{color:#1a1a2e}body.light-theme .queue-empty p{color:#999}body.light-theme .queue-item{border-left-color:#667eea}.track-queue-btn{background:none;border:none;border-radius:4px;color:#888;cursor:pointer;font-size:.8rem;padding:4px 6px;transition:all .2s}.track-queue-btn:hover{background:#667eea1a;color:#667eea}body.light-theme .track-queue-btn:hover{background:#667eea14}@media (max-width:480px){.player-bar{flex-wrap:wrap;gap:4px;padding:6px 8px}.player-info{flex:1 1;min-width:0}.player-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-artist{font-size:10px}.player-progress-compact{gap:4px;order:10;width:100%}.time-compact{font-size:10px}.player-volume-compact{display:none}.player-extra-actions{gap:2px}.ctrl-btn{font-size:12px;padding:4px}.play-btn-compact{font-size:12px!important;height:32px!important;width:32px!important}.player-close-btn{font-size:10px;padding:3px 5px}.sleep-timer-btn .sleep-icon{font-size:12px}}.crossfade-panel{background:#1a1a2e;border:1px solid #ffffff1a;border-radius:12px;bottom:100%;min-width:200px;padding:12px;position:absolute;right:80px;z-index:100}.crossfade-header{align-items:center;color:#ddd;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:10px}.crossfade-header button{background:none;border:none;color:#888;cursor:pointer;font-size:.9rem}.crossfade-options{display:flex;flex-wrap:wrap;gap:6px}.crossfade-options button{background:#ffffff0f;border:none;border-radius:8px;color:#aaa;cursor:pointer;font-size:.8rem;padding:6px 12px}.crossfade-options button.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.crossfade-options button:hover{background:#ffffff1a}.equalizer-panel{background:#1a1a2e;border-radius:16px;margin-top:12px;padding:20px}.eq-header{justify-content:space-between;margin-bottom:16px}.eq-header,.eq-header h3{align-items:center;display:flex}.eq-header h3{color:#ddd;font-size:1rem;gap:8px;margin:0}.eq-close{background:none;border:none;color:#666;cursor:pointer}.eq-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.eq-preset-btn{background:#ffffff0f;border:1px solid #0000;border-radius:16px;color:#aaa;cursor:pointer;font-size:.8rem;padding:5px 12px}.eq-preset-btn.active{background:#6c5ce7;background:var(--primary,#6c5ce7);color:#fff}.eq-sliders{height:160px;justify-content:space-around;margin-bottom:16px}.eq-slider-col,.eq-sliders{align-items:center;display:flex}.eq-slider-col{flex-direction:column;gap:6px;height:100%}.eq-gain-value{color:#888;font-size:.65rem}.eq-freq-label{color:#555;font-size:.6rem}.eq-slider{accent-color:#6c5ce7;accent-color:var(--primary,#6c5ce7);appearance:slider-vertical;direction:rtl;height:100px;width:20px;writing-mode:vertical-lr}.eq-crossfade{border-top:1px solid #ffffff14;padding-top:12px}.eq-crossfade label{color:#aaa;display:block;font-size:.85rem;margin-bottom:8px}.eq-crossfade input[type=range]{accent-color:#6c5ce7;accent-color:var(--primary,#6c5ce7);width:100%}.lyrics-panel{background:#1a1a2e;border-radius:16px;display:flex;flex-direction:column;margin-top:12px;max-height:400px;padding:20px}.lyrics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.lyrics-header h3{align-items:center;color:#ddd;display:flex;font-size:1rem;gap:8px;margin:0}.lyrics-close{background:none;border:none;color:#666;cursor:pointer}.lyrics-content{flex:1 1;overflow-y:auto;padding:10px 0;scroll-behavior:smooth;text-align:center}.lyrics-line{color:#555;font-size:1rem;line-height:2;margin:0;transition:all .3s}.lyrics-line.active{color:#fff;font-size:1.15rem;font-weight:600}.lyrics-line.past{color:#777}.no-lyrics{color:#555;font-style:italic}.lyrics-source{color:#444;font-size:.7rem;margin-top:8px;text-align:right}.lyrics-loading{align-items:center;color:#888;display:flex;gap:8px;justify-content:center}.lyrics-loading .spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.lyrics-error{color:#666;font-style:italic;text-align:center}.lyrics-offset{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;gap:12px;justify-content:center;margin-bottom:8px;padding:6px 0}.lyrics-offset button{background:#ffffff14;border:none;border-radius:12px;color:#aaa;cursor:pointer;font-size:.75rem;padding:4px 10px}.lyrics-offset button:hover{background:#ffffff26;color:#fff}.lyrics-offset span{color:#888;font-size:.8rem;min-width:50px;text-align:center}
/*# sourceMappingURL=main.44f5b0a8.css.map*/