*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	color-scheme: light dark;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	min-height: 100vh;
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;
	line-height: 1.5;
	background: var(--background);
	color: var(--text);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

button,
input,
textarea,
select {
	font: inherit;
}

a {
	color: inherit;
}

:root {
	--background: #fff;
	--surface: #fff;
	--text: #181818;
	--muted: #666;
	--border: #ddd;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background: #111;
		--surface: #181818;
		--text: #eee;
		--muted: #aaa;
		--border: #333;
	}
}

main {
	width: min(100% - 2rem, 48rem);
	margin-inline: auto;
}

.site-header {
	width: min(100% - 2rem, 48rem);
	margin-inline: auto;
}

.site-header {
	padding-block: 1.5rem;
}

.site-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.site-title {
	font-size: 1.25rem;
	font-weight: 600;
	text-decoration: none;
}

.site-header nav a {
	color: var(--muted);
	text-decoration: none;
}

.post {
	margin-block-end: 4rem;
}

.post img {
	width: 100%;
	border-radius: 0.25rem;
}

.post img + img {
	margin-block-start: 0.5rem;
}

.post-metadata {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-block-start: 0.75rem;

	font-size: 0.875rem;
	color: var(--muted);
}

.post-caption {
	margin-block: 0.5rem 0;
	font-size: 1rem;
}

.loading,
.empty,
.error {
	color: var(--muted);
}
