html, body, #app { margin: 0; padding: 0; border: 0; width: 100%; height: 100%; overflow: hidden; background: #f7faf6; }
.startup-loading, .browser-capability-error { position: fixed; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 42%, #fafff8 0, #edf5eb 62%, #e2eee1 100%); color: #24583c; font-family: system-ui, sans-serif; }
.startup-loading div { padding: 8px; display: flex; align-items: center; gap: 10px; filter: drop-shadow(0 2px 8px rgba(255,255,255,.9)); opacity: 0; animation: startup-show 0s linear .3s forwards; }
.startup-loading img { width: 36px; height: 36px; animation: startup-pulse 1.1s ease-in-out infinite alternate; }
.startup-loading strong { font-size: 14px; white-space: nowrap; }
.browser-capability-error > div { width: min(440px, calc(100vw - 48px)); display: grid; gap: 10px; text-align: center; }
.browser-capability-error strong { font-size: 20px; }
.browser-capability-error p { margin: 0; color: #52685a; line-height: 1.6; }
@keyframes startup-pulse { to { transform: translateY(-5px) scale(1.04); } }
@keyframes startup-show { to { opacity: 1; } }
