:root { 
  --anchor:#ffa8ce;
  --anchor-hover: #b3004d;
  --code:61,35,82;
  --color:#F9F5D7;
  --background:#101216;
  --code:#9b5ad0;
  --highlight:#fff434;
}
@media (prefers-color-scheme: light) {
  :root { 
    --anchor: #d67941;
    --color: #101216;
    --background: white; 
    --highlight: #9d5021;
  }
}
html{font:100%/1.5 sans-serif;margin:1em auto;max-width:40em;padding:0 2%;color:var(--color); background-color:var(--background);}
header img { height:3em; float:right; }
blockquote{border-left:4px solid;margin:0;padding-left:.8em}
dd,ol,ul{margin:0;padding-left:1.5em}
code,time,kbd,samp,.mono{color: var(--code);font-family:monospace;}
a.mono {color:var(--color);text-decoration: none; }
:not(pre)>code{overflow-wrap:break-word;padding:0 .1em}
pre{overflow:auto;padding:.5em}
pre,:not(pre)>code{border:1px solid;border-color:rgba(var(--color), 0.5);}
img{display:block;height:auto;margin:auto;max-width:100%}
a:focus,[tabindex]:focus{outline:3px solid}
@supports selector(:focus-visible){a:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none}}
:focus-visible{outline:3px solid}
::selection { color: var(--background); background: var(--highlight); } 
a { color:var(--anchor); }
a:hover { background-color: var(--anchor-hover); color: #fff;}
h1 a {color:var(--highlight);}
h1 { margin: 0; font-size:2em;}
h1 a, h2 a, h3 a, h4 a { text-decoration: none; }
.details { margin-top: -1em; }
p, code { line-height: calc(1ex / 0.32); }
table, th, td { border: 1px solid var(--color); border-collapse: collapse; padding: 0.5em; }
article p, article img { margin: calc(1ex / 0.32) auto; }
article p {
  font-size: 1em;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased !important;
  -moz-font-smoothing: antialiased !important;
  text-rendering: optimizelegibility !important;
  letter-spacing: .03em;
  hyphens: auto;
  font-family: serif;
}
@supports (font-size-adjust: 1;) { article { font-size-adjust: 0.5; } }
figcaption { font-style: italic; margin-top: 1em; }
blockquote { border-left: 5px solid; font-style: italic; }
footer { margin:1.5em 0; }
footer p { font-size:0.8em; line-height:1em; }
.code404 { white-space: pre; line-height:0; }
details { }
summary { font-weight: bold; margin-bottom: 1em; }
details[open] { }
details[open] summary { color:var(--highlight);}

.note, .series, .sub { border-radius: 5px; color:#555; font-size:0.75em; padding: 0px 0.4em 1px 0.4em; text-decoration: none; vertical-align:middle; }
.note { background-color: #fffcd7; border: 1px solid #d5d458; }
.series { border: 1px solid var(--code); color: var(--anchor); }
.sub { background-color: #d7e9ff; border: 1px solid #589ad5; }
ol#steps li, ul#notes li, ul#references li {padding:0.25em 0;}
