.app-startup{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:#fffaf4;color:#092d57;text-align:center;font-family:"Segoe UI",sans-serif}
.app-startup[hidden],.app-startup [hidden]{display:none!important}
.app-startup>img{width:min(220px,70vw);height:auto;object-fit:contain}
.app-startup p{margin:0;max-width:300px;font-size:.95rem;line-height:1.5}
.app-startup-spinner{width:26px;height:26px;border:3px solid #092d571a;border-top-color:#ff541b;border-radius:50%;animation:app-startup-spin .8s linear infinite}
.app-startup button{border:1px solid #092d5733;border-radius:12px;background:#fff;color:#092d57;padding:12px 20px;font:inherit;cursor:pointer}
.app-startup button:focus-visible{outline:3px solid #247ac0;outline-offset:3px}
@keyframes app-startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.app-startup-spinner{animation:none}}
@media(scripting:none){.app-startup-spinner,.app-startup>[data-startup-message]{display:none}}
.app-update{position:fixed;z-index:10000;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#07172ad1;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#092d57;font:16px "Segoe UI",sans-serif;overflow:auto;overscroll-behavior:contain}
.app-update-dialog{width:min(100%,390px);padding:28px 24px;border-radius:24px;background:#fffaf4;text-align:center;box-shadow:0 20px 80px #0005;max-height:calc(100dvh - 48px);overflow:auto}
.app-update-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;background:#fff0e6;border-radius:50%;color:#ff541b;font-size:42px}
.app-update h2{margin:0 0 12px;font-size:24px;line-height:1.2;letter-spacing:-.4px}
.app-update p{margin:0 0 18px;line-height:1.5;font-size:15px}
.app-update [data-update-status]{font-size:13px;color:#526a88;min-height:40px}
.app-update button{width:100%;border:0;border-radius:14px;min-height:48px;padding:12px 16px;background:#ff541b;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.app-update button:disabled{opacity:.65;cursor:wait}
.app-update [data-update-return]{margin-top:12px;background:transparent;color:#092d57;border:1px solid #092d5740}
.app-update [hidden]{display:none!important}
.app-update-reminder{position:fixed;z-index:109;right:16px;bottom:88px;border:1px solid #ff541b;border-radius:24px;background:#fffaf4;color:#092d57;padding:12px 18px;box-shadow:0 4px 20px #092d5720;font:600 14px "Segoe UI",sans-serif;cursor:pointer}
.app-update-reminder:focus-visible{outline:3px solid #247ac0;outline-offset:3px}
.app-update button:focus-visible{outline:3px solid #247ac0;outline-offset:3px}
