:root {
  --bg: #f4f6f1;
  --ink: #1c1917;
  --muted: #57534e;
  --line: #d6d3d1;
  --card: #fff;
  --link: #166534;
}
* { box-sizing: border-box; }
html { font-size: 18px; }
body {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.5;
}
header, main, footer { max-width: 42rem; margin: 0 auto; padding: 1.25rem 1rem; }
header { border-bottom: 1px solid var(--line); }
header a { color: inherit; text-decoration: none; }
.tagline { color: var(--muted); font-size: 0.95rem; margin: 0.25rem 0 0; }
h1, h2 { font-weight: 600; letter-spacing: -0.02em; }
a { color: var(--link); }
.list { list-style: none; padding: 0; }
.list li { border-bottom: 1px solid var(--line); padding: 0.85rem 0; }
.list li p { margin: 0.25rem 0 0; color: var(--muted); font-size: 0.95rem; }
article h1 { margin-bottom: 0.25rem; }
.meta { color: var(--muted); font-size: 0.9rem; }
section { margin: 1.5rem 0; }
.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
footer { border-top: 1px solid var(--line); color: var(--muted); font-size: 0.85rem; }
.note { background: var(--card); border: 1px solid var(--line); padding: 0.75rem 1rem; }
@media (max-width: 640px) { .proscons { grid-template-columns: 1fr; } }
