:root {
	--ground: #fdfbf7;
	--ink: #1c1b1a;
	--muted: #6a6663;
	--rule: rgba(0, 0, 0, 0.1);
	--accent: #d75252;
	--card: #ffffff;
}

@media (prefers-color-scheme: dark) {
	:root {
		--ground: #141313;
		--ink: #f0ede9;
		--muted: #9a9693;
		--rule: rgba(255, 255, 255, 0.12);
		--accent: #e57373;
		--card: #1d1c1c;
	}
}

* { box-sizing: border-box; }

body {
	margin: 0;
	padding: 0 24px 96px;
	background: var(--ground);
	color: var(--ink);
	font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.wrap { max-width: 680px; margin: 0 auto; }

header {
	padding: 72px 0 40px;
	border-bottom: 1px solid var(--rule);
	margin-bottom: 40px;
}

.mark {
	font-size: 34px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--accent);
	margin: 0;
}

.tagline { color: var(--muted); margin: 6px 0 0; }

h2 {
	font-size: 20px;
	letter-spacing: -0.01em;
	margin: 40px 0 12px;
}

h3 { font-size: 16px; margin: 28px 0 6px; }

p, li { color: var(--ink); }
p { margin: 0 0 14px; }
ul { margin: 0 0 14px; padding-left: 22px; }
li { margin-bottom: 6px; }

a { color: var(--accent); text-decoration: none; border-bottom: 1px solid rgba(215, 82, 82, 0.35); }
a:hover { border-bottom-color: var(--accent); }

.card {
	background: var(--card);
	border: 1px solid var(--rule);
	border-radius: 12px;
	padding: 20px 22px;
	margin: 0 0 28px;
}

.card p:last-child { margin-bottom: 0; }

.lede { font-size: 18px; }

nav { margin-top: 18px; font-size: 15px; }
nav a { margin-right: 18px; }

footer {
	margin-top: 56px;
	padding-top: 20px;
	border-top: 1px solid var(--rule);
	color: var(--muted);
	font-size: 14px;
}

code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.9em;
	background: var(--card);
	border: 1px solid var(--rule);
	border-radius: 5px;
	padding: 1px 5px;
}
