/* Documentation uses the site's paper, reader and machine type voices. */
.docsLayout {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 56px;
	padding-top: 44px;
	padding-bottom: 48px;
}

.docsSidebar nav {
	position: sticky;
	top: calc(var(--nav-height) + 28px);
	display: flex;
	flex-direction: column;
	gap: 9px;
	font-size: 0.88rem;
}

.docsSidebar a[aria-current] {
	color: var(--ink);
	font-weight: bold;
	text-decoration: underline;
}

.docsNavLabel,
.docsKicker {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	color: var(--ink-3);
}

.docsNavLabel {
	margin-top: 22px;
}

.docsContent {
	min-width: 0;
	max-width: 800px;
}

.docsHeader {
	margin-bottom: 36px;
}

.docsContent section,
.referenceEntry {
	scroll-margin-top: calc(var(--nav-height) + 24px);
}

.docsContent>section {
	margin-bottom: 40px;
}

.docsContent a:not(.btn) {
	text-decoration: underline;
}

.docsActions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin: 20px 0;
}

.docsSmall {
	font-size: 0.86rem;
	color: var(--ink-3);
}

.docsContent pre {
	margin: 18px 0;
	white-space: pre;
}

.docsContent pre code {
	margin: 0;
	font-size: 0.82rem;
	tab-size: 4;
}

.docsContent .vp-keyword,
.docsContent .vp-literal,
.docsContent .vp-principal {
	color: var(--ink);
	font-weight: bold;
}

.docsContent .vp-builtin,
.docsContent .vp-arrow,
.docsContent .vp-guard,
.docsContent .vp-query {
	color: var(--azure-deep);
}

.docsContent .vp-comment,
.docsContent .vp-qualifier,
.docsContent .vp-nil {
	color: var(--ink-3);
}

.docsContent .vp-capability {
	color: var(--sienna);
}

.docsCodeHead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font: 0.72rem var(--font-mono);
	color: var(--ink-3);
}

.docsCodeHead+pre {
	margin-top: 8px;
}

.docsCopy {
	font: inherit;
	color: var(--azure-deep);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 8px 12px;
	cursor: pointer;
}

.docsDefinitions {
	margin: 24px 0;
}

.docsDefinitions dt {
	margin-top: 16px;
}

.docsDefinitions dd {
	margin: 6px 0 0;
}

.docsNote {
	padding: 18px 20px;
	border: 1px solid var(--line);
	background: var(--surface-2);
	border-radius: var(--radius);
}

.docsSteps {
	padding-left: 24px;
}

.docsSteps li {
	padding-left: 6px;
	margin: 10px 0;
}

.docsTableWrap {
	overflow-x: auto;
	margin: 24px 0;
}

.docsContent table {
	border-collapse: collapse;
	width: 100%;
	font-size: 0.88rem;
	background: var(--surface);
}

.docsContent caption {
	text-align: left;
	margin-bottom: 10px;
	color: var(--ink-3);
}

.docsContent th,
.docsContent td {
	text-align: left;
	vertical-align: top;
	padding: 12px;
	border-bottom: 1px solid var(--line);
}

.docsContent th[scope="row"] {
	font-weight: normal;
}

.docsPass { color: var(--olive-deep); }
.docsFail { color: var(--breach-deep); }

.referenceSearch {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 12px;
	align-items: end;
	padding: 20px;
	margin-bottom: 24px;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}

.referenceSearch label {
	display: block;
	font-size: 0.82rem;
	margin-bottom: 6px;
}

.referenceSearch input,
.referenceSearch select {
	width: 100%;
	min-width: 0;
	font: inherit;
	font-size: 0.9rem;
	color: var(--ink);
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 10px;
}

.referenceSearch .docsSmall {
	grid-column: 1 / -1;
	margin: 0;
}

.referenceEntry {
	border-top: 1px solid var(--line);
	padding: 22px 0 14px;
}

.referenceEntry h3 {
	margin-top: 0;
}

.referenceEntry h3 a {
	color: var(--ink);
	text-decoration: none !important;
}

.referenceEntry h3 a:hover {
	text-decoration: underline !important;
}

.referenceFacts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	margin: 0 0 16px;
}

.referenceFacts dt { color: var(--ink-3); }
.referenceFacts dd { margin: 0 12px 0 0; }

.docsLayout [hidden] {
	display: none !important;
}

.skipLink {
	position: fixed;
	top: -100px;
	left: 16px;
	z-index: 100;
	padding: 10px 16px;
	background: var(--surface);
}

.skipLink:focus {
	top: 8px;
}
