:root { --fg: #1f2328; --muted: #656d76; --accent: #b3261e; --bg: #fbfaf7; --line: #e4e0d8; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.6 Georgia, "Times New Roman", serif; }
header { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; max-width: 42rem; margin: 0 auto; padding: 1.5rem 1.25rem 0.5rem; border-bottom: 1px solid var(--line); }
header nav a { margin-left: 1rem; }
.logo { font: 700 1.25rem/1 system-ui, sans-serif; color: var(--fg); text-decoration: none; }
.logo span { color: var(--accent); }
main { max-width: 42rem; margin: 0 auto; padding: 1rem 1.25rem 2rem; }
h1 { font-size: 1.75rem; margin: 1rem 0 0.5rem; }
h2 { font-size: 1.25rem; margin-top: 2rem; border-bottom: 1px solid var(--line); padding-bottom: 0.25rem; }
h3 { font-size: 1.05rem; margin-bottom: 0.25rem; }
a { color: var(--accent); }
small, .meta { color: var(--muted); font-family: system-ui, sans-serif; font-size: 0.85rem; }
ul.decks li { margin: 0.35rem 0; }
.list ul { columns: 2; padding-left: 1.2rem; }
article { margin: 1rem 0; }
footer { max-width: 42rem; margin: 0 auto; padding: 1rem 1.25rem 2rem; color: var(--muted); font: 0.85rem system-ui, sans-serif; border-top: 1px solid var(--line); }
@media (max-width: 30rem) { .list ul { columns: 1; } header { flex-direction: column; } header nav a { margin: 0 1rem 0 0; } }
