.ps84-game-combo {
    --ps84-btn-size: 42px;
    --ps84-gap: 8px;
    box-sizing: border-box;
    margin: 1.4em 0;
    padding: 16px 18px;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.98));
    box-shadow: 0 8px 24px rgba(15, 23, 42, .07);
}

.ps84-game-combo.ps84-size-small { --ps84-btn-size: 34px; --ps84-gap: 6px; }
.ps84-game-combo.ps84-size-medium { --ps84-btn-size: 42px; --ps84-gap: 8px; }
.ps84-game-combo.ps84-size-large { --ps84-btn-size: 52px; --ps84-gap: 10px; }

.ps84-combo-title {
    margin: 0 0 11px;
    font-size: .96em;
    font-weight: 750;
    line-height: 1.3;
    color: #0f172a;
}

.ps84-combo-sequence {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--ps84-gap);
    min-width: 0;
}

.ps84-combo-step {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.ps84-step-buttons {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.ps84-pad-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--ps84-btn-size);
    height: var(--ps84-btn-size);
    box-sizing: border-box;
    border-radius: 50%;
    background: #151922;
    border: 2px solid #2b3240;
    box-shadow: inset 0 1px 1px rgba(255,255,255,.18), 0 2px 5px rgba(15,23,42,.22);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: calc(var(--ps84-btn-size) * .46);
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
    user-select: none;
}

.ps84-pad-button.shoulder,
.ps84-pad-button.trigger,
.ps84-pad-button.utility {
    width: calc(var(--ps84-btn-size) * 1.34);
    border-radius: 9px;
    font-size: calc(var(--ps84-btn-size) * .34);
    letter-spacing: -.02em;
    background: linear-gradient(180deg, #343b48, #161b24);
    border-color: #111827;
}

.ps84-pad-button.trigger {
    border-radius: 8px 8px 12px 12px;
    background: linear-gradient(180deg, #2c3441, #0f141c);
}

.ps84-pad-button.utility {
    width: calc(var(--ps84-btn-size) * 1.52);
    font-size: calc(var(--ps84-btn-size) * .24);
}

.ps84-pad-button.stick,
.ps84-pad-button.dpad {
    border-radius: 9px;
    background: #242a34;
    border-color: #111827;
    font-size: calc(var(--ps84-btn-size) * .42);
}

.ps84-platform-playstation .ps84-pad-button.ps-triangle { color: #32d296; }
.ps84-platform-playstation .ps84-pad-button.ps-cross    { color: #5da9ff; }
.ps84-platform-playstation .ps84-pad-button.ps-square   { color: #ff6db2; }
.ps84-platform-playstation .ps84-pad-button.ps-circle   { color: #ff5f68; }

.ps84-platform-playstation .ps84-pad-button.ps-triangle span,
.ps84-platform-playstation .ps84-pad-button.ps-square span,
.ps84-platform-playstation .ps84-pad-button.ps-circle span { transform: translateY(-1px); }

.ps84-platform-xbox .ps84-pad-button.xbox-a { background: #107c10; border-color: #0a600a; color: #fff; }
.ps84-platform-xbox .ps84-pad-button.xbox-b { background: #d13438; border-color: #a61d21; color: #fff; }
.ps84-platform-xbox .ps84-pad-button.xbox-x { background: #1473e6; border-color: #0a57b3; color: #fff; }
.ps84-platform-xbox .ps84-pad-button.xbox-y { background: #f4c430; border-color: #d39f00; color: #111827; }

.ps84-step-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: .8em;
    color: #64748b;
    font-weight: 850;
    font-size: 1.12em;
    line-height: 1;
}

.ps84-simultaneous-plus {
    color: #334155;
    font-weight: 900;
    font-size: .95em;
    line-height: 1;
}

.ps84-input-step.is-hold {
    padding-bottom: 17px;
}

.ps84-step-badge {
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 5px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.ps84-hold-badge {
    background: #fff4cc;
    color: #7a5200;
    border: 1px solid #f0cc63;
}

.ps84-repeat-badge {
    top: -7px;
    right: -8px;
    bottom: auto;
    left: auto;
    transform: none;
    min-width: 18px;
    text-align: center;
    background: #0f172a;
    color: #fff;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(15,23,42,.22);
}

.ps84-pause-step {
    min-height: var(--ps84-btn-size);
    padding: 0 10px;
    border: 1px dashed #94a3b8;
    border-radius: 9px;
    background: rgba(255,255,255,.72);
    color: #475569;
    font-size: .82em;
    font-weight: 750;
}

.ps84-pause-icon { font-weight: 900; letter-spacing: -2px; }
.ps84-pause-value { white-space: nowrap; }

.ps84-step-number {
    position: absolute;
    top: -7px;
    left: -7px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e2e8f0;
    border: 1px solid #cbd5e1;
    color: #334155;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.ps84-combo-note {
    margin-top: 11px;
    color: #475569;
    font-size: .88em;
    line-height: 1.45;
}

@media (max-width: 520px) {
    .ps84-game-combo {
        --ps84-btn-size: 36px;
        --ps84-gap: 6px;
        padding: 13px 14px;
        border-radius: 12px;
    }
    .ps84-game-combo.ps84-size-large { --ps84-btn-size: 42px; }
    .ps84-game-combo.ps84-size-small { --ps84-btn-size: 31px; }
    .ps84-step-buttons { gap: 4px; }
    .ps84-pause-step { padding: 0 8px; }
}
