html {
    height: -webkit-fill-available; /* replace with stretch when standardized */
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: -webkit-fill-available; /* replace with stretch when standardized */
    font-family: sans-serif;
    line-height: 1.5;
    letter-spacing: 0.009375rem;
    background-color: #fafafa; /* grey50 */
    color: rgba(0 0 0 / 87%); /* 87% black */
    margin: 0;
    padding: 0;
    overflow-y: scroll;
}

a {
    color: #1565c0; /* blue800 */
}

a:visited {
    color: #6a1b9a; /* purple800 */
}

h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a, h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited {
    color: rgba(0 0 0 / 87%); /* 87% black */
}

main {
    margin-left: auto;
    margin-right: auto;
    padding: 1em;
    max-width: 832px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
}

@media (prefers-color-scheme: dark) {
    body {
        background: #121212;
        color: rgba(255 255 255 / 87%); /* 87% white */
    }

    a {
        color: #90caf9; /* blue200 */
    }

    a:visited {
        color: #ce93d8; /* purple200 */
    }

    h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a, h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited {
        color: rgba(255 255 255 / 87%); /* 87% white */
    }
}