/* An active underline shares the existing blue palette and follows wrapped links. */
.navlinks.nav-tracked{position:relative}
.nav-indicator{position:absolute;top:0;left:0;height:3px;width:var(--indicator-width,0px);transform:translate3d(var(--indicator-x,0px),var(--indicator-y,0px),0);border-radius:3px;pointer-events:none;background:linear-gradient(90deg,#a9cce3,#6e9ebf);opacity:0;transition:transform 260ms cubic-bezier(.2,.65,.3,1),width 260ms cubic-bezier(.2,.65,.3,1),opacity 160ms ease}
.nav-indicator.is-visible{opacity:1}
.navlinks a[aria-current="location"]{color:#1d4d72}
@media(min-width:701px) and (min-height:600px){
 html.has-section-tracking{scroll-padding-top:calc(var(--sticky-header-height,100px) + 24px)}
 html.has-section-tracking body>header{position:sticky;top:0;box-shadow:0 5px 18px #111c2f06}
 .navlinks.nav-tracked a[href^="#"]::after{display:none}
}
@media(max-width:700px),(max-height:599px){
 .nav-indicator{display:none}
 .navlinks a[aria-current="location"]::after{transform:scaleX(1);background:#6e9ebf;height:2px}
}

/* Reserve the final figure's width; assistive technology always reads that figure. */
.result-counter{display:inline-grid;position:relative;vertical-align:baseline;font-variant-numeric:tabular-nums}
.counter-reserve,.counter-value{grid-area:1/1;white-space:nowrap}
.counter-reserve{visibility:hidden}
.counter-value{text-align:right}
.counter-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Fixed to the viewport, so no article content shifts or loses space. */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:40;pointer-events:none;background:transparent}
.reading-progress-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#a9cce3,#6e9ebf)}
@media(prefers-reduced-motion:reduce){
 .nav-indicator,.reading-progress-fill{transition:none!important;animation:none!important}
}
