:root{
  --bg:#fff;--soft:#f4f5f7;--ink:#1d2127;--muted:#5a6370;--line:#d8dce2;--brand:#1f3a5f;--accent:#9b2f36;--link:#14559c;--note:#fdf6e3;
  --surface:var(--bg);--surface-2:var(--soft);--brand-2:var(--brand);
  --serif:Charter,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --fig-a:#e8eef6;--fig-b:#f6ecd9;--fig-c:#e6e9f2;--fig-d:#ece6f2;--fig-e:#e4efe4;--fig-f:#f5e0dd;--fig-line:#3b4a5c;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#14181d;--soft:#1b2027;--ink:#e4e7eb;--muted:#9aa4b0;--line:#2c333c;--brand:#9db8dd;--accent:#e08a90;--link:#7fb0ee;--note:#2a2618;
  --fig-a:#1f2a38;--fig-b:#33291a;--fig-c:#242a3a;--fig-d:#2c2438;--fig-e:#1f3024;--fig-f:#3a2422;--fig-line:#a9b7c8}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.6 var(--serif)}
a{color:var(--link);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}
img,svg{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* header */
.top{border-bottom:1px solid var(--line);background:var(--bg)}
.bar{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.brand{font:700 18px/1.2 var(--sans);color:var(--brand);text-decoration:none;letter-spacing:.1px}
.topnav{display:flex;gap:4px 18px;flex-wrap:wrap;margin-left:auto}
.topnav a{font:500 15px/1 var(--sans);color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.topnav a:hover{border-bottom-color:var(--line)}.topnav a[aria-current]{border-bottom-color:var(--accent);font-weight:600}
.srch input{width:150px;padding:7px 9px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);font:14.5px var(--sans)}
@media (max-width:760px){.topnav{margin-left:0;width:100%;order:3}.srch{margin-left:auto}}
/* page grid */
.page{display:grid;grid-template-columns:210px minmax(0,44rem) 190px;gap:44px;max-width:1200px;margin:0 auto;padding:26px 20px 64px;justify-content:center}
.page.single{grid-template-columns:minmax(0,44rem)}
.side{font:15px/1.4 var(--sans)}
.side details{position:sticky;top:18px}
.side summary{font:700 12px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);cursor:pointer;margin-bottom:8px;list-style:none}
.side summary::-webkit-details-marker{display:none}
.side ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.side li a{display:block;padding:5px 0 5px 12px;margin-left:-1px;color:var(--ink);text-decoration:none;border-left:2px solid transparent}
.side li a:hover{color:var(--link)}.side li a[aria-current]{border-left-color:var(--accent);font-weight:600}
.toc{font:14px/1.4 var(--sans);position:sticky;top:18px;align-self:start}
.toc p{font:700 12px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 8px}
.toc ol{list-style:none;margin:0;padding:0}.toc li a{display:block;padding:4px 0;color:var(--muted);text-decoration:none}.toc li a:hover,.toc li a.act{color:var(--ink)}
.toc li a.act{font-weight:600}
.toc-inline{display:none;font:15px/1.4 var(--sans);border:1px solid var(--line);border-radius:3px;padding:8px 12px;margin:0 0 18px;background:var(--soft)}
.toc-inline summary{cursor:pointer;font-weight:600}.toc-inline ol{margin:8px 0 2px;padding-left:1.2em}
@media (max-width:1180px){.page{grid-template-columns:200px minmax(0,44rem)}.toc{display:none}.toc-inline{display:block}}
@media (max-width:860px){.page{grid-template-columns:minmax(0,1fr);gap:8px}.side{order:-1;border-bottom:1px solid var(--line);padding-bottom:8px}.side details{position:static}.side details:not([open]) summary:after{content:" ▾"}}
/* article */
article{min-width:0}
.crumbs{font:14px var(--sans);color:var(--muted);margin:0 0 14px}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 6px}
.crumbs li+li:before{content:"/";margin-right:6px;color:var(--line)}.crumbs a{color:var(--muted)}
article h1{font:700 2.05rem/1.2 var(--serif);margin:0 0 .35em;color:var(--ink);text-wrap:balance}
.lede{font-size:1.14rem;line-height:1.55;margin:0 0 .5em;color:var(--ink)}
.meta{font:14px var(--sans);color:var(--muted);margin:0 0 1.4em}
article h2{font:650 1.4rem/1.3 var(--sans);margin:2em 0 .55em;padding-top:.7em;border-top:1px solid var(--line);scroll-margin-top:14px}
article h3{font:650 1.08rem/1.35 var(--sans);margin:1.6em 0 .4em;scroll-margin-top:14px}
article p{margin:0 0 1em}article ul,article ol{margin:0 0 1.1em;padding-left:1.35em}article li{margin:.3em 0}
article table{border-collapse:collapse;width:100%;margin:1.1em 0;font:15px/1.45 var(--sans);display:block;overflow-x:auto}
article th,article td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}article th{background:var(--soft);font-weight:650}
article pre{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:3px;padding:12px 14px;overflow-x:auto;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:1em 0}
article code{font:.88em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--soft);padding:1px 4px;border-radius:2px}article pre code{background:none;padding:0}
.summary{background:var(--soft);border:1px solid var(--line);border-radius:3px;padding:12px 16px 4px;margin:0 0 1.6em;font-size:16.5px}
.summary .sum-h{font:700 12px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 6px}
.summary ul{margin:0 0 .8em;padding-left:1.2em}
figure.fig{margin:1.6em 0;border:1px solid var(--line);border-radius:3px;padding:12px;background:var(--bg)}
figure.fig figcaption{font:14px/1.45 var(--sans);color:var(--muted);margin-top:8px}
.fg-b{font:600 13px var(--sans);fill:var(--ink)}.fg-s{font:12.5px var(--sans);fill:var(--muted)}.fg-h{font:600 14px var(--sans);fill:var(--ink)}
.fg-m{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;fill:var(--ink)}
/* faq, sources, lists */
details{border-bottom:1px solid var(--line);padding:0}
article details summary{cursor:pointer;font:600 16.5px/1.4 var(--sans);padding:12px 0;list-style:none}
article details summary::-webkit-details-marker{display:none}
article details summary:before{content:"+";display:inline-block;width:1.2em;color:var(--accent);font-weight:700}
article details[open] summary:before{content:"–"}
article details p{margin:0 0 12px 1.2em;font-size:17px}
.sources ol{padding-left:1.3em;font:15px/1.5 var(--sans);color:var(--muted)}.sources li{margin:.45em 0}.sources a{word-break:break-word}
.entries,.plain{list-style:none;padding:0;margin:0 0 1.2em}
.entries li{margin:0 0 1em}.entries a{font:650 17px/1.35 var(--sans);display:block}.entries span{display:block;font:15px/1.5 var(--sans);color:var(--muted);margin-top:2px}
.plain li{margin:.25em 0;font:16px/1.4 var(--sans)}
.prevnext{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:2.4em;padding-top:14px;font:15px/1.4 var(--sans)}
.prevnext a{display:block;max-width:48%;text-decoration:none}.prevnext small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.prevnext a[rel=next]{text-align:right;margin-left:auto}
.note{background:var(--note);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:3px;padding:12px 16px;margin:1.4em 0;font-size:16.5px}
.az{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 1.2em;font:14px var(--sans)}.az a{padding:3px 9px;border:1px solid var(--line);border-radius:3px;text-decoration:none}
dl.gl dt{font:650 1.05rem/1.35 var(--sans);margin-top:1.1em;scroll-margin-top:14px}dl.gl dd{margin:.15em 0 0}
.sr-item{padding:12px 0;border-bottom:1px solid var(--line)}.sr-item a{font:650 17.5px var(--sans)}.sr-item p{margin:3px 0 0;color:var(--muted);font:15px/1.5 var(--sans)}
/* home */
.home h1{font-size:2.3rem}.home .lede{font-size:1.2rem;max-width:36em}
.bigsearch{display:flex;gap:8px;margin:1.2em 0 .8em;max-width:36em}
.bigsearch input{flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);font:16px var(--sans)}
.quick{font:15.5px/1.6 var(--sans);color:var(--muted)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:6px 48px;margin-top:1.6em}
.cols2 h2{border-top:0;padding-top:0;margin:1.4em 0 .3em;font-size:1.2rem}.cols2 h2 a{color:var(--ink);text-decoration:none}.cols2 h2 a:hover{color:var(--link)}
.cols2 p{font:15px/1.5 var(--sans);color:var(--muted);margin:0 0 .5em}
@media (max-width:760px){.cols2{grid-template-columns:1fr}}
/* widgets */
.widget{border:1px solid var(--line);background:var(--soft);border-radius:3px;padding:16px 18px;margin:1.4em 0 1.8em;font-family:var(--sans)}
.widget h2{margin:0 0 .7em!important;padding:0!important;border:0!important;font:650 1.15rem/1.3 var(--sans)!important}
.widget .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.widget label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:3px}
.widget input,.widget select,.widget textarea{width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);font:15.5px var(--sans)}
.widget .out{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.widget .res{background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:10px 12px}.widget .res small{display:block;color:var(--muted);font-size:12.5px}
.widget .hint{font-size:13.5px;color:var(--muted);margin:10px 0 0}
.widget pre{margin:0;white-space:pre-wrap;word-break:break-word}
.btn{display:inline-block;padding:9px 14px;border-radius:3px;font:600 15px/1.2 var(--sans);text-decoration:none;background:var(--brand);color:#fff;border:1px solid var(--brand);cursor:pointer}
.btn.ghost{background:transparent;color:var(--brand)}
@media (prefers-color-scheme:dark){.btn{color:#10151b}.btn.ghost{color:var(--brand)}}
/* footer */
.foot{background:var(--soft);border-top:1px solid var(--line);margin-top:20px;font:14.5px/1.5 var(--sans)}
.fwrap{max-width:1200px;margin:0 auto;padding:28px 20px 30px}
.fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width:700px){.fcols{grid-template-columns:1fr}}
.fh{font:700 12px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 8px}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:4px 0}.foot a{color:var(--ink)}
.fine{color:var(--muted);font-size:13.5px;margin:14px 0 0;max-width:62em}
@media print{.top,.side,.toc,.foot,.toc-inline{display:none}.page{display:block;padding:0}body{font-size:12pt}}
.skip{position:absolute;left:-999px;top:6px;background:var(--brand);color:#fff;padding:8px 14px;border-radius:3px;z-index:100;font:600 14px var(--sans)}.skip:focus{left:8px}
