body {
	background-image: radial-gradient(circle at 50% 10%, #1e3a8a 0%, #0f172a 100%);
	background-attachment: fixed;
}

.castle-bg {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='0.1' d='M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,224C672,245,768,267,864,261.3C960,256,1056,224,1152,197.3C1248,171,1344,149,1392,138.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: cover;
}

.text-shadow {
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
}

.card-zoom {
	transition: transform 0.3s ease;
}

.card-zoom:hover {
	transform: scale(1.02);
}

canvas {
	touch-action: none;
}

.theme-control {
	min-width: 11rem;
}
