.brand small {
    margin-left: .55rem;
    color: var(--muted);
    font: 700 10px "DM Sans", sans-serif;
    letter-spacing: .08em;
    vertical-align: middle;
    white-space: nowrap;
}

.brand {
    display: flex;
    align-items: baseline;
    min-width: 0;
}

.brand-game {
    flex: 1 1 0;
    overflow: hidden;
}

.brand .brand-label {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brand .brand-dot {
    color: var(--gold);
}

.brand-label-short {
    display: none;
}

.brand-game.brand-abbreviated .brand-label-full {
    display: none;
}

.brand-game.brand-abbreviated .brand-label-short {
    display: block;
}

.topbar-tools {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
}

.topbar a:focus-visible,
.topbar button:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .topbar {
        display: flex;
        flex-wrap: nowrap;
        height: 44px;
        min-height: 44px;
        gap: 5px;
        padding: 3px 8px;
    }

    .brand {
        display: inline-flex;
        flex: 0 1 auto;
        align-items: baseline;
        min-width: 0;
        font-size: 18px;
        white-space: nowrap;
    }

    .brand-game {
        flex: 1 1 0;
    }

    .brand small {
        margin-left: .3rem;
        font-size: 8px;
    }

    .topbar-tools {
        display: flex;
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
        justify-content: flex-end;
        gap: 3px;
    }

    .topbar-link {
        flex: 0 0 auto;
        overflow: visible;
        font-size: 9px;
        text-overflow: clip;
        white-space: nowrap;
    }

    .zoom-controls,
    .language {
        flex: 0 0 auto;
    }

    .zoom-controls button,
    .language button {
        min-width: 0;
        min-height: 30px;
        padding: 4px 5px;
        font-size: 10px;
    }
}
