/* Default values mirror the application tokens; tenant overrides always take precedence. */
:root { --startup-bg: #EDF3F6; --startup-text: #16191F; --startup-muted: #4A5567; --startup-border: #C7CFDA; --startup-accent: #006A70; }
:root[data-theme='dark'] { --startup-bg: #101318; --startup-text: #E8ECF2; --startup-muted: #A6B0C0; --startup-border: #414B5E; --startup-accent: #71D1CD; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) { --startup-bg: #101318; --startup-text: #E8ECF2; --startup-muted: #A6B0C0; --startup-border: #414B5E; --startup-accent: #71D1CD; }
}
#app-startup { position: fixed; inset: 0; z-index: 3000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; box-sizing: border-box; padding: 24px; text-align: center; background: var(--sp-bg, var(--startup-bg)); color: var(--sp-text, var(--startup-text)); font: 16px/1.5 var(--sp-font, system-ui, sans-serif); }
#app-startup [data-startup-brand] { font-weight: 650; font-size: 20px; overflow-wrap: anywhere; max-width: 100%; }
#app-startup p { margin: 0; color: var(--sp-text-2, var(--startup-muted)); }
#app-startup .startup-ring { width: 32px; height: 32px; border: 3px solid var(--sp-border-strong, var(--startup-border)); border-top-color: var(--sp-accent-content, var(--sp-accent-content-light, var(--startup-accent))); border-radius: 50%; animation: startup-turn 1s linear infinite; }
[data-theme='dark'] #app-startup .startup-ring { border-top-color: var(--sp-accent-dark, var(--startup-accent)); }
#app-startup button { margin-top: 12px; padding: 8px 16px; border: 1px solid currentColor; border-radius: 8px; color: inherit; background: transparent; font: inherit; cursor: pointer; }
#app-startup button:focus-visible { outline: 2px solid var(--sp-accent, var(--startup-accent)); outline-offset: 3px; }
#app-startup.startup-failed .startup-ring { display: none; }
@keyframes startup-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #app-startup .startup-ring { animation: none; } }
