.game-icon,
.compact-game-icon {
    display: grid;
    place-items: center;
    overflow: hidden;
}

.game-icon { width: 76px; height: 76px; }
.compact-game-icon { width: 48px; height: 48px; flex: 0 0 48px; }
.game-icon img,
.compact-game-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.game-icon-fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #fff;
    font-size: 25px;
    font-weight: 900;
}

.game-icon:has(img) .game-icon-fallback,
.compact-game-icon:has(img) .game-icon-fallback { display: none; }
.compact-game-icon .game-icon-fallback { font-size: 17px; }

.game-cover { height: auto; aspect-ratio: 1 / 1; }
.game-card-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.game-card-fallback { display: grid; width: 100%; height: 100%; place-items: center; color: #fff; font-size: 40px; font-weight: 900; }
.game-cover:has(.game-card-image) .game-card-fallback { display: none; }
.game-cover .game-badge { z-index: 1; }
