/* Nightwave global route loader v5.3.2 */
#nw-route-loader{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;background:#03070b;color:#f5fbff;opacity:1;visibility:visible;transition:opacity .42s ease,visibility .42s ease;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#nw-route-loader.nw-loader-out{opacity:0;visibility:hidden;pointer-events:none}
#nw-route-loader.nw-loader-in{opacity:1;visibility:visible;pointer-events:all}
.nw-loader-core{width:min(720px,82vw);text-align:center}
.nw-loader-title{font-size:clamp(3.2rem,10vw,8.4rem);line-height:.9;font-weight:1000;letter-spacing:.055em;text-transform:uppercase;text-shadow:0 0 22px rgba(40,215,210,.28),0 0 70px rgba(74,140,255,.16);animation:nwPulse 1.15s ease-in-out infinite alternate}
.nw-loader-code{margin-top:24px;font-size:clamp(.82rem,1.55vw,1.18rem);font-weight:850;letter-spacing:.19em;text-transform:uppercase;color:#a9bcc9}
.nw-loader-code strong{color:#fff}
.nw-loader-track{height:4px;margin:34px auto 0;max-width:520px;background:#101b24;border:1px solid #1d3340;border-radius:99px;overflow:hidden;box-shadow:0 0 20px rgba(40,215,210,.08)}
.nw-loader-bar{height:100%;width:0;background:linear-gradient(90deg,#28d7d2,#4a8cff,#28d7d2);box-shadow:0 0 18px rgba(40,215,210,.65);animation:nwLoad 2.25s cubic-bezier(.18,.72,.18,1) forwards}
.nw-loader-label{margin-top:13px;color:#627785;font-size:.68rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase}
@keyframes nwPulse{from{transform:scale(.985);opacity:.72;filter:brightness(.88)}to{transform:scale(1.015);opacity:1;filter:brightness(1.16)}}
@keyframes nwLoad{0%{width:0}20%{width:18%}58%{width:67%}84%{width:89%}100%{width:100%}}
@media(prefers-reduced-motion:reduce){.nw-loader-title{animation:none}.nw-loader-bar{animation:none;width:100%}}

/* v5.3.2.1 — hard-center the complete loader stack */
#nw-route-loader{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0;
}
#nw-route-loader .nw-loader-core{
  width:min(720px,82vw);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
#nw-route-loader .nw-loader-title,
#nw-route-loader .nw-loader-code,
#nw-route-loader .nw-loader-label{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  box-sizing:border-box;
}
/* letter-spacing leaves visual space after the final character; compensate so NIGHTWAVE is optically centered */
#nw-route-loader .nw-loader-title{
  padding-left:.055em;
}
#nw-route-loader .nw-loader-code{
  padding-left:.19em;
}
#nw-route-loader .nw-loader-label{
  padding-left:.28em;
}
#nw-route-loader .nw-loader-track{
  width:min(520px,100%);
  margin-left:auto;
  margin-right:auto;
  flex:none;
  box-sizing:border-box;
}

/* v5.3.2.2 — true title centering: center the text's own measured box, not a padded 100% row */
#nw-route-loader .nw-loader-title{
  width:max-content;
  max-width:100%;
  align-self:center;
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
  text-align:center;
  white-space:nowrap;
  transform-origin:50% 50%;
}
#nw-route-loader .nw-loader-code,
#nw-route-loader .nw-loader-label{
  padding-left:0;
  padding-right:0;
}
@media(max-width:520px){
  #nw-route-loader .nw-loader-title{font-size:clamp(2.5rem,15vw,4.4rem)}
}

/* v5.3.2.3 — screenshot-confirmed fix: title was overflowing the 720px core to the right.
   Give the title a viewport-wide centering row; keep the smaller content independently centered. */
#nw-route-loader .nw-loader-core{
  width:100%;
  max-width:none;
  padding:0 24px;
  box-sizing:border-box;
}
#nw-route-loader .nw-loader-title{
  display:block;
  width:100%;
  max-width:none;
  align-self:stretch;
  margin:0;
  padding:0;
  text-align:center;
  white-space:nowrap;
  box-sizing:border-box;
}
#nw-route-loader .nw-loader-code{
  width:min(900px,100%);
}
#nw-route-loader .nw-loader-track{
  width:min(520px,100%);
}
#nw-route-loader .nw-loader-label{
  width:min(520px,100%);
}
@media(max-width:520px){
  #nw-route-loader .nw-loader-core{padding:0 14px}
}
