:root{--primary-color: #ff6b6b;--primary-dark: #ff5252;--primary-light: #ff8a80;--bg-color: #0c0c0c;--text-color: #fff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--bg-overlay: rgba(0, 0, 0, .85);--bg-glass-light: rgba(255, 255, 255, .05);--bg-glass-medium: rgba(255, 255, 255, .1);--bg-glass-heavy: rgba(255, 255, 255, .15);--border-light: rgba(255, 255, 255, .1);--border-medium: rgba(255, 255, 255, .2);--border-primary: rgba(255, 107, 107, .5);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 20px;--spacing-xl: 30px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 25px;--radius-full: 50%;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-primary: 0 8px 25px rgba(255, 107, 107, .4);--transition-fast: .2s;--transition-normal: .3s;--transition-slow: .4s;--font-xs: 12px;--font-sm: 13px;--font-md: 14px;--font-base: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px}[data-theme=light]{--primary-color: #ff6b6b;--primary-dark: #ff5252;--primary-light: #ff8a80;--bg-color: #f5f5f5;--text-color: #1a1a1a;--text-secondary: rgba(0, 0, 0, .7);--text-tertiary: rgba(0, 0, 0, .5);--bg-overlay: rgba(255, 255, 255, .95);--bg-glass-light: rgba(255, 255, 255, .6);--bg-glass-medium: rgba(255, 255, 255, .8);--bg-glass-heavy: rgba(255, 255, 255, .9);--border-light: rgba(0, 0, 0, .1);--border-medium: rgba(0, 0, 0, .15);--border-primary: rgba(255, 107, 107, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .15);--shadow-primary: 0 8px 25px rgba(255, 107, 107, .3)}body,.navbar,.bg-overlay,.content-section,.player-section,.stats-section-sidebar,.song-item,.control-btn,.action-btn{transition:background-color var(--transition-normal) ease,color var(--transition-normal) ease,border-color var(--transition-normal) ease}*{margin:0;padding:0;box-sizing:border-box}html{max-width:100vw;overflow-x:hidden;position:relative;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-color);color:var(--text-color);font-size:var(--font-base);overflow-x:hidden;max-width:100vw;width:100%;position:relative}.bg-animation{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradientBG 15s ease infinite;z-index:-2}.bg-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;backdrop-filter:blur(20px);z-index:-1}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.navbar{background:var(--bg-glass-medium);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);padding:15px 0;position:sticky;top:0;z-index:100}.nav-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-2xl);font-weight:700;color:var(--text-color)}.logo i{color:var(--primary-color);font-size:28px}.search-container{flex:1;max-width:600px;margin:0 40px;position:relative}.search-wrapper{display:flex;background:var(--bg-glass-heavy);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-medium);transition:all var(--transition-normal) ease;max-width:100%;box-sizing:border-box}.search-wrapper:focus-within{background:var(--bg-glass-medium);border-color:var(--primary-color);box-shadow:0 0 20px #ff6b6b4d}.search-source-badge{display:flex;align-items:center;padding:0 16px;font-size:13px;font-weight:600;color:#fffc;background:#ffffff14;border-right:1px solid var(--border-light);letter-spacing:1px;text-transform:uppercase}.search-input{flex:1;padding:12px 20px;background:transparent;border:none;color:#fff;font-size:16px;outline:none;min-width:0;box-sizing:border-box}.search-input::placeholder{color:#fff9}.source-select{background:#ffffff1a;border:none;color:#fff;padding:12px 15px;outline:none;cursor:pointer;flex-shrink:0;box-sizing:border-box}.source-select option{background:#2a2a2a;color:#fff}.content-type-select{background:linear-gradient(135deg,#667eea26,#764ba226);border:2px solid rgba(102,126,234,.3);border-right:1px solid var(--border-light);color:#fff;padding:12px 15px;outline:none;cursor:pointer;flex-shrink:0;box-sizing:border-box;font-size:14px;font-weight:600;transition:all var(--transition-normal) ease;position:relative;overflow:hidden;box-shadow:0 2px 8px #667eea33}.content-type-select:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;z-index:0}.content-type-select:hover:before{left:100%}.content-type-select:hover{background:linear-gradient(135deg,#667eea40,#764ba240);border-color:#667eea99;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.content-type-select:focus{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-color:#667eeacc;box-shadow:0 0 0 3px #667eea4d,0 4px 12px #667eea80}.content-type-select:active{transform:translateY(0);box-shadow:0 2px 6px #667eea4d}.content-type-select option{background:#2a2a2a;color:#fff;padding:12px;font-weight:600}.search-btn{background:var(--primary-color);border:none;color:var(--text-color);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:all var(--transition-normal) ease}.search-btn:hover{background:var(--primary-dark)}.search-btn i{pointer-events:none}.search-history-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-glass-heavy);backdrop-filter:blur(20px);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000;animation:slideDown var(--transition-fast) ease-out}.search-history-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);background:var(--bg-glass-light)}.search-history-header span{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary)}.clear-history-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast) ease}.clear-history-btn:hover{background:#ff6b6b1a;color:var(--primary-color)}.search-history-list{max-height:300px;overflow-y:auto}.search-history-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;gap:var(--spacing-md);border-bottom:1px solid var(--border-light)}.search-history-item:last-child{border-bottom:none}.search-history-item:hover{background:var(--bg-glass-medium);color:var(--primary-color)}.search-history-item i{color:var(--text-tertiary);font-size:var(--font-sm)}.search-history-item:hover i{color:var(--primary-color)}.search-history-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-sm)}.img-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-glass-light) 0%,var(--bg-glass-medium) 100%);border:2px dashed var(--border-medium);border-radius:var(--radius-md);position:relative;overflow:hidden}.img-placeholder:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.03) 50%,transparent 60%);background-size:200% 200%;animation:shimmer 3s infinite}@keyframes shimmer{0%{background-position:-200% -200%}to{background-position:200% 200%}}.img-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);z-index:1;color:var(--text-tertiary)}.img-placeholder-content i{font-size:2em;opacity:.6}.img-placeholder-text{font-size:var(--font-xs);opacity:.8}.img-placeholder[style*=width][style*=px]{min-width:40px;min-height:40px}.img-placeholder[style*="width: 40px"] .img-placeholder-text,.img-placeholder[style*="width: 50px"] .img-placeholder-text,.img-placeholder[style*="width: 60px"] .img-placeholder-text{display:none}.img-placeholder[style*="width: 40px"] .img-placeholder-content i,.img-placeholder[style*="width: 50px"] .img-placeholder-content i,.img-placeholder[style*="width: 60px"] .img-placeholder-content i{font-size:1.2em}.skeleton{background:linear-gradient(90deg,var(--bg-glass-light) 0%,var(--bg-glass-medium) 50%,var(--bg-glass-light) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton-song-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-glass-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.skeleton-song-cover{width:50px;height:50px;flex-shrink:0}.skeleton-song-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-song-title{height:16px;width:60%}.skeleton-song-artist{height:14px;width:40%}.skeleton-song-actions{display:flex;gap:var(--spacing-sm)}.skeleton-btn{width:32px;height:32px;border-radius:var(--radius-sm)}.skeleton-search-results{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.skeleton-card{background:var(--bg-glass-light);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-card-header{height:20px;width:50%}.skeleton-card-content{height:60px;width:100%}.skeleton-card-footer{height:14px;width:30%}.skeleton-text{height:14px;width:100%}.skeleton-text-short{width:60%}.skeleton-text-medium{width:80%}.main-container{max-width:1800px;margin:0 auto;padding:20px;display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:20px;min-height:calc(100vh - 200px)}.content-section,.player-section,.stats-section-sidebar{background:#ffffff0d;border-radius:20px;padding:15px;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;height:calc(100vh - 180px);overflow:hidden}.section-title{font-size:20px;font-weight:600;margin-bottom:20px;color:#fff;display:flex;align-items:center;gap:10px}.footer{background:#ffffff0d;backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);padding:30px 0;margin-top:40px}.footer-content{max-width:1400px;margin:0 auto;padding:0 30px;text-align:center}.footer-info p{margin:8px 0;color:#fff9;font-size:14px}.github-link{color:#ffffffb3;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:all .3s ease}.github-link:hover{color:#ff6b6b}.github-link i{font-size:16px}.tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px}.tab-btn{padding:12px 20px;cursor:pointer;background:transparent;border:none;color:#fff9;font-size:16px;transition:all .3s ease;border-bottom:2px solid transparent}.tab-btn:hover{color:#fff}.tab-btn.active{color:#ff6b6b;border-bottom-color:#ff6b6b}.tab-content{display:none;flex:1;overflow:auto;flex-direction:column}.tab-content.active{display:flex}.playlist-input-container{display:flex;gap:10px;margin-bottom:20px}.playlist-input{flex:1;padding:12px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:16px;outline:none}.playlist-btn{padding:12px 20px;background:#ff6b6b;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease}.playlist-btn:hover{background:#ff5252}.hot-playlists-section{margin-top:25px}.hot-playlists-section h4{font-size:16px;font-weight:600;margin-bottom:15px;color:var(--text-color);display:flex;align-items:center;gap:8px}.hot-playlists-section h4 i{color:var(--primary-color);font-size:18px}.hot-playlists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px}.hot-playlist-card{background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:15px;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden}.hot-playlist-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,107,.2),transparent);transition:left var(--transition-slow) ease}.hot-playlist-card:hover{background:var(--bg-glass-heavy);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md),0 0 20px #ff6b6b33}.hot-playlist-card:hover:before{left:100%}.hot-playlist-icon{font-size:28px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#ff6b6b1a;border-radius:var(--radius-sm);flex-shrink:0}.hot-playlist-name{font-size:var(--font-md);font-weight:600;color:var(--text-color);flex:1}.hot-playlist-arrow{color:var(--text-tertiary);font-size:var(--font-xs);transition:all var(--transition-fast) ease}.hot-playlist-card:hover .hot-playlist-arrow{color:var(--primary-color);transform:translate(3px)}.daily-recommend-section{display:flex;gap:12px;margin-bottom:20px;padding:12px;background:var(--bg-glass-light);border-radius:var(--radius-md);border:1px solid var(--border-light);position:relative;overflow:hidden}.daily-recommend-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,107,107,.1) 0%,transparent 70%);animation:pulse-glow 3s ease-in-out infinite;pointer-events:none}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.daily-recommend-btn,.refresh-recommend-btn{flex:1;padding:12px 20px;border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-md);font-weight:600;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;box-shadow:0 4px 15px #0003}.daily-recommend-btn:before,.refresh-recommend-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.daily-recommend-btn:hover:before,.refresh-recommend-btn:hover:before{left:100%}.daily-recommend-btn{background:linear-gradient(135deg,var(--primary-color) 0%,#667eea 100%)}.refresh-recommend-btn{background:linear-gradient(135deg,#f093fb,#f5576c)}.daily-recommend-btn:hover,.refresh-recommend-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #ff6b6b66;filter:brightness(1.1)}.daily-recommend-btn:active,.refresh-recommend-btn:active{transform:translateY(-1px) scale(.98);box-shadow:0 2px 10px #0000004d}.daily-recommend-btn i,.refresh-recommend-btn i{font-size:16px;transition:transform var(--transition-normal) ease}.daily-recommend-btn:hover i,.refresh-recommend-btn:hover i{transform:scale(1.2) rotate(5deg)}.refresh-recommend-btn:hover i{animation:rotate-icon .6s ease-in-out}@keyframes rotate-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-results{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.song-item{display:flex;align-items:center;padding:15px 20px;border-radius:12px;cursor:pointer;transition:all .3s ease;margin-bottom:8px}.song-item:hover{background:#ffffff1a;transform:translateY(-2px)}.song-item.active{background:linear-gradient(135deg,#ff6b6b4d,#ff6b6b1a);border:1px solid rgba(255,107,107,.5)}.song-index{width:40px;height:40px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;margin-right:15px;font-size:14px;font-weight:600;color:#ffffffb3}.song-item.active .song-index{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff}.song-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.song-name{font-weight:600;font-size:15px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-color)}.song-artist{color:var(--text-secondary);font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-album{color:var(--text-tertiary);font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.song-duration{color:var(--text-tertiary);font-size:13px;margin-left:15px;min-width:45px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.song-actions{display:flex;gap:8px;margin-left:15px}.action-btn{width:32px;height:32px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#ffffffb3;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.action-btn:hover{background:#fff3;color:#fff;transform:scale(1.1)}.action-btn.favorited{background:#ff6b6b4d;border-color:#ff6b6b80;color:#ff6b6b}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn:disabled:hover{transform:none}.song-checkbox{width:18px;height:18px;margin-right:12px;cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.song-checkbox:hover{transform:scale(1.1)}.batch-actions-bar{display:none;align-items:center;justify-content:space-between;padding:15px 20px;background:linear-gradient(135deg,#ff6b6b33,#ff6b6b1a);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:15px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.batch-actions-left{display:flex;align-items:center;gap:15px}.batch-count{font-size:var(--font-md);font-weight:600;color:var(--primary-color)}.batch-actions-right{display:flex;gap:10px}.batch-action-btn{padding:8px 16px;background:var(--bg-glass-light);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-color);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;gap:6px}.batch-action-btn:hover:not(:disabled){background:var(--bg-glass-medium);border-color:var(--primary-color);transform:translateY(-2px)}.batch-action-btn:disabled{opacity:.5;cursor:not-allowed}.batch-action-btn i{font-size:var(--font-sm)}.player-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;padding:10px 0;gap:12px}.current-song{text-align:center;margin-bottom:25px}.current-cover-container{position:relative;display:inline-block;margin-bottom:20px}.current-cover{width:160px;height:160px;border-radius:50%;object-fit:cover;box-shadow:0 25px 50px #00000080;border:6px solid rgba(255,255,255,.1)}.current-cover.playing{animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.current-info h3{font-size:20px;font-weight:600;margin-bottom:8px}.current-info p{color:#ffffffb3;font-size:16px}.player-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:25px}.control-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#fff3;transform:scale(1.1)}.control-btn.small{width:40px;height:40px;font-size:16px}.play-btn{width:56px;height:56px;font-size:24px;background:linear-gradient(135deg,#ff6b6b,#ff5252);box-shadow:0 8px 25px #ff6b6b66}.play-btn:hover{background:linear-gradient(135deg,#ff5252,#f44)}.progress-container{margin-bottom:20px}.progress-bar{width:100%;height:6px;background:#fff3;border-radius:3px;cursor:pointer;margin-bottom:10px;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ff8a80);border-radius:3px;width:0%;transition:width .1s ease;position:relative}.progress-fill:after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000004d}.time-info{display:flex;justify-content:space-between;font-size:13px;color:#ffffffb3}.volume-container{display:flex;align-items:center;gap:12px;margin-bottom:25px}.quality-control-container{display:flex;justify-content:center;align-items:center;margin:15px 0;padding:0 20px}.quality-toggle-btn{background:linear-gradient(135deg,#ff6b6b26,#4ecdc426);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);padding:12px 24px;cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;gap:10px;color:var(--text-primary);font-size:var(--font-md);font-weight:600;position:relative;overflow:hidden;min-width:160px;justify-content:center}.quality-toggle-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));opacity:0;transition:opacity var(--transition-fast) ease;z-index:0}.quality-toggle-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 20px #ff6b6b66}.quality-toggle-btn:hover:before{opacity:.2}.quality-toggle-btn i{font-size:18px;position:relative;z-index:1;color:var(--primary-color)}.quality-toggle-btn span{position:relative;z-index:1}@media (max-width: 768px){.quality-control-container{padding:0 10px;margin:12px 0}.quality-toggle-btn{padding:10px 20px;font-size:var(--font-sm);min-width:140px}.quality-toggle-btn i{font-size:16px}}.volume-icon{color:#ffffffb3;font-size:18px}.volume-slider{flex:1;height:4px;background:#fff3;border-radius:2px;outline:none;cursor:pointer;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#ff6b6b;border-radius:50%;cursor:pointer}.quality-download-container{display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:10px;margin-bottom:20px}.quality-select{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:8px 12px;outline:none;cursor:pointer}.quality-select option{background:#2a2a2a}.download-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:13px;white-space:nowrap}.download-btn i{font-size:14px}.download-btn span{display:inline-block}.download-btn:hover:not(:disabled){background:#fff3;border-color:#ff6b6b}.download-btn:disabled{opacity:.5;cursor:not-allowed}.loading,.error,.empty-state{text-align:center;padding:40px 20px;color:#ffffffb3}.loading i,.error i,.empty-state i{font-size:48px;margin-bottom:15px;display:block}.loading i{animation:spin 1s linear infinite;color:#ff6b6b}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.playlist-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(10px);z-index:1000;align-items:center;justify-content:center}.playlist-modal.show{display:flex}.playlist-modal-content{background:#1e1e1ef2;border-radius:20px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.playlist-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.playlist-modal-header h3{margin:0;font-size:20px;display:flex;align-items:center;gap:10px}.close-modal-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.close-modal-btn:hover{background:#f443364d;transform:rotate(90deg)}.playlist-modal-body{flex:1;overflow-y:auto;padding:20px 25px}.playlist-modal-footer{display:flex;gap:10px;padding:15px 25px;border-top:1px solid rgba(255,255,255,.1)}.modal-btn{flex:1;padding:12px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.modal-btn:hover{background:#ff6b6b4d}.playlist-item{display:flex;align-items:center;padding:10px 12px;margin-bottom:8px;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .3s ease}.playlist-item:hover{background:#ffffff1a}.playlist-item.active{background:#ff6b6b33}.playlist-item-info{flex:1;min-width:0}.playlist-item-name{font-weight:600;font-size:14px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-item-artist{font-size:12px;color:#fff9}.playlist-item-remove{background:#ffffff1a;border:none;width:28px;height:28px;border-radius:50%;color:#ffffffb3;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.playlist-item-remove:hover{background:#f443364d;color:#fff}.stats-section-sidebar{padding:20px}.stats-header-inline{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.stats-header-inline h3{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.stats-header-inline h3 i{color:var(--primary-color)}.stats-tabs-inline{display:flex;gap:8px;margin-bottom:15px}.stats-tabs-inline .stats-tab{flex:1;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.stats-tabs-inline .stats-tab:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px)}.stats-tabs-inline .stats-tab.active{background:linear-gradient(135deg,#ff6b6b,#ff5252);border-color:transparent;color:#fff;box-shadow:0 2px 10px #ff6b6b4d}.stats-content-inline{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.stats-content-inline::-webkit-scrollbar{width:4px}.stats-content-inline::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.lyrics-container-inline{margin-bottom:20px;padding:15px;background:#ffffff08;border-radius:12px;min-height:90px;max-height:90px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.lyrics-header-inline{display:flex;justify-content:flex-end;margin-bottom:5px}.lyrics-download-btn{padding:4px 10px;background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-color);cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500}.lyrics-download-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.lyrics-download-btn:disabled{opacity:.5;cursor:not-allowed}.lyrics-download-btn i{font-size:11px}.lyrics-container-inline .lyric-line{text-align:center;font-size:13px;line-height:1.5;transition:all .6s cubic-bezier(.4,0,.2,1);color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:24px;opacity:.5;transform:translateY(0) scale(.93);will-change:opacity,transform,color,font-size}.lyrics-container-inline .lyric-line.lyric-current,.lyrics-container-inline .lyric-line.active{color:var(--primary-color);font-size:16px;font-weight:700;opacity:1;transform:translateY(0) scale(1.05);text-shadow:0 0 12px rgba(255,107,107,.5),0 0 20px rgba(255,107,107,.3),0 2px 4px rgba(0,0,0,.3);letter-spacing:.5px;filter:brightness(1.1);animation:lyricHighlight .6s ease-out}.lyrics-container-inline .lyric-line.lyric-prev{font-size:12px;color:#fff6;opacity:.6;transform:translateY(-8px) scale(.9);filter:blur(.3px);animation:scrollUpFadeOut .6s ease-out}.lyrics-container-inline .lyric-line.lyric-next{font-size:12px;color:#fff6;opacity:.6;transform:translateY(8px) scale(.9);filter:blur(.3px);animation:scrollUpFadeIn .6s ease-out}@keyframes lyricHighlight{0%{opacity:.6;transform:translateY(20px) scale(.9);color:#fff6}to{opacity:1;transform:translateY(0) scale(1.05);color:var(--primary-color)}}@keyframes scrollUpFadeOut{0%{opacity:1;transform:translateY(0) scale(1.05)}to{opacity:.6;transform:translateY(-8px) scale(.9)}}@keyframes scrollUpFadeIn{0%{opacity:0;transform:translateY(30px) scale(.85)}to{opacity:.6;transform:translateY(8px) scale(.9)}}@media (max-width: 1400px){.main-container{grid-template-columns:1fr 1fr 1fr;max-width:1200px}}@media (max-width: 1024px){.main-container{grid-template-columns:1fr 1fr;max-width:900px}.stats-section-sidebar{display:none}}@media (max-width: 768px){.navbar{position:fixed;width:100%;padding:10px 0;z-index:100;max-width:100vw;left:0;right:0}.nav-container{flex-direction:column;gap:8px;padding:0 15px;max-width:100vw;box-sizing:border-box;width:100%}.logo{font-size:18px}.search-container{margin:0;width:100%;max-width:100%;box-sizing:border-box;padding:0;overflow:hidden}.search-wrapper{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.search-source-badge{padding:0 12px;font-size:12px}.search-input{font-size:16px;min-width:0;flex:1;padding:10px 15px}.source-select{font-size:14px;min-width:70px;max-width:85px;flex-shrink:0;padding:10px 12px}.search-btn{padding:10px 15px;flex-shrink:0}.content-type-select{padding:8px 12px;font-size:13px;border-width:1px;box-shadow:0 1px 4px #667eea26;min-width:75px;max-width:90px}.content-type-select:hover{transform:none;box-shadow:0 2px 6px #667eea40}.daily-recommend-section{gap:8px;padding:10px 8px;margin-bottom:15px;flex-wrap:wrap}.daily-recommend-section:before{display:none}.daily-recommend-btn,.refresh-recommend-btn{flex:1 1 calc(50% - 4px);min-width:calc(50% - 4px);padding:10px 16px;font-size:var(--font-sm);min-height:44px;gap:6px;box-shadow:0 2px 8px #00000026}.daily-recommend-btn:before,.refresh-recommend-btn:before{display:none}.daily-recommend-btn:hover,.refresh-recommend-btn:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 4px 12px #ff6b6b4d;filter:brightness(1.05)}.daily-recommend-btn:active,.refresh-recommend-btn:active{transform:translateY(0) scale(.99);box-shadow:0 1px 6px #0003}.daily-recommend-btn i,.refresh-recommend-btn i{font-size:14px}.main-container{display:flex;flex-direction:row;gap:0;padding:0;margin-top:130px;min-height:calc(100vh - 130px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100vw;max-width:100vw;overscroll-behavior-x:contain;overscroll-behavior-y:none;scroll-padding:0;position:relative}.main-container::-webkit-scrollbar{display:none}.content-section,.player-section,.stats-section-sidebar{flex:0 0 100vw;width:100vw;max-width:100vw;min-width:100vw;height:calc(100vh - 140px);max-height:calc(100vh - 140px);overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;border-radius:0;padding:12px;margin:0;overscroll-behavior-y:auto;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;box-sizing:border-box}.player-section{overflow-y:hidden;padding:12px 14px 18px}.player-section .player-content{padding:6px 0 10px;gap:10px;overflow:hidden}.player-section .current-song{margin-bottom:8px}.player-section .player-controls{margin-bottom:8px;gap:16px}.player-section .lyrics-container-inline{margin-bottom:10px;min-height:80px;max-height:80px;padding:8px 14px}.player-section .progress-container{margin-bottom:10px}.player-section .volume-container{margin-bottom:60px;padding-bottom:10px}.stats-section-sidebar{display:flex}.song-item{padding:12px 8px;margin-bottom:6px}.song-index{width:35px;height:35px;font-size:13px;margin-right:10px}.song-name{font-size:15px}.song-artist{font-size:13px}.action-btn{width:30px;height:30px;font-size:13px}.tab-btn{padding:10px 12px;font-size:14px}.playlist-parse-section{padding:15px 10px;margin-bottom:15px}.parse-input-group{flex-direction:row;gap:8px;flex-wrap:nowrap}.parse-input{flex:1;min-width:0;padding:10px 12px;font-size:16px;box-sizing:border-box}.parse-btn{padding:10px 16px;font-size:14px;white-space:nowrap;flex-shrink:0}.hot-playlists-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 5px}.hot-playlist-item{padding:15px;text-align:center}.batch-actions-bar{flex-direction:column;gap:12px;padding:10px;margin-bottom:15px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.batch-actions-left,.batch-actions-right{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.batch-count{width:100%;text-align:center;font-size:14px;font-weight:600;color:var(--primary-color);margin-bottom:5px}.batch-action-btn{flex:1;min-width:0;padding:8px 12px;font-size:13px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-action-btn:disabled{opacity:.5;cursor:not-allowed}.tabs{gap:8px;margin-bottom:15px}.batch-actions-bar{flex-direction:column;gap:10px;padding:12px}.batch-actions-left,.batch-actions-right{width:100%;justify-content:space-between}.batch-action-btn{padding:8px 12px;font-size:13px;flex:1}.batch-count{font-size:13px}.song-checkbox{width:16px;height:16px;margin-right:8px}.current-cover{width:140px;height:140px}.page-indicators{display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);gap:10px;z-index:150;padding:10px 20px;background:#0009;border-radius:20px;backdrop-filter:blur(10px);pointer-events:auto}.page-indicator{width:10px;height:10px;border-radius:50%;background:#fff6;border:none;cursor:pointer;transition:all .3s ease}.page-indicator.active{width:30px;border-radius:5px;background:var(--primary-color);box-shadow:0 0 10px #ff6b6b80}.footer{display:none}.lyric-line .lyric-original{font-size:14px}.lyric-line .lyric-translation{font-size:12px}.lyrics-container-inline .lyric-original{font-size:13px}.lyrics-container-inline .lyric-translation{font-size:11px}.lyrics-container-inline .lyric-line.lyric-current,.lyrics-container-inline .lyric-line.active{font-size:15px;font-weight:700}.lyrics-container-inline .lyric-line.lyric-prev,.lyrics-container-inline .lyric-line.lyric-next{font-size:11px}.discover-nav{flex-direction:column;gap:var(--spacing-xs)}.artist-filters{flex-direction:column;gap:var(--spacing-sm)}.filter-group{width:100%;justify-content:space-between}.filter-group select{min-width:120px}.artist-grid{grid-template-columns:1fr}.artist-detail-header,.playlist-detail-header{flex-direction:column;text-align:center;gap:var(--spacing-md)}.artist-detail-info{flex-direction:column}.hot-playlists-controls,.user-playlists-controls{flex-direction:column;align-items:stretch}.hot-playlists-grid,.user-playlists-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-sm)}.nav-buttons-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.nav-buttons-grid.category-grid{grid-template-columns:1fr;gap:15px}.nav-buttons-grid.alphabet-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:8px}.nav-button{padding:15px 10px;min-height:80px}.nav-button-icon{font-size:2em}.nav-button-label{font-size:var(--font-sm)}.nav-button-large{min-height:100px;padding:20px 15px}.nav-button-small{min-height:50px;padding:10px 5px}.rank-selection-grid{grid-template-columns:1fr;gap:12px}.rank-selection-card{padding:15px}.rank-selection-icon{font-size:30px;width:50px;height:50px}.rank-detail-header,.playlist-detail-header{padding:15px;flex-direction:column;align-items:flex-start;gap:12px}.rank-detail-title,.playlist-detail-title{font-size:var(--font-lg)}.back-btn{align-self:flex-start}}@media (max-width: 480px){.navbar{padding:8px 0}.logo{font-size:18px}.logo i{font-size:22px}.search-input{padding:10px 15px;font-size:14px}.source-select{padding:10px 12px;font-size:14px}.song-item{padding:10px 12px}.song-index{width:35px;height:35px;font-size:13px}.song-name{font-size:14px}.song-artist{font-size:12px}.current-cover{width:120px;height:120px}.current-info h3{font-size:16px}.current-info p{font-size:13px}.control-btn.small{width:36px;height:36px;font-size:14px}.play-btn{width:50px;height:50px;font-size:20px}.main-container{margin-top:125px;min-height:calc(100vh - 125px)}.content-section,.player-section,.stats-section-sidebar{height:calc(100vh - 130px);max-height:calc(100vh - 130px);padding:10px}.player-content{gap:6px;padding:3px 0;justify-content:flex-start}.current-song,.player-controls{margin-bottom:6px}.lyrics-container-inline{margin-bottom:8px;min-height:65px;max-height:65px;padding:8px 10px}.lyrics-container-inline .lyric-line{font-size:12px;height:20px}.lyrics-container-inline .lyric-line.lyric-current,.lyrics-container-inline .lyric-line.active{font-size:15px}.lyrics-container-inline .lyric-line.lyric-prev,.lyrics-container-inline .lyric-line.lyric-next{font-size:11px}.progress-container{margin-bottom:8px}.volume-container{margin-bottom:60px;padding-bottom:10px}}.page-indicators{display:none;justify-content:center;gap:8px;padding:15px 0;position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:90}.page-indicator{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease;border:none;padding:0}.page-indicator.active{width:24px;border-radius:4px;background:linear-gradient(135deg,#ff6b6b,#ff5252)}.lyrics-container{max-height:300px;overflow-y:auto;padding:15px;background:#ffffff08;border-radius:12px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.lyrics-container::-webkit-scrollbar{width:4px}.lyrics-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.lyrics-line{padding:8px 0;color:#ffffff80;font-size:14px;line-height:1.6;text-align:center;transition:all .3s ease}.lyrics-line.active{color:#ff6b6b;font-size:16px;font-weight:600;transform:scale(1.05)}.lyrics-empty{text-align:center;color:#fff6;padding:40px 20px;font-size:14px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}.rank-panel{position:fixed;top:0;right:-100%;width:500px;height:100vh;background:#141414fa;backdrop-filter:blur(30px);border-left:1px solid rgba(255,255,255,.1);z-index:999;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 50px #00000080}.rank-panel.active{right:0}.rank-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.rank-header h3{margin:0;font-size:24px;font-weight:700;background:linear-gradient(135deg,#ff6b6b,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rank-close{background:#ffffff1a;border:none;width:40px;height:40px;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.rank-close:hover{background:#f443364d;transform:rotate(90deg)}.rank-buttons-container{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px;margin-bottom:15px}.rank-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:15px 10px;background:var(--bg-glass-light);border:2px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-color);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal) ease;position:relative;overflow:hidden}.rank-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,107,.1),transparent);transition:left .5s ease}.rank-btn:hover{background:var(--bg-glass-medium);border-color:var(--border-primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.rank-btn:hover:before{left:100%}.rank-btn.active{background:linear-gradient(135deg,#ff6b6b33,#ff6b6b1a);border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b6b33}.rank-btn:active{transform:translateY(-1px)}.rank-icon{font-size:32px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.rank-name{font-size:var(--font-base);font-weight:700;letter-spacing:.5px}.rank-selector-container{display:flex;align-items:flex-end;gap:15px;padding:20px 30px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.rank-select-group{flex:1;display:flex;flex-direction:column;gap:8px}.rank-select-group label{font-size:13px;font-weight:600;color:#ffffffb3;margin-left:5px}.rank-source-select,.rank-list-select{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none}.rank-source-select:hover,.rank-list-select:hover{background:#ffffff14;border-color:#ff6b6b4d}.rank-source-select:focus,.rank-list-select:focus{background:#ffffff1a;border-color:#ff6b6b80;box-shadow:0 0 0 3px #ff6b6b1a}.rank-source-select option,.rank-list-select option{background:#1a1a1a;color:#fff;padding:10px}.rank-load-btn{padding:12px 24px;background:linear-gradient(135deg,#ff6b6b,#ff5252);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}.rank-load-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff5252,#f44);transform:translateY(-2px);box-shadow:0 5px 20px #ff6b6b66}.rank-load-btn:disabled{background:#ffffff1a;cursor:not-allowed;opacity:.5}.rank-load-btn i{font-size:12px}.rank-songs{flex:1;overflow-y:auto;padding:20px 30px}.rank-songs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(255,107,107,.3)}.rank-songs-header h4{margin:0;font-size:20px;font-weight:700;color:#ff6b6b}.play-all-btn{padding:10px 20px;background:linear-gradient(135deg,#ff6b6b,#ff5252);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.play-all-btn:hover{background:linear-gradient(135deg,#ff5252,#f44);transform:scale(1.05);box-shadow:0 5px 20px #ff6b6b66}.rank-songs-list{display:flex;flex-direction:column;gap:10px}.rank-song-item{display:flex;align-items:center;padding:12px 15px;background:#ffffff0d;border-radius:10px;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.rank-song-item:hover{background:#ffffff1a;border-color:#ff6b6b4d;transform:translate(3px)}.rank-number{min-width:35px;height:35px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:8px;font-weight:700;font-size:14px;margin-right:15px}.rank-song-item:nth-child(1) .rank-number{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.rank-song-item:nth-child(2) .rank-number{background:linear-gradient(135deg,silver,#e8e8e8);color:#000}.rank-song-item:nth-child(3) .rank-number{background:linear-gradient(135deg,#cd7f32,#d4a76a);color:#000}.rank-song-info{flex:1;min-width:0;margin-right:15px}.rank-song-name{font-weight:600;font-size:15px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-song-artist{font-size:13px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-play-btn{width:35px;height:35px;background:#ff6b6b4d;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.rank-play-btn:hover{background:linear-gradient(135deg,#ff6b6b,#ff5252);transform:scale(1.1)}.loading,.no-data,.error{text-align:center;padding:60px 20px;color:#fff9;font-size:16px}@media (max-width: 768px){.rank-panel{width:100%;right:-100%}.rank-lists{max-height:30vh}.rank-buttons-container{grid-template-columns:repeat(2,1fr);gap:12px;padding:15px}.rank-btn{flex-direction:row;justify-content:flex-start;gap:15px;padding:15px 20px}.rank-icon{font-size:28px}.rank-name{font-size:var(--font-md)}}.rank-list-header{margin-bottom:25px;text-align:center}.rank-list-header h3{margin:0;font-size:var(--font-2xl);font-weight:700;color:var(--primary-color);text-shadow:0 2px 10px rgba(255,107,107,.3)}.rank-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;padding:10px 0}.rank-selection-card{background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden}.rank-selection-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,107,.2),transparent);transition:left var(--transition-slow) ease}.rank-selection-card:hover{background:var(--bg-glass-heavy);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md),0 0 20px #ff6b6b33}.rank-selection-card:hover:before{left:100%}.rank-selection-icon{font-size:36px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ff6b6b1a;border-radius:var(--radius-md);flex-shrink:0}.rank-selection-name{font-size:var(--font-lg);font-weight:600;color:var(--text-color);flex:1}.rank-selection-arrow{color:var(--text-tertiary);font-size:var(--font-sm);transition:all var(--transition-fast) ease}.rank-selection-card:hover .rank-selection-arrow{color:var(--primary-color);transform:translate(3px)}.rank-detail-header{background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden}.rank-detail-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light))}.rank-detail-info{flex:1}.rank-detail-title{margin:0 0 5px;font-size:var(--font-xl);font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:10px}.rank-detail-title .rank-icon{font-size:28px}.rank-detail-desc{margin:0;color:var(--text-secondary);font-size:var(--font-sm)}.playlist-detail-header{background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden}.playlist-detail-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-light))}.playlist-detail-info{flex:1}.playlist-detail-title{margin:0 0 5px;font-size:var(--font-xl);font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:10px}.playlist-detail-title .playlist-icon{font-size:28px}.playlist-detail-desc{margin:0;color:var(--text-secondary);font-size:var(--font-sm)}.playlist-songs-list{display:flex;flex-direction:column;gap:10px}.back-btn{background:#ffffff1a;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:10px 15px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;gap:8px;font-size:var(--font-sm);font-weight:500}.back-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translate(-2px)}.back-btn i{font-size:14px}.nav-stage-container{width:100%;animation:fadeIn .3s ease}.nav-stage-header{display:flex;align-items:center;gap:15px;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid rgba(255,255,255,.1)}.nav-stage-header h3{font-size:var(--font-xl);color:var(--text-primary);margin:0;display:flex;align-items:center;gap:10px}.breadcrumb-hint{font-size:var(--font-sm);color:var(--text-tertiary);font-weight:400;margin-left:10px}.result-count{font-size:var(--font-sm);color:var(--text-tertiary);margin:5px 0 0}.nav-buttons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;margin-top:20px}.nav-buttons-grid.category-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.nav-buttons-grid.alphabet-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:10px}.nav-button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:20px 15px;cursor:pointer;transition:all var(--transition-fast) ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:100px;position:relative;overflow:hidden;color:#ffffffe6}.nav-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));opacity:0;transition:opacity var(--transition-fast) ease;z-index:0}.nav-button:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 10px 25px rgba(var(--primary-rgb),.3)}.nav-button:hover:before{opacity:.15}.nav-button-icon{font-size:2.5em;position:relative;z-index:1}.nav-button-label{font-size:var(--font-md);color:#fffffff2;font-weight:500;position:relative;z-index:1}.nav-button-large{min-height:140px;padding:30px 20px}.nav-button-large .nav-button-icon{font-size:3.5em}.nav-button-large .nav-button-label{font-size:var(--font-lg);font-weight:600}.nav-button-small{min-height:60px;padding:12px 8px}.nav-button-small .nav-button-label{font-size:var(--font-md);font-weight:600}.nav-buttons-container{display:flex;flex-direction:column;gap:12px;margin-top:20px}.playlist-parse-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:20px;margin-bottom:25px}.playlist-parse-section h4{font-size:var(--font-md);color:var(--text-primary);margin:0 0 15px;display:flex;align-items:center;gap:10px}.playlist-parse-section h4 i{color:var(--primary-color)}.parse-input-group{display:flex;gap:12px;align-items:center}.parse-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);padding:12px 16px;color:var(--text-primary);font-size:var(--font-sm);transition:all var(--transition-fast) ease}.parse-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b6b1a}.parse-input::placeholder{color:var(--text-tertiary)}.parse-btn{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:var(--radius-sm);padding:12px 24px;color:#fff;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.parse-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b6b66}.parse-btn:active{transform:translateY(0)}.parse-btn i{font-size:14px}@media (max-width: 768px){.playlist-parse-section{padding:15px}.parse-input-group{flex-direction:column;gap:10px}.parse-input{width:100%}.parse-btn{width:100%;justify-content:center}}.nav-btn-item{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:18px 20px;cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden;color:var(--text-primary);text-align:left;width:100%}.nav-btn-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));opacity:0;transition:opacity var(--transition-fast) ease;z-index:0}.nav-btn-item:hover{border-color:var(--primary-color);transform:translate(5px);box-shadow:0 8px 20px #ff6b6b4d}.nav-btn-item:hover:before{opacity:.12}.nav-btn-item .btn-icon{font-size:2em;flex-shrink:0;position:relative;z-index:1;width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:var(--radius-sm)}.nav-btn-item:hover .btn-icon{background:#ffffff26}.nav-btn-item .btn-content{flex:1;display:flex;flex-direction:column;gap:6px;position:relative;z-index:1;min-width:0}.nav-btn-item .btn-title{font-size:var(--font-md);font-weight:600;color:var(--text-primary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nav-btn-item .btn-subtitle{font-size:var(--font-sm);color:var(--text-tertiary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-btn-item .btn-subtitle i{font-size:12px}.nav-btn-item .btn-arrow{font-size:18px;color:var(--text-tertiary);transition:transform var(--transition-fast) ease;position:relative;z-index:1;flex-shrink:0}.nav-btn-item:hover .btn-arrow{color:var(--primary-color);transform:translate(5px)}@media (max-width: 768px){.nav-btn-item{padding:15px 16px;gap:12px}.nav-btn-item .btn-icon{font-size:1.6em;width:40px;height:40px}.nav-btn-item .btn-title{font-size:var(--font-sm)}.nav-btn-item .btn-subtitle{font-size:12px}}.recommend-panel{position:fixed;top:0;right:-100%;width:500px;height:100vh;background:#141414fa;backdrop-filter:blur(30px);border-left:1px solid rgba(255,255,255,.1);z-index:998;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 50px #00000080}.recommend-panel.active{right:0}.recommend-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.recommend-header h3{margin:0;font-size:24px;font-weight:700;background:linear-gradient(135deg,#ff6b6b,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.recommend-close{background:#ffffff1a;border:none;width:40px;height:40px;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.recommend-close:hover{background:#f443364d;transform:rotate(90deg)}.recommend-info{padding:20px 30px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.recommend-info p{margin:5px 0;color:#ffffffb3;font-size:14px}.recommend-date{color:#ffffff80;font-size:13px}.recommend-actions{display:flex;gap:10px;padding:15px 30px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.recommend-refresh-btn,.recommend-ai-btn,.recommend-play-all-btn{flex:1;padding:12px 20px;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.recommend-refresh-btn{background:linear-gradient(135deg,#4a90e2,#357abd)}.recommend-refresh-btn:hover{background:linear-gradient(135deg,#357abd,#2868a8);transform:translateY(-1px);box-shadow:0 4px 15px #4a90e266}.recommend-ai-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.recommend-ai-btn:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);transform:translateY(-1px);box-shadow:0 4px 15px #9b59b666}.recommend-play-all-btn{background:linear-gradient(135deg,#ff6b6b,#ff5252)}.recommend-play-all-btn:hover{background:linear-gradient(135deg,#ff5252,#f44);transform:translateY(-1px);box-shadow:0 4px 15px #ff6b6b66}.recommend-songs{flex:1;overflow-y:auto;padding:20px 30px}.recommend-songs-list{display:flex;flex-direction:column;gap:10px}.recommend-song-item{display:flex;align-items:center;padding:12px 15px;background:#ffffff0d;border-radius:10px;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.recommend-song-item:hover{background:#ffffff1a;border-color:#ff6b6b4d;transform:translate(3px)}.recommend-number{min-width:35px;height:35px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:8px;font-weight:700;font-size:14px;margin-right:15px;color:#ffffffb3}.recommend-song-item:nth-child(-n+3) .recommend-number{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff}.recommend-song-info{flex:1;min-width:0;margin-right:15px}.recommend-song-name{font-weight:600;font-size:15px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-song-artist{font-size:13px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-play-btn{width:35px;height:35px;background:#ff6b6b4d;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.recommend-play-btn:hover{background:linear-gradient(135deg,#ff6b6b,#ff5252);transform:scale(1.1)}@media (max-width: 768px){.recommend-panel{width:100%;right:-100%}}.stats-panel{position:fixed;top:0;right:-100%;width:550px;height:100vh;background:#141414fa;backdrop-filter:blur(30px);border-left:1px solid rgba(255,255,255,.1);z-index:997;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 50px #00000080}.stats-panel.active{right:0}.stats-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.stats-header h3{margin:0;font-size:24px;font-weight:700;background:linear-gradient(135deg,#ff6b6b,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-close{background:#ffffff1a;border:none;width:40px;height:40px;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.stats-close:hover{background:#f443364d;transform:rotate(90deg)}.stats-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:15px 20px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.stats-card{background:#ffffff0d;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.1)}.stats-card-icon{font-size:28px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#ff6b6b33;border-radius:8px;flex-shrink:0}.stats-card-info{flex:1;min-width:0}.stats-card-value{font-size:18px;font-weight:700;color:#ff6b6b;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-card-label{font-size:11px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-tabs{display:flex;padding:15px 30px;gap:10px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.stats-tab{flex:1;padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#ffffffb3;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.stats-tab:hover{background:#ffffff1a;color:#fff}.stats-tab.active{background:linear-gradient(135deg,#ff6b6b4d,#ffa5004d);border-color:#ff6b6b80;color:#fff}.stats-content{flex:1;overflow-y:auto;padding:20px 30px}.stats-tab-content{display:none}.stats-tab-content.active{display:block}.stats-list{display:flex;flex-direction:column;gap:12px}.stats-item{display:flex;align-items:center;padding:15px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.stats-item:hover{background:#ffffff14;border-color:#ff6b6b4d}.stats-rank{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:10px;font-weight:700;font-size:16px;margin-right:15px}.stats-rank.top-1{background:linear-gradient(135deg,gold,#ffed4e);color:#000;font-size:18px}.stats-rank.top-2{background:linear-gradient(135deg,silver,#e8e8e8);color:#000}.stats-rank.top-3{background:linear-gradient(135deg,#cd7f32,#d4a76a);color:#000}.stats-item-info{flex:1;min-width:0;margin-right:15px}.stats-item-name{font-weight:600;font-size:15px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-item-artist{font-size:13px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-item-data{text-align:right}.stats-item-count{font-size:16px;font-weight:700;color:#ff6b6b;margin-bottom:4px}.stats-item-duration{font-size:12px;color:#ffffff80}.stats-empty{text-align:center;padding:60px 20px;color:#ffffff80;font-size:14px}.stats-footer{padding:15px 30px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05}.stats-clear-btn{width:100%;padding:12px 20px;background:#f4433633;border:1px solid rgba(244,67,54,.3);border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.stats-clear-btn:hover{background:#f443364d;border-color:#f4433680}@media (max-width: 768px){.stats-panel{width:100%;right:-100%}.stats-overview{grid-template-columns:1fr;gap:10px}.stats-card{padding:12px}.stats-song-item{padding:10px 12px;margin-bottom:6px;border-radius:var(--radius-sm)}.stats-song-rank{min-width:28px;height:28px;font-size:12px;margin-right:10px}.stats-song-cover{width:36px;height:36px;margin-right:10px}.stats-song-name{font-size:13px;margin-bottom:2px}.stats-song-meta{font-size:11px}.stats-play-btn{width:28px;height:28px;font-size:10px}.stats-empty{padding:25px 15px;font-size:13px}.stats-empty:before{font-size:36px;margin-bottom:10px}.stats-song-item.playing .stats-song-cover{box-shadow:0 0 10px #ff6b6b33}}.download-progress-container{position:fixed;bottom:20px;right:20px;width:350px;max-height:400px;z-index:1001;display:none;flex-direction:column;pointer-events:auto;background:#141414f2;backdrop-filter:blur(20px);border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #00000080;overflow:hidden;transition:all .3s ease}.download-progress-container.visible{display:flex}.download-progress-container.collapsed{max-height:60px}.download-progress-header{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer;user-select:none}.download-progress-title{font-size:14px;font-weight:600;color:#fff}.download-progress-toggle{background:#ffffff1a;border:none;width:28px;height:28px;border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.download-progress-toggle:hover{background:#fff3;color:#fff}.download-progress-tasks{display:flex;flex-direction:column;gap:10px;padding:10px;max-height:340px;overflow-y:auto;transition:all .3s ease}.download-progress-container.collapsed .download-progress-tasks{max-height:0;padding:0 10px;overflow:hidden}.download-progress-tasks::-webkit-scrollbar{width:4px}.download-progress-tasks::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.download-task{background:#ffffff0d;backdrop-filter:blur(10px);border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px;transition:all .3s ease;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.download-task.completed{animation:fadeOut .3s ease-out 2s forwards}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}.download-task-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.download-task-info{flex:1;min-width:0;margin-right:10px}.download-task-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.download-task-artist{font-size:12px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.download-task-status{display:flex;align-items:center;gap:8px}.download-task-icon{font-size:20px}.download-task-icon.downloading{color:#ff6b6b;animation:spin 1s linear infinite}.download-task-icon.completed{color:#4caf50}.download-task-icon.failed{color:#f44336}.download-task-close,.download-task-remove{background:#ffffff1a;border:none;width:24px;height:24px;border-radius:50%;color:#ffffffb3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.download-task-close:hover,.download-task-remove:hover{background:#f443364d;color:#fff}.download-task-progress{flex:1;min-width:0}.download-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden;margin-bottom:6px}.download-progress-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ff8a80);border-radius:2px;transition:width .3s ease}.download-progress-text{font-size:11px;color:#fff9;display:flex;justify-content:space-between;align-items:center}.download-task-message{font-size:12px;margin-top:8px;padding:6px 10px;border-radius:6px;display:flex;align-items:center;gap:6px}.download-task-message.success{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.download-task-message.error{background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.3)}@media (max-width: 768px){.download-progress-container{width:calc(100% - 40px);right:20px;left:20px;bottom:80px}}.lazy-image{opacity:0;transition:opacity .3s ease}.lazy-image.loaded{opacity:1}.lazy-image.error{opacity:.5}.image-skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.current-cover:not(.loaded){animation:skeleton-loading 1.5s ease-in-out infinite}.song-cover:not(.loaded){animation:skeleton-loading 1.5s ease-in-out infinite}.virtual-scroll-container{position:relative;overflow-y:auto;overflow-x:hidden}.virtual-scroll-viewport{position:relative;overflow:hidden}.virtual-scroll-content{position:absolute;top:0;left:0;right:0}.virtual-scroll-spacer{pointer-events:none}.virtual-scroll-container,.search-results,.rank-songs,.recommend-songs,.stats-content{contain:layout style paint;will-change:scroll-position}.song-item,.rank-song-item,.recommend-song-item,.stats-item,.playlist-item{contain:layout style paint;will-change:transform}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,107,107,.3);border-top-color:#ff6b6b;border-radius:50%;animation:spin .8s linear infinite}.loading-overlay{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;visibility:hidden;transition:all .3s ease}.loading-overlay.active{opacity:1;visibility:visible}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (hover: none) and (pointer: coarse){.song-item,.action-btn,.control-btn,.download-btn,.rank-item,.recommend-song-item{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.action-btn,.control-btn,.download-btn,.rank-play-btn,.recommend-play-btn,.playlist-item-remove,.close-modal-btn,.rank-close,.recommend-close,.stats-close{min-width:44px;min-height:44px}.control-btn.small{min-width:44px;min-height:44px;width:44px;height:44px}.play-btn{min-width:56px;min-height:56px}.tab-btn,.stats-tab{min-height:44px;padding:12px 16px}.search-btn,.playlist-btn,.rank-load-btn,.modal-btn,.batch-action-btn{min-height:44px;padding:12px 20px}}@media print{.navbar,.player-controls,.download-progress-container,.rank-panel,.recommend-panel,.stats-panel,.page-indicators{display:none!important}body{background:#fff;color:#000}}.lyric-line .lyric-original{font-size:16px;font-weight:500;line-height:1.5;margin-bottom:4px;color:inherit}.lyric-line .lyric-translation{font-size:13px;opacity:.7;line-height:1.4;font-weight:400;color:#fff9}.lyric-line.active .lyric-original{color:#ff6b6b;font-weight:600}.lyric-line.active .lyric-translation{opacity:.85;color:#ff6b6bcc}.stats-song-item{display:flex;align-items:center;padding:12px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal) ease;margin-bottom:8px;background:var(--bg-glass-light);border:1px solid var(--border-light);position:relative;overflow:hidden}.stats-song-item:hover{background:var(--bg-glass-medium);border-color:var(--border-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.stats-song-item.clickable:hover{background:var(--bg-glass-heavy);border-color:var(--primary-color)}.stats-song-rank{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-glass-medium);border-radius:var(--radius-sm);font-weight:700;font-size:13px;margin-right:12px;color:var(--text-secondary);flex-shrink:0;border:1px solid var(--border-light)}.stats-song-cover{width:42px;height:42px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;position:relative;background:var(--bg-glass-light);border:1px solid var(--border-light);margin-right:12px;transition:all var(--transition-normal) ease}.stats-cover-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal) ease}.stats-song-item:hover .stats-song-cover{transform:scale(1.05)}.stats-song-item:hover .stats-cover-img{transform:scale(1.05) rotate(2deg)}.stats-song-item.playing .stats-song-cover{border-color:var(--primary-color);box-shadow:0 0 15px #ff6b6b4d}.stats-song-item.playing .stats-cover-img{animation:rotateCover 20s linear infinite}@keyframes rotateCover{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-song-info{flex:1;min-width:0;margin-right:10px}.stats-song-name{font-weight:600;font-size:14px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-color);line-height:1.4}.stats-song-meta{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;line-height:1.3}.stats-song-meta .meta-separator{color:var(--primary-color);font-size:8px;opacity:.7}.stats-play-btn{width:32px;height:32px;background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal) ease;flex-shrink:0}.stats-play-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.1);box-shadow:var(--shadow-primary)}.stats-song-item.playing{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);border-color:#ff6b6b4d;box-shadow:0 2px 15px #ff6b6b26}.stats-song-item.playing .stats-song-rank{background:var(--primary-color);color:#fff;animation:pulse 2s infinite}.stats-song-item.playing .stats-play-btn{background:var(--primary-color);color:#fff;transform:scale(1.05)}.stats-song-item:nth-child(1) .stats-song-rank{background:linear-gradient(135deg,gold,#ffed4e);color:#000;font-weight:800;border:none;box-shadow:0 2px 8px #ffd7004d}.stats-song-item:nth-child(2) .stats-song-rank{background:linear-gradient(135deg,silver,#e8e8e8);color:#000;font-weight:800;border:none;box-shadow:0 2px 8px #c0c0c04d}.stats-song-item:nth-child(3) .stats-song-rank{background:linear-gradient(135deg,#cd7f32,#d4a76a);color:#000;font-weight:800;border:none;box-shadow:0 2px 8px #cd7f324d}.stats-empty{text-align:center;padding:60px 20px;color:var(--text-tertiary);font-size:14px;background:var(--bg-glass-light);border-radius:var(--radius-md);border:1px dashed var(--border-light);margin:20px 0;transition:all var(--transition-normal) ease}.stats-empty:hover{border-color:var(--border-primary);background:var(--bg-glass-medium)}.stats-empty:before{content:"📭";display:block;font-size:48px;margin-bottom:16px;opacity:.7;filter:grayscale(.3);transition:all var(--transition-normal) ease}.stats-empty:hover:before{opacity:1;transform:scale(1.1)}@keyframes pulse{0%,to{box-shadow:0 0 #ff6b6b66}50%{box-shadow:0 0 0 8px #ff6b6b00}}.lyrics-container-inline .lyric-line{min-height:60px;display:flex;flex-direction:column;justify-content:center;gap:2px}.lyrics-container-inline .lyric-original{font-size:14px}.lyrics-container-inline .lyric-translation{font-size:12px}.lyrics-container-inline .lyric-current .lyric-original,.lyrics-container-inline .lyric-line.active .lyric-original{font-size:15px}.lyrics-container-inline .lyric-current .lyric-translation,.lyrics-container-inline .lyric-line.active .lyric-translation{font-size:13px}.load-more-container{display:flex;justify-content:center;padding:var(--spacing-lg) 0;margin-top:var(--spacing-md)}.load-more-btn{padding:12px 30px;background:var(--bg-glass-medium);border:2px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-color);font-size:var(--font-md);font-weight:600;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;gap:10px;position:relative;overflow:hidden}.load-more-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,107,.2),transparent);transition:left var(--transition-slow) ease}.load-more-btn:hover:not(:disabled){background:var(--bg-glass-heavy);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md),0 0 20px #ff6b6b33}.load-more-btn:hover:not(:disabled):before{left:100%}.load-more-btn:active:not(:disabled){transform:translateY(0)}.load-more-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-glass-light);border-color:var(--border-light)}.load-more-btn i{font-size:16px;transition:transform var(--transition-normal) ease}.load-more-btn:hover:not(:disabled) i{transform:translateY(2px)}.load-more-btn i.fa-spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.load-more-container{padding:var(--spacing-md) 0}.load-more-btn{padding:10px 24px;font-size:var(--font-sm);width:100%;max-width:300px}}.discover-nav{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm);background:var(--bg-glass-light);border-radius:var(--radius-md);backdrop-filter:blur(10px);border:1px solid var(--border-light)}.discover-nav-btn{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.discover-nav-btn:hover{background:var(--bg-glass-heavy);color:var(--text-color);transform:translateY(-2px)}.discover-nav-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:var(--shadow-primary)}.discover-content{display:none}.discover-content.active{display:block}.artist-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-glass-light);border-radius:var(--radius-md);backdrop-filter:blur(10px);border:1px solid var(--border-light);flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:var(--spacing-xs)}.filter-group label{color:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap}.filter-group select{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-color);font-size:14px;min-width:100px;cursor:pointer;transition:all var(--transition-fast)}.filter-group select:hover{border-color:var(--border-primary)}.filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff6b6b33}.artist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);padding:var(--spacing-sm)}.artist-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-glass-light);border-radius:var(--radius-md);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-normal);backdrop-filter:blur(10px)}.artist-card:hover{background:var(--bg-glass-medium);transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-primary)}.artist-avatar{width:60px;height:60px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;position:relative}.artist-avatar img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.artist-card:hover .artist-avatar img{transform:scale(1.05)}.artist-info{flex:1;min-width:0}.artist-name{color:var(--text-color);font-size:16px;font-weight:600;margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-stats{display:flex;gap:var(--spacing-md);color:var(--text-tertiary);font-size:12px}.artist-action{flex-shrink:0}.view-songs-btn{width:36px;height:36px;border-radius:var(--radius-full);background:var(--primary-color);border:none;color:#fff;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;font-size:14px}.view-songs-btn:hover{background:var(--primary-dark);transform:scale(1.1);box-shadow:var(--shadow-primary)}.artist-detail-header{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--bg-glass-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);backdrop-filter:blur(10px);border:1px solid var(--border-light)}.artist-detail-info{display:flex;align-items:center;gap:var(--spacing-lg);flex:1}.artist-detail-avatar{width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.artist-detail-avatar img{width:100%;height:100%;object-fit:cover}.artist-detail-text h3{color:var(--text-color);font-size:20px;font-weight:600;margin:0}.artist-detail-text p{color:var(--text-secondary);font-size:14px;margin:var(--spacing-xs) 0 0 0}.artist-songs-list{min-height:200px}.hot-playlists-controls,.user-playlists-controls{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:center;flex-wrap:wrap}.playlist-order-select,.playlist-category-select,.user-playlists-order-select,.user-playlists-category-select{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-color);font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.playlist-order-select:focus,.playlist-category-select:focus,.user-playlists-order-select:focus,.user-playlists-category-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff6b6b33}.refresh-playlists-btn,.refresh-user-playlists-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-color);font-size:14px;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-xs)}.refresh-playlists-btn:hover,.refresh-user-playlists-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.hot-playlists-grid,.user-playlists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.playlist-card{background:var(--bg-glass-light);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-normal);border:1px solid var(--border-light);backdrop-filter:blur(10px)}.playlist-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-primary)}.playlist-cover{position:relative;width:100%;aspect-ratio:1;overflow:hidden}.playlist-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.playlist-card:hover .playlist-cover img{transform:scale(1.05)}.playlist-play-count{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:#000000b3;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;display:flex;align-items:center;gap:var(--spacing-xs);backdrop-filter:blur(5px)}.playlist-info{padding:var(--spacing-md)}.playlist-name{color:var(--text-color);font-size:14px;font-weight:600;margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-creator{color:var(--text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-detail-header{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--bg-glass-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);backdrop-filter:blur(10px);border:1px solid var(--border-light)}.playlist-detail-info h3{color:var(--text-color);font-size:20px;font-weight:600;margin:0}.playlist-detail-info p{color:var(--text-secondary);font-size:14px;margin:var(--spacing-xs) 0 0 0}.playlist-songs-container{min-height:200px}@media (max-width: 768px) and (orientation: landscape){html,body{overflow-x:hidden;max-width:100vw}.navbar{padding:6px 0}.nav-container{padding:0 10px;gap:6px;max-width:100vw;box-sizing:border-box}.logo{font-size:16px}.logo i{font-size:20px}.search-container{max-width:calc(100vw - 200px)}.search-input,.source-select{padding:6px 10px;font-size:13px}.search-btn{padding:6px 10px}.main-container{margin-top:90px;min-height:calc(100vh - 90px);max-width:100vw;overflow-x:auto;overflow-y:hidden}.content-section,.player-section,.stats-section-sidebar{height:calc(100vh - 100px);max-height:calc(100vh - 100px);padding:8px;overflow-y:auto;overflow-x:hidden;width:100vw;max-width:100vw;min-width:100vw;box-sizing:border-box}.current-cover{width:90px;height:90px}.song-item{padding:6px 8px;margin-bottom:4px}.song-index{width:28px;height:28px;font-size:11px;margin-right:8px}.song-name{font-size:13px}.song-artist{font-size:11px}.control-btn.small{width:34px;height:34px;font-size:13px}.play-btn{width:44px;height:44px;font-size:18px}.page-indicators{bottom:8px;max-width:100vw;overflow:hidden}.lyrics-container-inline{min-height:60px;max-height:60px;padding:8px}.lyrics-container-inline .lyric-line{height:18px;font-size:11px}.lyrics-container-inline .lyric-line.lyric-current,.lyrics-container-inline .lyric-line.active{font-size:12px}.search-results,.tab-content,.player-content,.stats-content-inline{max-width:100%;overflow-x:hidden;box-sizing:border-box}.playlist-input,.search-input{max-width:100%;box-sizing:border-box}}.nav-actions{display:flex;gap:10px;align-items:center}.nav-btn{background:var(--bg-glass-medium);border:1px solid var(--border-light);color:var(--text-color);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;gap:6px;font-size:var(--font-sm);font-weight:500}.nav-btn:hover{background:var(--bg-glass-heavy);border-color:var(--border-primary);transform:translateY(-1px)}.nav-btn i{font-size:14px}.api-settings-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(10px);z-index:10000;justify-content:center;align-items:center;animation:fadeIn .3s ease}.api-settings-modal.show{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.api-settings-modal-content{background:#141414fa;backdrop-filter:blur(30px);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);width:90%;max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.api-settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--border-light);background:var(--bg-glass-light)}.api-settings-modal-header h3{margin:0;font-size:var(--font-xl);font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:10px}.api-settings-modal-header h3 i{color:var(--primary-color);font-size:22px}.api-settings-modal-close{background:var(--bg-glass-medium);border:1px solid var(--border-light);width:36px;height:36px;border-radius:var(--radius-full);color:var(--text-color);cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;justify-content:center;font-size:18px}.api-settings-modal-close:hover{background:#f443364d;border-color:#f4433680;color:#fff;transform:rotate(90deg)}.api-settings-modal-body{flex:1;overflow-y:auto;padding:20px 25px}.api-settings-modal-body::-webkit-scrollbar{width:6px}.api-settings-modal-body::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.api-status-info{background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:15px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.api-status-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-sm)}.api-status-label{color:var(--text-secondary);font-weight:500}.api-status-value{color:var(--text-color);font-weight:600;display:flex;align-items:center;gap:6px}.api-status-indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--primary-color);animation:pulse 2s infinite}.api-source-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.api-source-list h4{margin:0 0 10px;font-size:var(--font-base);font-weight:600;color:var(--text-color);display:flex;align-items:center;gap:8px}.api-source-list h4 i{color:var(--primary-color);font-size:16px}.api-source-card{background:var(--bg-glass-light);border:2px solid var(--border-light);border-radius:var(--radius-md);padding:15px;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.api-source-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,107,.1),transparent);transition:left var(--transition-slow) ease}.api-source-card:hover{background:var(--bg-glass-medium);border-color:var(--border-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.api-source-card:hover:before{left:100%}.api-source-card.active{background:linear-gradient(135deg,#ff6b6b33,#ff6b6b1a);border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b6b33}.api-source-card.active:after{content:"✓";position:absolute;top:10px;right:10px;width:24px;height:24px;background:var(--primary-color);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.api-source-card-header{display:flex;justify-content:space-between;align-items:center}.api-source-name{font-size:var(--font-base);font-weight:600;color:var(--text-color)}.api-source-url{font-size:var(--font-xs);color:var(--text-tertiary);font-family:Courier New,monospace;margin-top:4px;word-break:break-all}.capability-badges{display:flex;flex-wrap:wrap;gap:6px}.capability-badge{padding:4px 10px;background:var(--bg-glass-medium);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--text-secondary);display:flex;align-items:center;gap:4px;transition:all var(--transition-fast) ease}.capability-badge i{font-size:11px}.capability-badge.supported{background:#4caf501a;border-color:#4caf504d;color:#4caf50}.capability-badge.unsupported{background:#f443361a;border-color:#f443364d;color:#f44336}.api-feature-explanation{background:var(--bg-glass-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:15px;margin-bottom:20px}.api-feature-explanation h4{margin:0 0 12px;font-size:var(--font-base);font-weight:600;color:var(--text-color);display:flex;align-items:center;gap:8px}.api-feature-explanation h4 i{color:var(--primary-color);font-size:16px}.api-feature-list{display:flex;flex-direction:column;gap:8px}.api-feature-item{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-sm);color:var(--text-secondary);line-height:1.5}.api-feature-item i{color:var(--primary-color);font-size:12px;margin-top:4px;flex-shrink:0}.api-settings-modal-footer{display:flex;gap:10px;padding:15px 25px;border-top:1px solid var(--border-light);background:var(--bg-glass-light)}.api-settings-modal-footer button{flex:1;padding:12px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;justify-content:center;gap:8px}.test-all-apis-btn{background:var(--bg-glass-medium);border:1px solid var(--border-light);color:var(--text-color)}.test-all-apis-btn:hover{background:var(--bg-glass-heavy);border-color:var(--border-primary);transform:translateY(-1px)}.test-all-apis-btn:disabled{opacity:.5;cursor:not-allowed}.test-all-apis-btn i{font-size:14px}@media (max-width: 768px){.nav-actions{display:none}.api-settings-modal-content{width:95%;max-height:90vh;border-radius:var(--radius-md)}.api-settings-modal-header,.api-settings-modal-body,.api-settings-modal-footer{padding:15px}.api-settings-modal-header h3{font-size:var(--font-lg)}.api-source-card{padding:12px}.api-source-name{font-size:var(--font-sm)}.api-source-url{font-size:10px}.capability-badge{font-size:10px;padding:3px 8px}.api-settings-modal-footer{flex-direction:column}.api-settings-modal-footer button{width:100%}}@media (max-width: 480px){.api-settings-modal-content{width:100%;max-height:100vh;border-radius:0}.api-feature-explanation{padding:12px}.api-feature-item{font-size:var(--font-xs)}}.onboarding-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;pointer-events:none}.onboarding-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(3px);pointer-events:auto;animation:fadeIn .3s ease}.onboarding-highlight{position:absolute;border:3px solid var(--primary-color);border-radius:var(--radius-md);box-shadow:0 0 0 4px #ff6b6b4d,0 0 0 9999px #000000b3;pointer-events:none;transition:all .3s ease;z-index:10001;animation:pulse 2s infinite}.onboarding-tooltip{position:fixed;background:#141414fa;backdrop-filter:blur(30px);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);max-width:450px;width:90%;z-index:10002;pointer-events:auto;animation:slideUp .3s ease}.onboarding-tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px 15px;border-bottom:1px solid var(--border-light)}.onboarding-tooltip-title{margin:0;font-size:var(--font-xl);font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:10px}.onboarding-close-btn{background:var(--bg-glass-medium);border:1px solid var(--border-light);width:32px;height:32px;border-radius:var(--radius-full);color:var(--text-color);cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.onboarding-close-btn:hover{background:#f443364d;border-color:#f4433680;color:#fff;transform:rotate(90deg)}.onboarding-tooltip-body{padding:20px 25px}.onboarding-tooltip-body p{margin:0;font-size:var(--font-base);line-height:1.6;color:var(--text-secondary)}.onboarding-tooltip-footer{padding:15px 25px 20px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:15px}.onboarding-progress{display:flex;flex-direction:column;gap:8px}.onboarding-step-indicator{font-size:var(--font-sm);color:var(--text-tertiary);font-weight:600}.onboarding-progress-bar{width:100%;height:4px;background:var(--bg-glass-medium);border-radius:2px;overflow:hidden}.onboarding-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:2px;transition:width .3s ease}.onboarding-buttons{display:flex;gap:10px;justify-content:flex-end}.onboarding-btn{padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal) ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.onboarding-btn-primary{background:var(--primary-color);color:#fff}.onboarding-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.onboarding-btn-secondary{background:var(--bg-glass-medium);border:1px solid var(--border-light);color:var(--text-color)}.onboarding-btn-secondary:hover{background:var(--bg-glass-heavy);border-color:var(--border-primary);transform:translateY(-1px)}@media (max-width: 768px){.onboarding-tooltip{max-width:95%;bottom:20px;left:50%!important;top:auto!important;transform:translate(-50%)!important}.onboarding-tooltip-header{padding:15px 20px 12px}.onboarding-tooltip-title{font-size:var(--font-lg)}.onboarding-tooltip-body{padding:15px 20px}.onboarding-tooltip-body p{font-size:var(--font-sm)}.onboarding-tooltip-footer{padding:12px 20px 15px}.onboarding-buttons{flex-wrap:wrap}.onboarding-btn{flex:1;min-width:0;justify-content:center}.onboarding-highlight{border-width:2px;box-shadow:0 0 0 3px #ff6b6b4d,0 0 0 9999px #000000b3}}@media (max-width: 480px){.onboarding-tooltip{max-width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0;bottom:0}.onboarding-tooltip-header{padding:12px 15px}.onboarding-tooltip-title{font-size:var(--font-base)}.onboarding-close-btn{width:28px;height:28px;font-size:14px}.onboarding-tooltip-body{padding:12px 15px}.onboarding-tooltip-footer{padding:10px 15px 12px}.onboarding-btn{padding:8px 16px;font-size:var(--font-xs)}}.search-btn-text{margin-left:6px;font-size:14px}@media (max-width: 480px){.search-btn-text{display:none}}
