*{box-sizing:border-box}
.sro:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}

body{ font-family:"Noto Sans","Luxi Sans","Segoe UI","Helvetica Neue",Calibri,sans-serif; font-size-adjust:0.537; }

.tags{ list-style:none; display:inline; padding:0 }
.tags>li{ display:inline }

h1, h2, h3{ margin:1rem 0 1rem 0; padding:0; line-height:1.2; font-variant-numeric:lining-nums }
h1{ font-size:1.75em; font-weight:500; margin:1em 0 .2em }
h2{ font-size:1.5em }
h3{ font-size:1.25em }

hr{ margin:1em 0 }

ol, ul{ margin:0 0 1em 0; padding:0 0 0 2.5em }
li>ol,li>ul{ margin:0 }
p{ margin:0.67em 0; padding:0; }
dt{ font-weight:700; margin:.5em 0 }
dd{ margin:.5em 0 .5em 1em; padding:0 }

code,kbd,pre,samp,tt{ line-height:1.4; font-family:"Noto Mono",Consolas,"Andale Mono",monospace }
p > code, p > kbd, p > samp, p > tt{ color:/* darker than body */ #000; font-weight:500; white-space:pre }

#toctog{visibility:hidden;position:absolute;left:0}
#tog{cursor:pointer}

ins,dfn,abbr{ text-decoration:none }
dfn{ font-style:normal; font-weight:600 }
del{ text-decoration:line-through }
time{ font-variant-numeric:lining-nums }

b{ font-weight:600; color:#222; }

blockquote{ line-height:1.5; margin:1em 0; padding:.5em 1em; quotes:"“" "”" "‘" "’" }
blockquote>p::before{ content:open-quote }
blockquote>p::after{ content:no-close-quote }
blockquote>p:last-of-type::after{ content:close-quote }
blockquote>footer{ text-align:right }
blockquote>footer::before{ content:"\2014 \00a0 " }

main+div{text-align:right}

img{ max-width:100%;height:auto/*preserve aspect ration*/ }

@media screen{
body{ font-size:110%; line-height:1.6; max-width:40em; background:#fff; color:#333; margin:0 auto; padding:1px 1em }
nav,body>footer{ border:1px solid #ccc; background:#fafafa; padding:.5em 2em; display:inline-block; margin:.5em 0 }
nav{ font-size:80%; padding:.5em 2em }
body>footer{ padding:1em 2em; font-size:90% }
nav>ol{margin:0;padding:0;list-style:circle inside}
nav a:link{text-decoration:none}
.current{list-style-type:disc;border-width:3px 0;border-color:#ccc;border-style:double;margin:.25em 0;padding:.25em 0}
/*.current a:link:not(:hover,:focus,:active){color:navy}*/
.current>ol{font-weight:400}
nav>ol>li li{list-style-type:square}
#toctog+div{margin:.5em 0}
#tog::after{content:"Hide"}
#toctog:checked+div>label::after{content:"Show"}
#toctog:checked~ol{display:none}
h2{ padding-top:1em; border-top:3px solid }
nav h2{display:inline;padding:0;border:0;color:inherit/*override darkred*/;margin:.25em 0;font-weight:600;font-size:1.25em}
pre{ overflow:auto }
aside{ margin:1em 0; padding:.25em 2em; border-radius:10px; border-style:double; border-width:0 3px }
blockquote{ padding-left:1.5em; border:solid #ddd; border-width:1px 5px }
figure{ margin:1em; border:3px solid #444; border-radius:5px; box-shadow:0 0 7px #666; user-select:contain }
aside>figure{ margin:1em 0 } /* aside already has padding */
figcaption{ margin:0; padding:.5em 1em; border:0 solid #ccc; background:#444; color:#fff; font-size:0.9em; line-height:1.3 }
figcaption a:link,figcaption a:visited{ color:#fff; text-decoration-color:dodgerblue }
figcaption a:hover,figcaption a:focus{ color:skyblue }
figure>pre{ font-size:0.9em; padding:1em; margin:auto }
.term{ background:#222; color:tan }
.term kbd{ color:snow }
.term kbd > samp{ color:lightsteelblue }
.term a:link{ color:inherit; text-decoration-color:lightskyblue }
.file kbd{ color:steelblue }
code > kbd{ font-weight:600 }
a:link[type="application/pdf"]::after{ content:" [PDF]"; font-size:0.75em; vertical-align:text-top }
figure:target{ border-color:dodgerblue; outline:2px solid; outline-offset:-5px }
mark{ font-weight:500; color:inherit; background:inherit; border-bottom:3px solid #ddd; padding:0 .2em }
}

@media only screen and (color) {
h2{color:darkred}
ins{color:darkgreen}
del{color:firebrick}
#tog,a:link{ color:mediumblue }
a:visited{ color:rebeccapurple }
#tog:hover,a:hover,a:focus{ text-decoration:underline; color:dodgerblue }
a:link:active{ color:orangered }
}

@media (any-hover:hover) {
ins[title],abbr[title]{ border-bottom:1px dotted; cursor:help }
ins{ border-color:#666 }
}
dfn>abbr[title]{border:0;cursor:inherit}
dfn>abbr[title]::before{ content:attr(title) " (" }
dfn>abbr[title]::after{ content:")" }

@media screen and (prefers-color-scheme:dark){
body{ background:#121212; color:#ddd; /* font-stretch:semi-expanded */ }
nav{background:inherit;border-color:#666}
body>footer{background:inherit;border:0;border-top:3px double;padding-top:1.5em}
code,kbd,pre,samp,tt{ letter-spacing:normal; word-spacing:normal }
b{ color:#eee }
pre{ color:inherit } /* overrides print */
p > code, p > kbd, p > samp, p > tt{ color:linen }
h1,h2{ color:#f0f0f0 }
h2,h3{ font-weight:500 }
#tog,a:link{ color:lightskyblue } a:visited{ color:mediumorchid } #tog:hover,a:hover,a:focus{ color:magenta } a:active{ color:orangered }
ins{ color:limegreen } del{ color:crimson }
figure{ border:2px solid #333 } figcaption{ background:#333 }
figure > .file{ background:#202020 }
.term{ background:#000 }
.fn:target{ outline-color:#444 }
blockquote{ border-color:#444 }
}

@media print {
/*@page{ size:A4; margin:2cm 2.5cm; }*/
body{ font-size:12pt; background:#fff; color:#000; font-size:100%; padding:0 }
nav{ display:none }
aside{ margin:1em }
figcaption{ margin:auto }
figure{ padding:.5em 1em; border:1px dotted #ccc }
a:link, a:visited{ color:inherit; text-decoration:inherit }
p > a:link:not([href^="#"])::after{ content:" \2039 \202f" attr(href) "\202f \203a  "; overflow-wrap:break-word }
h1{ margin-top:0 }
h3{ font-weight:600 }
pre{ color:#111 } /* override in dark mode */
code,kbd,pre,samp,tt{ white-space:pre-wrap }
h1, h2, h3, pre, code, samp, table, figure, li, a{ page-break-inside:avoid }
figcaption, h1, h2, h3, dt{ break-after:avoid }
figcaption, ul, ol, dd{ break-before:avoid }
.term{ padding:.5em; border:1px dotted }
ins{ color:#000; border-bottom:1px dotted #999 }
.fn > a:first-child{ display:none }
mark{ background:transparent; font-weight:700 }
}
