@charset "utf-8";
/* CHECKLIST */
.checklist {
	--checklist-box: 1.25rem;
	border: 1px solid var(--background-trim);
	border-radius: var(--radius);
	margin-block: var(--margin-gap);
	padding: var(--buffer);
	}
.checklist-header {
	color: var(--color-header-sub);
	font-family: var(--font-style);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semi);
	margin-bottom: var(--spacing);
	}
.checklist-items {
	border-top: 1px solid var(--background-trim);
	display: grid;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-normal);
	list-style: none;
	margin: 0;
	padding: 0;
	}
.checklist-item {
	border-bottom: 1px solid var(--background-trim);
	position: relative;
	}
.checklist-input {
	height: 1px;
	margin: 0;
	opacity: 0;
	position: absolute;
	width: 1px;
	}
.checklist-label {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: var(--gap-small);
	grid-template-columns: var(--checklist-box) 1fr;
	padding-block: var(--space-10);
	}
.checklist-box {
	border: 2px solid var(--color-text);
	border-radius: var(--radius);
	height: var(--checklist-box);
	transition: background-color var(--animation-duration) var(--animation-easing), border-color var(--animation-duration) var(--animation-easing);
	width: var(--checklist-box);
	}
.checklist-input:checked + .checklist-label > .checklist-box {
	background-color: var(--color-arrow);
	border-color: var(--color-arrow);
	}
.checklist-input:focus-visible + .checklist-label > .checklist-box {
	outline: 2px solid var(--color-link);
	outline-offset: 2px;
	}
.checklist-message {
	color: var(--color-bright);
	font-size: var(--font-size-sm);
	margin-top: var(--space-10);
	}
.checklist-message:empty {
	display: none;
	}
.checklist-count {
	color: var(--color-text);
	font-weight: var(--font-weight-heavy);
	}
.checklist-buttons {
	margin-block: var(--buffer) 0;
	}
@media (hover: hover) and (pointer: coarse), (hover: hover) and (pointer: fine) {
	.checklist-label:hover > .checklist-box {
		border-color: var(--color-accent);
		}
}