/* Globestar Scanner — security-dome background (landing + login only). No inline styles needed. */
.scanner-bg {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
  background:
    radial-gradient(60% 55% at 50% 72%, #1f5f2a55 0%, transparent 70%),
    radial-gradient(900px 420px at 8% -8%, #164e6366 0%, transparent 55%),
    linear-gradient(180deg, #05070f, #03040a);
}
.scanner-bg__canvas {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  opacity: 0; transition: opacity 1.2s ease;
}
.scanner-bg.is-live .scanner-bg__canvas { opacity: 1; }
.scanner-bg__canvas[hidden] { display: none; }
/* scrim: darkens the card area + edges so text stays readable over the bright dome */
.scanner-bg__scrim {
  position: absolute; inset: 0;
  background:
    radial-gradient(70% 45% at 50% 22%, #03040acc 0%, #03040a66 55%, transparent 80%),
    linear-gradient(180deg, #03040a99 0%, transparent 28%, transparent 70%, #03040aaa 100%);
}
/* static fallback: pre-rendered still of the dome (reduced motion, no WebGL2, errors) */
.scanner-bg.is-static { background: #03040a url("dome-still.jpg?v=1") 50% 50% / cover no-repeat; }
@media (max-aspect-ratio: 4/5) {
  .scanner-bg.is-static { background-image: url("dome-still-portrait.jpg?v=1"); }
}
@media (prefers-reduced-motion: reduce) {
  .scanner-bg { background: #03040a url("dome-still.jpg?v=1") 50% 50% / cover no-repeat; }
  .scanner-bg__canvas { display: none; }
}
@media (prefers-reduced-motion: reduce) and (max-aspect-ratio: 4/5) {
  .scanner-bg { background-image: url("dome-still-portrait.jpg?v=1"); }
}
/* content above the background */
.wrap { position: relative; z-index: 1; }
.wrap .card {
  background: linear-gradient(180deg, #141c2ee0, #111827e6);
  border-color: #2b3a52;
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  backdrop-filter: blur(10px) saturate(1.1);
  box-shadow: 0 24px 60px #000000aa, 0 0 0 1px #22d3ee14;
}
