body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 100vh;
	margin: 0;
	background: rgb(82,82,82);
	background: radial-gradient(circle, rgb(101, 101, 101) 0%, rgba(82,82,82,1) 100%);
	font-family: "Noto Serif Hentaigana", serif;
}

h1, h2 {
	color: white;
	font-weight: 350;
}

.centered {
	display: flex;
	align-items: center;
	justify-content: center;
}

.button {
	text-decoration: none;
	color: white;
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 0.3s ease;
}

.button::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	width: 0;
	background: linear-gradient(90deg, #f9ce34, #ee2a7b, #6228d7);
	transition: width 0.3s ease;
}

.button:hover {
	transform: scale(1.03);
}

.button:hover::after {
	width: 100%;
}

.button i {
	margin-right: 8px;
}

.pulse {
	transform-origin: center;
	transform-box: fill-box;
	animation: pulse .3s infinite alternate ease-in-out;
}

@keyframes pulse {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.15);
	}
}
