/* A brief app-style introduction, independent from the real loading state. */
.ej-splash { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; min-height: 100svh; background: #16150F; animation: ej-splash-dismiss .4s ease 1.45s both; }
.ej-splash-brand { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.ej-splash-icon { display: grid; place-items: center; width: 112px; height: 112px; border: 1px solid rgba(245,242,234,.16); border-radius: 28px; background: #242219; box-shadow: 0 18px 60px rgba(229,83,30,.13); animation: ej-splash-icon-enter .8s cubic-bezier(.16,1,.3,1) both; }
.ej-splash-icon img { display: block; width: 76px; height: auto; }
.ej-splash-wordmark { width: 130px; height: auto; animation: ej-splash-copy-enter .65s cubic-bezier(.16,1,.3,1) .15s both; }
.ej-splash-tagline { margin: 0; color: #D9D2C3; font: 400 16px/1.9 var(--ej-font-ui); animation: ej-splash-copy-enter .6s ease .3s both; }
@keyframes ej-splash-icon-enter { from { opacity: 0; transform: translateY(-64px) scale(.92); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ej-splash-copy-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ej-splash-dismiss { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@media (prefers-reduced-motion: reduce) { .ej-splash { display: none; animation: none; } .ej-splash * { animation: none; } }
