/* Дополнительные стили для битов */
.slide-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  padding: 20px;
  color: white;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.slide:hover .slide-info {
  transform: translateY(0);
}

.slide-info h3 {
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: 600;
}

.slide-info audio {
  width: 100%;
  height: 30px;
}

/* Индикатор загрузки */
.loading-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0,0,0,0.8);
  color: white;
  padding: 10px 20px;
  border-radius: 20px;
  font-size: 14px;
  z-index: 1000;
  pointer-events: none;
}

/* Анимация пульсации для новых карточек */
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(255,255,255,0.4); }
  70% { box-shadow: 0 0 0 10px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

.slide.just-spawned {
  animation: pulse 1s ease-out;
}