/* Loading screen (Portals-style): icon ring + twinkling stars + mascot + progress bar, in the RunsGift blue theme. Loaded last. */
#splash.splash{position:fixed;inset:0;z-index:9999;display:block;height:auto;overflow:hidden;gap:0;
  background:radial-gradient(130% 48% at 50% -10%,#10305f 0%,#050b16 55%,#000 100%);
  transition:opacity .35s,transform .35s,filter .35s}
#splash.splash.out{opacity:0;transform:scale(1.04);filter:blur(6px)}
#splash img{width:auto;height:auto;border-radius:0;box-shadow:none;animation:none;display:block;max-width:none;visibility:visible}
#splash .ld{position:absolute;inset:0;opacity:0;transition:opacity .4s}
#splash .ld.on{opacity:1}
#splash .ld-stage{position:absolute;left:50%;top:50%;width:700px;height:700px;margin:-350px 0 0 -350px;transform:scale(var(--k,1));transform-origin:50% 50%;display:flex;align-items:center;justify-content:center}
#splash .ld-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(10,132,255,.55) 0,rgba(10,132,255,.22) 24%,rgba(100,210,255,.08) 42%,transparent 66%)}
#splash .ld-stars{position:absolute;width:360px;height:360px;left:170px;top:170px;pointer-events:none;opacity:.9}
#splash .ld-slot{position:absolute}
#splash .ld-bob{position:absolute;will-change:transform;animation:ld-bob 3s cubic-bezier(.333,0,.667,1) infinite}
#splash .ld-bob img{width:100%;height:100%;animation:ld-tilt 3s cubic-bezier(.333,0,.667,1) infinite}
#splash .ld-mascot{position:absolute;width:190px;height:190px;left:255px;top:255px;filter:drop-shadow(0 8px 26px rgba(10,132,255,.45))}
#splash .ld-mascot img,#splash .ld-mascot .lt{position:absolute;inset:0;width:100%;height:100%}
#splash .ld-brand{position:absolute;left:0;right:0;top:calc(var(--safe-t,0px) + 70px);display:flex;align-items:center;justify-content:center;gap:10px;font:700 22px var(--fd);letter-spacing:-.02em;color:#fff}
#splash .ld-brand img{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 0 28px rgba(10,132,255,.6)}
#splash .ld-foot{position:absolute;left:0;right:0;bottom:calc(var(--safe-b,0px) + 80px);display:flex;flex-direction:column;align-items:center;gap:10px}
#splash .sp-name{position:static;font:600 15px var(--fd);color:rgba(255,255,255,.85);max-width:80vw;margin:0}
#splash .sp-name:empty{display:none}
#splash .splash-bar{position:relative;width:140px;height:10px;border-radius:10px;background:rgba(255,255,255,.14);overflow:hidden}
#splash .splash-bar i{position:relative;display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,var(--accent,#0a84ff),var(--accent2,#64d2ff));transition:width .25s ease;animation:none!important}
#splash .splash-bar i::after{content:"";position:absolute;right:6px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:#fff}
#splash .sp-pct{position:static;margin:0;font:600 12px var(--fd);color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
@keyframes ld-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--b,-5px))}}
@keyframes ld-tilt{0%,100%{transform:rotate(0)}50%{transform:rotate(-2.1deg)}}
@media (prefers-reduced-motion:reduce){#splash .ld-bob,#splash .ld-bob img{animation:none}}
