/* 容器：定义变量和字体 */
.music-tracks-grid {
  --bg-dark: #1a1a1a !important;
  --gold: #c5a47e !important;
  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif !important;

  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 16px !important;
  padding: 20px !important;
}

/* 卡片 */
.music-track-card {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  color: white !important;
  background: var(--bg-dark) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: all 0.3s ease, transform 0.3s ease !important;
}

.music-track-card:hover {
  border-color: var(--gold) !important;
  transform: translateY(-4px) !important;
}

/* 音浪背景容器 */
.music-wave-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  padding: 0 8px !important;
  z-index: 0 !important;
}

/* 音浪柱 */
.music-wave-bar {
  width: 6px !important;
  border-radius: 3px !important;
  background: linear-gradient(to top, var(--gold), #f0d9b5) !important;
  animation: musicWavePulse 1.8s infinite ease-in-out !important;
  opacity: 0.6 !important;
  transform-origin: bottom !important;
}

/* 音浪高度与动画延迟（保留结构，不加 !important 到 height/animation-delay —— 因为它们不是继承/层叠冲突点）*/
.music-wave-bar:nth-child(1)  { height: 40%; animation-delay: 0.0s; }
.music-wave-bar:nth-child(2)  { height: 65%; animation-delay: 0.1s; }
.music-wave-bar:nth-child(3)  { height: 30%; animation-delay: 0.2s; }
.music-wave-bar:nth-child(4)  { height: 55%; animation-delay: 0.3s; }
.music-wave-bar:nth-child(5)  { height: 70%; animation-delay: 0.4s; }
.music-wave-bar:nth-child(6)  { height: 25%; animation-delay: 0.5s; }
.music-wave-bar:nth-child(7)  { height: 60%; animation-delay: 0.6s; }
.music-wave-bar:nth-child(8)  { height: 45%; animation-delay: 0.7s; }
.music-wave-bar:nth-child(9)  { height: 80%; animation-delay: 0.8s; }
.music-wave-bar:nth-child(10) { height: 35%; animation-delay: 0.9s; }
.music-wave-bar:nth-child(11) { height: 50%; animation-delay: 1.0s; }
.music-wave-bar:nth-child(12) { height: 75%; animation-delay: 1.1s; }
.music-wave-bar:nth-child(13) { height: 40%; animation-delay: 1.2s; }
.music-wave-bar:nth-child(14) { height: 60%; animation-delay: 1.3s; }
.music-wave-bar:nth-child(15) { height: 30%; animation-delay: 1.4s; }
.music-wave-bar:nth-child(16) { height: 70%; animation-delay: 1.5s; }
.music-wave-bar:nth-child(17) { height: 55%; animation-delay: 1.6s; }
.music-wave-bar:nth-child(18) { height: 45%; animation-delay: 1.7s; }
.music-wave-bar:nth-child(19) { height: 65%; animation-delay: 1.8s; }
.music-wave-bar:nth-child(20) { height: 50%; animation-delay: 1.9s; }

@keyframes musicWavePulse {
  0%, 100% {
    transform: scaleY(0.6) !important;
    opacity: 0.4 !important;
  }
  50% {
    transform: scaleY(1.6) !important;
    opacity: 0.9 !important;
  }
}

/* 内容层 */
.music-track-content {
  position: relative !important;
  z-index: 1 !important;
  padding: 14px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.9) 100%) !important;
  border-radius: 8px !important;
}

.music-track-title {
  font-weight: 600 !important;
  font-size: 14px !important;
  margin: 0 0 4px !important;
  color: #fff !important;
}

.music-track-artist {
  font-size: 11px !important;
  color: #ccc !important;
  margin: 0 0 8px !important;
}

.music-track-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}

.music-track-tag {
  font-size: 9px !important;
  padding: 2px 6px !important;
  background: rgba(197, 164, 126, 0.25) !important;
  border-radius: 10px !important;
  color: var(--gold) !important;
}

/* 响应式断点 */
@media (max-width: 1399px) {
  .music-tracks-grid {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}
@media (max-width: 1199px) {
  .music-tracks-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 991px) {
  .music-tracks-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .music-tracks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .music-tracks-grid {
    grid-template-columns: 1fr !important;
  }
}