body { margin: 0; background: #f7fafb; color: #172c3c; font-family: system-ui, sans-serif; line-height: 1.7; }
header, main, footer { max-width: 48rem; margin: auto; padding: 1rem; overflow-wrap: anywhere; }
main h1 { font-size: var(--fs-page-title); }
main h2 { font-size: var(--fs-display-sm); }
a { color: #176779; text-underline-offset: .2em; }
nav { display: flex; gap: .5rem; flex-wrap: wrap; }
li { padding: .5rem 0; }
article { border-bottom: 1px solid #d3dfe5; padding-bottom: 1rem; margin-bottom: 1rem; }
.public-text { white-space: pre-wrap; }
img { max-width: 100%; height: auto; }
@media (prefers-color-scheme: dark) { body { background: #0e1a2b; color: #f3f7fa; } a { color: #89d2df; } }
