:root { --bg:#FAF6EF; --card:#FFFFFF; --text:#2A2723; --body:#3D3830; --muted:#6F685C; --green:#2F7A4A; --rule:#EDE6D8; }
@media (prefers-color-scheme: dark) { :root { --bg:#1C1915; --card:#383329; --text:#F0EAE0; --body:#EDE7DC; --muted:#A39B8D; --green:#5FAE7A; --rule:#4A443A; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--body); font: 17px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
main { max-width:680px; margin:0 auto; padding:48px 20px 80px; }
h1, h2 { font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; color:var(--text); font-weight:600; letter-spacing:-0.01em; }
h1 { font-size:2.4rem; margin:0 0 6px; }
h2 { font-size:1.35rem; margin:36px 0 10px; }
p, li { margin:0 0 12px; }
a { color:var(--green); text-decoration:none; } a:hover { text-decoration:underline; }
.sub { color:var(--muted); font-style:italic; margin-bottom:28px; }
nav { display:flex; gap:18px; margin-bottom:40px; font-size:0.95rem; }
nav a.here { color:var(--muted); pointer-events:none; }
.card { background:var(--card); border-radius:18px; padding:20px 22px; margin:18px 0; }
footer { margin-top:56px; padding-top:18px; border-top:1px solid var(--rule); color:var(--muted); font-size:0.9rem; }
table { width:100%; border-collapse:collapse; margin:8px 0 16px; font-size:0.95rem; }
th, td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--rule); vertical-align:top; }
th { color:var(--text); }
