/*
  Terms, privacy and downloads.

  The same world as the homepage (the neon stripe, the glowing wordmark, the condensed
  lower-third headings) but the prose is sized for reading rather than for the neon: long,
  dense pages read under mild duress. Colour earns its keep in the summary boxes, which is
  where someone skimming will actually stop.
*/

:root{
  color-scheme:dark;
  --night:#0B0416; --night-2:#12082A; --panel:#1A0D36; --line:#2A1A4A; --line-2:#45297A;
  --pink:#FF2E9A; --cyan:#22E6E6; --purple:#8B39FF; --orange:#FF7A2F; --yellow:#FFD84D;
  --text:#F2E9FF; --muted:#A98FD6; --dim:#6F5E99;
  --glow-pink:0 0 12px rgba(255,46,154,.65),0 0 34px rgba(255,46,154,.3);
  --glow-cyan:0 0 12px rgba(34,230,230,.6),0 0 34px rgba(34,230,230,.28);
  --display:"Orbitron","Segoe UI",system-ui,sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --body:"Barlow","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--text);font-family:var(--body);
     font-size:17px;line-height:1.7}
/* Scanlines, fainter than the homepage's: these pages are for reading. */
body::after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.14;
  background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.55) 2px 3px)}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;z-index:99;background:var(--pink);color:#12030C;
                 padding:10px 16px;border-radius:3px;font-weight:700}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

.stripes{height:3px;
  background:linear-gradient(90deg,var(--purple),var(--pink),var(--orange),var(--yellow),var(--cyan));
  box-shadow:0 0 14px rgba(255,46,154,.6)}

.wrap{max-width:46rem;margin:0 auto;padding:0 22px}

header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;
            background:rgba(11,4,22,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:14px;height:58px}
.brand{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:.18em;
       text-transform:uppercase;color:var(--text);text-decoration:none;text-shadow:var(--glow-pink)}
.brand:hover{color:var(--text)}
header.site nav{margin-left:auto;display:flex;gap:18px;font-size:15px;font-weight:600}
header.site nav a{color:var(--muted);text-decoration:none}
header.site nav a:hover{color:var(--text)}
header.site nav a[aria-current]{color:var(--cyan);text-shadow:0 0 10px rgba(34,230,230,.5)}

h1{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:0;line-height:.95;
   font-size:clamp(2.4rem,6vw,3.6rem);margin:48px 0 14px;text-wrap:balance;
   text-shadow:0 0 18px rgba(240,80,158,.35)}
.updated{font-family:var(--mono);color:var(--dim);font-size:12.5px;letter-spacing:.1em;
         text-transform:uppercase;margin:0 0 10px}
.lede{color:var(--muted);font-size:18.5px;margin:0 0 30px;line-height:1.6}

h2{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.01em;
   font-size:clamp(1.45rem,3vw,1.8rem);margin:46px 0 12px;line-height:1.15;scroll-margin-top:76px;
   padding-left:12px;border-left:3px solid var(--pink)}
h3{font-size:17px;font-weight:600;margin:26px 0 7px;color:var(--cyan)}

p{margin:0 0 15px}
a{color:var(--cyan)}
a:hover{color:var(--pink)}
strong,b{color:var(--text);font-weight:600}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin-bottom:8px}
code{font-family:var(--mono);font-size:14px;
     background:rgba(34,230,230,.08);border:1px solid rgba(34,230,230,.25);
     border-radius:3px;padding:1px 6px}

/* The bit people actually read. */
.plain{border:1px solid rgba(34,230,230,.45);background:rgba(34,230,230,.06);
       border-radius:4px;padding:16px 19px;margin:20px 0;box-shadow:0 0 22px -8px rgba(34,230,230,.5)}
.plain .t{display:block;font-family:var(--mono);font-size:11.5px;font-weight:600;
          letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:7px}
.plain p{margin:0;color:var(--muted);font-size:15.5px}

.warn{border-color:rgba(255,216,77,.45);background:rgba(255,216,77,.07);box-shadow:0 0 22px -8px rgba(255,216,77,.45)}
.warn .t{color:var(--yellow)}

.toc{border:1px solid var(--line);border-radius:4px;padding:18px 22px;
     background:var(--night-2);margin:0 0 34px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
.toc li{margin-bottom:5px;font-size:15px;break-inside:avoid}
.toc li::marker{font-family:var(--mono);color:var(--dim);font-size:12px}
.toc a{text-decoration:none;color:var(--muted);font-weight:500}
.toc a:hover{color:var(--cyan)}
@media (max-width:620px){ .toc ol{columns:1} }

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:4px;
            background:var(--night-2);margin:0 0 20px}
table{border-collapse:collapse;width:100%;min-width:460px;font-size:15px}
th,td{text-align:left;padding:10px 15px;border-bottom:1px solid var(--line);
      vertical-align:top}
th{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;
   text-transform:uppercase;color:var(--dim);background:var(--panel);white-space:nowrap}
tbody tr:last-child td{border-bottom:none}

footer.site{margin-top:70px;border-top:1px solid var(--line);
            background:var(--night-2);padding:28px 0 46px;font-size:14px;color:var(--dim)}
footer.site p{margin:0 0 8px;max-width:46rem}
footer.site a{color:var(--muted)}
footer.site a:hover{color:var(--cyan)}
