:root {
	background-color: #222;
	color: white;
	font-family: "JetBrainsMono NF";
	line-height: 1.5;
	--line-color: #555;
	--input-background-color: #111;
}

a {
	color: #ff0;
	&[target="_blank"]::after {
		content: "⤴";
		font-weight: bold;
	}
}

* + p {
	margin-top: 2em;
}

h1 {
	text-align: center;
}

ol {
	margin: 0;
}

li::marker {
	font-weight: bold;
}

body {
	padding: 1rem;
	width: min(100%, 90ch);
	margin: auto;
	box-sizing: border-box;
}

hr {
	border-color: var(--line-color);
	width: 80%;
}

label {
	display: contents;
	font-weight: bold;
}

input {
	background-color: var(--input-background-color);
	color: white;
	padding: 0.8em;
	border: round(0.1rem, 1px) solid var(--line-color);

	font-size: inherit;
	font-family: inherit;

	&::placeholder {
		opacity: 0.5;
	}
}

form {
	margin-top: 2rem;
	display: grid;
	align-items: center;
	column-gap: 2rem;
	row-gap: 2rem;
	grid-template-columns: 1fr 2fr;

	button {
		margin-top: 2rem;
		grid-column: 1 / -1;
		padding: 0.8em;
		background-color: var(--input-background-color);
		border-color: var(--line-color);
		color: white;
		font-size: inherit;
		font-family: inherit;

		cursor: pointer;
		&:hover {
			border-color: #ff0;
			color: #ff0;
		}
		&:active {
			transform: scale(0.95);
		}
	}
	input[type="checkbox"] {
		justify-self: left;
		height: 2em;
		width: 2em;
	}
}

#error {
	grid-column: 1 / -1;
	padding: 1em;
	color: #d33;
	border: round(0.1rem, 1px) solid #d33;
}

.box {
	padding: 1em;
	border: round(0.1rem, 1px) solid var(--line-color);
}
