header {
    position: sticky;
    top: 0;
    z-index: 200;
    background-color: hsl(from var(--body-bg) h s l / 0.8);
    backdrop-filter: blur(12px);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 12px;
    gap: 1rem;
    margin-bottom: 2rem;
    min-height: 64px;

    .logo {
        display: flex;
        color: #E64E21;
        -webkit-user-select: none;
        user-select: none;

        a {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            color: inherit;

            &.smol {
                display: none;
            }

            img {
                height: 48px;
            }

            .header-subtitle {
                font-weight: bold;
                text-transform: uppercase;
                margin-bottom: -1px;
                animation: 500ms ease both 100ms slideIn;
            }
        }
    }

    #searchBar {
        --icon-color: gray;
        max-width: min(100%, 700px);
        flex-wrap: nowrap;
        margin-inline: auto;

        #gameSelect {
            max-width: fit-content;
        }

        input {
            padding-right: 32px;
            flex-grow: 2;
        }

        &::after {
            content: '\f52a';
            position: absolute;
            align-self: center;
            right: 12px;
            font-family: bootstrap-icons !important;
            color: var(--icon-color);
            transition: color 150ms ease;
            z-index: 5;
        }

        &:has(input:focus) {
            --icon-color: var(--main-color);
        }
    }

    .header-btn-container {
        display: flex;
        flex-direction: row-reverse;
        gap: 0.75rem;
        margin-right: 8px;

        .header-btn {
            display: flex;
            flex-direction: column;
            text-wrap: nowrap;
            text-align: center;
            color: var(--text-secondary);
            transition: color 150ms ease;

            &:hover {
                color: white;
            }

            .bi {
                font-size: 1.5rem;
                line-height: 2rem;
            }

            span {
                font-size: 0.8rem;
            }
        }
    }
}

@media (max-width: 670px) {
    header {
        margin-bottom: 1rem;

        .logo {
            a.large { display: none; }
            a.smol { display: block; }
        }

        .header-btn-container {
            margin-right: 0;
        }
    }
}