:root{--bg:#f7f5f1;--fg:#2b2b2b;--muted:#77736b;--accent:#2e403a;--line:#e3dfd7}
@media (prefers-color-scheme:dark){:root{--bg:#1b1d1c;--fg:#e8e6e1;--muted:#9a978f;--accent:#a9c4b8;--line:#2e312f}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 Georgia,"Times New Roman",serif}
a{color:var(--accent)}
header,main,footer{max-width:960px;margin:0 auto;padding:0 20px}
header{display:flex;justify-content:space-between;align-items:baseline;padding-top:28px;padding-bottom:18px;border-bottom:1px solid var(--line)}
header .logo{font-size:22px;text-decoration:none;color:var(--fg);letter-spacing:.02em}
nav a{margin-left:18px;text-decoration:none;color:var(--muted);font-family:system-ui,sans-serif;font-size:15px}
nav a:hover,nav a.on{color:var(--fg)}
h1{font-weight:normal;font-size:34px;margin:40px 0 8px}
.lead{color:var(--muted);margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:32px 0}
.grid figure{margin:0}
.grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;display:block}
figcaption{font-size:14px;color:var(--muted);margin-top:6px;font-family:system-ui,sans-serif}
.post img{width:100%;border-radius:4px}
.posts{list-style:none;padding:0}
.posts li{padding:16px 0;border-bottom:1px solid var(--line)}
.posts time{color:var(--muted);font-size:14px;font-family:system-ui,sans-serif;display:block}
article{max-width:680px}
footer{color:var(--muted);font-size:14px;padding-top:24px;padding-bottom:40px;border-top:1px solid var(--line);margin-top:48px;font-family:system-ui,sans-serif}
