:root {
    --bg: #fff;
    --bg-accent: #bbb;
    --fg: #000;

    --font-mono: 'Iosevka', 'Consolas', monospace, Courier;
    --font-default: 'Noto Sans', 'Droid Sans', Helvetica, Arial, sans-serif;
}

html {
    width: 100%;
}

body {
    /* centers the wrapper horizontally */
    display: flex;
    flex-direction: row;
    justify-content: center;

    font-family: var(--font-default);
    color: var(--fg);
    background-color: var(--bg);
}

.wrapper {
    display: flex;
    flex-direction: column;

    min-width: 600px;
    max-width: 45%;
}

.wrapper > h1, h2, img {
    align-self: center;
}

h1, h2 {
    font-family: var(--font-mono);
}

h1 {
    margin: 1rem 0 0 0;
}

h2 {
    margin: 0 0 1rem 0;
}

p {
    margin: 1rem 0;
    text-align: center;
}

.bot-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.bot-list > span {
    margin: 0 1em;
}

.bot-list > span.disabled {
    opacity: 0.7;
}

/* dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --bg: #333;
        --bg-accent: #222;
        --fg: #ccc;
    }

    a:link {
        color: #a0a0ff;
    }

    a:visited {
        color: #f0a0f0;
    }

    a:active {
        color: #fff;
    }

    img.bw {
        filter: invert(0.8);
    }
}

/* mobile layout */
@media only screen and (max-device-width: 480px) {
    /* does something to header sizes so they look just right for me */
    body {
        font-size: 24pt;
    }

    p, .bot-list > span {
        font-size: 28pt;
    }

    .wrapper {
        min-width: unset;
        max-width: unset;
        width: 100%;
    }
}
