/* Loaded only by templates opting into navigation engine 2. */
.mz-navigation-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.mz-navigation-error {
  padding: 0.8rem 1rem;
  margin: 0 0 1rem;
  border: 1px solid currentColor;
  border-radius: 0.5rem;
  color: var(--text, inherit);
  background: var(--surface, transparent);
}
html.mz-navigation-loading::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 35%;
  height: 2px;
  background: var(--accent, #245cff);
  z-index: 2147483647;
  pointer-events: none;
  animation: mz-navigation-progress 1.2s ease-in-out infinite;
}
@keyframes mz-navigation-progress {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(390%);
  }
}
body[data-mz-navigation-engine="2"][data-mz-navigation-transitions="1"]
  main#content {
  view-transition-name: mz-page;
}
::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
}
::view-transition-old(mz-page) {
  animation: mz-navigation-out 0.08s ease-out both;
}
::view-transition-new(mz-page) {
  animation: mz-navigation-in 0.1s ease-out both;
}
@keyframes mz-navigation-out {
  to {
    opacity: 0;
  }
}
@keyframes mz-navigation-in {
  from {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.mz-navigation-loading::before {
    animation: none;
    width: 100%;
  }
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none;
  }
}

/* Page landmarks receive focus for screen readers; interactive controls retain their focus ring. */
body[data-mz-navigation-engine="2"] [data-mz-navigation-focus="1"]:focus {
  outline: none;
}
