[data-site-audio], [hidden] { display: none !important; }
.player-panel { position: fixed; right: 48px; top: 71px; z-index: 80; width: 292px; max-width: calc(100% - 32px); background: var(--paper); border: 1px solid var(--line); border-radius: 4px; padding: 20px 21px 15px; box-shadow: 0 12px 40px #132b2315; }
.player-title { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.player-title strong { display: block; font-size: 15px; font-weight: 500; }
.player-title small { font-size: 11px; color: var(--muted); display: block; margin-top: 4px; }
.player-title button { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; }
.player-controls { display: flex; align-items: center; gap: 17px; margin-top: 18px; }
.player-play { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; flex-shrink: 0; }
.player-timeline { flex: 1; min-width: 0; }
.player-timeline input { width: 100%; margin: 0; cursor: pointer; accent-color: var(--ink); height: 18px; display: block; }
.player-timeline input:focus-visible { outline: 2px solid var(--rose); outline-offset: 3px; }
.player-times { display: flex; justify-content: space-between; font: 10px var(--mono); color: var(--muted); margin-top: 4px; }
.music-status:empty { display: none; }
.music-status { font-size: 11px; line-height: 1.7; color: var(--muted); margin-top: 12px; }
.music-loading .player-play { border-color: var(--muted); }
.song-bars { display: flex; align-items: center; gap: 2px; width: 13px; height: 13px; }
.song-bars i { display: block; background: currentColor; width: 2px; height: 4px; transform-origin: center; }
.song-bars i:nth-child(2) { height: 11px; }
.song-bars i:nth-child(3) { height: 7px; }
.music-on .song-bars i { animation: sound-bar 1s ease-in-out infinite alternate; }
.music-on .song-bars i:nth-child(2) { animation-delay: -.6s; }
.music-on .song-bars i:nth-child(3) { animation-delay: -.3s; }
[data-theme=dark] .player-panel img, [data-theme=dark] #player-launch img { filter: invert(1); }
@keyframes sound-bar { to { transform: scaleY(.4); } }
@media(max-width:1050px) { .player-panel { right: 32px; } }
@media(max-width:760px) { .player-panel { right: 16px; top: 59px; } }
@media(prefers-reduced-motion:reduce) { .music-on .song-bars i { animation: none; } }
