:root { --ink: #14121f; --yellow: #ffd60a; --paper: #fffdf4; --blue: #1d4ed8; }
* { box-sizing: border-box; }
body {
  margin: 0; padding: 24px 16px 48px;
  font-family: 'Trebuchet MS', 'Segoe UI', Arial, sans-serif; line-height: 1.6; color: var(--ink);
  background: var(--yellow);
  background-image: radial-gradient(rgba(20, 18, 31, 0.12) 1.6px, transparent 1.9px);
  background-size: 16px 16px;
}
main {
  max-width: 820px; margin: 0 auto; padding: 24px 28px;
  background: var(--paper); border: 4px solid var(--ink); border-radius: 16px; box-shadow: 6px 6px 0 var(--ink);
}
h1 { font-family: Impact, 'Arial Black', sans-serif; letter-spacing: 1px; font-size: 2rem; margin-top: 0; }
h2 { font-family: Impact, 'Arial Black', sans-serif; letter-spacing: 0.5px; font-weight: 400; margin-top: 2rem; border-bottom: 3px solid var(--ink); }
a { color: var(--blue); }
nav { text-align: right; font-size: 0.9rem; margin-bottom: 8px; }
.todo { background: #fee2e2; border: 2px dashed #b91c1c; padding: 0 4px; border-radius: 4px; }
table { border-collapse: collapse; width: 100%; }
td, th { border: 2px solid var(--ink); padding: 6px 8px; text-align: left; vertical-align: top; }
.small { font-size: 0.85rem; opacity: 0.8; }
