* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	font-family: "PressStart";
	
	height: 100%;
	width: 100%;
	
	overflow: hidden;
}

body {
	position: relative;
	flex-direction: column;
	
	display: flex;
	
	height: 100%;
	width: 100%;
	
	background-color: black;
}

#game {
	height: 100%;
	align-self: center;
}

.overlay {
	position: absolute;
	
	inset: 0;
	
	display: grid;
	place-items: center;
}

.overlay.hidden {
	visibility: hidden;
}

.overlay > * {
	font-size: 1.5rem;
	font-weight: bold;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	
	padding: 2rem;
	
	width: 60%;
	
	background: white;
}

#loading_wrapper {
	user-select: none;
}

#loading_screen {
	border-radius: 1rem;
}

#loading_screen > * {
	display: flex;
	align-items: center;
	gap: 2rem;
}

#loading_screen img {
	width: 12rem;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	
	image-rendering: pixelated;
}

#loading_status::after {
	content: '%';
}

#start_wrapper {
	user-select: none;
	
	background: rgba(0, 0, 0, 0.5);
}

#start {
	gap: 3rem;
	
	padding: 3rem 2rem;
	
	border-radius: 0.5rem;
	
	background: rgba(255, 255, 255, 0.75);
}

#start > * {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

#pause_wrapper {
	user-select: none;
	
	background: rgba(0, 0, 0, 0.5);
}

#pause {
	background: rgba(255, 255, 255, 0.75);
}

#pause > p:first-child {
	font-size: 1.1em;
}

#pause > .setting {
	display: flex;
	gap: 0.5em;
}

#pause > button {
	color: white;
	
	font-size: 2rem;
	font-family: inherit;
	
	padding: 0.3em;
	
	border: 0.1rem solid white;
	border-radius: 0.15em;
	
	background-color: hsl(200deg, 20%, 40%);
	
	cursor: pointer;
}

#pause_wrapper:not(.hidden) > #pause > button {
	animation: 1200ms continueButtonDelay ease-in-out;
}

#pause > button:hover {
	scale: 1.05;
}

#volume-output::after,
#mouse-sensitivity-output::after {
	content: '%';
}

@keyframes continueButtonDelay {
	0% {
		scale: 0;
		pointer-events: none;
	}
	100% {
		scale: 1;
		pointer-events: none;
	}
}

.credits {
	font-size: 0.8em;
	
	background-color: white;
	text-align: center;
	
	position: fixed;
	
	padding: 0.5em;
	
	bottom: 0;
	left: 0;
	right: 0;
}