/* Shared with the app: transparent overlay blurs the actual page beneath it. */
#app-splash{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;opacity:1;transition:opacity .55s ease;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px)}
.site-loading #app-splash{display:flex}
#app-splash.is-hidden{opacity:0;pointer-events:none}
#app-splash .splash-logo-wrap{position:relative;display:flex;align-items:center;justify-content:center}
#app-splash .splash-logo{position:relative;width:96px;height:96px;border-radius:22px;box-shadow:0 12px 44px rgba(0,0,0,.55);animation:splashPulse 3.6s ease-in-out infinite}
#app-splash .splash-glow{position:absolute;left:50%;top:50%;width:170px;height:170px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at center,rgba(0,0,0,.5) 0%,rgba(0,0,0,.12) 45%,rgba(0,0,0,0) 70%);filter:blur(10px);animation:splashGlow 3.6s ease-in-out infinite}
@keyframes splashPulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.05);opacity:1}}
@keyframes splashGlow{0%,100%{opacity:.28;transform:translate(-50%,-50%) scale(.9)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.12)}}
html.capacitor-native #app-splash{display:none!important}
/* Keep startup layout changes behind the overlay until its fade completes. */
html.site-loading body:not([data-public-page]) *:not(#app-splash):not(#app-splash *){transition:none!important;animation:none!important}
.app-entry body[data-entry] .selector-main{visibility:hidden}
.app-entry #app-entry-recovery{padding:32px;max-width:600px;margin:auto}
.app-entry #app-entry-recovery[hidden]{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){#app-splash *{animation:none!important}#app-splash{transition:none}}
