.has-page-motion [data-motion-pending] {
  opacity: 0;
  pointer-events: none;
}

.has-page-motion [data-motion-pending]:focus-visible,
.has-page-motion .music-release:focus-within .music-release-meta[data-motion-pending] {
  opacity: 1;
  pointer-events: auto;
}

.music-release-cover-link:focus-visible,
.music-release-meta:focus-visible { outline: 1px solid currentColor; outline-offset: 5px; }

.has-page-motion:not(.portrait-page-root) .page { transition: none; }
html.is-page-transitioning { cursor: progress; }
html.is-page-transitioning { view-transition-name: none; }
html.is-page-transitioning #page { view-transition-name: page-content; }

/* The new document stays live; only the shared cover needs a captured moving layer. */
html::view-transition-old(root) { display: none; animation: none; }
html::view-transition-new(root) { animation: none; opacity: 1; filter: none; mix-blend-mode: normal; }
html::view-transition-group(root) { animation: none; z-index: 1; }
html::view-transition-group(page-content) { animation: none; z-index: 1; }
html::view-transition-old(page-content) { display: none; animation: none; }
html::view-transition-new(page-content) { animation: none; opacity: 1; filter: none; mix-blend-mode: normal; }

html::view-transition-group(site-background) { animation: none; z-index: 0; }
html::view-transition-old(site-background) { animation: background-out 0.32s both; }
html::view-transition-new(site-background) { animation: background-in 0.32s both; }
html.is-page-transitioning [data-site-background] { view-transition-name: site-background; }

@keyframes background-out { to { opacity: 0; } }
@keyframes background-in { from { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .music-surface-fill { transition: none; }
  html::view-transition-group(track-cover) { animation-duration: 0.01s; }
  html::view-transition-old(site-background),
  html::view-transition-new(site-background) { animation-duration: 0.01s; }
}
.has-page-motion:not(.is-content-ready) :is(.logo, .nav-link, .social-link, .footer,
  .music-release-cover-link, .music-release-meta, .track-cover-wrap, .track-title, .track-platform-link, .track-release-status, .not-found-content,
  .join-intro, .join-form-area, .join-fine-print) {
  opacity: 0;
}

