html{scrollbar-gutter:stable}
.space-transit{position:fixed;inset:0;z-index:10000;pointer-events:auto;background:#020907;opacity:0;overflow:hidden;isolation:isolate;will-change:opacity}
.space-transit canvas{position:absolute;inset:0;width:100%;height:100%}
.space-transit:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 35%,#01060966);pointer-events:none}
.transit-label{position:absolute;z-index:2;bottom:9%;left:0;right:0;text-align:center;color:#e2fff2;font:11px 'DM Sans',sans-serif;letter-spacing:.3em;opacity:var(--label-opacity,0);transform:translateY(calc((1 - var(--label-opacity,0))*8px));text-shadow:0 2px 24px #010907}
.transit-label small{display:block;margin-bottom:10px;font-size:9px;color:#a4d9be;letter-spacing:.2em}.transit-label strong{font:400 11px 'Space Grotesk',sans-serif;letter-spacing:.3em}
.transit-track{display:block;width:70px;height:1px;background:#d9ffed20;margin:0 auto 20px;overflow:hidden}.transit-track i{display:block;height:100%;background:#d9ffedaa;transform-origin:left;transform:scaleX(var(--flight-progress,0))}
html.transit-arrival:before{content:'';position:fixed;inset:0;z-index:10001;background:#020907 var(--flight-frame,none) center/100% 100% no-repeat;pointer-events:none;animation:arrival-safety 1s 5s forwards}
@keyframes arrival-safety{to{opacity:0;visibility:hidden}}
body.in-transit{overflow:hidden}
body.in-transit:not(.transit-landing)>main{transform:scale(calc(1 + var(--launch,0)*.075));transform-origin:50% var(--flight-origin,50vh);opacity:calc(1 - var(--launch,0)*.4);will-change:transform,opacity}
.space-transit.arriving{opacity:1;mask-image:radial-gradient(ellipse at 50% 48%,transparent max(0px,calc(var(--aperture,0px) - 280px)),#000 var(--aperture,0px));-webkit-mask-image:radial-gradient(ellipse at 50% 48%,transparent max(0px,calc(var(--aperture,0px) - 280px)),#000 var(--aperture,0px))}
body.inner-page.transit-landing main{animation:none;transform:translateY(calc((1 - var(--dock,0))*32px)) scale(calc(.965 + var(--dock,0)*.035));transform-origin:50% 30vh;will-change:transform}
body.transit-landing .section-intro,body.transit-landing .board-toolbar,body.transit-landing .podium{opacity:calc(.4 + var(--dock,0)*.6)}
@media(prefers-reduced-motion:reduce){body.in-transit:not(.transit-landing)>main,body.inner-page.transit-landing main{transform:none;opacity:1}.space-transit.arriving{mask-image:none;-webkit-mask-image:none}}

/* Departure follows the original: UI yields to an open star field. */
body.in-transit:not(.transit-landing)>main{transform:none;opacity:calc(1 - var(--launch,0)*.95);will-change:opacity}
.space-transit.departing .transit-label{display:none}

