/* Card dealing + flip animations.
   Each lane uses a tailored entrance so the card visibly arcs from the deck pile.
   Easing favors a confident slide with a soft landing, mimicking real dealing. */

@keyframes deal-dealer {
	0% {
		transform: translate(-220px, 0) rotate(-12deg);
		opacity: 0;
	}
	60% {
		opacity: 1;
	}
	100% {
		transform: translate(0, 0) rotate(0);
		opacity: 1;
	}
}

@keyframes deal-player {
	0% {
		transform: translate(-180px, -90px) rotate(-18deg);
		opacity: 0;
	}
	60% {
		opacity: 1;
	}
	100% {
		transform: translate(0, 0) rotate(0);
		opacity: 1;
	}
}

@keyframes deal-player-split {
	0% {
		transform: translate(-180px, -300px) rotate(-22deg);
		opacity: 0;
	}
	60% {
		opacity: 1;
	}
	100% {
		transform: translate(0, 0) rotate(0);
		opacity: 1;
	}
}

@keyframes dealer-cardflip {
	0%   { transform: perspective(640px) rotateY(0); }
	45%  { transform: perspective(640px) rotateY(90deg); }
	55%  { transform: perspective(640px) rotateY(-90deg); }
	100% { transform: perspective(640px) rotateY(0); }
}

#dealer .card {
	animation: deal-dealer 0.4s cubic-bezier(.18,.78,.22,1);
}

#user-hand .card {
	animation: deal-player 0.45s cubic-bezier(.18,.78,.22,1);
}

#user-split-hand .card {
	animation: deal-player-split 0.5s cubic-bezier(.18,.78,.22,1);
}

#dealer .card.flipped {
	animation: dealer-cardflip 0.5s cubic-bezier(.4,.0,.2,1);
}

@media (prefers-reduced-motion: reduce) {
	#dealer .card,
	#user-hand .card,
	#user-split-hand .card,
	#dealer .card.flipped {
		animation: none !important;
	}
}
