:root {
	--black: #000000;
	--grey: #7c7c7c;
	--white: #e1e1e1;
	--brown: #918344;
	--red: #ff2b10;
	--orange: #ff9322;
	--yellow: #ffff2c;
	--green: #79ff7d;
	--blue: #44daff;
	--purple: #a26cff;
	--fuschia: #ff45b4;
}

@font-face {
	font-family: 'SG04';
	src: url('data:font/woff2;charset=utf-8;base64,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') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

html, body {
	margin:0;
	padding:0;
	font-family: 'SG04', monospace;
	font-size:3.75vw;
	line-height:1.25em;
	background:#000000;
	color:#d0d0d0;
	overflow:hidden;
	overscroll-behavior:none;
	height:100%;
	max-height:100%;
}

@media (min-width: 640px) {
	html, body {
		font-size:24px;
	}
}

/* @media (min-width: 1024px) {
	html, body {
		font-size:1.11111111vw;
	}  
} */

.text-right {
	text-align:right;
}

.text-ui {
	font-size:1em;
	line-height:1em;
	text-transform:uppercase;
}

.hidden {
	visibility:hidden;
}

.debug {
	user-select: none;
	pointer-events: none;
	position:fixed;
	bottom:0;
	left:0;
	z-index:1000000;
	background:#303030;
	color:#ffffff;
	padding:0.4em 0.6em;
}

div, p, button, input, textarea, select, option, a {
	font-size:1em;
}

a, a:hover, a:visited {
	color:currentColor;
	text-decoration:none;
}

.w-100 { width:100%; }
.w-90 { width:90%; }
.w-80 { width:80%; }
.w-70 { width:70%; }
.w-60 { width:60%; }
.w-50 { width:50%; }
.w-40 { width:40%; }
.w-30 { width:30%; }
.w-20 { width:20%; }
.w-10 { width:10%; }

.screen {
	width:100%;
	/* height:100vh; */
	height:100%;
	overflow:hidden;
}

.flex {
	display:flex;
	align-items: center;
	justify-content: center;
}

.flex-col {
	flex-direction: column;
}

.flex-wrap {
	flex-wrap: wrap;
}

.p-1 { padding:1rem }
.pr-1 { padding-right:1rem }
.m-1 { margin:1rem }
.mb-2 { margin-bottom:2rem }
