body.page-jaxa-support {
  position: relative; }
  body.page-jaxa-support .space-bg {
    position: fixed;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    pointer-events: none;
    background: radial-gradient(closest-corner, #00a0e9 0%, #002063 100%); }
  body.page-jaxa-support .star {
    position: absolute;
    border-radius: 50%;
    opacity: 0.8;
    animation: twinkle var(--twinkle, 2s) infinite alternate ease-in-out;
    will-change: opacity, transform; }
@keyframes twinkle {
  0% {
    opacity: 0.2;
    transform: scale(0.9); }
  100% {
    opacity: 1;
    transform: scale(1.05); } }
  body.page-jaxa-support .shooting-star {
    position: absolute;
    top: var(--start-y);
    left: var(--start-x);
    width: var(--tail, 80px);
    height: 2px;
    background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0));
    border-radius: 2px;
    filter: drop-shadow(0 0 6px #fff);
    transform: translate(-50%, -50%) rotate(45deg);
    animation: shoot 1.2s ease-out forwards; }
    body.page-jaxa-support .shooting-star::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
      filter: blur(1px); }
@keyframes shoot {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(45deg) scaleX(0.2); }
  10% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(45deg) scaleX(1); }
  100% {
    opacity: 0;
    transform: translate(calc(var(--end-x) - var(--start-x)), calc(var(--end-y) - var(--start-y))) rotate(45deg) scaleX(0.6); } }
  @media (prefers-reduced-motion: reduce) {
    body.page-jaxa-support .star, body.page-jaxa-support .shooting-star {
      animation: none !important; } }

.probe-sprite {
  position: fixed;
  inset: auto;
  z-index: -1 !important;
  pointer-events: none;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.35)); }

@media (prefers-reduced-motion: reduce) {
  .probe-sprite {
    display: none !important; } }
