/* Animation utilities */

.split-line { overflow: hidden; display: block; }
.split-char { display: inline-block; }

.vid-card {
  opacity: 0;
  transform: translateY(60px) scale(0.96);
}

.vid-card.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.vid-placeholder.is-loading {
  background: linear-gradient(90deg, #111 25%, #1a1a1a 50%, #111 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
