/* PRR scroll enhancements — reveal-on-scroll, read-progress bar, sticky section nav.
   Shared by the inner tabs. Reveal hidden-state is gated on .se-ready (added by JS),
   so with no JS / a failure, all content is fully visible. */

#se-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:9999;pointer-events:none;
  background:linear-gradient(90deg,#2563a8,#34d399);transition:width .1s linear;
}

html.se-ready .se-reveal{
  opacity:0;transform:translateY(42px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);
}
html.se-ready .se-reveal.in{opacity:1;transform:none;}

#se-secnav{
  position:fixed;top:50%;right:20px;transform:translateY(-50%);z-index:90;
  display:flex;flex-direction:column;gap:8px;max-width:172px;
}
#se-secnav a{
  font:500 12px/1.35 Inter,system-ui,sans-serif;color:#7286a3;text-decoration:none;
  padding:3px 0 3px 12px;border-left:2px solid #2a3a56;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s,border-color .2s;
}
#se-secnav a:hover{color:#cdd8ea;}
#se-secnav a.active{color:#34d399;border-left-color:#34d399;}

/* hide the side nav when the viewport is too narrow to clear the centered content */
@media (max-width:1180px){#se-secnav{display:none;}}

/* reduced-motion: still reveal, but gently — fade only, no movement */
@media (prefers-reduced-motion:reduce){
  html.se-ready .se-reveal{transform:none;transition:opacity .8s ease;}
  html.se-ready .se-reveal.in{opacity:1;transform:none;}
}
