/* Shared monochrome marks for homepage sports and game rows. */
:is(.toc-entry-sport, .toc-entry-game) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6.5rem;
    column-gap: 1rem;
}

:is(.toc-entry-sport, .toc-entry-game) .toc-entry-line {
    grid-column: 1 / -1;
    grid-row: 1;
}

:is(.toc-entry-sport, .toc-entry-game) .entry-desc {
    grid-column: 1;
    grid-row: 2;
}

:is(.toc-entry-sport, .toc-entry-game) .league-stamp {
    grid-column: 2;
    grid-row: 2;
    /* Anchor every mark to the title row, independent of description height. */
    place-self: start center;
    transform: translate(-1rem, -0.25rem);
    width: 3rem;
    height: 3rem;
    color: var(--ink-faint);
    pointer-events: none;
    transition: color 0.15s ease;
}

:is(.toc-entry-sport, .toc-entry-game) .league-stamp-nfl {
    height: 2.75rem;
}

:is(.toc-entry-sport, .toc-entry-game) .league-stamp-mlb {
    width: 3.25rem;
}

:is(.toc-entry-sport, .toc-entry-game):hover .league-stamp,
:is(.toc-entry-sport, .toc-entry-game):focus-visible .league-stamp {
    color: var(--ink-mute);
}

@media (max-width: 640px) {
    :is(.toc-entry-sport, .toc-entry-game) {
        grid-template-columns: minmax(0, 1fr) 3rem;
        column-gap: 0.75rem;
    }

    :is(.toc-entry-sport, .toc-entry-game) .league-stamp {
        transform: translate(-0.5rem, 0.25rem);
        width: 1.875rem;
        height: 2.125rem;
    }

    :is(.toc-entry-sport, .toc-entry-game) .league-stamp-mlb {
        width: 2.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(.toc-entry-sport, .toc-entry-game) .league-stamp {
        transition: none;
    }
}

.toc-subheading {
    margin: 1.35rem 0 .4rem 3.1rem;
    font-family: var(--font-mono);
    font-size: .68rem;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ink-mute);
}
