

.body { font:var(--fs-body)/var(--lh-body) var(--ui); word-break:break-word; }
.body > *:first-child { margin-top:0; }
.body > *:last-child { margin-bottom:0; }
.body p { margin:0 0 var(--s3); }
.body h1,.body h2,.body h3,.body h4,.body h5,.body h6 {
  font-weight:650; line-height:1.3; margin:var(--s5) 0 var(--s3); }
.body h1 { font-size:1.35em; } .body h2 { font-size:1.2em; }
.body h3 { font-size:1.08em; } .body h4,.body h5,.body h6 { font-size:1em; color:var(--muted); }
.body ul,.body ol { margin:0 0 var(--s3); padding-left:var(--s5); }
.body li { margin:0 0 var(--s1); }
.body li > ul,.body li > ol { margin:var(--s1) 0 0; }
.body blockquote { margin:0 0 var(--s3); padding:var(--s1) 0 var(--s1) var(--s4);
                   border-left:2px solid var(--line2); color:var(--muted); }
.body blockquote > *:last-child { margin-bottom:0; }
.body hr { border:0; border-top:1px solid var(--line); margin:var(--s5) 0; }
.body strong { font-weight:650; color:#fff; }
.body em { font-style:italic; }
.body del { color:var(--faint); }
.body a { text-decoration:underline; text-underline-offset:2px; }
.body code { font:var(--fs-code) var(--mono); background:var(--bg2); padding:1px 5px; }
.body pre { background:var(--bg1); border:var(--bd) solid var(--line);
            padding:var(--s3) var(--s4); overflow-x:auto; margin:0 0 var(--s3);
            position:relative; }
.body pre code { background:none; padding:0; font-size:var(--fs-code); line-height:1.6; }

.body pre .copy { position:absolute; top:0; right:0;
                  background:none; border:0; color:var(--faint); cursor:pointer;
                  font:var(--fs-micro)/1 var(--mono);
                  padding:var(--s2) var(--s3); opacity:0; transition:opacity .12s, color .12s; }
.body pre:hover .copy, .body pre:focus-within .copy { opacity:1; }
.body pre .copy:hover { color:var(--text); background:none; }
@media (hover:none) { .body pre .copy { opacity:1; } }
.body pre .lang { position:absolute; top:7px; left:var(--s4); font:var(--fs-micro) var(--mono);
                  color:var(--faint); letter-spacing:.06em; text-transform:uppercase; }
.body pre:has(.lang) code { display:block; padding-top:var(--s4); }

.body .tablewrap { overflow-x:auto; margin:0 0 var(--s3); border:1px solid var(--line); }
.body .tablewrap table { font-size:var(--fs-ui); }
.body .tablewrap th { position:static; }
.body .tablewrap td,.body .tablewrap th { white-space:nowrap; }


.body h1[id], .body h2[id], .body h3[id] { scroll-margin-top:var(--s5); position:relative; }
.body h2[id]:hover::after, .body h3[id]:hover::after {
  content:"#"; position:absolute; margin-left:var(--s2); color:var(--faint);
  font-weight:400; }
