/* Public audio controls: synchronized with the persistent player, not just its selected ID. */
[data-play-track] .lm863-pause-icon { display: none; }
[data-play-track].is-track-playing .lm863-play-icon { display: none; }
[data-play-track].is-track-playing .lm863-pause-icon { display: inline-flex; }
[data-play-track] .lm863-play-icon,
[data-play-track] .lm863-pause-icon { align-items: center; justify-content: center; flex: 0 0 auto; }

.lm827-song {
  position: relative;
}
.lm827-song.is-playing {
  background: #29302c;
  border-color: #789b64;
  box-shadow: inset 3px 0 0 #b9dc93, 0 0 0 1px rgba(190, 227, 149, .05);
}
.lm827-song.is-playing .lm827-song-info strong { color: #e2f7c6; }
.lm827-song.is-playing .lm827-song-number { color: #c5e7a3; }
.lm827-song.is-playing .lm827-song-cover { border-color: #90bd75 !important; }
.lm827-song .lm827-song-cover { position: relative; }
.lm827-song .lm863-album-equalizer {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
  background: rgba(10, 17, 13, .67);
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
  border-radius: inherit;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s;
  pointer-events: none;
}
.lm827-song.is-playing .lm863-album-equalizer { opacity: 1; visibility: visible; }
.lm863-album-equalizer > span {
  width: 3px;
  height: 13px;
  border-radius: 999px;
  background: #d1f6a6;
  transform-origin: center;
  animation: lm863-bars 880ms ease-in-out infinite alternate;
  box-shadow: 0 0 4px rgba(189, 237, 146, .22);
}
.lm863-album-equalizer > span:nth-child(1) { animation-duration: 630ms; animation-delay: -460ms; }
.lm863-album-equalizer > span:nth-child(2) { animation-duration: 1040ms; animation-delay: -120ms; }
.lm863-album-equalizer > span:nth-child(3) { animation-duration: 740ms; animation-delay: -640ms; }
.lm863-album-equalizer > span:nth-child(4) { animation-duration: 920ms; animation-delay: -360ms; }
.lm863-album-equalizer > span:nth-child(5) { animation-duration: 580ms; animation-delay: -90ms; }
@keyframes lm863-bars {
  0% { transform: scaleY(.29); opacity: .65; }
  100% { transform: scaleY(1.75); opacity: 1; }
}
/* A paused track remains selected, but neither the bars nor the active frame move. */
.lm827-song.is-active-track:not(.is-playing) .lm863-album-equalizer {
  animation: none;
}
.lm827-song-actions .lm827-song-play.is-track-playing {
  background: #a9d678;
  border-color: #a9d678;
  color: #152115;
}
.lm827-single-actions [data-play-track] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.lm827-single-actions [data-play-track].is-track-playing {
  background: #c0e58d;
  border-color: #c0e58d;
  color: #142216;
}
.lm863-button-equalizer {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin-inline-start: 3px;
  width: 22px;
  height: 18px;
}
.lm827-single-actions [data-play-track].is-track-playing .lm863-button-equalizer {
  display: inline-flex;
}
.lm863-button-equalizer > span {
  width: 3px;
  height: 11px;
  border-radius: 8px;
  background: currentColor;
  animation: lm863-bars 780ms ease-in-out infinite alternate;
}
.lm863-button-equalizer > span:nth-child(2) { animation-delay: -.5s; animation-duration: 950ms; }
.lm863-button-equalizer > span:nth-child(3) { animation-delay: -.25s; animation-duration: 640ms; }
.lm863-button-equalizer > span:nth-child(4) { animation-delay: -.7s; animation-duration: 880ms; }
@media (prefers-reduced-motion: reduce) {
  .lm863-album-equalizer > span, .lm863-button-equalizer > span { animation: none; transform: scaleY(.82); }
  .lm827-song .lm863-album-equalizer { transition: none; }
}


/* V8.6.4: The grid cards follow the very same live play/pause state as album rows.
   Use separate icons rather than mutating Font Awesome's generated SVG: it also
   works with dynamically appended cards and SPA navigation. */
.lm-track-card-v81 .cover-play .lm863-play-icon,
.lm-track-card-v81 .cover-play .lm863-pause-icon {
  width: 19px;
  height: 19px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.lm-track-card-v81 .cover-play .lm863-play-icon svg,
.lm-track-card-v81 .cover-play .lm863-pause-icon svg {
  width: 17px;
  height: 17px;
}
.lm-track-card-v81 .cover-play.is-track-playing {
  background: #c0e58d;
  color: #17231a;
  box-shadow: 0 0 0 3px rgba(190, 233, 120, .23), 0 9px 26px rgba(0,0,0,.5) !important;
}
.lm-track-card-v81 .lm864-card-equalizer {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: rgba(8, 12, 10, .53);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s;
}
.lm-track-card-v81:has(.cover-play.is-track-playing) .lm864-card-equalizer {
  opacity: 1;
  visibility: visible;
}
.lm864-card-equalizer > span {
  width: 5px;
  height: 20px;
  border-radius: 5px;
  background: #d1f6a6;
  box-shadow: 0 0 10px rgba(190, 233, 120, .3);
  transform-origin: center;
  animation: lm863-bars 850ms ease-in-out infinite alternate;
}
.lm864-card-equalizer > span:nth-child(1) { animation-duration: 690ms; animation-delay: -.3s; }
.lm864-card-equalizer > span:nth-child(2) { animation-duration: 950ms; animation-delay: -.58s; }
.lm864-card-equalizer > span:nth-child(3) { animation-duration: 720ms; animation-delay: -.15s; }
.lm864-card-equalizer > span:nth-child(4) { animation-duration: 1020ms; animation-delay: -.44s; }
.lm864-card-equalizer > span:nth-child(5) { animation-duration: 810ms; animation-delay: -.7s; }
@media (prefers-reduced-motion: reduce) {
  .lm864-card-equalizer > span { animation: none; transform: scaleY(.85); }
  .lm-track-card-v81 .lm864-card-equalizer { transition: none; }
}
