/* ==========================================================================
   AJAX navigation progress bar.
   Owning feature: app chrome
   Load order is defined in Views/Shared/_CssIncludes.cshtml — do not reorder.
   ========================================================================== */

/* --- AJAX navigation progress bar ---------------------------------------
   Shown by browse.js's navigateTo() while a folder swap is in flight (with
   a short delay so a fast response never flashes it). Sits above the
   navbar's stacking context so it reads as a page-level loading signal. */
.fh-nav-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 100%;
  z-index: 1090;
  /* Purely decorative and sits directly over the navbar's top 3px — without
     this it would swallow clicks there (including on the hamburger) for the
     duration of every AJAX folder swap. */
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--fh-primary, #2563eb), transparent);
  background-size: 50% 100%;
  animation: fh-nav-progress-sweep 1.1s ease-in-out infinite;
}
@keyframes fh-nav-progress-sweep {
  0% { background-position: -50% 0; }
  100% { background-position: 150% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .fh-nav-progress { animation: none; background: var(--fh-primary, #2563eb); opacity: 0.6; }
}

