/* 全站背景音乐按钮 */
.music-btn{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9999;
    width:48px;
    height:48px;
    padding:0;
    border:0;
    border-radius:50%;
    background:linear-gradient(135deg,#FFB800,#FF8A1F);
    box-shadow:0 6px 18px rgba(255,138,31,.4);
    color:#fff;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    -webkit-tap-highlight-color:transparent;
    transition:background .25s,box-shadow .25s,transform .2s;
}
.music-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(255,138,31,.5);
}
.music-btn:focus-visible{
    outline:3px solid rgba(255,85,51,.45);
    outline-offset:3px;
}
.music-btn.is-playing .music-ico{
    animation:music-beat 1.1s ease-in-out infinite;
}
.music-btn:not(.is-playing){
    background:linear-gradient(135deg,#C9C3B8,#9E978B);
    box-shadow:0 6px 18px rgba(58,42,18,.2);
}
@keyframes music-beat{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.22);}
}
@media (max-width:768px){
    .music-btn{
        right:16px;
        bottom:16px;
        width:44px;
        height:44px;
        font-size:20px;
    }
}
/* 歌词泡泡层 */
.lyric-layer{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    top:0;
    z-index:9990;
    pointer-events:none;
    overflow:hidden;
}
.lyric-bubble{
    position:absolute;
    bottom:14%;
    max-width:72%;
    padding:8px 16px;
    border-radius:18px;
    color:#7A4A12;
    font-size:14px;
    line-height:1.5;
    word-break:break-word;
    text-align:center;
    box-shadow:0 6px 18px rgba(255,138,31,.18);
    border:1px solid rgba(255,184,0,.35);
    animation:lyric-float 6s ease-in forwards;
    pointer-events:none;
}
@keyframes lyric-float{
    0%{opacity:0;transform:translateY(0) scale(.9);}
    10%{opacity:1;transform:translateY(-14px) scale(1);}
    75%{opacity:1;transform:translateY(-110px) scale(1);}
    100%{opacity:0;transform:translateY(-150px) scale(.96);}
}
@media (max-width:768px){
    .lyric-bubble{
        font-size:13px;
        padding:7px 13px;
        bottom:16%;
    }
}
@media (prefers-reduced-motion:reduce){
    .music-btn.is-playing .music-ico{
        animation:none;
    }
}
/* ---- 页脚三行布局：桌面保持一行，手机端三行居中 ---- */
.f-copy,.f-nav,.f-meta{display:inline;}
.f-sep{margin:0 10px;}
.f-meta-sep{margin:0 8px;}
@media (max-width:900px){
    .f-copy,.f-nav,.f-meta{display:block;}
    .f-nav{margin:10px 0;}
    .f-sep{display:none;}
}
/* 手机端页脚导航收紧，避免换行 */
@media (max-width:900px){
    footer .f-nav a{margin:0 4px;font-size:14px;}
}
