/* Shared by the HTML boot screen and React route/workspace fallbacks. */
.neo-startup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  background: var(--workspace-bg, light-dark(#f6f8fb, #24272c));
  color: var(--ix-text, light-dark(#24272c, #eef2f6));
  font-family: var(--platform-font-ui, "Segoe UI", system-ui, sans-serif);
}
#boot-indicator { color-scheme: light dark; }
.neo-startup__mark { line-height: 0; animation: neo-breathe 2.6s ease-in-out infinite; }
.neo-startup__mark img { display: block; }
.neo-startup__name { font-size: var(--platform-text-title-lg, 26px); font-weight: 600; letter-spacing: -0.04em; }
.neo-startup__progress { margin-top: 12px; width: 64px; height: 3px; border-radius: 3px; overflow: hidden; background: light-dark(#e0e8ee, #39414a); }
.neo-startup__progress::after { content: ""; display: block; width: 50%; height: 100%; border-radius: inherit; background: #0a9dbc; animation: neo-progress 1.6s ease-in-out infinite; }
.neo-logo-entrance { animation: neo-arrive 700ms ease-out both; }
.neo-loading-mark { display: inline-block; width: var(--loader-size, 28px); height: var(--loader-size, 28px); flex-shrink: 0; vertical-align: middle; overflow: visible; }
.neo-loading-mark__motion { transform-box: fill-box; transform-origin: center; animation: neo-loading-breathe 1.8s ease-in-out infinite; }
@keyframes neo-loading-breathe { 0%, 100% { transform: scale(0.9); opacity: 0.65; } 50% { transform: scale(1); opacity: 1; } }
@keyframes neo-breathe { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.025); } }
@keyframes neo-progress { 0%, 100% { transform: translateX(-100%); } 50% { transform: translateX(200%); } }
@keyframes neo-arrive { from { opacity: 0; transform: translateY(10px) scale(0.94); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .neo-startup__mark, .neo-startup__progress::after, .neo-logo-entrance, .neo-loading-mark__motion { animation: none; }
  .neo-startup__progress::after { width: 100%; }
}
