/* ---------- Loading Screen ---------- */
#loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--navy-deep);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:28px;
  transition:opacity .6s ease,visibility .6s ease;
}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}

.loader-logo{
  display:flex;align-items:center;gap:12px;
  animation:loaderPulse 2s ease-in-out infinite;
}
.loader-logo img{height:48px;width:auto;}
.loader-logo .loader-brand{
  font-family:var(--font-display);font-weight:700;font-size:22px;
  color:var(--white);letter-spacing:0.05em;
}
.loader-brand small{
  display:block;font-family:var(--font-body);font-weight:500;
  font-size:9px;color:var(--blue-300);letter-spacing:0.18em;margin-top:2px;
}

.loader-radar{
  position:relative;width:60px;height:60px;
}
.loader-radar-ring{
  position:absolute;inset:0;border-radius:50%;
  border:1.5px solid rgba(14,85,144,0.3);
}
.loader-radar-ring:nth-child(2){inset:15%;}
.loader-radar-ring:nth-child(3){inset:30%;}
.loader-radar-sweep{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(14,85,144,0.5), rgba(14,85,144,0.15) 40%, transparent 60%);
  animation:loaderSweep 1.4s linear infinite;
}
@keyframes loaderSweep{to{transform:rotate(360deg);}}
.loader-dot{
  position:absolute;left:50%;top:50%;width:6px;height:6px;
  border-radius:50%;background:var(--amber-500);
  transform:translate(-50%,-50%);
  box-shadow:0 0 12px rgba(183,121,31,0.6);
  animation:loaderDot 1.4s ease-in-out infinite;
}
@keyframes loaderDot{0%,100%{opacity:.3;}50%{opacity:1;}}

.loader-text{
  color:var(--silver-300);font-size:12px;font-weight:600;
  letter-spacing:0.2em;text-transform:uppercase;
  animation:loaderTextPulse 1.6s ease-in-out infinite;
}
@keyframes loaderTextPulse{0%,100%{opacity:.5;}50%{opacity:1;}}

@keyframes loaderPulse{
  0%,100%{opacity:.7;transform:scale(1);}
  50%{opacity:1;transform:scale(1.03);}
}

@media(prefers-reduced-motion:reduce){
  .loader-radar-sweep,.loader-dot,.loader-text,.loader-logo{animation:none!important;}
  .loader-radar-sweep{opacity:.4;}
  .loader-dot{opacity:.8;}
  .loader-text{opacity:.9;}
  .loader-logo{opacity:1;}
}
