.ail-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.ail-item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.ail-icon,
.ail-anim-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
}

/* Ensure inner SVG fills the configured space but maintains ratio */
.ail-icon svg,
.ail-icon i {
	display: block;
	transition: all 0.3s ease;
}

/* Default dimensions for SVG to prevent collapsing in flexbox if unstyled */
.ail-icon svg {
	width: 1em;
	height: 1em;
}

/* When animated, wrapper acts as the visual container */
.ail-anim-wrapper {
	animation-duration: 2s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}

.ail-text {
	margin: 0;
	padding: 0;
}

/* Animations */
@keyframes ail-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.ail-anim-blink { animation-name: ail-blink; }

@keyframes ail-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
.ail-anim-pulse { animation-name: ail-pulse; }

@keyframes ail-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.ail-anim-shake { animation-name: ail-shake; }

@keyframes ail-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.ail-anim-bounce { animation-name: ail-bounce; }

@keyframes ail-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.ail-anim-float { animation-name: ail-float; }

@keyframes ail-wobble { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(-5deg); } 75% { transform: rotate(5deg); } }
.ail-anim-wobble { animation-name: ail-wobble; }

@keyframes ail-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.ail-anim-rotate { animation-name: ail-rotate; animation-timing-function: linear; }

@keyframes ail-swing { 20% { transform: rotate3d(0, 0, 1, 15deg); } 40% { transform: rotate3d(0, 0, 1, -10deg); } 60% { transform: rotate3d(0, 0, 1, 5deg); } 80% { transform: rotate3d(0, 0, 1, -5deg); } to { transform: rotate3d(0, 0, 1, 0deg); } }
.ail-anim-swing { animation-name: ail-swing; }

@keyframes ail-pop { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } }
.ail-anim-pop { animation-name: ail-pop; }

@keyframes ail-glow-pulse { 0% { box-shadow: 0 0 0 0 rgba(0,0,0, 0.2); } 70% { box-shadow: 0 0 0 10px rgba(0,0,0, 0); } 100% { box-shadow: 0 0 0 0 rgba(0,0,0, 0); } }
.ail-anim-glow-pulse { animation-name: ail-glow-pulse; border-radius: 50%; }
