/* Weather source status — live readings and seasonal fallback stay unmistakable. */
html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 5px 7px !important;
  margin: -2px 8px 10px 0 !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(218, 237, 232, 0.13) !important;
  border-radius: 10px !important;
  background: rgba(7, 18, 20, 0.2) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  color: rgba(226, 243, 238, 0.78) !important;
  font: 500 8px/1.35 Inter, "PingFang SC", sans-serif !important;
  letter-spacing: 0.04em !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status > i {
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #69d9ef !important;
  box-shadow: 0 0 0 4px rgba(105, 217, 239, 0.11), 0 0 12px rgba(105, 217, 239, 0.44) !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status > span {
  min-width: 0 !important;
  color: inherit !important;
  font: inherit !important;
  white-space: nowrap !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status > time {
  color: rgba(226, 243, 238, 0.52) !important;
  font: 450 7px/1.35 Inter, "PingFang SC", sans-serif !important;
  white-space: nowrap !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status > a {
  grid-column: 2 / 4 !important;
  justify-self: start !important;
  color: rgba(226, 243, 238, 0.48) !important;
  font: 450 7px/1.2 Inter, sans-serif !important;
  text-decoration: none !important;
  transition: color 160ms ease !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status > a:hover,
html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status > a:focus-visible {
  color: #fff !important;
  outline: none !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status[data-state="live"] {
  border-color: rgba(105, 234, 184, 0.18) !important;
  color: rgba(185, 249, 219, 0.9) !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status[data-state="live"] > i {
  background: #69eab8 !important;
  box-shadow: 0 0 0 4px rgba(105, 234, 184, 0.11), 0 0 13px rgba(105, 234, 184, 0.5) !important;
  animation: weatherLivePulse 2.1s ease-in-out infinite !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status[data-state="reference"] {
  border-color: rgba(255, 195, 94, 0.2) !important;
  color: rgba(255, 220, 160, 0.92) !important;
}

html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status[data-state="reference"] > i {
  background: #ffc35e !important;
  box-shadow: 0 0 0 4px rgba(255, 195, 94, 0.1) !important;
}

@keyframes weatherLivePulse {
  0%,
  100% {
    opacity: 0.65;
    transform: scale(0.86);
  }
  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

@media (prefers-reduced-motion: reduce) {
  html body:is([data-page="climate"], [data-page="systems"]) main #climate .weather-live-status[data-state="live"] > i {
    animation: none !important;
  }
}
