/* WormGPT chat + agent background: local CSS equivalent of the supplied
   four Tailwind layers. No CDN or external scripts (Agent CSP is self-only). */
html body.wa-agent-page,
html[data-wg-theme] body.wg-chat-agent-mirror.wa-agent-page {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  isolation: isolate;
}
.wg-red-glow-bg {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: -1;
  pointer-events: none !important;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
}
.wg-red-glow-bg,
.wg-red-glow-bg > div { box-sizing: border-box; }
.wg-red-glow-bg__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, #000 0%, #4a0000 50%, #000 100%);
  opacity: .8;
  filter: blur(40px); /* Tailwind blur-2xl */
}
.wg-red-glow-bg__halo {
  position: absolute;
  left: 50%;
  background: #ff0000;
  border-radius: 9999px;
  pointer-events: none;
  animation: wg-chat-agent-pulse-glow 4s infinite ease-in-out;
}
.wg-red-glow-bg__halo--center {
  top: 50%;
  width: 80vw;
  height: 80vh;
  height: 80dvh;
  transform: translate(-50%, -50%);
  opacity: .20;
  filter: blur(100px);
}
.wg-red-glow-bg__halo--top {
  top: 0;
  width: 70vw;
  height: 50vh;
  height: 50dvh;
  transform: translate(-50%, -50%);
  opacity: .15;
  filter: blur(120px);
}
.wg-red-glow-bg__halo--bottom {
  bottom: 0;
  width: 70vw;
  height: 50vh;
  height: 50dvh;
  transform: translate(-50%, 50%);
  opacity: .15;
  filter: blur(120px);
}
@keyframes wg-chat-agent-pulse-glow {
  0%, 100% { opacity: .15; }
  50%      { opacity: .35; }
}
@media (prefers-reduced-motion: reduce) {
  .wg-red-glow-bg__halo { animation: none !important; }
  .wg-red-glow-bg__halo--center { opacity: .20 !important; }
  .wg-red-glow-bg__halo--top,
  .wg-red-glow-bg__halo--bottom { opacity: .15 !important; }
}
