.scene{position:fixed;inset:0;overflow:hidden;z-index:0;opacity:0;transition:opacity 1.5s ease}.scene.loaded{opacity:1}.layer{position:absolute;width:100%}.layer-nebula,.layer-stars,.layer-moon{will-change:transform}.layer-sky{inset:0;background:radial-gradient(ellipse at top,#0d1b2a,#000308)}.layer-nebula{inset:0;pointer-events:none}.nebula{position:absolute;border-radius:50%;pointer-events:none}.layer-stars{inset:0}.star{position:absolute;border-radius:50%;background:#fff;animation:twinkle 3s ease-in-out infinite;transition:opacity 2s}@keyframes twinkle{0%,to{opacity:.2;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes shoot{0%{opacity:1;transform:rotate(var(--a)) translate(0)}to{opacity:0;transform:rotate(var(--a)) translate(var(--d))}}.shoot{position:absolute;width:90px;height:1.5px;background:linear-gradient(to right,transparent,rgba(255,255,255,.9));border-radius:100px;animation:shoot .65s ease-out forwards;pointer-events:none;filter:drop-shadow(0 0 3px rgba(200,220,255,.7))}.layer-moon{inset:0}.moon{position:absolute;top:8%;right:12%;filter:drop-shadow(0 0 24px rgba(220,235,255,.6));cursor:pointer;transition:opacity 2s,filter .6s ease-in-out}.moon:hover{animation:moonGlowPulse 2.5s ease-in-out infinite}@keyframes moonGlowPulse{0%,to{filter:drop-shadow(0 0 28px rgba(220,235,255,.7))}50%{filter:drop-shadow(0 0 55px rgba(245,240,216,1)) drop-shadow(0 0 95px rgba(200,220,255,.35))}}@media(prefers-reduced-motion:reduce){.star{animation:none;opacity:.5}.scene{transition:none;opacity:1}}@media(max-width:768px){.scene{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.layer{will-change:auto}.nebula{filter:blur(30px)!important}.ufo{display:none}}.comet{position:absolute;height:3px;border-radius:100px;animation:shoot var(--dur) ease-out forwards;pointer-events:none;filter:drop-shadow(0 0 6px rgba(180,220,255,.85)) drop-shadow(0 0 18px rgba(140,190,255,.45));background:linear-gradient(to right,transparent,rgba(180,210,255,.25) 30%,rgba(220,238,255,.85) 80%,white)}@keyframes satelliteMove{0%{opacity:0;transform:rotate(var(--a)) translate(0)}5%{opacity:.85}90%{opacity:.7}to{opacity:0;transform:rotate(var(--a)) translate(130vw)}}.satellite{position:absolute;width:50px;height:1.5px;background:linear-gradient(to right,transparent,rgba(200,220,255,.2) 50%,rgba(225,238,255,.92));border-radius:100px;animation:satelliteMove var(--dur) linear forwards;pointer-events:none;filter:drop-shadow(0 0 2px rgba(200,220,255,.5))}@media(hover:hover)and (pointer:fine){.custom-cursor,.custom-cursor *{cursor:none!important}}.cursor-el{position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);opacity:0;transition:transform .18s ease,opacity .3s}.cursor-el.ready{opacity:1}.cursor-el.hovering{transform:translate(-50%,-50%) scale(1.5)}.ufo{position:fixed;width:60px;height:30px;pointer-events:none;z-index:0;filter:drop-shadow(0 0 12px rgba(180,210,255,.55));opacity:0;transition:opacity .8s ease,left 5s linear,top 5s linear}.ufo.visible{opacity:1}.ufo-wobble{position:relative;width:100%;height:100%;animation:ufoWobble 1.4s ease-in-out infinite alternate}@keyframes ufoWobble{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-3px) rotate(2deg)}}.ufo-beam{position:absolute;top:24px;left:50%;width:56px;height:95px;transform:translate(-50%);background:linear-gradient(to bottom,#dcffc899,#b4ffc84d,#b4ffc800);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);pointer-events:none;opacity:0;transition:opacity .5s ease;filter:blur(2px)}.ufo-beam.active{opacity:1}@keyframes ufoStarReturn{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.6)}to{opacity:0;transform:scale(.4)}}.ufo-star-spark{position:fixed;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#fff,#b4dcff66);pointer-events:none;animation:ufoStarReturn .9s ease-out forwards}.astronaut{position:fixed;width:50px;height:50px;pointer-events:auto;cursor:grab;z-index:3;filter:drop-shadow(0 0 8px rgba(180,210,255,.45));opacity:0;transition:opacity 1.4s ease;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:left,top}.astronaut.visible{opacity:1}.astronaut.dragging{cursor:grabbing;filter:drop-shadow(0 0 18px rgba(245,240,216,.85))}.astronaut.docked{pointer-events:none;cursor:default}.astro-spin{width:100%;height:100%;animation:astroTumble 9s linear infinite}.astronaut.dragging .astro-spin,.astronaut.docked .astro-spin{animation:none}@keyframes astroTumble{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.astronaut-tether{position:absolute;top:25px;left:25px;width:1px;height:0;background:linear-gradient(to bottom,rgba(220,240,255,.6),transparent);transform-origin:top center;pointer-events:none}.rocket{position:fixed;bottom:9%;left:7%;width:50px;height:90px;pointer-events:none;z-index:2;filter:drop-shadow(0 0 10px rgba(180,210,255,.4));opacity:0;transition:opacity 1.4s ease,filter .4s ease;will-change:transform}.rocket.visible{opacity:1}.rocket-body{position:relative;width:100%;height:100%}.rocket.parked .rocket-body{animation:rocketDrift 7s ease-in-out infinite alternate;transform-origin:center 75%}@keyframes rocketDrift{0%{transform:rotate(-3.5deg) translateY(0)}to{transform:rotate(3.5deg) translateY(-5px)}}.eject-puff{position:fixed;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,rgba(255,235,160,.9),rgba(255,170,90,.4) 50%,transparent);pointer-events:none;z-index:2;transform:translate(-50%,-50%) scale(.3);animation:ejectPuff .8s ease-out forwards}@keyframes ejectPuff{0%{opacity:.95;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}.rocket.hint{animation:rocketHint 2.4s ease-in-out infinite}@keyframes rocketHint{0%,to{filter:drop-shadow(0 0 10px rgba(180,210,255,.4))}50%{filter:drop-shadow(0 0 22px rgba(245,240,216,.85))}}.rocket.armed{animation:rocketArmed .5s ease-in-out infinite alternate}@keyframes rocketArmed{0%{filter:drop-shadow(0 0 14px rgba(120,255,170,.6));transform:scale(1)}to{filter:drop-shadow(0 0 30px rgba(120,255,170,.95));transform:scale(1.08)}}.rocket.launching{filter:drop-shadow(0 0 28px rgba(255,200,120,.95))}.rocket-flame{position:absolute;bottom:-22px;left:50%;width:18px;height:36px;transform:translate(-50%);background:radial-gradient(ellipse at top,rgba(255,235,160,.95),rgba(255,120,60,.7) 60%,transparent);border-radius:50% 50% 30% 30%;animation:rocketFlame .08s linear infinite alternate;pointer-events:none}@keyframes rocketFlame{0%{transform:translate(-50%) scaleY(1) scaleX(1);opacity:.95}to{transform:translate(-50%) scaleY(1.5) scaleX(.85);opacity:1}}.thank-bubble{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-2px) scale(.6);background:#f5f0d8f5;color:#0a1530;padding:8px 14px;border-radius:14px;font-family:Space Mono,Courier New,monospace;font-size:.72rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;opacity:0;transition:opacity .35s ease,transform .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.4))}.thank-bubble:after{content:"";position:absolute;bottom:-7px;left:50%;width:0;height:0;transform:translate(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(245,240,216,.96)}.thank-bubble.visible{opacity:1;transform:translate(-50%) translateY(-14px) scale(1)}.rocket-label{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);font-family:Space Mono,Courier New,monospace;font-size:.55rem;letter-spacing:.22em;color:#c8dcf0e6;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 1s ease}.rocket-label.visible{opacity:1}.rocket-label:before{content:"↑ ";color:#f5f0d8d9}@media(max-width:768px){.astronaut,.rocket{display:none}}
