@font-face {
	font-family: 'Authentic Condensed';
	src: url('assets/fonts/limkin.ttf');
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Authentic Condensed', sans-serif;
	font-variation-settings: 'wght' 500, "SRFF" 0;
}
:root {
	--primary: 0,0,0;
	--secondary: 255,255,255;
}
body {
	background-color: var(--secondary);
}

/* Links */
.content {
	padding: 3px;
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	width: 100vw;
	min-height: 100dvh;
}
.heading {
	font-size: 18px;
	height: 2em;
	padding-top: .2em;
	width: 100%;
	align-self: start;
	justify-self: start;
	display: flex;
	align-items: center;
	justify-content: center;
}
.content a {
	flex-grow: 1;
	text-decoration: none;
	text-align: center;
	animation: link-in .5s forwards;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgb(var(--primary));
	padding: .3em .1em .1em .1em;
	transform: scale(0);
}
@keyframes link-in {
	from {
		transform: scale(0);
	}
	to {
		transform: scale(1);
	}
}

/* Found */
.content a[data-state="0"] {
	border: 3px solid rgb(var(--primary));
	background-color: rgb(var(--primary));
	color: rgb(var(--secondary));
	/* order: 0; */
}
/* Not found */
.content a[data-state="1"] {
	border: 3px solid rgb(var(--primary));
	background-color: rgb(var(--secondary));
	color: rgb(var(--primary));
	/* order: 1; */
}
/* Timed out */
.content a[data-state="2"] {
	border: 3px dashed rgb(var(--primary));
	background-color: rgba(var(--primary), .2);
	color: rgb(var(--primary));
	/* order: 2; */
}

.content a:hover {
	z-index: 9;
	box-shadow: 0 0 50px rgb(var(--primary));
}
.content a:active {
	box-shadow: unset;
	opacity: .5;
}

/* Homepage */
.home {
	width: 100vw;
	min-height: 100dvh;
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	padding: 3px;
	text-align: center;
}
.home * {
	font-size: 5vw;
	padding: .3em .1em .1em .1em;
}
.home-title {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgb(var(--secondary));
}
.home-desc {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(var(--primary),.2);
	flex-grow: 1;
}
.home-desc * {
	color: rgb(var(--primary));
}
.home-desc a:hover {
	opacity: .8;
}
.home-desc a:active {
	opacity: .5;
}
.home-link {
	flex-grow: 1;
	background-color: rgb(var(--primary));
	color: rgb(var(--secondary));
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid rgb(var(--primary));
}
.home-link:hover {
	background-color: rgb(var(--secondary));
	color: rgb(var(--primary));
}

/* Key */
.key {
	display: flex;
	position: sticky;
	bottom: 0;
	width: 100%;
	background-color: rgb(var(--secondary));
	color: rgb(var(--primary));
	border-top: 2px solid rgb(var(--primary));
	padding: 10px 5px 7px 5px;
	gap: 20px;
	z-index: 999999;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.key-icon {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
}
.key-yes {
	width: 20px;
	height: 20px;
	background-color: rgb(var(--primary));
}
.key-no {
	width: 20px;
	height: 20px;
	background-color: rgb(var(--secondary));
	border: 2px solid rgb(var(--primary));
}
.key-timeout {
	width: 20px;
	height: 20px;
	background-color: rgba(var(--primary), .2);
	border: 2px dashed rgb(var(--primary));
}
.key-btn {
	background-color: rgb(var(--primary));
	border: 2px solid rgb(var(--primary));
	color: rgb(var(--secondary));
	padding: 2px 20px 0 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 12px;
	text-decoration: none;
}
.key-btn:hover {
	opacity: .8;
}
.key-btn:active {
	opacity: .5;
}

/* Print */
@page {
	size: 18.5in 24.5in;
	margin: .25in;
}
@media print {
	* {
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}
	.content {
		display: flex;
		flex-wrap: wrap;
		gap: 3px;
		width: 18in;
		height: 24in;
	}
	.key {
		display: none;
	}
}