:root { --ink: #1c2330; --muted: #5b6575; --bg: #fff; --line: #e3e7ed; --accent: #0b3d91; }
@media (prefers-color-scheme: dark) {
  :root { --ink: #e8ebf0; --muted: #a2abb9; --bg: #0b0d12; --line: #232a36; --accent: #8fb4ff; }
}
* { box-sizing: border-box; margin: 0; }
body { font: 17px/1.7 Lato, "Helvetica Neue", Arial, sans-serif; color: var(--ink); background: var(--bg); }
a { color: var(--accent); }
header, main, footer { max-width: 46rem; margin: 0 auto; padding: 0 1.25rem; }
header { padding-top: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.brand { font: 300 1.2rem/1.2 Montserrat, "Helvetica Neue", Arial, sans-serif; letter-spacing: .04em; color: var(--ink); text-decoration: none; }
.brand strong { font-weight: 700; }
h1, h2 { font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; line-height: 1.25; }
h1 { font-size: 2rem; margin: 2rem 0 .25rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; }
.updated { color: var(--muted); font-size: .9rem; margin-bottom: 1.5rem; }
p, ul { margin-bottom: 1rem; }
ul { padding-left: 1.25rem; }
li { margin-bottom: .3rem; }
footer { padding-top: 1.5rem; padding-bottom: 2.5rem; margin-top: 2.5rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .85rem; }
footer a { margin-right: 1rem; }
.entity { margin: .75rem 0 0; }
