body {
    max-width: 750pt;
    margin: 0 auto;
    padding: 0.5em 1em;
    font-family: serif;
    line-height: 1.3;
    background: #fff;
}
h1 {
    margin-top: 0;
    margin-bottom: 0;
}
nav {
    line-height: 2;
}
nav a {
    font-weight: 700;
}
pre,
code {
    font-family:
        PragmataPro Mono,
        Adwaita Mono,
        Menlo,
        Consolas,
        monospace;
    font-size: 0.8rem;
    background-color: #555;
    padding: 1pt 2pt 1pt 2pt;
    border-radius: 2pt;
}
blockquote {
    font-style: italic;
}
ol li {
    margin-bottom: 0.5em;
}
table {
    min-width: 50%;
}
thead {
    text-align: left;
}
th {
    border-bottom: 1px solid #ccc;
}
td {
    padding-right: 0.5em;
}
hr {
    margin: 1em 0;
}
footer {
    text-align: center;
    font-size: smaller;
}
.image-left {
    float: left;
    margin: 0.5em 1em 1em 0;
}
.image-right {
    float: right;
    margin: 0.5em 0 1em 1em;
}
.image-pixelated {
    image-rendering: pixelated;
}
img,
canvas,
iframe,
video,
svg {
    max-width: 100%;
    margin: 0 auto;
}
.footnote-definition {
    font-size: smaller;
}
.footnote-definition-label {
    float: left;
    margin-right: 0.5em;
}
.terminal {
    display: inline-block;
    border: 1px solid #000;
    line-height: 1;
}
.search-container {
    position: relative;
    float: right;
}
.search-container input {
    width: 150px;
}
hr {
    border: 0;
    height: 1px;
    background: #444;
    width: 100%;
    margin: 1rem 0;
}

.search-results {
    display: none;
    position: absolute;
    background: #fff;
    color: #000;
    padding: 1rem;
    box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.2);
    max-height: 500px;
    overflow: auto;
    width: 150%;
    min-width: 320px;
    right: 0;
    border: 1px solid #eee;
    line-height: 1.3;
}
.search-results__items {
    list-style: none;
}
.search-results li {
    margin-top: 1rem;
    border-bottom: 1px solid #ccc;
    font-size: 0.9rem;
}
.search-results li:first-of-type {
    margin-top: 0;
}
.search-results__item {
    margin-bottom: 1rem;
}
.search-results__item a {
    font-size: 1.2rem;
    display: inline-block;
    margin-bottom: 0.5rem;
}
@media (prefers-color-scheme: dark) {
    body {
        background: #1a1a1a;
        color: #e0e0e0;
    }
    th,
    hr,
    .search-results li {
        border-color: #444;
    }
    .search-results {
        background: #2a2a2a;
        color: #e0e0e0;
        border-color: #444;
        box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.5);
    }
    .terminal {
        border-color: #e0e0e0;
    }
    a {
        color: #6af;
    }
    input {
        background: #2a2a2a;
        color: #e0e0e0;
        border: 1px solid #555;
    }
    input:focus {
        border-color: #6af;
        outline: 0;
    }
}
