/* ============================================================
   WEDAI v2 — light reads as an LED WALL, not a romantic orb.
   Wide, cool, horizontal bloom washing up from a screen. Restrained.
   ============================================================ */
.glow-field { position: relative; isolation: isolate; }
.glow-field > * { position: relative; z-index: 1; }

.glow { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }

/* wide cool wash — a screen lighting the dark, not a candle */
.glow::before {
  content: ""; position: absolute;
  left: 50%; top: 64%; transform: translate(-50%, -50%);
  width: 130%; height: 620px;
  background: radial-gradient(60% 100% at 50% 50%,
    rgba(150,178,196,0.14) 0%,
    rgba(110,140,160,0.07) 34%,
    rgba(70,96,116,0.028) 60%,
    transparent 82%);
  filter: blur(46px); mix-blend-mode: screen;
}
/* faint cold core */
.glow::after {
  content: ""; position: absolute;
  left: 50%; top: 62%; transform: translate(-50%, -50%);
  width: 60%; height: 300px;
  background: radial-gradient(50% 100% at 50% 50%,
    rgba(210,224,232,0.12) 0%, rgba(150,178,196,0.05) 44%, transparent 76%);
  filter: blur(30px); mix-blend-mode: screen;
}

/* a hairline of cool light, the top edge of an LED wall */
.screen-horizon {
  position: absolute; left: 0; right: 0; height: 1px; z-index: 0;
  background: linear-gradient(90deg, transparent,
    rgba(127,166,189,0.0) 10%, rgba(127,166,189,0.4) 50%,
    rgba(127,166,189,0.0) 90%, transparent);
  pointer-events: none;
}

/* grain, kills banding on the big dark fields */
.grain::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  opacity: 0.05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
