/* Cross document view transitions.
   Chrome fades one page into the next instead of flashing white. Every other
   browser simply ignores this and navigates as normal. */
@view-transition { navigation: auto; }

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}

/* The bar and the header should hold still while the body changes. */
@media (max-width: 899px) {
  .hvnav { view-transition-name: hv-tabbar; }
  body.hvapp-shell .site-header { view-transition-name: hv-header; }
}

::view-transition-old(root) { animation-duration: 160ms; }
::view-transition-new(root) { animation-duration: 160ms; }

/* Progress line, for the taps that were not prepared in advance. */
.hvbar {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0;
  z-index: 99999;
  background: #0E7C6B;
  opacity: 0;
  transition: width 180ms ease, opacity 160ms ease;
  pointer-events: none;
}
.hvbar.is-on { opacity: 1; }

/* Immediate feedback on the tab bar, before the next page arrives. */
@media (max-width: 899px) {
  .hvnav__i.is-going { color: #fff; }
  .hvnav__i.is-going .hvnav__ic { transform: scale(.92); transition: transform 120ms ease; }
}