* {
    --line: calc(1em + 0.5rem);
    --link: seagreen;
    --link-alt: yellowgreen;
    --neutral: #141414;
    --neutral-alt: #6662;

    :not(code) {
        font-family: system-ui, 'Helvetica Neue', sans-serif;
    }

    line-height: var(--line);
}

*:not(dialog) {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
}

a[id^=tag] {
    background-color: var(--neutral-alt);
    padding: 4px;
    color: var(--link);
    margin-inline-end: 8px;

    &:hover, &:active, &:focus, &:target {
        color: var(--link-alt);
    }
}

header {

    h1 {
        margin-bottom: 8px;
    }

    margin-bottom: var(--line);
}

pre {
    line-height: 100%;
    padding: 4px;
    margin-inline-end: 8px;
    overflow: auto;

    code {
        line-height: 100%;
    }
}

p>code {
    background-color: var(--neutral-alt);
    padding: 4px;
}

table {
    margin-bottom: var(--line);
}

hr {
    opacity: 20%;
}

img {
    margin-bottom: var(--line);
}

nav {
    h1 {
        margin: 0 0 8px;
        font-size: large;
    }

    margin: 0 0 var(--line) 0;
}

body {
    padding: 0.5rem;
}

main {
    max-width: 600px;
}

footer {
    text-align: right;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

ul {
    padding: 0;
    list-style: none;
}

a {
    color: var(--link);

    &:hover, &:active, &:focus, &:target {
        color: var(--link-alt);
    }
}

@media (prefers-color-scheme: dark) {
    :root {
        background-color: var(--neutral);
        color: #fff;
    }
}