:root { color-scheme: light dark; --paper: #fbf7ec; --ink: #263a37; --accent: #a64530; --line: #d9d1be; font-family: system-ui, -apple-system, sans-serif; }
@media (prefers-color-scheme: dark) { :root { --paper: #18221f; --ink: #f3efdf; --accent: #ffb29a; --line: #4a554d; } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); overflow-wrap: anywhere; line-height: 1.65; }
header, main, footer { max-width: 760px; margin: auto; padding: 24px 16px; }
header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 22px; text-decoration: none; }
.brand img { width: 44px; height: 44px; border-radius: 11px; }
nav { display: flex; flex-wrap: wrap; gap: 20px; }
a { color: var(--accent); text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
h1 { font-family: Georgia, serif; font-size: clamp(36px, 8vw, 58px); line-height: 1.12; font-weight: 400; margin: 24px 0; }
h2 { font-size: 22px; line-height: 1.3; margin-top: 36px; }
p, li { font-size: 18px; }
.lead { font-size: 22px; }
footer { border-top: 1px solid var(--line); font-size: 14px; margin-top: 36px; }
.skip { position: absolute; top: -100px; left: 16px; background: var(--paper); padding: 10px; }
.skip:focus { top: 12px; }
.updated { font-size: 14px; }
