:host {
    display: grid;
    grid:
        "game-logo game-title game-title platform" max-content
        "streamer-lhs streamer-lhs streamer-rhs streamer-rhs" max-content
        "incentive-lhs incentive-lhs incentive-rhs incentive-rhs" max-content
        "description-lhs description-lhs description-rhs description-rhs"
        / max-content 1fr 1fr max-content;
    gap: 10px;
}

:host(.incentive-shared) {
    grid:
        "game-logo game-title game-title platform" max-content
        "streamer-lhs streamer-lhs streamer-lhs streamer-lhs" max-content
        "incentive-lhs incentive-lhs incentive-lhs incentive-lhs" max-content
        "description-lhs description-lhs description-lhs description-lhs"
        / max-content 1fr 1fr max-content;
}

.game-logo {
    grid-area: game-logo;
    background-image: var(--game-logo-url);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.game-title {
    grid-area: game-title;
    text-align: center;
}

.game-platform {
    grid-area: platform;
    display: flex;
    padding: 20px 30px;
    box-sizing: border-box;
}

.game-platform .platform-background {
    background-image: var(--platform-logo-url);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    flex: 1;
}

.streamer.i-0 {
    grid-area: streamer-lhs;
}

.streamer.i-1 {
    grid-area: streamer-rhs;
}

.incentive.i-0 {
    grid-area: incentive-lhs;
}

.incentive.i-1 {
    grid-area: incentive-rhs;
}

.description.i-0 {
    grid-area: description-lhs;
}

.description.i-1 {
    grid-area: description-rhs;
}

:host(.incentive-shared) .streamer:not(.i-0),
:host(.incentive-shared) .incentive:not(.i-0),
:host(.incentive-shared) .description:not(.i-0) {
    display: none;
}

.game-logo,
.game-platform {
    width: 120px;
}

.streamer,
.game-title,
.incentive,
.description {
    background-color: var(--background-color-article);
    padding: 10px 20px;
    margin: 0;
}

.description {
    margin-bottom: 10px;
    white-space: pre-wrap;
}

.description:empty {
    display: none;
}