/* Loading screen (index.html #boot-splash). A file, not inline: the live server's Content-Security-Policy blocks inline styles. */
#boot-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#fff;font-family:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;transition:opacity .3s ease;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}
#boot-splash.gone{opacity:0;pointer-events:none}
#boot-splash .b-wrap{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:320px}
#boot-splash .b-logo{width:160px;height:60px;object-fit:contain;animation:b-in .5s ease-out both}
#boot-splash .b-bar{position:relative;width:180px;height:4px;border-radius:4px;background:#F3F5FB;overflow:hidden}
#boot-splash .b-bar::after{content:"";position:absolute;inset:0;width:40%;border-radius:4px;background:linear-gradient(90deg,#E12533,#FFC23D);animation:b-slide 1.2s ease-in-out infinite}
#boot-splash .b-msg{margin:0;font-weight:600;color:#5B6478;font-size:14px;min-height:20px}
#boot-splash .b-retry{display:none;border:0;border-radius:999px;background:#05194D;color:#fff;font:inherit;font-weight:700;font-size:14px;padding:11px 22px;cursor:pointer}
#boot-splash.stuck .b-retry{display:inline-block}
#boot-splash.stuck .b-bar{display:none}
@keyframes b-slide{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
@keyframes b-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#boot-splash .b-logo{animation:none}#boot-splash .b-bar::after{animation:none;width:100%;opacity:.5}}
