html, body {
    font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Numbers line up on the right in every table. */
.num {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rank {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Charts: categorical slot 1 of the validated palette, light and dark steps (the site follows the system theme). */
:root {
    --series-1: #2a78d6;
}

@media (prefers-color-scheme: dark) {
    :root {
        --series-1: #3987e5;
    }
}

/* A project badge: medal icon and tier name. */
.badge-chip {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}

/* Horizontal bar ranking (BarList). */
.bar-list {
    display: grid;
    gap: 6px;
}

.bar-list-row {
    display: grid;
    grid-template-columns: minmax(120px, 30%) 1fr 64px;
    align-items: center;
    gap: 8px;
}

.bar-list-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bar-list-track {
    height: 10px;
}

.bar-list-bar {
    height: 100%;
    min-width: 2px;
    background: var(--series-1);
    border-radius: 0 4px 4px 0;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    color: black;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
