/* Shared styles for the simple text pages (privacy, terms, disclosure, 404). Matches the main site's palette. */
:root {
  --void: #070a14;
  --panel: #0d1324;
  --line: #1f2a45;
  --ink: #e8eefa;
  --mute: #8f9ab6;
  --signal: #6ef2d8;
  --f-display: "Unbounded", "Arial Black", system-ui, sans-serif;
  --f-body: "Instrument Sans", "Segoe UI", system-ui, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--void);
  color: var(--ink);
  font: 16px/1.65 var(--f-body);
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  padding-block: 0 64px;
}
.page { max-width: 720px; margin: 0 auto; }
header { display: flex; justify-content: space-between; align-items: center; padding-block: 20px 36px; gap: 16px; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.brand-mark { width: 24px; height: 24px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--signal), #8b7cff 70%); }
.brand-word { font: 600 16px var(--f-display); }
.brand-word span { font: 500 13px var(--f-mono); color: var(--signal); }
h1 { font: 600 clamp(28px, 5vw, 40px)/1.15 var(--f-display); margin: 0 0 8px; text-wrap: balance; }
h2 { font: 600 19px/1.3 var(--f-display); margin: 36px 0 10px; }
p, li { color: #cfd6e6; }
ul { padding-left: 20px; }
a { color: var(--signal); }
.updated { font: 13px var(--f-mono); color: var(--mute); margin-bottom: 28px; }
.note { border: 1px solid var(--line); background: var(--panel); border-radius: 12px; padding: 16px 18px; }
footer { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; gap: 16px; flex-wrap: wrap; font-size: 14px; }
footer a { color: var(--mute); }
:focus-visible { outline: 2px solid var(--signal); outline-offset: 3px; border-radius: 4px; }
