:root { color-scheme: light dark; --ink: #1c1f23; --paper: #f6f4ef; --soft: #6b7280; --line: #d9d5cb; --link: #0b5a6b; }
@media (prefers-color-scheme: dark) { :root { --ink: #e7e5e0; --paper: #15171a; --soft: #9aa1ab; --line: #2c3036; --link: #7cc4d4; } }
* { box-sizing: border-box; }
body { margin: 0 auto; max-width: 42rem; padding: 0 1rem 3rem; background: var(--paper); color: var(--ink); font: 1.0625rem/1.65 Georgia, "Times New Roman", serif; }
header { display: flex; justify-content: space-between; align-items: baseline; padding: 1.5rem 0 1rem; border-bottom: 1px solid var(--line); }
.brand { font-weight: 700; letter-spacing: 0.02em; color: var(--ink); text-decoration: none; }
nav a { margin-left: 1rem; }
a { color: var(--link); }
h1 { font-size: 1.8rem; line-height: 1.25; margin: 2rem 0 0.75rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 0.5rem; }
.lead { font-size: 1.15rem; color: var(--soft); }
.date, time { color: var(--soft); font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.list { list-style: none; padding: 0; }
.list li { padding: 0.5rem 0; border-bottom: 1px solid var(--line); }
.list time { display: inline-block; min-width: 6.5rem; }
table { border-collapse: collapse; width: 100%; margin: 1rem 0; font-size: 0.95rem; }
th, td { text-align: left; padding: 0.4rem 0.6rem; border-bottom: 1px solid var(--line); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--soft); font-size: 0.9rem; }
