/* External navigation overlay loader */
#ext-nav-loader{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.55);backdrop-filter:saturate(160%) blur(10px);z-index:9999;}
#ext-nav-loader[data-active="true"]{display:flex;animation:fadeIn .25s ease forwards}
#ext-nav-loader .loader-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff;text-align:center;font-family:var(--jds-font-sans, system-ui);}
#ext-nav-loader .brand{font-weight:600;letter-spacing:.5px;font-size:.85rem;opacity:.85;text-transform:uppercase}
.spinner{width:60px;height:60px;position:relative;}
.spinner div{position:absolute;box-sizing:border-box;border:3px solid rgba(255,255,255,.5);opacity:0;border-radius:50%;animation:ripple 1.4s cubic-bezier(.22,.61,.36,1) infinite;}
.spinner div:nth-child(2){animation-delay:.7s}
@keyframes ripple{0%{top:28px;left:28px;width:0;height:0;opacity:1}100%{top:-1px;left:-1px;width:60px;height:60px;opacity:0}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.loading-msg{font-size:clamp(.9rem,1.2vw,1.05rem);font-weight:500;}
#ext-nav-loader .hint{font-size:.7rem;opacity:.65;max-width:240px;line-height:1.3}
@media (prefers-reduced-motion: reduce){
  #ext-nav-loader{backdrop-filter:none}
  .spinner div{animation:none;opacity:1;border-color:#fff}
}
