html {
    font-family: Sans-serif;
}

header {
    border-bottom: 4px solid darkgrey;
}

header > nav > ul {
    margin: 0.5rem 0;
    padding: 0;
}

header > nav > ul > li {
    display: inline-block;
    margin: 0 1rem 0 0;
}

header > nav > ul > li > a {
    color: black;
    text-decoration: none;
    font-weight: bold;
}

header > nav > ul > li > a:visited,
header > nav > ul > li > a:hover {
    color: black;
}

hr {
    border-color: darkgrey;
}

footer {
    border-top: 2px solid darkgrey;
    padding-top: 0.25rem;
    font-size: smaller;
}

footer .disclaimer {
    color: grey;
    margin-bottom: 1rem;
}

.webring {
    display: inline-block;
    border: 2px solid darkgrey;
    border-radius: 0.25rem;
    padding-top: 0.25rem;
    margin: 0.25rem;
    background: #eee;
    text-align: center;
}

.webring > a {
    font-weight: bold;
    color: #44f;
    display: inline-block;
    margin: 0 0.5rem;
}

.webring > a:visited,
.webring > a:hover {
    color: #44f;
}

.webring > nav > ul {
    margin: 0.5rem 0;
    padding: 0;
}

.webring > nav > ul > li {
    display: inline-block;
    margin: 0 0.5rem;
}

.webring > nav > ul > li > a {
    color: #44f;
}

.webring > nav > ul > li > a:visited,
.webring > nav > ul > li > a:hover {
    color: #44f;
}

code {
    font-size: larger;
}

p > code,
li > code {
    padding: 2px;
    background-color: #f4f4f4;
}

pre {
    border: 1px solid lightgray;
    padding: 0.5rem;
    border-radius: 0.5rem;
}

blockquote {
    border-left: 0.25rem solid lightgray;
    margin: 0 0 0 1rem;
    padding: 0.25rem 0.25rem 0.25rem 1rem;
    background-color: #f4f4f4;
}

.listing {
    margin-top: 1rem;
}

.listing th,
.listing td {
    padding-right: 1rem;
}

.listing th {
    text-align: left;
}

.listing td:nth-child(2),
.listing th:nth-child(2) {
    text-align: right;
}

.tux {
    background-image: url("data:image/png;base64,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");
}

.warning {
    background-color: #f00;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-weight: bold;
}

.comments > form > textarea {
    display: block;
    border-radius: 0.25rem;
    font-family: monospace;
    width: 140ch;
    max-width: 100%;
    margin: 0.5rem 0;
    box-sizing: border-box;
}

.comments > form > .submit {
    margin-top: 0.5rem 0;
}

.comments > form > .submit > input.probrain {
    width: 7ch;
}

.comment {
    margin: 1rem 0;
}

.comment .date {
    color: gray;
}
/* Background */ .bg { background-color: #ffffff; }
/* PreWrapper */ .chroma { background-color: #ffffff; }
/* Error */ .chroma .err { color: #ff0000; background-color: #ffaaaa }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #e5e5e5 }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #008800; font-weight: bold }
/* KeywordConstant */ .chroma .kc { color: #008800; font-weight: bold }
/* KeywordDeclaration */ .chroma .kd { color: #008800; font-weight: bold }
/* KeywordNamespace */ .chroma .kn { color: #008800; font-weight: bold }
/* KeywordPseudo */ .chroma .kp { color: #003388; font-weight: bold }
/* KeywordReserved */ .chroma .kr { color: #008800; font-weight: bold }
/* KeywordType */ .chroma .kt { color: #333399; font-weight: bold }
/* NameAttribute */ .chroma .na { color: #0000cc }
/* NameClass */ .chroma .nc { color: #bb0066; font-weight: bold }
/* NameConstant */ .chroma .no { color: #003366; font-weight: bold }
/* NameDecorator */ .chroma .nd { color: #555555; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #880000; font-weight: bold }
/* NameException */ .chroma .ne { color: #ff0000; font-weight: bold }
/* NameLabel */ .chroma .nl { color: #997700; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #0e84b5; font-weight: bold }
/* NameTag */ .chroma .nt { color: #007700 }
/* NameBuiltin */ .chroma .nb { color: #007020 }
/* NameBuiltinPseudo */ .chroma .bp { color: #007020 }
/* NameVariable */ .chroma .nv { color: #996633 }
/* NameVariableClass */ .chroma .vc { color: #336699 }
/* NameVariableGlobal */ .chroma .vg { color: #dd7700; font-weight: bold }
/* NameVariableInstance */ .chroma .vi { color: #3333bb }
/* NameVariableMagic */ .chroma .vm { color: #996633 }
/* NameFunction */ .chroma .nf { color: #0066bb; font-weight: bold }
/* NameFunctionMagic */ .chroma .fm { color: #0066bb; font-weight: bold }
/* LiteralString */ .chroma .s { background-color: #fff0f0 }
/* LiteralStringAffix */ .chroma .sa { background-color: #fff0f0 }
/* LiteralStringBacktick */ .chroma .sb { background-color: #fff0f0 }
/* LiteralStringChar */ .chroma .sc { color: #0044dd; background-color: #fff0f0 }
/* LiteralStringDelimiter */ .chroma .dl { background-color: #fff0f0 }
/* LiteralStringDoc */ .chroma .sd { color: #dd4422; background-color: #fff0f0 }
/* LiteralStringDouble */ .chroma .s2 { background-color: #fff0f0 }
/* LiteralStringEscape */ .chroma .se { color: #666666; background-color: #fff0f0; font-weight: bold }
/* LiteralStringHeredoc */ .chroma .sh { background-color: #fff0f0 }
/* LiteralStringInterpol */ .chroma .si { background-color: #eeeeee }
/* LiteralStringOther */ .chroma .sx { color: #dd2200; background-color: #fff0f0 }
/* LiteralStringRegex */ .chroma .sr { color: #000000; background-color: #fff0ff }
/* LiteralStringSingle */ .chroma .s1 { background-color: #fff0f0 }
/* LiteralStringSymbol */ .chroma .ss { color: #aa6600; background-color: #fff0f0 }
/* LiteralNumber */ .chroma .m { color: #6600ee; font-weight: bold }
/* LiteralNumberBin */ .chroma .mb { color: #6600ee; font-weight: bold }
/* LiteralNumberFloat */ .chroma .mf { color: #6600ee; font-weight: bold }
/* LiteralNumberHex */ .chroma .mh { color: #005588; font-weight: bold }
/* LiteralNumberInteger */ .chroma .mi { color: #0000dd; font-weight: bold }
/* LiteralNumberIntegerLong */ .chroma .il { color: #6600ee; font-weight: bold }
/* LiteralNumberOct */ .chroma .mo { color: #4400ee; font-weight: bold }
/* Operator */ .chroma .o { color: #333333 }
/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold }
/* Comment */ .chroma .c { color: #888888 }
/* CommentHashbang */ .chroma .ch { color: #888888 }
/* CommentMultiline */ .chroma .cm { color: #888888 }
/* CommentSingle */ .chroma .c1 { color: #888888 }
/* CommentSpecial */ .chroma .cs { color: #cc0000; font-weight: bold }
/* CommentPreproc */ .chroma .cp { color: #557799 }
/* CommentPreprocFile */ .chroma .cpf { color: #557799 }
/* GenericDeleted */ .chroma .gd { color: #a00000 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ff0000 }
/* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #00a000 }
/* GenericOutput */ .chroma .go { color: #888888 }
/* GenericPrompt */ .chroma .gp { color: #c65d09; font-weight: bold }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold }
/* GenericTraceback */ .chroma .gt { color: #0044dd }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #bbbbbb }
