/* ═══ Boot / entry loader — V5 Blue (reference .entry-loader) ═══ */
.welcome-screen {
  --ld-bg: #070a0d; --ld-surface: #0d1116; --ld-surface-2: #131c24; --ld-ink: #eff7f5; --ld-muted: #8e9aa5; --ld-line: #22313b; --ld-primary: #17c7df; --ld-primary-2: #47e282;
  background: radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--ld-primary) 16%, transparent), transparent 30%), var(--ld-bg);
  color: var(--ld-ink);
  font-family: var(--app-font, Inter, system-ui, sans-serif);
}
:root[data-theme="light"] .welcome-screen {
  --ld-bg: #eef6f8; --ld-surface: #ffffff; --ld-surface-2: #e3f0f3; --ld-ink: #17252b; --ld-muted: #566a73; --ld-line: #cddfe4; --ld-primary: #167da0; --ld-primary-2: #24aa9f;
}
/* The loader content ("Signing you in…") fades in only if boot is still unresolved after 1.4 s: a visitor who is not signed in is
   redirected to the login reveal within that window and must never see this loader first. */
.welcome-screen .welcome-shell-splash { width: min(440px, calc(100vw - 48px)); gap: 26px; overflow: visible; opacity: 0; animation: ldSplashIn .35s ease 1.4s forwards; }
@keyframes ldSplashIn { to { opacity: 1; } }
.welcome-screen .loaderBrandLock { display: flex; flex-direction: column; align-items: center; gap: 12px; color: var(--ld-ink); }
.welcome-screen .loaderBrandLock strong { font-size: 22px; font-weight: 700; letter-spacing: -.03em; }
.welcome-screen .loaderBrand { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; width: 87px; height: 87px; padding: 4px; filter: drop-shadow(0 16px 24px rgba(23, 199, 223, .28)); animation: ldBreathe 1.8s ease-in-out infinite; }
.welcome-screen .loaderBrand i { display: block; border: 5px solid var(--ld-primary); border-radius: 11px; }
.welcome-screen .welcome-splash-progress { width: 100%; height: 14px; margin: 0; padding: 2px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ld-primary) 48%, var(--ld-line)); border-radius: 999px; background: color-mix(in srgb, var(--ld-surface) 68%, var(--ld-surface-2)); box-shadow: 0 12px 34px color-mix(in srgb, var(--ld-primary) 18%, transparent); }
.welcome-screen .welcome-splash-progress-fill { height: 100%; min-width: 0; border-radius: inherit; background: linear-gradient(90deg, #17c7df 0%, #36d8c7 52%, #47e282 100%); box-shadow: 0 0 22px rgba(23, 199, 223, .72); }
.welcome-screen .welcome-splash-percent { color: var(--ld-ink); font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.welcome-screen .welcome-status { margin: -10px 0 0; color: var(--ld-muted); font-size: 13px; }
.welcome-screen .welcome-error { margin-top: 0; }
.welcome-screen .welcome-error-message { color: #d64545; }
body.agencyos-boot-failed .welcome-screen .welcome-splash-progress-fill { background: #d64545; box-shadow: none; }
@keyframes ldBreathe { 0%, 100% { transform: scale(.96); opacity: .8; } 50% { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .welcome-screen .loaderBrand { animation: none; } }
