@keyframes drift{to{transform:translateY(calc(-1 * var(--tile)))}}@keyframes twinkle{from{opacity:.55}to{opacity:1}}@keyframes twinkleSoft{from{opacity:calc(.3*var(--space))}to{opacity:calc(.6*var(--space))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbitpath{0%{offset-distance:0%;z-index:4}49.9%{z-index:4}50%{z-index:0}100%{offset-distance:100%;z-index:0}}@keyframes warp{0%{transform:scale(1);filter:none}45%{transform:scale(3.4);opacity:.95;filter:blur(0.7px)}52%{transform:scale(3.6);opacity:0}53%{transform:scale(0.5);opacity:0}100%{transform:scale(1);filter:none}}@keyframes flash{0%,40%{opacity:0}50%{opacity:1}100%{opacity:0}}@keyframes shoot{0%{transform:translate(0, 0) rotate(16deg);opacity:0}1.5%{opacity:1}8%{transform:translate(560px, 160px) rotate(16deg);opacity:0}100%{transform:translate(560px, 160px) rotate(16deg);opacity:0}}@keyframes blink{to{visibility:hidden}}@keyframes fadein{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}html{scroll-behavior:smooth}.stars{will-change:transform}.s1{animation:drift 240s linear infinite}.s2{animation:drift 190s linear infinite}.s3{animation:drift 150s linear infinite,twinkleSoft 7s ease-in-out infinite alternate}.space.warp .stars{animation:warp 1.6s cubic-bezier(0.55, 0, 0.35, 1) 1}.space.warp .flash{animation:flash 1.6s ease-out 1}.sat-btn{animation:orbitpath 60s linear infinite}.sky::before{animation:twinkle 3.6s ease-in-out infinite alternate}.sky::after{content:"";position:absolute;top:10%;left:-8%;width:150px;height:1px;pointer-events:none;opacity:0;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--star) 95%, transparent));animation:shoot 11s ease-in 4s infinite}.cat.is-on .star::after{animation:spin 14s linear infinite}.status--offline::before{animation:blink 1.4s steps(2, start) infinite}.screen.is-changing img{animation:fadein .45s ease}