/* Advance OS — the public policy pages.
   One stylesheet, no fonts fetched, no scripts, no trackers. A privacy policy
   that loads a tracker is a joke told at the reader's expense. */
:root {
  --ground: #05060B; --surface: #0D1320; --line: #1E2B40;
  --ink: #E6EEF6; --dim: #9DB0C2; --faint: #6E8296; --cyan: #00D9FF; --gold: #F0B429;
}
@media (prefers-color-scheme: light) {
  :root {
    --ground: #F7F9FB; --surface: #FFFFFF; --line: #D6E0EA;
    --ink: #0B1522; --dim: #47596B; --faint: #6B7E90; --cyan: #0089A8; --gold: #8A5F04;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; padding: 0 20px 80px; background: var(--ground); color: var(--ink);
  font: 16.5px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: 44rem; margin: 0 auto; }
header { padding: 56px 0 26px; border-bottom: 1px solid var(--line); margin-bottom: 34px; }
.mark { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--cyan); margin: 0 0 14px; }
h1 { font-size: clamp(1.9rem, 5vw, 2.6rem); line-height: 1.1; letter-spacing: -.02em; margin: 0 0 10px; }
.updated { color: var(--faint); font-size: 14px; margin: 0; }
h2 { font-size: 1.3rem; margin: 40px 0 12px; line-height: 1.25; }
h3 { font-size: 1.03rem; margin: 26px 0 8px; }
p, li { color: var(--dim); }
li { margin-bottom: 7px; }
strong { color: var(--ink); font-weight: 600; }
a { color: var(--cyan); }
a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 20px 22px; margin: 22px 0; }
.card p:last-child, .card ul:last-child { margin-bottom: 0; }
.card h3 { margin-top: 0; }
.flag { border-left: 3px solid var(--gold); }
.scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; margin: 22px 0; }
table { border-collapse: collapse; width: 100%; min-width: 34rem; font-size: 15px; }
th, td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--dim); }
th { color: var(--faint); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; background: var(--surface); }
tr:last-child td { border-bottom: none; }
.steps { counter-reset: n; list-style: none; padding: 0; }
.steps li { counter-increment: n; padding-left: 38px; position: relative; margin-bottom: 14px; }
.steps li::before {
  content: counter(n); position: absolute; left: 0; top: 1px; width: 25px; height: 25px;
  display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px;
  color: var(--cyan); font-size: 12.5px; font-weight: 600;
}
footer { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--faint); }
footer a { margin-right: 16px; }

/* The one button on the site — the password-reset handoff. */
.btn {
  display: inline-block; padding: 13px 22px; border-radius: 12px;
  background: var(--cyan); color: var(--ground); font-weight: 700;
  text-decoration: none;
}
.btn:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }

/* A programme that is PLANNED says so in its own heading, where a skim-reader
   cannot miss it. Added 2026-09-22: giving toward something that does not yet
   exist is fine. Believing it already exists is not. */
.soon {
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold); border: 1px solid var(--gold); border-radius: 999px;
  padding: 2px 8px; margin-left: 8px; vertical-align: middle; font-weight: 600;
}
