:root {
	--bg: #ffffff;
	--fg: #1a1a1a;
	--muted: #5a5a5a;
	--rule: #e4e4e4;
	--accent: #16a34a;
	--banner-bg: #fff7ed;
	--banner-fg: #7c2d12;
	--banner-rule: #fed7aa;
}
@media (prefers-color-scheme: dark) {
	:root {
		--bg: #0f1216;
		--fg: #e8e8e8;
		--muted: #a0a0a0;
		--rule: #2a2f36;
		--accent: #22c55e;
		--banner-bg: #29200f;
		--banner-fg: #fbbf77;
		--banner-rule: #4d3a17;
	}
}
* {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	background: var(--bg);
	color: var(--fg);
	font: 16px/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
.wrap {
	max-width: 760px;
	margin: 0 auto;
	padding: 32px 20px 80px;
}
header.site {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--rule);
	margin-bottom: 28px;
}
header.site .logo {
	width: 34px;
	height: 34px;
	flex: none;
}
header.site .name {
	font-weight: 700;
	font-size: 20px;
	letter-spacing: -0.01em;
}
header.site nav {
	margin-left: auto;
	display: flex;
	gap: 16px;
	font-size: 14px;
}
a {
	color: var(--accent);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
h1 {
	font-size: 30px;
	letter-spacing: -0.02em;
	margin: 0 0 6px;
}
h2 {
	font-size: 19px;
	margin: 34px 0 8px;
}
.updated {
	color: var(--muted);
	font-size: 14px;
	margin: 0 0 24px;
}
.banner {
	background: var(--banner-bg);
	color: var(--banner-fg);
	border: 1px solid var(--banner-rule);
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 14px;
	margin: 0 0 28px;
}
.card {
	display: block;
	border: 1px solid var(--rule);
	border-radius: 12px;
	padding: 18px 20px;
	margin: 12px 0;
	color: inherit;
}
.card:hover {
	border-color: var(--accent);
	text-decoration: none;
}
.card .t {
	font-weight: 600;
	font-size: 17px;
}
.card .d {
	color: var(--muted);
	font-size: 14px;
	margin-top: 4px;
}
footer.site {
	margin-top: 56px;
	padding-top: 20px;
	border-top: 1px solid var(--rule);
	color: var(--muted);
	font-size: 13px;
}
ul {
	padding-left: 22px;
}
li {
	margin: 4px 0;
}
