/* 播放器 */
#music-player {
  position: fixed; bottom: 28px; right: 28px;
  z-index: 500;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
}
#player-toggle {
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(250,246,238,.92);
  border: 1.5px solid rgba(139,174,122,.35);
  box-shadow: 0 4px 16px rgba(61,53,48,.12);
  cursor: pointer; font-size: 1.15rem;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(10px);
  transition: transform .2s, box-shadow .2s;
  color: #5A7A5A;
}
#player-toggle:hover { transform: scale(1.1); box-shadow: 0 6px 24px rgba(61,53,48,.18); }
#player-toggle.playing { animation: glow 2.5s ease-in-out infinite; }
@keyframes glow {
  0%,100% { box-shadow: 0 4px 16px rgba(139,174,122,.25); }
  50%      { box-shadow: 0 4px 28px rgba(139,174,122,.55); }
}
#player-info {
  display: none;
  background: rgba(250,246,238,.95);
  border: 1px solid rgba(139,174,122,.2);
  border-radius: 22px; padding: 8px 16px;
  font-size: .78rem; color: #8A7E78;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 16px rgba(61,53,48,.08);
  align-items: center; gap: 10px; white-space: nowrap;
}
#player-info.visible { display: flex; }
#player-title { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
#player-mute {
  background: none; border: none; cursor: pointer;
  font-size: .9rem; opacity: .65; transition: opacity .2s; padding: 0;
}
#player-mute:hover { opacity: 1; }
