:root{--primary:#e8b4b8;--primary-light:#f0cdd0;--primary-glow:rgba(154, 200, 226, 0.5);--text-on-primary:#0a0a1a;--bg-dark:#0a0a1a;--bg-dark-light:#1a1a2e;--text-main:#f0f8ff;--text-sub:#8a8aa0;--glass-bg:rgba(26, 26, 46, 0.45);--glass-border:rgba(255, 255, 255, 0.1);--glass-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.5),0 0 0 1px rgba(255, 255, 255, 0.05) inset;--bg-blur:40px;--curve-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--curve-smooth:cubic-bezier(0.4, 0, 0.2, 1);--lrc-font-size:18px;--lrc-line-height:2.2;--lrc-align:center;--bg-darker:#060612;--primary:#e8b4b8;--primary-rgb:232,180,184;--primary-light:#f0cd78;--primary-glow:rgba(var(--primary-rgb), 0.45);--text-on-primary:#1a1208;--text-main:#f2eee8;--text-sub:#8a857a;--bg-dark:#0e0c16;--bg-dark-light:#1a1625;--bg-darker:#080610;--glass-bg:rgba(20, 17, 30, 0.55);--glass-border:rgba(255, 255, 255, 0.08);--glass-shadow:0 20px 40px -12px rgba(0, 0, 0, 0.6),0 0 0 1px rgba(var(--primary-rgb), 0.04) inset;--bg-blur:40px;--curve-smooth:cubic-bezier(0.22, 1, 0.36, 1);--curve-spring:cubic-bezier(0.16, 1, 0.3, 1);--lrc-font-size:18px;--lrc-line-height:2.2;--lrc-align:center;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--section-gap:clamp(16px, 3vh, 32px);--font-display:'Newsreader','Noto Serif SC',Georgia,serif;--font-body:'Geist','OPPO Sans 4.0',-apple-system,'Segoe UI',Roboto,sans-serif}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Microsoft YaHei','PingFang SC','Segoe UI',Roboto,sans-serif;color:var(--text-main);display:flex;justify-content:center;align-items:center;background:var(--bg-dark);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}::-webkit-scrollbar-thumb:hover{background:var(--primary)}html{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.2) transparent}.view-container{inset:0;display:flex;justify-content:center;align-items:center;transition:opacity .6s var(--curve-smooth),transform .6s var(--curve-spring),filter .6s;will-change:transform,opacity}.view-container.hidden{pointer-events:none;filter:blur(4px)}@media (prefers-reduced-motion:reduce){.art-box,.btn-play,.pip-standby{animation:none!important}.lrc-line{transition:none!important}}.player-wrapper{background:var(--glass-bg);backdrop-filter:blur(35px) saturate(180%);-webkit-backdrop-filter:blur(35px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;animation:appFadeIn 1s var(--curve-spring) both;will-change:transform}.header{padding:24px 36px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;pointer-events:auto}.btn-glass{color:var(--text-main);text-shadow:0 1px 3px rgba(0,0,0,.8);transition:all .3s var(--curve-smooth);display:flex;align-items:center}.btn-fav-ctrl{width:50px!important;height:50px!important;font-size:18px!important;border-color:rgba(255,107,107,.3)!important}.btn-pip-ctrl{width:50px!important;height:50px!important;font-size:18px!important;border-color:rgba(154,200,226,.3)!important}.btn-pip-ctrl:hover{border-color:var(--primary)!important;background:rgba(154,200,226,.15)!important;transform:scale(1.08)!important}.btn-pip-ctrl.pip-active{background:rgba(154,200,226,.25)!important;border-color:var(--primary)!important;color:var(--primary)!important;box-shadow:0 0 15px var(--primary-glow)!important}.load-strip-container:not(.show) .load-strip{animation-play-state:paused}.content-grid{display:flex;flex:1;padding:32px 40px;gap:40px;justify-content:center}.col-album{flex:0 1 380px;align-items:center;justify-content:center;gap:30px}.col-lyrics{flex:0 1 450px;mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%)}.art-box.swipe-left .art-img{animation:slideInLeft .3s var(--curve-smooth)}.art-box.swipe-right .art-img{animation:slideInRight .3s var(--curve-smooth)}.track-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.4em}.track-artist{color:var(--text-sub)}.click-copy{cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.click-copy:hover{filter:brightness(1.2)}.click-copy:active{opacity:.7;transition:opacity .1s}.btn-ctrl:active:not(:disabled){transform:scale(.96);transition:transform .1s}input[type=range]:focus-visible{outline:0}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--primary-glow),0 2px 5px rgba(0,0,0,.5)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--primary-glow)}.lrc-viewport{flex:1;text-align:var(--lrc-align);scroll-behavior:smooth}.lrc-line{font-size:var(--lrc-font-size);line-height:var(--lrc-line-height);word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;user-select:text}.lrc-line.active{font-size:calc(var(--lrc-font-size) * 1.2);text-shadow:0 0 24px rgba(var(--primary-rgb),.5),0 0 30px rgba(var(--primary-rgb),.2)}.footer{padding:16px 36px;color:var(--text-sub);display:flex;justify-content:space-between;flex-shrink:0}.imm-wrapper{display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.imm-track-card{display:flex;align-items:center;background:var(--glass-bg);backdrop-filter:blur(25px) saturate(180%);-webkit-backdrop-filter:blur(25px) saturate(180%);border:var(--glass-border)}.imm-subtitle-line{transition:all .4s var(--curve-spring);word-break:break-word;overflow-wrap:break-word}.imm-subtitle-line.next{word-break:break-word;overflow-wrap:break-word}.imm-bottom{background:var(--glass-bg);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);display:flex;align-items:center;gap:30px}.modal-overlay{inset:0;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;justify-content:center;align-items:center;pointer-events:none;transition:opacity .4s var(--curve-smooth)}.modal-content{background:rgba(20,25,40,.85);transition:transform .4s var(--curve-spring);display:flex;flex-direction:column;will-change:transform}.playlist-items{flex:1;display:flex;flex-direction:column}.pl-item{display:flex;justify-content:space-between;align-items:center}.drawer-box{background:rgba(255,255,255,.03)}.drawer-title{color:var(--text-sub)}.hotkey-grid .pad{color:var(--primary);border-color:var(--primary);background:rgba(154,200,226,.1)}.theme-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.ab-marker.a{background:#ff6b6b}.ab-marker.b{background:#f44}.ab-range{position:absolute;top:0;height:100%;background:rgba(255,107,107,.25);z-index:3;pointer-events:none;border-left:2px solid #ff6b6b;border-right:2px solid #f44}.toast{position:fixed;top:30px;left:50%;transform:translateX(-50%) translateY(-20px);background:rgba(20,20,35,.9);backdrop-filter:blur(20px);color:#fff;padding:14px 28px;border-radius:20px;border:1px solid rgba(255,255,255,.1);z-index:9999;font-weight:600;white-space:nowrap;opacity:0;transition:all .4s var(--curve-spring);box-shadow:0 10px 30px rgba(0,0,0,.5);pointer-events:none}.album-detail-track{display:flex;align-items:center}.eq-preset-btns{display:flex;gap:8px;flex-wrap:wrap}.eq-preset-btn{color:var(--text-main)}.pip-vinyl{flex-shrink:0}.pip-progress-fill{background:var(--primary,#e8b4b8);box-shadow:0 0 8px rgba(154,200,226,.4)}@media (max-width:768px){.header{padding:16px 20px}.brand{font-size:18px}.nav-actions{gap:8px}.btn-glass{padding:8px 12px;font-size:12px;gap:4px}.content-grid{flex-direction:column;overflow-y:auto;padding:16px;align-items:center;gap:20px}.col-album{flex:0 0 auto;width:100%;max-width:340px}.col-controls{flex:0 0 auto;width:100%;max-width:400px}.col-lyrics{flex:0 0 auto;width:100%;max-width:400px;min-height:300px;mask-image:none;-webkit-mask-image:none}.player-wrapper{width:100vw;height:100vh;border-radius:0;border:none}.art-box{width:260px;height:260px}.imm-bottom{flex-direction:column;gap:15px;padding:20px}.imm-bottom .vol-control{display:none}.theme-preset-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.track-title{font-size:24px}.track-artist{font-size:15px}.footer{padding:12px 20px;font-size:11px}.btn-group-main{gap:14px}.btn-ctrl{width:48px;height:48px;font-size:16px}.btn-play{width:64px;height:64px;font-size:26px}.btn-fav-ctrl,.btn-pip-ctrl{width:42px;height:42px;font-size:15px}.vol-control{margin-left:12px;padding:8px 12px}.cover-album-group{width:110px;padding:8px}.cover-album-art{width:75px;height:75px}.search-input{font-size:13px;padding:8px 12px}}@media (max-width:480px){.stat-card .stat-value{font-size:22px}}@media (orientation:portrait){.player-wrapper{width:100vw;height:100vh;border-radius:0}.content-grid{flex-direction:column;padding:10px 16px 0;gap:10px;align-items:stretch;overflow:hidden}.col-album{flex:0 0 auto;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px}.col-album .art-box{width:min(70vw,280px);height:min(70vw,280px);max-height:32vh;border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.5);animation:none;flex-shrink:0}.col-album .track-info{text-align:center;width:100%;max-width:320px}.col-album .track-title{font-size:18px;margin-bottom:4px;-webkit-line-clamp:1;line-height:1.25;font-weight:700}.col-album .track-artist{font-size:13px;opacity:.7}.col-controls .vis-canvas-container,.col-controls .vis-hint{display:none}.col-controls{width:100%;max-width:100%;gap:6px;flex:0 0 auto;order:3;padding:0 0 6px}.col-controls .progress-area{padding:2px 4px;order:1}.col-controls .time-labels{font-size:10px;margin-top:2px}.col-controls .btn-group-main{gap:14px;order:2;padding:4px 0}.col-controls .btn-group-main .btn-ctrl{width:44px;height:44px;font-size:14px}.col-controls .btn-group-main .btn-play{width:60px;height:60px;font-size:22px}.col-controls .btn-group-sub{gap:8px;order:3}.col-controls .vol-control{padding:6px 10px;margin-left:0;flex:1}.col-controls .vol-control .btn-icon{width:14px;height:14px}.col-lyrics{width:100%;max-width:100%;flex:1 1 auto;min-height:0;max-height:none;mask-image:none;-webkit-mask-image:none;order:2;background:rgba(0,0,0,.12)}.lrc-viewport{padding:8px 10px}.lrc-line{font-size:15px;line-height:1.6;min-height:28px;padding:0 6px}.lrc-line.active{font-size:calc(15px * 1.15)}.lrc-spacer-top{height:clamp(80px,20vh,160px)}.lrc-spacer-bottom{height:clamp(60px,15vh,120px)}.imm-wrapper{padding:14px 16px;gap:12px}.imm-topbar{gap:10px;align-items:center}.imm-track-card{padding:6px 12px;gap:10px;border-radius:16px;max-width:100%}.imm-track-card .imm-album-art{width:42px;height:42px;border-radius:10px}.imm-track-card .track-title{font-size:14px!important;margin-bottom:2px;-webkit-line-clamp:1;line-height:1.2}.imm-track-card .track-artist{font-size:12px!important}.imm-header-actions .imm-icon-btn{width:36px;height:36px;font-size:14px;border-radius:10px}.imm-lyrics-center{width:96%}.imm-subtitle-line{font-size:clamp(20px, 4.5vw, 28px)!important;line-height:1.3}.imm-subtitle-line.next{font-size:clamp(14px, 3vw, 18px)!important}.imm-bottom{flex-direction:column;padding:10px 14px 12px;gap:6px;max-width:100%;border-radius:18px;align-items:stretch}.imm-bottom .btn-group-main{gap:18px;justify-content:center;padding:4px 0 2px}.imm-bottom .btn-ctrl{width:42px;height:42px;font-size:14px}.imm-bottom .btn-play{width:56px;height:56px;font-size:22px}.imm-bottom>div[style*="flex: 1"]{display:flex;align-items:center;gap:8px}.imm-bottom .progress-area{padding:0;flex:1;min-width:0}.imm-bottom .time-labels{font-size:10px;flex-shrink:0;min-width:80px;display:flex;justify-content:space-between;gap:4px}.imm-bottom .time-labels span{font-variant-numeric:tabular-nums}.imm-bottom .btn-mode{width:36px;height:36px;min-width:36px;flex-shrink:0}.imm-exit-hint{bottom:4px;font-size:14px;opacity:.35}body.wco-active.immersive-mode .imm-wrapper{padding-top:env(titlebar-area-height,0)}.footer{padding:6px 14px;font-size:10px}.header{padding:10px 14px}.brand{font-size:16px}.nav-actions{gap:4px}.nav-actions .btn-glass{padding:5px 9px;font-size:11px;gap:3px}}.settings-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.settings-row span:first-child{font-size:13px;color:var(--text-sub);min-width:80px;flex-shrink:0}.gamepad-badge.pad-menu{background:rgba(200,200,200,.2);color:#ccc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);color:var(--text-main);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;background:var(--bg-dark);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}::-webkit-scrollbar-thumb:active{background:var(--primary)}.gamepad-focus{outline:3px solid var(--primary)!important;outline-offset:4px!important;box-shadow:0 0 20px var(--primary-glow)!important;transform:scale(1.02);z-index:50}:focus-visible{outline:3px solid var(--primary)!important;outline-offset:4px!important;box-shadow:0 0 16px var(--primary-glow)!important}:focus:not(:focus-visible){outline:0}#bg-layer-color,#bg-layer-img{position:fixed;inset:-5%;z-index:-10;opacity:0;pointer-events:none;transition:opacity 1.2s var(--curve-smooth),filter .5s ease}#bg-layer-img{background-size:cover;background-position:center;filter:blur(var(--bg-blur)) brightness(.6) saturate(1.2);transform:scale(1.05)}#bg-layer-color{width:100vw;height:100vh;filter:blur(80px) contrast(1.2);transform:scale(1.1);transition:opacity 1.2s var(--curve-smooth)}#bg-layer-color.active,#bg-layer-img.active{opacity:1}.view-container{position:absolute;inset:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;transition:opacity .6s var(--curve-smooth),transform .6s var(--curve-spring),filter .6s}.view-container.hidden{opacity:0;pointer-events:none;transform:scale(.95);filter:blur(10px)}#view-main{z-index:10}#view-immersive{z-index:20}#view-immersive.hidden{opacity:0;visibility:hidden;pointer-events:none;z-index:-1;transform:scale(.95);filter:blur(10px)}@keyframes appFadeIn{from{opacity:0;transform:translateY(25px) scale(.96);filter:blur(12px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes floatArt{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(1deg);box-shadow:0 30px 50px rgba(0,0,0,.4)}75%{transform:translateY(6px) rotate(-1deg);box-shadow:0 15px 30px rgba(0,0,0,.3)}}@keyframes shimmerBar{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes glowPulse{0%,100%{box-shadow:0 0 15px rgba(0,0,0,.3)}50%{box-shadow:0 0 35px var(--primary),0 0 15px rgba(0,0,0,.4)}}@keyframes pulseSubtle{0%,100%{opacity:.7}50%{opacity:1}}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.player-wrapper{width:96vw;max-width:1400px;height:92vh;background:var(--glass-bg);backdrop-filter:blur(var(--bg-blur-dynamic,12px)) saturate(150%);-webkit-backdrop-filter:blur(var(--bg-blur-dynamic,12px)) saturate(150%);border-radius:32px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;animation:appFadeIn 1s var(--curve-spring) both;overflow:hidden}.player-wrapper .btn-fav-ctrl{width:50px;height:50px;font-size:18px;border-color:rgba(255,107,107,.3)}.player-wrapper .btn-fav-ctrl:hover{border-color:#ff6b6b;background:rgba(255,107,107,.15);transform:scale(1.08)}.player-wrapper .btn-fav-ctrl.faved{background:rgba(255,107,107,.25);border-color:#ff6b6b;color:#ff6b6b;box-shadow:0 0 15px rgba(255,107,107,.3)}.player-wrapper .btn-pip-ctrl{width:50px;height:50px;font-size:18px;border-color:rgba(154,200,226,.3)}.player-wrapper .btn-pip-ctrl:hover{border-color:var(--primary);background:rgba(154,200,226,.15);transform:scale(1.08)}.player-wrapper .btn-pip-ctrl.pip-active{background:rgba(154,200,226,.25);border-color:var(--primary);color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}@media (max-width:768px){.player-wrapper .btn-fav-ctrl,.player-wrapper .btn-pip-ctrl{width:42px;height:42px;font-size:15px}}@media (max-width:480px){.player-wrapper .btn-fav-ctrl,.player-wrapper .btn-pip-ctrl{width:36px;height:36px;font-size:13px}}.header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;background:rgba(14,12,22,.3);flex-shrink:0;position:relative;z-index:9999;pointer-events:auto}.brand{font-size:24px;font-weight:800;display:flex;gap:10px;align-items:center}.brand i{color:var(--primary);transition:color .5s}.nav-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-glass{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:10px 16px;border-radius:14px;cursor:pointer;font-weight:500;font-size:14px;transition:all .3s var(--curve-smooth);display:flex;align-items:center;gap:6px;white-space:nowrap}.btn-glass:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);border-color:var(--primary)}.btn-glass:active{transform:scale(.92)!important;transition:transform .1s}.btn-glass.active{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.btn-fav-ctrl:hover{border-color:#ff6b6b;background:rgba(255,107,107,.15);transform:scale(1.08)}.btn-fav-ctrl.faved{background:rgba(255,107,107,.25);border-color:#ff6b6b;color:#ff6b6b;box-shadow:0 0 15px rgba(255,107,107,.3)}.btn-pip-ctrl:hover{border-color:var(--primary)}.btn-pip-ctrl.pip-active{border-color:var(--primary);color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.load-strip-container{height:5px;background:rgba(255,255,255,.05);width:100%;display:none;position:relative;overflow:hidden;flex-shrink:0;border-radius:0 0 3px 3px;z-index:5}.load-strip-container.show{display:block}.load-strip{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),rgba(154,200,226,.8),#6ee7b7,var(--primary),rgba(154,200,226,.8),#6ee7b7);background-size:200% 100%;background-position:0 50%;position:relative;transition:width .3s;border-radius:0 3px 3px 0;animation:2s linear infinite cfBarFlow}.load-strip::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:1.5s infinite shimmerBar}.content-grid{display:flex;flex:1;padding:var(--space-xl) var(--space-2xl);gap:var(--space-2xl);overflow:hidden;justify-content:center}.col{display:flex;flex-direction:column;transition:all .5s var(--curve-spring)}.col-album{flex:0 1 380px;align-items:center;justify-content:center;gap:var(--space-xl)}.col-album.no-art .art-box{display:none}.col-album.no-art .track-info{display:flex;flex-direction:column;justify-content:center;height:100%;transform:scale(1.2)}.col-controls{flex:0 1 480px;justify-content:center;gap:32px}.col-lyrics{flex:0 1 450px;background:rgba(0,0,0,.15);border-radius:24px;border:1px solid rgba(255,255,255,.05);position:relative;mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);mask-type:alpha}.art-box{width:340px;height:340px;border-radius:28px;overflow:hidden;box-shadow:0 20px 50px var(--album-color,rgba(0,0,0,.5));border:1px solid rgba(255,255,255,.1);animation:8s ease-in-out infinite floatArt,4s ease-in-out infinite ambientBreathe;flex-shrink:0;position:relative;touch-action:pan-x;cursor:pointer;transition:box-shadow 1.2s}@keyframes ambientBreathe{0%,100%{box-shadow:0 20px 50px var(--album-color,rgba(0,0,0,.5))}50%{box-shadow:0 30px 80px var(--album-color,rgba(0,0,0,.7))}}.art-box::after{content:'';position:absolute;inset:0;border-radius:28px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}.art-img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--curve-smooth),opacity .4s}.art-box:hover .art-img{transform:scale(1.06)}.art-box.swipe-left .art-img{animation:.3s ease-out slideInLeft}.art-box.swipe-right .art-img{animation:.3s ease-out slideInRight}.track-info{text-align:center;width:100%;transition:all .5s var(--curve-spring)}.track-title{font-size:32px;font-weight:800;margin-bottom:8px;line-height:1.2;text-shadow:0 4px 12px rgba(0,0,0,.3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;user-select:text;cursor:text}.track-artist{font-size:18px;color:var(--text-sub);font-weight:500;user-select:text;cursor:text}.vis-canvas-container{width:100%;height:70px;background:rgba(0,0,0,.2);border-radius:16px;margin-bottom:-10px;cursor:pointer;transition:.3s;position:relative;overflow:hidden;border:1px solid transparent}.vis-canvas-container:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}#spectrumCanvasMain{position:absolute;bottom:0;left:0;width:100%;height:100%}.vis-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;opacity:0;transition:.3s;text-shadow:0 2px 5px #000;letter-spacing:1px}.vis-canvas-container:hover .vis-hint{opacity:1}.progress-area{width:100%;cursor:pointer;padding:10px 0;position:relative;touch-action:none}.prog-bg{height:6px;background:rgba(255,255,255,.1);border-radius:3px;position:relative;overflow:hidden}.prog-fill{height:100%;width:100%;background:var(--primary);border-radius:3px;position:relative;transition:background .5s;transform-origin:left;transform:scaleX(0)}.prog-fill::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%) scale(0);width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s var(--curve-spring);box-shadow:0 0 10px var(--primary)}.progress-area:hover .prog-fill::after{transform:translateY(-50%) scale(1)}.time-labels{display:flex;justify-content:space-between;font-size:13px;color:var(--text-sub);margin-top:8px;font-weight:500;font-variant-numeric:tabular-nums}.prog-hover-tip{position:absolute;bottom:110%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;padding:6px 14px;border-radius:10px;font-size:13px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s;border:1px solid rgba(255,255,255,.15);z-index:20;max-width:320px;text-align:center}.prog-hover-tip.show{opacity:1}.progress-area.dragging .prog-bg{height:8px}.progress-area.dragging .prog-fill::after{transform:translateY(-50%) scale(1);box-shadow:0 0 16px var(--primary-glow)}.progress-area.seek-active .prog-bg{height:8px;background:rgba(var(--primary-rgb),.25)}.progress-area.seek-active .prog-fill::after{transform:translateY(-50%) scale(1.2);box-shadow:0 0 20px var(--primary-glow)}.progress-area.cf-airlock{pointer-events:none;cursor:not-allowed}.progress-area.cf-airlock .prog-bg{opacity:.5}.progress-area.cf-airlock .prog-fill{filter:saturate(.3)}.cf-vis-bar{position:absolute;inset:auto 0 100% 0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent,#a855f7),var(--primary),var(--accent,#a855f7));background-size:200% 100%;background-position:0 50%;transform-origin:left;transform:scaleX(0);border-radius:2px;z-index:5;pointer-events:none}.cf-vis-bar.enhanced{box-shadow:0 0 12px var(--primary-glow,rgba(139,92,246,.6)),0 0 4px rgba(255,255,255,.3);height:4px;background:linear-gradient(90deg,var(--primary),var(--accent,#a855f7),#f0f0ff,var(--primary),var(--accent,#a855f7),#f0f0ff);background-size:200% 100%;background-position:0 50%;background-repeat:repeat;animation:1.5s linear infinite cfBarFlow}@keyframes cfBarFlow{0%{background-position:0 50%}100%{background-position:-100% 50%}}.cf-vis-bar.exiting{pointer-events:none;animation:.35s ease-out forwards cfBarExit}@keyframes cfBarExit{0%{opacity:1;transform:var(--cf-exit-scale,scaleX(1))}100%{opacity:0;transform:scaleX(.3)}}.cf-airlock .prog-fill{box-shadow:0 0 16px var(--album-color,rgba(139,92,246,.4)),0 0 6px rgba(255,255,255,.15);transition:box-shadow .8s}.art-crossfade-overlay{position:absolute;inset:0;z-index:10;border-radius:inherit;overflow:hidden;opacity:1;transition:opacity 3s cubic-bezier(.22, .61, .36, 1);pointer-events:none}.art-crossfade-overlay img{width:100%;height:100%;object-fit:cover}@keyframes cfTextEnter{from{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.cf-text-enter{animation:.45s cubic-bezier(.22,.61,.36,1) both cfTextEnter}.cf-text-enter.stagger{animation-delay:.15s}.btn-group-main{display:flex;justify-content:center;align-items:center;gap:24px}.btn-ctrl{width:60px;height:60px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;font-size:20px;cursor:pointer;transition:all .3s var(--curve-spring);display:flex;justify-content:center;align-items:center;position:relative}.btn-ctrl:active{transform:scale(.92)!important;transition:transform .1s}.btn-ctrl:hover{background:rgba(255,255,255,.12);transform:scale(1.08);border-color:var(--primary);color:var(--primary)}.btn-play{width:84px;height:84px;font-size:32px;border:none;background:var(--primary);color:var(--text-on-primary);animation:3s infinite glowPulse}.btn-play:hover{transform:scale(1.08);filter:brightness(1.1);color:var(--text-on-primary)}.btn-ctrl.ab-active{border:2px solid #ff6b6b;box-shadow:0 0 15px rgba(255,107,107,.5)}.ab-indicator{position:absolute;top:-8px;right:-8px;background:#ff6b6b;color:#fff;font-size:10px;padding:2px 6px;border-radius:8px;font-weight:700;display:none}.btn-ctrl.ab-active .ab-indicator{display:block}.btn-group-sub{display:flex;justify-content:space-between;align-items:center}.btn-mode{min-width:46px;height:46px;padding:0 12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:0 0;color:#fff;cursor:pointer;transition:.3s;font-size:14px;display:flex;align-items:center;gap:6px;white-space:nowrap}.btn-mode.active{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.vol-control{display:flex;align-items:center;gap:12px;flex:1;margin-left:24px;background:rgba(0,0,0,.2);padding:12px 18px;border-radius:16px}input[type=range]{-webkit-appearance:none;width:100%;background:0 0}input[type=range]::-webkit-slider-runnable-track{height:4px;background:rgba(255,255,255,.2);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:14px;width:14px;border-radius:50%;background:var(--primary);margin-top:-5px;cursor:pointer;transition:background .5s;box-shadow:0 2px 5px rgba(0,0,0,.5)}input[type=range]::-moz-range-thumb{appearance:none;height:14px;width:14px;border-radius:50%;background:var(--primary);border:none;cursor:pointer}input[type=range]::-moz-range-track{height:4px;background:rgba(255,255,255,.2);border-radius:2px}.lrc-viewport{flex:1;overflow-y:auto;overflow-x:hidden;text-align:var(--lrc-align);padding:20px;scroll-behavior:smooth;width:100%;scrollbar-width:thin;scrollbar-color:transparent transparent}.lrc-viewport::-webkit-scrollbar{width:4px}.lrc-viewport::-webkit-scrollbar-track{background:0 0}.lrc-viewport::-webkit-scrollbar-thumb{background:rgba(255,255,255,0);border-radius:3px;transition:background-color .3s var(--curve-smooth, cubic-bezier(.4,0,.2,1))}.lrc-viewport.lrc-scroll-active::-webkit-scrollbar-thumb,.lrc-viewport:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28)}.lrc-viewport.lrc-scroll-active::-webkit-scrollbar-thumb:hover,.lrc-viewport:hover::-webkit-scrollbar-thumb:hover{background:var(--primary)}.lrc-viewport.lrc-scroll-active,.lrc-viewport:hover{scrollbar-color:rgba(255,255,255,0.28) transparent}.lrc-line{font-size:var(--lrc-font-size);line-height:var(--lrc-line-height);color:rgba(255,255,255,.35);transition:.6s cubic-bezier(.2, .8, .2, 1);min-height:40px;cursor:pointer;filter:blur(2px);opacity:.4;transform:scale(.95);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;padding:0 10px;user-select:text}.lrc-viewport.scrolling .lrc-line{filter:blur(0px)!important;opacity:.65;transition:filter .15s,opacity .15s}@keyframes lrcPanelIn{from{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes lrcPanelOut{from{opacity:1;filter:blur(0);transform:translateY(0)}to{opacity:0;filter:blur(8px);transform:translateY(12px)}}#lrcPanel.lrc-panel-in{animation:.38s cubic-bezier(.22,.61,.36,1) both lrcPanelIn}#lrcPanel.lrc-panel-out{animation:.28s cubic-bezier(.55,.06,.68,.19) both lrcPanelOut;pointer-events:none}.lrc-viewport{transition:filter .22s,opacity .22s}.lrc-viewport.lrc-switching{filter:blur(10px);opacity:0}.lrc-line:hover{filter:blur(0px);color:rgba(255,255,255,.8);opacity:.8}.lrc-line.active{color:rgba(255,248,240,.95);font-size:calc(var(--lrc-font-size) * 1.2);font-weight:700;text-shadow:0 0 24px rgba(var(--primary-rgb),.5),0 0 60px rgba(var(--primary-rgb),.2);transform:scale(1.05) translateY(-3px);filter:blur(0px);opacity:1}.lrc-line.active+.lrc-line{filter:blur(0px)!important;opacity:.75;transform:scale(.98)}.lrc-line.bilingual{display:flex;flex-direction:column;gap:4px;padding:8px 0}.lrc-line .lrc-original{display:block;font-size:inherit;color:inherit}.lrc-line .lrc-translation{display:block;font-size:.85em;opacity:.5;color:var(--text-sub);transition:.6s cubic-bezier(.2, .8, .2, 1)}.lrc-line.active .lrc-translation{opacity:.9;color:var(--text-main);font-size:.75em;font-weight:500}.lrc-line:not(.active) .lrc-translation{opacity:.45;font-size:.8em}.lrc-line.break{min-height:18px;max-height:18px;cursor:default;filter:none;opacity:.3;transform:none}.lrc-line.break:hover{filter:none;opacity:.3}.lrc-line.blank{min-height:24px;max-height:24px;cursor:default;filter:none;opacity:.25;transform:none}.lrc-line.blank:hover{filter:none;opacity:.25}.lrc-spacer-bottom,.lrc-spacer-top{height:clamp(120px,40vh,320px);flex-shrink:0}.lrc-kana{display:block;font-size:.65em;color:var(--primary);opacity:.55;letter-spacing:.05em;margin-top:2px}.lyrics-align-top .lrc-line.active{color:rgba(255,248,240,.95);font-size:calc(var(--lrc-font-size) * 1.2);font-weight:700;text-shadow:0 0 24px rgba(var(--primary-rgb),.5),0 0 60px rgba(var(--primary-rgb),.2)}.lyrics-align-top .lrc-line.break{min-height:14px;max-height:14px}.lyrics-align-top .lrc-line.blank{min-height:18px;max-height:18px}.lyrics-align-top .lrc-spacer-bottom,.lyrics-align-top .lrc-spacer-top{height:clamp(60px,20vh,160px)}.lrc-credits{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;margin:0 auto 18px;padding:12px 16px;background:rgba(255,255,255,.04);border-radius:12px;border:1px solid rgba(255,255,255,.06);font-size:12px;color:var(--text-sub);line-height:1.7;opacity:.75;width:max-content;max-width:480px;box-sizing:border-box}.lrc-line.lrc-credits{filter:none!important;opacity:1!important;transform:none!important;min-height:auto;cursor:default;font-size:12px;line-height:1.7;margin:0 auto 16px;text-align:center!important}.lrc-line.lrc-credits.active{color:var(--text-sub);font-size:12px;font-weight:400;text-shadow:none;filter:none!important;transform:none!important}.lrc-line.active+.lrc-line.lrc-credits{filter:none!important;opacity:1!important}.lrc-credits .lrc-credits-title{font-weight:600;color:var(--text-main);margin-bottom:4px;font-size:13px;width:100%;text-align:left}.lrc-credits .lrc-credits-row{display:flex;align-items:flex-start;gap:6px;width:100%;flex-wrap:wrap;justify-content:flex-start}.lrc-credits .lrc-credits-tag{color:var(--primary);font-weight:500;white-space:nowrap;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;max-width:100%}.lrc-credits .lrc-credits-val{color:var(--text-sub);word-break:break-all;overflow-wrap:anywhere;min-width:0;flex:1 1 auto;text-align:left;line-height:inherit}.lrc-credits .lrc-credits-name{display:inline-block;word-break:break-all;overflow-wrap:anywhere;max-width:100%}.lrc-credits .lrc-credits-sep{opacity:.85}.lrc-credits .lrc-credits-ai-badge{display:inline-block;font-size:10px;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;line-height:1.4;letter-spacing:.3px;position:relative;cursor:help}.lrc-credits .lrc-credits-ai-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(4px);background:rgba(0,0,0,.92);color:#fff;font-size:11px;font-weight:400;letter-spacing:.2px;white-space:nowrap;padding:5px 10px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s cubic-bezier(.34, 1.56, .64, 1);z-index:50}.lrc-credits .lrc-credits-ai-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(0,0,0,.92)}.lrc-credits .lrc-credits-ai-badge:hover .lrc-credits-ai-tip{opacity:1;transform:translateX(-50%) translateY(0)}.footer{padding:var(--space-md) var(--space-xl);background:rgba(0,0,0,.2);border-top:1px solid rgba(255,255,255,.05);font-size:13px;color:var(--text-sub);display:flex;justify-content:space-between;flex-shrink:0}.btn-ctrl,.btn-glass,.ctx-item,.imm-icon-btn,[class*=btn-],button{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}@keyframes skeletonPulse{0%,100%{opacity:.3}50%{opacity:.6}}.skeleton-placeholder{background:rgba(255,255,255,.08);border-radius:12px;animation:1.5s ease-in-out infinite skeletonPulse;min-height:60px;width:100%}.pl-item.skeleton{pointer-events:none;user-select:none;display:flex;align-items:center;gap:12px;padding:12px 16px;background:0 0}.pl-item.skeleton .sk-bar{height:14px;border-radius:7px;background:rgba(255,255,255,.08);animation:1.5s ease-in-out infinite skeletonPulse}.pl-item.skeleton .sk-bar:first-child{width:60%}.pl-item.skeleton .sk-bar:nth-child(2){width:30%}.toast{top:clamp(30px,5vh,80px)!important}@media (prefers-reduced-motion:reduce){.player-wrapper{backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.art-box,.player-wrapper{animation:none!important}.btn-ctrl,.btn-glass,.lrc-line{transition:none!important}.pip-bg,.pip-vinyl{animation:none!important}.art-crossfade-overlay,.pip-bg-overlay,.pip-vinyl-overlay{display:none!important}.cf-text-enter{animation:none!important}}#immersive-bg-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:-5;pointer-events:none}.imm-wrapper{position:relative;z-index:10;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,3vw,40px);pointer-events:none;background:0 0;isolation:auto}.imm-wrapper *{pointer-events:auto}.imm-topbar{display:flex;justify-content:space-between;align-items:flex-start}.imm-track-card{display:flex;align-items:center;gap:20px;background:rgba(20,17,30,.75);padding:15px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.06);max-width:500px}.imm-track-card.no-art{gap:0}.imm-track-card.no-art .imm-album-art{display:none}.imm-album-art{width:70px;height:70px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.15);flex-shrink:0;box-shadow:0 10px 20px rgba(0,0,0,.3)}.imm-album-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--curve-smooth)}.imm-track-card:hover .imm-album-art img{transform:scale(1.1)}.imm-header-actions{display:flex;gap:12px}.imm-icon-btn{width:50px;height:50px;border-radius:16px;background:rgba(255,255,255,.06);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s var(--curve-smooth);font-size:18px}.imm-icon-btn:hover{background:rgba(255,255,255,.15);transform:translateY(-2px);border-color:var(--primary);color:var(--primary)}.imm-lyrics-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1200px;text-align:center;z-index:5;transition:opacity .5s;pointer-events:none}.imm-lyrics-center.hidden{opacity:0}.imm-subtitle{text-shadow:0 4px 20px rgba(0,0,0,.8),0 0 30px var(--primary-glow);line-height:1.4}.imm-subtitle-line{font-size:clamp(28px, 4vw, 46px);font-weight:800;margin-bottom:12px;min-height:1.4em;transition:opacity .2s ease-out,transform .2s ease-out;will-change:opacity,transform;opacity:1;word-break:break-word;overflow-wrap:break-word;max-width:100%}.imm-subtitle-line.next{font-size:clamp(20px, 2.5vw, 28px);font-weight:600;color:rgba(255,255,255,.6);margin-top:8px;min-height:1.4em;transition:opacity .2s ease-out,transform .2s ease-out;will-change:opacity,transform;word-break:break-word;overflow-wrap:break-word;max-width:100%}.imm-bottom{background:rgba(20,17,30,.85);border-radius:28px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.5);padding:16px 28px;max-width:850px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:12px}.imm-bottom-row{display:flex;align-items:center;gap:14px}.imm-bottom-row .progress-area{flex:1;min-width:0;padding:0}.imm-bottom-row .time-labels{flex-shrink:0;min-width:96px;display:flex;justify-content:space-between;gap:4px;font-variant-numeric:tabular-nums}.imm-bottom-row .btn-mode{flex-shrink:0;min-width:40px}.imm-bottom .imm-bottom-controls{gap:22px;justify-content:center;padding:2px 0 0}.imm-bottom #imm-btnNext,.imm-bottom #imm-btnPrev{width:50px;height:50px;font-size:16px}.imm-bottom #imm-btnPlay{width:64px;height:64px;font-size:24px}.imm-exit-hint{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);z-index:20;font-size:20px;color:rgba(255,255,255,.3);cursor:pointer;transition:.3s;animation:2s infinite bounceArrow;pointer-events:auto}.imm-exit-hint:hover{color:var(--primary);transform:translateX(-50%) scale(1.2)}@keyframes bounceArrow{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}.modal-overlay{position:fixed;inset:0;background:rgba(8,6,16,.65);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .4s var(--curve-smooth);z-index:1000}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-content{background:linear-gradient(180deg,#1a1628 0,#141020 100%);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:32px;width:520px;max-width:90vw;max-height:85vh;transform:scale(.9);transition:transform .4s var(--curve-spring);display:flex;flex-direction:column;box-shadow:0 25px 50px rgba(0,0,0,.5);overflow-y:auto;will-change:transform}.modal-overlay.open .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.playlist-items{flex:1;overflow-y:auto;padding-right:10px;display:flex;flex-direction:column;gap:8px;content-visibility:auto;contain-intrinsic-size:60px;contain:strict}.pl-item{content-visibility:auto;contain-intrinsic-size:60px;padding:12px 16px;background:rgba(255,255,255,.03);border-radius:12px;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;position:relative}.pl-item:hover{background:rgba(255,255,255,.08)}.pl-item.active{background:rgba(154,200,226,.15);border-color:var(--primary);color:var(--primary);font-weight:700}.pl-item.error{background:rgba(255,107,107,.15);border-color:rgba(255,107,107,.3);color:#ff6b6b}.pl-item.dragging{opacity:.5;background:rgba(255,255,255,.12)}.pl-item.drag-over{border-top:2px solid var(--primary)}.pl-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.pl-item .favorite-btn{font-size:18px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:opacity .2s,transform .2s;opacity:.5}.pl-item .favorite-btn.faved,.pl-item .favorite-btn:hover{opacity:1;transform:scale(1.2)}.pl-item .favorite-btn.faved{color:#ff6b6b}.context-menu{position:fixed;z-index:10000;background:rgba(20,25,45,.95);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:8px 0;min-width:200px;box-shadow:0 20px 40px rgba(0,0,0,.6);display:none;overflow:hidden}.context-menu.show{display:block}.ctx-item{padding:10px 20px;cursor:pointer;font-size:14px;color:var(--text-main);transition:.2s;display:flex;align-items:center;gap:10px}.ctx-item:hover{background:rgba(255,255,255,.08);color:var(--primary)}.ctx-item.danger{color:#ff6b6b}.ctx-item.danger:hover{background:rgba(255,107,107,.15)}.ctx-divider{height:1px;background:rgba(255,255,255,.08);margin:4px 0}.drawer-box{margin-bottom:12px;padding:12px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.06)}.drawer-title{font-size:15px;color:var(--text-sub);margin-bottom:8px;font-weight:600}.hotkey-grid{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13px;color:var(--text-sub);line-height:1.6}.hotkey-grid kbd{background:rgba(255,255,255,.1);padding:2px 6px;border-radius:4px;color:#fff;font-family:monospace;border:1px solid rgba(255,255,255,.2)}.hotkey-grid .pad{color:var(--primary);font-weight:700;border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.settings-modal-content{padding:0}.settings-modal-content .modal-header{padding:20px 24px 12px;margin-bottom:0;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}.settings-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.settings-layout>.settings-body{flex:1;min-height:0;overflow-y:auto}.settings-layout>.settings-footer{flex-shrink:0}.playlist-tab-bar{display:flex;gap:4px;margin-left:auto;margin-right:12px;border-bottom:none;background:0 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.playlist-tab-bar::-webkit-scrollbar{display:none}.playlist-tab{padding:10px 16px;border-radius:10px 10px 0 0;font-size:13px;font-weight:500;color:rgba(255,255,255,.38);background:0 0;border:none;cursor:pointer;transition:color .3s,background .3s;white-space:nowrap;position:relative}.playlist-tab:hover{color:rgba(255,255,255,.65);background:rgba(255,255,255,.04)}.playlist-tab.active{background:rgba(var(--primary-rgb),.08);color:var(--primary);font-weight:500;border-bottom:2px solid var(--primary)}.playlist-tab.gamepad-focus{outline:2px solid var(--primary);outline-offset:2px;border-radius:10px 10px 0 0}.settings-tab-bar{display:flex;gap:4px;padding:12px 20px 0;background:0 0;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.settings-tab-bar::-webkit-scrollbar{display:none}.settings-tab-bar::after{content:'';flex-shrink:0;width:16px}.settings-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:10px 10px 0 0;border:none;background:0 0;color:rgba(255,255,255,.38);cursor:pointer;font-size:13px;font-weight:500;transition:.3s cubic-bezier(.4, 0, .2, 1);position:relative;white-space:nowrap}.settings-tab .tab-icon{width:18px;height:18px;opacity:.45;transition:.3s;flex-shrink:0}.settings-tab.active{background:rgba(var(--primary-rgb),.08);color:var(--primary);border-bottom:2px solid var(--primary)}.settings-tab.active .tab-icon{opacity:1;color:var(--primary)}.settings-tab:hover:not(.active){color:rgba(255,255,255,.65);background:rgba(255,255,255,.04)}.settings-tab:hover:not(.active) .tab-icon{opacity:.8}.settings-body{flex:1;overflow-y:auto;padding:16px 20px 28px}.settings-panel{display:none}.settings-panel.active{display:block;animation:.35s settingsFadeIn;padding-bottom:20px}@keyframes settingsFadeIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-footer{flex-shrink:0;text-align:center;color:var(--text-sub);font-size:12px;padding:14px 24px 16px;border-top:1px solid rgba(255,255,255,.05)}.settings-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 36px 8px 14px;color:var(--text-main);font-size:13px;font-family:var(--font-body);cursor:pointer;outline:0;transition:border-color .3s,background .3s,box-shadow .3s,transform .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e8b4b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.settings-select:hover{border-color:rgba(var(--primary-rgb),.35);background:rgba(255,255,255,.07);transform:translateY(-1px)}.settings-select.gamepad-focus,.settings-select:focus{border-color:var(--primary);background:rgba(var(--primary-rgb),.06);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15),0 4px 16px rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.settings-select:active{transform:translateY(0) scale(.98)}.settings-select option{background:#1a1628;color:var(--text-main);padding:8px 12px}.settings-select option:checked,.settings-select option:hover{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.custom-select-wrap{position:relative;flex:1}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px 8px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-main);font-size:13px;font-family:var(--font-body);cursor:pointer;transition:.25s;outline:0;text-align:left}.custom-select-trigger:hover{border-color:rgba(var(--primary-rgb),.35);background:rgba(255,255,255,.07)}.custom-select-trigger.gamepad-focus,.custom-select-trigger:focus{border-color:var(--primary);background:rgba(var(--primary-rgb),.06);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}.custom-select-arrow{flex-shrink:0;color:var(--primary);transition:transform .3s}.custom-select-wrap.open .custom-select-arrow{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1a1628;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:4px;z-index:100;opacity:0;transform:translateY(-8px) scale(.95);pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.34, 1.56, .64, 1);box-shadow:0 12px 30px rgba(0,0,0,.5)}.custom-select-wrap.open .custom-select-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.custom-select-option{display:block;width:100%;padding:8px 12px;background:0 0;border:none;border-radius:8px;color:var(--text-sub);font-size:13px;font-family:var(--font-body);cursor:pointer;text-align:left;transition:background .15s,color .15s}.custom-select-option.gamepad-focus,.custom-select-option:focus,.custom-select-option:hover{background:rgba(var(--primary-rgb),.12);color:var(--primary);outline:0}.custom-select-option.selected{color:var(--primary);font-weight:600}.theme-preset-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:10px}.theme-preset-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:rgba(255,255,255,.02);border-radius:16px;border:1px solid transparent;cursor:pointer;transition:.3s cubic-bezier(.34, 1.56, .64, 1)}.theme-preset-card:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.theme-preset-card.gamepad-focus{background:rgba(255,255,255,.08);border-color:var(--primary)!important;transform:scale(1.08)!important;box-shadow:0 8px 24px var(--primary-glow)!important}.theme-color-circle{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.15);box-shadow:0 4px 10px rgba(0,0,0,.3);transition:transform .3s}.theme-preset-card.active .theme-color-circle{border-color:#fff;transform:scale(1.05)}.theme-preset-label{font-size:11px;color:var(--text-sub);font-weight:600}.theme-preset-card.active .theme-preset-label{color:var(--primary)}.cover-wall-container{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;padding:10px;overflow-y:auto;max-height:50vh;align-content:flex-start}.cover-album-group{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;background:rgba(255,255,255,.03);border-radius:16px;padding:12px;border:1px solid transparent;transition:.3s;width:140px;flex-shrink:0}.cover-album-group:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);transform:translateY(-2px)}.cover-album-group.active{border-color:var(--primary);box-shadow:0 0 20px var(--primary-glow);background:rgba(154,200,226,.1)}.cover-album-art{width:100px;height:100px;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 8px 20px rgba(0,0,0,.3)}.cover-album-art img{width:100%;height:100%;object-fit:cover}.cover-album-art .cw-no-art{width:100%;height:100%;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-size:36px;color:rgba(255,255,255,.2)}.cover-album-count{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.7);color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.cover-album-info{text-align:center;width:100%}.cover-album-name{font-size:12px;font-weight:600;color:var(--text-main);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-album-artist{font-size:10px;color:var(--text-sub);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-grid.is-empty .col{display:none!important}.content-grid.is-empty .empty-state{display:flex!important;position:relative;height:100%;width:100%;pointer-events:auto;cursor:pointer}.content-grid:not(.is-empty) .empty-state{display:none!important}.content-grid:not(.is-empty) .col{animation:appFadeIn .8s var(--curve-spring) both}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:1;pointer-events:none;transition:transform .3s var(--curve-spring)}.empty-state:hover{transform:scale(1.02)}.empty-state:hover .icon-wrap{background:rgba(154,200,226,.08);border-color:var(--primary);transform:translateY(-5px)}.empty-state .icon-wrap{width:120px;height:120px;border-radius:30px;background:rgba(255,255,255,.03);border:2px dashed rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:56px;animation:4s ease-in-out infinite floatArt,2.5s ease-in-out infinite emptyPulse;transition:background .3s,border-color .3s,transform .3s var(--curve-spring)}.empty-state .icon-wrap .ui-ico{width:56px;height:56px;color:var(--primary)}@keyframes emptyPulse{0%,100%{border-color:rgba(255,255,255,.1);box-shadow:0 0 0 rgba(154,200,226,0)}50%{border-color:rgba(154,200,226,.4);box-shadow:0 0 30px rgba(154,200,226,.15)}}.empty-state p{color:var(--text-sub);font-size:16px;font-weight:500}.empty-state .sub{font-size:13px;opacity:.5}.empty-state .no-drag-hint{font-size:13px;opacity:.6;color:var(--primary);animation:2s infinite pulseSubtle}.drag-insert-line{position:absolute;left:10px;right:10px;height:3px;background:var(--primary);border-radius:2px;z-index:5;pointer-events:none;opacity:0;transform:scaleX(.8);transition:opacity .15s,transform .15s;box-shadow:0 0 12px var(--primary-glow)}.drag-insert-line.show{opacity:1;transform:scaleX(1)}.ab-marker{position:absolute;top:-8px;width:12px;height:22px;border-radius:4px;z-index:5;pointer-events:none;transform:translateX(-50%);box-shadow:0 0 10px rgba(255,107,107,.5)}input[type=file]{display:none}body.dark-mode{--bg-dark:#050510;--bg-dark-light:#0f0f1a;--bg-darker:#020208}body.dark-mode .player-wrapper{background:rgba(10,10,22,.55)}.search-container{position:relative;margin-bottom:12px;display:flex;gap:8px}.search-input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:10px 16px;border-radius:12px;font-size:14px;outline:0;transition:.3s}.search-input:focus{border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.search-input::placeholder{color:var(--text-sub)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.settings-toggle-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:8px;gap:12px;background:rgba(255,255,255,.04);border-radius:12px;border:1px solid rgba(255,255,255,.06)}.settings-toggle-card-body{display:flex;flex-direction:column;gap:2px}.settings-toggle-card-title{font-size:14px;color:var(--text-main);display:flex;align-items:center;gap:6px}.settings-toggle-card-desc{font-size:11px;color:var(--text-sub)}.settings-slider-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.settings-slider-row input[type=range]{flex:1}.settings-slider-value{font-size:12px;color:var(--primary);white-space:nowrap;min-width:40px;text-align:right}.settings-slider-label{font-size:13px;color:var(--text-sub);margin-bottom:4px}.settings-segmented{display:flex;gap:8px;margin-bottom:10px}.settings-segmented .btn-glass{flex:1;justify-content:center;padding:8px 12px;font-size:12px}.settings-btn-full{width:100%;justify-content:center;padding:12px 20px}.settings-btn-danger{border-color:rgba(255,107,107,.3);color:#ff6b6b}.settings-hint-after-title{margin:0 0 6px}.settings-sub-group{margin-top:8px;margin-bottom:8px;padding-left:4px}.settings-sub-group:empty{display:none}.settings-sub-group .settings-slider-label{margin-bottom:6px}.settings-sub-group .settings-segmented{margin-bottom:10px}.settings-sub-group>.settings-toggle-card{margin-bottom:8px}.drawer-box .settings-hint:last-child,.drawer-box .settings-segmented:last-child,.drawer-box .settings-slider-label:last-child,.drawer-box .settings-slider-row:last-child,.drawer-box .settings-sub-group:last-child,.drawer-box .settings-toggle-card:last-child,.settings-body>.drawer-box:last-child,.settings-sub-group>:last-child{margin-bottom:0}.settings-btn-full+.settings-btn-full{margin-top:8px}.settings-slider-label-mt{margin-top:12px}.settings-offset-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.settings-offset-row .btn-glass{padding:6px 10px;font-size:12px}.settings-offset-label{font-size:13px;color:var(--text-sub);white-space:nowrap}.settings-offset-val{font-size:12px;color:var(--primary);min-width:36px;text-align:center}.settings-info-box{margin-top:10px;padding:8px 10px;background:rgba(68,204,255,.08);border-radius:10px;border:1px solid rgba(68,204,255,.2)}.settings-info-box .settings-row{margin-bottom:6px}.settings-info-box .settings-row:last-child{margin-bottom:0}.settings-hint{font-size:11px;color:var(--text-sub)}.settings-hint-after-card{margin:6px 0 0}.settings-hint-after-row{margin:-4px 0 10px 82px}.settings-hint-center{text-align:center;margin:4px 0 0}.settings-warning{font-size:11px;color:var(--warn,#e8a840);margin-bottom:10px;display:flex;align-items:center;gap:6px}.drawer-box.cf-locked{opacity:.5}.drawer-box.cf-locked .settings-segmented,.drawer-box.cf-locked .settings-slider-row,.drawer-box.cf-locked .settings-toggle-card{pointer-events:none}.energy-lock-hint{margin-top:4px}.drawer-box.accent-energy{background:rgba(255,193,7,.06);border-color:rgba(255,193,7,.15)}.drawer-box.accent-appearance{background:rgba(232,180,184,.06);border-color:rgba(232,180,184,.15)}.eq-panel{display:flex;flex-direction:column;gap:12px}.eq-band{display:flex;align-items:center;gap:10px}.eq-band label{width:60px;font-size:12px;color:var(--text-sub);text-align:right;flex-shrink:0}.eq-band input{flex:1}.eq-band .eq-val{width:40px;font-size:12px;color:var(--primary);text-align:right;flex-shrink:0}.eq-preset-btns{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:12px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.eq-preset-btn{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text-main);padding:6px 14px;border-radius:10px;cursor:pointer;font-size:12px;transition:.3s;flex-shrink:0;white-space:nowrap}.eq-preset-btn:hover{border-color:var(--primary);background:rgba(255,255,255,.12)}.eq-preset-btn.active{background:var(--primary);color:#000;border-color:var(--primary)}.pip-container{position:relative;width:100vw;height:100vh;overflow:hidden;font-family:'OPPO Sans 4.0',Inter,-apple-system,BlinkMacSystemFont,sans-serif;user-select:none;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0a0a1a;min-width:240px;min-height:120px}.pip-bg{position:absolute;inset:-20px;z-index:0;background-size:cover;background-position:center;filter:blur(50px) brightness(.4);transform:scale(1.1);animation:8s ease-in-out infinite pipBgBreath}@keyframes pipBgBreath{0%,100%{transform:scale(1.1)}50%{transform:scale(1.15)}}.pip-bg::after{content:'';position:absolute;inset:0;background:rgba(10,10,26,.35)}.pip-fallback{display:flex;align-items:center;gap:16px;z-index:2;padding:20px;width:100%;max-width:400px}.pip-vinyl{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 8px 24px rgba(0,0,0,.5);border:3px solid rgba(255,255,255,.1);position:relative;animation:12s linear infinite pipVinylSpin}@media (max-width:300px){.pip-vinyl{animation-play-state:paused}}.pip-bg-overlay,.pip-vinyl-overlay{pointer-events:none}@keyframes pipVinylSpin{to{transform:rotate(360deg)}}.pip-vinyl img{width:100%;height:100%;object-fit:cover}.pip-fallback-info{flex:1;min-width:0}.pip-fallback-title{font-size:16px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.5)}.pip-fallback-artist{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pip-lyrics-wrap{position:relative;z-index:2;text-align:center;padding:24px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;flex:1;width:100%;max-width:600px}.pip-line-current{word-break:break-word;font-size:clamp(18px, 4vw, 28px);font-weight:800;color:#fff;line-height:1.3;transition:opacity .4s,transform .4s cubic-bezier(.4, 0, .2, 1);text-shadow:0 2px 12px rgba(0,0,0,.6),0 0 30px rgba(255,255,255,.15);opacity:1;transform:translateY(0);max-width:100%;word-break:break-word}.pip-line-current.fade-out{opacity:0;transform:translateY(-20px)}.pip-line-next{font-size:clamp(13px, 2.5vw, 17px);font-weight:600;color:rgba(255,255,255,.45);line-height:1.3;transition:.4s cubic-bezier(.4, 0, .2, 1);text-shadow:0 1px 6px rgba(0,0,0,.4);opacity:.6;transform:translateY(0);max-width:100%;word-break:break-word}.pip-line-next.fade-out{opacity:0;transform:translateY(-20px)}.pip-controls-overlay{position:absolute;inset:0;z-index:5;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;pointer-events:none;transition:opacity .35s}.pip-container.show-controls .pip-controls-overlay,.pip-container:hover .pip-controls-overlay{opacity:1;pointer-events:auto}.pip-track-info{font-size:15px;color:rgba(255,255,255,.8);font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.5);text-align:center;padding:0 20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pip-btn-group{display:flex;align-items:center;gap:20px}.pip-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:.25s;backdrop-filter:blur(10px)}.pip-btn:hover{background:rgba(255,255,255,.25);transform:scale(1.1);border-color:#fff}.pip-btn.pip-play-btn{width:56px;height:56px;font-size:24px;background:rgba(255,255,255,.2)}.pip-btn.pip-fav-btn{border-color:rgba(255,107,107,.4)}.pip-btn.pip-fav-btn:hover{background:rgba(255,107,107,.3);border-color:#ff6b6b}.pip-btn.pip-fav-btn.faved{background:rgba(255,107,107,.4);border-color:#ff6b6b;color:#ff6b6b}.pip-progress-bar{position:absolute;bottom:0;left:0;right:0;z-index:3;height:3px;background:rgba(255,255,255,.1)}.pip-progress-fill{height:100%;background:var(--primary,#e8b4b8);transition:width .3s linear;border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--primary-glow,rgba(154,200,226,.4))}@media (min-aspect-ratio:2/1){.pip-lyrics-wrap{flex-direction:row;gap:12px;text-align:left;padding:16px 24px}.pip-line-current{font-size:clamp(15px, 2.5vw, 22px)}.pip-line-next{font-size:clamp(11px, 1.5vw, 15px)}}.gamepad-badge{display:none;position:absolute;top:-8px;right:-6px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.85);border:1.5px solid var(--primary);color:var(--primary);font-size:10px;font-weight:900;text-align:center;line-height:16px;z-index:60;pointer-events:none;font-family:monospace}.gamepad-badge.pad-wide{width:auto;min-width:18px;padding:0 4px;border-radius:9px}.btn-glass{position:relative}.gamepad-connected .gamepad-badge{display:block}.gamepad-badge.pad-a{background:rgba(0,200,80,.2);border-color:#0c8;color:#0f8}.gamepad-badge.pad-b{background:rgba(255,80,80,.2);border-color:#f55;color:#f44}.gamepad-badge.pad-x{background:rgba(80,140,255,.2);border-color:#58f;color:#59f}.gamepad-badge.pad-y{background:rgba(255,200,50,.2);border-color:#fc3;color:#fb3}.gamepad-badge.pad-lb,.gamepad-badge.pad-rb{border-radius:4px;width:22px}.gamepad-badge.pad-dpad{background:rgba(255,255,255,.12);color:#aaa}.gamepad-badge.pad-rs{background:rgba(var(--primary-rgb),.2);color:var(--primary)}.gamepad-badge.pad-view{background:rgba(120,200,255,.22);border-color:#7cf;color:#9cf}.gamepad-badge.pad-r3{background:rgba(200,160,255,.22);border-color:#b9f;color:#caf}.vis-canvas-container .gamepad-badge{top:4px;right:4px}.gamepad-key-hint{display:none;position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--primary);white-space:nowrap;opacity:.7;font-family:monospace;font-weight:700;pointer-events:none}.gamepad-connected .gamepad-key-hint{display:block}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{background:rgba(255,255,255,.04);border-radius:14px;padding:16px;border:1px solid rgba(255,255,255,.05);text-align:center}.stat-card .stat-value{font-size:28px;font-weight:800;color:var(--primary)}.stat-card .stat-label{font-size:12px;color:var(--text-sub);margin-top:4px}.stat-top-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.stat-top-item{display:flex;align-items:center;gap:10px;font-size:13px;padding:8px;background:rgba(255,255,255,.03);border-radius:8px}.stat-top-item .rank{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#000;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.stat-top-item .song-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-top-item .play-count{font-size:12px;color:var(--text-sub)}.sleep-timer-display{color:var(--text-sub);display:flex;align-items:center;gap:6px}.sleep-timer-display.active{color:var(--primary)}.sleep-timer-btns{display:flex;gap:8px;flex-wrap:wrap}.speed-pitch-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.speed-pitch-row label{font-size:13px;color:var(--text-sub);width:50px;flex-shrink:0}.speed-pitch-row input{flex:1}.speed-pitch-row .val{width:45px;font-size:13px;color:var(--primary);text-align:right;flex-shrink:0}@media (max-width:768px){.header{padding:16px 20px}.brand{font-size:18px}.nav-actions{gap:8px}.btn-glass{padding:8px 12px;font-size:12px;gap:4px}.content-grid{flex-direction:column;overflow-y:auto;padding:16px;align-items:center;gap:20px}.col-album{flex:0 0 auto;width:100%;max-width:340px}.col-controls{flex:0 0 auto;width:100%;max-width:400px}.col-lyrics{flex:0 0 auto;width:100%;max-width:400px;min-height:300px;mask-image:none;-webkit-mask-image:none}.player-wrapper{width:100vw;height:100vh;border-radius:0;border:none}.art-box{width:260px;height:260px}.imm-bottom{flex-direction:column;gap:15px;padding:20px}.imm-bottom .vol-control{display:none}.theme-preset-grid{grid-template-columns:repeat(5,1fr)}.track-title{font-size:24px}.track-artist{font-size:15px}.footer{padding:12px 20px;font-size:11px}.btn-group-main{gap:14px}.btn-ctrl{width:48px;height:48px;font-size:16px}.btn-play{width:64px;height:64px;font-size:26px}.btn-fav-ctrl,.btn-pip-ctrl{width:42px!important;height:42px!important;font-size:15px!important}.vol-control{margin-left:12px;padding:8px 12px}.cover-album-group{width:110px;padding:8px}.cover-album-art{width:75px;height:75px}.search-input{font-size:13px;padding:8px 12px}}@media (max-width:480px){.header{padding:12px 14px;flex-wrap:wrap;gap:8px}.brand{font-size:16px}.nav-actions{flex-wrap:wrap;gap:6px}.btn-glass{padding:6px 10px;font-size:11px;border-radius:10px}.art-box{width:200px;height:200px;border-radius:20px}.track-title{font-size:20px}.track-artist{font-size:13px}.btn-group-main{gap:10px}.btn-ctrl{width:40px;height:40px;font-size:14px}.btn-play{width:52px;height:52px;font-size:22px}.btn-fav-ctrl,.btn-pip-ctrl{width:36px;height:36px;font-size:13px}.btn-group-sub{flex-wrap:wrap;gap:8px}.vol-control{margin-left:0;width:100%}.cover-album-group{width:90px;padding:6px}.cover-album-art{width:60px;height:60px}}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{display:none}.toggle-slider{position:absolute;inset:0;cursor:pointer;background:rgba(255,255,255,.15);border-radius:24px;transition:all .3s var(--curve-smooth);border:1px solid rgba(255,255,255,.1)}.toggle-slider::before{content:'';position:absolute;height:18px;width:18px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .3s var(--curve-spring);box-shadow:0 1px 3px rgba(0,0,0,.3)}.toggle-switch input:checked+.toggle-slider{background:var(--primary);border-color:var(--primary)}.toggle-switch input:checked+.toggle-slider::before{transform:translateX(20px)}.player-wrapper.pip-standby{pointer-events:none!important;opacity:.35!important;transition:opacity .6s var(--curve-smooth)!important}.player-wrapper.pip-standby .art-box{animation:none!important}.player-wrapper.pip-standby .bg-layer-color,.player-wrapper.pip-standby .bg-layer-img{opacity:.15!important;transition:opacity .6s var(--curve-smooth)!important}.player-wrapper.pip-standby canvas{opacity:0!important;transition:opacity .6s var(--curve-smooth)!important}.player-wrapper.pip-standby .btn-pip-ctrl{pointer-events:auto!important;opacity:1!important;animation:2s ease-in-out infinite pipStandbyPulse}@keyframes pipStandbyPulse{0%,100%{box-shadow:0 0 8px var(--primary-glow)}50%{box-shadow:0 0 20px var(--primary-glow),0 0 40px var(--primary)}}.crossfade-indicator{position:fixed;bottom:80px;right:20px;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);padding:8px 16px;border-radius:20px;font-size:12px;color:var(--primary);opacity:0;transition:opacity .3s;pointer-events:none;z-index:100}.crossfade-indicator.active{opacity:1}.network-status{display:inline-flex;align-items:center;gap:6px;font-weight:600;padding:2px 10px;border-radius:10px;transition:all .3s var(--curve-smooth)}.network-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#4ade80;transition:background .3s}.network-status.online{color:rgba(255,255,255,.5)}.network-status.offline{color:#ff6b6b}.network-status.offline::before{background:#ff6b6b;animation:1.5s infinite pulseSubtle}.network-status.slow{color:var(--primary)}.network-status.slow::before{background:var(--primary);animation:1.5s infinite pulseSubtle}.ui-ico{width:18px;height:18px;flex-shrink:0;display:inline-block;vertical-align:middle;margin-right:6px;pointer-events:none}.ctx-item .ui-ico{margin-right:0}.toast .ui-ico{width:16px;height:16px;margin-right:6px}#gamepadStatus .ui-ico,.cw-no-art .ui-ico,.empty-state .icon-wrap .ui-ico,.favorite-btn .ui-ico,.imm-icon-btn .ui-ico,.network-status .ui-ico,.play-all-btn .ui-ico{margin:0}.lrc-credits-title .ui-ico,.sleep-timer-display .ui-ico{margin-right:4px}.brand-icon,.btn-icon{width:18px;height:18px;flex-shrink:0;display:inline-block;vertical-align:middle;pointer-events:none}.brand-icon{width:24px;height:24px;color:var(--primary)}.btn-glass .btn-icon{opacity:.8}.btn-glass:hover .btn-icon{opacity:1;color:var(--primary)}.btn-glass .ui-ico{opacity:.8}.btn-glass:hover .ui-ico{opacity:1;color:var(--primary)}.btn-ctrl .btn-icon{width:24px;height:24px}.btn-play .btn-icon{width:28px;height:28px;color:var(--text-on-primary)}.art-box.load-error{position:relative}.art-box.load-error .art-img{opacity:.3;filter:grayscale(100%)}.art-box.load-error::before{content:'';position:absolute;inset:0;background:rgba(255,80,80,.08);border:2px dashed rgba(255,80,80,.3);border-radius:28px;z-index:2;pointer-events:none}.art-box.load-error::after{content:'无法播放此文件';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;font-size:14px;font-weight:600;color:#ff6b6b;pointer-events:none}.toast-undo-btn{background:var(--primary);color:var(--text-on-primary);border:none;padding:2px 10px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;margin-left:8px;transition:filter .2s}.toast-undo-btn:hover{filter:brightness(1.15)}.cover-library-panel{background:linear-gradient(175deg,#1e1b2e 0,#161322 40%,#12101c 100%);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:0;width:min(80vw,1400px);max-width:1400px;max-height:92vh;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 4px 60px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.5);display:flex;flex-direction:column}.cover-lib-modal-content{display:flex;flex-direction:column;overflow:hidden!important;padding:28px 32px 0!important;height:100%}.cover-lib-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin-bottom:20px}.cover-lib-header h2{font-size:22px;font-weight:700;color:#e8e4f0;letter-spacing:-.3px;margin:0}.cover-lib-modal-content .search-container{flex-shrink:0;margin-bottom:20px}#coverLibSearch{width:100%;padding:12px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#d0cce0;font-size:14px;transition:border-color .25s,background .25s,box-shadow .25s;outline:0}#coverLibSearch::placeholder{color:rgba(255,255,255,.25)}#coverLibSearch:focus{border-color:rgba(154,200,226,.4);background:rgba(255,255,255,.08);box-shadow:0 0 0 4px rgba(154,200,226,.08)}.cover-lib-tabs{display:flex;gap:2px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:0;flex-shrink:0;overflow-x:auto;scrollbar-width:none}.cover-lib-tabs::-webkit-scrollbar{display:none}.cover-lib-tab{padding:12px 20px;border-radius:10px 10px 0 0;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.35);background:0 0;border:none;cursor:pointer;transition:color .25s,background .25s;white-space:nowrap;flex-shrink:0;position:relative}.cover-lib-tab:hover{color:rgba(255,255,255,.6);background:rgba(255,255,255,.03)}.cover-lib-tab.active{color:var(--primary,#9ac8e2);background:rgba(154,200,226,.06)}.cover-lib-tab.active::after{content:'';position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--primary,#9ac8e2);border-radius:2px 2px 0 0}.cover-lib-grid{flex:1;min-height:0;contain:style paint;align-self:stretch}.cover-lib-grid.is-coverflow{display:flex;align-items:center;gap:0;overflow-x:auto;overflow-y:hidden;perspective:1600px;perspective-origin:50% 50%;padding:50px max(0px,calc(50% - 100px));scroll-behavior:smooth;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex:0 0 auto;align-self:center;transform:translateY(-50px);width:100%}.cover-lib-grid.is-coverflow>.cover-lib-card{scroll-snap-align:center}.cover-lib-grid.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;overflow-x:hidden;overflow-y:auto;padding:20px 4px;perspective:none;scroll-behavior:smooth}.cover-lib-grid::-webkit-scrollbar{width:6px}.cover-lib-grid::-webkit-scrollbar-track{background:0 0}.cover-lib-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}.cover-lib-grid::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18)}.cover-lib-card{position:relative;flex:0 0 auto;width:200px;cursor:pointer;transform-origin:center center;transform-style:preserve-3d;border-radius:6px;background:#1e1c2a;z-index:1;transition:transform .5s cubic-bezier(.25, .46, .45, .94),box-shadow .5s,opacity .4s,filter .3s;box-shadow:0 10px 25px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.5)}.cover-lib-card.cl-center{z-index:200;box-shadow:0 0 0 2px rgba(154,200,226,.55),0 0 50px rgba(154,200,226,.28),0 24px 60px rgba(0,0,0,.6);filter:brightness(1.04)}.cover-lib-card:hover{filter:brightness(1.06)}.cover-lib-card .art-wrap{width:100%;aspect-ratio:1;background:#16141f;position:relative;overflow:hidden}.cover-lib-card .art-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.25, .46, .45, .94);filter:brightness(.95)}.cover-lib-card:hover .art-wrap img{transform:scale(1.08);filter:brightness(1.05)}.cover-lib-card .art-wrap .placeholder-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;background:linear-gradient(135deg,#1e1c2a 0,#2a2540 100%);color:rgba(255,255,255,.15)}.cover-lib-card .play-all-btn{position:absolute;bottom:10px;right:10px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px) scale(.9);transition:opacity .2s,transform .3s cubic-bezier(.25, .46, .45, .94);font-size:18px;color:#fff;pointer-events:none}.cover-lib-card:hover .play-all-btn{opacity:1;transform:translateY(0) scale(1)}.cover-lib-card .song-count-badge{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#c8c0d8;font-size:11px;font-weight:600;padding:3px 9px;border-radius:11px;letter-spacing:.3px;z-index:2}.cover-lib-card .album-name{padding:10px 14px 2px;font-size:15px;font-weight:600;color:#e0dcec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;letter-spacing:-.2px}.cover-lib-card .album-meta{padding:0 14px 10px;font-size:12.5px;color:#726e82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;font-weight:400}.cover-lib-card.gamepad-focus{outline:0;z-index:200;box-shadow:0 0 0 2px rgba(154,200,226,.6),0 0 50px rgba(154,200,226,.25),0 24px 60px rgba(0,0,0,.6);background:#262338}.cover-lib-grid.is-grid .cover-lib-card{width:auto;flex:initial;background:rgba(255,255,255,.03);border:1px solid transparent;border-radius:18px;padding:14px;transform:none!important;filter:none!important;opacity:1!important;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:10px;transition:background .3s ease,border-color .3s ease,transform .35s var(--curve-spring),box-shadow .35s ease}.cover-lib-grid.is-grid .cover-lib-card:hover{background:rgba(255,255,255,.08);border-color:var(--primary);transform:translateY(-4px)!important;box-shadow:0 12px 28px rgba(0,0,0,.4);filter:none!important}.cover-lib-grid.is-grid .cover-lib-card.gamepad-focus{outline:0;background:rgba(154,200,226,.12);border-color:var(--primary);box-shadow:0 0 0 2px rgba(154,200,226,.55),0 12px 28px rgba(0,0,0,.4);transform:translateY(-4px)!important}.cover-lib-grid.is-grid .cover-lib-card .art-wrap{width:120px;height:120px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.35);flex-shrink:0}.cover-lib-grid.is-grid .cover-lib-card .art-wrap img{transition:transform .6s var(--curve-smooth)}.cover-lib-grid.is-grid .cover-lib-card:hover .art-wrap img{transform:scale(1.08)}.cover-lib-grid.is-grid .cover-lib-card .vinyl-slip{display:none}.cover-lib-grid.is-grid .cover-lib-card .play-all-btn{display:none;position:absolute;inset:0;width:100%;height:100%;background:rgba(0,0,0,.55);align-items:center;justify-content:center;font-size:32px;color:#fff;border-radius:14px;z-index:3;opacity:1;transform:none;pointer-events:none}.cover-lib-grid.is-grid .cover-lib-card.artist-card .play-all-btn{border-radius:50%}.cover-lib-grid.is-grid .cover-lib-card .art-wrap:hover .play-all-btn{display:flex}.cover-lib-grid.is-grid .cover-lib-card.artist-card .art-wrap{border-radius:50%;width:120px;height:120px;margin:0}.cover-lib-grid.is-grid .cover-lib-card .album-name{font-size:13px;font-weight:600;text-align:center;max-width:130px;padding:0}.cover-lib-grid.is-grid .cover-lib-card .album-meta{font-size:11px;color:var(--text-sub);text-align:center;max-width:130px;padding:0}.cover-lib-grid.is-grid .cover-lib-card .song-count-badge{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.8);color:#fff;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;z-index:2}.cover-lib-card.artist-card .art-wrap{border-radius:50%;width:70%;margin:15% auto 0;aspect-ratio:1;box-shadow:0 0 0 3px rgba(255,255,255,.06)}.cover-lib-card.artist-card .art-wrap img{border-radius:50%}.album-detail-panel{background:rgba(20,25,40,.95);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:28px;width:700px;max-width:95vw;max-height:88vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.5);transform:scale(.9);opacity:0;transition:transform .4s var(--curve-spring),opacity .35s var(--curve-smooth);will-change:transform,opacity}.modal-overlay.open .album-detail-panel{transform:scale(1);opacity:1}.album-detail-header{display:flex;gap:24px;align-items:flex-start;margin-bottom:24px}.album-detail-cover{width:200px;height:200px;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.4);flex-shrink:0;position:relative}.album-detail-cover img{width:100%;height:100%;object-fit:cover}.album-detail-info{flex:1;min-width:0}.album-detail-name{font-size:24px;font-weight:800;margin-bottom:8px}.album-detail-artist{font-size:16px;color:var(--primary);margin-bottom:12px}.album-detail-meta{font-size:13px;color:var(--text-sub);margin-bottom:16px}.album-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.album-detail-tracks{margin-top:16px}.album-detail-track{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.03);border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s;margin-bottom:6px}.album-detail-track:hover{background:rgba(255,255,255,.08)}.album-detail-track.active{background:rgba(154,200,226,.15);border:1px solid var(--primary)}.album-detail-track .track-num{width:28px;text-align:center;font-size:12px;color:var(--text-sub);flex-shrink:0}.album-detail-track .track-title{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-detail-track .track-dur{font-size:12px;color:var(--text-sub);flex-shrink:0}.cover-lib-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.cover-lib-sortbar{display:none;align-items:center;gap:6px;margin:4px 0 14px;flex-shrink:0}.cover-lib-sort-bar-label{font-size:12px;color:rgba(255,255,255,.4);margin-right:2px}.cover-lib-sort-btn{padding:6px 14px;border-radius:9px;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.45);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:color .2s,background .2s,border-color .2s;white-space:nowrap;font-family:inherit}.cover-lib-sort-btn:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}.cover-lib-sort-btn.active{color:var(--primary,#9ac8e2);background:rgba(154,200,226,.12);border-color:rgba(154,200,226,.4)}.coverflow-artist-indicator{display:none;position:relative;order:2;align-self:center;margin-top:18px;padding:6px 18px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:.4px;color:#ece8f4;background:rgba(20,18,32,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(154,200,226,.28);box-shadow:0 4px 22px rgba(0,0,0,.45);pointer-events:none;z-index:50;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:859px){.cover-lib-modal-content{padding:16px 16px 0!important}}.wco-titlebar{position:fixed;top:env(titlebar-area-y,0);left:env(titlebar-area-x,0);width:env(titlebar-area-width,100vw);height:env(titlebar-area-height,0);z-index:99999;background:0 0;-webkit-app-region:drag;app-region:drag;transition:background .3s var(--curve-smooth, cubic-bezier(.22,1,.36,1));overflow:hidden}.wco-titlebar .wco-brand,.wco-titlebar .wco-nav{display:none}.wco-titlebar .wco-track-title{display:block;position:absolute;left:0;top:50%;transform:translateY(-50%);width:100vw;text-align:center;font-size:12px;font-weight:600;color:var(--text-main,#f2eee8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px;text-shadow:0 1px 3px rgba(0,0,0,.6);-webkit-app-region:drag;app-region:drag;pointer-events:none;z-index:1;padding:0 140px;box-sizing:border-box}@media (max-aspect-ratio:1/1){.wco-titlebar .wco-track-title{text-align:left;padding:0 0 0 110px}}.wco-drag-region{position:relative;z-index:1;display:flex;align-items:center;gap:8px;-webkit-app-region:drag;app-region:drag;flex:1;min-width:0}body.wco-active .player-wrapper{padding-top:env(titlebar-area-height,0)}.wco-actions-slot{position:absolute;right:140px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;height:100%;padding:0 4px;z-index:2;pointer-events:auto;-webkit-app-region:no-drag;app-region:no-drag}body.immersive-mode.wco-active.wco-track-card-hidden .wco-actions-slot{right:auto;left:8px}.wco-actions-slot .btn-ctrl,.wco-actions-slot .btn-mode,.wco-actions-slot .imm-icon-btn{width:28px;height:28px;font-size:12px;border-radius:8px;flex-shrink:0;-webkit-app-region:no-drag;app-region:no-drag}.wco-actions-slot .imm-icon-btn{width:30px;height:30px}.wco-actions-slot .btn-mode{padding:0 8px;min-width:32px}.wco-actions-slot .wco-mounted *{pointer-events:auto}@media (max-aspect-ratio:1/1){.wco-actions-slot{display:none!important}}body.immersive-mode.wco-active.wco-track-card-hidden .imm-track-card{display:none}