#app-launch { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #062e25; transition: opacity 480ms cubic-bezier(.22,.61,.36,1); }
.launch-brand { display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 32px; }
.launch-emblem { width: min(44vw, 190px); height: auto; animation: emblemReveal 750ms cubic-bezier(.22,.61,.36,1) both; }
.launch-wordmark { width: min(76vw, 330px); height: auto; animation: wordmarkReveal 650ms 180ms cubic-bezier(.22,.61,.36,1) both; }
#app-launch.ready { opacity: 0; pointer-events: none; }
body.app-revealed #root { animation: appReveal 480ms ease-out both; }
@keyframes emblemReveal { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes wordmarkReveal { from { opacity: 0; transform: translateY(7px); clip-path: inset(0 50%); } to { opacity: 1; transform: none; clip-path: inset(0); } }
@keyframes appReveal { from { opacity: .65; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { #app-launch { transition: none; } .launch-emblem, .launch-wordmark, body.app-revealed #root { animation: none; } }
