:root { color-scheme: light dark; --paper: #f8fafc; --ink: #172434; --muted: #526174; --line: #d9e1eb; --link: #145cad; }
@media (prefers-color-scheme: dark) { :root { --paper: #141b25; --ink: #e6edf7; --muted: #aebdd0; --line: #364354; --link: #8cbfff; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.8 system-ui, -apple-system, sans-serif; }
header, main, footer { max-width: 48rem; margin: auto; padding: 1.5rem; }
header { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 1rem; border-bottom: 1px solid var(--line); }
header > a { font-size: 1.5rem; font-weight: 750; color: var(--ink); text-decoration: none; }
nav { display: flex; gap: 1rem; flex-wrap: wrap; }
a { color: var(--link); text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid var(--link); outline-offset: 5px; border-radius: 3px; }
h1 { font-size: clamp(2rem, 5vw, 2.75rem); line-height: 1.25; margin: 1.25rem 0; letter-spacing: -.02em; }
h2 { font-size: 1.3rem; line-height: 1.5; margin-top: 2rem; }
p, li { overflow-wrap: anywhere; }
.meta, footer { color: var(--muted); font-size: .875rem; }
.summary { border-left: 3px solid var(--link); padding-left: 1rem; }
section[lang] { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); }
section[data-language] { margin-top: 0; padding-top: 0; border: 0; }
[hidden] { display: none !important; }
a[aria-current="true"] { color: var(--ink); font-weight: 700; text-decoration: none; }
footer { border-top: 1px solid var(--line); padding-bottom: 3rem; }
