/* Fireflies (extracted) */
.fireflies{ position:fixed; inset:0; pointer-events:none; z-index:9999; isolation:isolate; }
.ff{
  position:absolute; width:7px; height:7px; border-radius:50%;
  background: radial-gradient(circle, #fff7e6 30%, #ffd39b 52%, rgba(255,158,60,.20) 65%, transparent 72%);
  --alpha: .10; --halo: .10;
  opacity: var(--alpha);
  will-change: left, top, opacity, filter;
  filter:
    drop-shadow(0 0 14px rgba(255,200,120,.95))
    drop-shadow(0 0 28px rgba(255,160,70,.60))
    drop-shadow(0 0 46px rgba(255,132,40,.38));
  mix-blend-mode: screen;
}
.ff::after{
  content:""; position:absolute; left:50%; top:50%;
  width:52px; height:52px; margin:-26px 0 0 -26px; border-radius:50%;
  background: radial-gradient(circle, rgba(255,208,136,.75) 0%, rgba(255,168,84,.40) 42%, transparent 72%);
  opacity: var(--halo);
  filter: blur(8px);
  pointer-events:none;
  transition: opacity .25s ease;
}
.ff.on{ --alpha: 1; --halo: .66; }
.ff.shimmer{ animation: shimmer 1.7s ease-in-out infinite; }
@keyframes shimmer { 0%,100%{ transform: translate3d(0,0,0) } 50%{ transform: translate3d(0,0,0) } }


