:root{
  --ink:#0E1726; --body:#3E4D63; --faint:#8695A8;
  --bg:#FFFFFF; --sunk:#F7F8FA; --line:#E7EAEF;
  --navy:#13306F; --blue:#1D4ED8; --amber:#F59E0B;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#E8ECF3; --body:#B4BFCF; --faint:#7F8BA0;
    --bg:#0D1117; --sunk:#151B24; --line:#243042;
    --blue:#7AA2FF;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue)}
.wrap{width:min(820px,100%);margin-inline:auto;padding-inline:20px}

header{border-bottom:1px solid var(--line)}
header .wrap,footer .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
header .wrap{min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);
  font-weight:660;font-size:19px;letter-spacing:-.022em;margin-right:auto}
.brand svg{width:28px;height:28px;flex:0 0 auto}
header nav,footer nav{display:flex;gap:18px}
header nav a,footer nav a{color:var(--body);text-decoration:none;font-size:15px}
header nav a[aria-current],header nav a:hover,footer nav a:hover{color:var(--ink)}

.doc{padding-top:clamp(36px,6vw,64px);padding-bottom:64px}
h1{margin:0;font-size:clamp(34px,5.5vw,48px);line-height:1.1;letter-spacing:-.035em;font-weight:680}
.meta{margin:10px 0 0;color:var(--faint);font-size:14.5px}
.lead{margin:14px 0 0;color:var(--body);font-size:19px}
h2{margin:0 0 12px;font-size:clamp(22px,3vw,26px);line-height:1.25;letter-spacing:-.022em;font-weight:660}
h3{margin:26px 0 8px;font-size:18px;letter-spacing:-.012em;font-weight:640}
section{margin-top:44px;scroll-margin-top:20px}
p,li{color:var(--body)}
p{margin:0 0 14px}
ul,ol{margin:0 0 14px;padding-left:22px}
li{margin:6px 0}
b{color:var(--ink);font-weight:620}

.summary{margin-top:32px;background:var(--sunk);border:1px solid var(--line);
  border-left:4px solid var(--amber);border-radius:14px;padding:22px 24px 10px}
.summary h2{font-size:19px;margin-bottom:10px}
.toc{margin-top:32px}
.toc h2{font-size:17px;margin-bottom:6px}
.toc ol{columns:2;column-gap:32px;font-size:15.5px}
.toc li{break-inside:avoid;margin:4px 0}
.toc a{text-decoration:none}
@media (max-width:640px){.toc ol{columns:1}}
.callout{background:var(--sunk);border-radius:12px;padding:14px 16px}

.table{overflow-x:auto;margin:6px 0 16px;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:560px}
th,td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line)}
th{background:var(--sunk);color:var(--ink);font-weight:620}
td{color:var(--body)}
tr:last-child td{border-bottom:0}
@media (max-width:640px){
  table{min-width:0;font-size:14px}
  th,td{padding:9px 10px}
  td:first-child{color:var(--ink);font-weight:560}
}

footer{border-top:1px solid var(--line);padding:26px 0;color:var(--faint);font-size:14.5px}
footer span{margin-right:auto}

/* The in-app PDFs are printed from these pages (tools/legal-pdf.sh), so the
   printed copy is the document: no site navigation, always light, and
   tables and headings kept whole across page breaks. */
@media print{
  @page{size:A4;margin:18mm 16mm}
  :root{--ink:#0E1726;--body:#26344A;--faint:#5B6B80;--bg:#fff;--sunk:#F3F5F8;--line:#DDE2E9;--blue:#1D4ED8}
  body{font-size:11pt;line-height:1.5}
  header nav,footer nav,.toc{display:none}
  header .wrap{min-height:0;padding-bottom:10px}
  .wrap{width:100%;padding-inline:0}
  .doc{padding-top:14px;padding-bottom:0}
  h1{font-size:26pt}
  h2{font-size:15pt;break-after:avoid}
  h3{font-size:12pt;break-after:avoid}
  section{margin-top:22px}
  table{min-width:0;font-size:9.5pt}
  .table{overflow:visible}
  tr,.callout{break-inside:avoid}
  a{color:inherit;text-decoration:none}
  footer{padding:12px 0 0}
}
