@keyframes pilotLaunch{0%{opacity:0;transform:translate(-50%,30vh) scale(.18) rotate(-8deg)}18%{opacity:1}62%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}100%{opacity:0;transform:translate(-50%,-72vh) scale(.22) rotate(6deg)}}
.flight-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:rgba(4,8,12,.92);opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0);color:var(--cyan);font-family:var(--mono)}
.flight-overlay.launch,.flight-overlay.arrival{visibility:visible}
.flight-overlay.launch{animation:ironHudLock .55s cubic-bezier(.2,.75,.2,1) forwards}
.flight-overlay.arrival{animation:ironHudRelease .3s cubic-bezier(.7,0,.3,1) forwards}
.flight-overlay::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,rgba(77,225,221,.16),transparent 34%),linear-gradient(90deg,transparent 0 48%,rgba(255,77,77,.12) 50%,transparent 52%);opacity:.9}
.flight-overlay::after{content:'';position:absolute;inset:10%;border:1px solid rgba(77,225,221,.2);clip-path:polygon(0 12%,12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%);box-shadow:0 0 80px rgba(77,225,221,.12),inset 0 0 70px rgba(77,225,221,.08)}
.flight-grid{position:absolute;inset:-20%;opacity:.45;background:linear-gradient(rgba(77,225,221,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(77,225,221,.13) 1px,transparent 1px);background-size:48px 48px;transform:perspective(320px) rotateX(66deg) translateY(15%);transform-origin:center bottom}
.launch .flight-grid{animation:gridScan .55s ease-out forwards}.arrival .flight-grid{animation:gridRelease .3s ease-in forwards}
.flight-core{position:relative;z-index:3;width:112px;height:112px;border:1px solid var(--cyan);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#eaffff 0 3%,var(--cyan) 8%,rgba(77,225,221,.18) 31%,transparent 68%);box-shadow:0 0 18px var(--cyan),0 0 70px rgba(77,225,221,.35);opacity:0;transform:scale(.25);clip-path:polygon(50% 0,62% 18%,82% 18%,82% 38%,100% 50%,82% 62%,82% 82%,62% 82%,50% 100%,38% 82%,18% 82%,18% 62%,0 50%,18% 38%,18% 18%,38% 18%)}
.flight-core::before,.flight-core::after{content:'';position:absolute;inset:16px;border:1px solid rgba(255,77,77,.9);border-radius:50%;animation:reactorSpin 1.1s linear infinite}
.flight-core::after{inset:31px;border-color:rgba(255,255,255,.75);animation-direction:reverse}
.launch .flight-core{animation:reactorCharge .55s cubic-bezier(.2,.8,.2,1) forwards}.arrival .flight-core{animation:reactorDischarge .3s ease-in forwards}
.flight-core span{font:700 17px var(--mono);letter-spacing:.22em;transform:translateX(2px);color:#071116}
.flight-lines{position:absolute;inset:0;z-index:2}.flight-lines i{position:absolute;left:50%;top:50%;width:42vw;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);transform-origin:left center;opacity:0}.launch .flight-lines i{animation:targetSweepPro .55s ease-out forwards}.flight-lines i:nth-child(1){transform:rotate(0deg)}.flight-lines i:nth-child(2){transform:rotate(60deg)}.flight-lines i:nth-child(3){transform:rotate(120deg)}.flight-lines i:nth-child(4){transform:rotate(180deg)}.flight-lines i:nth-child(5){transform:rotate(240deg)}
.flight-readout,.flight-overlay>strong,.flight-overlay>small{position:absolute;z-index:6;left:50%;transform:translateX(-50%);white-space:nowrap;text-align:center;opacity:0}.flight-readout{top:calc(50% + 94px);font-size:9px;letter-spacing:.2em}.flight-overlay>strong{top:calc(50% + 120px);color:#fff;font:700 20px var(--display);letter-spacing:.12em}.flight-overlay>small{top:calc(50% + 151px);color:var(--muted);font-size:8px;letter-spacing:.12em}.launch .flight-readout,.launch.flight-overlay>strong,.launch.flight-overlay>small{animation:readoutIn .28s .2s ease-out forwards}.arrival .flight-readout,.arrival.flight-overlay>strong,.arrival.flight-overlay>small{animation:readoutOut .22s ease-in forwards}
.flight-overlay{background:radial-gradient(circle at 50% 48%,rgba(18,66,73,.42),rgba(4,8,12,.95) 46%),linear-gradient(110deg,rgba(255,65,65,.08),transparent 28%,transparent 72%,rgba(77,225,221,.08))}
.flight-grid{opacity:.25;background-size:64px 64px}.flight-core{z-index:1;width:154px;height:154px;opacity:0;border-color:rgba(77,225,221,.52);box-shadow:0 0 24px rgba(77,225,221,.4),0 0 110px rgba(77,225,221,.18)}.flight-core span{font-size:12px;color:var(--cyan)}
.flight-pilot{display:block;z-index:5;width:156px;height:248px;filter:drop-shadow(0 0 12px rgba(77,225,221,.55)) drop-shadow(0 16px 22px rgba(255,68,68,.22));transform:translate(-50%,34vh) scale(.22);opacity:0}
.launch .flight-pilot{animation:pilotLaunchPro .55s cubic-bezier(.16,.86,.24,1) forwards}
.pilot-helmet{border-color:var(--red);background:linear-gradient(135deg,#7d3032 0%,#202b31 32%,#060c11 72%);box-shadow:inset -8px -4px 14px rgba(0,0,0,.6),inset 5px 4px 10px rgba(255,102,93,.32),0 0 10px rgba(255,77,77,.26)}
.pilot-helmet:before{background:linear-gradient(90deg,var(--red),#fff 48%,var(--red));box-shadow:0 0 12px var(--red);height:7px}
.pilot-helmet{left:49px;width:58px;height:55px;border-radius:45% 45% 32% 32%;clip-path:polygon(12% 0,88% 0,100% 28%,86% 84%,68% 100%,32% 100%,14% 84%,0 28%)}
.pilot-helmet span{left:22px;width:14px;height:14px}
.pilot-body{background:linear-gradient(90deg,#050b10 0%,#4b2027 18%,#27373b 45%,#8a3435 52%,#0a1015 84%);border-color:rgba(255,91,86,.85);box-shadow:inset 0 0 22px rgba(0,0,0,.72),inset 0 0 12px rgba(77,225,221,.17),0 0 8px rgba(255,77,77,.25)}
.pilot-body{top:54px;left:35px;width:86px;height:112px;clip-path:polygon(20% 0,80% 0,100% 25%,88% 78%,70% 100%,30% 100%,12% 78%,0 25%)}
.pilot-body:before{content:'';position:absolute;left:18px;right:18px;top:11px;height:62px;border:1px solid rgba(255,111,101,.62);clip-path:polygon(50% 0,100% 18%,86% 100%,14% 100%,0 18%);box-shadow:inset 0 0 14px rgba(255,77,77,.16)}
.pilot-body:after{inset:12px 14px;border-color:rgba(77,225,221,.65);clip-path:polygon(50% 0,100% 21%,82% 100%,18% 100%,0 21%)}.pilot-core{left:30px;top:35px;background:radial-gradient(circle,#fff 0 7%,#4de1dd 23%,#0b3a42 58%,transparent 66%);box-shadow:0 0 10px #fff,0 0 24px var(--cyan)}
.pilot-arm{width:24px;height:96px;background:linear-gradient(135deg,#111a20 0%,#6a282d 42%,#17252a 78%);border-color:rgba(255,91,86,.76);clip-path:polygon(22% 0,78% 0,100% 13%,82% 100%,18% 100%,0 13%);box-shadow:inset 0 0 12px rgba(0,0,0,.6),0 0 9px rgba(255,77,77,.2)}
.pilot-arm-left{left:4px;transform:rotate(12deg)}.pilot-arm-right{right:4px;transform:rotate(-12deg)}
.pilot-body b{left:17px;width:52px;bottom:-32px;background:linear-gradient(90deg,#0a1116,#65272c 42%,#234149 58%,#0a1116);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);box-shadow:0 0 12px rgba(77,225,221,.3)}
.pilot-jet{height:108px;width:27px;background:linear-gradient(transparent 0%,rgba(255,77,77,.15) 20%,var(--red) 64%,#fff 100%);filter:blur(4px);box-shadow:0 0 22px var(--red)}.pilot-jet-left{left:24px}.pilot-jet-right{right:24px}.pilot-jet:after{background:linear-gradient(#fff,var(--cyan));height:72%;top:25%}
.launch .flight-lines i{animation-name:targetSweepPro}.flight-overlay::after{inset:8%;border-color:rgba(255,77,77,.22);box-shadow:0 0 80px rgba(77,225,221,.12),inset 0 0 70px rgba(255,77,77,.06)}
@keyframes ironHudLock{0%{opacity:0;clip-path:inset(0 0 100% 0)}22%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes ironHudRelease{0%{opacity:1;visibility:visible;clip-path:inset(0 0 0 0)}100%{opacity:0;visibility:hidden;clip-path:inset(100% 0 0 0)}}
@keyframes gridScan{0%{transform:perspective(320px) rotateX(66deg) translateY(34%) scale(1.2);opacity:0}100%{transform:perspective(320px) rotateX(66deg) translateY(15%) scale(1);opacity:.45}}
@keyframes gridRelease{to{transform:perspective(320px) rotateX(66deg) translateY(-8%) scale(1.3);opacity:0}}
@keyframes reactorCharge{0%{opacity:0;transform:scale(.25) rotate(-20deg)}55%{opacity:1;transform:scale(1.12) rotate(8deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes reactorDischarge{to{opacity:0;transform:scale(1.8) rotate(15deg)}}
@keyframes reactorSpin{to{transform:rotate(360deg)}}
@keyframes targetSweep{0%{opacity:0;width:0}35%{opacity:1}100%{opacity:0;width:48vw}}
@keyframes targetSweepPro{0%{opacity:0;width:0;filter:brightness(2)}28%{opacity:1}72%{opacity:.8}100%{opacity:0;width:54vw;filter:brightness(1)}}
@keyframes pilotLaunchPro{0%{opacity:0;transform:translate(-50%,34vh) scale(.2) rotate(-5deg)}18%{opacity:1}48%{opacity:1;transform:translate(-50%,-47%) scale(1.04) rotate(0)}72%{opacity:1;transform:translate(-50%,-53%) scale(.96) rotate(0)}100%{opacity:0;transform:translate(-50%,-78vh) scale(.26) rotate(4deg)}}
@keyframes readoutIn{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes readoutOut{to{opacity:0;transform:translateX(-50%) translateY(-10px)}}
@media(max-width:800px){.flight-core{width:78px;height:78px}.flight-core span{font-size:12px}.flight-overlay>strong{font-size:16px}.flight-readout{top:calc(50% + 70px)}.flight-overlay>strong{top:calc(50% + 94px)}.flight-overlay>small{top:calc(50% + 121px);font-size:7px}.flight-overlay::after{inset:6%}}
@media(max-width:800px){.flight-pilot{transform:translate(-50%,34vh) scale(.18)}.launch .flight-pilot{animation-name:pilotLaunchProMobile}.flight-overlay::after{inset:6%}}
@keyframes pilotLaunchProMobile{0%{opacity:0;transform:translate(-50%,34vh) scale(.13) rotate(-5deg)}18%{opacity:1}48%{opacity:1;transform:translate(-50%,-47%) scale(.76) rotate(0)}72%{opacity:1;transform:translate(-50%,-53%) scale(.7) rotate(0)}100%{opacity:0;transform:translate(-50%,-78vh) scale(.18) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.flight-overlay{animation:none!important}.flight-overlay.launch{opacity:1;visibility:visible;clip-path:none}.flight-overlay.arrival{opacity:0;visibility:hidden}.flight-pilot{display:none}}
@keyframes pilotLaunchMobile{0%{opacity:0;transform:translate(-50%,30vh) scale(.12) rotate(-8deg)}18%{opacity:1}62%{opacity:1;transform:translate(-50%,-50%) scale(.78) rotate(0)}100%{opacity:0;transform:translate(-50%,-72vh) scale(.16) rotate(6deg)}}
