body {
	margin: 0;
	padding: 0;
	background: linear-gradient(
		240deg,
		rgb(220, 30, 85) 0%,
		rgb(139, 102, 241) 100%
	);
	font-family: "Arial", sans-serif;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	overflow: hidden;
	color: white;
	text-align: center;
	user-select: none;
}

h1 {
	font-size: 50px;
	text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
	animation: typing 2s steps(15) 0.5s forwards;
	white-space: nowrap;
	overflow: hidden;
}

#message,
a {
	font-size: 25px;
	margin-top: 20px;
	opacity: 0;
	animation: fadeIn 2s ease-out 4s forwards;
}

a {
	color: white;
	text-decoration: none;
}

@keyframes typing {
	from {
		width: 0;
	}
	to {
		width: 100%;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes confetti {
	0% {
		transform: translateY(-100%) rotate(0);
	}
	100% {
		transform: translateY(100vh) rotate(360deg);
	}
}

@keyframes rainbow {
	0% {
		background-color: #f75367;
	}
	25% {
		background-color: #f8e71c;
	}
	50% {
		background-color: #49fb44;
	}
	75% {
		background-color: #5da3f4;
	}
	100% {
		background-color: #a748fb;
	}
}

.confetti {
	position: absolute;
	top: 0;
	left: 50%;
	width: 5px;
	height: 10px;
	background-color: #fff601;
	animation: confetti 2s infinite ease-in-out, rainbow 2s linear infinite;
	opacity: 0.9;
	animation-delay: calc(0.1s * var(--i));
}

@media (max-width: 480px) {
	h1 {
		font-size: 10vw;
	}
	#message {
		font-size: 8vw;
	}
}