:root {
  --bg: #f6f4ef;
  --fg: #2b2a27;
  --sub: #7a766c;
  --line: #dcd7cc;
  --link: #2b2a27;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #1d1c1a; --fg: #e6e2d8; --sub: #9a958a; --line: #3a3833; --link: #e6e2d8; }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;
  line-height: 2;
  font-size: 17px;
}
header, main, footer { max-width: 640px; margin: 0 auto; padding: 0 16px; }
header { padding-top: 48px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.name { font-size: 22px; letter-spacing: .15em; color: var(--fg); text-decoration: none; }
.tag { margin: 4px 0 0; font-size: 13px; color: var(--sub); }
main { padding-top: 32px; padding-bottom: 48px; }
a { color: var(--link); }
.list { list-style: none; padding: 0; margin: 0; }
.list li { border-bottom: 1px dashed var(--line); }
.list a { display: block; padding: 20px 0; text-decoration: none; }
.list .date, .date { display: block; font-size: 13px; color: var(--sub); }
.list .t { display: block; font-size: 19px; margin: 2px 0 4px; }
.list .d { display: block; font-size: 14px; color: var(--sub); line-height: 1.8; }
.pager { display: flex; justify-content: space-between; margin-top: 32px; font-size: 15px; }
.pager .older { margin-left: auto; }
.pager a { text-decoration: none; color: var(--sub); }
.pager a:hover { color: var(--fg); }
article h1 { font-size: 24px; line-height: 1.6; margin: 4px 0 32px; font-weight: normal; letter-spacing: .05em; }
article p { margin: 0 0 1.6em; }
footer { padding-bottom: 48px; font-size: 13px; color: var(--sub); }
footer a { color: var(--sub); text-decoration: none; }
footer a:hover { color: var(--fg); }
.postnav { display: flex; align-items: center; border-top: 1px solid var(--line); padding-top: 24px; font-size: 15px; }
.postnav .prev, .postnav .next { flex: 1; }
.postnav .next { text-align: right; }
.postnav .home { font-size: 13px; letter-spacing: .1em; }
