.shortcut-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.shortcut-modal-content{width:90%;max-width:480px;background:var(--surface);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0006;border:1px solid var(--border);display:flex;flex-direction:column;gap:20px;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.shortcut-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:16px}.shortcut-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary);font-weight:600}.shortcut-close-btn{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:4px;line-height:1;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:50%}.shortcut-close-btn:hover{color:var(--text-primary);background-color:var(--hover-bg)}.shortcut-modal-body{max-height:60vh;overflow-y:auto;padding-right:8px}.shortcut-modal-body::-webkit-scrollbar{width:6px}.shortcut-modal-body::-webkit-scrollbar-track{background:transparent}.shortcut-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.shortcut-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.shortcut-item:last-child{border-bottom:none}.shortcut-key{display:flex;align-items:center;gap:6px}kbd{background-color:var(--hover-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.85rem;font-weight:500;box-shadow:0 2px #0003;min-width:24px;text-align:center;display:inline-block}.shortcut-sep{color:var(--text-secondary);font-size:.9rem}.shortcut-desc{color:var(--text-secondary);font-size:.95rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--bg-gradient: linear-gradient(135deg, #0f0c1b 0%, #15102a 50%, #0a0813 100%);--glass-bg: rgba(255, 255, 255, .03);--glass-bg-hover: rgba(255, 255, 255, .08);--glass-bg-active: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .06);--glass-border-hover: rgba(255, 255, 255, .15);--primary-color: #a855f7;--primary-hover: #c084fc;--secondary-color: #3b82f6;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dark: #64748b;--sidebar-width: 240px;--player-height: 80px;font-family:Outfit,Inter,Segoe UI,-apple-system,sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{background:var(--bg-gradient);color:var(--text-main);overflow:hidden;height:100vh;width:100vw}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.app-container{display:flex;height:100vh;width:100vw;position:relative;overflow:hidden}.title-drag-region{position:absolute;top:0;left:var(--sidebar-width);right:0;height:36px;z-index:200;cursor:move}.aurora-bg{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(120px);opacity:.15;z-index:0;pointer-events:none}.aurora-1{background:var(--primary-color);top:-10%;left:20%;animation:float 20s infinite alternate}.aurora-2{background:var(--secondary-color);bottom:-10%;right:15%;animation:float 25s infinite alternate-reverse}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(50px,30px) scale(1.1)}}.sidebar{width:var(--sidebar-width);background:#0a081466;backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);padding:0 16px 24px;display:flex;flex-direction:column;z-index:10;height:calc(100vh - var(--player-height))}.window-controls{display:flex;gap:8px;padding:16px 0 20px;margin-left:-4px}.window-btn{width:28px;height:28px;border-radius:6px;border:none;background:#ffffff0f;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.window-btn:hover{background:#ffffff1f;color:var(--text-main)}.window-btn.close:hover{background:#ef4444;color:#fff}.logo-area{display:flex;align-items:center;gap:12px;padding-left:12px;margin-bottom:36px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #a855f766;font-weight:700;color:#fff}.logo-title{font-size:20px;font-weight:700;letter-spacing:.5px;background:linear-gradient(to right,#fff,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-menu{list-style:none;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;color:var(--text-muted);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;font-weight:500}.nav-item:hover{background:var(--glass-bg-hover);color:var(--text-main);transform:translate(4px)}.nav-item.active{background:#a855f726;color:var(--text-main);border-left:3px solid var(--primary-color);box-shadow:inset 0 0 12px #a855f70d}.main-content{flex:1;display:flex;flex-direction:column;height:calc(100vh - var(--player-height));z-index:10;position:relative;overflow-y:auto;padding:32px 40px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:24px;box-shadow:0 8px 32px #0003;transition:border-color .3s}.glass-card:hover{border-color:var(--glass-border-hover)}.song-list-container{display:flex;flex-direction:column;gap:8px;margin-top:20px}.song-row{display:flex;align-items:center;padding:12px 20px;border-radius:12px;background:#ffffff03;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.song-row:hover{background:var(--glass-bg-hover);border-color:var(--glass-border);transform:translateY(-2px)}.song-row.active{background:#a855f714;border-color:#a855f733}.song-col-index{width:40px;color:var(--text-dark);font-size:14px}.song-col-info{flex:2;display:flex;flex-direction:column;gap:4px}.song-title-row{display:flex;align-items:center;gap:8px}.song-name{font-weight:600;font-size:15px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.tag-hires{font-size:9px;background:linear-gradient(90deg,#d97706,#f59e0b);color:#000;font-weight:700;padding:1px 4px;border-radius:4px;letter-spacing:.5px}.tag-source{font-size:9px;background:#ffffff14;color:var(--text-muted);padding:1px 4px;border-radius:4px}.song-artist{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;align-self:flex-start;width:fit-content}.song-col-album{flex:1;font-size:14px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.song-col-duration{width:80px;text-align:right;font-size:14px;color:var(--text-muted)}.song-row-actions{opacity:1;display:flex;gap:8px;margin-left:16px;flex-shrink:0}.song-row-playable{cursor:pointer}.song-row-action-btn{background:transparent;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;transition:color .2s,background .2s}.song-row-action-btn:hover{color:var(--text-main);background:#ffffff14}.player-bar{position:absolute;bottom:0;left:0;width:100vw;height:var(--player-height);background:#0f0c1eb3;backdrop-filter:blur(24px);border-top:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100}.player-left{display:flex;align-items:center;gap:12px;width:25%}.player-cover-container{width:48px;height:48px;border-radius:8px;overflow:hidden;background:#1e1b2e;border:1px solid var(--glass-border);cursor:pointer;position:relative}.player-cover{width:100%;height:100%;object-fit:cover}.player-info{display:flex;flex-direction:column;gap:4px;max-width:180px}.player-title{font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-artist{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-center{display:flex;flex-direction:column;align-items:center;gap:8px;width:50%}.player-controls{display:flex;align-items:center;gap:24px}.control-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.control-btn:hover{color:var(--text-main);transform:scale(1.05)}.control-btn.play-pause{width:40px;height:40px;background:#fff;border-radius:50%;color:#000;box-shadow:0 0 12px #ffffff4d}.control-btn.play-pause:hover{background:#f1f5f9;transform:scale(1.1);box-shadow:0 0 16px #ffffff80}.progress-container{display:flex;align-items:center;gap:12px;width:100%;max-width:580px}.time-text{font-size:11px;color:var(--text-muted);width:38px}.time-text.right{text-align:right}.slider-bar{flex:1;height:4px;background:#ffffff1a;border-radius:2px;position:relative;cursor:pointer;transition:height .2s}.slider-bar:hover{height:6px}.slider-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:2px;position:absolute;left:0;top:0}.slider-thumb{width:10px;height:10px;background:#fff;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s;box-shadow:0 0 8px #00000080}.slider-bar:hover .slider-thumb{opacity:1}.player-right{display:flex;align-items:center;justify-content:flex-end;gap:16px;width:25%}.volume-container{display:flex;align-items:center;gap:8px;width:100px}.search-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.search-bar-row{display:flex;gap:12px;align-items:center}.search-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.search-input-wrap .input-field{width:100%;flex:1;padding-right:40px}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;border-radius:50%;background:#ffffff1a;color:var(--text-muted, rgba(255, 255, 255, .55));display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s,color .2s}.search-clear-btn:hover{background:#ffffff2e;color:var(--text-main)}.input-field{flex:1;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:12px;padding:12px 16px;color:var(--text-main);outline:none;font-size:14px;transition:all .3s}.input-field:focus{border-color:var(--primary-color);box-shadow:0 0 12px #a855f726}.primary-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:12px;color:#fff;font-weight:600;padding:0 24px;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #a855f740;display:flex;align-items:center;gap:8px}.primary-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 20px #a855f759}.search-submit-btn{padding:0;width:44px;height:44px;justify-content:center;flex-shrink:0}.source-selectors{display:flex;flex-wrap:wrap;gap:8px}.source-tab{padding:6px 12px;border-radius:8px;background:#ffffff08;border:1px solid var(--glass-border);font-size:12px;color:var(--text-muted);cursor:pointer;transition:all .2s}.source-tab:hover{background:var(--glass-bg-hover);color:var(--text-main)}.source-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 0 12px #a855f733}.setting-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05)}.type-selectors{display:flex;gap:16px;margin-top:4px;font-size:13px}.type-radio{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-muted)}.type-radio.active{color:var(--text-main);font-weight:600}.playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;margin-top:20px}.playlist-card{display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .2s}.playlist-card:hover{transform:translateY(-4px)}.playlist-cover-wrapper{width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border);position:relative;background:#1e1b2e}.playlist-card-cover{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.playlist-card:hover .playlist-card-cover{transform:scale(1.05)}.playlist-stats{position:absolute;top:6px;right:6px;background:#00000080;backdrop-filter:blur(4px);color:#fff;font-size:10px;padding:4px 8px;border-radius:12px;display:flex;align-items:center;gap:6px;font-weight:500;z-index:2}.playlist-stat-item{display:flex;align-items:center;gap:2px}.playlist-card-name{font-size:13px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.playlist-card-author{font-size:11px;color:var(--text-muted)}.lyric-view-fullscreen{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#090714;z-index:110;display:flex;transition:transform .5s cubic-bezier(.85,0,.15,1);transform:translateY(100%);overflow:hidden}.lyric-view-fullscreen.open{transform:translateY(0)}.lyric-bg-blur{position:absolute;top:-10%;left:-10%;width:120%;height:120%;background-size:cover;background-position:center;filter:blur(80px) brightness(.25);opacity:.85;z-index:0;pointer-events:none}.lyric-left-half{width:45%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:1;border-right:1px solid rgba(255,255,255,.05)}.vinyl-record{width:280px;height:280px;border-radius:50%;background:#000;border:10px solid #111;box-shadow:0 12px 48px #0009,0 0 0 1px #ffffff1a;padding:50px;display:flex;align-items:center;justify-content:center;animation:rotateRecord 20s linear infinite;animation-play-state:paused}.vinyl-record.spinning{animation-play-state:running}@keyframes rotateRecord{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vinyl-cover{width:100%;height:100%;border-radius:50%;object-fit:cover}.lyric-cover-area{display:flex;align-items:center;justify-content:center;gap:32px;width:100%}.lyric-progress-wrapper{opacity:0;pointer-events:none;transition:opacity .8s ease}.lyric-left-half:hover .lyric-progress-wrapper{opacity:1;pointer-events:auto}.lyric-control-btn{background:transparent;border:none;outline:none;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .8s ease,transform .2s ease,color .2s ease}.lyric-left-half:hover .lyric-control-btn{opacity:1;pointer-events:auto}.lyric-control-btn:hover{background:transparent;transform:scale(1.15);color:#fff}.lyric-song-info{text-align:center;display:flex;flex-direction:column;gap:8px;max-width:80%}.lyric-song-name{font-size:24px;font-weight:700;color:#fff}.lyric-song-artist{font-size:16px;color:var(--text-muted)}.lyric-right-half{width:55%;height:100%;z-index:1;position:relative;display:flex;flex-direction:column;justify-content:center;padding:40px}.lyric-list-container{height:70%;overflow-y:auto;position:relative;mask-image:linear-gradient(to bottom,transparent 0%,white 20%,white 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,white 20%,white 80%,transparent 100%);padding:120px 0;scroll-behavior:smooth}.lyric-line{font-size:18px;color:#ffffff4d;padding:16px 0;text-align:center;transition:all .3s ease;cursor:pointer}.lyric-line:hover{color:#fff9}.lyric-line.active{color:#c084fc;font-size:22px;font-weight:700;text-shadow:0 0 16px rgba(168,85,247,.4)}.close-lyric-btn{position:absolute;bottom:32px;left:100px;z-index:10;background:#ffffff0d;border:1px solid var(--glass-border);width:40px;height:40px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s}.close-lyric-btn:hover{background:#ffffff26}.detail-header{display:flex;gap:24px;align-items:flex-end;margin-bottom:32px}.detail-cover{width:140px;height:140px;border-radius:16px;object-fit:cover;border:1px solid var(--glass-border);box-shadow:0 8px 24px #0000004d}.detail-info{display:flex;flex-direction:column;gap:10px;flex:1}.detail-tag{font-size:11px;background:#a855f733;color:var(--primary-hover);padding:4px 10px;border-radius:20px;align-self:flex-start;font-weight:600}.detail-title{font-size:28px;font-weight:700}.detail-author{font-size:14px;color:var(--text-muted)}.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted);cursor:pointer;transition:color .2s;margin-bottom:16px;align-self:flex-start;background:transparent;border:none;padding:0}.back-btn:hover{color:var(--text-main)}.detail-action-btns{display:flex;gap:12px;margin-top:16px;align-items:center}.artist-banner{display:flex;align-items:center;padding:20px;gap:24px;margin-bottom:16px;background:linear-gradient(135deg,#ffffff1a,#ffffff05);border-left:4px solid var(--primary-color)}.artist-banner-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #0003;flex-shrink:0}.artist-banner-info{flex:1;min-width:0}.artist-banner-tag{font-size:12px;color:var(--primary-hover);font-weight:600;letter-spacing:1px;margin-bottom:4px}.artist-banner-name{font-size:24px;margin:0;color:var(--text-main);font-weight:700}.artist-banner-fav-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:24px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--text-main);cursor:pointer;font-weight:600;transition:all .2s ease}.artist-banner-fav-btn.active{border-color:var(--primary-hover);background:#a855f733;color:var(--primary-hover)}.about-logo-wrapper{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #a855f759;flex-shrink:0}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.control-btn:disabled{opacity:.6;cursor:not-allowed}.list-loading-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 0 4px;color:var(--text-muted);font-size:13px}.icon-btn{background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s}.icon-btn:hover:not(:disabled){color:var(--text-main);background:#ffffff1a}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.lyric-playlist-btn{position:absolute;bottom:30px;left:40px;width:44px;height:44px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.05);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;backdrop-filter:blur(8px)}.lyric-playlist-btn:hover{background:#ffffff26;transform:scale(1.05)}.lyric-playlist-popup{position:absolute;bottom:90px;left:40px;width:320px;max-height:440px;background:#141414b3;border:1px solid var(--glass-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;z-index:10;backdrop-filter:blur(30px);box-shadow:0 10px 40px #00000080;animation:slideUpFade .2s ease-out}.lyric-playlist-scroll{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px}.lyric-playlist-item{display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .2s}.lyric-playlist-item:hover{background:#ffffff1a}.lyric-playlist-item.playing{background:#10b98126;border:1px solid rgba(16,185,129,.3)}.lyric-playlist-item .song-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;flex:0 1 auto}.lyric-playlist-item .song-artist{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.discover-section{padding-bottom:40px;animation:fade-in .4s ease-out}.discover-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-main)}.toplist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.toplist-card{display:flex;padding:16px;border-radius:16px;background:#ffffff08;border:1px solid var(--glass-border);cursor:pointer;transition:all .3s ease;overflow:hidden;position:relative}.toplist-card:hover{background:#ffffff14;transform:translateY(-4px);box-shadow:0 8px 24px #0003}.toplist-card:hover .toplist-overlay{opacity:1}.toplist-cover-wrapper{position:relative;width:90px;height:90px;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 4px 12px #0003}.toplist-cover{width:100%;height:100%;object-fit:cover}.toplist-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.toplist-info{margin-left:16px;flex:1;overflow:hidden;display:flex;flex-direction:column}.toplist-name{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toplist-tracks{display:flex;flex-direction:column;gap:6px}.toplist-track-item{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.track-idx{font-weight:700;color:#c084fc;margin-right:8px;min-width:14px}.track-name{color:var(--text-main);margin-right:4px}.track-artist{color:var(--text-muted)}.clickable-artist{cursor:pointer;transition:color .2s;display:inline-block;width:fit-content;max-width:100%;vertical-align:baseline}.clickable-artist:hover{text-decoration:underline;color:var(--primary)}.back-to-top-btn{background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);width:36px;height:36px;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);margin-right:4px}.back-to-top-btn:hover{background:#ffffff14;transform:translateY(-2px);color:var(--text-main);box-shadow:0 4px 12px #0000000d}.back-to-top-btn:active{transform:translateY(0)}.toast-container{position:fixed;top:60px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:380px}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;background:var(--glass-bg, rgba(30, 30, 45, .92));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color, rgba(255, 255, 255, .08));color:var(--text-main, #fff);font-size:13px;line-height:1.5;cursor:pointer;pointer-events:auto;box-shadow:0 8px 24px #0000004d;animation:toast-slide-in .28s cubic-bezier(.21,1.02,.73,1);white-space:pre-line;word-break:break-word}.toast:hover{opacity:.85}.toast-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}.toast-message{flex:1;min-width:0}.toast-info{border-left:3px solid #3b82f6}.toast-info .toast-icon{background:#3b82f633;color:#60a5fa}.toast-success{border-left:3px solid #22c55e}.toast-success .toast-icon{background:#22c55e33;color:#4ade80}.toast-warning{border-left:3px solid #f59e0b}.toast-warning .toast-icon{background:#f59e0b33;color:#fbbf24}.toast-error{border-left:3px solid #ef4444}.toast-error .toast-icon{background:#ef444433;color:#f87171}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.report-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998;display:flex;align-items:center;justify-content:center;animation:report-fade-in .25s ease}@keyframes report-fade-in{0%{opacity:0}to{opacity:1}}.report-modal{width:680px;max-width:92vw;max-height:88vh;background:#1c192df2;border:1px solid rgba(168,85,247,.25);border-radius:16px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000080;animation:report-pop .3s cubic-bezier(.21,1.02,.73,1)}@keyframes report-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.report-close{position:absolute;top:14px;right:14px;background:#ffffff14;border:none;color:var(--text-main, #fff);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .2s ease}.report-close:hover{background:#ffffff2e}.report-content{overflow-y:auto;padding:32px 28px 24px;color:var(--text-main, #fff)}.report-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-muted, #999);gap:12px}.report-empty-hint{font-size:12px;opacity:.6}.report-header{text-align:center;margin-bottom:28px}.report-header h1{font-size:22px;font-weight:600;margin:0 0 6px;background:linear-gradient(90deg,#a855f7,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.report-subtitle{font-size:12px;color:var(--text-muted, #999);margin:0}.report-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.stat-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.stat-icon{color:#a855f7;opacity:.8}.stat-value{font-size:18px;font-weight:600;color:#fff;line-height:1.2}.stat-label{font-size:11px;color:var(--text-muted, #999)}.report-section{margin-bottom:24px}.section-title{font-size:14px;font-weight:500;margin:0 0 12px;color:#fff;display:flex;align-items:center;gap:8px}.section-title svg{color:#a855f7}.week-compare{display:flex;flex-direction:column;gap:8px}.week-bar-wrap{display:flex;align-items:center;gap:10px}.week-bar-label{width:36px;font-size:12px;color:var(--text-muted, #999)}.week-bar-track{flex:1;height:22px;background:#ffffff0d;border-radius:11px;position:relative;overflow:hidden}.week-bar-fill{height:100%;border-radius:11px;transition:width .5s ease}.week-bar-fill.this-week{background:linear-gradient(90deg,#a855f7,#ec4899)}.week-bar-fill.last-week{background:#ffffff2e}.week-bar-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:#fff;font-weight:500}.this-week-top{margin-top:10px;font-size:12px;color:var(--text-muted, #999);display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tw-label{color:#a855f7;font-weight:500}.tw-item em{color:#ec4899;font-style:normal;margin-left:2px}.hour-buckets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;height:120px}.bucket{display:flex;flex-direction:column;align-items:center;gap:6px}.bucket-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.bucket-bar{width:60%;border-radius:6px 6px 0 0;transition:height .5s ease;min-height:4px}.bucket-count{font-size:12px;font-weight:500;color:#fff}.bucket-label{font-size:10px;color:var(--text-muted, #999);text-align:center;line-height:1.3}.heatmap{display:grid;grid-template-columns:repeat(15,1fr);gap:4px}.heatmap-cell{aspect-ratio:1;border-radius:3px;min-height:18px;transition:transform .15s ease}.heatmap-cell:hover{transform:scale(1.2)}.top-list{display:flex;flex-direction:column;gap:6px}.top-item{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#ffffff08;border-radius:8px}.top-rank{width:20px;height:20px;border-radius:50%;background:#a855f733;color:#a855f7;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-item:nth-child(1) .top-rank{background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fff}.top-item:nth-child(2) .top-rank{background:#c0c0c04d;color:#fff}.top-item:nth-child(3) .top-rank{background:#cd7f324d;color:#fff}.top-name{flex:1;font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.top-artist{color:var(--text-muted, #999);font-size:11px}.top-bar-track{width:100px;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden;flex-shrink:0}.top-bar-fill{height:100%;background:linear-gradient(90deg,#a855f7,#3b82f6);transition:width .4s ease}.top-bar-fill.song{background:linear-gradient(90deg,#ec4899,#f59e0b)}.top-count{width:28px;text-align:right;font-size:11px;color:var(--text-muted, #999);flex-shrink:0}.report-footer{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.report-share-btn{background:linear-gradient(90deg,#a855f7,#3b82f6);border:none;color:#fff;padding:8px 16px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:500;transition:opacity .2s ease}.report-share-btn:hover{opacity:.85}.report-footer-hint{font-size:11px;color:var(--text-muted, #999)}.report-poster-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px}.report-poster-modal{background:#16102af5;border:1px solid rgba(255,255,255,.15);border-radius:20px;max-width:380px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #000000b3}.report-poster-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.report-poster-header h3{margin:0;font-size:14px;color:#fff}.report-poster-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.report-poster-body{flex:1;overflow-y:auto;padding:14px;display:flex;justify-content:center}.report-poster-img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 6px 24px #0006}.report-poster-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);display:flex}.smart-playlists-container{padding:24px 28px;height:100%;overflow-y:auto}.smart-header{margin-bottom:24px}.smart-header h1{font-size:22px;font-weight:600;margin:0 0 4px;background:linear-gradient(90deg,#a855f7,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.smart-subtitle{font-size:12px;color:var(--text-muted, #999);margin:0}.smart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.smart-card{background:var(--glass-bg, rgba(30, 30, 45, .6));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.smart-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #a855f726}.smart-card-cover{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#a855f740,#3b82f640);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.smart-card-icon{font-size:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.smart-card-overlay{position:absolute;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .2s ease}.smart-card:hover .smart-card-overlay{opacity:1}.smart-play-btn,.smart-add-btn{border:none;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.smart-play-btn{width:44px;height:44px;background:linear-gradient(135deg,#a855f7,#3b82f6)}.smart-add-btn{width:36px;height:36px;background:#fff3;backdrop-filter:blur(8px)}.smart-play-btn:hover,.smart-add-btn:hover{transform:scale(1.12)}.smart-card-info{padding:10px 12px}.smart-card-name{font-size:14px;font-weight:500;margin:0 0 4px;color:var(--text-main, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-card-desc{font-size:11px;color:var(--text-muted, #999);margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-card-subtitle{font-size:10px;color:#a855f7;opacity:.8}.smart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted, #999);text-align:center;gap:8px}.smart-empty-icon{font-size:56px;margin-bottom:12px;opacity:.5}.smart-empty h3{font-size:16px;font-weight:500;margin:0 0 8px;color:var(--text-main, #fff)}.smart-empty p{font-size:12px;margin:0;line-height:1.6}.fallback-cover{display:flex;align-items:center;justify-content:center;background-color:var(--card-bg);border:1px solid var(--border-color)}html.is-android .aurora-bg,body.is-android .aurora-bg{display:none!important;filter:none!important}html.is-android .sidebar,html.is-android .glass-card,html.is-android .player-bar,html.is-android .lyric-view-fullscreen,html.is-android .playlist-stats,html.is-android .toplist-overlay,body.is-android .sidebar,body.is-android .glass-card,body.is-android .player-bar,body.is-android .lyric-view-fullscreen,body.is-android .playlist-stats,body.is-android .toplist-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.is-android .sidebar,body.is-android .sidebar{background:#0c0a16f5}html.is-android .glass-card,body.is-android .glass-card{background:#181428f0}html.is-android .player-bar,body.is-android .player-bar{background:#0c0a16fa}body.is-android .title-drag-region{display:none}body.is-android .app-container{min-width:0;width:100%;height:100%;min-height:100vh}body.is-car-landscape{--sidebar-width: 200px;--player-height: 88px}body.is-car-landscape .control-btn,body.is-car-landscape .song-row-action-btn{min-width:44px;min-height:44px}body.is-car-landscape .sidebar{font-size:15px}@media(orientation:landscape)and (max-height:800px){body.is-android .main-content{padding-bottom:8px}}.mobile-nav-menu,.mobile-player-progress-bg,.mobile-player-progress-bar,.mobile-lyric-header,.mobile-lyric-bottom-bar,.mobile-lyric-corner-tools,.mobile-playlist-sheet-overlay,.my-music-mobile-container .mobile-subtabs-bar,html.is-desktop .mobile-player-progress-bar,html.is-desktop .mobile-lyric-corner-tools,html.is-desktop .mobile-lyric-bottom-bar,html.is-desktop .mobile-lyric-header,html.is-desktop .mobile-nav-menu,html.is-desktop .mobile-playlist-sheet-overlay,body.is-desktop .mobile-player-progress-bar,body.is-desktop .mobile-lyric-corner-tools,body.is-desktop .mobile-lyric-bottom-bar,body.is-desktop .mobile-lyric-header,body.is-desktop .mobile-nav-menu,body.is-desktop .mobile-playlist-sheet-overlay,.is-desktop .mobile-player-progress-bar,.is-desktop .mobile-lyric-corner-tools,.is-desktop .mobile-lyric-bottom-bar,.is-desktop .mobile-lyric-header,.is-desktop .mobile-nav-menu,.is-desktop .mobile-playlist-sheet-overlay{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important}@media(max-width:768px){:root{--player-height: 64px;--mobile-nav-height: 56px}.app-container{flex-direction:column;height:100vh;overflow:hidden;padding-bottom:0}.logo-area,.window-controls,.desktop-spacer,.desktop-only-btn,.desktop-nav-menu{display:none!important}.sidebar{position:fixed;bottom:0;left:0;width:100vw;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:0 8px env(safe-area-inset-bottom,0px) 8px;background:#0f0c1cf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);border-right:none;z-index:100;display:flex;flex-direction:row;align-items:center}.mobile-nav-menu{display:flex!important;flex-direction:row;width:100%;height:100%;margin:0;padding:0;justify-content:space-around;align-items:center;list-style:none}.mobile-nav-menu .nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;padding:4px 0;font-size:11px;font-weight:500;color:var(--text-muted);background:transparent!important;border:none!important;box-shadow:none!important;border-radius:8px;transition:all .2s ease;cursor:pointer}.mobile-nav-menu .nav-item span{display:block!important;font-size:10px;line-height:1}.mobile-nav-menu .nav-item.active{color:var(--primary-hover)}.mobile-nav-menu .nav-item.active svg{transform:scale(1.1);color:var(--primary-hover)}.player-bar{position:fixed;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));left:8px;right:8px;width:calc(100vw - 16px);height:var(--player-height);background:#161128f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:0 10px;margin-bottom:4px;z-index:99;box-shadow:0 8px 24px #0006;display:flex;align-items:center;justify-content:space-between}.mobile-player-progress-bg{display:block!important;position:absolute;top:0;left:10px;right:10px;height:3px;background:#ffffff1a;border-radius:2px;overflow:visible;cursor:pointer;z-index:3}.mobile-player-progress-bg:before{content:"";position:absolute;inset:-8px 0}.mobile-player-progress-fill{height:100%;background:var(--primary-gradient);border-radius:2px;transition:width .3s linear}.player-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.player-cover-container{width:44px;height:44px;flex-shrink:0}.player-cover{width:44px;height:44px;border-radius:10px}.player-info{display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}.player-title-wrap{max-width:125px;overflow:hidden;white-space:nowrap;position:relative}.player-title{display:inline-block;font-size:13px;font-weight:600;white-space:nowrap}.player-title.marquee-scroll{animation:player-title-marquee 9s ease-in-out infinite}@keyframes player-title-marquee{0%,25%{transform:translate(0)}75%,90%{transform:translate(calc(-100% + 120px))}to{transform:translate(0)}}.player-artist{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:125px}.mobile-player-progress-bar{display:block!important;position:absolute;top:-5px;left:8px;right:8px;height:14px;cursor:pointer;z-index:10}.mobile-player-progress-track{position:absolute;top:5px;left:0;right:0;height:4px;background:#ffffff1f;border-radius:4px;overflow:visible;pointer-events:none}.mobile-player-progress-fill{height:100%;background:var(--primary-gradient);border-radius:4px;pointer-events:none}.mobile-player-progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 6px #a855f7cc,0 2px 4px #0006;pointer-events:none}.mobile-player-progress-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}.player-center{width:auto;flex-shrink:0}.player-controls{gap:4px;display:flex;align-items:center}.smart-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.smart-card{border-radius:10px!important}.smart-card-cover{aspect-ratio:16/9!important}.smart-card-icon{font-size:28px!important}.smart-card-info{padding:8px 10px!important}.smart-card-name{font-size:13px!important;margin-bottom:2px!important}.smart-card-desc{font-size:10px!important;margin-bottom:4px!important}.smart-card-overlay{opacity:1!important;background:#00000040!important;gap:8px!important}.smart-play-btn{width:32px!important;height:32px!important}.smart-add-btn{width:28px!important;height:28px!important}.player-controls .control-btn.mobile-keep-btn{width:34px!important;height:34px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center}.player-controls .control-btn.play-pause{width:38px!important;height:38px!important;background:var(--primary-gradient);color:#fff;border-radius:50%;box-shadow:0 4px 12px #a855f766}.progress-container{display:none!important}.player-right{display:flex!important;align-items:center;gap:4px;flex-shrink:0}.player-right .mobile-hide-btn{display:none!important}.player-right .control-btn.mobile-keep-btn{width:34px!important;height:34px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center}.main-content{width:100vw;height:calc(100vh - var(--mobile-nav-height) - var(--player-height) - env(safe-area-inset-bottom,0px) - 12px);flex:none;padding:calc(env(safe-area-inset-top,24px) + 8px) 12px 20px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.glass-card h2{font-size:16px!important}.glass-card h3{font-size:14px!important}.glass-card p{font-size:12px!important}.about-logo-wrapper{width:48px!important;height:48px!important;border-radius:12px!important}.my-music-mobile-container .mobile-subtabs-bar{display:flex!important;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 12px;flex-shrink:0}.mobile-subtabs-list{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1}.mobile-subtabs-list::-webkit-scrollbar{display:none}.mobile-subtab-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;color:var(--text-muted);background:#ffffff0d;border:1px solid rgba(255,255,255,.06);white-space:nowrap;cursor:pointer;transition:all .2s}.mobile-subtab-btn.active{background:var(--primary-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 10px #a855f74d}.mobile-report-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:20px;font-size:11px;color:var(--primary-hover);background:#a855f71f;border:1px solid rgba(168,85,247,.25);cursor:pointer;flex-shrink:0}.song-row{display:flex!important;align-items:center;padding:11px 8px;gap:8px;border-radius:10px;cursor:pointer}.song-col-index{width:24px;font-size:12px;color:var(--text-muted);text-align:center;flex-shrink:0}.song-col-info,.song-row-main-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.song-title-row{display:flex;align-items:center;gap:6px;min-width:0}.song-name{font-size:14px;font-weight:500;max-width:100%!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tag-hires{flex-shrink:0}.tag-source{display:none}.song-artist{font-size:12px;color:var(--text-muted);max-width:100%!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-col-album,.song-col-duration{display:none!important}.song-row-actions{display:flex!important;align-items:center;gap:6px;flex-shrink:0;opacity:1!important}.song-row-action-btn{width:44px!important;height:44px!important;padding:0!important;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:10px;border:none;color:var(--text-muted)}.lyric-view-fullscreen.open{display:flex;flex-direction:column}.mobile-lyric-header{display:flex!important;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top,24px)) 16px 8px 16px;width:100vw;z-index:10;flex-shrink:0}.mobile-lyric-title-info{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 16px}.mobile-lyric-song-name{font-size:16px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-lyric-song-artist{font-size:12px;color:#ffffffb3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.lyric-left-half{display:none!important}.lyric-right-half{width:100vw!important;flex:1;padding:16px 20px!important;display:flex;flex-direction:column}.lyric-list-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.lyric-line{font-size:16px!important;line-height:1.8;padding:8px 0}.lyric-line.active{font-size:20px!important;font-weight:600;color:#fff}.mobile-lyric-bottom-bar{position:relative;display:flex!important;flex-direction:column;gap:10px;padding:12px 16px calc(18px + env(safe-area-inset-bottom,0px)) 16px;width:100vw;margin-left:-20px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);flex-shrink:0}.mobile-lyric-progress-wrap{display:flex;align-items:center;gap:10px;width:100%}.mobile-time-text{font-size:11px;color:#fff9;min-width:36px;text-align:center}.mobile-lyric-btns{display:flex;align-items:center;justify-content:center;gap:32px}.mobile-lyric-ctrl-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:8px}.mobile-lyric-play-btn{width:54px;height:54px;border-radius:50%;background:var(--primary-gradient);border:none;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #a855f780;cursor:pointer}.mobile-lyric-corner-tools{position:fixed!important;bottom:calc(28px + env(safe-area-inset-bottom,0px))!important;display:flex!important;flex-direction:column!important;align-items:center;gap:12px;z-index:100!important;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.mobile-lyric-corner-tools.align-left{left:16px!important;right:auto!important}.mobile-lyric-corner-tools.align-right{right:16px!important;left:auto!important}.mobile-lyric-tool-btn{width:40px!important;height:40px!important;border-radius:50%!important;background:#1e1432bf!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 4px 14px #0006!important;color:#fff!important;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-playlist-sheet-overlay{display:block!important;position:fixed;inset:0;background:#0009;z-index:1000}.mobile-playlist-sheet{position:absolute;bottom:0;left:0;right:0;max-height:65vh;background:#18142afa;backdrop-filter:blur(24px);border-radius:20px 20px 0 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-playlist-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.mobile-playlist-sheet-header h3{margin:0;font-size:15px;color:#fff}.mobile-playlist-sheet-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer}.mobile-playlist-sheet-list{flex:1;overflow-y:auto;padding:8px 12px}.mobile-playlist-sheet-item-wrapper,.queue-item-swipe-wrapper{position:relative;overflow:hidden;transition:all .28s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.03)}.mobile-playlist-sheet-item-wrapper.deleting,.queue-item-swipe-wrapper.deleting{opacity:0;max-height:0!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;transform:scaleY(0)}.mobile-playlist-sheet-item,.queue-song-row{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px;cursor:pointer;min-width:0;transition:transform .25s ease}.mobile-playlist-sheet-item.swiped,.queue-song-row.swiped{transform:translate(-70px)}.mobile-playlist-sheet-item.playing .mobile-sheet-song-name{color:var(--primary-hover);font-weight:600}.mobile-sheet-song-name{font-size:14px;color:var(--text-main);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-sheet-song-artist{font-size:12px;color:var(--text-muted);flex:0 1 auto;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.mobile-sheet-delete-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);height:32px;padding:0 10px;background:#ef4444;color:#fff;border:none;border-radius:8px;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #ef444466}.search-panel-content-scroll{margin-top:8px!important}.detail-header{flex-direction:row!important;gap:12px!important;align-items:center!important}.detail-cover{width:72px!important;height:72px!important;border-radius:10px!important;flex-shrink:0!important}.detail-info{flex:1;min-width:0}.detail-title{font-size:15px!important;line-height:1.3!important;max-width:100%!important;word-break:break-word!important}.detail-tag{font-size:10px!important;padding:2px 6px!important}.detail-author{font-size:11px!important}.detail-action-btns{gap:8px!important;margin-top:8px!important}.playlist-action-btn .btn-text{display:none!important}.playlist-action-btn{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important}.artist-banner{padding:10px 12px!important;gap:10px!important;border-radius:12px!important;margin-bottom:12px!important}.artist-banner-avatar{width:48px!important;height:48px!important}.artist-banner-tag{font-size:10px!important;margin-bottom:2px!important}.artist-banner-name{font-size:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}.artist-banner-fav-btn .artist-fav-text{display:none!important}.artist-banner-fav-btn{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important}.playlist-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))!important;gap:8px!important}.playlist-card{padding:4px!important}.playlist-card-name{font-size:11px!important;margin-top:6px!important}.playlist-card-author{font-size:9px!important}.clear-playlist-btn .btn-text{display:none!important}.clear-playlist-btn{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important}.source-selectors{flex-wrap:wrap!important;gap:6px!important}.source-tab{padding:6px 12px!important;font-size:12px!important}.search-bar-row{gap:10px}.back-to-top-btn{display:none}.search-input-wrap .input-field{height:44px;font-size:14px}.search-submit-btn{width:44px!important;height:44px!important;padding:0!important;border-radius:12px}.mobile-nav-menu .nav-item:active,.control-btn:active,.song-row:active,.song-row-action-btn:active,.mobile-subtab-btn:active,.mobile-report-btn:active,.mobile-lyric-play-btn:active,.mobile-lyric-ctrl-btn:active,.primary-btn:active,.source-tab:active,.playlist-action-btn:active,.artist-banner-fav-btn:active,.mobile-lyric-tool-btn:active,.mobile-sheet-delete-btn:active,.clear-playlist-btn:active{transform:scale(.94)!important;opacity:.82!important;transition:transform .06s cubic-bezier(.4,0,.2,1),opacity .06s ease!important}.main-content,.lyric-list-container,.mobile-playlist-sheet-list{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:scroll-position;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}@media(max-width:400px){.song-col-index{display:none!important}.song-row{padding-left:12px}}.discovery-newsong-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.discovery-song-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;background:#ffffff08;transition:background .2s ease}.discovery-song-row:hover{background:var(--glass-bg-hover)}.discovery-song-cover{width:44px;height:44px;border-radius:8px;flex-shrink:0;object-fit:cover;background:#ffffff0f}.discovery-play-icon{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:50%;transition:color .2s,background .2s}.discovery-song-row:hover .discovery-play-icon{color:var(--primary-hover);background:#a855f71f}@media(max-width:768px){.discovery-newsong-grid{grid-template-columns:1fr}.discovery-song-cover{width:48px;height:48px}.discovery-play-icon{width:44px;height:44px}}
