SlotMachineUI {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #1a1a1a;
	background-image: linear-gradient(45deg, #222 25%, transparent 25%, transparent 75%, #222 75%, #222), linear-gradient(45deg, #222 25%, transparent 25%, transparent 75%, #222 75%, #222);
	background-size: 60px 60px;
	background-position: 0 0, 30px 30px;

	.machine-body {
		display: flex;
		flex-direction: column;
		height: 100%;
		width: 100%;
		background: linear-gradient(to bottom, #8b0000, #a52a2a);
		border: 8px solid #daa520;
	}

	.title-section {
		padding: 20px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 10px;
	}

	.title {
		font-size: 30px;
		color: #ffe866;
		text-align: center;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 204, 0, 0.8);
		font-weight: bold;
		letter-spacing: 2px;
	}

	.reels-container {
		flex-grow: 1;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 20px;
		background-color: rgba(0, 0, 0, 0.5);
		margin: 0 20px;
		border-radius: 20px;
	}

	.reels {
		display: flex;
		flex-direction: row;
		justify-content: center;
		gap: 25px;
	}

	.reel {
		width: 120px;
		height: 120px;
		background-color: #333;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 60px;
		color: white;
		text-align: center;
		line-height: 120px;
		padding: 0;
		transition: border-color 0.3s ease;
		position: relative;
		border: 5px solid #444;
		border-radius: 10px;

		&.spinning {
			animation: shake 0.1s infinite alternate;
			border-color: #444;
		}

		&.locked {
			animation: none;
			border-color: #ffcc00;
			box-shadow: 0 0 20px #ffcc00;
		}

		&.stopped {
			border-color: #444;
		}
	}

	.message-section {
		padding: 15px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 10px;
	}

	.result-message {
		text-align: center;
		font-size: 20px;
		font-weight: bold;
		color: #ffcc00;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
		height: 40px;
		animation: pulse 1.5s infinite alternate ease-in-out;
	}

	.bet-section {
		padding: 10px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 5px;
	}

	.bet-amount {
		font-size: 25px;
		color: #ffe866;
		text-align: center;
		text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
		font-weight: bold;
		background-color: rgba(0, 0, 0, 0.3);
		padding: 8px 15px;
		border-radius: 15px;
		border: 1px solid #daa520;
	}

	@keyframes shake {
		0% {
			transform: translateY(-3px);
		}

		33% {
			transform: translateY(0px);
		}

		66% {
			transform: translateY(3px);
		}

		100% {
			transform: translateY(0px);
		}
	}

	@keyframes pulse {
		0% {
			opacity: 0.7;
			transform: scale(1);
		}

		100% {
			opacity: 1;
			transform: scale(1.05);
		}
	}
}
