:root { --ink: #1a1a1a; --muted: #666; --accent: #b3261e; --bg: #fffdf8; --rule: #e5e0d5; }
* { box-sizing: border-box; }
body { margin: 0 auto; max-width: 720px; padding: 0 16px 64px; font: 17px/1.5 Georgia, serif; color: var(--ink); background: var(--bg); }
a { color: var(--accent); }
.masthead { border-bottom: 3px double var(--ink); padding: 16px 0 8px; position: sticky; top: 0; background: var(--bg); }
.masthead h1 { margin: 0; font-size: 2rem; } .masthead h1 a { color: inherit; text-decoration: none; }
.date, .outlets, .byline, .source, figcaption { color: var(--muted); font: 14px/1.4 system-ui, sans-serif; }
.sections a, .days a { margin-right: 12px; font: 600 14px system-ui, sans-serif; }
section { padding-top: 24px; } h2 { border-bottom: 1px solid var(--rule); text-transform: uppercase; letter-spacing: .05em; font-size: 1rem; }
article { padding: 12px 0; border-bottom: 1px solid var(--rule); } article h3 { margin: 0 0 4px; }
.story.lead h3 { font-size: 1.6rem; } .count { color: var(--accent); font-weight: 600; }
.cartoons { display: grid; gap: 16px; } .cartoons img { width: 100%; height: auto; border: 1px solid var(--rule); }
.admin { font-family: system-ui, sans-serif; } .admin textarea { width: 100%; } .status-failed, .flash.alert { color: var(--accent); }
.error { white-space: pre-wrap; background: #fee; padding: 8px; }

.item { border: 1px solid var(--rule); padding: 8px; margin: 8px 0; }
.item.hidden { opacity: .5; }
.item form.button_to { display: inline; }
