:root {
	--fillable: #17d7b7;
	--focus: #d624ac;
	--error: #d62456;
	--another: #d6b824;
	--font-main: "Rubik var", Rubik, system-ui, sans-serif;
}
.field-label {
	font-weight: 600;
	font-style: italic;
}
.field-error {
	color: var(--error);
	font-weight: bold;
}
.field:has(.field-error:not(:empty)) {
	margin: -0.5rem;
	padding: 0.5rem;
	background-color: rgba(255, 0, 0, 0.1);
}
.field:has(.field-error:not(:empty)) input {
	border-color: var(--error);
}
pre {
	min-height: 300px;
	font-family: var(--font-mono);
	font-size: 14px;
	padding: var(--s-3);
}
header {
	font-weight: bold;
	background: #17d7b7;
	color: #2f0324;
	padding: var(--s-1);
}
main {
	padding: var(--s-1);
	margin-block-start: 0;
}
footer {
	--anchor: var(--color);
	text-align: center;
	font-style: italic;
	opacity: 0.8;
	padding: 1em;
}
footer a {
	font-weight: bold;
}
button,
a.button {
	background: #ec8e0a;
	color: #402805;
	font-weight: bold;
	padding: var(--s-3) var(--s-1);
	text-decoration: none;
	border: 2px solid black;
	display: inline-block;
	cursor: pointer;
}
button[disabled],
a.button[disabled] {
	cursor: not-allowed;
	opacity: 0.6;
	font-style: italic;
}

.columnHeading {
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}
details-helper {
	display: block;
}

dl {
	display: grid;
	grid-template-columns: auto 1fr;
}
input:focus {
	outline-offset: 0;
}
