.ccg-game-utility-hub {
    width: min(1100px, 96%);
    margin: clamp(12px, 2vw, 24px) auto;
    padding: clamp(16px, 2vw, 24px);
    border-radius: 18px;
    background:
        linear-gradient(160deg, rgba(var(--accent-rgb), 0.14), rgba(7, 12, 24, 0.94) 42%, rgba(4, 7, 15, 0.97)),
        rgba(5, 9, 16, 0.92);
    border: 1px solid rgba(var(--accent-rgb), 0.34);
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.5), 0 0 18px rgba(var(--accent-rgb), 0.18);
}

.ccg-game-utility-hub .game-section__title {
    letter-spacing: 0.1em;
}

.ccg-game-utility-hub__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
    align-items: start;
}

.ccg-utility-card {
    display: grid;
    gap: 10px;
    align-content: start;
    min-height: 124px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(var(--accent-rgb), 0.28);
    background: linear-gradient(146deg, rgba(var(--accent-rgb), 0.08), rgba(8, 14, 26, 0.74));
}

.ccg-utility-card__title {
    margin: 0;
    font-family: var(--ccg-font-main);
    font-size: 0.88rem;
    line-height: 1.2;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(232, 244, 255, 0.95);
}

.ccg-utility-card__actions {
    display: grid;
    gap: 8px;
    align-content: start;
}

.ccg-utility-card .game-pill {
    min-height: 44px;
    justify-content: center;
    text-align: center;
}

.ccg-utility-card--music {
    grid-column: 1 / -1;
    min-height: auto;
}

.ccg-music-tracks {
    display: grid;
    gap: 10px;
}

.ccg-music-tracks .ccg-game-audio-player {
    margin-top: 10px;
    width: 100%;
    max-width: 100%;
    filter: drop-shadow(0 0 4px rgba(0, 234, 255, 0.42));
}

.ccg-music-composer {
    margin: 0;
    font-size: 0.92rem;
    color: rgba(214, 241, 255, 0.9);
}

.ccg-hardware-accordion {
    display: grid;
    gap: 10px;
}

.ccg-hardware-accordion__header {
    display: grid;
    gap: 6px;
}

.ccg-hardware-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: fit-content;
    min-width: 180px;
    border-radius: 999px;
    padding: 10px 14px;
    border: 1px solid rgba(var(--accent-rgb), 0.42);
    background: rgba(10, 18, 34, 0.84);
    color: #fff;
    font-family: var(--ccg-font-main);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.ccg-hardware-toggle__icon {
    transition: transform 180ms ease;
}

.affiliate-products-section.is-hardware-open .ccg-hardware-toggle__icon {
    transform: rotate(180deg);
}

.ccg-hardware-panel {
    overflow: hidden;
}

.ccg-page--single-game .game-section--related {
    margin-top: clamp(12px, 2vw, 20px);
}

@media (max-width: 900px) {
    .ccg-game-utility-hub__grid {
        grid-template-columns: 1fr;
    }

    .ccg-utility-card--music {
        grid-column: auto;
    }
}

.ccg-music-composer {
    display: grid;
    gap: 8px;
}

.ccg-music-composer__label {
    font-size: 0.74rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.9;
}

.ccg-music-composer__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.ccg-composer-button {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(var(--accent-rgb), 0.45);
    background: rgba(var(--accent-rgb), 0.14);
    color: #e8f7ff;
    font-size: 0.78rem;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease;
}

.ccg-composer-button:hover,
.ccg-composer-button:focus-visible {
    background: rgba(var(--accent-rgb), 0.3);
    border-color: rgba(var(--accent-rgb), 0.68);
}

.ccg-composer-text {
    font-size: 0.82rem;
    color: rgba(214, 241, 255, 0.96);
}

.ccg-music-related {
    margin-top: 8px;
}

.ccg-music-related__label {
    margin: 0 0 6px;
    font-size: 0.75rem;
    opacity: 0.88;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ccg-music-related__list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ccg-music-composer__hint {
    margin: 2px 0 0;
    font-size: 0.74rem;
    color: rgba(159, 232, 255, 0.92);
    letter-spacing: 0.02em;
}


.ccg-game-music-player-host {
    width: 100%;
}

.ccg-game-music-player-host .omega-player {
    border-radius: 14px;
}

.ccg-game-music-player-host .omega-player-status {
    font-weight: 700;
}

.game-music-missing.music-missing-text {
    margin: 0;
    padding: 12px 14px;
    border: 1px dashed rgba(var(--accent-rgb), 0.38);
    border-radius: 12px;
    background: rgba(5, 18, 34, 0.48);
    color: rgba(214, 241, 255, 0.9);
}
