.animate-words-hl :is(i, b, u, span, mark) {
	position: relative;
	text-decoration: inherit;
	font-weight: inherit;
	font-style: inherit;
	background: inherit;
}

.animate-words-hl :is(i, b, u, span, mark)::after {
	content: " ";
	position: absolute;
	height: 5px;
	background: var(--animate-words-hl-color, #000);
	left: 100%;
	right: 100%;
	bottom: 0;
	opacity: 0;
	transition: left ease-in-out 0.3s, right 0.3s ease-in-out, opacity 0.3s ease-in;
}

.animate-words-hl :is(.hl-i i, .hl-b b, .hl-u u, .hl-mark mark, .hl-span span)::after {
	left: 0;
	right: 0;
	opacity: 1;
	transition: left 0.5s ease-in-out, right 0.5s ease-in-out, opacity 0.5s ease-in;
}

@media (prefers-reduced-motion: reduce) {

	.animate-words-hl :is(i, b, u, span, mark)::after {
		transition: none;
	}

	.animate-words-hl :is(.hl-i i, .hl-b b, .hl-u u, .hl-mark mark, .hl-span span)::after {
		transition: none;
	}
}
