/* privacy.html and 404.html: plain reading pages in the site's colours and fonts (tokens from cybercore.css) */
:root { color-scheme: dark;   /* CYBERCORE's cyan accent becomes pupD's red, as in css/site.css */
  --cyber-cyan-300: #ff8a9a; --cyber-cyan-400: #ff5266; --cyber-cyan-500: #ff2b3f; --cyber-cyan-600: #d91d30; --cyber-cyan-700: #a8121f; --cyber-cyan-900: #3a0710; }
body { margin: 0; background: radial-gradient(120% 60% at 50% 0%, #1a0b10, var(--color-bg-primary) 60%); color: var(--color-text-primary); }
.legal { max-width: 720px; margin: 0 auto; padding: 48px max(20px, env(safe-area-inset-right, 0px)) 80px max(20px, env(safe-area-inset-left, 0px));
  font: 400 16px/1.65 var(--font-body); }
.legal h1 { margin: 18px 0 0; font: 700 clamp(44px, 9vw, 72px)/1 var(--font-display); text-transform: uppercase; letter-spacing: .02em; }
.legal .upd { margin: 6px 0 22px; font: 500 12px var(--font-mono); letter-spacing: .12em; color: var(--cyber-chrome-300); }
.legal .lead { font-size: 17px; }
.legal h2 { margin: 40px 0 10px; font: 700 13px var(--font-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--cyber-cyan-400); }
.legal h2::before { content: "// "; }
.legal h3 { margin: 20px 0 4px; font: 700 18px var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.legal p, .legal li { color: var(--cyber-chrome-300); }
.legal p { margin: 0 0 12px; }
.legal b { color: var(--color-text-primary); font-weight: 600; }
.legal ul { margin: 0 0 12px; padding-left: 20px; }
.legal li { margin: 0 0 8px; }
.legal li::marker { color: var(--cyber-cyan-500); }
.legal code { font: 500 .88em var(--font-mono); color: var(--color-text-primary); background: rgba(255,255,255,.06); padding: 1px 5px; border-radius: 4px; }
.legal a { color: var(--cyber-cyan-400); }
.legal .back { display: inline-block; font: 600 13px var(--font-mono); letter-spacing: .08em; text-decoration: none; }
.legal .back:hover { text-decoration: underline; }
.legal .back.end { margin-top: 36px; }
