@font-face {
	font-family: "Pixelify";
	src: url("PixelifySans-Regular.ttf");
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	background-color: black;
}
.container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
}
#parent {
	width: 100vw;
	height: 100dvh;
}
canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
}
video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.controls-toggle {
	position: absolute;
	top: 10px;
	left: 10px;
	background-color: black;
	width: 40px;
	height: 40px;
	border: 2px solid white;
	fill: white;
	padding: 5px;
	cursor: pointer;
	z-index: 999;
}
.controls-toggle svg {
	width: 100%;
	height: 100%;
}
.controls-toggle:hover {
	background-color: white;
	fill: black;
}
.controls-toggle:active {
	background-color: white;
	fill: black;
	opacity: .5;
}
.controls {
	position: absolute;
	top: 0;
	left: 0;
	gap: 10px;
	height: 100vh;
	background-color: rgba(0,0,0,.8);
	padding: 10px;
	display: flex;
	padding-top: 60px;
	flex-direction: column;
	grid-template-columns: 1fr;
	font-family: "Pixelify";
	font-weight: bold;
	text-align: center;
	font-size: 12px;
	text-transform: uppercase;
	color: white;
	overflow-y: scroll;
	border-right: 2px solid white;
	width: 200px;
	z-index: 99;
	touch-action: manipulation;
}
.controls[data-hide="1"] {
	display: none;
}
.input-group {
	display: flex;
	flex-direction: column;
}
.input-label {
	font-size: 12px;
	text-transform: uppercase;
	background-color: white;
	color: black;
	padding: 4px 10px 2px 10px;
	line-height: 1em;
	white-space: nowrap;
	width: 100%;
}
.input-number {
	font-size: 18px;
	border: 2px solid white;
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 2px;
	background-color: white;
	height: 30px;
}
.input-number-txt {
	flex-grow: 1;
	background-color: black;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1em;
	padding: 6px 20px 5px 20px;
}
.input-number-btn {
	height: 100%;
	aspect-ratio: 1/1;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: black;
	border: unset;
	fill: white;
	padding: 2px;
	cursor: pointer;
}
.input-number-btn:hover {
	background-color: white;
	fill: black;
}
.input-number-btn:active {
	background-color: rgba(0,0,0,.5);
	fill: black;
	opacity: .5;
}
.input-number-btn svg {
	height: 100%;
}
.controls input:focus {
	outline: unset;
}
.input-btn {
	border: 2px solid white;
	color: white;
	background-color: black;
	height: 30px;
	font-size: 18px;
	padding: 4px 20px 5px 20px;
	font-family: 'Pixelify';
	font-weight: bold;
	text-align: center;
	border-radius: 0;
	line-height: 1em;
	cursor: pointer;
	height: 30px;
}
.input-btn:hover {
	background-color: white;
	color: black;
}
.input-btn:active {
	opacity: .5;
}
.message {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	background-color: white;
	color: black;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	padding: 20px;
	z-index: 9999;
	font-family: 'Pixelify';
	text-align: center;
	cursor: pointer;
	gap: 10px;
	flex-direction: column;
}
.message img {
	max-width: 200px;
	width: 100%;
}
.message div {
	border: 2px solid black;
	padding: 10px 20px;
}
.message div:hover {
	background-color: black;
	color: white;
}
.message div:active {
	opacity: .5;
}
.desc {
	font-size: 14px;
	text-align: left;
}
.desc a {
	background-color: white;
	color: black;
	display: block;
	text-decoration: none;
	padding: 4px 20px 5px 20px;
	margin-top: 10px;
	text-align: center;
	border: 2px solid white;
	font-size: 18px;
}
.desc a:hover {
	background-color: black;
	color: white;
}
.desc a:active {
	opacity: .5;
}