html, body { margin: 0; background: #eaf4ed; }
#startup {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-sizing: border-box; overflow: auto; text-align: center;
  padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  color: #254b46; background: #eaf4ed;
  font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}
#startup h1 { margin: 18px 0 4px; font-size: 28px; }
#startup p { max-width: 30em; line-height: 1.6; margin: 8px 0; }
#startup .spinner { width: 24px; height: 24px; margin: 22px 0 10px; border: 3px solid #c5dfd2; border-top-color: #247d68; border-radius: 50%; animation: spin 1s linear infinite; }
#startup button { margin-top: 16px; min-height: 48px; padding: 10px 24px; border: 0; border-radius: 24px; background: #247d68; color: white; font: inherit; cursor: pointer; }
#startup button:focus-visible { outline: 3px solid #254b46; outline-offset: 4px; }
#startup.failed .spinner { display: none; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #startup .spinner { animation: none; } }
