:root{
  --canvas:#f4f6f8; --surface:#ffffff; --panel:#f7f9fa;
  --text:#1b1d1f; --muted:#54595d;
  --link:#0b4a8f; --visited:#6b2b8f; --figure:#7a2a12;
  --rule:#a7b6c2; --rule-in:#c8d4dc; --rule-soft:#dde5ea;
  --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --serif:Georgia,"Times New Roman",Times,serif;
  --mono:Consolas,"DejaVu Sans Mono","Liberation Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text);
  font:15px/1.6 var(--sans)}
a{color:var(--link);text-decoration:none}
a:visited{color:var(--visited)}
a:hover,a:focus{text-decoration:underline}
a:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--link);outline-offset:2px}
img{max-width:100%;height:auto}

.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:8px;top:8px;z-index:20;background:#fff;border:1px solid var(--rule);
  padding:6px 10px;font-size:13px}

.page{display:flex;align-items:flex-start;gap:0;
  max-width:1360px;min-width:0;margin:0 auto;padding:12px 16px 40px}

/* ---- left rail ---- */
.rail{width:200px;flex:0 0 200px;padding:4px 12px 0 0}
.rail .mark{display:block;margin:0 0 10px}
.rail .mark img{width:170px;display:block}
.rail .descriptor{font-size:11px;line-height:1.45;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin:0 0 16px;
  padding-bottom:12px;border-bottom:1px solid var(--rule-soft)}
.railgroup{margin:0 0 18px}
.railgroup h2{font:bold 11px/1.3 var(--sans);letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);margin:0 0 6px;
  padding-bottom:4px;border-bottom:1px solid var(--rule-soft)}
.railgroup ul{list-style:none;margin:0;padding:0}
.railgroup li{margin:0 0 3px}
.railgroup a{font-size:12.5px;line-height:1.45;display:block;padding:1px 0}
.railgroup a[aria-current="page"]{color:var(--text);font-weight:bold}

/* ---- article column ---- */
.column{flex:1 1 auto;min-width:0}

.tabs{display:flex;gap:1px;margin:0 0 -1px;padding:0 0 0 4px;
  list-style:none;overflow-x:auto;position:relative;z-index:2}
.tabs li{flex:0 0 auto}
.tabs a,.tabs span{display:block;font-size:12px;line-height:1;
  padding:7px 12px 8px;border:1px solid var(--rule);border-bottom:none;
  background:var(--panel);color:var(--link);white-space:nowrap;
  border-radius:3px 3px 0 0}
.tabs .current span{background:var(--surface);color:var(--text);font-weight:bold;
  padding-bottom:9px}

.article{background:var(--surface);border:1px solid var(--rule);
  border-right-width:0;border-bottom-width:0;padding:20px 26px 34px;
  min-height:60vh}
@media (min-width:1000px){.article{padding-right:40px}}

.crumb{font-size:12px;color:var(--muted);margin:0 0 10px}
.crumb a{color:var(--link)}

h1{font:normal 30px/1.25 var(--serif);margin:0 0 .5em;padding-bottom:.18em;
  border-bottom:1px solid var(--rule)}
h2{font:normal 21px/1.3 var(--serif);margin:1.6em 0 .5em;padding-bottom:.16em;
  border-bottom:1px solid var(--rule)}
h3{font:bold 17px/1.35 var(--sans);margin:1.4em 0 .4em}
p{margin:0 0 .7em;max-width:46em}
.article ul,.article ol{max-width:46em}
.tagline{font-style:italic;color:var(--muted);margin-top:1.4em}

/* ---- table of contents ---- */
.toc{display:inline-block;background:var(--panel);border:1px solid var(--rule-in);
  padding:10px 18px 12px;margin:0 0 1.2em;font-size:13.5px}
.toc h2{font:bold 13px/1.3 var(--sans);border:none;margin:0 0 6px;padding:0;
  text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.toc ol{margin:0;padding-left:22px}
.toc li{margin:2px 0}

/* ---- infobox ---- */
.infobox{float:right;width:290px;margin:4px 0 18px 24px;background:var(--panel);
  border:1px solid var(--rule);font-size:13px}
.infobox .ibhead{font:bold 13px/1.3 var(--sans);text-align:center;padding:7px 10px;
  background:#eef2f5;border-bottom:1px solid var(--rule-in);letter-spacing:.03em}
.infobox dl{margin:0;padding:8px 10px}
.infobox dt{font-weight:bold;color:var(--muted);font-size:11.5px;
  letter-spacing:.05em;text-transform:uppercase;margin:6px 0 1px}
.infobox dt:first-child{margin-top:0}
.infobox dd{margin:0 0 4px;font-family:var(--mono);font-size:12.5px;line-height:1.45}

/* ---- figures ---- */
figure.thumb{background:var(--panel);border:1px solid var(--rule-soft);padding:5px;
  margin:0 0 1.2em}
figure.thumb.right{float:right;clear:right;width:300px;margin:4px 0 16px 24px}
figure.thumb img{display:block;width:100%}
figure.thumb figcaption{font-size:12px;line-height:1.45;color:var(--muted);
  padding:6px 3px 2px}
.figrow{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 1.2em}
.figrow figure.thumb{flex:1 1 200px;margin:0;min-width:180px}

/* ---- portals ---- */
.portals{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:14px;margin:0 0 1em;max-width:none}
.portal{border:1px solid var(--rule-in);background:var(--panel);padding:10px}
.portal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule-soft);margin:0 0 8px}
.portal a{font-weight:bold;font-size:14px}
.portal p{font-size:12.5px;line-height:1.5;color:var(--muted);margin:5px 0 0;max-width:none}

/* ---- tables ---- */
.tablewrap{overflow-x:auto;margin:0 0 1.2em;border-right:1px solid var(--rule-soft);
  max-width:100%}
table.wiki{border-collapse:collapse;border:1px solid var(--rule);
  background:var(--surface);font-size:13.5px;min-width:100%}
table.wiki caption{caption-side:top;text-align:left;font-size:12px;color:var(--muted);
  padding:0 0 5px}
table.wiki th,table.wiki td{border:1px solid var(--rule-in);padding:6px 11px;
  text-align:left;vertical-align:top}
table.wiki thead th{background:#eef2f5;font-size:12px;letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap}
table.wiki tbody th{background:var(--panel);font-weight:bold}
table.wiki td.num{font-family:var(--mono);color:var(--figure);white-space:nowrap}
table.wiki td.mono{font-family:var(--mono);white-space:nowrap}
table.wiki tr.total th,table.wiki tr.total td{background:#eef2f5;font-weight:bold}

dl.defs{max-width:46em}
dl.defs dt{font-weight:bold;margin:12px 0 2px}
dl.defs dd{margin:0 0 0 22px;color:var(--muted);font-size:14px}
dl.defs dd .spec{font-family:var(--mono);color:var(--text)}

.toolbox{background:var(--panel);border:1px solid var(--rule-in);padding:10px 16px;
  display:inline-block;font-size:13px}
.toolbox ul{list-style:square;margin:0;padding-left:20px}
.toolbox li{margin:3px 0}

.prevnext{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:13px;
  margin:2em 0 0;padding-top:10px;border-top:1px solid var(--rule-soft)}

.catfoot{margin:1.6em 0 0;padding:8px 0 0;border-top:1px solid var(--rule);
  font-size:12.5px;color:var(--muted)}
.catfoot .lbl{font-weight:bold;color:var(--text)}
.catfoot a{margin:0 2px;white-space:nowrap}

footer.wikifoot{border-top:1px solid var(--rule-soft);margin-top:26px;padding:14px 0 0;
  font-size:12px;line-height:1.6;color:var(--muted)}
footer.wikifoot .site{color:var(--text)}
footer.wikifoot a{white-space:nowrap}
footer.wikifoot .lbl{font-weight:bold;color:var(--text)}

/* ---- mobile ---- */
@media (max-width:860px){
  .page{display:block;padding:10px 12px 32px}
  .rail{width:auto;flex:none;padding:0 0 16px;margin:0 0 4px;
    border-bottom:1px solid var(--rule-soft)}
  .rail .mark img{width:150px}
  .rail .descriptor{margin-bottom:12px}
  .railgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:8px 20px}
  .railgroup a{padding:11px 0;min-height:44px;display:flex;align-items:center;font-size:14px}
  .article{border-right-width:1px;padding:16px 14px 28px}
  h1{font-size:25px}
  h2{font-size:19px}
  .infobox{float:none;width:auto;margin:14px 0 18px}
  figure.thumb.right{float:none;width:auto;margin:0 0 1.2em}
  .toc{display:block}
  .toc li{margin:0}
  .toc a{display:flex;align-items:center;min-height:44px}
  .portals{grid-template-columns:1fr}
  .tabs a,.tabs span{padding:10px 14px}
}
