body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.2em;
    line-height: 1.5em;
    max-width: 800px;
    min-height: 100vh;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto 1fr auto;
    margin: 0 auto;
    padding: 1rem;
}
a {
    text-decoration: none;
    color: #333;
}
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
}
nav a, footer a {
    margin-left: 1em;
    color: #aaa;
}
nav a:hover, footer a:hover {
    color: #333;
    transition: color 0.3s ease;
}
nav a.active {
    color: #333;
}
section a {
    border-bottom: 1px solid #eee;
}
a[target="_blank"]::after {
    content: "↗";
    margin-left: 0.2em;
    font-size: 0.5em;
    vertical-align: 0.2em;
}
section a:hover {
    border-bottom: 1px solid #333;
    transition: border-bottom 0.3s ease;
}
h1 {
    font-weight: normal;
    font-size: 3rem;
}
footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    padding: 10px 0;
    font-size: 0.9em;
}
footer span#outside {
    text-align: right;
}
@media (max-width: 600px) {
    header a#branding span {
        display: none;
    }
    nav a {
        margin-left: 0.5em;
    }
    footer {
        grid-template-columns: 1fr;
    }
    footer span#outside {
        text-align: left;
    }
    footer span#outside a {
        display: block;
        margin: 0.5em 0;
    }
}

@media (prefers-color-scheme: dark) {
    body {
        color: #d6d3cd;
        background-color: #1b1d1f;
    }
    a,
    nav a:hover,
    footer a:hover,
    nav a.active {
        color: #d6d3cd;
    }
    nav a,
    footer a {
        color: #999b9e;
    }
    header {
        border-bottom-color: #484b4e;
    }
    section a {
        border-bottom-color: #3b3e41;
    }
    section a:hover {
        border-bottom-color: #aaa7a1;
    }
}
