/*
 * Meme Ball Versus — portrait arcade presentation, v31
 * Presentation only: no engine scenes, physics, scoring, or matchmaking logic.
 */

@font-face {
    font-family: 'Neue Pixel Sans';
    src: url('../../fonts/NeuePixelSans.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Press Start 2P';
    src: url('./fonts/PressStart2P-Regular.ttf') format('truetype');
    font-display: swap;
}

:root {
    --pvp-red: #e1263f;
    --pvp-red-dark: #78101f;
    --pvp-orange: #ff6a00;
    --pvp-gold: #ffd84a;
    --pvp-green: #6ee7a2;
    --pvp-ink: #050506;
    --pvp-panel: rgba(11, 11, 14, 0.94);
    --pvp-line: rgba(255, 255, 255, 0.13);
    --pvp-stage-width: min(100vw, calc(100vh * 0.75));
    --pvp-stage-height: 100vh;
}

@supports (height: 100dvh) {
    :root {
        --pvp-stage-width: min(100vw, calc(100dvh * 0.75));
        --pvp-stage-height: 100dvh;
    }
}

@keyframes pvp-scan {
    from { background-position-y: 0; }
    to { background-position-y: 12px; }
}

@keyframes pvp-glow {
    0%, 100% { opacity: 0.58; }
    50% { opacity: 1; }
}

@keyframes pvp-orbit {
    to { transform: rotate(360deg); }
}

/* Shared portrait stage for the Versus chooser, private match flows and rankings. */
#pvp-mode-overlay,
#create-match-overlay,
#join-match-overlay {
    align-items: center !important;
    justify-content: center !important;
    background: #020203 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

#pvp-mode-overlay::before,
#create-match-overlay::before,
#join-match-overlay::before {
    content: "";
    position: fixed;
    inset: 0 auto 0 50%;
    width: var(--pvp-stage-width);
    height: var(--pvp-stage-height);
    transform: translateX(-50%);
    background:
        radial-gradient(circle at 50% 26%, rgba(225, 38, 63, 0.17), transparent 33%),
        linear-gradient(180deg, rgba(4, 4, 6, 0.1), rgba(4, 4, 6, 0.64)),
        url('/overlaynewBG.jpeg') center / cover no-repeat;
    border-inline: 1px solid rgba(255, 216, 74, 0.16);
    box-shadow: 0 0 80px rgba(225, 38, 63, 0.2);
    pointer-events: none;
}

#pvp-mode-overlay::after,
#create-match-overlay::after,
#join-match-overlay::after {
    content: "";
    position: fixed;
    inset: 0 auto 0 50%;
    width: var(--pvp-stage-width);
    transform: translateX(-50%);
    background: repeating-linear-gradient(
        180deg,
        transparent 0,
        transparent 4px,
        rgba(255,255,255,0.018) 5px,
        rgba(0,0,0,0.11) 6px
    );
    animation: pvp-scan 1.8s linear infinite;
    pointer-events: none;
    z-index: 0;
}

#pvp-mode-overlay .overlay-content,
#create-match-overlay .overlay-content,
#join-match-overlay .overlay-content {
    position: relative !important;
    z-index: 2 !important;
    width: min(calc(var(--pvp-stage-width) - 40px), 650px) !important;
    max-width: none !important;
    margin: 20px auto !important;
    padding: clamp(22px, 4vh, 38px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 216, 74, 0.45) !important;
    border-radius: 22px !important;
    color: #fff !important;
    background:
        linear-gradient(145deg, rgba(22, 22, 26, 0.97), rgba(5, 5, 7, 0.98)) !important;
    box-shadow:
        0 24px 70px rgba(0,0,0,0.72),
        0 0 0 4px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 0 34px rgba(225,38,63,0.18) !important;
}

#pvp-mode-overlay .overlay-content::before,
#create-match-overlay .overlay-content::before,
#join-match-overlay .overlay-content::before {
    content: "";
    position: absolute;
    inset: 0;
    border-top: 4px solid var(--pvp-red);
    border-bottom: 4px solid var(--pvp-orange);
    pointer-events: none;
}

.pvp-arcade-brand {
    position: relative;
    margin: 0 auto clamp(18px, 3vh, 28px);
    text-align: left;
}

.pvp-arcade-kicker {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    color: var(--pvp-gold);
    font: 10px/1.4 'Press Start 2P', monospace;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pvp-arcade-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pvp-red);
    box-shadow: 0 0 12px var(--pvp-red);
    animation: pvp-glow 1.25s ease-in-out infinite;
}

.pvp-arcade-title,
#pvp-mode-overlay .pvp-arcade-title,
#create-match-overlay .pvp-arcade-title,
#join-match-overlay .pvp-arcade-title {
    margin: 0 0 10px !important;
    color: #fff !important;
    font: clamp(21px, 3.3vw, 34px)/1.16 'Press Start 2P', monospace !important;
    letter-spacing: -0.045em !important;
    text-align: left !important;
    text-shadow: 3px 3px 0 var(--pvp-red-dark), 0 0 22px rgba(255,106,0,0.25) !important;
}

.pvp-arcade-copy,
#pvp-mode-overlay .pvp-arcade-copy,
#create-match-overlay .pvp-arcade-copy,
#join-match-overlay .pvp-arcade-copy {
    margin: 0 !important;
    max-width: 52ch;
    color: rgba(255,255,255,0.67) !important;
    font: 15px/1.5 'Neue Pixel Sans', monospace !important;
    text-align: left !important;
}

#pvp-mode-overlay .pvp-modes-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
}

#pvp-mode-overlay .pvp-mode-card {
    --card-accent: var(--pvp-red);
    position: relative !important;
    display: flex !important;
    min-height: 146px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 17px 16px 15px !important;
    overflow: hidden !important;
    appearance: none !important;
    text-align: left !important;
    color: #fff !important;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--card-accent) 16%, rgba(20,20,24,0.96)), rgba(5,5,7,0.98)) !important;
    border: 1px solid color-mix(in srgb, var(--card-accent) 55%, rgba(255,255,255,0.2)) !important;
    border-radius: 15px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 10px 25px rgba(0,0,0,0.27) !important;
    cursor: pointer !important;
    transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease !important;
}

#pvp-mode-overlay .pvp-mode-card[data-mode="quick"] { --card-accent: #ff6a00; }
#pvp-mode-overlay .pvp-mode-card[data-mode="create-match"] { --card-accent: #e1263f; }
#pvp-mode-overlay .pvp-mode-card[data-mode="join-match"] { --card-accent: #8d5cff; }
#pvp-mode-overlay .pvp-mode-card[data-mode="rankings"] { --card-accent: #ffd84a; }

#pvp-mode-overlay .pvp-mode-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--card-accent);
    box-shadow: 0 0 18px var(--card-accent);
}

#pvp-mode-overlay .pvp-mode-card:hover,
#pvp-mode-overlay .pvp-mode-card:focus-visible {
    transform: translateY(-3px) !important;
    border-color: var(--card-accent) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 14px 30px rgba(0,0,0,0.4), 0 0 20px color-mix(in srgb, var(--card-accent) 24%, transparent) !important;
    outline: none !important;
}

#pvp-mode-overlay .pvp-mode-card:active {
    transform: translateY(1px) scale(0.985) !important;
}

.pvp-mode-card .mode-card-top {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
}

.pvp-mode-card .mode-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--card-accent) 65%, white 8%);
    border-radius: 9px;
    background: color-mix(in srgb, var(--card-accent) 16%, transparent);
    font-size: 18px;
}

.pvp-mode-card .mode-kicker {
    color: color-mix(in srgb, var(--card-accent) 82%, white 18%);
    font: 8px/1.25 'Press Start 2P', monospace;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#pvp-mode-overlay .pvp-mode-card .mode-title {
    display: block;
    margin: 0 0 7px;
    color: #fff;
    font: 12px/1.35 'Press Start 2P', monospace;
    text-shadow: 2px 2px 0 rgba(0,0,0,0.7);
}

#pvp-mode-overlay .pvp-mode-card .mode-copy {
    display: block;
    margin: 0;
    color: rgba(255,255,255,0.64);
    font: 12px/1.38 'Neue Pixel Sans', monospace;
}

#pvp-mode-overlay .pvp-mode-card .mode-action {
    display: block;
    margin-top: auto;
    padding-top: 13px;
    color: color-mix(in srgb, var(--card-accent) 78%, white 22%);
    font: 8px/1.2 'Press Start 2P', monospace;
}

#pvp-mode-overlay .mode-button,
#create-match-overlay .mode-button,
#join-match-overlay .mode-button {
    display: flex !important;
    width: 100% !important;
    min-height: 51px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 10px 0 0 !important;
    padding: 14px 18px !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ed314b, #9e1028) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.17), 0 8px 18px rgba(0,0,0,0.34) !important;
    font: 10px/1.3 'Press Start 2P', monospace !important;
    letter-spacing: 0.015em !important;
    cursor: pointer !important;
    transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease !important;
}

#pvp-mode-overlay .mode-button:hover,
#create-match-overlay .mode-button:hover,
#join-match-overlay .mode-button:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.08) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 11px 25px rgba(0,0,0,0.42), 0 0 18px rgba(225,38,63,0.2) !important;
}

#pvp-mode-overlay .mode-button.back-button,
#create-match-overlay .mode-button.back-button,
#join-match-overlay .mode-button.back-button {
    color: rgba(255,255,255,0.7) !important;
    background: rgba(255,255,255,0.055) !important;
    border-color: rgba(255,255,255,0.12) !important;
    box-shadow: none !important;
}

#create-match-overlay .mode-button.secondary {
    color: #171004 !important;
    background: linear-gradient(180deg, #ffe46a, #f1a719) !important;
    border-color: #ffe982 !important;
}

.pvp-step-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 20px 0 18px;
}

.pvp-step {
    padding: 10px 7px;
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 10px;
    color: rgba(255,255,255,0.58);
    background: rgba(255,255,255,0.035);
    font: 9px/1.35 'Neue Pixel Sans', monospace;
    text-align: center;
}

.pvp-step strong {
    display: block;
    margin-bottom: 3px;
    color: var(--pvp-gold);
    font: 8px/1.2 'Press Start 2P', monospace;
}

#create-match-overlay .cm-panel {
    margin: 18px 0 0 !important;
    padding: 18px !important;
    border: 1px solid rgba(255,216,74,0.34) !important;
    border-radius: 15px !important;
    background: rgba(255,216,74,0.055) !important;
}

#create-match-overlay .cm-title {
    margin: 0 0 15px !important;
    color: var(--pvp-green) !important;
    font: 11px/1.4 'Press Start 2P', monospace !important;
    text-shadow: 0 0 16px rgba(110,231,162,0.28) !important;
}

#create-match-overlay .cm-codebox {
    margin: 0 0 12px !important;
    padding: 17px !important;
    border: 1px solid rgba(255,216,74,0.45) !important;
    border-radius: 12px !important;
    background: rgba(0,0,0,0.54) !important;
    box-shadow: inset 0 0 24px rgba(0,0,0,0.55) !important;
}

#create-match-overlay .cm-hint {
    margin: 0 !important;
    color: rgba(255,255,255,0.55) !important;
    font: 11px/1.4 'Neue Pixel Sans', monospace !important;
}

#create-match-overlay .cm-code {
    margin: 15px 0 4px !important;
    color: var(--pvp-gold) !important;
    font: clamp(30px, 7vw, 45px)/1.1 'Press Start 2P', monospace !important;
    letter-spacing: 0.16em !important;
    text-indent: 0.16em !important;
    text-shadow: 0 0 20px rgba(255,216,74,0.38), 3px 3px 0 #6e101d !important;
}

#match-status,
#join-status {
    min-height: 22px;
    margin-top: 14px !important;
    color: rgba(255,255,255,0.66) !important;
    font: 12px/1.45 'Neue Pixel Sans', monospace !important;
}

.pvp-code-field {
    margin: 20px 0 10px;
    padding: 16px;
    border: 1px solid rgba(255,216,74,0.28);
    border-radius: 14px;
    background: rgba(255,216,74,0.045);
}

.pvp-code-label {
    display: block;
    margin-bottom: 11px;
    color: rgba(255,255,255,0.6);
    font: 8px/1.3 'Press Start 2P', monospace;
    letter-spacing: 0.06em;
    text-align: left;
}

#join-match-overlay #match-code-input {
    width: 100% !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 15px 12px 15px 0.34em !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,216,74,0.72) !important;
    border-radius: 12px !important;
    outline: none !important;
    color: var(--pvp-gold) !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.82), rgba(14,10,5,0.8)) !important;
    box-shadow: inset 0 0 22px rgba(0,0,0,0.7), 0 0 0 3px rgba(255,216,74,0.035) !important;
    font: clamp(28px, 7vw, 42px)/1 'Press Start 2P', monospace !important;
    letter-spacing: 0.34em !important;
    text-align: center !important;
    caret-color: var(--pvp-red) !important;
}

#join-match-overlay #match-code-input:focus {
    border-color: var(--pvp-gold) !important;
    box-shadow: inset 0 0 22px rgba(0,0,0,0.7), 0 0 22px rgba(255,216,74,0.18) !important;
}

/* Versus gameplay: retain the full engine frame, but letterbox to Solo's 3:4 canvas. */
body.pvp-game-page {
    min-height: var(--pvp-stage-height) !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(225,38,63,0.09), transparent 34%),
        #000 !important;
}

#pvp-portrait-frame {
    position: fixed;
    inset: 0 auto 0 50%;
    width: var(--pvp-stage-width);
    height: var(--pvp-stage-height);
    transform: translateX(-50%);
    border-inline: 1px solid rgba(255,216,74,0.16);
    box-shadow: 0 0 70px rgba(225,38,63,0.12);
    pointer-events: none;
    z-index: 3;
}

body.pvp-game-page #pvp-hud,
body.pvp-game-page #pvp-top-bar {
    left: 50% !important;
    right: auto !important;
    width: var(--pvp-stage-width) !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
}

body.pvp-game-page #pvp-hud {
    border-bottom: 1px solid rgba(255,216,74,0.48) !important;
    background: linear-gradient(180deg, rgba(7,7,8,0.98), rgba(17,7,10,0.93)) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.42), 0 2px 0 rgba(225,38,63,0.68) !important;
}

body.pvp-game-page #pvp-hud > div {
    max-width: 100% !important;
    padding-inline: clamp(10px, 2.5vw, 18px) !important;
}

body.pvp-game-page .overlay,
body.pvp-game-page #player-eliminated-overlay,
body.pvp-game-page #pvp-timer-expired-overlay,
body.pvp-game-page #calculating-results-overlay,
body.pvp-game-page #pvp-ready-overlay {
    background: #020203 !important;
}

body.pvp-game-page #matchmaking-overlay,
body.pvp-game-page #match-ready-overlay,
body.pvp-game-page #match-results-overlay {
    background: #020203 !important;
    background-image: none !important;
    background-attachment: scroll !important;
}

body.pvp-game-page .overlay::before,
body.pvp-game-page #player-eliminated-overlay::before,
body.pvp-game-page #pvp-timer-expired-overlay::before,
body.pvp-game-page #calculating-results-overlay::before,
body.pvp-game-page #pvp-ready-overlay::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 50%;
    width: var(--pvp-stage-width);
    transform: translateX(-50%);
    background:
        linear-gradient(180deg, rgba(0,0,0,0.16), rgba(0,0,0,0.58)),
        url('/overlaynewBG.jpeg') center / cover no-repeat;
    border-inline: 1px solid rgba(255,216,74,0.14);
    box-sizing: border-box;
    pointer-events: none;
}

body.pvp-game-page #matchmaking-overlay .overlay-content,
body.pvp-game-page #match-ready-overlay .overlay-content,
body.pvp-game-page #match-results-overlay .overlay-content {
    position: relative !important;
    z-index: 2 !important;
    width: min(calc(var(--pvp-stage-width) - 38px), 620px) !important;
    max-width: none !important;
    max-height: calc(var(--pvp-stage-height) - 40px) !important;
    margin: 20px auto !important;
    padding: clamp(22px, 4vh, 34px) !important;
    overflow: auto !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,216,74,0.45) !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, rgba(21,21,24,0.97), rgba(5,5,7,0.98)) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,0.74), inset 0 1px 0 rgba(255,255,255,0.07), 0 0 26px rgba(225,38,63,0.18) !important;
}

body.pvp-game-page #matchmaking-overlay h2,
body.pvp-game-page #match-ready-overlay h2 {
    margin: 0 0 20px !important;
    color: #fff !important;
    font: clamp(17px, 3vw, 25px)/1.35 'Press Start 2P', monospace !important;
    text-shadow: 3px 3px 0 var(--pvp-red-dark), 0 0 20px rgba(255,216,74,0.2) !important;
}

body.pvp-game-page .matchmaking-container {
    margin: 20px 0 8px !important;
}

body.pvp-game-page .epic-vs-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

body.pvp-game-page .epic-vs-lightning { display: none !important; }

body.pvp-game-page .epic-vs-text {
    display: grid !important;
    width: 48px !important;
    height: 48px !important;
    place-items: center !important;
    margin: 0 !important;
    border: 1px solid rgba(255,216,74,0.44) !important;
    border-radius: 50% !important;
    background: rgba(255,216,74,0.06) !important;
    color: var(--pvp-gold) !important;
    font: 13px/1 'Press Start 2P', monospace !important;
    box-shadow: 0 0 22px rgba(255,216,74,0.11) !important;
}

body.pvp-game-page .epic-player-avatar {
    width: 68px !important;
    height: 68px !important;
    border: 2px solid var(--pvp-gold) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,0.44), 0 0 18px rgba(255,216,74,0.1) !important;
}

body.pvp-game-page .epic-player-badge {
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,0.055) !important;
    font: 8px/1.3 'Press Start 2P', monospace !important;
}

body.pvp-game-page .epic-player-name {
    width: min(150px, 28vw) !important;
    max-width: 100% !important;
    font: 14px/1.35 'Neue Pixel Sans', monospace !important;
}

body.pvp-game-page .epic-ready-button,
body.pvp-game-page .mode-button,
body.pvp-game-page .epic-button {
    min-height: 50px !important;
    border-radius: 12px !important;
    font-family: 'Press Start 2P', monospace !important;
    font-size: 10px !important;
}

body.pvp-game-page #ready-status-text,
body.pvp-game-page .epic-status-text {
    color: rgba(255,255,255,0.66) !important;
    font: 13px/1.45 'Neue Pixel Sans', monospace !important;
}

body.pvp-game-page #match-results-overlay .epic-score-display {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 24px 0 !important;
}

body.pvp-game-page #match-results-overlay .epic-score-player {
    min-width: 0 !important;
}

body.pvp-game-page #match-results-overlay .epic-winner-announcement {
    font-size: clamp(20px, 3.5vw, 30px) !important;
}

/* Full-size mobile match lobby and authoritative result/rematch console. */
body.pvp-game-page #match-ready-overlay .versus-matchup-panel,
body.pvp-game-page #match-results-overlay .versus-results-panel {
    display: flex !important;
    width: min(calc(var(--pvp-stage-width) - 20px), 620px) !important;
    min-height: min(700px, calc(var(--pvp-stage-height) - 20px)) !important;
    max-height: calc(var(--pvp-stage-height) - 20px) !important;
    margin: 10px auto !important;
    padding: clamp(22px, 3.5vh, 34px) clamp(18px, 4vw, 30px) !important;
    border: 2px solid rgba(255,216,74,0.68) !important;
    border-radius: 24px !important;
    overflow-x: hidden !important;
    flex-direction: column;
    background:
        linear-gradient(155deg, rgba(25,18,20,0.985), rgba(5,5,8,0.99) 58%),
        #08080a !important;
    box-shadow:
        0 0 0 4px rgba(0,0,0,0.52),
        0 28px 80px rgba(0,0,0,0.86),
        inset 0 1px 0 rgba(255,255,255,0.1),
        0 0 34px rgba(225,38,63,0.26) !important;
}

body.pvp-game-page .arcade-panel-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0 0 13px;
    color: rgba(255,216,74,0.82);
    font: 8px/1.4 'Press Start 2P', monospace;
    letter-spacing: 0.05em;
    text-align: center;
}

body.pvp-game-page .arcade-panel-kicker::before,
body.pvp-game-page .arcade-panel-kicker::after {
    content: "";
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,216,74,0.75));
}

body.pvp-game-page .arcade-panel-kicker::after {
    transform: rotate(180deg);
}

body.pvp-game-page #match-ready-overlay .match-ready-title {
    margin-bottom: 12px !important;
    font-size: clamp(19px, 5vw, 27px) !important;
    letter-spacing: -0.025em !important;
}

body.pvp-game-page #match-ready-overlay .matchmaking-container {
    display: flex;
    min-height: 0;
    margin: 0 !important;
    flex: 1;
    flex-direction: column;
    justify-content: center;
}

body.pvp-game-page .matchup-instruction {
    max-width: 410px;
    margin: 0 auto 17px;
    color: rgba(255,255,255,0.74);
    font: 14px/1.38 'Neue Pixel Sans', monospace;
    text-align: center;
}

body.pvp-game-page .matchup-instruction strong {
    color: var(--pvp-gold);
    font-weight: 800;
}

body.pvp-game-page #match-ready-overlay .matchup-roster {
    align-items: stretch !important;
    margin: 0 0 17px;
}

body.pvp-game-page .matchup-player-card,
body.pvp-game-page .result-player-card {
    position: relative;
    display: flex !important;
    min-width: 0;
    padding: 17px 8px 15px !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% 18%, rgba(255,216,74,0.1), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.055);
}

body.pvp-game-page .matchup-player-card .epic-player-avatar,
body.pvp-game-page .result-player-card .epic-player-avatar {
    width: clamp(68px, 19vw, 88px) !important;
    height: clamp(68px, 19vw, 88px) !important;
    margin: 0 0 11px !important;
    font-size: clamp(25px, 7vw, 34px) !important;
}

body.pvp-game-page .matchup-player-card .epic-player-badge,
body.pvp-game-page .result-player-card .epic-player-badge {
    margin-bottom: 8px !important;
    padding: 5px 7px !important;
    color: var(--pvp-gold) !important;
    font-size: 7px !important;
}

body.pvp-game-page .matchup-player-card .epic-player-name,
body.pvp-game-page .result-player-card .epic-player-name {
    display: -webkit-box;
    width: 100% !important;
    min-height: 42px;
    margin: 0 !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #fff !important;
    font: 700 clamp(15px, 4.4vw, 19px)/1.18 'Neue Pixel Sans', monospace !important;
    overflow-wrap: anywhere;
}

body.pvp-game-page .player-ready-state,
body.pvp-game-page .result-rematch-state {
    width: 100%;
    margin-top: auto;
    padding: 8px 5px;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 8px;
    background: rgba(0,0,0,0.28);
    color: rgba(255,255,255,0.5);
    font: 7px/1.25 'Press Start 2P', monospace;
    text-align: center;
}

body.pvp-game-page .player-ready-state.is-ready,
body.pvp-game-page .result-rematch-state.is-ready {
    border-color: rgba(110,231,162,0.58);
    background: rgba(110,231,162,0.11);
    color: var(--pvp-green);
    box-shadow: 0 0 15px rgba(110,231,162,0.1);
}

body.pvp-game-page #match-ready-overlay .matchup-vs-medallion,
body.pvp-game-page #match-results-overlay .result-vs-medallion {
    align-self: center !important;
    flex: none !important;
}

body.pvp-game-page #match-ready-overlay .epic-ready-button {
    width: 100% !important;
    min-height: 62px !important;
    margin: 0 0 12px !important;
    border: 2px solid #ffef9b !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffe26a, #f0a700) !important;
    color: #160c00 !important;
    font: 11px/1.3 'Press Start 2P', monospace !important;
    box-shadow: 0 7px 0 #8c4e00, 0 12px 24px rgba(0,0,0,0.45), 0 0 20px rgba(255,216,74,0.16) !important;
    text-shadow: none !important;
}

body.pvp-game-page #match-ready-overlay .epic-ready-button:disabled {
    border-color: rgba(110,231,162,0.58) !important;
    background: linear-gradient(180deg, #70eaa5, #23995c) !important;
    color: #03170d !important;
    opacity: 1 !important;
    box-shadow: 0 7px 0 #0e5933, 0 12px 24px rgba(0,0,0,0.4) !important;
}

body.pvp-game-page #ready-status-text.ready-status-console,
body.pvp-game-page #rematch-status-text.rematch-status {
    display: grid;
    min-height: 58px;
    margin: 0 !important;
    padding: 11px 12px;
    place-items: center;
    box-sizing: border-box;
    border: 1px solid rgba(255,216,74,0.2);
    border-radius: 10px;
    background: rgba(0,0,0,0.34);
    color: rgba(255,255,255,0.78) !important;
    font: 700 12px/1.35 'Neue Pixel Sans', monospace !important;
    text-align: center;
}

body.pvp-game-page #match-results-overlay .epic-results-container {
    display: flex;
    min-height: 100%;
    width: 100%;
    flex: 1;
    flex-direction: column;
}

body.pvp-game-page #match-results-overlay .epic-winner-announcement {
    margin: 0 0 15px !important;
    color: var(--pvp-gold) !important;
    font: clamp(23px, 6vw, 31px)/1.24 'Press Start 2P', monospace !important;
    text-align: center;
    text-shadow: 3px 3px 0 var(--pvp-red-dark), 0 0 22px rgba(255,216,74,0.22) !important;
}

body.pvp-game-page #match-results-overlay .epic-score-display {
    align-items: stretch !important;
    margin: 0 0 15px !important;
}

body.pvp-game-page #match-results-overlay .result-player-card {
    padding-top: 13px !important;
}

body.pvp-game-page #match-results-overlay .epic-score-value {
    margin: 4px 0 10px !important;
    color: var(--pvp-gold) !important;
    font: clamp(31px, 9vw, 45px)/1 'Press Start 2P', monospace !important;
    text-shadow: 3px 3px 0 rgba(120,16,31,0.85), 0 0 18px rgba(255,216,74,0.16) !important;
}

body.pvp-game-page #match-results-overlay .epic-score-value.is-winner,
body.pvp-game-page #match-results-overlay .epic-player-name.is-winner {
    color: var(--pvp-green) !important;
}

body.pvp-game-page .rematch-console {
    margin-top: auto;
    padding: 13px;
    border: 1px solid rgba(225,38,63,0.35);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(225,38,63,0.09), rgba(0,0,0,0.22));
}

body.pvp-game-page #match-results-overlay .rematch-button {
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 0 10px !important;
    border: 2px solid #ffef9b !important;
    background: linear-gradient(180deg, #ffe26a, #f0a700) !important;
    color: #160c00 !important;
    box-shadow: 0 6px 0 #8c4e00, 0 11px 22px rgba(0,0,0,0.42) !important;
}

body.pvp-game-page #match-results-overlay .rematch-button:disabled {
    border-color: rgba(255,255,255,0.18) !important;
    background: linear-gradient(180deg, #434348, #232326) !important;
    color: rgba(255,255,255,0.62) !important;
    box-shadow: 0 5px 0 #101012 !important;
}

body.pvp-game-page #rematch-status-text.is-declined {
    border-color: rgba(225,38,63,0.5) !important;
    color: #ff9aa9 !important;
}

body.pvp-game-page #match-results-overlay .results-nav-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 9px !important;
    margin-top: 13px !important;
}

body.pvp-game-page #match-results-overlay .results-nav-buttons .epic-button {
    width: 100% !important;
    min-height: 49px !important;
    margin: 0 !important;
    padding: 9px 6px !important;
    border: 1px solid rgba(255,255,255,0.17) !important;
    background: rgba(255,255,255,0.055) !important;
    color: rgba(255,255,255,0.78) !important;
    font-size: 8px !important;
    box-shadow: none !important;
}

body.pvp-game-page #match-results-overlay #results-menu-button.is-primary-exit {
    border-color: rgba(255,216,74,0.62) !important;
    background: linear-gradient(180deg, rgba(225,38,63,0.86), rgba(120,16,31,0.94)) !important;
    color: #fff !important;
    box-shadow: 0 0 19px rgba(225,38,63,0.2) !important;
}

body.pvp-game-page #calculating-results-overlay > div,
body.pvp-game-page #player-eliminated-overlay .eliminated-content,
body.pvp-game-page #pvp-timer-expired-overlay .timer-expired-content {
    position: relative !important;
    z-index: 2 !important;
    width: min(calc(var(--pvp-stage-width) - 40px), 520px) !important;
    box-sizing: border-box !important;
}

/* Portrait, arcade-style leaderboard instead of a full-browser table. */
body.pvp-leaderboard-page {
    min-height: 100vh !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #020203 !important;
}

body.pvp-leaderboard-page .container {
    position: relative !important;
    isolation: isolate !important;
    width: var(--pvp-stage-width) !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    padding: max(22px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
    border-inline: 1px solid rgba(255,216,74,0.15) !important;
    background:
        linear-gradient(180deg, rgba(2,2,4,0.18), rgba(2,2,4,0.78)),
        url('/newbg.png') center / cover fixed no-repeat !important;
    box-shadow: 0 0 80px rgba(225,38,63,0.15) !important;
}

body.pvp-leaderboard-page .container::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        repeating-linear-gradient(180deg, transparent 0, transparent 5px, rgba(255,255,255,0.018) 6px),
        radial-gradient(circle at 50% 0, rgba(225,38,63,0.18), transparent 32%);
    pointer-events: none;
}

body.pvp-leaderboard-page .header {
    margin: 0 0 18px !important;
    padding: 8px 58px 16px 0 !important;
    border-bottom: 1px solid rgba(255,216,74,0.26);
    text-align: left !important;
}

body.pvp-leaderboard-page .header::before {
    content: "VERSUS ARCADE // VERIFIED RESULTS";
    display: block;
    margin-bottom: 11px;
    color: var(--pvp-gold);
    font: 8px/1.35 'Press Start 2P', monospace;
    letter-spacing: 0.05em;
}

body.pvp-leaderboard-page .header h1 {
    margin: 0 0 8px !important;
    color: #fff !important;
    font: clamp(21px, 4.5vw, 32px)/1.18 'Press Start 2P', monospace !important;
    letter-spacing: -0.045em !important;
    text-align: left !important;
    transform: none !important;
    text-shadow: 3px 3px 0 var(--pvp-red-dark), 0 0 22px rgba(255,106,0,0.22) !important;
}

body.pvp-leaderboard-page .header .subtitle {
    color: rgba(255,255,255,0.64) !important;
    font: 13px/1.45 'Neue Pixel Sans', monospace !important;
}

body.pvp-leaderboard-page .back-button {
    top: 7px !important;
    right: 0 !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(255,255,255,0.17) !important;
    border-radius: 12px !important;
    background: rgba(5,5,7,0.78) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 8px 20px rgba(0,0,0,0.25) !important;
}

body.pvp-leaderboard-page .stats-overview {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

body.pvp-leaderboard-page .stat-card {
    position: relative;
    min-height: 74px;
    padding: 13px 7px !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.11) !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, rgba(24,24,28,0.91), rgba(5,5,7,0.94)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 9px 22px rgba(0,0,0,0.28) !important;
}

body.pvp-leaderboard-page .stat-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: currentColor;
    opacity: 0.7;
}

body.pvp-leaderboard-page .stat-value {
    font: 17px/1.2 'Press Start 2P', monospace !important;
}

body.pvp-leaderboard-page .stat-label {
    margin-top: 7px;
    color: rgba(255,255,255,0.5) !important;
    font: 8px/1.3 'Neue Pixel Sans', monospace !important;
}

body.pvp-leaderboard-page .tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

body.pvp-leaderboard-page .tab {
    max-width: none !important;
    min-height: 44px;
    padding: 11px 10px !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 10px !important;
    color: rgba(255,255,255,0.55) !important;
    background: rgba(5,5,7,0.82) !important;
    font: 9px/1.3 'Press Start 2P', monospace !important;
}

body.pvp-leaderboard-page .tab.active {
    border-color: rgba(255,216,74,0.55) !important;
    color: var(--pvp-gold) !important;
    background: linear-gradient(180deg, rgba(225,38,63,0.2), rgba(5,5,7,0.9)) !important;
    box-shadow: inset 0 -3px 0 var(--pvp-red), 0 0 20px rgba(225,38,63,0.1) !important;
}

body.pvp-leaderboard-page .content-section {
    min-height: 0 !important;
    padding: 0 !important;
}

body.pvp-leaderboard-page .table-wrapper {
    border: 1px solid rgba(255,216,74,0.22) !important;
    border-radius: 13px !important;
    background: rgba(4,4,6,0.91) !important;
    box-shadow: 0 16px 38px rgba(0,0,0,0.36), inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

body.pvp-leaderboard-page .leaderboard-table {
    border-spacing: 0 5px !important;
}

body.pvp-leaderboard-page .leaderboard-table thead {
    background: rgba(5,5,7,0.98) !important;
}

body.pvp-leaderboard-page .leaderboard-table th {
    padding: 11px 6px !important;
    border-bottom: 1px solid rgba(255,216,74,0.28) !important;
    color: rgba(255,255,255,0.56) !important;
    font: 8px/1.3 'Press Start 2P', monospace !important;
    letter-spacing: 0 !important;
}

body.pvp-leaderboard-page .leaderboard-table tbody tr {
    background: linear-gradient(90deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)) !important;
}

body.pvp-leaderboard-page .leaderboard-table td {
    padding: 11px 6px !important;
    color: rgba(255,255,255,0.83) !important;
    font-size: 11px !important;
}

body.pvp-leaderboard-page .leaderboard-table .player-col {
    max-width: 150px !important;
}

body.pvp-leaderboard-page .user-row {
    background: linear-gradient(90deg, rgba(225,38,63,0.26), rgba(255,106,0,0.08)) !important;
}

body.pvp-leaderboard-page .pagination {
    margin-top: 10px !important;
    padding: 10px 0 0 !important;
}

body.pvp-leaderboard-page .pagination button {
    border-color: rgba(255,216,74,0.24) !important;
    background: rgba(5,5,7,0.86) !important;
}

@media (max-width: 520px) {
    #pvp-mode-overlay .overlay-content,
    #create-match-overlay .overlay-content,
    #join-match-overlay .overlay-content {
        width: calc(100vw - 24px) !important;
        margin: 12px auto !important;
        padding: 20px 16px !important;
        border-radius: 17px !important;
    }

    #pvp-mode-overlay .pvp-modes-container {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    #pvp-mode-overlay .pvp-mode-card {
        min-height: 92px !important;
        padding: 13px 13px 11px 15px !important;
    }

    .pvp-mode-card .mode-card-top {
        margin-bottom: 8px;
    }

    .pvp-mode-card .mode-icon {
        width: 29px;
        height: 29px;
        font-size: 15px;
    }

    #pvp-mode-overlay .pvp-mode-card .mode-title {
        font-size: 10px;
    }

    #pvp-mode-overlay .pvp-mode-card .mode-copy {
        font-size: 11px;
    }

    #pvp-mode-overlay .pvp-mode-card .mode-action {
        display: none;
    }

    .pvp-step-strip {
        gap: 5px;
    }

    .pvp-step {
        padding: 8px 4px;
        font-size: 8px;
    }

    body.pvp-game-page #matchmaking-overlay .overlay-content,
    body.pvp-game-page #match-ready-overlay .overlay-content,
    body.pvp-game-page #match-results-overlay .overlay-content {
        width: calc(100vw - 24px) !important;
        margin: 12px auto !important;
        padding: 21px 15px !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-matchup-panel,
    body.pvp-game-page #match-results-overlay .versus-results-panel {
        width: calc(100vw - 16px) !important;
        min-height: calc(var(--pvp-stage-height) - 16px) !important;
        max-height: calc(var(--pvp-stage-height) - 16px) !important;
        margin: 8px auto !important;
        padding: max(20px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom)) !important;
        border-radius: 20px !important;
    }

    body.pvp-game-page .matchup-player-card,
    body.pvp-game-page .result-player-card {
        min-height: 192px;
        padding-inline: 6px !important;
    }

    body.pvp-game-page #match-results-overlay .result-player-card {
        min-height: 218px;
    }

    body.pvp-game-page #match-ready-overlay .epic-vs-container,
    body.pvp-game-page #match-results-overlay .epic-score-display {
        gap: 7px !important;
    }

    body.pvp-game-page #match-ready-overlay .matchup-vs-medallion,
    body.pvp-game-page #match-results-overlay .result-vs-medallion {
        width: 38px !important;
        height: 38px !important;
        font-size: 10px !important;
    }

    body.pvp-game-page .epic-player-avatar {
        width: 58px !important;
        height: 58px !important;
    }

    body.pvp-game-page .epic-vs-text {
        width: 42px !important;
        height: 42px !important;
        font-size: 11px !important;
    }

    body.pvp-leaderboard-page .container {
        padding: max(17px, env(safe-area-inset-top)) 10px max(16px, env(safe-area-inset-bottom)) !important;
        border-inline: 0 !important;
    }

    body.pvp-leaderboard-page .header {
        padding-right: 50px !important;
    }

    body.pvp-leaderboard-page .stats-overview {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    body.pvp-leaderboard-page .stat-card {
        min-height: 65px;
    }

    body.pvp-leaderboard-page .leaderboard-table {
        min-width: 620px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #pvp-mode-overlay::after,
    #create-match-overlay::after,
    #join-match-overlay::after,
    .pvp-arcade-kicker::before {
        animation: none !important;
    }
}

/* v33 — unified 90s basketball-arcade matchup and results presentation. */
body.pvp-game-page #match-ready-overlay .versus-duel-panel,
body.pvp-game-page #match-results-overlay .versus-duel-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(calc(var(--pvp-stage-width) - 18px), 600px) !important;
    min-height: calc(var(--pvp-stage-height) - 18px) !important;
    max-height: calc(var(--pvp-stage-height) - 18px) !important;
    margin: 9px auto !important;
    padding: clamp(18px, 3vh, 28px) clamp(13px, 3.5vw, 24px) !important;
    overflow: auto !important;
    border: 1px solid rgba(255, 221, 103, 0.72) !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    background:
        linear-gradient(180deg, rgba(4,4,6,0.78), rgba(5,4,7,0.97)),
        radial-gradient(circle at 50% 38%, rgba(238,56,31,0.22), transparent 38%),
        #050507 !important;
    box-shadow:
        0 0 0 4px rgba(0,0,0,0.62),
        0 0 0 5px rgba(224,49,34,0.25),
        0 28px 75px rgba(0,0,0,0.88),
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 0 36px rgba(224,49,34,0.2) !important;
}

body.pvp-game-page #match-ready-overlay .versus-duel-panel::after,
body.pvp-game-page #match-results-overlay .versus-duel-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, transparent 0 6%, rgba(255,216,74,0.045) 6% 6.3%, transparent 6.3% 93.7%, rgba(255,216,74,0.045) 93.7% 94%, transparent 94%),
        repeating-linear-gradient(180deg, transparent 0 5px, rgba(255,255,255,0.018) 6px);
    pointer-events: none;
}

body.pvp-game-page .versus-panel-shell {
    position: relative;
    z-index: 1;
    display: grid !important;
    width: 100%;
    height: auto;
    min-height: 0 !important;
    margin: auto !important;
    flex: none !important;
    align-content: center;
    grid-template-rows: 100px 300px auto;
    gap: 12px;
}

body.pvp-game-page #match-ready-overlay .versus-panel-shell {
    grid-template-rows: 100px minmax(0, 1fr);
}

body.pvp-game-page .arcade-panel-header {
    display: flex;
    min-width: 0;
    height: 100px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body.pvp-game-page .arcade-panel-header .arcade-panel-kicker {
    margin: 0 0 10px !important;
    color: rgba(255,222,105,0.8) !important;
    font-size: 7px !important;
    letter-spacing: 0.08em !important;
}

body.pvp-game-page .arcade-panel-header .arcade-panel-kicker::before,
body.pvp-game-page .arcade-panel-header .arcade-panel-kicker::after {
    width: 34px;
    background: linear-gradient(90deg, transparent, rgba(255,222,105,0.85));
}

body.pvp-game-page #match-ready-overlay .arcade-panel-header .match-ready-title,
body.pvp-game-page #match-results-overlay .arcade-panel-header .epic-winner-announcement {
    min-height: 34px;
    margin: 0 0 8px !important;
    color: #fff8dc !important;
    font: clamp(23px, 6.2vw, 32px)/1.1 'Press Start 2P', monospace !important;
    letter-spacing: -0.045em !important;
    text-align: center !important;
    text-shadow:
        3px 3px 0 #9e1b17,
        -1px -1px 0 #33120c,
        0 0 20px rgba(255,75,35,0.36) !important;
}

body.pvp-game-page .arcade-panel-subtitle {
    min-height: 15px;
    color: rgba(255,255,255,0.55);
    font: 7px/1.45 'Press Start 2P', monospace;
    letter-spacing: 0.015em;
    text-align: center;
}

body.pvp-game-page #match-ready-overlay .matchmaking-container {
    display: grid;
    width: 100% !important;
    min-height: 0;
    margin: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 300px auto;
    gap: 12px;
}

body.pvp-game-page .arcade-duel-grid,
body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
body.pvp-game-page #match-results-overlay .arcade-duel-grid {
    position: relative;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0;
    height: 300px;
    margin: 0 !important;
    padding: 12px 0 14px !important;
    align-items: center !important;
    grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr) !important;
    gap: 7px !important;
    box-sizing: border-box;
    overflow: hidden;
    border-block: 1px solid rgba(255,216,74,0.16);
    background:
        radial-gradient(circle at 50% 50%, rgba(224,49,34,0.2), transparent 26%),
        linear-gradient(90deg, transparent 49.75%, rgba(255,216,74,0.16) 49.75% 50.25%, transparent 50.25%);
}

body.pvp-game-page .arcade-duel-grid::before,
body.pvp-game-page .arcade-duel-grid::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 100px;
    height: 100px;
    transform: translateY(-50%);
    border: 1px solid rgba(255,216,74,0.12);
    border-radius: 50%;
    pointer-events: none;
}

body.pvp-game-page .arcade-duel-grid::before { left: -70px; }
body.pvp-game-page .arcade-duel-grid::after { right: -70px; }

body.pvp-game-page .arcade-duelist,
body.pvp-game-page .matchup-player-card.arcade-duelist,
body.pvp-game-page .result-player-card.arcade-duelist {
    position: relative;
    z-index: 1;
    display: flex !important;
    min-width: 0 !important;
    min-height: 260px !important;
    padding: 0 2px !important;
    flex-direction: column;
    align-items: center;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

/* v34 — native platform basketball emoji with arcade lighting and motion. */
@keyframes arcade-emoji-float {
    0%, 100% { transform: translateY(0) rotate(-3deg) scale(1); }
    50% { transform: translateY(-5px) rotate(2deg) scale(1.035); }
}

@keyframes arcade-emoji-float-two {
    0%, 100% { transform: translateY(-3px) rotate(3deg) scale(1.025); }
    50% { transform: translateY(2px) rotate(-2deg) scale(1); }
}

@keyframes arcade-emoji-aura {
    0%, 100% { opacity: 0.56; transform: scale(0.92); }
    50% { opacity: 0.88; transform: scale(1.08); }
}

body.pvp-game-page .arcade-basketball,
body.pvp-game-page .matchup-player-card .arcade-basketball,
body.pvp-game-page .result-player-card .arcade-basketball {
    position: relative;
    display: grid !important;
    width: clamp(94px, 25vw, 116px) !important;
    height: clamp(94px, 25vw, 116px) !important;
    margin: 0 auto 13px !important;
    place-items: center;
    overflow: visible;
    flex: 0 0 auto;
    isolation: isolate;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    transform: none;
}

body.pvp-game-page .arcade-basketball::before {
    content: "";
    position: absolute;
    inset: 14%;
    z-index: -1;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,111,33,0.5), rgba(227,42,25,0.12) 58%, transparent 73%);
    filter: blur(9px);
    animation: arcade-emoji-aura 2.2s ease-in-out infinite;
}

body.pvp-game-page .arcade-basketball::after {
    content: "";
    position: absolute;
    inset: auto 7% -5%;
    z-index: -1;
    height: 18%;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0,0,0,0.74), transparent 68%);
    filter: blur(4px);
}

body.pvp-game-page .native-basketball-emoji {
    display: block;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
    font-size: clamp(88px, 24vw, 110px);
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    filter:
        drop-shadow(0 14px 10px rgba(0,0,0,0.48))
        drop-shadow(0 0 13px rgba(255,89,25,0.3));
    transform-origin: 50% 80%;
    animation: arcade-emoji-float 2.7s ease-in-out infinite;
}

body.pvp-game-page .player-two-ball::before {
    background: radial-gradient(circle, rgba(255,201,59,0.46), rgba(255,92,27,0.1) 58%, transparent 73%);
    animation-delay: -1.1s;
}

body.pvp-game-page .player-two-ball .native-basketball-emoji {
    animation-name: arcade-emoji-float-two;
    animation-delay: -1.1s;
}

body.pvp-game-page .arcade-duelist .epic-player-badge {
    min-width: 78px;
    margin: 0 0 7px !important;
    padding: 5px 7px !important;
    border: 1px solid rgba(255,216,74,0.25) !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,0.38) !important;
    color: rgba(255,222,105,0.83) !important;
    font: 6px/1.25 'Press Start 2P', monospace !important;
    letter-spacing: 0.02em;
}

body.pvp-game-page .arcade-duelist .epic-player-name {
    display: -webkit-box;
    width: 100% !important;
    min-height: 36px !important;
    margin: 0 !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #fff !important;
    font: 700 clamp(15px, 4.2vw, 18px)/1.08 'Neue Pixel Sans', monospace !important;
    overflow-wrap: anywhere;
    text-align: center;
    text-shadow: 0 2px 8px #000 !important;
}

body.pvp-game-page .arcade-ready-callout {
    min-height: 31px;
    margin: 2px 0 5px;
    color: rgba(255,255,255,0.36);
    font: 10px/1.2 'Press Start 2P', monospace;
    letter-spacing: -0.04em;
}

body.pvp-game-page #match-results-overlay .arcade-duelist .epic-score-value {
    min-height: 43px;
    margin: 1px 0 6px !important;
    color: var(--pvp-gold) !important;
    font: clamp(33px, 8.8vw, 44px)/1 'Press Start 2P', monospace !important;
    letter-spacing: -0.06em;
    text-shadow: 3px 3px 0 #831b16, 0 0 16px rgba(255,216,74,0.25) !important;
}

body.pvp-game-page #match-results-overlay .arcade-duelist .epic-score-value.is-winner,
body.pvp-game-page #match-results-overlay .arcade-duelist .epic-player-name.is-winner {
    color: #8dffb5 !important;
}

body.pvp-game-page .arcade-duelist .player-ready-state,
body.pvp-game-page .arcade-duelist .result-rematch-state {
    width: min(100%, 132px) !important;
    min-height: 27px;
    margin: 0 !important;
    padding: 7px 5px !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,0.5) !important;
    color: rgba(255,255,255,0.48) !important;
    font: 6px/1.3 'Press Start 2P', monospace !important;
}

body.pvp-game-page .arcade-duelist .player-ready-state.is-ready,
body.pvp-game-page .arcade-duelist .result-rematch-state.is-ready {
    border-color: rgba(126,255,174,0.58) !important;
    background: rgba(44,176,96,0.15) !important;
    color: #8dffb5 !important;
    box-shadow: 0 0 17px rgba(76,222,133,0.12) !important;
}

body.pvp-game-page .arcade-versus-core,
body.pvp-game-page #match-ready-overlay .arcade-versus-core,
body.pvp-game-page #match-results-overlay .arcade-versus-core {
    position: relative;
    z-index: 2;
    display: flex !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    align-self: center !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: visible !important;
    border: 2px solid #ffd85a !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #f04a24, #9e1716) !important;
    color: #fff7d2 !important;
    box-shadow: 0 0 0 4px rgba(0,0,0,0.72), 0 0 24px rgba(239,63,31,0.36) !important;
    transform: rotate(-4deg);
}

body.pvp-game-page .arcade-versus-core span {
    font: 13px/1 'Press Start 2P', monospace;
    text-shadow: 2px 2px 0 #4b0b08;
}

body.pvp-game-page .arcade-versus-core small {
    position: absolute;
    top: calc(100% + 9px);
    left: 50%;
    width: 70px;
    transform: translateX(-50%) rotate(4deg);
    color: rgba(255,255,255,0.42);
    font: 5px/1.2 'Press Start 2P', monospace;
    text-align: center;
}

body.pvp-game-page .ready-action-zone,
body.pvp-game-page .result-action-zone {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: flex-start;
}

body.pvp-game-page #match-ready-overlay .epic-ready-button,
body.pvp-game-page #match-results-overlay .rematch-button {
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 0 10px !important;
    border: 2px solid #ffd95f !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #ff6933 0%, #dc2f24 55%, #9a1515 100%) !important;
    color: #fff9da !important;
    font: 10px/1.3 'Press Start 2P', monospace !important;
    box-shadow:
        0 6px 0 #5f0c0c,
        0 11px 22px rgba(0,0,0,0.42),
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 18px rgba(238,57,32,0.18) !important;
    text-shadow: 2px 2px 0 rgba(65,7,5,0.75) !important;
}

body.pvp-game-page #match-ready-overlay .epic-ready-button:disabled,
body.pvp-game-page #match-results-overlay .rematch-button:disabled {
    border-color: rgba(137,255,181,0.52) !important;
    background: linear-gradient(180deg, #52d787, #18834b) !important;
    color: #edfff4 !important;
    opacity: 1 !important;
    box-shadow: 0 6px 0 #0b4a2a, 0 10px 20px rgba(0,0,0,0.4) !important;
}

body.pvp-game-page #ready-status-text.ready-status-console,
body.pvp-game-page #rematch-status-text.rematch-status {
    display: grid !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    place-items: center;
    border: 1px solid rgba(255,216,74,0.18) !important;
    border-radius: 9px !important;
    background: rgba(0,0,0,0.5) !important;
    color: rgba(255,255,255,0.7) !important;
    font: 700 11px/1.35 'Neue Pixel Sans', monospace !important;
    text-align: center;
}

body.pvp-game-page .result-action-zone .rematch-console {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons {
    margin: 10px 0 0 !important;
    gap: 8px !important;
}

body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button {
    min-height: 42px !important;
    border: 1px solid rgba(255,216,74,0.24) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,0.045) !important;
    color: rgba(255,255,255,0.72) !important;
    font-size: 7px !important;
}

@media (max-width: 520px) {
    body.pvp-game-page #match-ready-overlay .versus-duel-panel,
    body.pvp-game-page #match-results-overlay .versus-duel-panel {
        width: calc(100vw - 12px) !important;
        min-height: calc(var(--pvp-stage-height) - 12px) !important;
        max-height: calc(var(--pvp-stage-height) - 12px) !important;
        margin: 6px auto !important;
        padding: max(15px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom)) !important;
        border-radius: 19px !important;
    }

    body.pvp-game-page .versus-panel-shell {
        width: 100%;
        grid-template-rows: 96px 292px auto;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell {
        grid-template-rows: 96px minmax(0, 1fr);
    }

    body.pvp-game-page .arcade-panel-header { height: 96px; }

    body.pvp-game-page #match-ready-overlay .matchmaking-container {
        grid-template-rows: 292px auto;
    }

    body.pvp-game-page .arcade-duel-grid,
    body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
    body.pvp-game-page #match-results-overlay .arcade-duel-grid {
        height: 292px;
        grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    body.pvp-game-page .arcade-duelist,
    body.pvp-game-page .matchup-player-card.arcade-duelist,
    body.pvp-game-page .result-player-card.arcade-duelist {
        min-height: 250px !important;
    }

    body.pvp-game-page .arcade-versus-core,
    body.pvp-game-page #match-ready-overlay .arcade-versus-core,
    body.pvp-game-page #match-results-overlay .arcade-versus-core {
        width: 48px !important;
        height: 48px !important;
    }
}

@media (max-height: 700px) {
    body.pvp-game-page .versus-panel-shell {
        height: auto;
        grid-template-rows: 86px 250px auto;
        gap: 8px;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell {
        grid-template-rows: 86px minmax(0, 1fr);
    }

    body.pvp-game-page .arcade-panel-header { height: 86px; }
    body.pvp-game-page .arcade-panel-header .arcade-panel-kicker { margin-bottom: 6px !important; }
    body.pvp-game-page .arcade-panel-header .arcade-panel-subtitle { font-size: 6px; }
    body.pvp-game-page #match-ready-overlay .matchmaking-container { grid-template-rows: 250px auto; gap: 8px; }

    body.pvp-game-page .arcade-duel-grid,
    body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
    body.pvp-game-page #match-results-overlay .arcade-duel-grid { height: 250px; padding-block: 7px !important; }

    body.pvp-game-page .arcade-duelist,
    body.pvp-game-page .matchup-player-card.arcade-duelist,
    body.pvp-game-page .result-player-card.arcade-duelist { min-height: 232px !important; }

    body.pvp-game-page .arcade-basketball,
    body.pvp-game-page .matchup-player-card .arcade-basketball,
    body.pvp-game-page .result-player-card .arcade-basketball {
        width: 82px !important;
        height: 82px !important;
        margin-bottom: 8px !important;
    }

    body.pvp-game-page .native-basketball-emoji {
        font-size: 78px !important;
    }

    body.pvp-game-page #match-ready-overlay .epic-ready-button,
    body.pvp-game-page #match-results-overlay .rematch-button { min-height: 48px !important; margin-bottom: 7px !important; }
    body.pvp-game-page #ready-status-text.ready-status-console,
    body.pvp-game-page #rematch-status-text.rematch-status { min-height: 44px !important; font-size: 10px !important; }
    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons { margin-top: 7px !important; }
    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button { min-height: 36px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.pvp-game-page .native-basketball-emoji,
    body.pvp-game-page .arcade-basketball::before {
        animation: none !important;
    }
}

/* v35 — direct fresh rematches and unified live Versus state screens. */
@keyframes arcade-search-pulse {
    0%, 100% { opacity: 0.42; transform: scale(0.82); }
    55% { opacity: 0; transform: scale(1.34); }
}

@keyframes arcade-search-sweep {
    to { transform: rotate(360deg); }
}

@keyframes arcade-live-blink {
    0%, 46% { opacity: 1; }
    47%, 100% { opacity: 0.32; }
}

body.pvp-game-page #matchmaking-overlay,
body.pvp-game-page #player-eliminated-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--pvp-stage-height) !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #020203 !important;
}

body.pvp-game-page #matchmaking-overlay .versus-search-panel,
body.pvp-game-page #player-eliminated-overlay .eliminated-content.versus-state-panel {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    width: min(calc(var(--pvp-stage-width) - 12px), 620px) !important;
    min-height: calc(var(--pvp-stage-height) - 12px) !important;
    max-height: calc(var(--pvp-stage-height) - 12px) !important;
    margin: 6px auto !important;
    padding: max(15px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom)) !important;
    flex-direction: column;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,216,74,0.46) !important;
    border-radius: 19px !important;
    background:
        linear-gradient(180deg, rgba(7,7,9,0.95), rgba(2,2,4,0.985)),
        radial-gradient(circle at 50% 40%, rgba(224,49,34,0.18), transparent 34%) !important;
    box-shadow:
        0 0 0 3px rgba(0,0,0,0.7),
        0 24px 70px rgba(0,0,0,0.75),
        inset 0 1px 0 rgba(255,255,255,0.07),
        0 0 32px rgba(225,38,63,0.15) !important;
}

body.pvp-game-page #matchmaking-overlay .versus-search-panel::before,
body.pvp-game-page #player-eliminated-overlay .eliminated-content.versus-state-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, transparent 49.8%, rgba(255,216,74,0.12) 49.8% 50.2%, transparent 50.2%),
        repeating-linear-gradient(180deg, transparent 0 5px, rgba(255,255,255,0.018) 6px);
    pointer-events: none;
}

body.pvp-game-page #matchmaking-overlay .versus-state-shell {
    position: relative;
    z-index: 1;
    display: grid;
    width: 100%;
    height: auto;
    margin: auto;
    grid-template-rows: 100px 292px 76px 48px;
    gap: 12px;
    align-content: center;
}

body.pvp-game-page #matchmaking-overlay .search-panel-header {
    display: flex;
    height: 100px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body.pvp-game-page .state-panel-kicker {
    color: rgba(255,222,105,0.82);
    font: 7px/1.4 'Press Start 2P', monospace;
    letter-spacing: 0.07em;
    text-align: center;
}

body.pvp-game-page #matchmaking-overlay .search-panel-header h2 {
    min-height: 34px;
    margin: 10px 0 8px !important;
    color: #fff8dc !important;
    font: clamp(22px, 6vw, 31px)/1.1 'Press Start 2P', monospace !important;
    letter-spacing: -0.055em !important;
    text-align: center !important;
    text-shadow: 3px 3px 0 #9e1b17, -1px -1px 0 #33120c, 0 0 20px rgba(255,75,35,0.35) !important;
}

body.pvp-game-page #matchmaking-overlay .search-panel-subtitle {
    color: rgba(255,255,255,0.54);
    font: 7px/1.4 'Press Start 2P', monospace;
    text-align: center;
}

body.pvp-game-page #matchmaking-overlay .matchmaking-container {
    display: contents !important;
    margin: 0 !important;
}

body.pvp-game-page #matchmaking-overlay .epic-matchmaking-spinner {
    display: none !important;
}

body.pvp-game-page #matchmaking-overlay .search-duel-grid {
    position: relative;
    display: grid !important;
    width: 100% !important;
    height: 292px;
    margin: 0 !important;
    padding: 15px 0 !important;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr) !important;
    gap: 7px !important;
    border-block: 1px solid rgba(255,216,74,0.16);
    background:
        radial-gradient(circle at 50% 50%, rgba(224,49,34,0.2), transparent 26%),
        linear-gradient(90deg, transparent 49.75%, rgba(255,216,74,0.16) 49.75% 50.25%, transparent 50.25%);
    box-sizing: border-box;
    overflow: hidden;
}

body.pvp-game-page #matchmaking-overlay .search-player-card {
    position: relative;
    z-index: 1;
    display: flex !important;
    min-width: 0;
    height: 245px;
    padding: 0 3px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

body.pvp-game-page #matchmaking-overlay .search-ball-wrap {
    position: relative;
    display: grid;
    width: 112px;
    height: 112px;
    margin: 0 auto 17px;
    place-items: center;
}

body.pvp-game-page #matchmaking-overlay .native-search-ball {
    position: relative;
    z-index: 2;
    display: block;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
    font-size: 106px;
    line-height: 1;
    filter: drop-shadow(0 14px 10px rgba(0,0,0,0.5)) drop-shadow(0 0 14px rgba(255,89,25,0.28));
    animation: arcade-emoji-float 2.7s ease-in-out infinite;
}

body.pvp-game-page #matchmaking-overlay .is-scanning .native-search-ball {
    opacity: 0.36;
    filter: grayscale(0.35) drop-shadow(0 0 15px rgba(255,179,59,0.24));
    animation-name: arcade-emoji-float-two;
}

body.pvp-game-page #matchmaking-overlay .search-radar-ring,
body.pvp-game-page #matchmaking-overlay .search-radar-ring::before {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: 1;
    border: 2px solid rgba(255,216,74,0.55);
    border-radius: 50%;
    animation: arcade-search-pulse 1.8s ease-out infinite;
}

body.pvp-game-page #matchmaking-overlay .search-radar-ring::before {
    inset: -2px;
    border-color: rgba(225,38,63,0.5);
    animation-delay: -0.9s;
}

body.pvp-game-page #matchmaking-overlay .search-player-card .epic-player-badge {
    min-width: 74px;
    margin: 0 0 9px !important;
    padding: 5px 7px !important;
    border: 1px solid rgba(255,216,74,0.25) !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,0.4) !important;
    color: rgba(255,222,105,0.84) !important;
    font: 6px/1.25 'Press Start 2P', monospace !important;
}

body.pvp-game-page #matchmaking-overlay .search-player-card .epic-player-name {
    width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    font: 700 clamp(15px, 4vw, 18px)/1.1 'Neue Pixel Sans', monospace !important;
    overflow-wrap: anywhere;
    text-align: center;
}

body.pvp-game-page #matchmaking-overlay .search-vs-core {
    position: relative;
    z-index: 3;
    display: flex;
    width: 52px;
    height: 52px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffd85a;
    border-radius: 50%;
    background: linear-gradient(145deg, #f04a24, #9e1716);
    color: #fff7d2;
    box-shadow: 0 0 0 4px rgba(0,0,0,0.72), 0 0 24px rgba(239,63,31,0.36);
    transform: rotate(-4deg);
}

body.pvp-game-page #matchmaking-overlay .search-vs-core span {
    font: 13px/1 'Press Start 2P', monospace;
    text-shadow: 2px 2px 0 #4b0b08;
}

body.pvp-game-page #matchmaking-overlay .search-vs-core small {
    position: absolute;
    top: calc(100% + 9px);
    left: 50%;
    width: 70px;
    transform: translateX(-50%) rotate(4deg);
    color: rgba(255,255,255,0.42);
    font: 5px/1.2 'Press Start 2P', monospace;
    text-align: center;
}

body.pvp-game-page #matchmaking-overlay .search-status-console {
    display: flex;
    min-height: 76px;
    padding: 10px 12px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255,216,74,0.2);
    border-radius: 10px;
    background: rgba(0,0,0,0.52);
    box-sizing: border-box;
    text-align: center;
}

body.pvp-game-page #matchmaking-overlay .search-live-label {
    color: #8dffb5;
    font: 6px/1.3 'Press Start 2P', monospace;
}

body.pvp-game-page #matchmaking-overlay .search-live-label i,
body.pvp-game-page #player-eliminated-overlay .eliminated-status-chip span {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 6px;
    border-radius: 50%;
    background: #61ef9a;
    box-shadow: 0 0 12px rgba(97,239,154,0.72);
    animation: arcade-live-blink 1.15s steps(1) infinite;
}

body.pvp-game-page #matchmaking-overlay #matchmaking-status.epic-status-text {
    color: rgba(255,255,255,0.78) !important;
    font: 700 11px/1.35 'Neue Pixel Sans', monospace !important;
}

body.pvp-game-page #matchmaking-overlay .search-cancel-button {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,216,74,0.24) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,0.045) !important;
    color: rgba(255,255,255,0.72) !important;
    font: 7px/1.3 'Press Start 2P', monospace !important;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-content.versus-state-panel {
    z-index: 10002 !important;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-content.versus-state-panel > * {
    position: relative;
    z-index: 1;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-title {
    margin: 13px 0 22px !important;
    color: #fff8dc !important;
    font: clamp(25px, 7vw, 37px)/1.1 'Press Start 2P', monospace !important;
    letter-spacing: -0.055em;
    text-shadow: 3px 3px 0 #9e1b17, 0 0 22px rgba(255,75,35,0.35) !important;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-ball-stage {
    position: relative;
    display: grid;
    width: 146px;
    height: 146px;
    margin: 0 0 19px;
    place-items: center;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-ball {
    position: relative;
    z-index: 2;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
    font-size: 126px;
    line-height: 1;
    filter: grayscale(0.38) brightness(0.72) drop-shadow(0 13px 10px rgba(0,0,0,0.52));
}

body.pvp-game-page #player-eliminated-overlay .eliminated-live-ring {
    position: absolute;
    inset: 4px;
    z-index: 1;
    border: 2px dashed rgba(255,216,74,0.52);
    border-radius: 50%;
    animation: arcade-search-sweep 8s linear infinite;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-status-chip {
    margin: 0 0 16px;
    padding: 8px 11px;
    border: 1px solid rgba(97,239,154,0.34);
    border-radius: 999px;
    background: rgba(41,154,82,0.09);
    color: #8dffb5;
    font: 7px/1.3 'Press Start 2P', monospace;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-message {
    width: min(100%, 360px);
    margin: 0 0 20px !important;
    color: rgba(255,255,255,0.7) !important;
    font: 700 13px/1.45 'Neue Pixel Sans', monospace !important;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-timer {
    display: grid;
    width: min(100%, 360px);
    min-height: 92px;
    padding: 13px;
    place-items: center;
    gap: 7px;
    border: 1px solid rgba(255,216,74,0.24);
    border-radius: 11px;
    background: rgba(0,0,0,0.55);
    box-sizing: border-box;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-timer small {
    color: rgba(255,222,105,0.72);
    font: 6px/1.2 'Press Start 2P', monospace;
}

body.pvp-game-page #player-eliminated-overlay #eliminated-time-left {
    color: #fff7d2;
    font: 35px/1 'Press Start 2P', monospace;
    letter-spacing: -0.05em;
    text-shadow: 3px 3px 0 #8b1714, 0 0 16px rgba(255,216,74,0.24);
}

body.pvp-game-page #player-eliminated-overlay .eliminated-status-chip b {
    font: inherit;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-menu-button {
    width: min(100%, 360px);
    min-height: 50px;
    margin: 14px 0 0;
    padding: 11px 14px;
    border: 1px solid rgba(255,216,74,0.52);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(224,49,34,0.94), rgba(137,20,17,0.98));
    color: #fff8dc;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 8px 22px rgba(0,0,0,0.42);
    font: 7px/1.35 'Press Start 2P', monospace;
    letter-spacing: 0.025em;
    text-shadow: 2px 2px 0 rgba(64,5,4,0.72);
    cursor: pointer;
}

body.pvp-game-page #player-eliminated-overlay .eliminated-menu-button:active {
    transform: translateY(1px);
}

body.pvp-game-page #match-ready-overlay.is-direct-rematch .versus-panel-shell {
    display: grid !important;
    height: 100% !important;
    grid-template: minmax(0, 1fr) / minmax(0, 1fr) !important;
    place-items: center;
}

body.pvp-game-page #match-ready-overlay.is-direct-rematch .arcade-panel-header,
body.pvp-game-page #match-ready-overlay.is-direct-rematch .matchmaking-container {
    display: none !important;
}

body.pvp-game-page #match-ready-overlay.is-direct-rematch #ready-countdown {
    position: relative;
    display: flex !important;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff8dc !important;
    font: clamp(92px, 27vw, 132px)/1 'Press Start 2P', monospace !important;
    letter-spacing: -0.08em;
    text-shadow: 7px 7px 0 #8f1714, 0 0 35px rgba(255,86,31,0.42) !important;
}

body.pvp-game-page #match-ready-overlay.is-direct-rematch #ready-countdown::before {
    content: "REMATCH LOCKED // FRESH ROUND";
    margin: 0 0 28px;
    color: #8dffb5;
    font: 7px/1.4 'Press Start 2P', monospace;
    letter-spacing: 0.04em;
    text-shadow: none;
}

body.pvp-game-page #match-ready-overlay.is-direct-rematch #ready-countdown::after {
    content: "NEXT ROUND";
    margin: 26px 0 0;
    color: rgba(255,222,105,0.82);
    font: 10px/1.3 'Press Start 2P', monospace;
    letter-spacing: 0.03em;
    text-shadow: none;
}

@media (max-height: 700px) {
    body.pvp-game-page #matchmaking-overlay .versus-state-shell {
        grid-template-rows: 80px 230px 64px 44px;
        gap: 8px;
    }

    body.pvp-game-page #matchmaking-overlay .search-panel-header { height: 80px; }
    body.pvp-game-page #matchmaking-overlay .search-panel-header h2 { margin-block: 7px 6px !important; font-size: 21px !important; }
    body.pvp-game-page #matchmaking-overlay .search-duel-grid { height: 230px; padding-block: 7px !important; }
    body.pvp-game-page #matchmaking-overlay .search-player-card { height: 214px; }
    body.pvp-game-page #matchmaking-overlay .search-ball-wrap { width: 86px; height: 86px; margin-bottom: 10px; }
    body.pvp-game-page #matchmaking-overlay .native-search-ball { font-size: 82px; }
    body.pvp-game-page #matchmaking-overlay .search-status-console { min-height: 64px; gap: 5px; }
    body.pvp-game-page #matchmaking-overlay .search-cancel-button { min-height: 44px !important; }

    body.pvp-game-page #player-eliminated-overlay .eliminated-title { margin-block: 9px 12px !important; font-size: 25px !important; }
    body.pvp-game-page #player-eliminated-overlay .eliminated-ball-stage { width: 112px; height: 112px; margin-bottom: 12px; }
    body.pvp-game-page #player-eliminated-overlay .eliminated-ball { font-size: 96px; }
    body.pvp-game-page #player-eliminated-overlay .eliminated-status-chip { margin-bottom: 11px; }
    body.pvp-game-page #player-eliminated-overlay .eliminated-message { margin-bottom: 13px !important; font-size: 12px !important; }
    body.pvp-game-page #player-eliminated-overlay .eliminated-timer { min-height: 78px; }
    body.pvp-game-page #player-eliminated-overlay #eliminated-time-left { font-size: 29px; }
    body.pvp-game-page #player-eliminated-overlay .eliminated-menu-button { min-height: 44px; margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    body.pvp-game-page #matchmaking-overlay .native-search-ball,
    body.pvp-game-page #matchmaking-overlay .search-radar-ring,
    body.pvp-game-page #matchmaking-overlay .search-radar-ring::before,
    body.pvp-game-page #matchmaking-overlay .search-live-label i,
    body.pvp-game-page #player-eliminated-overlay .eliminated-live-ring,
    body.pvp-game-page #player-eliminated-overlay .eliminated-status-chip span {
        animation: none !important;
    }
}

/* v36 — hard render separation between GameSalad and every Versus state. */
html.pvp-engine-gated,
html.pvp-engine-gated body,
body.pvp-engine-gated {
    background: #020203 !important;
}

body.pvp-engine-gated #gse-player,
body.pvp-engine-gated #gse-player canvas,
html.pvp-engine-gated body #gse-player,
html.pvp-engine-gated body #gse-player canvas {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* v38 — keep the invisible engine renderable so slow devices can finish loading. */


/* v43 — full-screen mobile matchup/results, larger live HUD, and winner-first actions. */
@keyframes pvp-winner-card-glow {
    0%, 100% { box-shadow: inset 0 0 0 1px rgba(255,235,142,0.24), 0 0 18px rgba(255,216,74,0.2); }
    50% { box-shadow: inset 0 0 0 1px rgba(255,235,142,0.46), 0 0 30px rgba(255,216,74,0.38); }
}

body.pvp-game-page #match-results-overlay .result-player-card.is-match-winner {
    border: 2px solid #ffe77e !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 50% 28%, rgba(255,216,74,0.2), transparent 48%),
        linear-gradient(180deg, rgba(255,216,74,0.09), rgba(225,38,63,0.08)) !important;
    animation: pvp-winner-card-glow 1.8s ease-in-out infinite;
}

body.pvp-game-page #match-results-overlay .result-player-card.is-match-winner .epic-player-badge {
    min-width: 92px !important;
    border-color: #fff2a9 !important;
    background: linear-gradient(180deg, #ffe56f, #e9a800) !important;
    color: #1b0e00 !important;
    font-size: 8px !important;
    box-shadow: 0 0 18px rgba(255,216,74,0.36) !important;
}

body.pvp-game-page #match-results-overlay .result-player-card.is-match-winner .arcade-basketball {
    filter: drop-shadow(0 0 18px rgba(255,216,74,0.48));
}

body.pvp-game-page #match-results-overlay .result-player-card.is-match-loser {
    opacity: 0.67;
    filter: saturate(0.7);
}

body.pvp-game-page #match-results-overlay .rematch-button {
    font-size: 13px !important;
    letter-spacing: 0.025em;
}

body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button {
    min-height: 46px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

body.pvp-game-page #match-results-overlay .results-exit-links {
    margin-top: 8px !important;
}

body.pvp-game-page #match-results-overlay #results-new-opponent-button {
    border-color: rgba(255,216,74,0.58) !important;
    background: linear-gradient(180deg, rgba(238,80,39,0.96), rgba(157,21,20,0.98)) !important;
    color: #fff8dc !important;
    text-shadow: 2px 2px 0 rgba(74,6,5,0.72) !important;
}

body.pvp-game-page #match-results-overlay #results-home-button {
    border-color: rgba(255,255,255,0.27) !important;
    background: rgba(0,0,0,0.54) !important;
    color: rgba(255,255,255,0.88) !important;
}

body.pvp-game-page #match-results-overlay .results-nav-buttons .is-primary-exit {
    border-color: rgba(255,216,74,0.72) !important;
    box-shadow: 0 0 20px rgba(225,38,63,0.24) !important;
}

@media (max-width: 520px) {
    body.pvp-game-page #match-ready-overlay,
    body.pvp-game-page #match-results-overlay {
        align-items: stretch !important;
        justify-content: stretch !important;
        width: 100vw !important;
        height: var(--pvp-stage-height) !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.pvp-game-page #match-ready-overlay::before,
    body.pvp-game-page #match-results-overlay::before {
        width: 100vw !important;
        border: 0 !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-duel-panel,
    body.pvp-game-page #match-results-overlay .versus-duel-panel {
        width: 100vw !important;
        height: var(--pvp-stage-height) !important;
        min-height: var(--pvp-stage-height) !important;
        max-height: var(--pvp-stage-height) !important;
        margin: 0 !important;
        padding:
            max(16px, env(safe-area-inset-top))
            14px
            max(15px, env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        background:
            radial-gradient(circle at 50% 38%, rgba(232,55,31,0.24), transparent 36%),
            linear-gradient(180deg, rgba(8,6,8,0.9), rgba(3,3,5,0.99)),
            #030304 !important;
        box-shadow: none !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-duel-panel::after,
    body.pvp-game-page #match-results-overlay .versus-duel-panel::after {
        border-radius: 0 !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell,
    body.pvp-game-page #match-results-overlay .versus-panel-shell {
        width: 100% !important;
        min-height: calc(var(--pvp-stage-height) - max(31px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
        height: 100% !important;
        margin: 0 !important;
        gap: 12px !important;
        align-content: stretch !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell {
        grid-template-rows: clamp(106px, 15vh, 128px) minmax(0, 1fr) !important;
    }

    body.pvp-game-page #match-results-overlay .versus-panel-shell {
        grid-template-rows: clamp(104px, 14vh, 124px) minmax(300px, 1fr) auto !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-panel-header,
    body.pvp-game-page #match-results-overlay .arcade-panel-header {
        width: 100% !important;
        height: auto !important;
        min-height: 100% !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-panel-header .match-ready-title,
    body.pvp-game-page #match-results-overlay .arcade-panel-header .epic-winner-announcement {
        font-size: clamp(27px, 7.8vw, 36px) !important;
    }

    body.pvp-game-page .arcade-panel-header .arcade-panel-kicker,
    body.pvp-game-page .arcade-panel-subtitle {
        font-size: 7px !important;
    }

    body.pvp-game-page #match-ready-overlay .matchmaking-container {
        height: 100% !important;
        grid-template-rows: minmax(300px, 1fr) auto !important;
        gap: 13px !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
    body.pvp-game-page #match-results-overlay .arcade-duel-grid {
        width: 100% !important;
        height: 100% !important;
        min-height: 300px !important;
        padding: 14px 0 !important;
        grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr) !important;
        gap: 7px !important;
    }

    body.pvp-game-page .arcade-duelist,
    body.pvp-game-page .matchup-player-card.arcade-duelist,
    body.pvp-game-page .result-player-card.arcade-duelist {
        min-height: 0 !important;
        height: 100% !important;
        padding: 8px 4px !important;
    }

    body.pvp-game-page .arcade-basketball,
    body.pvp-game-page .matchup-player-card .arcade-basketball,
    body.pvp-game-page .result-player-card .arcade-basketball {
        width: clamp(104px, 28vw, 126px) !important;
        height: clamp(104px, 28vw, 126px) !important;
        margin-bottom: 13px !important;
    }

    body.pvp-game-page .native-basketball-emoji {
        font-size: clamp(98px, 27vw, 120px) !important;
    }

    body.pvp-game-page .arcade-duelist .epic-player-name {
        min-height: 40px !important;
        font-size: clamp(17px, 4.8vw, 21px) !important;
    }

    body.pvp-game-page .arcade-duelist .player-ready-state,
    body.pvp-game-page .arcade-duelist .result-rematch-state {
        min-height: 31px !important;
        padding: 8px 5px !important;
        font-size: 7px !important;
    }

    body.pvp-game-page #match-results-overlay .arcade-duelist .epic-score-value {
        min-height: 48px !important;
        font-size: clamp(39px, 10.6vw, 50px) !important;
    }

    body.pvp-game-page #match-ready-overlay .epic-ready-button,
    body.pvp-game-page #match-results-overlay .rematch-button {
        min-height: 64px !important;
        font-size: 13px !important;
    }

    body.pvp-game-page #ready-status-text.ready-status-console,
    body.pvp-game-page #rematch-status-text.rematch-status {
        min-height: 58px !important;
        font-size: 12px !important;
    }

    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons {
        margin-top: 9px !important;
        gap: 9px !important;
    }

    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button {
        min-height: 48px !important;
        padding: 9px 7px !important;
        font-size: 10px !important;
    }

    body.pvp-game-page #pvp-hud {
        min-height: 68px !important;
        max-height: 94px !important;
    }

    body.pvp-game-page #pvp-hud > div {
        gap: 6px !important;
        padding: 10px 9px !important;
    }

    body.pvp-game-page #pvp-hud .player-container {
        max-width: 38% !important;
        gap: 6px !important;
    }

    body.pvp-game-page #pvp-hud-your-avatar,
    body.pvp-game-page #pvp-hud-opponent-avatar {
        width: 40px !important;
        height: 40px !important;
        font-size: 20px !important;
        border-width: 2px !important;
    }

    body.pvp-game-page #pvp-hud-your-avatar .fallback-emoji,
    body.pvp-game-page #pvp-hud-opponent-avatar .fallback-emoji {
        font-size: 21px !important;
    }

    body.pvp-game-page #pvp-your-name,
    body.pvp-game-page #pvp-opponent-name {
        margin-bottom: 3px !important;
        font-size: 12px !important;
    }

    body.pvp-game-page #pvp-your-score,
    body.pvp-game-page #pvp-opponent-score {
        min-height: 24px !important;
        font-size: 20px !important;
    }

    body.pvp-game-page #pvp-hud-timer-container {
        min-width: 78px !important;
        max-width: 88px !important;
        padding: 8px 9px !important;
        font-size: 17px !important;
    }
}

@media (max-width: 520px) and (max-height: 700px) {
    body.pvp-game-page #match-ready-overlay .versus-duel-panel,
    body.pvp-game-page #match-results-overlay .versus-duel-panel {
        padding-top: max(9px, env(safe-area-inset-top)) !important;
        padding-bottom: max(9px, env(safe-area-inset-bottom)) !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell {
        grid-template-rows: 88px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.pvp-game-page #match-results-overlay .versus-panel-shell {
        grid-template-rows: 86px minmax(250px, 1fr) auto !important;
        gap: 7px !important;
    }

    body.pvp-game-page #match-ready-overlay .matchmaking-container {
        grid-template-rows: minmax(250px, 1fr) auto !important;
        gap: 8px !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
    body.pvp-game-page #match-results-overlay .arcade-duel-grid {
        min-height: 250px !important;
        padding-block: 7px !important;
    }

    body.pvp-game-page .arcade-basketball,
    body.pvp-game-page .matchup-player-card .arcade-basketball,
    body.pvp-game-page .result-player-card .arcade-basketball {
        width: 88px !important;
        height: 88px !important;
        margin-bottom: 7px !important;
    }

    body.pvp-game-page .native-basketball-emoji { font-size: 84px !important; }
    body.pvp-game-page #match-ready-overlay .epic-ready-button,
    body.pvp-game-page #match-results-overlay .rematch-button { min-height: 52px !important; margin-bottom: 7px !important; }
    body.pvp-game-page #ready-status-text.ready-status-console,
    body.pvp-game-page #rematch-status-text.rematch-status { min-height: 44px !important; font-size: 10px !important; }
    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons { margin-top: 6px !important; }
    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button { min-height: 40px !important; font-size: 8px !important; }
}

/* v45 — clearer live-search state and secure private-court sharing. */
body.pvp-game-page #matchmaking-overlay .versus-state-shell {
    grid-template-rows: 100px 292px 86px auto !important;
}

body.pvp-game-page #matchmaking-overlay .search-status-console {
    display: grid !important;
    min-height: 86px !important;
    padding: 13px 14px !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 10px !important;
}

body.pvp-game-page #matchmaking-overlay .search-live-label {
    font-size: 8px !important;
    line-height: 1.45 !important;
}

body.pvp-game-page #matchmaking-overlay #matchmaking-status.epic-status-text {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.pvp-game-page #matchmaking-overlay .search-player-card .epic-player-name {
    font-size: clamp(17px, 4.7vw, 21px) !important;
}

body.pvp-game-page #matchmaking-overlay .search-actions {
    display: grid;
    width: 100%;
    gap: 8px;
}

body.pvp-game-page #matchmaking-overlay .search-actions [hidden] {
    display: none !important;
}

body.pvp-game-page #matchmaking-overlay .search-cancel-button,
body.pvp-game-page #matchmaking-overlay .search-versus-button {
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    font: 9px/1.35 'Press Start 2P', monospace !important;
}

/* v49 private-court host flow: visible sharing and unmistakable readiness. */
#create-match-overlay .overlay-content {
    max-height: calc(100dvh - 24px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

#create-match-overlay .cm-panel {
    position: relative;
    border: 2px solid rgba(255,216,74,.55) !important;
    background:
        radial-gradient(circle at 50% 9%, rgba(225,38,63,.2), transparent 31%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px),
        rgba(5,7,15,.9) !important;
    box-shadow: inset 0 0 36px rgba(0,0,0,.45), 0 10px 34px rgba(0,0,0,.33) !important;
}

#create-match-overlay .cm-title {
    color: #8dffb5 !important;
}

#create-match-overlay .cm-codebox {
    border: 2px solid rgba(255,216,74,.5) !important;
    background:
        linear-gradient(90deg, rgba(30,92,180,.17), transparent 35% 65%, rgba(225,38,63,.16)),
        rgba(0,0,0,.72) !important;
}

#create-match-overlay .cm-share-button {
    min-height: 54px !important;
}

#create-match-overlay .cm-invite-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 10px;
}

#create-match-overlay .cm-invite-actions .mode-button {
    min-width: 0;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 10px 7px !important;
    font-size: 8px !important;
}

#create-match-overlay #copy-share-link-btn {
    color: #fff3b2 !important;
    border-color: rgba(255,216,74,.72) !important;
    background: linear-gradient(180deg, #243862, #121a34) !important;
    box-shadow: 0 5px 0 #070c18, inset 0 1px rgba(255,255,255,.13), 0 0 20px rgba(69,123,230,.18) !important;
}

#create-match-overlay .cm-share-status {
    min-height: 15px;
    margin: 8px 4px 0;
    color: #8dffb5;
    font: 7px/1.5 'Press Start 2P', monospace;
    text-align: center;
}

#create-match-overlay #generate-match-code-btn[hidden] {
    display: none !important;
}

#create-match-overlay .cm-waiting-board {
    display: grid;
    grid-template-columns: 15px 1fr;
    gap: 13px;
    align-items: center;
    margin: 10px 0 10px;
    padding: 12px 13px;
    border: 1px solid rgba(141,255,181,.28);
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(8,78,94,.34), rgba(8,24,57,.72));
    text-align: left;
}

#create-match-overlay .cm-waiting-light {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #ffd85a;
    box-shadow: 0 0 0 4px rgba(255,216,90,.1), 0 0 17px rgba(255,216,90,.76);
    animation: pvp-glow 1.1s ease-in-out infinite;
}

#create-match-overlay #match-status {
    display: block;
    min-height: 0;
    margin: 0 0 7px !important;
    color: #fff3b2 !important;
    font: 8px/1.5 'Press Start 2P', monospace !important;
}

#create-match-overlay #match-status-help {
    margin: 0 !important;
    color: rgba(255,255,255,.72) !important;
    font: 13px/1.45 'Neue Pixel Sans', sans-serif !important;
}

#create-match-overlay .cm-start-button:disabled {
    border-color: rgba(255,216,74,.2) !important;
    color: rgba(255,255,255,.52) !important;
    background: linear-gradient(180deg, #20273a, #111522) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.07) !important;
    cursor: not-allowed !important;
    filter: none !important;
    transform: none !important;
}

#create-match-overlay .cm-start-button:not(:disabled) {
    border: 2px solid #8dffb5 !important;
    background: linear-gradient(180deg, #1fb96d, #087442) !important;
    box-shadow: inset 0 2px rgba(255,255,255,.22), 0 5px 0 #034a2a, 0 0 24px rgba(63,255,147,.22) !important;
}

@media (max-width: 520px) {
    #create-match-overlay .overlay-content {
        max-height: calc(100dvh - 16px) !important;
        margin: 8px auto !important;
    }

    #create-match-overlay .cm-panel {
        margin-top: 12px !important;
        padding: 15px !important;
    }

    #create-match-overlay .cm-waiting-board {
        padding: 13px 12px;
    }

    #create-match-overlay #match-status { font-size: 8px !important; }
    #create-match-overlay #match-status-help { font-size: 15px !important; }
    #share-match-overlay .pvp-share-link input { font-size: 15px; }
}

@media (max-width: 350px) {
    #create-match-overlay .cm-invite-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    #create-match-overlay .cm-invite-actions .mode-button {
        padding-inline: 5px !important;
        font-size: 7px !important;
    }
}

body.pvp-game-page #matchmaking-overlay .search-versus-button {
    border-color: rgba(255,216,74,0.16) !important;
    color: rgba(255,255,255,0.58) !important;
}

.cm-share-button {
    background: linear-gradient(180deg, #f15b31, #b51f1b) !important;
    border-color: #ffd85a !important;
    box-shadow: 0 5px 0 #65110f, 0 0 24px rgba(239,77,38,0.25) !important;
}

.cm-guest-note {
    margin: 8px 4px 9px;
    color: rgba(255,222,105,0.68);
    font: 7px/1.65 'Press Start 2P', monospace;
    text-align: center;
}

#share-match-overlay.pvp-share-overlay {
    z-index: 120000 !important;
    padding: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0,0,0,0.9) !important;
    backdrop-filter: blur(9px);
}

#share-match-overlay .pvp-share-panel {
    position: relative;
    width: min(100%, 440px) !important;
    max-height: min(760px, calc(100dvh - 30px));
    margin: 0 !important;
    padding: 28px 22px 22px !important;
    overflow-y: auto;
    border: 2px solid rgba(255,216,74,0.66) !important;
    border-radius: 18px !important;
    background:
        repeating-linear-gradient(180deg, transparent 0 5px, rgba(255,255,255,0.018) 6px),
        radial-gradient(circle at 50% 23%, rgba(224,49,34,0.2), transparent 34%),
        #050506 !important;
    box-shadow: 0 0 0 4px rgba(0,0,0,0.72), 0 22px 70px rgba(0,0,0,0.75), 0 0 32px rgba(224,49,34,0.2) !important;
    box-sizing: border-box;
    text-align: center;
}

#share-match-overlay .pvp-share-kicker {
    margin-bottom: 14px;
    color: #ffdf69;
    font: 8px/1.5 'Press Start 2P', monospace;
}

#share-match-overlay h2 {
    margin: 0 0 14px !important;
    color: #fff6d1 !important;
    font: clamp(25px, 7vw, 34px)/1.12 'Press Start 2P', monospace !important;
    letter-spacing: -0.055em;
    text-shadow: 3px 3px 0 #9e1b17, 0 0 18px rgba(255,77,35,0.32);
}

#share-match-overlay p {
    margin: 0 auto 18px;
    max-width: 360px;
    color: rgba(255,255,255,0.72);
    font: 15px/1.45 'Neue Pixel Sans', sans-serif;
}

#share-match-overlay .pvp-share-code {
    display: grid;
    margin-bottom: 16px;
    padding: 13px;
    gap: 7px;
    border: 1px solid rgba(255,216,74,0.25);
    border-radius: 10px;
    background: rgba(0,0,0,0.5);
}

#share-match-overlay .pvp-share-code span {
    color: rgba(255,255,255,0.52);
    font: 7px/1.3 'Press Start 2P', monospace;
}

#share-match-overlay .pvp-share-code strong {
    color: #ffdf69;
    font: 34px/1 'Press Start 2P', monospace;
    letter-spacing: 0.12em;
}

#share-match-overlay .pvp-share-link {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    text-align: left;
}

#share-match-overlay .pvp-share-link span {
    color: rgba(255,255,255,0.58);
    font: 7px/1.35 'Press Start 2P', monospace;
}

#share-match-overlay .pvp-share-link input {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 13px;
    border: 1px solid rgba(141,255,181,0.36);
    border-radius: 9px;
    outline: none;
    color: #baffcf;
    background: rgba(4,27,17,.74);
    font: 13px/1.35 'Neue Pixel Sans', sans-serif;
}

#share-match-overlay .mode-button {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 9px 0 0 !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 9px !important;
    text-decoration: none !important;
}

#share-match-overlay .pvp-share-status {
    min-height: 18px;
    margin-top: 13px;
    color: #8dffb5;
    font: 7px/1.5 'Press Start 2P', monospace;
}

@media (max-width: 520px) {
    body.pvp-game-page #matchmaking-overlay .versus-state-shell {
        grid-template-rows: 92px minmax(238px, 292px) 92px auto !important;
        gap: 10px !important;
    }

    body.pvp-game-page #matchmaking-overlay .search-live-label {
        font-size: 9px !important;
    }

    body.pvp-game-page #matchmaking-overlay #matchmaking-status.epic-status-text {
        font-size: 15px !important;
    }

    body.pvp-game-page #matchmaking-overlay .search-cancel-button,
    body.pvp-game-page #matchmaking-overlay .search-versus-button {
        min-height: 52px !important;
        font-size: 10px !important;
    }

    #share-match-overlay.pvp-share-overlay {
        padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) !important;
    }

    #share-match-overlay .pvp-share-panel {
        width: calc(100% - 20px) !important;
        padding: 26px 17px 18px !important;
    }

    #share-match-overlay p {
        font-size: 17px;
    }
}

@media (max-width: 520px) and (max-height: 700px) {
    body.pvp-game-page #matchmaking-overlay .versus-state-shell {
        grid-template-rows: 74px 224px 76px auto !important;
        gap: 7px !important;
    }

    body.pvp-game-page #matchmaking-overlay .search-duel-grid {
        height: 224px !important;
    }

    body.pvp-game-page #matchmaking-overlay .search-status-console {
        min-height: 76px !important;
        padding: 8px 10px !important;
        gap: 6px !important;
    }

    body.pvp-game-page #matchmaking-overlay .search-live-label {
        font-size: 7px !important;
    }

    body.pvp-game-page #matchmaking-overlay #matchmaking-status.epic-status-text {
        font-size: 12px !important;
    }

    body.pvp-game-page #matchmaking-overlay .search-cancel-button,
    body.pvp-game-page #matchmaking-overlay .search-versus-button {
        min-height: 43px !important;
        font-size: 8px !important;
    }
}

/* v44 — true mobile viewport with wide, content-height matchup and results sheets. */
@media (max-width: 520px) {
    body.pvp-game-page #match-ready-overlay,
    body.pvp-game-page #match-results-overlay {
        align-items: center !important;
        justify-content: center !important;
        width: 100vw !important;
        height: var(--pvp-stage-height) !important;
        padding:
            max(12px, env(safe-area-inset-top))
            0
            max(12px, env(safe-area-inset-bottom)) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-duel-panel,
    body.pvp-game-page #match-results-overlay .versus-duel-panel {
        display: flex !important;
        width: calc(100vw - 8px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(var(--pvp-stage-height) - 24px) !important;
        margin: auto !important;
        padding: 18px 12px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border: 1px solid rgba(255, 221, 103, 0.82) !important;
        border-radius: 20px !important;
        background:
            radial-gradient(circle at 50% 45%, rgba(232,55,31,0.25), transparent 34%),
            linear-gradient(180deg, rgba(8,6,8,0.9), rgba(3,3,5,0.985)),
            #030304 !important;
        box-shadow:
            0 0 0 3px rgba(0,0,0,0.62),
            0 0 0 4px rgba(224,49,34,0.24),
            0 20px 55px rgba(0,0,0,0.82),
            inset 0 1px 0 rgba(255,255,255,0.08),
            0 0 30px rgba(224,49,34,0.22) !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-duel-panel::after,
    body.pvp-game-page #match-results-overlay .versus-duel-panel::after {
        border-radius: inherit !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell,
    body.pvp-game-page #match-results-overlay .versus-panel-shell {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        align-content: start !important;
        gap: 14px !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell {
        grid-template-rows: auto auto !important;
    }

    body.pvp-game-page #match-results-overlay .versus-panel-shell {
        grid-template-rows: auto auto auto !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-panel-header,
    body.pvp-game-page #match-results-overlay .arcade-panel-header {
        width: 100% !important;
        height: auto !important;
        min-height: 92px !important;
        padding: 2px 0 0 !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-panel-header .match-ready-title,
    body.pvp-game-page #match-results-overlay .arcade-panel-header .epic-winner-announcement {
        min-height: 38px !important;
        margin-bottom: 8px !important;
        font-size: clamp(30px, 8.7vw, 38px) !important;
    }

    body.pvp-game-page .arcade-panel-header .arcade-panel-kicker {
        margin-bottom: 9px !important;
        font-size: 8px !important;
    }

    body.pvp-game-page .arcade-panel-subtitle {
        min-height: 16px !important;
        font-size: 8px !important;
    }

    body.pvp-game-page #match-ready-overlay .matchmaking-container {
        height: auto !important;
        min-height: 0 !important;
        grid-template-rows: 310px auto !important;
        gap: 14px !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
    body.pvp-game-page #match-results-overlay .arcade-duel-grid {
        width: 100% !important;
        height: 310px !important;
        min-height: 310px !important;
        padding: 12px 0 !important;
        grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr) !important;
        gap: 7px !important;
    }

    body.pvp-game-page .arcade-duelist,
    body.pvp-game-page .matchup-player-card.arcade-duelist,
    body.pvp-game-page .result-player-card.arcade-duelist {
        height: 100% !important;
        min-height: 0 !important;
        padding: 7px 4px !important;
    }

    body.pvp-game-page .arcade-basketball,
    body.pvp-game-page .matchup-player-card .arcade-basketball,
    body.pvp-game-page .result-player-card .arcade-basketball {
        width: clamp(112px, 30vw, 124px) !important;
        height: clamp(112px, 30vw, 124px) !important;
        margin-bottom: 12px !important;
    }

    body.pvp-game-page .native-basketball-emoji {
        font-size: clamp(106px, 29vw, 118px) !important;
    }

    body.pvp-game-page .arcade-duelist .epic-player-badge {
        min-width: 90px !important;
        padding: 6px 8px !important;
        font-size: 7px !important;
    }

    body.pvp-game-page .arcade-duelist .epic-player-name {
        min-height: 42px !important;
        font-size: clamp(19px, 5.2vw, 22px) !important;
    }

    body.pvp-game-page .arcade-ready-callout {
        min-height: 34px !important;
        font-size: 11px !important;
    }

    body.pvp-game-page .arcade-duelist .player-ready-state,
    body.pvp-game-page .arcade-duelist .result-rematch-state {
        min-height: 32px !important;
        padding: 8px 5px !important;
        font-size: 7px !important;
    }

    body.pvp-game-page #match-results-overlay .arcade-duelist .epic-score-value {
        min-height: 52px !important;
        font-size: clamp(43px, 11.8vw, 54px) !important;
    }

    body.pvp-game-page .arcade-versus-core,
    body.pvp-game-page #match-ready-overlay .arcade-versus-core,
    body.pvp-game-page #match-results-overlay .arcade-versus-core {
        width: 58px !important;
        height: 58px !important;
    }

    body.pvp-game-page .arcade-versus-core span {
        font-size: 15px !important;
    }

    body.pvp-game-page #match-ready-overlay .epic-ready-button,
    body.pvp-game-page #match-results-overlay .rematch-button {
        min-height: 64px !important;
        margin-bottom: 10px !important;
        font-size: 14px !important;
    }

    body.pvp-game-page #ready-status-text.ready-status-console,
    body.pvp-game-page #rematch-status-text.rematch-status {
        min-height: 56px !important;
        padding: 11px 13px !important;
        font-size: 12px !important;
    }

    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons {
        margin-top: 10px !important;
        gap: 9px !important;
    }

    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button {
        min-height: 48px !important;
        padding: 9px 7px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 520px) and (max-height: 700px) {
    body.pvp-game-page #match-ready-overlay,
    body.pvp-game-page #match-results-overlay {
        padding:
            max(6px, env(safe-area-inset-top))
            0
            max(6px, env(safe-area-inset-bottom)) !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-duel-panel,
    body.pvp-game-page #match-results-overlay .versus-duel-panel {
        max-height: calc(var(--pvp-stage-height) - 12px) !important;
        padding: 10px 9px !important;
        border-radius: 16px !important;
    }

    body.pvp-game-page #match-ready-overlay .versus-panel-shell,
    body.pvp-game-page #match-results-overlay .versus-panel-shell {
        gap: 9px !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-panel-header,
    body.pvp-game-page #match-results-overlay .arcade-panel-header {
        min-height: 74px !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-panel-header .match-ready-title,
    body.pvp-game-page #match-results-overlay .arcade-panel-header .epic-winner-announcement {
        min-height: 30px !important;
        margin-bottom: 5px !important;
        font-size: 27px !important;
    }

    body.pvp-game-page .arcade-panel-header .arcade-panel-kicker {
        margin-bottom: 5px !important;
        font-size: 6px !important;
    }

    body.pvp-game-page .arcade-panel-subtitle {
        min-height: 12px !important;
        font-size: 6px !important;
    }

    body.pvp-game-page #match-ready-overlay .matchmaking-container {
        grid-template-rows: 252px auto !important;
        gap: 9px !important;
    }

    body.pvp-game-page #match-ready-overlay .arcade-duel-grid,
    body.pvp-game-page #match-results-overlay .arcade-duel-grid {
        height: 252px !important;
        min-height: 252px !important;
        padding: 7px 0 !important;
    }

    body.pvp-game-page .arcade-basketball,
    body.pvp-game-page .matchup-player-card .arcade-basketball,
    body.pvp-game-page .result-player-card .arcade-basketball {
        width: 92px !important;
        height: 92px !important;
        margin-bottom: 7px !important;
    }

    body.pvp-game-page .native-basketball-emoji {
        font-size: 88px !important;
    }

    body.pvp-game-page .arcade-duelist .epic-player-name {
        min-height: 34px !important;
        font-size: 17px !important;
    }

    body.pvp-game-page .arcade-ready-callout {
        min-height: 28px !important;
        font-size: 9px !important;
    }

    body.pvp-game-page #match-results-overlay .arcade-duelist .epic-score-value {
        min-height: 42px !important;
        font-size: 37px !important;
    }

    body.pvp-game-page #match-ready-overlay .epic-ready-button,
    body.pvp-game-page #match-results-overlay .rematch-button {
        min-height: 52px !important;
        margin-bottom: 7px !important;
        font-size: 11px !important;
    }

    body.pvp-game-page #ready-status-text.ready-status-console,
    body.pvp-game-page #rematch-status-text.rematch-status {
        min-height: 46px !important;
        padding: 8px 9px !important;
        font-size: 10px !important;
    }

    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons {
        margin-top: 6px !important;
        gap: 6px !important;
    }

    body.pvp-game-page #match-results-overlay .result-action-zone .results-nav-buttons .epic-button {
        min-height: 42px !important;
        font-size: 8px !important;
    }
}

/* v45 final cascade guard. */
#share-match-overlay .mode-button {
    border: 1px solid rgba(255,216,74,0.3) !important;
    background: rgba(255,255,255,0.055) !important;
    color: rgba(255,255,255,0.84) !important;
}

#share-match-overlay .mode-button.primary {
    border-color: #ffd85a !important;
    background: linear-gradient(180deg, #f15b31, #b51f1b) !important;
    color: #fff9df !important;
    box-shadow: 0 5px 0 #65110f, 0 0 24px rgba(239,77,38,0.25) !important;
}

#share-match-overlay .pvp-sms-link {
    color: rgba(255,255,255,0.84) !important;
}

body.pvp-game-page #matchmaking-overlay .search-versus-button {
    border: 1px solid rgba(255,216,74,0.2) !important;
    background: rgba(255,255,255,0.045) !important;
    color: rgba(255,255,255,0.72) !important;
}
