/* Matched to Margins' published global transition configuration, 2026-11-04.
   Native document snapshots include the header, current video frame and scroll
   position. Keep normal anchors/history; unsupported browsers navigate normally. */
@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  mix-blend-mode: normal;
  backface-visibility: hidden;
  animation-fill-mode: both;
  animation-duration: 1.1s;
  animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
}

::view-transition-old(root) {
  animation-name: zemra-page-exit;
  animation-delay: 0s;
}

::view-transition-new(root) {
  animation-name: zemra-page-enter;
  animation-delay: 0.05s;
}

@keyframes zemra-page-exit {
  from {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
  to {
    opacity: 0.35;
    transform: translate(0, 0) scale(0.97);
  }
}

@keyframes zemra-page-enter {
  from {
    opacity: 1;
    transform: translate(0, 0) scale(1.06);
    /* The reference's x=0%, y=50% mask starts at the LEFT center. */
    clip-path: inset(50% 100% 50% 0 round 0);
  }
  to {
    opacity: 1;
    transform: translate(0, 0) scale(1);
    clip-path: inset(0 round 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}
