/* Skeleton shimmer — design.md §16: neutral.100 → champagne → neutral.100, 1.4s loop. */

.skeleton {
  position: relative;
  overflow: hidden;
  background: var(--color-neutral-100);
  border-radius: var(--radius-sm);
  color: transparent !important;
  user-select: none;
}

.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(
    90deg,
    var(--color-neutral-100) 0%,
    var(--color-accent-champagne) 50%,
    var(--color-neutral-100) 100%
  );
  animation: skeleton-sweep 1.4s var(--easing-standard) infinite;
}

@keyframes skeleton-sweep {
  to { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
  .skeleton::after { animation: none; }
}

.skeleton--card { aspect-ratio: 4 / 5; border-radius: var(--radius-xl); }
.skeleton--line { height: 1em; }
