:root{--bg-color: #ffffff;--main-color: #1d1d1f;--text-main: #1d1d1f;--text-secondary: #86868b;--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--sidebar-width: 260px;--sidebar-collapsed-width: 80px;--player-height: 88px;--card-radius: 12px;--blur-amount: 30px;--sidebar-bg: rgba(255, 255, 255, .95);--player-bg: rgba(255, 255, 255, .95);--hover-bg: rgba(0, 0, 0, .04);--mobile-topbar-height: 48px;--mobile-fullscreen-height: 100vh;--mobile-fullscreen-safe-top: env(safe-area-inset-top, 0px);--mobile-fullscreen-safe-right: env(safe-area-inset-right, 0px);--mobile-fullscreen-safe-bottom: env(safe-area-inset-bottom, 0px);--mobile-fullscreen-safe-left: env(safe-area-inset-left, 0px);--mobile-fullscreen-header-gap: 12px;--mobile-layout-safe-top: 0px;--mobile-main-top-safe-offset: 0px;--mobile-layout-safe-bottom: 0px;--mobile-player-safe-bottom: 0px;--mobile-player-float-offset: 12px;--mobile-browser-bottom-gap: 0px;--mobile-main-bottom-padding: 98px;--mobile-main-bottom-padding-no-player: 18px}@supports (height: 100dvh){:root{--mobile-fullscreen-height: 100dvh}}:root.standalone-mode,:root.standalone-fallback{--mobile-layout-safe-top: env(safe-area-inset-top, 0px);--mobile-main-top-safe-offset: env(safe-area-inset-top, 0px);--mobile-layout-safe-bottom: env(safe-area-inset-bottom, 0px);--mobile-player-safe-bottom: env(safe-area-inset-bottom, 0px);--mobile-player-float-offset: 12px;--mobile-browser-bottom-gap: 0px;--mobile-main-bottom-padding: calc(98px + env(safe-area-inset-bottom, 0px)) ;--mobile-main-bottom-padding-no-player: calc(18px + env(safe-area-inset-bottom, 0px)) }:root.browser-mode{--mobile-layout-safe-top: 0px;--mobile-main-top-safe-offset: 0px;--mobile-layout-safe-bottom: 0px;--mobile-player-safe-bottom: 0px;--mobile-player-float-offset: 12px;--mobile-main-bottom-padding: 98px;--mobile-main-bottom-padding-no-player: 18px}@media(prefers-color-scheme:dark){:root{--bg-color: #121214;--main-color: #ffffff;--text-main: #ffffff;--text-secondary: #a1a1a6;--glass-bg: rgba(28, 28, 30, .85);--glass-border: rgba(255, 255, 255, .1);--sidebar-bg: rgba(20, 20, 22, .95);--player-bg: rgba(25, 25, 27, .98);--hover-bg: rgba(255, 255, 255, .1)}}:root[data-theme=light]{--bg-color: #ffffff;--main-color: #1d1d1f;--text-main: #1d1d1f;--text-secondary: #86868b;--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--sidebar-bg: rgba(255, 255, 255, .95);--player-bg: rgba(255, 255, 255, .95);--hover-bg: rgba(0, 0, 0, .04)}:root[data-theme=dark]{--bg-color: #121214;--main-color: #ffffff;--text-main: #ffffff;--text-secondary: #a1a1a6;--glass-bg: rgba(28, 28, 30, .85);--glass-border: rgba(255, 255, 255, .1);--sidebar-bg: rgba(20, 20, 22, .95);--player-bg: rgba(25, 25, 27, .98);--hover-bg: rgba(255, 255, 255, .1)}[data-theme=dark] .play-all-btn{color:#000!important}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}button{outline:none;border:none;background:none}button:focus,button:focus-visible{outline:none;box-shadow:none}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#0000002e;border-radius:999px}html{height:auto!important;min-height:100%;width:100%;margin:0;padding:0;position:relative;scrollbar-gutter:stable;background-color:var(--bg-color)}body{height:auto!important;min-height:100%;width:100%;margin:0;padding:0;background-color:var(--bg-color);font-family:Lexend,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-main);position:relative;overflow-x:hidden;overscroll-behavior-y:auto}@supports not (scrollbar-gutter: stable){body{overflow-y:auto}}#root{height:auto!important;min-height:100%;width:100%;display:block;background-color:transparent}.app-root{min-height:100%;position:relative}.app-container{width:100%;min-height:100%;position:relative;background-color:transparent;transform-origin:center top;transition:transform .38s cubic-bezier(.22,1,.36,1),border-radius .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),filter .38s cubic-bezier(.22,1,.36,1)}.app-container.sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width)}.page-loading{min-height:52vh;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;letter-spacing:.06em}.page-loading-spinner{flex-direction:column;gap:10px}.page-loading-ring{width:24px;height:24px;border-radius:999px;border:2px solid var(--glass-border);border-top-color:var(--text-main);animation:page-loading-spin .9s linear infinite}@keyframes page-loading-spin{to{transform:rotate(360deg)}}.app-root.album-sheet-open .app-container{transform:scale(.966) translateY(-12px);border-radius:24px;overflow:hidden;box-shadow:0 28px 70px #00000059;filter:saturate(.88) brightness(.92)}@media(prefers-reduced-motion:reduce){.app-container,.player-bar,.progress-bar-wrapper,.view-panel,.page-header,.track-card,.album-inline-shell,.album-inline-panel{transition:none!important;animation:none!important}}.dynamic-background{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background-color:var(--bg-color)}.background-image{position:absolute;top:-10%;left:-10%;width:120%;height:120%;filter:blur(var(--blur-amount)) brightness(.7);background-size:cover;background-position:center;transition:background-image 1.2s ease-in-out}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;position:relative;z-index:1;transition:grid-template-columns .24s cubic-bezier(.4,0,.2,1)}@supports (min-height: 100lvh){.app-layout{min-height:100lvh}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);padding:24px 16px;background:var(--sidebar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),width .24s cubic-bezier(.4,0,.2,1),padding .24s cubic-bezier(.4,0,.2,1)}.logo{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:20px;padding:0 6px;cursor:pointer;width:100%;transition:transform .2s ease,opacity .2s ease}.logo:active{transform:scale(.99);opacity:.88}.logo-box{width:40px;height:40px;background-image:url(/logo.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:12px}.logo-text{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:40px;font-size:16px;font-weight:700;line-height:1;letter-spacing:-.01em;text-align:center;color:var(--text-main)}.sidebar-logo-actions{margin-left:0;display:inline-flex;align-items:center;justify-content:center;width:44px;flex-shrink:0;gap:0}.nav-group{margin-bottom:32px}.nav-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:0;margin-bottom:12px;padding-left:12px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;font-weight:600;margin-bottom:2px;color:var(--text-main);font-size:15px}.nav-item span{font-size:15px;font-weight:600;line-height:1.25}.nav-item:hover{background:var(--hover-bg);transform:translateY(-1px)}.nav-item:active{transform:scale(.985)}.nav-item.active{background:var(--main-color);color:#fff;box-shadow:0 2px 8px #0000001f}[data-theme=dark] .nav-item.active{background:#ffffff1f;color:var(--text-main);box-shadow:none}.sidebar.is-collapsed{--sidebar-collapsed-stack-gap: 8px;padding:24px 10px 18px}.sidebar.is-collapsed .logo{flex-direction:column;align-items:center;gap:var(--sidebar-collapsed-stack-gap);width:52px;margin:0 auto var(--sidebar-collapsed-stack-gap);padding:0}.sidebar.is-collapsed .logo-box{width:40px;height:40px;border-radius:12px}.sidebar.is-collapsed .logo-text{display:none}.sidebar.is-collapsed .sidebar-logo-actions{margin-left:0;width:100%;justify-content:center}.sidebar.is-collapsed .sidebar-theme-toggle{width:52px;height:52px;border-radius:16px;color:var(--text-main)}.sidebar.is-collapsed .sidebar-theme-toggle:hover{background:var(--hover-bg)}.sidebar.is-collapsed .nav-item{justify-content:center;gap:0;width:52px;min-height:52px;margin-left:auto;margin-right:auto;margin-bottom:0;padding:0;border-radius:16px}.sidebar.is-collapsed .nav-item span{display:none}.sidebar.is-collapsed .nav-group{display:flex;flex-direction:column;align-items:center;gap:var(--sidebar-collapsed-stack-gap);margin-bottom:0}.main-view{grid-column:2;min-width:0;padding:24px 60px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(120px + env(safe-area-inset-bottom,0px));padding-left:calc(60px + env(safe-area-inset-left,0px));padding-right:calc(60px + env(safe-area-inset-right,0px))}.view-panel{animation:view-panel-enter .42s cubic-bezier(.22,1,.36,1);transform-origin:center top;will-change:opacity,transform,filter}@keyframes view-panel-enter{0%{opacity:0;transform:translateY(10px) scale(.992);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.view-panel-library .page-header{position:relative;z-index:30;animation:library-search-enter .56s cubic-bezier(.22,1,.36,1) .08s both;will-change:opacity,transform,filter}@keyframes library-search-enter{0%{opacity:0;transform:translateY(16px) scale(.99);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes library-card-enter{0%{opacity:0;transform:translateY(24px) scale(.965);filter:blur(12px)}65%{opacity:1}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.sidebar-theme-toggle{width:44px;height:44px;border-radius:14px;border:none;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s ease,background .2s ease}[data-theme=light] .sidebar-theme-toggle,[data-theme=dark] .sidebar-theme-toggle{color:var(--text-main)}.sidebar-theme-toggle:hover{background:var(--hover-bg)}[data-theme=light] .sidebar-theme-toggle:hover{color:#5f6368}[data-theme=dark] .sidebar-theme-toggle:hover{color:#d1d1d6}.sidebar-edge-toggle{position:absolute;top:50%;right:-1px;width:22px;height:56px;transform:translate(6px,-50%);border-radius:12px 0 0 12px;border:1px solid var(--glass-border);border-right:none;background:var(--sidebar-bg);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;opacity:0;pointer-events:none;transition:color .2s ease,background .2s ease,opacity .2s ease,width .2s ease,transform .2s ease}.sidebar:hover .sidebar-edge-toggle,.sidebar:focus-within .sidebar-edge-toggle,.sidebar-edge-toggle:focus-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)}.sidebar-edge-toggle:hover{color:var(--text-main);background:var(--hover-bg);width:24px}.sidebar-edge-toggle:active{transform:translateY(-50%) scale(.97)}.sidebar.is-collapsed .sidebar-edge-toggle{width:20px;height:50px}.back-to-top-btn{position:fixed;right:calc(env(safe-area-inset-right,0px) + 18px);bottom:calc(var(--player-height) + env(safe-area-inset-bottom,0px) + 18px);width:42px;height:42px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:180;box-shadow:0 8px 24px #00000029;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .18s ease,background .18s ease,opacity .18s ease}.back-to-top-btn:hover{transform:translateY(-2px);background:var(--hover-bg)}.back-to-top-btn:active{transform:scale(.96)}.back-to-top-btn.is-no-player{bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}.app-root.no-player .main-view{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.page-header .header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.search-box{display:flex;align-items:center;gap:10px;background:var(--hover-bg);padding:10px 18px;border-radius:12px;width:320px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.search-box:focus-within{background:var(--bg-color);border-color:var(--main-color);box-shadow:0 4px 12px #0000000d}.search-box input{border:none;background:none;outline:none;flex:1;min-width:0;color:var(--text-main);font-size:15px;font-weight:500}.search-icon{color:var(--text-secondary);flex-shrink:0}.search-clear{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,transform .15s ease}.search-clear:hover{background:var(--hover-bg);color:var(--text-main)}.search-clear:active{transform:scale(.96)}.search-clear:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.search-suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:6px;z-index:50;box-shadow:0 12px 28px #0000001a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.search-suggest-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;cursor:pointer;background:transparent;border:none;color:var(--text-main)}.search-suggest-item:hover{background:var(--hover-bg)}.suggest-title{font-size:14px;font-weight:600}.suggest-meta{font-size:12px;color:var(--text-secondary)}.page-header p{color:var(--text-secondary);font-size:16px;margin-bottom:32px;font-weight:400}@media(max-width:768px){.page-header .header-top{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px}.search-box{width:100%}}@media(max-width:1024px){.back-to-top-btn{right:calc(env(safe-area-inset-right,0px) + 12px);bottom:calc(var(--mobile-player-safe-bottom) + var(--mobile-player-float-offset) + 76px);width:40px;height:40px}.back-to-top-btn.is-no-player{bottom:calc(var(--mobile-layout-safe-bottom) + 14px)}}.music-grid{--grid-column-gap: 24px;--grid-row-gap: 24px;position:relative;display:grid;grid-template-columns:repeat(var(--grid-columns, 4),minmax(0,1fr));column-gap:var(--grid-column-gap);row-gap:0;margin-bottom:calc(-1 * var(--grid-row-gap));justify-content:flex-start}.track-card{cursor:pointer;width:100%;margin-bottom:var(--grid-row-gap);transition:opacity .22s ease}.track-card.intro-active{opacity:0;animation:library-card-enter .56s cubic-bezier(.22,1,.36,1) var(--card-enter-delay, 0ms) both;will-change:opacity,transform,filter}.album-inline-shell{width:100%;max-width:1040px;grid-column:1 / -1;margin:0 auto;height:0;overflow:hidden;opacity:0;pointer-events:none;transition:height .28s cubic-bezier(.4,0,.2,1),margin-top .28s cubic-bezier(.4,0,.2,1),margin-bottom .28s cubic-bezier(.4,0,.2,1),opacity .2s ease}.album-inline-shell.is-open{height:var(--panel-height, 0px);opacity:1;margin-top:var(--panel-margin-top, 12px);margin-bottom:var(--panel-margin-bottom, 30px);overflow:visible;pointer-events:auto}.album-inline-shell.is-closing{pointer-events:none}.album-inline-panel{overflow:visible;padding:24px;border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 48px #00000024}.album-inline-header{display:flex;gap:16px;align-items:center;justify-content:center;text-align:center;width:100%;position:relative}.album-inline-header .album-info-text{margin:0 auto;text-align:center}.album-inline-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;border-radius:0;display:inline-flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;transition:color .2s ease,opacity .2s ease,transform .2s ease;opacity:.9}.album-inline-close:hover{background:transparent;color:var(--text-main);opacity:1}.album-inline-close:active{transform:scale(.92)}.album-inline-panel .album-title{font-size:24px;margin-bottom:6px}.album-inline-panel .album-metadata{font-size:14px}.album-inline-hero-actions{margin-top:20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.album-inline-hero-actions .play-all-btn{margin-top:0;padding:10px 20px;border-radius:10px}.album-inline-fav-all-btn{border:1px solid var(--glass-border);background:transparent;color:var(--text-main);padding:10px 18px;border-radius:10px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.album-inline-fav-all-btn:hover{transform:translateY(-1px);background:var(--hover-bg)}.album-inline-fav-all-btn.active{color:#e05252;border-color:#e0525259}[data-theme=dark] .album-inline-fav-all-btn.active{color:#ff8f8f;border-color:#e0525275}.album-inline-panel .song-list{margin-top:14px;border-top:1px solid var(--glass-border);padding-top:10px}.album-inline-panel .song-item{display:flex;align-items:center;padding:10px 14px;border-radius:10px;transition:background .2s ease;width:100%;min-width:0}.album-inline-panel .song-item:hover{transform:none}.album-inline-panel .song-num{width:30px;flex:0 0 30px;margin:0;color:var(--text-secondary)}.album-inline-panel .song-name{flex:1;min-width:0;margin:0 0 0 12px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-inline-panel .song-actions{margin-left:auto;display:inline-flex;align-items:center;flex-shrink:0}.album-inline-bottom-actions{display:flex;justify-content:center;padding-top:8px}.album-inline-bottom-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:34px;height:34px;border-radius:0;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,opacity .2s ease,transform .2s ease;opacity:.9}.album-inline-bottom-close:hover{background:transparent;color:var(--text-main);opacity:1}.album-inline-bottom-close:active{transform:scale(.92)}.album-sheet-overlay{position:fixed;inset:0;z-index:22000;display:flex;align-items:center;justify-content:center;padding:32px 20px}.album-sheet-backdrop{position:absolute;inset:0;background:#0000006b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.album-sheet-panel{position:relative;width:min(980px,94vw);max-height:min(84vh,820px);border-radius:30px;background:var(--bg-color);border:1px solid var(--glass-border);box-shadow:0 32px 80px #00000057;display:flex;flex-direction:column;overflow:hidden;z-index:1}.album-sheet-handle{width:46px;height:5px;border-radius:999px;background:#00000029;margin:12px auto 8px}[data-theme=dark] .album-sheet-handle{background:#ffffff3d}.album-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px 12px;font-size:13px;font-weight:700;color:var(--text-secondary)}.album-sheet-close{width:32px;height:32px;border-radius:999px;border:1px solid var(--glass-border);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--glass-bg);transition:background .2s ease,color .2s ease}.album-sheet-close:hover{color:var(--text-main);background:var(--hover-bg)}.album-sheet-hero{display:flex;align-items:center;gap:24px;padding:0 22px 18px}.album-sheet-cover{width:188px;aspect-ratio:1;border-radius:20px;overflow:hidden;box-shadow:0 22px 40px #00000040;flex-shrink:0}.album-sheet-cover img{width:100%;height:100%;object-fit:cover}.album-sheet-info{min-width:0}.album-sheet-info h2{font-size:30px;line-height:1.16;margin-bottom:8px}.album-sheet-info p{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.album-sheet-play-all{margin-top:0;padding:10px 20px;border-radius:999px;display:inline-flex;align-items:center;gap:8px}.album-sheet-song-list{padding:0 14px 20px;overflow:auto}.album-list-overlay{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:34px 20px;background:#0a0a0c80;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.album-list-panel{width:min(1080px,95vw);height:min(84vh,840px);background:var(--bg-color);border-radius:20px;border:1px solid var(--glass-border);box-shadow:0 24px 56px #00000042;overflow:hidden;display:flex;flex-direction:column}.album-list-header{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 20px 14px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);flex-shrink:0;z-index:2;position:relative}.album-list-header-label{font-size:18px;font-weight:700;letter-spacing:.04em}.album-list-close{background:transparent;border:none;width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:color .2s ease,background .2s ease,border-color .2s ease;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.album-list-close:hover{color:var(--text-main);background:var(--hover-bg)}.album-list-tabs{display:none;gap:8px;padding:10px 16px 6px;flex-shrink:0}.album-list-tab{flex:1;border:1px solid var(--glass-border);background:transparent;color:var(--text-secondary);min-height:42px;padding:8px 12px;border-radius:999px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.album-list-tab:hover{color:var(--text-main);background:var(--hover-bg)}.album-list-tab.active{background:var(--main-color);color:#fff;border-color:transparent}.album-list-desktop-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;flex:1;min-height:0}.album-list-main-column{display:flex;flex-direction:column;min-height:0;overflow:hidden}.album-list-favorites-column{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--glass-border);overflow:hidden}.album-list-subheader{padding:14px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--glass-border);background:transparent}.album-list-info{min-width:0;flex:1}.album-list-subheader h4{font-size:14px;font-weight:700}.album-list-subheader p{margin-top:4px;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-list-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.album-play-btn,.album-fav-all-btn,.fav-play-btn,.temp-clear-btn{border:1px solid transparent;min-height:38px;padding:7px 14px;border-radius:10px;font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:transform .2s ease,opacity .2s ease,filter .2s ease,background .2s ease,color .2s ease}.album-play-btn{background:var(--main-color);color:#fff}.album-fav-all-btn,.fav-play-btn,.temp-clear-btn{border-color:var(--glass-border);background:transparent;color:var(--text-main)}.album-fav-all-btn.active{color:#e05252;border-color:#e0525259}.album-play-btn:disabled,.album-fav-all-btn:disabled,.fav-play-btn:disabled,.temp-clear-btn:disabled{opacity:.5;cursor:not-allowed}.album-play-btn:not(:disabled):hover,.fav-play-btn:not(:disabled):hover,.album-fav-all-btn:not(:disabled):hover,.temp-clear-btn:not(:disabled):hover{transform:translateY(-1px)}.album-play-btn:not(:disabled):hover{filter:saturate(1.05)}.album-fav-all-btn:not(:disabled):hover,.fav-play-btn:not(:disabled):hover,.temp-clear-btn:not(:disabled):hover{background:var(--hover-bg)}.album-fav-all-btn.active:not(:disabled):hover{background:#e0525214}.album-list-body{padding:10px 14px 14px;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}.album-list-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 10px;border-radius:12px;margin-bottom:3px;cursor:pointer;transition:background .2s ease,color .2s ease}.album-list-row:hover{background:#0000000d}.album-list-row.is-current-track{background:#0000000f}.album-list-row.is-playing-track{color:var(--main-color)}.album-list-row-num{width:28px;flex:0 0 28px;color:var(--text-secondary);opacity:.86;text-align:right;font-size:14px;font-weight:700}.album-list-row-main{flex:1;min-width:0;display:inline-flex;align-items:baseline;gap:8px}.album-list-row-main.is-favorites,.album-list-row-main.is-marquee{display:block}.album-list-row-name{min-width:0;font-size:16px;font-weight:650;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-list-row-meta{min-width:0;color:var(--text-secondary);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-row-marquee{position:relative;display:block;width:100%;min-width:0;overflow:hidden}.favorite-row-static{display:inline-flex;align-items:baseline;gap:8px;width:100%;min-width:0}.favorite-row-static .album-list-row-name{flex:1 1 auto;min-width:0}.favorite-row-static .album-list-row-meta{flex:0 1 58%;min-width:0;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-row-marquee-track{display:inline-flex;align-items:baseline;min-width:max-content}.favorite-row-marquee-item{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}.favorite-row-marquee-item .album-list-row-name,.favorite-row-marquee-item .album-list-row-meta{min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap;flex:0 0 auto}.favorite-row-marquee-gap{width:28px;flex:0 0 28px}.favorite-row-marquee.is-running .favorite-row-marquee-track{animation:favorite-row-marquee-scroll var(--favorite-row-marquee-duration, 12s) linear infinite}.favorite-row-measure{position:absolute;left:-9999px;top:-9999px;visibility:hidden;pointer-events:none;white-space:nowrap}.favorite-row-measure-name{display:inline-block;font-size:16px;font-weight:650;letter-spacing:.01em}.favorite-row-measure-meta{display:inline-block;color:var(--text-secondary);font-size:13px;font-weight:500}.favorite-row-measure-gap{display:inline-block;width:8px}@keyframes favorite-row-marquee-scroll{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--favorite-row-marquee-shift, 0px)))}}@media(prefers-reduced-motion:reduce){.favorite-row-marquee.is-running .favorite-row-marquee-track{animation:none}}.album-list-row-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.album-list-row-status{min-width:28px;display:inline-flex;align-items:center;justify-content:flex-end}.album-list-fav-btn{width:42px;height:42px;border-radius:999px;border:none;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s ease,background .2s ease}.album-list-fav-btn:hover{color:var(--text-main);background:var(--hover-bg)}.album-list-fav-btn.active{color:#e05252;background:transparent}.album-list-mobile-layout{display:none;flex:1;min-height:0}.album-list-mobile-pane{min-height:0}.album-list-mobile-column{display:flex;flex-direction:column;min-height:0;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-bg);overflow:hidden}.song-empty{padding:18px 10px;text-align:center;color:var(--text-secondary);font-size:13px}@media(max-width:1600px){.music-grid{grid-template-columns:repeat(var(--grid-columns, 4),minmax(0,1fr))}.track-card{width:100%}}@media(max-width:1400px){.music-grid{grid-template-columns:repeat(var(--grid-columns, 4),minmax(0,1fr))}.track-card{width:100%}}@media(max-width:1200px){.music-grid{grid-template-columns:repeat(var(--grid-columns, 4),minmax(0,1fr))}.track-card{width:100%}.track-title{font-size:14px}.track-artist{font-size:12px}}@media(max-width:1024px){.music-grid{grid-template-columns:repeat(var(--grid-columns, 4),minmax(0,1fr))}.track-card{width:100%}.track-title{font-size:12px}.track-artist{font-size:11px}}@media(max-width:895px){.track-title{font-size:11px}.track-artist{font-size:10px}}@media(max-width:768px){.music-grid{display:grid;grid-template-columns:repeat(var(--grid-columns, 4),minmax(0,1fr));--grid-column-gap: 5px;--grid-row-gap: 5px;column-gap:var(--grid-column-gap);row-gap:0}.track-card{width:100%}.track-title{font-size:10px}.track-artist{font-size:9px}}@media(max-width:500px){.track-title{font-size:9px}.track-artist{font-size:8px}}.card-cover-container{width:100%;aspect-ratio:1;border-radius:var(--card-radius);overflow:hidden;position:relative;box-shadow:0 4px 12px #00000014;transition:transform .2s ease,box-shadow .2s ease}.track-card:hover .card-cover-container{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.card-cover-container img{width:100%;height:100%;object-fit:cover}.play-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.track-card:hover .play-overlay{opacity:1}.album-playing-badge{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:999px;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;z-index:1}.album-playing-badge .playing-bars{height:10px}.album-playing-badge .playing-bars i{height:10px;background:#fff}.play-btn-circle{width:48px;height:48px;background:none;border-radius:0;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:none;transition:opacity .2s,transform .2s}.play-btn-circle:hover{transform:scale(1.1)}@media(max-width:1600px){.play-btn-circle{width:48px;height:48px}}@media(max-width:1400px){.play-btn-circle{width:42px;height:42px}}@media(max-width:1200px){.play-btn-circle{width:36px;height:36px}.player-info{max-width:300px!important}}@media(max-width:1024px){.play-btn-circle{width:32px;height:32px}}@media(max-width:900px){.player-info{max-width:250px!important}.player-bar{justify-content:space-between!important}.player-controls{position:relative!important;left:auto!important;transform:none!important;margin-left:auto}}@media(max-width:768px){.play-btn-circle{width:28px;height:28px}}.track-title{font-weight:700;font-size:14px;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.track-artist{color:var(--text-secondary);font-size:14px;font-weight:500;display:none}@media(max-width:768px){.track-title{display:none}}.progress-bar-wrapper{position:fixed;bottom:var(--player-height);left:0;right:0;height:4px;background:#0000001a;z-index:101;transition:height .2s ease,transform .36s cubic-bezier(.22,1,.36,1),opacity .36s ease}.progress-bar-wrapper:hover{height:6px}.progress-bar-wrapper .progress-container{position:relative;height:100%;background:transparent;border-radius:0;cursor:pointer;overflow:visible}.progress-bar-wrapper .progress-fill{height:100%;background:var(--main-color);border-radius:0}.progress-bar-wrapper .progress-dot{position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--main-color);border:2px solid white;border-radius:50%;box-shadow:0 2px 8px #00000026;display:none}.progress-bar-wrapper:hover .progress-dot{display:block}.progress-hover-time{position:absolute;bottom:calc(100% + 16px);transform:translate(-50%) translateY(4px);padding:10px 18px;border-radius:999px;background:#05070cf0;color:#fff;font-size:14px;font-weight:800;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;letter-spacing:.02em;transition:opacity .16s ease,transform .16s ease;box-shadow:0 14px 30px #00000042;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.progress-hover-time.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.player-bar{position:fixed;bottom:0;left:0;right:0;height:var(--player-height);background:var(--player-bg);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-top:1px solid var(--glass-border);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 40px;z-index:100;box-shadow:0 -2px 20px #0000000d;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .36s ease}.app-root.album-sheet-open .player-bar{transform:scale(.972) translateY(-8px);opacity:.86}.app-root.album-sheet-open .progress-bar-wrapper{transform:scale(.972) translateY(-8px);opacity:.75}.player-info{display:flex;align-items:center;gap:12px;min-width:0;max-width:350px}.mini-cover{width:52px;height:52px;border-radius:8px;position:relative;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.mini-cover-expand-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:none;background:#00000073;color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease}@media(hover:hover)and (pointer:fine){.mini-cover:hover .mini-cover-expand-btn{opacity:1;pointer-events:auto}}.mini-cover-ring{display:none}.mini-cover-media{width:100%;height:100%;border-radius:inherit;overflow:hidden}.mini-cover img{width:100%;height:100%;object-fit:cover}.track-details{display:flex;flex-direction:column;min-width:0;padding-right:10px}.track-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;color:var(--text-main);min-width:0}.track-name .scrolling-text{display:inline-block;white-space:nowrap;animation:scroll-text 15s linear infinite}@keyframes scroll-text{0%{transform:translate(0)}to{transform:translate(-50%)}}.artist-name{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-controls{grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:10;position:relative;left:auto;transform:none}.control-buttons{display:flex;align-items:center;gap:20px}.mode-btn,.favorite-btn,.comment-btn,.share-btn{background:none;border:none;color:var(--text-main);padding:0}.favorite-btn,.comment-btn,.share-btn{width:36px;height:36px;border-radius:999px}.favorite-btn.active{color:#ff4f66!important}.main-play-btn{background:none;border:none;width:52px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-main);opacity:1;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.main-play-btn:hover{transform:scale(1.05)}[data-theme=dark] .main-play-btn,[data-theme=dark] .mode-btn,[data-theme=dark] .skip-back-btn,[data-theme=dark] .skip-forward-btn,[data-theme=dark] .playlist-btn,[data-theme=dark] .icon-btn{color:var(--text-main)!important}@media(max-width:1024px){.main-play-btn svg{fill:var(--text-main);width:20px;height:20px}.progress-bar-wrapper{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:calc(100% - 20px);max-width:380px;height:3px;margin-bottom:8px;z-index:1}.progress-bar-wrapper .progress-container{height:100%;background:#0000001a;border-radius:0;cursor:pointer}[data-theme=dark] .progress-bar-wrapper .progress-container{background:#ffffff26}.progress-bar-wrapper .progress-fill{height:100%;background:var(--main-color);border-radius:0}.progress-bar-wrapper .progress-dot{width:10px;height:10px;background:var(--main-color);border-radius:50%;box-shadow:0 2px 4px #0003;opacity:0;transition:opacity .2s ease,transform .2s ease}.progress-bar-wrapper:hover .progress-dot{opacity:1;transform:translateY(-50%) scale(1.2)}.player-bar{height:64px;bottom:calc(var(--mobile-player-float-offset) + var(--mobile-player-safe-bottom));left:12px;right:12px;width:auto;border-radius:20px;background:var(--player-bg);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;display:flex;align-items:center;padding:0 16px;z-index:1000;justify-content:space-between;margin:0;border:1px solid var(--glass-border)}[data-theme=dark] .player-bar{background:var(--player-bg);border:1px solid var(--glass-border);box-shadow:none}.app-root.album-sheet-open .player-bar{transform:scale(.985) translateY(-4px);opacity:.9}.app-root.album-sheet-open .progress-bar-wrapper{transform:translate(-50%) scale(.985) translateY(-4px);opacity:.82}.player-bar,.progress-bar-wrapper{transition:none}.player-info{flex:1;display:flex;flex-direction:row;align-items:center;min-width:0;gap:12px;max-width:none!important}.mini-cover{display:block!important;width:44px;height:44px;border-radius:10px;--mini-cover-ring-width: 1.5px;padding:var(--mini-cover-ring-width);box-shadow:0 4px 12px #0000001f;margin-left:0;margin-bottom:0;flex-shrink:0;transition:transform .2s ease}.mini-cover-expand-btn{display:none}.mini-cover-ring{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.mini-cover-ring-track,.mini-cover-ring-progress{fill:none;stroke-width:3;stroke-linejoin:round}.mini-cover-ring-track{stroke:#00000024}.mini-cover-ring-progress{stroke:var(--main-color);stroke-linecap:round;transition:stroke-dasharray .12s linear}.mini-cover-media{border-radius:8px}[data-theme=dark] .mini-cover-ring-track{stroke:#ffffff3d}.mini-cover:active{transform:scale(.95)}.track-details{padding:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;width:auto;margin:0;min-width:0;max-width:calc(100vw - 160px);overflow:hidden}.track-name{font-size:15px;font-weight:600;margin-bottom:3px;color:var(--text-main)!important;letter-spacing:-.2px;white-space:nowrap;width:100%;overflow:hidden}.track-name .scrolling-text{display:inline-block;white-space:nowrap;animation:scroll-text 15s linear infinite}@keyframes scroll-text{0%{transform:translate(0)}to{transform:translate(-50%)}}.artist-name{font-size:12px;opacity:.7;margin-top:0;font-weight:500;letter-spacing:-.1px;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.player-controls{position:relative;left:auto;transform:none;flex:0 0 44px;width:44px;margin:0 0 0 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;z-index:100}.control-buttons{display:flex;gap:0;justify-content:center;align-items:center;width:100%}.main-play-btn{display:flex!important;align-items:center;justify-content:center}.mode-btn,.playlist-btn,.share-btn,.mobile-hide,.player-actions,.time-display,.skip-back-btn,.skip-forward-btn{display:none!important}.main-play-btn{width:40px;height:40px;padding:0;background:none!important;transform:none!important;display:flex;align-items:center;justify-content:center;border-radius:0;transition:opacity .15s ease,transform .15s ease}.main-play-btn:hover{opacity:1;transform:scale(1.05)}.main-play-btn:active{transform:scale(.95)}.main-play-btn svg{fill:var(--text-main);width:24px;height:24px}.track-name{color:var(--text-main)!important}.artist-name{color:var(--text-secondary)!important}}.time-display{font-size:12px;font-weight:600;opacity:.6;width:40px;text-align:center}.progress-container{flex:1;height:4px;background:#0000001a;border-radius:2px;position:relative;cursor:pointer;transition:height .2s ease}.progress-container:hover{height:6px}.progress-fill{height:100%;background:var(--main-color);border-radius:2px;position:relative}.progress-dot{position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--main-color);border:2px solid white;border-radius:50%;box-shadow:0 2px 8px #00000026;display:none}.progress-container:hover .progress-dot{display:block}.player-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;z-index:2}.icon-btn{background:none;border:none;padding:0;appearance:none;-webkit-appearance:none;cursor:pointer;opacity:1;transition:opacity .2s,transform .2s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{opacity:1;transform:scale(1.1)}.share-panel-backdrop{position:fixed;inset:0;z-index:28000;background:radial-gradient(120% 120% at 0% 0%,#8ec0ff33,#8ec0ff00 55%),radial-gradient(120% 120% at 100% 100%,#99daff29,#99daff00 52%),#080c1466;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);display:flex;align-items:center;justify-content:center;padding:24px}.share-panel-card{width:min(420px,calc(100vw - 40px));border-radius:20px;border:1px solid color-mix(in srgb,var(--glass-border) 46%,rgba(255,255,255,.42));background:linear-gradient(145deg,color-mix(in srgb,var(--bg-color) 76%,rgba(255,255,255,.42)),color-mix(in srgb,var(--bg-color) 64%,rgba(255,255,255,.14)));backdrop-filter:blur(28px) saturate(1.26);-webkit-backdrop-filter:blur(28px) saturate(1.26);color:var(--text-main);box-shadow:0 28px 80px #00000047,inset 0 1px #ffffff57;padding:20px;display:flex;flex-direction:column;gap:14px}.share-panel-card.is-video{width:min(920px,calc(100vw - 40px));border:none;background:color-mix(in srgb,var(--bg-color) 84%,rgba(16,20,30,.86));box-shadow:0 24px 64px #0000005c;backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08)}.share-panel-header{display:flex;align-items:center;justify-content:center;position:relative;min-height:32px}.share-panel-title{width:100%;text-align:center;font-size:16px;font-weight:700;color:var(--text-main)}.share-panel-close-btn{position:absolute;right:0;top:50%;width:30px;height:30px;border:none;background:transparent;color:var(--text-main);opacity:1;cursor:pointer;font-size:24px;font-weight:500;line-height:1;border-radius:6px;padding:0;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);transition:transform .16s ease}.share-panel-close-btn:hover{transform:translateY(-50%) scale(1.04)}.share-panel-close-btn:active{transform:translateY(-50%) scale(.92)}.share-panel-meta{font-size:20px;line-height:1.3;font-weight:700;color:var(--text-main);text-align:center}.share-panel-card-preview{width:100%;border:none;border-radius:0;background:transparent;min-height:184px;display:flex;align-items:center;justify-content:center}.share-panel-card-preview img{width:100%;height:auto;display:block;border-radius:14px}.share-panel-card-preview.is-video{min-height:220px}.share-panel-card.is-video .share-panel-card-preview img{border-radius:10px}.share-panel-card.is-video .share-panel-url{border-color:transparent;background:color-mix(in srgb,var(--bg-color) 78%,rgba(255,255,255,.03))}.share-card-loading{font-size:13px;font-weight:600;color:var(--text-secondary)}.share-panel-url{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-color) 64%,transparent);border:1px solid color-mix(in srgb,var(--glass-border) 62%,rgba(255,255,255,.22));border-radius:12px;padding:10px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.share-panel-actions{display:flex;gap:10px}.share-panel-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid color-mix(in srgb,var(--glass-border) 62%,rgba(255,255,255,.2));font-size:14px;font-weight:600;padding:10px 12px;cursor:pointer;text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .16s ease,filter .16s ease}.share-panel-btn:disabled{opacity:.5;cursor:not-allowed}.share-panel-btn.primary{background:color-mix(in srgb,var(--main-color) 24%,transparent);color:var(--text-main);border-color:color-mix(in srgb,var(--main-color) 36%,var(--glass-border))}.share-panel-btn.primary:hover{filter:saturate(1.08);transform:translateY(-1px)}.share-panel-btn.ghost{background:color-mix(in srgb,var(--bg-color) 58%,transparent);color:var(--text-main)}.wechat-browser-modal{position:fixed;inset:0;z-index:29000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(120% 120% at 0% 0%,#99daff33,#99daff00 58%),radial-gradient(120% 120% at 100% 100%,#8ec0ff29,#8ec0ff00 52%),#080c1480;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}.wechat-browser-card{width:min(460px,calc(100vw - 40px));border-radius:20px;border:1px solid color-mix(in srgb,var(--glass-border) 48%,rgba(255,255,255,.42));background:linear-gradient(145deg,color-mix(in srgb,var(--bg-color) 78%,rgba(255,255,255,.4)),color-mix(in srgb,var(--bg-color) 66%,rgba(255,255,255,.14)));backdrop-filter:blur(28px) saturate(1.2);-webkit-backdrop-filter:blur(28px) saturate(1.2);color:var(--text-main);box-shadow:0 28px 80px #00000047,inset 0 1px #ffffff57;padding:20px;display:flex;flex-direction:column;gap:14px}.wechat-browser-title{font-size:20px;font-weight:700;line-height:1.35;color:var(--text-main);text-align:center}.wechat-browser-desc{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.65}.wechat-browser-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--text-main);font-size:14px;line-height:1.6}.wechat-browser-actions{display:flex;gap:10px}.wechat-browser-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid color-mix(in srgb,var(--glass-border) 62%,rgba(255,255,255,.2));font-size:14px;font-weight:600;padding:10px 12px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .16s ease,filter .16s ease}.wechat-browser-btn.primary{background:color-mix(in srgb,var(--main-color) 24%,transparent);color:var(--text-main);border-color:color-mix(in srgb,var(--main-color) 36%,var(--glass-border))}.wechat-browser-btn.primary:hover{filter:saturate(1.08);transform:translateY(-1px)}.wechat-browser-btn.ghost{background:color-mix(in srgb,var(--bg-color) 58%,transparent);color:var(--text-main)}@media(max-width:600px){.wechat-browser-modal{padding:16px}.wechat-browser-card{width:min(460px,calc(100vw - 20px));padding:18px 16px;gap:12px}.wechat-browser-title{font-size:18px}.wechat-browser-steps{font-size:13px}.wechat-browser-actions{flex-direction:column}}.mobile-menu-btn,.mobile-topbar,.mobile-menu-scrim,.mobile-menu-panel{display:none}@media(max-width:1024px){html,body,#root{min-height:100vh}@supports (min-height: 100lvh){html,body,#root{min-height:100lvh}}.app-root,.app-container,.app-layout{min-height:100vh}@supports (min-height: 100lvh){.app-root,.app-container,.app-layout{min-height:100lvh}}.app-layout{grid-template-columns:1fr}.main-view{grid-column:1;padding:calc(var(--mobile-topbar-height) + var(--mobile-layout-safe-top) + 16px) 24px var(--mobile-main-bottom-padding) 24px}.sidebar{display:none}.mobile-topbar{position:fixed;top:0;left:0;right:0;height:calc(var(--mobile-topbar-height) + var(--mobile-layout-safe-top));padding:var(--mobile-layout-safe-top) calc(env(safe-area-inset-right,0px) + 10px) 0 calc(env(safe-area-inset-left,0px) + 10px);display:flex;align-items:center;justify-content:space-between;--mobile-topbar-surface: var(--bg-color);background:var(--mobile-topbar-surface);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--glass-border);z-index:1200}:root.browser-mode .mobile-topbar{background:var(--mobile-topbar-surface)}:root.standalone-mode .mobile-topbar,:root.standalone-fallback .mobile-topbar{background:color-mix(in srgb,var(--bg-color) 92%,transparent)}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:transparent;color:var(--text-main);border:none;transition:background .2s ease,transform .2s ease,opacity .2s ease}.mobile-menu-btn:hover{background:transparent}.mobile-menu-btn:active{transform:none}.hamburger{width:20px;height:16px;position:relative}.hamburger-line{position:absolute;left:0;width:20px;height:2.4px;border-radius:999px;background:currentColor;transition:transform .28s ease,opacity .2s ease,width .2s ease;transform-origin:center;top:0}.hamburger-line.middle{top:7px}.hamburger-line.bottom{top:14px}.mobile-menu-btn.is-open .hamburger-line.top{transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.is-open .hamburger-line.middle{opacity:0;width:0;transform:scaleX(0)}.mobile-menu-btn.is-open .hamburger-line.bottom{transform:translateY(-7px) rotate(-45deg)}.mobile-brand{font-size:15px;font-weight:700;color:var(--text-main);letter-spacing:-.2px;transition:transform .2s ease,opacity .2s ease}.mobile-brand:active{transform:none;opacity:1}.mobile-topbar-spacer{width:40px;height:40px}.mobile-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;color:var(--text-main);background:transparent;border:none;transition:background .2s ease,transform .2s ease,opacity .2s ease}.mobile-theme-toggle:hover{background:transparent}.mobile-theme-toggle:active{transform:none;opacity:1}.mobile-menu-btn,.mobile-theme-toggle,.mobile-brand,.mobile-menu-panel .nav-item{-webkit-tap-highlight-color:transparent}.mobile-menu-btn:focus-visible,.mobile-theme-toggle:focus-visible,.mobile-brand:focus-visible,.mobile-menu-panel .nav-item:focus-visible{outline:none;box-shadow:none}.mobile-menu-scrim{display:block;position:fixed;inset:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease;z-index:1100}.mobile-menu-scrim.show{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-panel{display:block;position:fixed;top:calc(var(--mobile-topbar-height) + var(--mobile-layout-safe-top) - 1px);left:0;right:0;background:color-mix(in srgb,var(--bg-color) 96%,transparent);border-bottom:1px solid var(--glass-border);box-shadow:0 12px 24px #0000001f;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateY(-10px);transform-origin:top center;opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease;z-index:1201;overflow:hidden;max-height:min(70vh,520px);will-change:transform,opacity}.mobile-menu-panel.show{transform:translateY(0);opacity:1;visibility:visible;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);pointer-events:auto}.mobile-menu-content{padding:0;display:flex;flex-direction:column;gap:0;overflow:auto}.mobile-menu-content>*{opacity:0;transform:translateY(-6px);transition:transform .28s ease,opacity .28s ease}.mobile-menu-panel.show .mobile-menu-content>*{opacity:1;transform:translateY(0)}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(1){transition-delay:.04s}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(2){transition-delay:.06s}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(3){transition-delay:.08s}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(4){transition-delay:.1s}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(5){transition-delay:.12s}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(6){transition-delay:.14s}.mobile-menu-panel.show .mobile-menu-content>*:nth-child(7){transition-delay:.16s}.mobile-menu-title{font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.6px;text-transform:uppercase;padding:10px 20px 6px}.mobile-menu-panel .nav-item{padding:12px 20px;border-radius:0;font-size:16px;margin-bottom:0;border-top:1px solid var(--glass-border);justify-content:space-between;transition:color .18s ease}.mobile-menu-panel .nav-item:first-child{border-top:none}.mobile-menu-panel .nav-item:hover{background:transparent}.mobile-menu-panel .nav-item:active{background:transparent;transform:none}.mobile-menu-panel .nav-item.active{background:transparent;color:var(--text-main);box-shadow:none;font-weight:700}.mobile-menu-panel .nav-item span{flex:1;font-size:16px;font-weight:590}.mobile-menu-panel .nav-item:after{content:"›";font-size:18px;color:var(--text-secondary);margin-left:12px}html,body{overflow-x:hidden}.app-container,.app-layout,.main-view{max-width:100%;overflow-x:hidden}.main-view{grid-column:1;padding:calc(var(--mobile-topbar-height) + var(--mobile-layout-safe-top) + 20px) 10px var(--mobile-main-bottom-padding) 10px;width:100%}.app-root.no-player .main-view{padding-bottom:var(--mobile-main-bottom-padding-no-player)}.app-root.album-sheet-open .app-container{transform:scale(.986) translateY(-5px);border-radius:18px}.app-layout{grid-template-columns:1fr;width:100%;background-color:transparent}.player-info{width:auto;flex:1}.hide-mobile,.player-actions{display:none!important}.player-bar{padding:0 12px}.track-card{min-width:0}.music-grid{grid-template-columns:repeat(4,1fr)!important;--grid-column-gap: 5px;--grid-row-gap: 5px;column-gap:var(--grid-column-gap);row-gap:0}.album-inline-shell{margin:0;max-width:none}.album-inline-panel{padding:16px;border-radius:16px}.album-inline-header{flex-direction:column;align-items:center;gap:12px;text-align:center}.album-inline-close{margin-left:0}.album-inline-panel .album-title{font-size:20px}.album-inline-hero-actions{margin-top:14px;gap:8px}.album-inline-hero-actions .play-all-btn,.album-inline-fav-all-btn{padding:8px 14px;font-size:13px;border-radius:10px}.album-inline-panel .song-item{padding:10px 12px}.album-inline-bottom-actions{padding-top:10px}.album-inline-bottom-close{width:32px;height:32px}.album-sheet-overlay{align-items:flex-end;padding:0}.album-sheet-panel{width:100%;max-height:90vh;border-radius:24px 24px 0 0}.album-sheet-handle{margin-top:8px;margin-bottom:6px}.album-sheet-header{padding:0 14px 10px}.album-sheet-hero{align-items:flex-end;gap:14px;padding:0 16px 14px}.album-sheet-cover{width:116px;border-radius:14px}.album-sheet-info h2{font-size:22px;margin-bottom:6px}.album-sheet-info p{font-size:13px;margin-bottom:10px}.album-sheet-play-all{padding:8px 14px;font-size:13px;box-shadow:none}.album-sheet-song-list{padding:0 10px calc(18px + env(safe-area-inset-bottom,0px))}}.album-detail-header{display:flex;gap:40px;margin-bottom:50px}.album-cover-img{width:260px;height:260px;border-radius:20px;box-shadow:0 25px 50px #0003}.play-all-btn{margin-top:25px;background:var(--main-color);color:#fff;border:none;padding:14px 40px;border-radius:14px;font-weight:700;cursor:pointer;box-shadow:0 10px 20px #0000002e;transition:transform .2s ease,box-shadow .24s ease,filter .24s ease}.play-all-btn:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 14px 28px #0003}.play-all-btn:active{transform:scale(.985)}.song-item{display:flex;align-items:center;padding:14px 25px;border-radius:14px;margin-bottom:5px;cursor:pointer;transition:background .2s;min-width:0}.song-item:hover{background:#00000008}.song-item.active{background:#0000000f;color:var(--main-color)}[data-theme=dark] .song-item.active{background:#ffffff14}.playing-bars{display:inline-flex;align-items:center;gap:2px;height:14px}.playing-bars i{display:block;width:2px;height:12px;background:var(--main-color);border-radius:999px;animation:playing-wave .8s ease-in-out infinite;transform-origin:center}.playing-bars i:nth-child(2){animation-delay:.1s}.playing-bars i:nth-child(3){animation-delay:.2s}.playing-bars i:nth-child(4){animation-delay:.3s}@keyframes playing-wave{0%,to{transform:scaleY(.4);opacity:.6}50%{transform:scaleY(1.4);opacity:1}}.song-name{flex:1;min-width:0;font-weight:600;margin-left:20px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-name-marquee{position:relative;display:block;min-width:0;overflow:hidden}.song-name-static{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-name-marquee-track{display:inline-flex;align-items:baseline;min-width:max-content}.song-name-marquee-item{white-space:nowrap}.song-name-marquee-gap{width:24px;flex:0 0 24px}.song-name-marquee.is-running .song-name-marquee-track{animation:song-name-marquee-scroll var(--song-name-marquee-duration, 10s) linear infinite}.song-name-measure{position:absolute;left:-9999px;top:-9999px;visibility:hidden;pointer-events:none;white-space:nowrap}@keyframes song-name-marquee-scroll{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--song-name-marquee-shift, 0px)))}}@media(prefers-reduced-motion:reduce){.song-name-marquee.is-running .song-name-marquee-track{animation:none}}.song-meta{margin-left:8px;font-size:12px;font-weight:500;color:var(--text-secondary)}.song-num{width:30px;opacity:.5;font-weight:700}.song-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.song-status{display:inline-flex;align-items:center;justify-content:flex-end;min-width:28px}.song-temp-btn{border:none;background:transparent;color:var(--text-secondary);width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .2s ease}.song-temp-btn svg{width:16px!important;height:16px!important;min-width:16px;min-height:16px;aspect-ratio:1 / 1;display:block}.song-temp-btn:hover{color:var(--text-main);background:var(--hover-bg)}.song-temp-btn.active{color:#e05252;background:transparent}.temp-clear-btn{border:1px solid var(--glass-border);background:transparent;color:var(--text-secondary);min-height:38px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:all .2s ease}.temp-clear-btn:hover{background:var(--hover-bg);color:var(--text-main)}.app-toast{position:fixed;left:var(--toast-x, 0px);top:var(--toast-y, 0px);transform:translate(-50%,-100%) translateY(4px);background:var(--glass-bg);color:var(--text-main);padding:6px 10px;border-radius:8px;border:1px solid var(--glass-border);font-size:12px;font-weight:600;letter-spacing:.1px;display:inline-flex;align-items:center;box-shadow:0 10px 18px #00000024;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:30000}.toast-text{line-height:1.2;white-space:nowrap}.app-toast.show{opacity:1;transform:translate(-50%,-100%) translateY(0)}.app-toast.placement-side-right{transform:translateY(-50%) translateY(4px)}.app-toast.placement-side-right.show{transform:translateY(-50%)}.app-toast.placement-side-left{transform:translate(-100%,-50%) translateY(4px)}.app-toast.placement-side-left.show{transform:translate(-100%,-50%)}.app-toast.placement-bottom{transform:translate(-50%) translateY(4px)}.app-toast.placement-bottom.show{transform:translate(-50%)}.app-toast.placement-top{transform:translate(-50%) translateY(4px)}.app-toast.placement-top.show{transform:translate(-50%)}[data-theme=dark] .album-list-tab.active{color:#121214}[data-theme=light] .album-play-btn,[data-theme=light] .fav-play-btn{background:#121214;color:#fff;border-color:transparent}[data-theme=light] .album-play-btn:not(:disabled):hover,[data-theme=light] .fav-play-btn:not(:disabled):hover{background:#121214;color:#fff}[data-theme=dark] .album-fav-all-btn,[data-theme=dark] .temp-clear-btn{border-color:#fff3}[data-theme=dark] .album-fav-all-btn.active{border-color:#e0525275;color:#ff8f8f}[data-theme=dark] .album-play-btn{background:#fff;color:#121214}[data-theme=dark] .album-list-row:hover{background:#ffffff14}[data-theme=dark] .album-list-row.is-current-track{background:#ffffff1f}[data-theme=dark] .album-list-tabs{background:var(--glass-bg)}@media(max-width:1024px){[data-theme=light] .album-list-tabs{background:#00000014;border-color:#0000001a}[data-theme=light] .album-list-tab-slider{background:#121214;border:none;box-shadow:0 8px 16px #0000002e}[data-theme=light] .album-list-tab.active,[data-theme=light] .album-list-tab.active:hover{color:#fff}[data-theme=light] .album-list-mobile-layout .album-play-btn,[data-theme=light] .album-list-mobile-layout .fav-play-btn{background:#121214;color:#fff;border:none;box-shadow:none}[data-theme=light] .album-list-mobile-layout .album-play-btn:hover,[data-theme=light] .album-list-mobile-layout .fav-play-btn:hover{background:#121214;color:#fff;filter:saturate(1.04)}[data-theme=dark] .album-list-subheader,[data-theme=dark] .album-list-row:hover,[data-theme=dark] .album-list-row.is-current-track{background:transparent}[data-theme=dark] .album-list-row.is-current-track:before{background:#ffffff1f}}[data-theme=dark] *{scrollbar-color:rgba(255,255,255,.28) transparent}[data-theme=dark] *::-webkit-scrollbar-thumb{background:#ffffff2e}[data-theme=dark] .album-list-body{scrollbar-color:rgba(255,255,255,.28) transparent}@media(max-width:768px){.album-detail-header{flex-direction:column;align-items:center;text-align:center;gap:25px}.album-cover-img{width:200px;height:200px}.album-title{font-size:32px}}.page-header.simple-header .header-top{gap:16px}.header-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);font-size:12px;font-weight:600}.video-access-modal{position:fixed;inset:0;z-index:24000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.video-access-card{--video-access-content-width: min(220px, 70vw);--video-access-qr-size: min(196px, 62vw);width:min(420px,92vw);background:var(--bg-color);border-radius:16px;border:1px solid var(--glass-border);box-shadow:0 20px 50px #00000040;padding:24px;display:flex;flex-direction:column;gap:12px;text-align:center}.video-access-copy-hint{width:100%;display:flex;flex-direction:column;gap:4px;align-items:center}.video-access-copy-line{margin:0;color:var(--text-main);font-size:16px;line-height:1.45;font-weight:800;letter-spacing:.01em;text-align:center;white-space:nowrap}.video-access-qr{display:inline-flex;justify-content:center;align-items:center;width:fit-content;margin:0 auto;padding:4px 0 2px;cursor:pointer;transition:transform .18s ease,opacity .18s ease}.video-access-qr:hover{opacity:.96}.video-access-qr:active{transform:scale(.985)}.video-access-qr img{width:var(--video-access-qr-size);height:auto;border-radius:12px;border:1px solid var(--glass-border);background:#fff;object-fit:cover}.video-access-input{width:var(--video-access-content-width);margin:0 auto;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-main);padding:10px 12px;border-radius:10px;font-size:14px;text-align:center}.video-access-input::placeholder{text-align:center}.video-access-input:focus{outline:none;border-color:var(--main-color);box-shadow:0 0 0 2px #1d1d1f1f}.video-access-error{color:#ff4d4f;font-size:12px}.video-access-actions{display:flex;justify-content:center;gap:10px;margin-top:4px}.video-access-btn{padding:8px 16px;border-radius:999px;background:var(--main-color);color:#fff;font-size:13px;font-weight:600;cursor:pointer}[data-theme=dark] .video-access-btn{background:#e6e6eb;color:#000}.video-access-btn.ghost{background:var(--hover-bg);color:var(--text-main)}.ios-pwa-guide{position:fixed;left:0;right:0;bottom:calc(106px + env(safe-area-inset-bottom,0px));z-index:2600;pointer-events:none;display:flex;justify-content:center;padding:0 14px}.ios-pwa-guide-card{width:min(520px,100%);border-radius:18px;padding:14px 14px 12px;background:linear-gradient(150deg,#161619f5,#0e0e11f5);border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 36px #00000057;color:#f7f8fb;pointer-events:auto}.ios-pwa-guide-title{font-size:14px;font-weight:700;letter-spacing:.02em;margin-bottom:6px;text-align:center}.ios-pwa-guide-steps{margin:0;padding-left:18px;color:#f7f8fbe0;font-size:13px;line-height:1.5}.ios-pwa-guide-actions{margin-top:10px;display:flex;justify-content:center;gap:8px}.ios-pwa-guide-btn{border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.ios-pwa-guide-btn:active{transform:translateY(1px)}.ios-pwa-guide-btn.ghost{border:1px solid rgba(255,255,255,.22);color:#f7f8fbd6}.ios-pwa-guide-btn.primary{background:#f7f8fb;color:#0e1015}@media(max-width:768px){.ios-pwa-guide{bottom:calc(98px + env(safe-area-inset-bottom,0px))}.ios-pwa-guide-card{border-radius:14px}}@media(prefers-color-scheme:light){:root[data-theme=light] .ios-pwa-guide-card,:root:not([data-theme=dark]) .ios-pwa-guide-card{background:linear-gradient(145deg,#fffffff7,#f5f7fcf5);border-color:#00000014;box-shadow:0 12px 28px #0000002e;color:#1c1f27}:root[data-theme=light] .ios-pwa-guide-steps,:root:not([data-theme=dark]) .ios-pwa-guide-steps{color:#1c1f27cc}:root[data-theme=light] .ios-pwa-guide-btn.ghost,:root:not([data-theme=dark]) .ios-pwa-guide-btn.ghost{border-color:#00000024;color:#1c1f27cc}:root[data-theme=light] .ios-pwa-guide-btn.primary,:root:not([data-theme=dark]) .ios-pwa-guide-btn.primary{background:#1c1f27;color:#fff}}
