.welcome-loading{position:fixed;inset:0;margin:auto;border:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;background:#090d18;color:#ffedc5;overflow:hidden;outline:none}
.welcome-loading[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;justify-items:center}
.welcome-loading::backdrop{background:#090d18}
.loading-banner-frame{position:relative;width:100%;max-width:540px;min-height:0;height:100%;overflow:hidden;border-radius:8px}
.loading-banner{display:block;width:100%;height:100%;object-fit:contain}
.loading-fallback{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:28px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#673360,#171b36 55%,#090d18);box-sizing:border-box}
.loading-fallback h1{font:600 clamp(1.4rem,5vw,2.2rem) 'Cinzel',serif;line-height:1.35;margin:0}
.loading-fallback p{font-size:.8rem;line-height:1.6;max-width:350px}
.loading-fallback img{margin-top:auto;width:min(95%,350px);height:auto}
.banner-unavailable .loading-banner{visibility:hidden}
.banner-unavailable .loading-fallback{display:flex}
.loading-status{width:min(100%,420px);text-align:center;font-size:.75rem;letter-spacing:.08em}
.loading-status p{margin:0 0 7px}
.loading-status progress{display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;accent-color:#e9b25d;background:#29253b}
.loading-status progress::-webkit-progress-bar{background:#29253b}
.loading-status progress::-webkit-progress-value{background:linear-gradient(90deg,#8756d7,#edb359)}
.loading-status progress::-moz-progress-bar{background:#edb359}
@media(max-height:480px) and (orientation:landscape){.welcome-loading[open]{grid-template-columns:minmax(0,1fr) 170px;grid-template-rows:minmax(0,1fr);align-items:center}.loading-status{padding-right:12px}.loading-fallback{gap:10px;padding:12px}.loading-fallback h1{font-size:1.2rem}.loading-fallback p{font-size:.7rem}.loading-fallback img{max-height:80px;object-fit:contain}}
