/* GlitchCraft Engine effect: grid-glow
   A faint, static grid pattern radially masked toward the top of the
   viewport — keeps a flat background from reading as empty. No JS, no
   animation: a body::before pseudo-element rather than markup, so a site
   opts in purely via "effects": ["grid-glow"] in site.json, same as any
   other effect. Reads --ink (always set) rather than a hardcoded white, so
   the line color keeps working on a light theme too, not just a dark one
   like gamena's — extracted from gamena's original .glow div/rule.

   Pseudo-element slot: body::before. Each ambient full-viewport effect
   needs its own slot (only two pseudo-elements per real element, no markup
   element of its own to attach to) — star-field/noise-overlay use the other
   root element (html::before/::after) specifically so a site can combine
   one of those with this one without either clobbering the other's rule. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--ink) 3%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--ink) 3%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 72%);
  -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 72%);
}
