/* animations.css */
[data-animate] {
  opacity: 1;
  transform: none;
}
html.animations-ready [data-animate] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .5s ease, transform .5s ease;
}
html.animations-ready [data-animate].animated {
  opacity: 1;
  transform: translateY(0);
}
html.animations-ready [data-animate][data-delay="100"] { transition-delay: 0.1s; }
html.animations-ready [data-animate][data-delay="200"] { transition-delay: 0.2s; }
html.animations-ready [data-animate][data-delay="300"] { transition-delay: 0.3s; }
html.animations-ready [data-animate][data-delay="400"] { transition-delay: 0.4s; }
html.animations-ready [data-animate][data-delay="500"] { transition-delay: 0.5s; }

/* Skeleton */
.skeleton {
  background: linear-gradient(90deg, var(--gray-100) 25%, var(--gray-50) 50%, var(--gray-100) 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s ease-in-out infinite;
  border-radius: var(--r-sm);
}
@keyframes skeleton-loading {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
