/* ------------------------------------------------------------------
   The public privacy notice (GET /privacy). Static markup, no script.
   Tokens come from privacy-tokens.css (loaded first); same CSP as the
   results page, so this stays a plain same-origin stylesheet.
   ------------------------------------------------------------------ */
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(1100px 480px at 88% -8%, var(--accent-soft), transparent 62%),
    var(--shell);
  color: var(--ink);
  font: 15px/1.6 var(--sans);
  -webkit-font-smoothing: antialiased;
}
.privacy {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--s7) var(--s5);
}
h1 { font: 600 28px/1.2 var(--display); margin: 0 0 var(--s3); }
h2 { font: 600 18px/1.3 var(--display); margin: var(--s7) 0 var(--s3); padding-top: var(--s4); border-top: 1px solid var(--line-soft); }
h3 { font: 600 15px/1.45 var(--sans); margin: 0 0 var(--s2); }
p { margin: 0 0 var(--s3); }
ul { margin: 0 0 var(--s3); padding-left: var(--s6); }
li { margin-bottom: var(--s2); }
.lead { color: var(--muted); }
.item {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: var(--s4) var(--s5);
  margin-bottom: var(--s4);
}
.item p:last-child { margin-bottom: 0; }
.k {
  display: inline-block;
  min-width: 3.5em;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
a { color: var(--compute); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-sm); }
.foot { margin-top: var(--s7); color: var(--muted); }
.updated { color: var(--muted); font-size: 13px; }
h2 { scroll-margin-top: var(--s5); }
.toc { margin: 0 0 var(--s5); padding-left: var(--s6); columns: 2; column-gap: var(--s6); font-size: 14px; }
.toc li { break-inside: avoid; margin-bottom: var(--s1); }
.fields { display: grid; grid-template-columns: max-content 1fr; gap: var(--s2) var(--s4); margin: 0 0 var(--s3); }
.fields dt { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; padding-top: 2px; }
.fields dd { margin: 0; }
.table-wrap { overflow-x: auto; margin: 0 0 var(--s4); border: 1px solid var(--line); border-radius: var(--r-md); }
table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 13.5px; line-height: 1.5; }
caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
th, td { text-align: left; vertical-align: top; padding: var(--s3) var(--s4); border-bottom: 1px solid var(--line-soft); }
th { color: var(--muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; background: var(--panel); }
tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 560px) { .toc { columns: 1; } }
