* { box-sizing: border-box; }
		body {
			min-height: 100vh;
			margin: 0;
			display: grid;
			place-items: center;
			padding: 24px;
			color: #39274d;
			font-family: "Trebuchet MS", "Segoe UI", sans-serif;
			background: linear-gradient(135deg, #fff6e8, #ffedf3 55%, #f0edff);
		}
		.card {
			position: relative;
			width: min(100%, 620px);
			padding: clamp(38px, 8vw, 72px) 26px;
			text-align: center;
			border: 1px solid #ffffffd9;
			border-radius: 30px;
			background: #ffffffc9;
			box-shadow: 0 24px 70px #593a701f;
			animation: appear .7s ease-out both;
		}
		.eyebrow {
			margin: 0 0 12px;
			color: #985c9f;
			font-size: .78rem;
			font-weight: 800;
			letter-spacing: .2em;
			text-transform: uppercase;
		}
		.cake {
			display: block;
			margin-bottom: 14px;
			font-size: clamp(4rem, 12vw, 5.5rem);
			animation: bob 2.4s ease-in-out infinite;
		}
		h1 {
			margin: 0;
			color: #50316f;
			font-size: clamp(2.5rem, 9vw, 4.5rem);
			line-height: 1.05;
			letter-spacing: -.05em;
		}
		.message {
			max-width: 410px;
			margin: 20px auto 28px;
			color: #6d6277;
			font-size: clamp(1rem, 3vw, 1.15rem);
			line-height: 1.7;
		}
		.wish {
			display: inline-block;
			padding: 13px 22px;
			border-radius: 999px;
			background: #f5e8ff;
			color: #70458d;
			font-weight: 700;
		}

		.choice {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%; /* За да се разпъват красиво до определен лимит */
			max-width: 450px; /* Ограничава максималната ширина, за да не стават прекалено дълги */
			margin: 12px auto; /* 12px отгоре/отдолу и auto отляво/отдясно ги центрира перфектно! */
			padding: 13px 22px;
			border-radius: 999px;
			background: #f5e8ff;
			color: #70458d;
			font-weight: 800;
			border: none;
			cursor: pointer;
			transition: background 0.2s, transform 0.1s; /* Добавяме лек ефект и при натискане */
		}

		.choice:hover {
			background: #ead2ff; 
		}
		.sparkle {
			position: absolute;
			color: #e7b347;
			font-size: 1.6rem;
			animation: twinkle 1.8s ease-in-out infinite alternate;
		}
		.one { top: 17%; left: 11%; }
		.two { top: 23%; right: 12%; animation-delay: .5s; }
		.three { bottom: 16%; left: 16%; animation-delay: .9s; }
		@keyframes appear {
			from { opacity: 0; transform: translateY(16px); }
			to { opacity: 1; transform: translateY(0); }
		}
		@keyframes bob {
			0%, 100% { transform: translateY(0) rotate(-3deg); }
			50% { transform: translateY(-8px) rotate(3deg); }
		}
		@keyframes twinkle {
			from { opacity: .45; transform: scale(.8); }
			to { opacity: 1; transform: scale(1.15); }
		}
		@media (prefers-reduced-motion: reduce) {
			*, *::before, *::after { animation: none !important; }
		}