:root {
	--bg: #fdfcf8;
	--card: #ffffff;
	--text: #2c2c2c;
	--muted: #6b6b6b;
	--accent: #4a7c96;
	--border: #e8e8e8;
	--link: #4a7c96;
	--link-hover: #2a5c76;
	--link-visited: #6a8c96;
	--shadow: rgba(0, 0, 0, 0.05);
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #0b0b0b;
		--card: #151515;
		--text: #f1f1f1;
		--muted: #c9c9c9;
		--accent: #4f8cff;
		--border: #222;
		--link: #b0d0f8;
		--link-hover: #4f8cff;
		--link-visited: #d0b0f8;
		--shadow: rgba(0, 0, 0, 0.3);
	}
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
	margin: 0;
	font-family: Avenir, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
	background: var(--bg);
	color: var(--text);
	font-size: 20px;


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

h1, h2 {
	font-family: Cochin, EB Garamond, Fraunces, serif;
	font-weight: normal;
	font-style: italic;
}

nav { padding: 16px; }
nav ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 16px; }
nav a { color: var(--text); text-decoration: none; }
nav a:visited { color: var(--text); }
nav a:hover { color: var(--accent); }

.container { max-width: 800px; margin: 24px auto; padding: 0 16px; }

.events {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.event-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 16px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.event-card h3 { margin: 0 0 8px 0; font-size: 1.1rem; }
.event-card a { color: var(--text); text-decoration: none; }
.event-meta { color: var(--muted); font-size: 0.95rem; }
.event-content { flex: 1; }
.event-links { flex-shrink: 0; }
.event-links img { filter: invert(1); }

@media (prefers-color-scheme: dark) {
	.event-links img { filter: invert(0); }
}

article img {
	max-width: 100%;
	max-height: 400px;
	border-radius: 8px;
	display: block;
	margin: 16px auto;
}

h2 { margin-top: 32px; }

ul, ol {
	line-height: 1.5;
}