/* Startup screen styles */
#app-boot {
  position: fixed;
  inset: 0;
  z-index: var(--z-boot);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--space-3);
  padding: var(--space-6);
  background:
    radial-gradient(ellipse at 50% 35%, rgba(201,162,39,.09), transparent 38%),
    var(--bg-0);
  color: var(--text-primary);
  text-align: center;
  transition: opacity var(--transition-slow);
}
.boot-logo { width: 64px; height: 64px; filter: drop-shadow(0 8px 20px rgba(201,162,39,.2)); }
.boot-name { font-size: var(--font-size-2xl); font-weight: 700; letter-spacing: -.04em; }
.boot-tagline { color: var(--text-secondary); font-size: var(--font-size-sm); }
.boot-bar { width: min(220px, 70vw); height: 3px; overflow: hidden; border-radius: var(--radius-full); background: var(--bg-3); }
.boot-bar-fill { width: 35%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand-gold-3), var(--brand-gold-2)); animation: boot-progress 1.2s ease-in-out infinite alternate; }
.boot-status { color: var(--text-muted); font-size: var(--font-size-xs); }
.boot-error { display: none; max-width: 440px; padding: var(--space-3) var(--space-4); border: 1px solid rgba(239,68,68,.3); border-radius: var(--radius-md); background: var(--error-bg); color: var(--text-error); font-size: var(--font-size-sm); }
.boot-error.is-visible { display: block; }
@keyframes boot-progress { to { transform: translateX(185%); } }
@media (prefers-reduced-motion: reduce) { .boot-bar-fill { animation-duration: 3s; } }
