* {
    margin: 0;
    padding: 0;
    outline: none;
    border: none;
    background: none;
    user-select: none;
    text-align: center;
    text-decoration: none;
    line-height: 1.5;
    font-family: Newsreader;
    font-size: 1em;
    overflow-wrap: anywhere;
    word-break: break-word;
}
body {
    margin: 3lh 1em 3lh;
    @media (min-width: 1024px) {
        margin-left: 25vw;
        margin-right: 25vw;
    }
    background: #fff;
    color: #000;
    @media (prefers-color-scheme: dark) {
        background: #222;
        color: #fff;
    }
}
body.loading button,
body.loading a {
    visibility: hidden;
}
main {
    position: relative;
    width: 100%;
    min-height: 100%;
}
header {
    display: flex;
    justify-content: space-between;
    @media (max-width: 1024px) {
        padding: 0 1em;
    }
    padding-bottom: 2lh;
}
article {
    padding-bottom: 3lh;
    text-align: justify;
    white-space: pre-wrap;
}
footer {
    width: 100%;
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: center;
}
button:hover {
    cursor: pointer;
}
img {
    @media (prefers-color-scheme: dark) {
        filter: invert(1);
    }
}
i#note {
    display: block;
    text-align: justify;
}
a {
    transition: opacity 200ms;
    display: inline-flex;
    align-items: center;
    gap: 0.5ch;
    color: inherit;
    font-style: italic;
}
a:hover {
    opacity: 0.75;
}
a * {
    display: block;
    position: relative;
    bottom: 0.5px;
}
div#loading-indicator {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
