:root {
  color-scheme: light;
  --ink: #241c16;
  --muted: #6d6258;
  --line: #e4d9cc;
  --paper: #f7f1e8;
  --card: #fffaf4;
  --accent: #8a4b2f;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Iowan Old Style", Palatino, "Palatino Linotype", "Songti TC", "Noto Serif CJK TC", serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.75;
}

a { color: var(--accent); }
nav a { text-decoration: none; }
nav a:hover { text-decoration: underline; }
a.card { display: block; color: inherit; text-decoration: none; }
a.card h2 { color: var(--accent); }
a.card:hover { border-color: #c4b09a; }

.wrap { max-width: 42rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }

header { margin-bottom: 2.5rem; }
.mark { letter-spacing: 0.18em; font-size: 0.78rem; color: var(--muted); text-transform: uppercase; }
h1 { font-weight: 560; font-size: 2.4rem; margin: 0.35rem 0 0.4rem; }
.lede { color: var(--muted); margin: 0; }

nav { display: flex; gap: 1rem; margin-top: 1rem; font-size: 0.95rem; }

article, .card {
  background: #fff;
  border: 1px solid #d9cbb8;
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
  margin: 0 0 1rem;
  box-shadow: 0 1px 0 rgba(36, 28, 22, 0.04);
}

.card h2 { margin: 0 0 0.35rem; font-size: 1.25rem; }
.meta { color: var(--muted); font-size: 0.88rem; margin: 0 0 0.6rem; }

h1.page { font-size: 2rem; }
p { margin: 0 0 1rem; }

footer { margin-top: 2.5rem; color: var(--muted); font-size: 0.88rem; }
