/* 挂在 body 下：相对视口固定。层级：登录弹层 z-1010 > 全屏音乐层 > 迷你条（勿让全屏层叠在 dock 之上且 display 异常时吃掉触摸） */
#music-player-dock-shell {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 920;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    box-sizing: border-box;
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
    pointer-events: none;
    isolation: isolate;
}

#music-player-dock-shell #music-player-widget {
    flex: 0 1 auto;
    width: fit-content;
    max-width: min(100%, 72rem);
    margin-left: 0;
    margin-right: auto;
    pointer-events: auto;
}

/* 展开条占满可用宽度；收起时仅药丸宽度，避免整行底边透明层抢触摸 / 挡滚动 */
#music-player-dock-shell #music-player-widget.playing {
    width: 100%;
    max-width: min(100%, 72rem);
}

#music-player-dock-shell #player-container {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.tab-btn.active { background: #e5e7eb; color: #111; }
.quality-btn.active { background: #e5e7eb; color: #111; border-color: #d1d5db; }

#player-container {
    max-width: 160px;
    transition: width .6s cubic-bezier(.4,0,.2,1), max-width .6s cubic-bezier(.4,0,.2,1), min-width .6s cubic-bezier(.4,0,.2,1), background .6s cubic-bezier(.4,0,.2,1), box-shadow .6s cubic-bezier(.4,0,.2,1) !important;
}

/* 展开：920px 以下全宽 */
#music-player-widget.playing #player-container { width: 100%; max-width: 100%; }
#music-player-widget.playing #player-name-container { opacity: 0; pointer-events: none; }
#music-player-widget.playing #player-content { opacity: 1; pointer-events: auto; }
#music-player-widget.playing #player-overlay { display: none; }
/* 左下角迷你播放器：正在播放时专辑图旋转（唱片感） */
#music-player-widget.audio-playing .player-cover-disk {
    animation: player-cover-disk-spin 20s linear infinite;
    will-change: transform;
}
@keyframes player-cover-disk-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* 歌曲列表：当前播放行 — demo① 主题黄外发光呼吸（整行） */
@keyframes music-list-playing-row-pulse {
    0%, 100% {
        box-shadow:
            0 0 0 1px rgba(245, 158, 11, 0.12),
            0 0 0 0 rgba(234, 179, 8, 0.06),
            0 0 0 0 transparent;
    }
    50% {
        box-shadow:
            0 0 0 1px rgba(245, 158, 11, 0.16),
            0 0 0 2px rgba(234, 179, 8, 0.08),
            0 0 14px 1px rgba(234, 179, 8, 0.22);
    }
}

/* 全屏播放器：浅色主题 + 主题黄点缀。关闭时压到堆叠底层 */
#music-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, #ffffff 0%, #fafafa 50%, #f5f5f5 100%);
    color: #171717;
    -webkit-font-smoothing: antialiased;
    display: none !important;
    pointer-events: none !important;
    visibility: hidden;
}
#music-fullscreen.music-fs-open {
    z-index: 1000 !important;
    display: flex !important;
    flex-direction: column;
    pointer-events: auto !important;
    visibility: visible;
    min-height: 0;
    max-height: 100dvh;
    overflow: hidden;
}
/* 全屏中间区：吃掉剩余高度，防止子元素溢出盖住封面/底栏 */
#music-fullscreen .music-fs-main {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
}
#music-fullscreen .music-fs-copy {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
/* 上下淡出：与白底协调；移动端 min-h-0 参与 flex 收缩，仅用内部滚动 */
#music-fs-lyrics {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
}
@media (min-width: 768px) {
    #music-fs-lyrics {
        min-height: min(52vh, 28rem);
    }
}
#music-fs-lyrics::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
/* 全屏右侧歌词：主题黄色系 */
.music-fs-line {
    width: 100%;
    font-size: clamp(1.375rem, 4.5vw, 2.5rem);
    line-height: 1.5;
    padding: 0.6rem 0.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: filter 0.35s ease, opacity 0.35s ease, transform 0.35s ease, color 0.25s ease;
    color: rgba(234, 179, 8, 0.48);
    filter: none;
    opacity: 1;
    scroll-margin-block: 18vh;
}
.music-fs-line.is-past {
    color: rgba(217, 119, 6, 0.82);
    filter: none;
    opacity: 1;
}
.music-fs-line.is-active {
    color: #eab308;
    filter: none;
    opacity: 1;
    font-weight: 700;
    font-size: clamp(1.5rem, 5vw, 2.75rem);
    line-height: 1.45;
    transform: none;
    text-shadow: 0 1px 0 rgba(255, 251, 235, 0.9);
}
.music-fs-line-main {
    display: block;
}
.music-fs-line-trans {
    margin-top: 0.2rem;
    font-size: 0.5em;
    line-height: 1.35;
    color: #9ca3af;
    font-weight: 400;
}
@media (min-width: 768px) {
    .music-fs-line {
        line-height: 1.52;
        padding: 0.65rem 0.35rem 0.65rem 0;
    }
    .music-fs-line.is-active {
        line-height: 1.48;
    }
}
#music-fs-scrub-track {
    touch-action: none;
    background-color: rgba(212, 212, 212, 0.95) !important;
}
#music-fs-scrub-fill {
    background-color: #eab308 !important;
}
#music-fs-scrub-knob {
    border-color: rgba(234, 179, 8, 0.55) !important;
    background-color: #fff !important;
    box-shadow: 0 1px 3px rgba(234, 179, 8, 0.35) !important;
}

/* 全屏：次要按钮（上一曲/下一曲/关闭） hover 点缀 */
#music-fullscreen #music-fs-prev:hover,
#music-fullscreen #music-fs-next:hover,
#music-fullscreen #music-fs-close:hover {
    background-color: rgba(254, 243, 199, 0.85);
    color: #713f12;
}
#music-fullscreen #music-fs-toggle {
    background-color: #eab308 !important;
    color: #171717 !important;
    box-shadow: 0 4px 14px rgba(234, 179, 8, 0.45) !important;
}
#music-fullscreen #music-fs-toggle:hover {
    background-color: #ca8a04 !important;
}

/* 920px 以上：固定左下角，按比例展开 */
@media (min-width: 920px) {
    #music-player-widget.playing #player-container { width: 40vw; max-width: 640px; min-width: 420px; }
}
@media (min-width: 1280px) {
    #music-player-widget.playing #player-container { width: 32vw; max-width: 640px; min-width: 480px; }
}

#player-lyrics {
    overflow: hidden;
}
#player-lyrics-inner { display: flex; flex-direction: column; gap: 2px; transition: transform 0.4s cubic-bezier(0.4,0,0.2,1); }

#music-player-widget #player-content {
    z-index: 6 !important;
}

#music-player-widget #player-cover-wrap {
    touch-action: manipulation;
}

#music-player-widget #player-cover-wrap,
#music-player-widget #player-name-container {
    position: relative;
    z-index: 12;
}

.lyric-line {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
    transition:
        opacity 0.35s ease,
        filter 0.35s ease,
        color 0.3s ease,
        font-weight 0.25s ease,
        text-shadow 0.3s ease;
    opacity: 0.4;
    filter: blur(1.5px);
    font-weight: 400;
}

.lyric-line.is-active {
    opacity: 1;
    filter: none;
    color: #fef9c3;
    font-weight: 600;
    text-shadow: 0 0 14px rgba(250, 204, 21, 0.45);
}

/* 音乐页搜索框：可被点击、穿透层叠时可聚焦 */
.music-page-search-shell {
    position: relative;
    z-index: 100;
}
.music-page-search-input {
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-appearance: none;
    appearance: none;
}

/* 搜索结果：当前曲目高亮 + 主题黄脉冲光晕 */
#searchResults .playing-item {
    background-color: #fff;
    border-color: transparent;
    animation: music-list-playing-row-pulse 2.4s ease-in-out infinite;
    will-change: box-shadow;
}
