/* Text pages (privacy, thanks): same tokens and fonts as the home page. */
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 500 600; font-display: swap;
  src: url("/fonts/newsreader.woff2") format("woff2"); }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/fonts/public-sans.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/ibm-plex-mono-500.woff2") format("woff2"); }
:root {
  --paper: #fbfcfd; --ink: #15202a; --muted: #55636f; --rule: #d9e0e6; --accent: #1d5bb8; --accent-ink: #ffffff;
  --display: "Newsreader", Georgia, "Times New Roman", serif;
  --body: "Public Sans", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --paper: #10171d; --ink: #e6ecf1; --muted: #a3b0bb; --rule: #2b3843; --accent: #7fb0ff; --accent-ink: #0b1420; color-scheme: dark; }
}
:root[data-theme="dark"] { --paper: #10171d; --ink: #e6ecf1; --muted: #a3b0bb; --rule: #2b3843; --accent: #7fb0ff; --accent-ink: #0b1420; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1.0625rem/1.65 var(--body); }
.wrap { max-width: 44rem; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.top { border-bottom: 1px solid var(--rule); }
.top .wrap { padding-block: 1rem; max-width: 68rem; }
.brand { font: 600 1.25rem/1 var(--display); color: var(--ink); text-decoration: none; }
main { padding-block: 2.5rem 4rem; }
h1, h2 { font-family: var(--display); font-weight: 600; line-height: 1.2; text-wrap: balance; }
h1 { font-size: clamp(2rem, 4.5vw, 2.6rem); margin: 0 0 0.5rem; }
h2 { font-size: 1.4rem; margin: 2rem 0 0.5rem; }
p, ul { margin: 0 0 1rem; }
li { margin-bottom: 0.35rem; }
.updated { color: var(--muted); font-size: 0.95rem; }
.email { font: 500 0.95em/1.3 var(--mono); overflow-wrap: anywhere; }
a { color: var(--accent); text-underline-offset: 0.15em; }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
.skip { position: absolute; left: -999px; top: 0; background: var(--accent); color: var(--accent-ink); padding: 0.5rem 1rem; }
.skip:focus { left: 1rem; top: 1rem; }
