
:root {
	--text-color: #fff;
	--text-disabled-color: #5d6a7c;
	--surface-color: #28346a;
	--surface-secondary-color: #212b58;
	--surface-tertiary-color: #192042;
	--surface-transparent-color: rgba(40, 52, 106, 0.5);
	--button-color: #112052;
	--button-hover-color: #334b77;
	--button-active-color: #151f41;
	--button-disabled-color: #313d53;
}

@font-face {
	font-family: ForcedSquare;
	src:
		url("../forced_square.woff2") format("woff2"),
		url("../forced_square.woff") format("woff"),
		url("../forced_square.ttf") format("truetype");
}

html, body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;

	background: #000;
}

* {
	font-family: ForcedSquare, Arial, sans-serif;
	line-height: 1;
}

#screen {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}

#ui {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform-origin: 0 0;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

::-webkit-scrollbar {
	width: 8px;
	background-color: #223;
}
::-webkit-scrollbar-thumb {
	border-radius: 4px;
	background-color: #7272c2;
}

::selection {
	background-color:  #5936d6;
	color:  #fff;
}

body {
	scrollbar-color: #7272c2 #223;
}

.hide-cursor {
	cursor: none;
}

.hidden {
	display: none;
}

input[type="text"] {
	margin: 0;
	padding: 4px 8px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
	font-size: 24px;
	font-weight: bold;
	color: var(--text-color);
	background-color: var(--surface-tertiary-color);
	border: none;
	pointer-events:auto;
}
input[type="text"]:focus-visible {
	outline: none;
}

.button {
	position: relative;
	margin: 0;
	padding: 8px 18px;
	background-color: var(--button-color);
	border: none;
	clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
	color: var(--text-color);
	font-size: 32px;

	pointer-events: auto;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
}
.button::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 0;
	height: 100%;
	background-color: var(--button-hover-color);
	border-bottom: 2px solid var(--text-color);
	transition: width 0.1s ease-in-out;
}
.button:hover::after {
	width: 100%;
}
.button:active::after {
	background-color: var(--button-active-color);
}
.button:focus-visible {
	background-color: var(--button-hover-color);
	text-decoration: underline;
	outline: none;
}
.button > img.button-icon {
	margin: -6px -4px 0 -4px;
	padding: 0;
	height: 32px;
	vertical-align: middle;
	pointer-events: none;
}
.button:disabled {
	background-color: var(--button-disabled-color);
	color: var(--text-disabled-color);
	cursor: default;
}
.button:disabled:after {
	content: none;
}