.gameplays-ratings-summary,
.gameplays-single-mgb {
    color: var(--gp-white, #fff);
    background: var(--gp-bg, #0b0f14);
}

.gameplays-ratings-summary__inner,
.gameplays-single-mgb__inner {
    width: min(1280px, calc(100% - 64px));
    margin: 0 auto;
}

/* Public score strip: intentionally compact so Featured Gameplay remains the
 * first substantial content block after the Hero. */
.gameplays-ratings-summary {
    padding: clamp(28px, 4vw, 46px) 0 10px;
}
.gameplays-ratings-summary__inner {
    padding: 20px clamp(20px, 3vw, 32px);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(24,168,255,.055), transparent 42%),
        linear-gradient(180deg, rgba(22,31,41,.93), rgba(12,18,25,.96));
    box-shadow: 0 18px 44px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.025);
}
.gameplays-ratings-summary__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}
.gameplays-ratings-summary__eyebrow,
.gameplays-single-mgb__eyebrow {
    margin: 0 0 5px;
    color: var(--gp-lime, #b6ff00);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.gameplays-ratings-summary__header h2,
.gameplays-single-mgb__header h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.35rem, 2.7vw, 2rem);
    line-height: 1.05;
    letter-spacing: -.025em;
}
.gameplays-ratings-summary__member,
.gameplays-single-mgb__type {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid rgba(24,168,255,.38);
    border-radius: 999px;
    color: #bfeaff;
    background: rgba(24,168,255,.055);
    font-size: .72rem;
    font-weight: 850;
}
.gameplays-ratings-summary__scores {
    display: grid;
    gap: 12px;
}
.gameplays-ratings-summary__scores.has-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gameplays-ratings-summary__scores.has-one { grid-template-columns: minmax(0, 1fr); }
.gameplays-rating-score {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 82px;
    padding: 15px 18px 15px 20px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 14px;
    background: rgba(7,12,17,.54);
    overflow: hidden;
}
.gameplays-rating-score::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--gp-lime, #b6ff00);
}
.gameplays-rating-score__value {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    width: fit-content;
    color: #fff;
    font-size: clamp(1.6rem, 3vw, 2.35rem);
    line-height: 1;
    font-weight: 950;
}
.gameplays-rating-score__star {
    color: var(--gp-lime, #b6ff00);
    font-size: .78em;
    line-height: 1;
}
.gameplays-rating-score__value small {
    color: #8a9dab;
    font-size: .9rem;
    font-weight: 850;
}
.gameplays-rating-score__count {
    color: #8295a3;
    font-size: .75rem;
}
.gameplays-ratings-summary__empty {
    margin: 10px 0 0;
    color: #8798a6;
    font-size: .82rem;
}
.gameplays-ratings-summary__scores + .gameplays-ratings-summary__empty { margin-top: 12px; }

/* Personal My GameBase area after Game Information. */
.gameplays-single-mgb {
    padding: clamp(34px, 5vw, 64px) 0;
}
.gameplays-single-mgb__inner {
    position: relative;
    padding: clamp(22px, 3.5vw, 36px);
    border: 1px solid rgba(182,255,0,.16);
    border-radius: 20px;
    background:
        radial-gradient(circle at 92% 0, rgba(182,255,0,.06), transparent 28%),
        radial-gradient(circle at 5% 100%, rgba(24,168,255,.05), transparent 34%),
        linear-gradient(160deg, rgba(17,24,32,.98), rgba(9,14,20,.98));
    box-shadow: 0 28px 65px rgba(0,0,0,.26), inset 0 1px rgba(255,255,255,.025);
}
.gameplays-single-mgb__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}
.gameplays-single-mgb__guest {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.07);
}
.gameplays-single-mgb__guest p {
    margin: 0;
    max-width: 720px;
    color: #91a1ae;
    line-height: 1.55;
}
.gameplays-single-mgb__primary,
.gameplays-single-mgb__secondary,
.gameplays-single-mgb__danger,
.gameplays-single-mgb__context button,
.gameplays-single-mgb__dialog button {
    font: inherit;
}
.gameplays-single-mgb__primary,
.gameplays-single-mgb__secondary,
.gameplays-single-mgb__danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 11px;
    text-decoration: none !important;
    font-size: .8rem;
    font-weight: 900;
    cursor: pointer;
}
.gameplays-single-mgb__primary {
    border: 1px solid var(--gp-lime, #b6ff00);
    background: var(--gp-lime, #b6ff00);
    color: #071006 !important;
}
.gameplays-single-mgb__primary:hover { background: var(--gp-lime-hover, #d6ff4d); }
.gameplays-single-mgb__secondary {
    border: 1px solid rgba(24,168,255,.48);
    background: rgba(24,168,255,.065);
    color: #d9f3ff;
}
.gameplays-single-mgb__danger {
    border: 1px solid rgba(255,106,106,.32);
    background: rgba(255,80,80,.045);
    color: #ffb7b7;
}
.gameplays-single-mgb__contexts {
    display: grid;
    gap: 9px;
}
.gameplays-single-mgb__contexts:empty { display: none; }
.gameplays-single-mgb__context {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 13px;
    background: rgba(7,12,17,.42);
}
.gameplays-single-mgb__context > div { min-width: 0; display: grid; gap: 3px; }
.gameplays-single-mgb__context strong { color: #fff; font-size: .92rem; }
.gameplays-single-mgb__context span { color: #8999a6; font-size: .76rem; line-height: 1.4; }
.gameplays-single-mgb__context button {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid rgba(24,168,255,.3);
    border-radius: 9px;
    background: transparent;
    color: #76ceff;
    font-size: .75rem;
    font-weight: 850;
    cursor: pointer;
}
.gameplays-single-mgb__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.gameplays-single-mgb__rating {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.075);
}
.gameplays-single-mgb__rating-copy { display: grid; gap: 4px; }
.gameplays-single-mgb__rating-copy > span { color: #fff; font-size: 1rem; font-weight: 900; }
.gameplays-single-mgb__rating-copy small { color: #8193a1; line-height: 1.45; }
.gameplays-single-mgb__rating-control { min-width: min(100%, 280px); }
.gameplays-single-mgb__rating .mgb-star-rating { width: 280px; max-width: 100%; }

.gameplays-single-mgb__dialog {
    width: min(650px, calc(100% - 28px));
    max-height: min(88vh, 820px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: #0d141b;
    color: #eef4f8;
    box-shadow: 0 30px 90px rgba(0,0,0,.58);
    overflow: hidden;
}
.gameplays-single-mgb__dialog::backdrop { background: rgba(2,7,11,.76); backdrop-filter: blur(4px); }
.gameplays-single-mgb__dialog-panel { padding: clamp(22px, 4vw, 34px); overflow: auto; max-height: min(88vh, 820px); }
.gameplays-single-mgb__dialog-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}
.gameplays-single-mgb__dialog-head h3 { margin: 2px 0 0; color: #fff; font-size: clamp(1.45rem, 4vw, 2rem); }
.gameplays-single-mgb__dialog-close {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background: #121b23;
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
}
.gameplays-single-mgb__dialog-copy { margin: 0 0 16px; color: #8ea0ae; line-height: 1.55; }
.gameplays-single-mgb__platforms,
.gameplays-single-mgb__relations {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.gameplays-single-mgb__choice { position: relative; }
.gameplays-single-mgb__choice input { position: absolute; opacity: 0; pointer-events: none; }
.gameplays-single-mgb__choice span,
.gameplays-single-mgb__relation-button {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: #111a22;
    color: #9dacb8;
    font-size: .78rem;
    font-weight: 850;
    cursor: pointer;
}
.gameplays-single-mgb__choice input:checked + span,
.gameplays-single-mgb__relation-button.is-active {
    border-color: var(--gp-lime, #b6ff00);
    background: rgba(182,255,0,.085);
    color: #fff;
    box-shadow: inset 2px 0 var(--gp-lime, #b6ff00);
}
.gameplays-single-mgb__choice input:focus-visible + span,
.gameplays-single-mgb__relation-button:focus-visible,
.gameplays-single-mgb__dialog button:focus-visible,
.gameplays-single-mgb__context button:focus-visible,
.gameplays-single-mgb__primary:focus-visible,
.gameplays-single-mgb__secondary:focus-visible,
.gameplays-single-mgb__danger:focus-visible {
    outline: 2px solid var(--gp-blue, #18a8ff);
    outline-offset: 2px;
}
.gameplays-single-mgb__relation-button { appearance: none; }
.gameplays-single-mgb__dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.gameplays-single-mgb__dialog-actions .gameplays-single-mgb__danger { margin-left: auto; }
.gameplays-single-mgb__wishlist {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(24,168,255,.18);
    border-radius: 13px;
    background: rgba(24,168,255,.035);
}
.gameplays-single-mgb__wishlist h4,
.gameplays-single-mgb__prompt h4 { margin: 0 0 5px; color: #fff; font-size: .95rem; }
.gameplays-single-mgb__wishlist p,
.gameplays-single-mgb__prompt p { margin: 0 0 13px; color: #879aa8; font-size: .8rem; line-height: 1.5; }
.gameplays-single-mgb__prompt {
    margin-top: 18px;
    padding: 15px;
    border: 1px solid rgba(182,255,0,.18);
    border-radius: 13px;
    background: rgba(182,255,0,.035);
}
.gameplays-single-mgb__confirm {
    display: grid;
    gap: 8px;
    padding: 4px 0 2px;
}
.gameplays-single-mgb__confirm h3 {
    margin: 0;
    max-width: 560px;
    color: #fff;
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    line-height: 1.15;
}
.gameplays-single-mgb__confirm .gameplays-single-mgb__dialog-copy { margin: 4px 0 0; }
.gameplays-single-mgb__notice { margin: 14px 0 0; color: #ffb6b6; font-size: .8rem; }
.gameplays-single-mgb__notice[hidden] { display: none; }
.gameplays-single-mgb__empty-platforms { margin: 0; color: #8798a6; }

.gameplays-single-mgb__toast {
    position: fixed;
    z-index: 2147482000;
    right: max(18px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: min(460px, calc(100vw - 36px));
    padding: 13px 14px;
    border: 1px solid rgba(182,255,0,.34);
    border-radius: 12px;
    background: #111a22;
    color: #eef5f8;
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
}
.gameplays-single-mgb__toast[hidden] { display: none; }
.gameplays-single-mgb__toast.is-error { border-color: rgba(255,100,100,.44); }
.gameplays-single-mgb__toast a { color: #79d2ff !important; font-size: .75rem; font-weight: 850; text-decoration: none !important; white-space: nowrap; }
.gameplays-single-mgb__toast button { border: 0; background: transparent; color: #a9b7c1; font-size: 1.15rem; cursor: pointer; }

@media (max-width: 760px) {
    .gameplays-ratings-summary__inner,
    .gameplays-single-mgb__inner { width: min(100% - 28px, 1280px); }
    .gameplays-ratings-summary { padding-top: 22px; }
    .gameplays-ratings-summary__header,
    .gameplays-single-mgb__header { align-items: start; flex-direction: column; gap: 10px; }
    .gameplays-ratings-summary__scores.has-two { grid-template-columns: 1fr; }
    .gameplays-single-mgb__guest { align-items: stretch; flex-direction: column; gap: 16px; }
    .gameplays-single-mgb__guest .gameplays-single-mgb__primary { width: 100%; }
    .gameplays-single-mgb__rating { grid-template-columns: 1fr; gap: 12px; }
    .gameplays-single-mgb__rating-control { width: 100%; }
    .gameplays-single-mgb__dialog-actions { align-items: stretch; }
    .gameplays-single-mgb__dialog-actions > * { flex: 1 1 180px; }
    .gameplays-single-mgb__dialog-actions .gameplays-single-mgb__danger { margin-left: 0; }
}

@media (max-width: 480px) {
    .gameplays-ratings-summary__inner,
    .gameplays-single-mgb__inner { width: min(100% - 20px, 1280px); }
    .gameplays-ratings-summary__inner { padding: 17px 15px; border-radius: 14px; }
    .gameplays-rating-score { gap: 6px; min-height: 0; }
    .gameplays-single-mgb { padding: 30px 0; }
    .gameplays-single-mgb__inner { padding: 19px 15px; border-radius: 15px; }
    .gameplays-single-mgb__context { align-items: flex-start; }
    .gameplays-single-mgb__context span { font-size: .71rem; }
    .gameplays-single-mgb__actions .gameplays-single-mgb__primary { width: 100%; }
    .gameplays-single-mgb__dialog { width: calc(100% - 16px); max-height: calc(100vh - 18px); border-radius: 16px; }
    .gameplays-single-mgb__dialog-panel { padding: 20px 16px; max-height: calc(100vh - 18px); }
    .gameplays-single-mgb__platforms,
    .gameplays-single-mgb__relations { gap: 7px; }
    .gameplays-single-mgb__choice span,
    .gameplays-single-mgb__relation-button { min-height: 38px; padding: 0 11px; font-size: .74rem; }
}

@media (prefers-reduced-motion: reduce) {
    .gameplays-single-mgb *,
    .gameplays-ratings-summary * { scroll-behavior: auto !important; transition: none !important; }
}

/* Phase 3C live-QA correction: explicit visibility guard for exhausted platform actions. */
.gameplays-single-mgb__actions[hidden],
.gameplays-single-mgb__actions [data-single-mgb-add][hidden] {
    display: none !important;
}

/* Phase 3D reuses the existing Phase-3C dialog for the mandatory concrete
   Family-member choice before any personal write. */
.gameplays-single-mgb__manage-list,
.gameplays-single-mgb__member-choices { display: grid; gap: 10px; }
.gameplays-single-mgb__member-choice {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 13px;
    border: 1px solid rgba(200,209,218,.18);
    border-radius: 11px;
    background: #111820;
    color: #fff;
    text-align: left;
    cursor: pointer;
}
.gameplays-single-mgb__member-choice strong { font-size: .9rem; line-height: 1.3; }
.gameplays-single-mgb__member-choice span { flex: 0 0 auto; color: #8999a6; font-size: .72rem; font-weight: 850; }
.gameplays-single-mgb__member-choice:hover,
.gameplays-single-mgb__member-choice:focus-visible { border-color: rgba(24,168,255,.62); outline: none; box-shadow: 0 0 0 3px rgba(24,168,255,.08); }
.gameplays-single-mgb__member-choice.is-active { border-color: rgba(182,255,0,.58); background: rgba(182,255,0,.06); }
.gameplays-single-mgb__member-choice.is-active span { color: var(--gp-lime, #b6ff00); }
@media(max-width:560px){
    .gameplays-single-mgb__member-choice { min-height: 58px; align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* Phase 4B Follow controls reuse the existing Single Game button family. */
.gameplays-single-mgb__guest-actions,.gameplays-single-mgb__follow-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gameplays-single-mgb__follow-actions{margin-top:12px}
@media(max-width:640px){.gameplays-single-mgb__guest-actions{width:100%}.gameplays-single-mgb__guest-actions>*{flex:1 1 180px}.gameplays-single-mgb__follow-actions .gameplays-single-mgb__secondary{width:100%}}
