:root {
	--bg-color: #000000;
	--text-color: white;
}

* {
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	height: 100%;
	display: flex;
	overflow: hidden;
	background-color: var(--bg-color);
	background-image: linear-gradient(
		135deg,
		rgba(220, 20, 255, 0.75) 0%,
		rgba(100, 0, 255, 0.1) 45%,
		rgba(0, 230, 255, 0.85) 100%
	);
	background-size: 200% 200%;
	animation: vividMove 8s ease infinite;
	color: var(--text-color);
	font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

section {
	display: none;
	height: 100dvh;
	width: 100dvw;
	overflow-y: scroll;
	overflow-x: hidden;
	scroll-snap-type: y mandatory;

	background-color: var(--bg-color);
	background-image: linear-gradient(
		135deg,
		rgba(220, 20, 255, 0.85) 0%,
		rgba(100, 0, 255, 0.1) 50%,
		rgba(0, 230, 255, 0.9) 100%
	);

	background-size: 200% 200%;
	background-attachment: local;

	animation: vividMove 8s ease infinite;

	opacity: 0;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

section.show {
	display: block;
	opacity: 1;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

section.hide {
	display: none;
	opacity: 0;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes vividMove {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

article {
	height: 100dvh;
	width: 100dvw;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	scroll-snap-align: start;

	color: var(--text-color);
	font-family: sans-serif;
	font-size: 2rem;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.split {
	padding: 2rem auto;
	display: flex;
	flex-direction: row;
	gap: 3rem;
	justify-content: center;
	align-items: center;
}

.split p {
	width: 40%;
}

@media screen and (max-width: 1200px) {
	article {
		font-size: 1.5rem;
		padding: 1.5rem;
	}
}

@media screen and (max-width: 900px) {
	article {
		font-size: 1.5rem;
		padding: 1rem;
	}
	section {
		padding: 0;
	}
}

@media screen and (max-width: 600px) {
	html,
	body {
		font-size: 14px;
	}
	article {
		font-size: 1rem;
		padding: 0.5rem;
		min-height: 80dvh;
		width: 100vw;
	}
	section {
		padding: 0;
	}
}

@media screen and (max-width: 400px) {
	article {
		font-size: 0.9rem;
		padding: 0.2rem;
	}
}

#screen-fade {
	position: fixed;
	inset: 0;
	background: black;
	opacity: 0;
	pointer-events: none;
	z-index: 10000;
	transition: opacity 0.4s ease;
}
#screen-fade.active {
	opacity: 1;
}
