/* One viewport-wide shell stays above Flutter until session and page bootstrap finish. */
#loading{position:fixed;inset:0;z-index:2147483000;min-height:100vh;min-height:100dvh;display:grid;place-items:center;box-sizing:border-box;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));background:radial-gradient(ellipse at 12% 18%,#dceeff,transparent 60%),radial-gradient(ellipse at 90% 85%,#f4dafa,transparent 62%),#f8f9fe;color:#11162d;font:500 15px Arial,sans-serif;text-align:center}
#loading .brand{width:min(72vw,440px);max-width:100%;height:auto;object-fit:contain;display:block;margin:auto}
#loading .startup-track{width:min(48vw,220px);height:3px;overflow:hidden;background:#e7e4f4;border-radius:6px;margin:0 auto 22px}
#loading .startup-track:after{content:'';display:block;width:45%;height:100%;background:linear-gradient(90deg,#53cef0,#8d68ed,#e66fd9);animation:startup-progress 1.3s ease-in-out infinite alternate;border-radius:6px}
#loading button{padding:12px 24px;border-radius:22px;border:0;background:#6243b5;color:white;font:inherit;cursor:pointer}
@keyframes startup-progress{from{transform:translateX(-100%)}to{transform:translateX(225%)}}
@media(prefers-reduced-motion:reduce){#loading .startup-track:after{animation:none;width:100%}}
.checking-session body>header,.checking-session body>main,.checking-session body>footer{visibility:hidden}
