/* ==============================
   Sky Effects - Shooting Stars & Passing Planets
   ============================== */

/* --- Shooting Stars --- */

.shooting-star {
  position: absolute;
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 220, 1));
  border-radius: 1px;
  pointer-events: none;
  z-index: 20;
  filter: drop-shadow(0 0 4px rgba(255, 255, 200, 0.9))
          drop-shadow(0 0 8px rgba(255, 255, 150, 0.5));
  opacity: 0;
  animation: shootingStar var(--shoot-duration, 0.8s) ease-out forwards;
}

.shooting-star::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ffffee;
  box-shadow: 0 0 6px 2px rgba(255, 255, 220, 0.9),
              0 0 12px 4px rgba(255, 255, 180, 0.4);
}

@keyframes shootingStar {
  0% {
    opacity: 1;
    transform: translate(0, 0) rotate(var(--shoot-angle, -25deg)) scaleX(0.3);
  }
  30% {
    opacity: 1;
    transform: translate(var(--shoot-dx-mid, 150px), var(--shoot-dy-mid, 60px)) rotate(var(--shoot-angle, -25deg)) scaleX(1);
  }
  100% {
    opacity: 0;
    transform: translate(var(--shoot-dx, 500px), var(--shoot-dy, 200px)) rotate(var(--shoot-angle, -25deg)) scaleX(0.6);
  }
}


/* --- Passing Planets --- */

.passing-planet {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 18;
  opacity: 0;
  animation: planetDrift var(--planet-duration, 50s) linear forwards;
}

@keyframes planetDrift {
  0% {
    opacity: 0;
    transform: translateX(0);
  }
  3% {
    opacity: 0.7;
  }
  50% {
    opacity: 0.85;
  }
  95% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
    transform: translateX(var(--planet-travel, 110vw));
  }
}

/* Planet variants */
.passing-planet.orange-giant {
  background: radial-gradient(circle at 35% 35%,
    #ffcc66 0%,
    #e8943a 40%,
    #c06820 70%,
    #8a4010 100%);
  box-shadow: 0 0 15px 3px rgba(232, 148, 58, 0.25),
              inset -8px -4px 12px rgba(0, 0, 0, 0.35);
}

.passing-planet.blue-ice {
  background: radial-gradient(circle at 35% 35%,
    #c8e0ff 0%,
    #6eaadc 40%,
    #3a78b5 70%,
    #1e4a7a 100%);
  box-shadow: 0 0 15px 3px rgba(110, 170, 220, 0.25),
              inset -8px -4px 12px rgba(0, 0, 0, 0.35);
}

.passing-planet.red-rocky {
  background: radial-gradient(circle at 35% 35%,
    #e8a090 0%,
    #c45a3a 40%,
    #8b3020 70%,
    #5a1810 100%);
  box-shadow: 0 0 15px 3px rgba(196, 90, 58, 0.25),
              inset -8px -4px 12px rgba(0, 0, 0, 0.35);
}

.passing-planet.pale-yellow {
  background: radial-gradient(circle at 35% 35%,
    #fff8d6 0%,
    #e8d88a 40%,
    #c4b060 70%,
    #988838 100%);
  box-shadow: 0 0 15px 3px rgba(232, 216, 138, 0.25),
              inset -8px -4px 12px rgba(0, 0, 0, 0.35);
}

/* --- Planet Tint Overlay --- */

.planet-tint {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 15;
  opacity: 0;
  transition: opacity 4s ease-in-out, background-color 2s ease;
}

.planet-tint.active {
  opacity: 1;
}
