/* GameCard — a game in the list: title + mode badge, then a score preview or the roster. */
.ab-game-card {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: var(--ab-space-md);
    border: 1px solid var(--ab-color-border);
    border-radius: var(--ab-radius-md);
    background-color: var(--ab-color-surface-1);
    color: var(--ab-color-text);
    text-decoration: none;
    transition: border-color 0.2s, background-color 0.2s;
}

.ab-game-card:hover {
    border-color: var(--ab-color-action);
    background-color: var(--ab-color-surface-2);
}

.ab-game-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ab-space-2xs);
    margin-bottom: var(--ab-space-sm);
}

.ab-game-card__title {
    margin: 0;
    font-size: var(--ab-text-card-title);
    font-weight: var(--ab-weight-semibold);
    line-height: 1.3;
}

.ab-game-card__roster {
    margin: 0 0 var(--ab-space-sm);
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--ab-space-3xs);
}

.ab-game-card__scores {
    margin: 0 0 var(--ab-space-2xs);
    padding: 0;
}

.ab-game-card__scores > li + li {
    border-top: 1px solid var(--ab-color-border);
}

.ab-game-card__state {
    margin: auto 0 0;
    padding-top: var(--ab-space-2xs);
    color: var(--ab-color-text-subtle);
    font-size: var(--ab-text-label);
}
