/* The opening belongs to document launch, never to in-app navigation or resume. */
.launch-screen{position:fixed;inset:0;z-index:20;overflow:hidden;background:#0c1520;display:grid;place-items:center;opacity:1;transition:opacity .4s ease;isolation:isolate}
.launch-screen.leaving{opacity:0;pointer-events:none}
.launch-screen::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#20354b66,transparent 65%);pointer-events:none}
.launch-panel{position:relative;width:min(96vw,560px,calc(92svh * 2 / 3));aspect-ratio:2/3;pointer-events:none}
.launch-marble,.launch-tracing{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.launch-marble{opacity:0;animation:marble-emerge 1.8s .25s ease-out both;mask-image:radial-gradient(ellipse at center,#000 28%,#000b 65%,transparent 91%);-webkit-mask-image:radial-gradient(ellipse at center,#000 28%,#000b 65%,transparent 91%)}
.launch-tracing{opacity:.8}
.launch-brand{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;color:#d8af78;animation:brand-emerge 1s .75s ease-out both}
.launch-emblem{width:46px;height:66px;overflow:visible;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:drop-shadow(0 0 14px #d8af7820)}
.launch-name{font-family:var(--gfont);font-size:clamp(50px,16vw,74px);font-weight:550;line-height:1.6;white-space:nowrap;text-shadow:0 3px 32px #060b14}
.launch-skip{position:absolute;inset:0;width:100%;height:100%;background:none;border-radius:0;opacity:1;cursor:default}
.launch-skip:disabled{opacity:1;cursor:default}
.launch-skip:focus-visible{outline:1px solid #d8af7855;outline-offset:-18px;border-radius:28px}
.launch-screen .launch-status{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#9fb5d3;font-size:12px;opacity:0;animation:slow-loading .2s 3s forwards}
@keyframes marble-emerge{to{opacity:.22}}
@keyframes brand-emerge{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
@keyframes slow-loading{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.launch-screen{transition:none}.launch-marble{animation:none;opacity:.22}.launch-brand{animation:none}.launch-tracing{display:none}.launch-status{animation:none}}
