.il { width: 100%; height: 100%; display: block; overflow: visible; }
.il-flame { transform-box: fill-box; transform-origin: 50% 100%; animation: ns-flicker var(--dur-flicker) var(--ease-breathe) infinite; }
.il-spark { transform-box: fill-box; transform-origin: center; animation: il-twinkle 3.2s var(--ease-breathe) infinite; }
@keyframes il-twinkle { 0%, 100% { opacity: .25; transform: scale(.6); } 50% { opacity: 1; transform: scale(1); } }
.il-spin { transform-box: view-box; transform-origin: 100px 100px; animation: il-spin 60s linear infinite; }
@keyframes il-spin { to { transform: rotate(360deg); } }
.il-swing { animation: il-swing 4s var(--ease-breathe) infinite; }
@keyframes il-swing { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@media (prefers-reduced-motion: reduce) { .il-flame, .il-spark, .il-spin, .il-swing { animation: none; } }
.ns-reduced .il-flame, .ns-reduced .il-spark, .ns-reduced .il-spin, .ns-reduced .il-swing { animation: none; }
