/* The one stylesheet of the site. Dark only: true black, white text, brand orange links (DESIGN.md). */
:root {
	color-scheme: dark;
}

body {
	margin: 0 auto;
	max-width: 40rem;
	padding: 1rem;
	background: #000;
	color: #fff;
	font:
		16px / 1.45 system-ui,
		-apple-system,
		"Segoe UI",
		Roboto,
		"PingFang SC",
		"Noto Sans SC",
		"Microsoft YaHei",
		sans-serif;
}

a {
	color: #f97316;
}

h1 {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}

h2 {
	font-size: 1.2rem;
	margin: 2rem 0 0.25rem;
}

h3 {
	font-size: 1rem;
	margin: 0.75rem 0 0;
}

p,
ol,
ul {
	margin: 0.25rem 0;
}

ol,
ul {
	padding-left: 1.25rem;
}

/* 24 px targets (WCAG 2.5.8): a link that is a list item's only element, such as the landing page
   links, and every nav link, such as the privacy notice's home and language links and the Lead
   notice's language links. The privacy notice nav links do not pass by the spacing exception: at
   320 px the nav wraps to a second line, so as inline text a link could break across the lines onto
   its neighbours. The Lead notice nav, which passes by spacing, shares the rule so both navs match.
   The list rule also matches a list item with a link inside a sentence, which no page has. The
   landing page's support email link, alone in its paragraph, passes by the spacing exception: with
   the 0.25rem margins above, its 24 px circle clears the list below it. The standalone "Karseekr"
   home links on the terms, delete-account, Lead notice, and 404 pages, each alone in its paragraph,
   are under 24 px high and pass by the spacing exception too: no other target is within 12 px of
   their center. The nearest, the Lead notice language nav, is about 60 px away, so their 24 px
   circles clear every other target. A `p > a:only-child` size rule would also match links inside
   sentences, as `:only-child` ignores text. */
li > a:only-child,
nav a {
	display: inline-block;
	min-height: 24px;
}

.meta {
	color: #a3a3a3;
}

/* The privacy notice runs each heading into its paragraph, so a language fits two phone screens. */
.notice {
	font-size: 0.9375rem;
	line-height: 1.4;
}

.notice h3,
.notice h3 + p {
	display: inline;
}

.notice h3 {
	margin-right: 0.35em;
}

/* The first language starts close under the nav, to keep the page top to the end of it under
   the two screens of BDR 0007 (scripts/measure-privacy.ts). */
nav + .notice > h2 {
	margin-top: 0.5rem;
}

.notice h3 + p::after {
	content: "";
	display: block;
	margin-bottom: 0.3rem;
}
