:root{--cc-surface:linear-gradient(180deg,#f6f7fd,#edf1f8);--cc-header:radial-gradient(circle at 100% 0,#1fc7e045,transparent 32%),radial-gradient(circle at 74% 18%,#793cf445,transparent 38%),linear-gradient(135deg,#12223e,#151f4c 62%,#34266f);--cc-controls:linear-gradient(145deg,#152238,#263447);--cc-accent:#6754e8;--cc-ink:#142039;--cc-muted:#8995a9}
/* Keep the entire application in a phone-sized frame on desktop. */
:root{--app-h:min(100dvh,900px)}
.app-shell,.overlay-panel,.library-panel{width:min(100%,460px)!important;max-width:460px;flex-shrink:0}
.overlay{align-items:flex-start;background:rgba(241,245,252,.98);backdrop-filter:blur(18px)}
.overlay-panel{overflow:clip!important}
.lyrics-sheet:not(.open){display:none}
#audio{aspect-ratio:16/9;width:100%;height:auto!important;max-height:260px!important;object-fit:contain}
#audio[hidden],#mvBrowser[hidden],.big-cover-wrap[hidden]{display:none!important}
#mvBrowser{position:absolute;inset:calc(env(safe-area-inset-top) + 12px) 12px calc(var(--dock-h) + var(--nav-h) + var(--safe-bottom) + 10px);z-index:4;display:flex;flex-direction:column;gap:10px;overflow:hidden}
#mvBrowser>.top-card,#mvBrowser>.mv-filters{flex:0 0 auto}
.mv-header-badge{padding:6px 12px;border-radius:12px;background:#ffffff18;color:#fff;font-weight:800;font-size:12px}
.mv-filters select{max-width:100%;padding:8px 14px;border:1px solid #e5e1fa;border-radius:12px;background:#f4f0ff;color:#6653d5;font-weight:700;font-size:12px}
#mvItems{min-height:0;overflow:auto;flex:1;overscroll-behavior:contain}
#mvItems .song-main{min-width:0}#mvItems .cover-box{flex-shrink:0}
#mvFullscreenBtn{width:auto;padding:0 12px;font-size:12px;margin-left:auto}
#mvFullscreenBtn[hidden],#lyricsPreview[hidden]{display:none!important}
#audio:fullscreen{width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0!important;object-fit:contain;background:#000}
#audio:-webkit-full-screen{width:100vw!important;height:100vh!important;max-height:none!important;object-fit:contain}
#musicModeBtn:disabled{opacity:.4;cursor:default}
.mv-browsing>.top-card,.mv-browsing>.view-tabs,.mv-browsing>.content-card{visibility:hidden}
#appNavigation{position:fixed!important;left:50%!important;right:auto!important;top:calc(var(--app-h) - var(--safe-bottom) - 69px)!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(calc(100% - 24px),436px)!important;height:62px!important;margin:0!important;z-index:200;background:#fffffff5!important;border:1px solid #e9edf5;border-radius:24px!important;box-shadow:0 8px 24px #24335616!important}
#appNavigation .nav-btn{transition:background .15s,color .15s}
/* Shared page surfaces: recommendations and lyrics belong to the same shell. */
.library-panel.recommend-mode,.lyrics-sheet{background:var(--cc-surface)!important;color:#142039;padding:calc(env(safe-area-inset-top) + 12px) 12px calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);gap:10px}
.library-panel .library-top,.lyrics-sheet>.overlay-top{flex:0 0 auto;min-height:112px;padding:16px;border:0;border-radius:26px;background:var(--cc-header);box-shadow:0 12px 28px #202d8717;color:#fff;gap:12px}
.page-kicker{color:#dfe7f88f;font-size:10px;letter-spacing:.18em;font-weight:700;margin-bottom:5px}
.library-title-wrap,.lyrics-heading{flex:1;min-width:0;text-align:left}
.library-title,.lyrics-heading .overlay-label{font-size:25px;font-weight:800;line-height:1.3;color:#fff}
.library-top .library-sub{font-size:11px;color:#d5dcedb8;font-weight:500;white-space:normal;line-height:1.5}
.library-top .library-back,.library-top .library-locate,.lyrics-sheet .round-btn{background:#ffffff16;color:#fff;border:1px solid #ffffff14;box-shadow:none;height:38px;min-width:38px;border-radius:13px}
.library-top .library-locate{font-size:12px;padding:0 10px;white-space:nowrap}
.library-panel.recommend-mode .library-list{display:block;overflow:auto!important;background:#ffffffeb;padding:8px 10px!important;border-radius:24px;box-shadow:0 12px 30px #24335608}
.library-panel.recommend-mode .library-item{height:auto;min-height:76px;margin:0;padding:11px 7px;border:0;border-radius:0;background:transparent;box-shadow:inset 0 -1px #8e9db426;animation:none;grid-template-columns:52px minmax(0,1fr) auto;gap:10px}
.library-panel.recommend-mode .library-item:last-child{box-shadow:none}.library-panel.recommend-mode .library-item::after{display:none}
.library-panel.recommend-mode .library-item.active{border-radius:18px;background:linear-gradient(100deg,#7059f91a,#527dff14);box-shadow:none}
.library-panel .library-cover{width:52px;height:52px;border-radius:16px;object-fit:cover;box-shadow:0 8px 18px #2433561f}
.library-panel .library-item>div{min-width:0}.library-panel .library-song-name{font-size:14px;color:#142039}.library-panel .library-song-meta{font-size:11px;color:#8995a9;font-weight:600}
.library-panel.recommend-mode .library-badge{background:#f0edff;color:#6b58ee;font-size:10px;padding:5px 8px}
.library-panel.recommend-mode .library-now{display:grid!important;height:74px;min-height:74px;border-radius:24px;background:var(--cc-controls);box-shadow:0 12px 30px #24335620}
.lyrics-song-card{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:12px 14px;border-radius:20px;background:#fff}
.lyrics-song-card img{width:44px;height:44px;border-radius:13px;object-fit:cover}.lyrics-song-card>div{min-width:0}
#lyricsSongTitle{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#lyricsSongArtist{margin-top:3px;font-size:12px;color:#8995a9}
.lyrics-sheet .lyrics-list{background:#fff;border-radius:24px;padding:25vh 16px;scroll-padding-block:20vh;margin-bottom:80px;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.lyrics-sheet .lyrics-row{color:#939db0;opacity:1;text-shadow:none;font-weight:600}.lyrics-sheet .lyrics-row.near{color:#687891}.lyrics-sheet .lyrics-row.active{color:#6754e8;font-weight:800;text-shadow:none;background:none}
.lyrics-sheet .lyrics-bottom.detail-style{left:12px;right:12px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);height:74px;padding:8px;border-radius:24px;background:var(--cc-controls);box-shadow:0 12px 30px #24335620}
.lyrics-sheet .lyrics-bottom.detail-style .overlay-btn.play{height:50px;width:50px;box-shadow:none!important}
@media(max-height:620px){.library-panel .library-top,.lyrics-sheet>.overlay-top{min-height:90px;padding:12px}.lyrics-song-card{padding:8px 12px}.lyrics-sheet .lyrics-list{padding-top:18vh;padding-bottom:18vh}}
/* Home, MV and playback share the recommendation/lyrics design. */
.app-shell,.overlay-panel{background:var(--cc-surface)!important;color:#142039}
.app-shell::before,.app-shell::after,.overlay-panel::before{display:none}
:is(.app-shell,#mvBrowser)>.top-card,.overlay-panel>.overlay-top{padding:16px;margin:0;border:0;border-radius:26px;min-height:112px;background:var(--cc-header);box-shadow:0 12px 28px #202d8717;color:#fff}
:is(.app-shell,#mvBrowser)>.top-card::before{display:none}
.app-shell .brand-title,.player-page-title{font-size:25px;font-weight:800;line-height:1.3}
.app-shell .brand-kicker{font-size:10px;letter-spacing:.18em;color:#dfe7f88f}
:is(.app-shell,#mvBrowser)>.content-card{margin:0;border-radius:24px;background:#ffffffeb;box-shadow:0 12px 30px #24335608}
.app-shell .song-item{min-height:76px;padding:11px 7px}.app-shell .song-item.active{border-radius:18px}
.app-shell .bottom-player{border-radius:24px;background:var(--cc-controls);box-shadow:0 12px 30px #24335620}
.app-shell .mini-player{height:74px}
.overlay-panel{padding:calc(env(safe-area-inset-top) + 12px) 12px calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);gap:10px}
.player-heading{flex:1;text-align:left;min-width:0}.player-heading .overlay-label{font-size:11px;color:#d5dcedb8;margin-top:4px;font-weight:500}
.overlay-panel>.overlay-top .round-btn{width:38px;height:38px;border-radius:13px;background:#ffffff16;border:1px solid #ffffff14;box-shadow:none}
.overlay-panel>.album-stage{padding:10px;gap:8px;border-radius:24px;background:#fff;overflow:auto;overscroll-behavior:contain;justify-content:flex-start}
.album-stage>*{flex-shrink:0;max-width:100%}
.album-stage>.big-cover-wrap{width:min(60vw,240px,20vh,max(80px,calc(var(--app-h) - 600px)));border-radius:20px;box-shadow:0 10px 24px #2433561c}.album-stage .big-cover{border-radius:20px}
.album-stage .song-name{color:#142039;font-size:20px}.album-stage .artist-name{color:#8995a9;font-weight:600}
.album-stage .lyrics-preview{flex:1 0 auto;min-height:76px;gap:clamp(4px,1vh,10px);padding:10px;background:#f6f7fd;border-radius:16px;justify-content:center;overflow:visible}
.album-stage .lyric-line{color:#8995a9;font-size:clamp(13px,3.5vw,15px);line-height:1.5;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;flex-shrink:0;transform:none}
.album-stage .lyric-line.active{color:#6754e8;font-size:clamp(15px,4vw,18px);transform:none}
.media-mode-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%;padding:5px;border-radius:16px;background:#f3f1fc}
.media-mode-bar .round-btn{width:auto;height:32px;padding:0 14px;border:0;border-radius:11px;background:transparent;color:#68758d;box-shadow:none;font-size:12px}
.media-mode-bar .round-btn[aria-pressed="true"]{background:#6b58ee;color:#fff}.media-mode-bar .round-btn:disabled{opacity:.4;cursor:default}
#mvModeHint{font-size:11px;color:#8995a9;margin-left:auto;padding:0 5px}
.overlay-panel>.overlay-progress{padding:10px 14px;border:0;border-radius:18px;background:#fff;box-shadow:none}.overlay-progress .time-row{color:#8995a9}
.overlay-panel>.overlay-controls{height:74px;min-height:74px;padding:8px;border-radius:24px;background:var(--cc-controls);box-shadow:0 12px 30px #24335620}
.overlay-panel>.overlay-controls .overlay-btn.play{flex:0 0 50px;width:50px;height:50px;box-shadow:none}
@media(max-height:620px){.overlay-panel>.overlay-top{min-height:90px;padding:12px}.album-stage>.big-cover-wrap{width:min(45vw,80px)}}
.app-shell .song-item{grid-template-columns:26px 52px minmax(0,1fr) 44px;gap:8px}
.app-shell .song-item>.song-index{width:26px;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;color:#8995a9;font-size:11px;font-variant-numeric:tabular-nums}
.app-shell .song-side{justify-content:flex-end}
.song-duration{display:block;font-size:12px;color:#8995a9;font-variant-numeric:tabular-nums;white-space:nowrap}
.app-shell .song-item.active .song-duration{color:#6b58ee}
@media(max-width:380px){.app-shell .song-item{grid-template-columns:22px 42px minmax(0,1fr) 40px;gap:6px;padding-inline:3px}.app-shell .song-item .cover-box{width:42px;height:42px;min-width:42px}.app-shell .song-item>.song-index{width:22px}}
.lyrics-sheet .lyrics-list{padding-block:var(--lyric-center-space,25vh);scroll-behavior:auto}
.lyrics-sheet .lyrics-row{transition:color .28s ease,opacity .28s ease,transform .28s ease}
.playback-notice{position:relative;z-index:5;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;background:#fff5df;color:#72521a;font-size:12px;line-height:1.5}
.playback-notice[hidden]{display:none!important}.playback-notice span{flex:1;min-width:0;overflow-wrap:anywhere}.playback-notice button{flex-shrink:0;background:#6754e8;color:#fff;border:0;border-radius:8px;padding:8px;font:inherit;cursor:pointer}.playback-notice button:disabled{opacity:.5}
.mv-browsing>.playback-notice{position:absolute;left:12px;right:12px;bottom:calc(var(--dock-h) + var(--nav-h) + var(--safe-bottom) + 10px)}
.album-stage>div:has(>.song-name){width:100%;min-width:0}.album-stage .song-name{display:block;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:unset;line-height:1.35}.album-stage .artist-name{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.overlay-panel>.album-stage{container-type:inline-size}
@supports(font-size:1cqw){.album-stage .lyric-line{font-size:clamp(13px,3.5cqw,15px)}.album-stage .lyric-line.active{font-size:clamp(15px,4.5cqw,18px)}}
@media(max-width:360px){.overlay-controls>.overlay-btn{flex-basis:34px;width:34px}.overlay-panel>.overlay-top,.library-panel .library-top,.lyrics-sheet>.overlay-top{padding:12px;gap:8px}.media-mode-bar{gap:3px}.media-mode-bar .round-btn{padding-inline:10px}#mvModeHint{font-size:10px}}
@media(max-height:560px){.overlay-panel>.overlay-top,.lyrics-sheet>.overlay-top,.library-panel .library-top{min-height:76px}.player-page-title,.library-title,.lyrics-heading .overlay-label{font-size:21px}.overlay-panel>.overlay-controls{height:60px;min-height:60px}.overlay-panel>.album-stage{padding:8px}.album-stage>.big-cover-wrap{width:64px}.lyrics-song-card{padding:6px 10px}.lyrics-song-card img{height:32px;width:32px}.lyrics-sheet .lyrics-list{padding-block:var(--lyric-center-space,20vh)}}
@media(prefers-reduced-motion:reduce){.library-panel,.lyrics-sheet,.song-item,.lyric-line,.lyrics-row{transition:none!important;animation:none!important}}
@media(max-height:680px){
 .overlay-panel>.overlay-top{min-height:84px;padding:12px}
 .overlay-panel>.album-stage:has(>.big-cover-wrap:not([hidden])){display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto minmax(76px,1fr);align-items:center;align-content:stretch}
 .album-stage>.media-mode-bar,.album-stage>.lyrics-preview{grid-column:1/-1}
 .album-stage>.big-cover-wrap{width:64px;grid-column:1;grid-row:2}
 .album-stage>div:has(>.song-name){grid-column:2;grid-row:2;text-align:left}
 .album-stage .song-name{font-size:16px}.album-stage .artist-name{font-size:11px}
 .album-stage>.lyrics-preview{height:100%;min-width:0;padding:8px;gap:4px}
}
@media(min-width:600px){body{background:#dce1eb}.app-shell,.overlay-panel,.library-panel{box-shadow:0 0 50px #23314a22}}
