/* Legal pages (Impressum, Privacy): one reading column on the shared site tokens. */

body[data-richview-page="legal"] {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-ui);
}

.legal {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(68ch + 2 * var(--gutter));
	margin: 0 auto;
	padding: clamp(3rem, 8vw, 6rem) var(--gutter) clamp(3rem, 8vw, 6rem);
}

.legal article {
	max-width: 68ch;
	margin: 0 auto;
	overflow-wrap: anywhere;
}

.legal h1 {
	margin: 0 0 0.75rem;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(2.25rem, 6vw, 3.25rem);
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ink);
}

.legal h2 {
	margin: 0 0 0.75rem;
	font-family: var(--font-ui);
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 1.3;
	color: var(--ink);
}

.legal p {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ink);
}

.legal .updated {
	margin-bottom: 0;
	color: var(--soft);
}

.legal section {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--rule);
}

.legal section > :last-child {
	margin-bottom: 0;
}

.legal a {
	color: var(--blue);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.legal a:hover {
	text-decoration-thickness: 2px;
}

.legal a:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
	border-radius: var(--r-small);
}

.legal pre {
	margin: 0;
	padding: 1rem 1.2rem;
	max-height: 18rem;
	overflow: auto;
	border: 1px solid var(--rule);
	border-radius: var(--r-panel);
	background: var(--code-bg);
	font-family: var(--font-mono);
	font-size: 0.78rem;
	line-height: 1.55;
	white-space: pre-wrap;
	scrollbar-width: thin;
}

.legal pre:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
}

.install-page .legal pre + p {
	margin-top: 0.75rem;
}

.install-page .legal pre.shell {
	white-space: pre;
	overflow-x: auto;
}
