:root{--bg:#fbf8f3;--fg:#2b2622;--muted:#7a6f66;--line:#e6ddd2;--accent:#8a4b2a;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#1c1917;--fg:#ece6df;--muted:#a59a90;--line:#38312c;--accent:#d49a6a}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 Georgia,"Times New Roman",serif}
.wrap{max-width:680px;margin:0 auto;padding:24px 18px 48px}
header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:28px}
header a.brand{font-size:1.35em;font-weight:bold;color:var(--fg);text-decoration:none}
nav a{margin-left:16px;color:var(--muted);text-decoration:none;font-family:system-ui,sans-serif;font-size:.9em}
nav a:first-child{margin-left:0}
a{color:var(--accent)}
h1{font-size:1.7em;line-height:1.25;margin:.2em 0 .3em}
h2{font-size:1.2em;margin-top:1.6em}
.meta{color:var(--muted);font-family:system-ui,sans-serif;font-size:.85em}
.post-list{list-style:none;padding:0}
.post-list li{margin:0 0 26px}
.post-list a{font-size:1.15em;text-decoration:none}
.post-list p{margin:.25em 0 0;color:var(--muted)}
table{width:100%;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:.85em}
th,td{text-align:left;padding:6px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600}
.table-wrap{overflow-x:auto}
footer{margin-top:48px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-family:system-ui,sans-serif;font-size:.8em}
