@keyframes jbe-bw-flow {
	0% {
		background-position: 0 200%;
	}
	100% {
		background-position: 0 0;
	}
}

.jbe-generated-report {
	display: block;
	margin-top: 0.35rem;
	text-align: center;
	font-weight: 700;
	font-style: italic;
	line-height: 1.35;
}

.jbe-generated-report .animated-wrapper {
	--stroke-size: 1.5px;
	--animation-duration: 2s;
	position: relative;
	display: inline-block;
	max-width: 100%;
	isolation: isolate;
	white-space: normal;
	overflow-wrap: anywhere;
}

.jbe-generated-report .stroke-text,
.jbe-generated-report .fill-text {
	display: block;
	font: inherit;
	letter-spacing: 0;
	background-repeat: repeat-y;
	background-size: 100% 200%;
	animation: jbe-bw-flow var(--animation-duration) linear infinite;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.jbe-generated-report .stroke-text {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: linear-gradient(
		to top,
		#fff 0%,
		#fff 50%,
		#111 50%,
		#111 100%
	);
	-webkit-text-stroke: var(--stroke-size) transparent;
	paint-order: stroke fill;
}

.jbe-generated-report .fill-text {
	position: relative;
	z-index: 1;
	background-image: linear-gradient(
		to top,
		#111 0%,
		#111 50%,
		#fff 50%,
		#fff 100%
	);
}

@media (prefers-reduced-motion: reduce) {
	.jbe-generated-report .stroke-text,
	.jbe-generated-report .fill-text {
		animation: none;
		background-position: 0 100%;
	}
}

@supports not (-webkit-background-clip: text) {
	.jbe-generated-report .stroke-text {
		display: none;
	}

	.jbe-generated-report .fill-text {
		background: none;
		color: #fff;
		-webkit-text-fill-color: currentColor;
		text-shadow:
			-1px -1px 0 #111,
			1px -1px 0 #111,
			-1px 1px 0 #111,
			1px 1px 0 #111;
	}
}
