:root {
	color-scheme: light dark;
	--bg: #ffffff;
	--fg: #1a1a1a;
	--muted: #5f6368;
	--border: #d9dce0;
	--code-bg: #f3f4f6;
	--link: #0b57d0;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #121212;
		--fg: #e8e8e8;
		--muted: #a0a4a8;
		--border: #333840;
		--code-bg: #1f2124;
		--link: #8ab4f8;
	}
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	padding: 1rem;
	background: var(--bg);
	color: var(--fg);
	font: 1rem/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	overflow-wrap: break-word;
}

main {
	max-width: 46rem;
	margin: 0 auto;
}

h1, h2, h3 { line-height: 1.25; }
h1 { font-size: clamp(1.5rem, 5vw, 2.25rem); }

a { color: var(--link); }

img, video, svg { max-width: 100%; height: auto; }

pre, code { background: var(--code-bg); border-radius: 4px; }
code { padding: 0.1em 0.3em; font-size: 0.9em; }
pre { padding: 0.75rem; overflow-x: auto; }
pre code { padding: 0; background: none; }

table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}
th, td { padding: 0.4rem 0.75rem; border: 1px solid var(--border); text-align: left; }

@media (min-width: 40rem) {
	body { padding: 2rem; }
}
