/* One set of controls, with a centred listening view and two detail views. */
.player-panel{height:min(720px,calc(100dvh - 48px));width:min(980px,calc(100vw - 64px));overflow:clip}
.player-panel .player-heading,.player-panel.immersive .player-heading{height:56px;box-sizing:border-box;padding:6px 20px}
.player-panel .expanded-grid,.player-panel.immersive .expanded-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);gap:14px 40px;flex:1;min-height:0;padding:0 36px 22px;max-width:1120px;width:100%;margin:0 auto;overflow:auto;overscroll-behavior:contain}
.player-panel .detail-tabs{grid-column:1 / -1;grid-row:1;gap:12px;margin:0;min-height:44px;width:max-content;align-self:start;justify-self:center;justify-content:center}
.player-panel .detail-tabs button{min-width:64px;min-height:44px;flex:none;padding:10px 8px;font-size:13px}
.player-panel .now-playing{grid-column:1;grid-row:2;width:100%;max-width:420px;justify-self:center;min-height:max-content;justify-content:center}
.player-panel .player-detail{position:relative;grid-column:2;grid-row:2;min-height:0;padding:0}
.player-panel .large-art,.player-panel.immersive .large-art{width:min(100%,var(--player-cover-size,280px));max-width:none;max-height:none;aspect-ratio:1;align-self:center}
.player-panel .song-heading,.player-panel.immersive .song-heading{margin:16px 0 8px;flex:none;min-height:45px}
.player-panel .song-heading h2{font-size:21px;line-height:1.25}
.player-panel .song-heading p{min-height:16px;margin:4px 0 0;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-panel .song-heading .icon-button{width:44px;height:44px}
.player-panel .seek-area{flex:none}
.player-panel .time-row{margin-top:0;line-height:16px}
.player-panel .transport{flex:none;margin:8px 0 4px;gap:8px;min-height:54px}
.player-panel .transport .icon-button{width:44px;height:44px}
.player-panel .transport .large-play{width:54px;height:54px}
.player-panel .volume-row{height:44px;flex:none;max-width:235px;width:72%;margin:0 auto}
.player-panel .mode-label{display:block;flex:none;font-size:12px;line-height:17px;margin:4px 0 0}
.player-panel .detail-pane{max-height:none;min-height:0}
.player-panel .player-footnote{margin-top:10px;line-height:18px;flex:none}
.player-panel .lyrics-disclaimer{margin:8px 0 0;line-height:18px;flex:none}
.player-panel[data-detail-view=simple] .expanded-grid{grid-template-columns:minmax(0,1fr)}
.player-panel[data-detail-view=simple] .detail-tabs{grid-column:1;justify-self:center;justify-content:center;max-width:390px}
.player-panel[data-detail-view=simple] .now-playing{grid-column:1;grid-row:2;max-width:390px}
.player-panel.immersive{height:100dvh;width:100vw}
.player-panel.immersive .expanded-grid{padding:10px 48px 28px;column-gap:80px}
.player-panel.immersive[data-detail-view=simple] .now-playing,.player-panel.immersive[data-detail-view=simple] .detail-tabs{max-width:440px}
/* Only artwork lyrics hand off to the right; cover mode keeps its normal left column. */
.player-panel .cover-restore{display:none;position:absolute;grid-column:1 / 2;grid-row:2 / 3;top:clamp(30px,15%,90px);right:18%;width:40px;height:40px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:500;line-height:1;opacity:.75;z-index:3;transition:color .2s cubic-bezier(.22,.8,.22,1),opacity .2s cubic-bezier(.22,.8,.22,1)}
.player-panel .cover-restore:hover{color:var(--ink);opacity:1}
.player-panel .cover-restore:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(min-width:761px){
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .cover-restore{display:block}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .large-art{display:none}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .now-playing{min-height:0;align-self:stretch;max-width:340px;padding-top:clamp(32px,14dvh,150px)}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .song-heading{min-height:38px;margin:12px 0 6px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .song-heading h2{font-size:18px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .song-heading p{font-size:11px;line-height:14px;min-height:14px;margin-top:3px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .song-heading .icon-button{width:36px;height:36px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .time-row{font-size:10px;line-height:14px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .seek-area input,.player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .volume-row input{height:30px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .transport{min-height:46px;margin:6px 0 2px;gap:6px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .transport .icon-button{width:36px;height:36px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .transport .icon{width:19px;height:19px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .transport .large-play{width:46px;height:46px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .transport .large-play .icon{width:26px;height:26px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .volume-row{max-width:185px;height:32px}
 .player-panel[data-detail-view=lyrics][data-art-mode=lyrics] .mode-label{font-size:11px;line-height:15px;margin-top:2px}
}
@media(max-width:760px){
 .player-panel,.player-panel.immersive{height:100dvh;width:100vw}
 .player-panel .player-heading,.player-panel.immersive .player-heading{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0}
 .player-panel .expanded-grid,.player-panel.immersive .expanded-grid{display:flex;flex-direction:column;gap:14px;padding:0 24px max(18px,env(safe-area-inset-bottom));max-width:490px}
 /* 2026-10-17（站长："顶部白色长条有些突兀，改成站内统一玻璃质感并缩小长度"）：
    由整条通栏白底改成居中胶囊玻璃条，与迷你播放器同一套材质（半透明 + 模糊 + 内侧高光）。 */
 .player-panel .detail-tabs{order:0;position:sticky;top:8px;z-index:3;justify-content:center;flex:none;width:fit-content;max-width:100%;margin:2px auto 8px;padding:4px;border:1px solid #ffffffa8;border-radius:999px;background:var(--glass);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:inset 0 1px 0 #ffffffcc,0 8px 22px #26364e14}
 .dark .player-panel .detail-tabs{border-color:#bacfff36;box-shadow:inset 0 1px 0 #d7e6ff33,0 8px 22px #0003}
 .player-panel .now-playing{order:1;flex:none;align-self:center;max-width:420px}
 .player-panel[data-detail-view=simple] .now-playing{margin-block:auto}
 .player-panel .player-detail{order:2;flex:none;height:clamp(200px,34dvh,290px);min-height:200px}
 .player-panel .song-heading,.player-panel.immersive .song-heading{margin:12px 0 6px}
 .player-panel .song-heading h2{font-size:21px}
 .player-panel .lyrics-lines{padding:24px 0 80px}
 .player-panel .player-footnote{display:none}
}
@media(max-height:480px) and (min-width:761px){.player-panel{height:calc(100dvh - 20px)}.player-panel .expanded-grid{overflow:auto}}

.player-panel[data-detail-view=simple] .song-heading{position:relative;justify-content:center;padding-inline:48px;text-align:center}
.player-panel[data-detail-view=simple] .song-heading>div{width:100%}
.player-panel[data-detail-view=simple] .song-heading #favoriteCurrent{position:absolute;right:0;top:calc(50% - 22px)}

.player-panel .song-heading h2,.player-panel .song-heading p{width:max-content;max-width:100%}
.player-panel[data-detail-view=simple] .song-heading h2,.player-panel[data-detail-view=simple] .song-heading p{margin-inline:auto}

.player-panel .volume-row>[data-icon]{display:none}

/* The lyrics viewport owns scrolling; actions stay below its clipping/mask. */
.player-panel .player-detail{overflow:hidden}
.player-panel .player-detail>.detail-pane{flex:1 1 0;min-height:0}
.player-panel .player-detail-footer{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;column-gap:12px;row-gap:4px;flex:none;margin-top:10px;padding:10px 0 max(2px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}

.player-panel .player-detail-footer .player-footnote{grid-column:1;grid-row:1;line-height:1.6;margin:0;overflow-wrap:anywhere}
.player-panel .player-detail-footer .lyrics-disclaimer{grid-column:1;grid-row:2;line-height:1.6;margin:0}
@media(max-width:760px){.player-panel .player-detail-footer{margin-top:8px;padding-top:8px}}

/* The import action belongs after all lyrics; it never floats above a verse. */
.player-panel #lyricsPane:not(.is-empty) #lyricsLines{min-height:100%;padding-bottom:24px}
.player-panel .lyrics-end-actions{position:static;display:flex;justify-content:flex-end;flex:none;margin-top:12px;padding:0 0 30px}
.player-panel .lyrics-end-actions #pickLrc{position:static;bottom:auto;min-height:44px;margin:0;padding:8px 12px;font-size:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.player-panel #lyricsPane.is-empty .lyrics-end-actions{margin-top:8px;padding-bottom:0}

/* Icon tabs retain keyboard names without a divider or underline. */
.player-panel .detail-tabs{border:0;gap:8px;align-items:center}
.player-panel .detail-tabs button{display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;transform:none}
.player-panel .detail-tabs button::after{display:none;content:none}
.player-panel .detail-tabs button[aria-selected=true]{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}
.player-panel .detail-tabs button:hover{background:color-mix(in srgb,var(--blue) 7%,transparent)}
.player-panel .detail-tabs .icon{width:21px;height:21px}
.player-panel .lyric-line{width:calc(100% - 24px);margin-inline:auto;overflow-wrap:anywhere;text-align:center;transform-origin:center center;padding-inline:10px}
.player-panel .lyrics-lines{padding-block:max(24px,calc(var(--lyric-viewport-height,320px)/2 - 28px))}
.player-panel .lyrics-plain{text-align:center;padding-inline:10px}
.player-panel .lyrics-empty{align-items:center;text-align:center}
.player-panel .player-detail-footer{text-align:center}
.player-panel .lyrics-end-actions{justify-content:center}
