/* The arrival runs on content only: fixed background and support never move. */
html.pnx-page-motion .pnx-reveal {
  transition-property: opacity, transform, border-color, box-shadow;
  transition-duration: 260ms, 260ms, 160ms, 160ms;
  transition-timing-function: cubic-bezier(.22,1,.36,1);
  transition-delay: 0ms;
  will-change: auto;
}

/* A selected account view is immediately readable. One short view arrival
   replaces the earlier nested scroll reveals and their cumulative delays. */
html.pnx-page-motion .pnx-account-view .pnx-reveal,
html.pnx-page-motion .pnx-account-view.pnx-reveal {
  opacity: 1;
  transform: none;
  transition: none;
  will-change: auto;
}

/* Covers the host, descendants and both pseudo-elements; no broad page pause. */
html#pnx-experience.pnx-page-motion .pnx-motion-suspended,
html#pnx-experience.pnx-page-motion .pnx-motion-suspended::before,
html#pnx-experience.pnx-page-motion .pnx-motion-suspended::after,
html#pnx-experience.pnx-page-motion .pnx-motion-suspended *,
html#pnx-experience.pnx-page-motion .pnx-motion-suspended *::before,
html#pnx-experience.pnx-page-motion .pnx-motion-suspended *::after {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  html.pnx-page-motion .pnx-reveal,
  html.pnx-page-motion .pnx-account-view {
    animation: none;
    transition: none;
  }
}

/* The body must never establish a moving containing block for fixed UI, even
   before the asynchronously loaded Galaxy has enabled its theme class. */
html.pnx-page-motion body.pnx-page-enter { animation: none; }

/* Match the reviewed affiliate artwork's important animation shorthand. */
html#pnx-experience.pnx-ui-reviewed.pnx-page-motion .pnx-v2-slide.is-active .pnx-v2-fox.pnx-motion-suspended,
html#pnx-experience.pnx-ui-reviewed.pnx-page-motion .pnx-motion-suspended .pnx-v2-slide.is-active .pnx-v2-fox,
html#pnx-experience.pnx-ui-reviewed.pnx-page-motion .pnx-v2-slide.is-active .pnx-motion-suspended .pnx-v2-fox {
  animation-play-state: paused !important;
}
