html {
	scrollbar-gutter: stable both-edges;
}
main {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
main > * {
	min-width: 0;
	grid-column: 1 / -1;
}
.md-toolbar {
	grid-row: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}
.md-edit-controls:not([hidden]),
.md-output-controls:not([hidden]),
.md-file-controls {
	display: inline-grid;
	grid-template-columns: repeat(2, 2.5rem);
	gap: 0.5rem;
}
#documents-download {
	grid-column: 2;
}
.md-command-slot {
	display: grid;
}
.md-command-slot > button {
	grid-area: 1 / 1;
}
.md-icon:not([hidden]) {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	max-width: 2.5rem;
	flex: 0 0 2.5rem;
	padding: 0.4rem;
}
.md-icon svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.md-icon.admin-auth-needed {
	font-size: 0.65rem;
}
#documents-source {
	display: block;
	width: 100%;
	min-height: 65vh;
	resize: vertical;
	font-family: Consolas, "Courier New", monospace;
	line-height: 1.5;
}
#documents-publish-status:empty,
#documents-status:empty {
	display: none;
}
#documents-index-status:empty {
	display: none;
}
#documents-document-index li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	padding: 0.4rem 0.75rem;
}
#documents-document-index .md-managed {
	grid-template-columns: minmax(0, 1fr) repeat(4, auto);
}
.md-entry {
	min-width: 0;
	overflow-wrap: anywhere;
}
.md-entry small {
	font-size: 0.85em;
	color: var(--muted);
}
.md-entry input {
	width: 100%;
	min-width: 0;
}
#documents-document-index time {
	white-space: nowrap;
	color: var(--muted);
}
.md-status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.md-contents {
	margin-bottom: 1.25rem;
	border: 1px solid var(--border);
	background: var(--face-soft);
}
.md-contents summary {
	padding: 0.45rem 0.75rem;
	min-height: 2.5rem;
	font-weight: bold;
	cursor: pointer;
}
.md-contents ol {
	list-style: none;
	padding: 0.25rem 0.75rem 0.75rem;
	margin: 0;
}
.md-contents a {
	display: inline-block;
	min-height: 1.5rem;
	overflow-wrap: anywhere;
}
.md-toc-level-2 {
	margin-left: 1rem;
}
.md-toc-level-3 {
	margin-left: 2rem;
}
.md-toc-level-4,
.md-toc-level-5,
.md-toc-level-6 {
	margin-left: 3rem;
}
.md-document {
	overflow-wrap: anywhere;
}
.documents-plain {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.md-document h1,
.md-document h2 {
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--border);
}
.md-document h1 {
	font-size: 1.75rem;
}
.md-document h2 {
	font-size: 1.4rem;
}
.md-document h3 {
	font-size: 1.2rem;
}
.md-document h4,
.md-document h5,
.md-document h6 {
	font-size: 1rem;
}
.md-document h1,
.md-document h2,
.md-document h3,
.md-document h4,
.md-document h5,
.md-document h6 {
	margin: 1.5rem 0 0.75rem;
	line-height: 1.4;
}
.md-document > :first-child {
	margin-top: 0;
}
.md-document p,
.md-document ul,
.md-document ol {
	margin-top: 0;
	margin-bottom: 1rem;
}
.md-document li > ul,
.md-document li > ol {
	margin-top: 0.35rem;
	margin-bottom: 0.35rem;
}
.md-document ul,
.md-document ol {
	padding-left: 1.65rem;
}
.md-document li {
	margin: 0.3rem 0;
}
.md-document blockquote {
	margin: 1rem 0;
	padding: 0.75rem;
	border: 1px solid var(--border);
	background: var(--face-soft);
}
.md-document blockquote > :last-child {
	margin-bottom: 0;
}
.md-document hr {
	border: 0;
	border-top: 3px double var(--border);
	margin: 1.5rem 0;
}
.md-document code {
	padding: 0.1rem 0.25rem;
	background: var(--face-soft);
}
.md-document pre {
	max-width: 100%;
	overflow: auto;
	padding: 0.75rem;
	margin: 1rem 0;
	border: 2px solid;
	border-color: var(--shadow) var(--highlight) var(--highlight) var(--shadow);
	background: var(--field);
	white-space: pre;
	overflow-wrap: normal;
	line-height: 1.5;
}
.md-document pre code {
	padding: 0;
	background: transparent;
}
.md-code-label {
	padding: 0.35rem 0.65rem;
	/* biome-ignore lint/complexity/noImportantStyles: Keep code labels attached despite document paragraph spacing. */
	margin-bottom: 0 !important;
	background: var(--face);
	border: 1px solid var(--border);
	font-weight: bold;
}
.md-code-block {
	margin: 1rem 0;
}
.md-code-block pre {
	margin-top: 0;
}
.md-document img {
	max-width: 100%;
	height: auto;
}
.md-document figure {
	margin: 1rem 0;
}
.md-document figcaption,
.md-table caption {
	padding: 0.45rem 0.65rem;
	text-align: left;
	font-weight: bold;
}
.md-document details {
	margin: 1rem 0;
	padding: 0.65rem;
	border: 1px solid var(--border);
}
.md-document summary {
	list-style: none;
	padding: 0.45rem 0.65rem;
	min-height: 2.5rem;
	font-weight: bold;
	cursor: pointer;
	background: var(--face);
	border: 2px solid;
	border-color: var(--highlight) var(--shadow) var(--shadow) var(--highlight);
}
.md-document summary::-webkit-details-marker {
	display: none;
}
.md-document summary::before {
	content: "+";
	display: inline-block;
	width: 1rem;
	margin-right: 0.5rem;
	line-height: 1rem;
	text-align: center;
	border: 1px solid var(--border);
	background: var(--field);
}
.md-document details[open] > summary {
	margin-bottom: 0.65rem;
	border-color: var(--shadow) var(--highlight) var(--highlight) var(--shadow);
}
.md-document details[open] > summary::before {
	content: "-";
}
.md-document .md-task {
	list-style: none;
}
.md-task input {
	appearance: none;
	position: relative;
	width: 1.1rem;
	height: 1.1rem;
	vertical-align: middle;
	margin: 0;
	opacity: 1;
	color: var(--text);
	background: var(--field);
	border: 2px solid;
	border-color: var(--shadow) var(--highlight) var(--highlight) var(--shadow);
	border-radius: 0;
}
.md-task input:checked::after {
	position: absolute;
	top: -0.4rem;
	left: -0.05rem;
	content: "\2713";
	font:
		bold 1.35rem / 1.5 Tahoma,
		Arial,
		sans-serif;
}
.md-table {
	max-width: 100%;
	overflow-x: auto;
	margin: 1rem 0;
	border: 1px solid var(--border);
}
.md-table table {
	width: 100%;
	border-collapse: collapse;
}
.md-table th,
.md-table td {
	padding: 0.45rem 0.65rem;
	border: 1px solid var(--border);
	min-width: 6rem;
	vertical-align: top;
}
.md-table td > :last-child,
.md-table th > :last-child {
	margin-bottom: 0;
}
.md-table th {
	background: var(--face);
}
.md-table th {
	overflow-wrap: normal;
}
.md-table tbody tr:nth-child(even) {
	background: var(--face-soft);
}
.md-align-left {
	text-align: left;
}
.md-align-center {
	text-align: center;
}
.md-align-right {
	text-align: right;
}
.md-unresolved {
	color: var(--muted);
}
.md-footnotes {
	margin-top: 1.5rem;
	border-top: 3px double var(--border);
}
.md-backlinks {
	margin-top: 0.4rem;
}
.md-document :target {
	outline: 2px dotted var(--text);
	outline-offset: 3px;
	scroll-margin-top: 1rem;
}

@media (max-width: 40rem) {
	#documents-document-index .md-managed {
		grid-template-columns: minmax(0, 1fr) repeat(3, auto);
	}
	#documents-document-index .md-managed .md-entry {
		grid-column: 1 / -1;
	}
	#documents-document-index .md-managed time {
		grid-column: 1;
		grid-row: 2;
	}
	.md-document h1 {
		font-size: 1.5rem;
	}
	.md-document blockquote {
		padding: 0.5rem;
	}
	.md-document ul,
	.md-document ol {
		padding-left: 1.2rem;
	}
}

@media print {
	/* Remove site CSS while retaining HTML presentation attributes such as image dimensions. */
	:root:has(#documents-reader),
	body:has(#documents-reader),
	body:has(#documents-reader) *,
	body:has(#documents-reader) *::before,
	body:has(#documents-reader) *::after {
		all: revert-layer;
	}
	:root:has(#documents-reader) {
		color-scheme: light;
	}
	body:has(#documents-reader) {
		margin: 0;
		color: black;
		background: white;
		font:
			12pt / 1.5 Georgia,
			"Times New Roman",
			serif;
	}
	body:has(#documents-reader) :not(:has(.md-document), .md-document, .md-document *) {
		display: none;
	}
	#documents-reader .no-print {
		display: none;
	}
	/* Content layout overrides must be at least as specific as the site reset. */
	#documents-reader .md-document {
		overflow-wrap: anywhere;
	}
	#documents-reader :is(pre, .documents-plain) {
		white-space: pre-wrap;
		overflow-wrap: anywhere;
	}
	#documents-reader :is(h1, h2, h3, h4, h5, h6) {
		break-after: avoid;
	}
	#documents-reader img {
		max-width: 100%;
		height: auto;
		break-inside: avoid;
	}
	#documents-reader table {
		width: 100%;
		border-collapse: collapse;
	}
	#documents-reader :is(th, td) {
		border: 1px solid black;
		padding: 0.3em 0.5em;
		vertical-align: top;
	}
	#documents-reader tr {
		break-inside: avoid;
	}
	#documents-reader .md-align-left {
		text-align: left;
	}
	#documents-reader .md-align-center {
		text-align: center;
	}
	#documents-reader .md-align-right {
		text-align: right;
	}
	#documents-reader .md-task {
		list-style: none;
	}
}

@media (forced-colors: active) {
	.md-task input {
		appearance: auto;
	}
	.md-task input:checked::after {
		content: none;
	}
}
