#pvpSection { scroll-margin-top: 100px; }
.pvp-section { grid-column: 1 / -1; padding: 30px; }
.pvp-content { position: relative; z-index: 1; }
.pvp-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; margin: 0 0 28px; }
.pvp-overview > div { min-width: 0; padding: 24px; border: 1px solid rgba(var(--accent-2-rgb), .18); border-radius: 14px; background: rgba(8, 7, 12, .34); }
.pvp-overview dt { margin-left: 62px; color: var(--muted); font-size: .63rem; }
.pvp-overview dd { display: flex; min-width: 0; align-items: center; gap: 16px; margin: 12px 0 0; }
.pvp-honour-icon { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; color: var(--accent-3); }
.pvp-honour-icon::before { width: 40px; height: 40px; }
/* Match the equipment item-level typography at every viewport size. */
.pvp-honour-score { min-width: 0; color: var(--text); font-family: "Bungee", sans-serif; font-size: clamp(2rem, 2.8vw, 2.4rem); font-weight: 400; line-height: 1; overflow-wrap: anywhere; }
.pvp-season-heading h3 { margin: 0; font-size: .85rem; font-weight: 600; }
.pvp-bracket-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); align-items: start; gap: 12px; margin-top: 18px; }
.pvp-bracket { min-width: 0; padding: 22px 16px; text-align: center; border: 1px solid rgba(var(--accent-2-rgb), .18); border-radius: 18px; background: radial-gradient(ellipse at 50% 25%, rgba(var(--accent-2-rgb), .085), transparent 72%), rgba(8, 7, 12, .34); }
.pvp-bracket h4 { min-height: 2.4em; margin: 0 0 15px; font-size: .74rem; line-height: 1.3; font-weight: 600; text-wrap: balance; }
.pvp-spec-report + .pvp-spec-report { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.pvp-spec { margin: 0 0 12px; color: var(--accent-3); font-size: .6rem; }
.pvp-rating { display: block; font-family: "Bungee", sans-serif; font-size: 1.65rem; line-height: 1.2; font-weight: 400; color: var(--text); }
.pvp-rating-label { display: block; margin-top: 5px; color: var(--muted); font-size: .5rem; text-transform: uppercase; letter-spacing: .09em; }
.pvp-record { display: flex; justify-content: center; gap: 24px; margin: 18px 0 10px; }
.pvp-record dt { color: var(--muted); font-size: .5rem; }
.pvp-record dd { margin: 4px 0 0; font-size: .72rem; color: var(--accent-3); }
.pvp-played, .pvp-empty, .pvp-win-rate, .pvp-reported-season { margin: 0; color: var(--muted); font-size: .5rem; line-height: 1.5; }
.pvp-empty { margin-top: 12px; }
.pvp-win-track { height: 8px; margin: 14px 0 6px; overflow: hidden; border-radius: 99px; background: rgba(255, 255, 255, .055); }
.pvp-win-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent-1), var(--accent-2), var(--accent-3)); }
.pvp-note, .pvp-status { margin: 20px 0 0; color: var(--muted); font-size: .63rem; line-height: 1.5; }
.pvp-status { margin-top: 0; }
.pvp-retry { min-height: 44px; margin-top: 12px; padding: 10px 16px; border: 1px solid rgba(var(--accent-2-rgb), .4); border-radius: 10px; background: rgba(var(--accent-1-rgb), .12); color: var(--text); font: inherit; font-size: .68rem; cursor: pointer; }
.pvp-retry:focus-visible { outline: 2px solid var(--accent-3); outline-offset: 3px; }
@media (max-width: 900px) {
    .pvp-section { padding: 22px; }
    .pvp-bracket-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .pvp-bracket:last-child:nth-child(odd):not(:only-child) { grid-column: 1 / -1; width: calc((100% - 10px) / 2); justify-self: center; }
    .pvp-bracket:only-child { grid-column: 1 / -1; width: 100%; }
    .pvp-bracket { padding: 18px 10px; border-radius: 14px; }
    .pvp-bracket h4 { font-size: .67rem; }
    .pvp-overview { gap: 10px; }
    .pvp-overview > div { padding: 20px; }
}
@media (max-width: 600px) {
    .pvp-overview { grid-template-columns: minmax(0, 1fr); }
}
