body {
    font-family: Verdana, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    max-width: 85%;
    margin: 16px auto;
    padding 0 16px;
    background-image: url("/images/lambdas-light.png");
    background-repeat: repeat;
}

body > header {
    align: center;
    text-align: center;
    border: 4px solid #c2466d;
    background: #ccc;
    box-shadow: 16px 16px rgb(0 0 0 / 50%);
}

body > nav {
    text-align: center;
}

a {
    color: #2791e3;
    border-bottom: 1px solid #2791e3;
    font-weight: bold;
    text-decoration: none;
}

a:hover {
    color: #70c1ff;
    border-bottom: 1px solid #70c1ff;
}

a:visited {
    color: #c2466d;
    border-bottom: 1px solid #c2466d;
}

a:visited:hover {
    color: #e87d9f;
    border-bottom: 1px solid #e87d9f;
}

body > nav a {
    border: 4px solid #c2466d;
    padding: 20px;
    margin-top: 40px;
    margin-right: 24px;
    background: #ccc;
    box-shadow: 16px 16px rgb(0 0 0 / 50%);
    font-weight: bold;
    display: inline-block;
}

body > nav a:hover {
    border: 4px solid #c2466d;
}

body > nav a:visited {
    border: 4px solid #c2466d;
}

body > nav a:visited:hover {
    border: 4px solid #c2466d;
}

main {
    margin-top: 40px;
}

article {
    border: 4px solid #c2466d;
    padding: 10px;
    background: #ccc;
    box-shadow: 16px 16px rgb(0 0 0 / 50%);
}

article h1, h2 {
    border-bottom: 2px solid black;
}

article figure {
    text-align: center;
}

article img {
    border: 2px solid black;
}

article figure figcaption, article table > caption {
    font-style: italic;
    color: #444;
    font-size: smaller;
}

article ul {
    list-style-type: "• ";
}

article pre {
    border: 2px solid black;
    margin: 0.5em;
    padding: 0.5em;
    overflow: auto;
    background: white;
    white-space: pre-wrap;
    word-break: break-word;
}

article blockquote {
    background: #f3f3f3;
    border: dashed 2px grey;
    font-style: italic;
    align: center;
    text-align: justify;
    padding: 0.5ch 1ch 0.5ch;
}

article hr {
    border: none;
    border-top: 2px solid black;
}

article table {
    margin: 0 auto;
    border: 2px solid #aaa;
    border-collapse: collapse;
}

article table > caption {
    caption-side: bottom;
    margin-top: 0.5em;
}

article table tr th {
    background: #eee;
    padding: 0.5em;
    border-left: 2px solid #aaa;
}

article table tr td {
    border-left: 2px solid #aaa;
    padding: 0 0.5em;
}

article table tr:nth-child(even) {
    background: #eee;
}

time {
  font-family: Georgia;
  font-size: 11pt;
  float: right;
  margin-top: 1em;
}

article aside {
    background: #eee;
    border: 2px solid #aaa;
    margin: 0 5em;
    padding: 0.5em;
}

#TOC {
    background: #eee;
    border: 2px solid #aaa;
    margin-left: 0.5em;
    margin-right: 50%;
}

#TOC > h3 {
    border: none;
    margin: 0.5em 0.5em;
}

#TOC a:not(:hover) {
    border-bottom: none;
}

.footnotes {
    margin-top: 2em;
}

article > nav:not(#TOC) {
    align: center;
    text-align: center;
}

code { color: #1c1c1c; }

/* Comment, Annotation, Warning, CommentVar, Documentation, Information */
code span.co, code span.an, code span.wa, code span.cv, code span.do, code span.in {
    color: #af0000;
}

code span.er { background: #ff0000; } /* Error */

/* Other, Extension, Variable */
code span.ot, code span.ex, code span.va { }

/* Char, String, VerbatimString */
code span.ch, code span.st, code span.vs {
    color: #af0000;
}

/* Attribute, SpecialChar, SpecialString, Function */
code span.at, code span.sc, code span.ss, code span.fu  {
    color: #005fd7;
}

/* BaseN, BuiltIn, DecVal, Float */
code span.bn, code span.bu, code span.dv, code span.fl {
    color: #5f00ff;
}

code span.cn { color: #af00d7; } /* Constant */

/* Import, Preprocessor */
code span.im, code span.pp {
    color: #000087;
}

/* ControlFlow, Keyword, DataType */
code span.cf, code span.kw, code span.dt {
    color: #000000;
    font-weight: bold;
}

code span.op { color: #008700; } /* Operator */

.pixel-art img {
    border: none;
    min-width: 200px;
    image-rendering: pixelated;
}

@media (prefers-color-scheme: dark) {
    body {
    /*     background: black; */
        color: white;
        background-image: url("/images/lambdas-dark.png");
    }

    body > header {
        border: 4px solid #8787ff;
        background: #303030;
    }

    body > nav a {
        border: 4px solid #8787ff;
        background: #303030;
    }

    body > nav a:hover {
        border: 4px solid #8787ff;
    }

    body > nav a:visited {
        border: 4px solid #8787ff;
    }

    body > nav a:visited:hover {
        border: 4px solid #8787ff;
    }

    article aside, #TOC {
        background: #303030;
        border-color: #777;
    }

    a {
        color: #5fd7ff;
        font-weight: bold;
        text-decoration: none;
        border-bottom: 1px solid #5fd7ff;
    }

    a:hover {
        color: #96dcff;
        border-bottom: 1px solid #96dcff;
    }

    a:visited {
        color: #8787ff;
        border-bottom: 1px solid #a1a1ff;
    }

    a:visited:hover {
        color: #a1a1ff;
        border-bottom: 1px solid #a1a1ff;
    }

    article {
        border: 4px solid #8787ff;
        background: #303030;
    }

    article h1, article h2, article img, article figure img, article table,
    article table tr th, article table td {
        border-color: #ccc;
    }

    article figure figcaption, article table > caption {
        color: #aaa;
    }

    article pre {
        background: black;
        border-color: #aaa;
    }

    article blockquote {
        background: #232323;
    }

    article hr {
        border-color: white;
    }

    article table tr th {
        background: #333;
    }

    article table tr:nth-child(even) {
        background: #333;
    }

    article table tr:nth-child(odd) {
        background: black;
    }

    code { color: #b2b2b2; }

    /* Comment, Annotation, Warning, CommentVar, Documentation, Information */
    code span.co, code span.an, code span.wa, code span.cv, code span.do, code span.in {
        color: #d75f87;
    }

    /* Other, Extension, Variable */
    code span.ot, code span.ex, code span.va { }

    /* Char, String, VerbatimString */
    code span.ch, code span.st, code span.vs {
        color: #d75f87;
    }

    /* Attribute, SpecialChar, SpecialString, Function */
    code span.at, code span.sc, code span.ss, code span.fu {
        color: #87d7ff;
    }

    /* BaseN, BuiltIn, DecVal, Float */
    code span.bn, code span.bu, code span.dv, code span.fl {
        color: #8787ff;
    }

    code span.cn { color: #d700d7 } /* Constant */

    /* Import, Preprocessor */
    code span.im, code span.pp {
        color: #5fd7ff;
    }

    /* ControlFlow, Keyword, DataType */
    code span.cf, code span.kw, code span.dt {
        color: #eeeeee;
    }

    code span.op { color: #00af00; } /* Operator */
}
