#stage::before,#stage::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}
#stage::before{background:radial-gradient(circle at 50% 52%,transparent 28%,rgba(0,6,12,.12) 54%,rgba(0,3,8,.56) 100%);transition:opacity .8s ease}
#stage.is-approaching::before{opacity:1}
#stage.arrived::after{opacity:1;background:radial-gradient(circle at 50% 50%,rgba(126,255,244,.16) 0,rgba(72,224,229,.07) 18%,transparent 48%);animation:arrivalPulse .72s cubic-bezier(.16,1,.3,1) both}
@keyframes arrivalPulse{0%{opacity:0;transform:scale(.82)}38%{opacity:1}100%{opacity:0;transform:scale(1.12)}}

.flight{padding:22px 24px 18px;border:1px solid rgba(115,242,237,.14);border-radius:26px;background:linear-gradient(145deg,rgba(3,14,22,.32),rgba(2,8,14,.08));box-shadow:0 22px 70px rgba(0,0,0,.24);backdrop-filter:blur(4px);transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1),border-color .4s ease}
.flight.show{transform:translate(-50%,-50%) scale(1)}
.flight:not(.show){transform:translate(-50%,-46%) scale(.96)}
.flight[data-phase="approach"],.flight[data-phase="descent"]{border-color:rgba(115,242,237,.32)}
.flight .phase{letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 18px rgba(91,235,229,.55)}
.flight .name{font-size:clamp(27px,4vw,40px);text-shadow:0 3px 28px rgba(0,0,0,.72),0 0 24px rgba(91,235,229,.12)}
.flight .metrics{margin-top:7px;font-size:14px}
.flight .bar{position:relative;height:4px;background:rgba(82,176,181,.16);overflow:visible}
.flight .bar::before{content:"";position:absolute;inset:-6px 0;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(100,247,239,.11),transparent);opacity:.7}
.flight .bar i{position:relative;border-radius:999px;background:linear-gradient(90deg,#29b8c5,#8efff5 70%,#fff);box-shadow:0 0 10px rgba(72,223,229,.8),0 0 26px rgba(72,223,229,.35)}
.flight .bar i::after{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;transform:translateY(-50%);border-radius:50%;background:#efffff;box-shadow:0 0 10px #9ffff8,0 0 25px #5debe5}

@media(max-width:640px){.flight{width:min(360px,88vw);padding:18px 18px 15px;border-radius:22px;backdrop-filter:none;background:rgba(2,10,16,.23)}.flight .name{font-size:29px}}
@media(prefers-reduced-motion:reduce){#stage.arrived::after{animation:none}.flight{transition:none}}
