@layer utilities {
	.flip-card {
		perspective: 1000px;
	}

	.flip-card-inner {
		transition: transform 0.6s;
		transform-style: preserve-3d;
	}

	.flip-card.flipped .flip-card-inner {
		transform: rotateY(180deg);
	}

	.flip-card-front,
	.flip-card-back {
		backface-visibility: hidden;
	}

	.flip-card-back {
		transform: rotateY(180deg);
	}
}

.animate-spin {
	animation: spin 1s linear infinite;
	display: inline-block;
	margin-right: 8px;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.transition-opacity {
	transition-property: opacity;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.duration-300 {
	transition-duration: 300ms;
}

.opacity-0 {
	opacity: 0;
}

#card {
	perspective: 1000px;
}

#card-inner {
	transition: transform 0.6s;
	transform-style: preserve-3d;
	position: relative;
}

#card.flipped #card-inner {
	transform: rotateY(180deg);
}

#front,
#back {
	backface-visibility: hidden;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#front {
	transform: rotateY(0deg);
}

#back {
	transform: rotateY(180deg);
}
