.media-loading-surface::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: #000;
  opacity: 0;
  visibility: hidden;
}
.media-loading-surface[data-media-state="loading"]::after,
.media-loading-surface[data-media-state="error"]::after {
  opacity: 1;
  visibility: visible;
}
.media-loading-surface[data-media-state="loading"]::after {
  background: linear-gradient(100deg, #000 35%, #171717 50%, #000 65%);
  background-size: 250% 100%;
  animation: media-shimmer 1.5s linear infinite;
}
.media-loading-surface[data-media-state="ready"]::after {
  transition: opacity 180ms ease, visibility 0s linear 180ms;
}
@keyframes media-shimmer {
  from { background-position: 100% 0; }
  to { background-position: 0% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .media-loading-surface[data-media-state]::after { animation: none; transition: none; }
}
