.fooswirls-block {
	position: relative;
	display: block;
	width: var(--fooswirls-size, 250px);
	height: var(--fooswirls-size, 250px);
	max-width: 100%;
	aspect-ratio: 1;
	color: currentColor;
	line-height: 0;
	overflow: visible;
	pointer-events: none;
}

.fooswirls-block--overflow {
	width: 0;
	height: 0;
	max-width: none;
	aspect-ratio: auto;
}

.fooswirls-block--linked {
	pointer-events: auto;
}

.fooswirls-block.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.fooswirls-visual {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.fooswirls-block--linked .fooswirls-visual {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	pointer-events: auto;
}

.fooswirls-block--overflow .fooswirls-visual {
	position: absolute;
	top: 0;
	left: 0;
	width: var(--fooswirls-size, 250px);
	height: var(--fooswirls-size, 250px);
	transform: translate3d(-50%, -50%, 0);
}

.fooswirls-layer {
	position: absolute;
	inset: 0;
	opacity: var(--fooswirls-opacity, 1);
	transform-origin: 50% 50%;
	animation: fooswirls-float var(--fooswirls-float-duration, 12s) ease-in-out infinite alternate;
	animation-delay: var(--fooswirls-float-delay, 0s);
	will-change: transform;
}

.fooswirls-svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	transform-origin: 50% 50%;
	animation: fooswirls-rotate var(--fooswirls-rotate-duration, 14s) linear infinite;
	animation-delay: var(--fooswirls-rotate-delay, 0s);
	will-change: transform;
}

.fooswirls-path {
	transition: stroke-width 0.2s ease;
}

.fooswirls-editor-block {
	display: inline-block;
	max-width: 100%;
}

.fooswirls-editor-block .fooswirls-block--linked {
	pointer-events: none;
}

.fooswirls-editor-block .components-placeholder {
	min-height: 0;
}

@keyframes fooswirls-float {
	0% {
		transform: translate3d(var(--fooswirls-float-x-start, -1%), var(--fooswirls-float-y-start, -1%), 0) scale(var(--fooswirls-scale, 1));
	}

	50% {
		transform: translate3d(var(--fooswirls-float-x-mid, 0.5%), var(--fooswirls-float-y-mid, 0.5%), 0) scale(var(--fooswirls-scale, 1));
	}

	100% {
		transform: translate3d(var(--fooswirls-float-x-end, 1%), var(--fooswirls-float-y-end, 1%), 0) scale(var(--fooswirls-scale, 1));
	}
}

@keyframes fooswirls-rotate {
	0% {
		transform: rotate(var(--fooswirls-from-rotation, 0deg));
	}

	100% {
		transform: rotate(var(--fooswirls-to-rotation, 360deg));
	}
}

@media (prefers-reduced-motion: reduce) {
	.fooswirls-layer,
	.fooswirls-svg {
		animation: none;
	}

	.fooswirls-layer {
		transform: scale(var(--fooswirls-scale, 1));
	}
}
