/* The settled line and green knot stay in app.css; this layer appears only
   while a page is on its way. Both halves share one phase at the seam. */
.mast::before,html.leaving .mast::before{content:none;animation:none}
.loading-line{position:absolute;left:0;right:0;top:calc(100% + var(--line-w) / 2);height:0;pointer-events:none;opacity:0;transition:opacity 100ms var(--ease)}
html.leaving .loading-line{opacity:1;transition-delay:800ms}
.loading-human,.loading-machine{position:absolute;top:-3px;height:6px;background:radial-gradient(circle,currentColor 1.5px,transparent 2px) 0 50%/16px 6px repeat-x}
.loading-human{left:0;right:50%;color:var(--human)}
.loading-machine{left:50%;right:0;color:var(--line-teal)}
.loading-orbit{display:none;position:absolute;right:50%;top:-7px;width:14px;height:14px;translate:50% 0}
.loading-orbit::before{content:"";display:block;width:100%;height:100%;box-sizing:border-box;border:1.5px solid var(--human);border-right-color:var(--line-teal);border-bottom-color:var(--line-teal);border-radius:50%}
@media (min-width:901px){
  .loading-human{right:anchor(--here center,50%)}
  .loading-machine{left:anchor(--here center,50%)}
  .loading-orbit{right:anchor(--here center,50%)}
}
@supports (animation-timeline:scroll()){
  .loading-line{left:var(--gut);right:var(--gut);animation:mast-ride linear forwards;animation-timeline:scroll(root);animation-range:0 var(--travel)}
}
html[data-loading-line="orbit"] .loading-human,html[data-loading-line="orbit"] .loading-machine{display:none}
html[data-loading-line="orbit"] .loading-orbit{display:block}
@media (prefers-reduced-motion:no-preference){
  html.leaving[data-loading-line="knots"] :is(.loading-human,.loading-machine){animation:loading-knots 550ms linear infinite}
  html.leaving[data-loading-line="pulse"] :is(.loading-human,.loading-machine){animation:loading-pulse 1.2s ease-in-out infinite}
  html.leaving[data-loading-line="orbit"] .loading-orbit::before{animation:loading-orbit 1.2s linear infinite}
}
@keyframes loading-knots{to{background-position-x:16px}}
@keyframes loading-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes loading-orbit{to{rotate:360deg}}
html.loading-preview-active .loading-line{transition-delay:0ms}
.loading-review{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:1.5rem;font-size:14px}
.loading-review[hidden]{display:none}
.loading-review a[aria-current]{font-weight:700;text-decoration-thickness:2px}
.loading-review button{margin-left:auto;font-size:14px}
