#launch-intro{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#000;color:#e50914;overflow:hidden;font-family:'Helvetica Neue','Arial Black',sans-serif}
#launch-intro::backdrop{background:#000}
.entry-soft-light{width:100%;height:100%;border:0;display:block;pointer-events:none}
#launch-intro[open]{border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#launch-intro .intro-scene{height:100%;display:grid;place-items:center;perspective:800px;background:radial-gradient(ellipse at center,#e5091418,transparent 65%)}
#launch-intro .intro-logo{position:relative;display:flex;gap:clamp(2px,1vw,12px);animation:intro-camera 6s ease-in-out both;isolation:isolate}
#launch-intro .intro-letter{position:relative;display:block;overflow:hidden;font-size:clamp(42px,15vw,180px);font-weight:900;line-height:1.2}
#launch-intro .intro-ribbons{position:absolute;inset:0;z-index:3;pointer-events:none}
#launch-intro .intro-ribbon-anchor{position:absolute;transform-origin:top center}
#launch-intro .intro-ribbon{display:block;width:clamp(2px,.5vw,6px);border-radius:3px;background:linear-gradient(to bottom,#e50914,#b20710 40%,transparent);transform-origin:top center;opacity:0;animation:intro-ribbon 1800ms ease-in-out both}
#launch-intro .intro-letter span{display:block;color:#e50914;background:linear-gradient(#e50914,#b20710 30%,#e50914 50%,#ff2a2a 70%,#e50914);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:intro-letter 900ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(600ms + var(--i)*180ms)}
#launch-intro .intro-letter::after{content:'';position:absolute;inset:0;width:60%;background:linear-gradient(90deg,transparent,#ffffff44,transparent);animation:intro-shine 800ms ease-in-out both;animation-delay:calc(1600ms + var(--i)*180ms);pointer-events:none}
#launch-intro .intro-subtitle{position:absolute;top:calc(100% + 24px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:clamp(10px,2vw,18px);letter-spacing:.7em;color:#e50914b3;animation:intro-subtitle 1200ms ease-out 2800ms both}
#launch-intro .intro-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#launch-intro .intro-particles i{position:absolute;bottom:-10px;border-radius:50%;background:#e50914;animation:intro-particle 6s linear both;opacity:0}
#launch-intro .intro-bar{position:absolute;left:0;width:100%;height:8dvh;background:#000;pointer-events:none;animation:intro-bar 1s cubic-bezier(.23,1,.32,1) 200ms both}
#launch-intro .intro-bar.top{top:0;transform-origin:top}#launch-intro .intro-bar.bottom{bottom:0;transform-origin:bottom}
#launch-intro .intro-skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));min-height:44px;padding:8px 18px;background:#ffffff12;color:#ddd;border:1px solid #ffffff30;border-radius:24px;font:14px system-ui;cursor:pointer;touch-action:manipulation}
#launch-intro .intro-skip:focus-visible{outline:2px solid #fff;outline-offset:4px}
@keyframes intro-letter{from{opacity:0;transform:translateY(80px) scaleY(1.5) scaleX(.8)}to{opacity:1;transform:none}}
@keyframes intro-shine{from{opacity:.8;transform:translateX(-170%) skewX(-20deg)}to{opacity:0;transform:translateX(500%) skewX(-20deg)}}
@keyframes intro-camera{0%{transform:rotateY(-5deg) scale(.8)}40%,70%{transform:none}100%{transform:scale(1.05)}}
@keyframes intro-subtitle{from{opacity:0}to{opacity:1}}
@keyframes intro-particle{0%{opacity:0;transform:translateY(0)}15%{opacity:.5}85%{opacity:.25}100%{opacity:0;transform:translateY(-110dvh)}}
@keyframes intro-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes intro-ribbon{0%{opacity:0;transform:scaleY(.9)}22%,55%{opacity:.65;transform:scaleY(1)}100%{opacity:0;transform:scaleY(.95)}}
@media(prefers-reduced-motion:reduce){#launch-intro *{animation:none!important}#launch-intro .intro-particles,#launch-intro .intro-ribbons{display:none}}
