@keyframes appear{from{opacity:0}to{opacity:1}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes twinkle{0%,100%{opacity:var(--opacity)}50%{opacity:.15}}
@keyframes star-drift{from{translate:-9px 5px}to{translate:12px -9px}}
@keyframes flow{to{stroke-dashoffset:-124}}
@keyframes pulse{0%,100%{opacity:.8}45%{opacity:1}}
.system{animation:appear 1.2s both}
.star{animation:twinkle var(--duration,6s) ease-in-out infinite,star-drift var(--drift-duration,90s) ease-in-out infinite alternate;animation-delay:var(--delay,0s),var(--delay,0s)}
.energy-flow{animation:flow 2s linear infinite}
.core.is-pulsing .core-artwork img{animation:pulse .85s ease-out}
.astronaut img{animation:float 6s ease-in-out infinite}
.ship-art{animation:float 8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.nebula,.stars{transform:none}.satellite{will-change:auto}}
/* Flight actors use viewport coordinates, outside the planetary scale. */
.core-artwork{display:block;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.flight-layer{position:fixed;inset:0;z-index:15;pointer-events:none;overflow:hidden;contain:layout style}
.flight-actor{position:absolute;left:0;top:0;transform-origin:center;will-change:transform,opacity}
.flight-actor img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.flight-source-hidden{visibility:hidden!important}
.flight-running [data-division],.flight-running .core-artwork,.flight-running #contact,.flight-running #astronaut{pointer-events:none}
.flight-running .ship-art{animation-play-state:paused}
.flight-destination{--arrival-color:85,160,255}
.flight-destination .sphere,.flight-destination .core-artwork{filter:brightness(1.14) drop-shadow(0 0 20px rgba(var(--arrival-color),.65))}
@keyframes arrival-energy{0%{opacity:0;scale:.88}35%{opacity:.8}100%{opacity:0;scale:1.35}}
.flight-destination:after{content:"";position:absolute;inset:0;border:1px solid rgba(var(--arrival-color),.7);border-radius:50%;box-shadow:0 0 24px rgba(var(--arrival-color),.4);pointer-events:none;animation:arrival-energy 1s ease-out both}
@media(prefers-reduced-motion:reduce){.flight-destination:after{animation:none;opacity:.5}}
.flight-lito img{transform:scaleX(-1)}

.planet-entry-layer{position:fixed;inset:0;z-index:40;overflow:hidden;pointer-events:none}
.planet-entry-art{position:absolute;max-width:none;object-fit:contain;transform-origin:center;will-change:transform;transform:translate(-50%,-50%)}
.planet-entry-wash{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,#366dba,#0b1731 70%);will-change:opacity}
.planet-entering .core{visibility:hidden}
.planet-entering .navigator,.planet-entering header{visibility:hidden}