/* -- start reset -- */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* -- end reset -- */


/* -- start typogrify -- */
.caps {font-size:.92em;}
.amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;}
.dquo {margin-left:-.38em;}
/* -- end typogrify -- */


/* -- start pygments -- */
.highlight .hll { background-color: #404040 }
.highlight .c { color: #999999; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .esc { color: #d0d0d0 } /* Escape */
.highlight .g { color: #d0d0d0 } /* Generic */
.highlight .k { color: #5891dd; font-weight: bold } /* Keyword */
.highlight .l { color: #d0d0d0 } /* Literal */
.highlight .n { color: #d0d0d0 } /* Name */
.highlight .o { color: #d0d0d0 } /* Operator */
.highlight .x { color: #d0d0d0 } /* Other */
.highlight .p { color: #d0d0d0 } /* Punctuation */
.highlight .ch { color: #999999; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #999999; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #999999; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #999999; font-style: italic } /* Comment.Single */
.highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
.highlight .gd { color: #d22323 } /* Generic.Deleted */
.highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #d22323 } /* Generic.Error */
.highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #589819 } /* Generic.Inserted */
.highlight .go { color: #cccccc } /* Generic.Output */
.highlight .gp { color: #aaaaaa } /* Generic.Prompt */
.highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
.highlight .gt { color: #d22323 } /* Generic.Traceback */
.highlight .kc { color: #5891dd; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #5891dd; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #5891dd; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #5891dd } /* Keyword.Pseudo */
.highlight .kr { color: #5891dd; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #5891dd; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #d0d0d0 } /* Literal.Date */
.highlight .m { color: #3b83bb; font-weight: bold } /* Literal.Number */
.highlight .s { color: #ee9a00 } /* Literal.String */
.highlight .na { color: #bbbbbb } /* Name.Attribute */
.highlight .nb { color: #24909d } /* Name.Builtin */
.highlight .nc { color: #447fcf; text-decoration: underline } /* Name.Class */
.highlight .no { color: #40ffff } /* Name.Constant */
.highlight .nd { color: #ee9a00 } /* Name.Decorator */
.highlight .ni { color: #d0d0d0 } /* Name.Entity */
.highlight .ne { color: #bbbbbb } /* Name.Exception */
.highlight .nf { color: #447fcf } /* Name.Function */
.highlight .nl { color: #d0d0d0 } /* Name.Label */
.highlight .nn { color: #447fcf; text-decoration: underline } /* Name.Namespace */
.highlight .nx { color: #d0d0d0 } /* Name.Other */
.highlight .py { color: #d0d0d0 } /* Name.Property */
.highlight .nt { color: #5891dd; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #40ffff } /* Name.Variable */
.highlight .ow { color: #5891dd; font-weight: bold } /* Operator.Word */
.highlight .w { color: #666666 } /* Text.Whitespace */
.highlight .mb { color: #3b83bb; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #3b83bb; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #3b83bb; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #3b83bb; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #3b83bb; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #ee9a00 } /* Literal.String.Affix */
.highlight .sb { color: #ee9a00 } /* Literal.String.Backtick */
.highlight .sc { color: #ee9a00 } /* Literal.String.Char */
.highlight .dl { color: #ee9a00 } /* Literal.String.Delimiter */
.highlight .sd { color: #ee9a00 } /* Literal.String.Doc */
.highlight .s2 { color: #ee9a00 } /* Literal.String.Double */
.highlight .se { color: #ee9a00 } /* Literal.String.Escape */
.highlight .sh { color: #ee9a00 } /* Literal.String.Heredoc */
.highlight .si { color: #ee9a00 } /* Literal.String.Interpol */
.highlight .sx { color: #ee9a00 } /* Literal.String.Other */
.highlight .sr { color: #ee9a00 } /* Literal.String.Regex */
.highlight .s1 { color: #ee9a00 } /* Literal.String.Single */
.highlight .ss { color: #ee9a00 } /* Literal.String.Symbol */
.highlight .bp { color: #24909d } /* Name.Builtin.Pseudo */
.highlight .fm { color: #447fcf } /* Name.Function.Magic */
.highlight .vc { color: #40ffff } /* Name.Variable.Class */
.highlight .vg { color: #40ffff } /* Name.Variable.Global */
.highlight .vi { color: #40ffff } /* Name.Variable.Instance */
.highlight .vm { color: #40ffff } /* Name.Variable.Magic */
.highlight .il { color: #3b83bb; font-weight: bold } /* Literal.Number.Integer.Long */
/* -- */
@media (prefers-color-scheme: light) {
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #8f5902; font-style: italic } /* Comment */
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
.highlight .g { color: #000000 } /* Generic */
.highlight .k { color: #204a87; font-weight: bold } /* Keyword */
.highlight .l { color: #000000 } /* Literal */
.highlight .n { color: #000000 } /* Name */
.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */
.highlight .x { color: #000000 } /* Other */
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
.highlight .gd { color: #a40000 } /* Generic.Deleted */
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #ef2929 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #000000; font-style: italic } /* Generic.Output */
.highlight .gp { color: #8f5902 } /* Generic.Prompt */
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #000000 } /* Literal.Date */
.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */
.highlight .s { color: #4e9a06 } /* Literal.String */
.highlight .na { color: #c4a000 } /* Name.Attribute */
.highlight .nb { color: #204a87 } /* Name.Builtin */
.highlight .nc { color: #000000 } /* Name.Class */
.highlight .no { color: #000000 } /* Name.Constant */
.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #ce5c00 } /* Name.Entity */
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #000000 } /* Name.Function */
.highlight .nl { color: #f57900 } /* Name.Label */
.highlight .nn { color: #000000 } /* Name.Namespace */
.highlight .nx { color: #000000 } /* Name.Other */
.highlight .py { color: #000000 } /* Name.Property */
.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #000000 } /* Name.Variable */
.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */
.highlight .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #000000 } /* Name.Function.Magic */
.highlight .vc { color: #000000 } /* Name.Variable.Class */
.highlight .vg { color: #000000 } /* Name.Variable.Global */
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
}
/* -- end pygments -- */


html {
-webkit-text-size-adjust: none; /* prevent mobile safari landscape zoom */
}

:root {
--bg-color: #222;
--fg-color: #ddd;
--fg-color-dim: #bbb;
--link-color: #8bf; /* or: 6c6 e22 */
--edge-color: #484848;
--pane-color: #2c2c2c;
}

@media (prefers-color-scheme: light) { :root {
--bg-color: white;
--fg-color: black;
--fg-color-dim: #555;
--link-color: #a00;
--edge-color: #ccc;
--pane-color: #eee;
}}

body {
background-color: var(--pane-color);
font-size: .9em;
font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
line-height: 1.4;
}

.layout {
box-sizing: border-box;
}

#sitebanner::before { /* ::before instead of ::after to appear under children */
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
position: absolute;
top: -30%;
right: 0;
font-size: 330%;
font-family: Tahoma, Geneva, sans-serif;
color: var(--bg-color);
text-shadow: -1px -1px var(--pane-color), 1px -1px var(--pane-color), -1px 1px var(--pane-color), 1px 1px var(--pane-color);
}
#sitebanner {
position: relative; /* to support { position: absolute } on ::before */
overflow: hidden;
padding: 0 .5ex;
background-color: var(--bg-color);
color: var(--fg-color-dim);
font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
line-height: 1.0;
}
#sitebanner * {
position: relative; /* put children on top of ::before without using z-index */
}
#sitebanner a,
#sitebanner a:hover {
top: 0.1ex; /* help balance ascenders without descenders on firefox */
color: inherit;
background-color: transparent;
text-decoration: inherit;
}
#sitebanner .sitename {
font-size: 200%;
color: var(--fg-color);
}
#sitebanner .sitetlddot {
font-size: 90%;
color: var(--link-color);
}
#sitebanner .sitetld {
font-size: 90%;
color: var(--edge-color);
}
#sitebanner .sitesubtitle {
display: inline;
margin-left: 1ex;
font-size: 125%;
}

#navlayout {
color: var(--fg-color);
border-top: 1px solid var(--edge-color);
}
#mainwrap {
float: left;
width: 100%;
}
#main {
margin-left: 10em;
background-color: var(--bg-color);
border-left: 1px solid var(--edge-color);
border-bottom: 1px solid var(--edge-color);
padding: 1ex;
}
#sidebar {
float: left;
width: 10em;
margin-left: -100%;
padding: 0 .5ex;
}
#sidebar li { margin-top: 0.5em;}
#articlemeta {
color: var(--fg-color-dim);
font-size: small;
margin-top: 1ex;
padding-top: 1ex;
border-top: 2px dotted var(--edge-color);
}
#articlemeta .tickerblock {
display: inline-block;
margin-right: 1ex;
}
#articlemeta .blogrefs { margin-left: 0; }
#articlemeta .blogrefs li { display: inline; }
#articlemeta .blogrefs li:not(:last-child)::after { content: " \00B7"; }
#navlayout:after {
content: "";
display: block;
clear: both;
}
@media screen and (max-width: 40em) {
    #navlayout {
    font-size: smaller;
    }
    #mainwrap {
    float: none;
    }
    #main {
    margin: 0;
    width: 100%;
    border-left: none;
    }
    #sidebar {
    float: none;
    margin: 0;
    width: auto;
    }
    #sidebar li { display: inline; }
    #sidebar li:not(:last-child)::after { content: " \00B7"; }
}

ul {
list-style: inside;
}
nav ul {
list-style: none;
}


h1 {font-size: 1.9em }
h2 {font-size: 1.6em}
h3 {font-size: 1.4em}
h4 {font-size: 1.2em}
h5 {font-size: 1.1em}
h6 {font-size: 1.0em}
h1, h2, h3, h4, h5, h6 {
font-family: Arial, serif;
font-weight: normal;
line-height: 1.1;
margin-bottom: .5em;
}

p {
margin-top: 1em;
margin-bottom: 1em;
}

strong, b {
font-weight: bold;
}
em, i {
font-style: italic;
}

hr {
border: 1px solid var(--edge-color);
}

a, a:active {
color: var(--link-color);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}

pre,p>code {
border: 1px solid var(--edge-color);
padding: .3em .3em 0;
}
pre,code {
font-family: Courier, "Courier New", monospace;
background-color: var(--pane-color);
color: var(--fg-color);
}
pre {
display: table-cell;
}

