:root {
  --bg: #F7F3EA; --text: #22252B; --muted: #5E6470; --line: #E3DACA;
  --accent: #1D416F; --gold: #B98A3A;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0F1A33; --text: #ECE4D2; --muted: #A8B0C2; --line: #24345A;
    --accent: #E2B96F; --gold: #E2B96F; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text);
  font: 17px/1.65 Georgia, "Times New Roman", serif; }
main { max-width: 720px; margin: 0 auto; padding: 32px 20px 64px; }
header { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
header img { width: 56px; height: 56px; border-radius: 13px; }
header a { color: inherit; text-decoration: none; }
header .name { font-size: 22px; letter-spacing: 0.04em; }
header .lang { margin-left: auto; font: 14px -apple-system, sans-serif; }
h1 { font-size: 30px; line-height: 1.2; margin: 0 0 6px; color: var(--accent); }
h2 { font-size: 20px; margin: 32px 0 8px; color: var(--accent); }
p, li { color: var(--text); }
.updated, .muted { color: var(--muted); font-size: 15px; }
a { color: var(--accent); }
ul { padding-left: 22px; }
nav.pages { display: flex; gap: 16px; flex-wrap: wrap; margin: 24px 0 0;
  font: 15px -apple-system, sans-serif; }
footer { margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--line);
  color: var(--muted); font: 14px -apple-system, sans-serif; }
details { border-top: 1px solid var(--line); padding: 12px 0; }
details summary { cursor: pointer; font-weight: bold; }
