@keyframes gridCellPing { 0%,100% { background:rgba(255,255,255,.05); } 50% { background:#E92038; box-shadow:0 0 10px rgba(233,32,56,.6); } }
.mini-gcell { background:rgba(255,255,255,.05); border-radius:1px; }
.mini-gcell.p1 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: 0s; }
.mini-gcell.p2 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: .3s; }
.mini-gcell.p3 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: .6s; }
.mini-gcell.p4 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: .9s; }
.mini-gcell.p5 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: 1.2s; }
.mini-gcell.p6 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: 1.5s; }
.mini-gcell.p7 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: 1.8s; }
.mini-gcell.p8 { animation: gridCellPing 2.4s ease-in-out infinite; animation-delay: 2.1s; }
.heap-grain.r { background: #E92038; }
.rx-path   { fill:none; stroke:#e92038; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 6px rgba(233,32,56,.8)); stroke-dasharray:200; animation:rxTrace 4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .mini-gcell, .heap-falling, .heap-count, .rx-vstar, .rx-path, .rx-target, .rx-pad,
  .kk-orb, .kk-ring, .kk-eye, .kk-spark, .silp-all__grid span { animation: none !important; }
}
