.player-track {
  position: absolute; inset: 0;
  cursor: pointer;
  border-radius: 2px;
  z-index: 2;
}

.player-progress {
  position: absolute; top: 0; left: 0; bottom: 0;
  width: 0%;
  background: linear-gradient(90deg,
    rgba(240,180,41,0.6) 0%,
    rgba(240,180,41,0.3) 100%
  );
  border-radius: 2px;
  transition: width 0.1s linear;
  pointer-events: none;
}

.wf {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: hidden;
  min-width: 0;
}

.wb {
  flex: 1;
  min-width: 2px;
  max-width: 6px;
  border-radius: 2px;
  background: rgba(240,180,41,0.25);
  transition: background 0.2s;
}

.dl-btn {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(232,230,240,0.15);
  background: transparent;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: border-color 0.15s, background 0.15s;
  text-decoration: none;
  color: var(--t3);
}
.dl-btn:hover {
  border-color: var(--accent);
  background: var(--a-bg);
  color: var(--accent);
}
.dl-btn svg {
  width: 13px; height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes barPulse {
  0%, 100% { transform: scaleY(1); }
  50%       { transform: scaleY(1.6); }
}

.wb.playing {
  animation: barPulse 0.8s ease-in-out infinite;
  background: rgba(240,180,41,0.55) !important;
}

.wb.playing:nth-child(1)  { animation-delay: 0.00s; }
.wb.playing:nth-child(2)  { animation-delay: 0.05s; }
.wb.playing:nth-child(3)  { animation-delay: 0.10s; }
.wb.playing:nth-child(4)  { animation-delay: 0.15s; }
.wb.playing:nth-child(5)  { animation-delay: 0.20s; }
.wb.playing:nth-child(6)  { animation-delay: 0.25s; }
.wb.playing:nth-child(7)  { animation-delay: 0.30s; }
.wb.playing:nth-child(8)  { animation-delay: 0.35s; }
.wb.playing:nth-child(9)  { animation-delay: 0.40s; }
.wb.playing:nth-child(10) { animation-delay: 0.45s; }
.wb.playing:nth-child(11) { animation-delay: 0.40s; }
.wb.playing:nth-child(12) { animation-delay: 0.35s; }
.wb.playing:nth-child(13) { animation-delay: 0.30s; }
.wb.playing:nth-child(14) { animation-delay: 0.25s; }
.wb.playing:nth-child(15) { animation-delay: 0.20s; }
.wb.playing:nth-child(16) { animation-delay: 0.15s; }
.wb.playing:nth-child(17) { animation-delay: 0.10s; }
.wb.playing:nth-child(18) { animation-delay: 0.05s; }
.wb.playing:nth-child(19) { animation-delay: 0.00s; }
.wb.playing:nth-child(20) { animation-delay: 0.05s; }
.wb.playing:nth-child(21) { animation-delay: 0.10s; }
.wb.playing:nth-child(22) { animation-delay: 0.15s; }
.wb.playing:nth-child(23) { animation-delay: 0.20s; }
.wb.playing:nth-child(24) { animation-delay: 0.25s; }

.play-btn {
  transition: transform 0.15s, opacity 0.15s, box-shadow 0.15s;
}
.play-btn:hover {
  box-shadow: 0 0 0 4px rgba(240,180,41,0.2);
}
.is-playing .play-btn {
  box-shadow: 0 0 0 4px rgba(240,180,41,0.25);
}

.dur {
  font-variant-numeric: tabular-nums;
  min-width: 40px;
  text-align: right;
}
