/* MOON RC11 Phase 2 — short, accessible, performance-bounded cinematic weather */
.moon-weather,
.moon-weather-shade,
.moon-weather-illumination,
.moon-weather-lightning,
.moon-weather-rain{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.moon-weather{z-index:5;overflow:hidden;contain:strict}
.moon-cosmic-cloud{transition:opacity 1.8s ease,filter 1.8s ease}
.moon-weather-shade{
  z-index:1;
  opacity:0;
  background:linear-gradient(180deg,rgba(0,5,12,.68),rgba(2,8,17,.34) 58%,rgba(0,3,8,.54));
  transition:opacity 1.7s ease;
  will-change:opacity;
}
.moon-weather-illumination{
  z-index:2;
  opacity:0;
  background:radial-gradient(circle at var(--flash-x,50%) var(--flash-y,22%),rgba(155,204,255,.22),rgba(77,134,196,.09) 22%,transparent 52%);
  will-change:opacity;
}
.moon-weather-illumination.is-flashing{animation:moonWeatherIllumination .62s ease-out both}
.moon-weather-lightning{z-index:3;overflow:hidden}
.moon-weather-bolt{
  position:absolute;
  left:var(--bolt-x,50%);
  top:var(--bolt-y,4%);
  width:var(--bolt-width,260px);
  max-width:38vw;
  height:auto;
  opacity:0;
  transform:translateX(-50%) scaleX(var(--bolt-flip,1)) rotate(var(--bolt-rotate,0deg));
  transform-origin:50% 0;
  filter:drop-shadow(0 0 9px rgba(134,193,255,.48)) drop-shadow(0 0 22px rgba(90,151,224,.24));
  mix-blend-mode:screen;
  will-change:opacity,filter;
}
.moon-weather-bolt.is-live{animation:moonWeatherBolt .62s ease-out both}
.moon-weather-rain{
  z-index:4;
  opacity:0;
  overflow:hidden;
  transition:opacity .75s ease;
  will-change:opacity;
}
.moon-weather-drop{
  position:absolute;
  left:var(--rain-x,50%);
  top:-14vh;
  width:var(--rain-width,1px);
  height:var(--rain-length,24px);
  border-radius:999px;
  opacity:var(--rain-opacity,.42);
  background:linear-gradient(180deg,transparent,rgba(181,218,255,.72) 24%,rgba(220,238,255,.86));
  transform:translate3d(0,-18vh,0);
  animation:moonWeatherRain var(--rain-duration,.8s) linear infinite;
  animation-delay:var(--rain-delay,0s);
}
body.moon-weather-gathering .moon-weather-shade{opacity:.22}
body.moon-weather-electrical .moon-weather-shade{opacity:.38}
body.moon-weather-raining .moon-weather-shade{opacity:.48}
body.moon-weather-clearing .moon-weather-shade{opacity:.12;transition-duration:1.4s}
body.moon-weather-gathering .moon-cosmic-cloud{opacity:.18!important;filter:brightness(.74) saturate(.82) drop-shadow(0 0 20px rgba(125,169,211,.09))}
body.moon-weather-electrical .moon-cosmic-cloud,
body.moon-weather-raining .moon-cosmic-cloud{opacity:.24!important;filter:brightness(.58) saturate(.72) drop-shadow(0 0 26px rgba(121,174,228,.14))}
body.moon-weather-clearing .moon-cosmic-cloud{opacity:.14!important;filter:brightness(.84) saturate(.88)}
body.moon-weather-raining .moon-weather-rain{opacity:1}
body.moon-weather-clearing .moon-weather-rain{opacity:0;transition-duration:1.2s}

@keyframes moonWeatherRain{
  0%{transform:translate3d(0,-18vh,0)}
  100%{transform:translate3d(0,124vh,0)}
}
@keyframes moonWeatherBolt{
  0%,8%{opacity:0;filter:brightness(.8) drop-shadow(0 0 7px rgba(134,193,255,.28))}
  14%{opacity:.86;filter:brightness(1.28) drop-shadow(0 0 12px rgba(164,215,255,.62))}
  24%{opacity:.16}
  34%{opacity:.52;filter:brightness(1.08) drop-shadow(0 0 18px rgba(105,174,245,.42))}
  48%,100%{opacity:0;filter:brightness(.8) drop-shadow(0 0 7px rgba(105,174,245,.18))}
}
@keyframes moonWeatherIllumination{
  0%,8%{opacity:0}
  15%{opacity:1}
  36%{opacity:.24}
  65%,100%{opacity:0}
}

@media (max-width:767px){
  .moon-weather-bolt{max-width:52vw}
  .moon-weather-drop{height:min(var(--rain-length,22px),32px)}
}
@media (prefers-reduced-motion:reduce){
  .moon-weather{display:none!important}
}
body.moon-weather-disabled .moon-weather{display:none!important}
