.wl-root {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: #2F3A4C;
  contain: layout paint;
  touch-action: pan-y;
}
.wl-stage { position: absolute; left: 0; top: 0; transform-origin: 0 0; will-change: transform; }
.wl-svg, .wl-rain { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.wl-root .glint { transform-box: fill-box; transform-origin: center; opacity: 0; animation: wl-glint 3s linear infinite; }
@keyframes wl-glint {
  0% { opacity: 0; transform: translateX(-14px) scaleX(.5); }
  40% { opacity: .9; }
  100% { opacity: 0; transform: translateX(22px) scaleX(1.1); }
}
.wl-reduced .glint { animation: none; opacity: .6; }
@media (prefers-reduced-motion: reduce) { .wl-root .glint { animation: none; opacity: .6; } }
