:root {
    --bg-primary: #02010a;
    --bg-secondary: #04052e;
    --fg-primary: #caf0f8;
    --fg-secondary: #90e0ef;
    --accent: #00b4d8;
}

body {
    margin: auto;
    max-width: 150rem;
    background-color: var(--bg-primary);
    color: var(--fg-secondary);
    font-family: "IBM Plex Mono", monospace;
    font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
    color: var(--fg-primary);
    font-family: "IBM Plex Sans", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
section {
    margin-bottom: 4em;
    scroll-margin-top: 8rem;
}
a {
    color: var(--accent);
}
.spacer {
    flex-grow: 1;
}

header {
    position: sticky;
    top: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    column-gap: 2em;
    padding: 0.5em;
    background-color: var(--bg-secondary);
    box-shadow: 0 0 2em 0.5em var(--bg-primary);
}

#logo {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
header img {
    width: 4rem;
}

nav {
    flex-grow: 1;
}
nav ul {
    display: flex;
    flex-flow: row nowrap;
    gap: 2em;
    list-style: none;
    margin: 0;
    padding: 0;
}

#language_picker {
    display: inline;
    align-self: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
}
#language_picker li {
    display: inline;
}
#language_picker li::after {
    content: ' | ';
}
#language_picker li:last-child::after {
    content: none;
}

main {
    margin: 0 2rem 4rem 2rem;
}

#member_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16em, 1fr));
    gap: 1em;
}
#member_list article {
    background-color: var(--bg-secondary);
    border-radius: 2em;
    padding: 2em 2em 1em 2em;
    text-align: center;
}
#member_list img {
    width: 6em;
    border-radius: 50%;
}

#recollect h2 {
    margin-bottom: 0;
}
#recollect h2 img {
    height: 3.5em;
}
#recollect p:first-of-type {
    margin-top: 0;
}
#recollect-screenshots div {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 2rem 4rem;
    width: 100%;
}
#recollect-screenshots img {
    width: 100%;
}
#recollect-links ul {
    list-style: none;
    padding: 0;
}
#recollect-links ul {
    line-height: 2;
}
#recollect-links img {
    width: 1em;
}

.mail_link::before {
  content: "📧 ";
}

@media only screen and (max-width: 900px) {
    p {
        text-align: justify;
    }

    header {
        display: grid;
        grid-template-columns: 1fr max-content;
        grid-template-areas:
            "logo language_picker"
            "nav  nav";
    }

    #logo {
        grid-area: logo;
    }

    nav {
        grid-area: nav;
    }
    nav ul {
        display: flex;
        justify-content: space-around;
        gap: 0;
    }

    #language_picker {
        grid-area: language_picker;
    }

    main {
        margin: 0 1em 4em 1em;
    }

    #member_list {
        grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));
    }
    #member_list article {
        display: grid;
        grid-template-areas:
            "avatar nickname"
            "avatar roles";
        grid-template-rows: min-content 1fr;
        grid-template-columns: min-content 1fr;
        gap: 1em;
        border-radius: 1em;
        padding: 1em;
        text-align: left;
    }
    #member_list article img {
        grid-area: avatar;
        width: 5em;
    }
    #member_list article h3 {
        grid-area: nickname;
        margin: 0;
    }
    #member_list article p {
        grid-area: roles;
        margin: 0;
    }
}