:root {
    --serif-font: "Castilo MT", serif;
    --sans-serif-font: "SF Pro", "Segoe UI", sans-serif;
    color-scheme: light dark;
    --fg-color: light-dark(#121413, #eeeeee);
    --bg-color: light-dark(#eeeeee, #121413);
    --accent-color: #ee41b4;
}

body {
    color: var(--fg-color);
    background-color: var(--bg-color);
    font-family: var(--serif-font);
    width: max-content;
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--sans-serif-font);
    margin: 0;
    border-bottom: .1rem solid var(--fg-color);
    padding: .5rem;
}

a {
    color: var(--accent-color);
}

a:visited {
    color: var(--accent-color);
}

header {
    width: 100vw;
}

#wordmark {
    border-bottom: .1rem solid var(--fg-color);
    text-align: right;
    padding: .5rem;
}

#wordmark>span {
    width: min-content;
    display: block;
    margin-left: auto;
}

#wordmark>span>i {
    text-align: left;
    display: block;
}

#wordmark>span>span {
    text-align: left;
    display: block;
    font-family: var(--sans-serif-font);
    font-size: 1.5rem;
}

nav {
    font-size: 1.2rem;
}

nav>h3 {
    font-weight: normal;
    font-size: 1.2rem;
}

main {
    width: 100vw;
}

p {
    border-bottom: .1rem solid var(--fg-color);
    padding-right: calc(-450px + 100%);
    padding-bottom: .5rem;
    padding-top: .5rem;
    padding-left: .5rem;
    margin: 0;
}

.link-group {
    border-bottom: .1rem solid var(--fg-color);
    display: flex;
    flex-direction: row;
    align-items: end;
}

#headers>a {
    display: block;
    text-align: left;
}

.link-group>a {
    padding: .4rem .6rem;
    border-right: .1rem solid var(--fg-color);
    display: inline;
}

@media (min-width: 900px) {

    .link-group {
        flex-direction: column;
        padding: .5rem;
    }

    .link-group>a {
        padding: 0;
        display: block;
        width: max-content;
        border-right: 0 solid transparent;
    }

    body {
        display: flex;
        width: 100vw;
        min-height: 100vh;
    }

    main {
        border-left: .1rem solid var(--fg-color);
        width: initial;
        flex: 1;
    }

    header {
        width: min-content;
    }

    nav>h3 {
        min-width: max-content;
    }

    nav {
        text-align: right;
    }

    nav>a {
        text-align: right;
    }
}