button:focus,
a:focus,
label:focus-within {
	outline: var(--o-width, 1px) dashed;
	outline-offset: var(--o-off, 2px);
}

input:is([type=checkbox], [type=radio]) {
	--size: 1.2em;
	width: var(--size);
	height: var(--size);
	accent-color: var(--color-primary);
}

:is(input, textarea, select).hide {
	position: fixed;
	right: 200vw;
	z-index: -999;
	appearance: none;
	opacity: 0;
}

select option {
	background-color: var(--bg-bright);
	color: var(--fg);
}

.link {
	--c: var(--color-primary);
	text-decoration: underline;
	transition: color .2s;
}

.link:is(:hover, :focus, :focus-within) {
	text-decoration: underline;
	color: var(--c);
}

textarea {
	resize: none;
}

img {
	display: block;
	object-fit: contain;
}

svg {
	width: 0;
	height: 0;
}

p {
	line-height: 1.4;
}

em {
	font-style: normal;
}

.overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}