/* FALA ANIMACJI NA ZYWO (2026-10-18). Owner: "te animacje live daj tak, zeby nie wszystkie caly czas mrugaly, tylko
   raczej kazda z innym czasem, zeby szla taka fala bardziej, a nie wszystkie tak samo".
   js/kr_wave.js nadaje kazdemu mrugajacemu elementowi --kr-wave (przesuniecie w fazie wg kolejnosci / miejsca na
   ekranie) i --kr-dur (lekko inny okres). Mruganie LIVE jest teraz miekkie (bez twardego wlacz/wylacz). */

@keyframes krRecSoft { 0%, 100% { opacity: 1; } 50% { opacity: .38; } }
@keyframes krBreath { 0%, 100% { box-shadow: 0 0 0 2px #000, 0 0 8px var(--glow, #ffd257); } 50% { box-shadow: 0 0 0 2px #000, 0 0 16px var(--glow, #ffd257); } }

.kr-tag-live, .kr-rec {
  animation: krRecSoft var(--kr-dur, 1.8s) ease-in-out infinite;
  animation-delay: var(--kr-wave, 0s);
}
.kr-dot { animation-duration: var(--kr-dur, 1.8s); animation-delay: var(--kr-wave, 0s); }
.kr-tab em.kr-tab-live { animation-duration: var(--kr-dur, 1.6s); animation-delay: var(--kr-wave, 0s); }

/* mapa: kazdy gracz delikatnie oddycha poswiata, casterzy pulsuja kregiem -- wszystko fala, nie chorem */
.krm i { --glow: #ffd257; animation: krBreath var(--kr-dur, 2.6s) ease-in-out infinite; animation-delay: var(--kr-wave, 0s); }
.krm.bot i { --glow: var(--mint); }
.krm.cast i { --glow: var(--live); }
.krm.cast i::after { animation-duration: var(--kr-dur, 1.8s); animation-delay: var(--kr-wave, 0s); }

@media (prefers-reduced-motion: reduce) {
  .kr-tag-live, .kr-rec, .kr-dot, .krm i, .krm.cast i::after, .kr-tab em.kr-tab-live { animation: none !important; }
}
