:root{
  --paper:#EFF1F4;
  --card:#FFFFFF;
  --ink:#101826;
  --ink-soft:#5A6373;
  --spec:#656E7B;
  --line:#D5D9DF;
  --line-strong:#B4BBC5;
  --blue:#1F3BE0;
  --blue-deep:#0E1B4D;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(18px,4vw,56px);
  --tap:44px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:74px}
body{
  background:var(--paper);color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  font-variation-settings:'wdth' 100,'wght' 400;
  font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
button{background:none;border:0;cursor:pointer;font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px}
.skip:focus{left:8px}

header{position:sticky;top:0;z-index:60;background:rgba(239,241,244,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--ink)}
.nav{display:flex;align-items:center;gap:16px;min-height:62px;padding-inline:var(--pad)}
.brandlink{display:flex;align-items:center;min-height:var(--tap);
  min-width:var(--tap);padding-inline:8px}
.mark{width:27.1px;height:28px;flex:none;color:var(--ink);overflow:visible}
.backlink{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;min-height:var(--tap);display:inline-flex;align-items:center;
  color:var(--ink-soft);text-decoration:none}
.backlink:hover{color:var(--ink);text-decoration:underline}

.wrap{max-width:760px;margin-inline:auto;padding:0 var(--pad) 80px}
.masthead{padding:clamp(38px,6vw,68px) 0 22px;border-bottom:1px solid var(--ink)}
h1{font-variation-settings:'wdth' 116,'wght' 700;text-transform:uppercase;
  letter-spacing:-.025em;line-height:.95;font-size:clamp(1.7rem,5vw,2.6rem);text-wrap:balance}
.updated{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--spec);margin-top:14px}

section{padding-top:clamp(30px,4.5vw,44px)}
h2{font-variation-settings:'wdth' 112,'wght' 650;text-transform:uppercase;letter-spacing:-.015em;
  font-size:clamp(1.05rem,2.6vw,1.35rem);line-height:1.15;margin-bottom:12px}
h3{font-variation-settings:'wdth' 106,'wght' 620;font-size:16px;margin:20px 0 8px}
p{max-width:68ch}
p+p,ul+p,p+ul,ol+p,p+ol{margin-top:12px}
ul,ol{margin-left:20px;max-width:68ch}
li+li{margin-top:6px}
strong{font-weight:600}

.gap{font-family:var(--mono);font-size:.86em;background:#FFF1F0;color:#8C1D18;
  box-shadow:inset 0 0 0 1px #E2B4B0;padding:1px 6px;white-space:nowrap}

.callout{border:1px solid var(--line-strong);background:var(--card);padding:18px 20px;margin-top:18px}
.callout p{font-size:14.5px;color:var(--ink-soft)}
.callout p strong{color:var(--ink)}

.tablewrap{overflow-x:auto;border:1px solid var(--line);background:var(--card);margin-top:14px}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:460px}
th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--paper);font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;
  text-transform:uppercase;color:var(--spec);font-weight:600}
tbody tr:last-child td{border-bottom:0}
td code{font-family:var(--mono);font-size:.92em}

footer{border-top:1px solid var(--ink);margin-top:clamp(40px,6vw,70px);padding-top:22px;
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--spec)}
footer nav{display:flex;flex-wrap:wrap;gap:14px 22px;margin-bottom:14px}
footer nav a{color:var(--ink-soft);text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
footer nav a:hover{color:var(--ink);text-decoration:underline}
footer nav a[aria-current="page"]{color:var(--ink);font-weight:600}
#doc:focus{outline:none}
