:root {
    --impact-red: #d22736;
    --impact-red-dark: #a9182a;
    --impact-ink: #171719;
    --impact-page: #f5f5f5;
    --impact-white: #ffffff;
    --impact-neutral-200: #ededee;
    --impact-neutral-500: #77777d;
    --impact-draw-surface: #ededf0;
    --impact-draw-card-border: #dcdde2;
    --impact-draw-wire: #b7b9c1;
    --impact-display: "Barlow Condensed", "Arial Narrow", sans-serif;
    --impact-ui: Inter, Arial, sans-serif;
    --impact-halftone: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px) 0 0 / 5px 5px;
}

.duel-art {
    position: relative;
}

body.impact-site .duel-team-art {
    display: flex;
    align-items: center;
    justify-content: center;
    filter: none;
}

body.impact-site .duel-team-art .flag {
    width: 80%;
    height: auto;
    aspect-ratio: 3 / 2;
}

button.duel-art {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

button.duel-art:focus-visible {
    outline: 2px solid var(--impact-red);
    outline-offset: 3px;
}

.player-portrait.bolt {
    position: absolute; /* left/top/width/height are set from JS */
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: screen;
    /* white-hot silhouette + electric glow that follows the alpha edge */
    filter: brightness(0) invert(1) drop-shadow(0 0 2px #fff) drop-shadow(0 0 8px #ff4d6d) drop-shadow(0 0 18px #ff2a55);
    /* a thin band that travels top to bottom */
    -webkit-mask: linear-gradient(to bottom, transparent 42%, #000 50%, transparent 58%) 0 100% / 100% 300% no-repeat;
    mask: linear-gradient(to bottom, transparent 42%, #000 50%, transparent 58%) 0 100% / 100% 300% no-repeat;
    animation: bolt-sweep 0.9s cubic-bezier(.5, 0, .3, 1) var(--bolt-delay, 0s) 1 both,
    bolt-flicker 0.9s steps(1) var(--bolt-delay, 0s) 1 both;
}

@keyframes bolt-sweep {
    from {
        -webkit-mask-position: 0 100%;
        mask-position: 0 100%;
    }
    to {
        -webkit-mask-position: 0 0;
        mask-position: 0 0;
    }
}

/* irregular flashing so it reads as lightning rather than a scanner */
@keyframes bolt-flicker {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    22% {
        opacity: .3;
    }
    34% {
        opacity: 1;
    }
    48% {
        opacity: .5;
    }
    60% {
        opacity: 1;
    }
    80% {
        opacity: .7;
    }
    100% {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .player-portrait.bolt {
        display: none;
    }
}

body.impact-site {
    --bg: var(--impact-page);
    --paper: var(--impact-white);
    --ink: var(--impact-ink);
    --muted: var(--impact-neutral-500);
    --line: #d1d1d4;
    --line-soft: #dedee1;
    --accent: var(--impact-red);
    --accent-dark: var(--impact-ink);
    --brand: var(--impact-red);
    --sand: var(--impact-red);
    --featured: var(--impact-red);
    --live: var(--impact-red);
    --winner: var(--impact-ink);
    color: var(--impact-ink);
    background: var(--impact-page);
    font-family: var(--impact-ui);
}

.impact-site button:focus-visible,
.impact-site select:focus-visible,
.impact-site a:focus-visible,
.impact-site [tabindex]:focus-visible {
    outline-color: var(--impact-red);
}

.impact-site .page-shell {
    width: min(100%, 1220px);
    padding: 0 0 56px;
}

.impact-site .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 30px;
    padding: 28px 0 22px;
    border: 0;
}

.impact-site .brand {
    grid-template-columns: 45px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 5px;
}

.impact-site .mark {
    width: 45px;
    height: 45px;
}

.impact-site .brand-wordmark-en {
    height: 30px;
}

.impact-site .brand-wordmark-zh {
    height: 25px;
}

.impact-site .brand-tagline {
    color: #67676d;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.impact-site .utilities {
    gap: 17px;
}

.impact-site .utility {
    color: #646469;
    font-size: 11px;
    font-weight: 600;
}

.impact-site .utility-label {
    color: var(--impact-ink);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.impact-site .utility select {
    border-bottom-color: var(--impact-ink);
    font-size: 11px;
}

.impact-site .clock-toggle,
.impact-site .language-switch {
    gap: 8px;
}

.impact-site .clock-toggle button,
.impact-site .language-switch :is(button, a) {
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.06em;
}

.impact-site .clock-toggle button.active,
.impact-site .language-switch :is(button, a).active {
    color: var(--impact-ink);
    border-color: var(--impact-red);
}

.impact-site .language-control {
    border-left-color: #c8c8cb;
}

.impact-main-nav {
    display: flex;
    min-height: 52px;
    align-items: stretch;
    overflow-x: auto;
    color: var(--impact-white);
    background: var(--impact-ink);
    scrollbar-width: none;
}

.impact-main-nav::-webkit-scrollbar {
    display: none;
}

.impact-main-nav a {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 0 18px;
    color: #d8d8db;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.065em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 160ms ease, background-color 160ms ease;
}

.impact-main-nav a::after {
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 18px;
    height: 4px;
    background: transparent;
    content: "";
}

.impact-main-nav a:hover {
    color: var(--impact-white);
    background: #29292d;
    text-decoration: none;
}

.impact-main-nav a:hover::after,
.impact-main-nav a:focus-visible::after,
.impact-main-nav-current::after {
    background: var(--impact-red);
}

.impact-main-nav .impact-main-nav-current {
    color: var(--impact-white);
}

.impact-main-nav .impact-main-nav-support {
    margin-left: auto;
    color: var(--impact-white);
    background: var(--impact-red);
}

.impact-main-nav .impact-main-nav-support::after {
    display: none;
}

.impact-main-nav .impact-main-nav-support:hover {
    background: var(--impact-red-dark);
}

.impact-site .rank-strip {
    --rank-bg-1: var(--impact-ink);
    --rank-bg-2: #28282b;
    --rank-bg-3: var(--impact-ink);
    --rank-text: var(--impact-white);
    --rank-muted: #c8c8cd;
    margin-top: 0;
    border: 0;
    border-bottom: 5px solid var(--impact-red);
    border-radius: 0;
    background: var(--impact-ink);
    box-shadow: none;
}

.impact-site .rank-strip.open {
    background: var(--impact-ink);
    box-shadow: none;
}

.impact-site .rank-header {
    min-height: 62px;
    padding: 9px 18px;
}

.impact-site .rank-title {
    font-family: var(--impact-display);
    font-size: 25px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: 0.025em;
}

.impact-site .rank-updated {
    color: #c7c7cb;
    font-size: 10px;
    font-weight: 700;
}

.impact-site .face-photo {
    border-color: #4a4a4e;
    border-radius: 0;
    box-shadow: none;
}

.impact-site .expand-symbol {
    color: var(--impact-white);
    background: var(--impact-red);
    border: 0;
    border-radius: 0;
}

.impact-site .rank-switch button {
    color: #bcbcc1;
    font-weight: 850;
    text-transform: uppercase;
}

.impact-site .rank-switch button.active {
    color: var(--impact-white);
    border-color: var(--impact-red);
}

.impact-site .podium-number,
.impact-site .rank-1 .podium-number {
    color: rgba(255, 255, 255, 0.16);
    font-family: var(--impact-display);
    font-style: italic;
}

.impact-site .podium-copy small,
.impact-site .podium-copy .ranking-points {
    color: #ff6c78;
}

.impact-site .rank-card {
    border-top-color: #505055;
    border-radius: 0;
}

.impact-site .rank-card .place {
    color: var(--impact-red);
    font-family: var(--impact-display);
    font-style: italic;
}

.impact-site .site-main {
    padding-top: 34px;
}

.impact-site .match-controls {
    margin: 0 0 32px;
    padding: 0;
    color: var(--impact-white);
    background: var(--impact-ink);
    border: 0;
}

.impact-site .control-row {
    min-height: 62px;
    padding: 0 22px;
    border-bottom: 1px solid #4b4b50;
}

.impact-site .view-tabs {
    align-self: stretch;
    gap: 26px;
}

.impact-site .view-tab {
    align-self: stretch;
    padding: 0;
    color: #b5b5ba;
    font-size: 15px;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.impact-site .view-tab.active {
    color: var(--impact-white);
}

.impact-site .view-tab.active::after {
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: var(--impact-red);
}

.impact-site .count {
    color: #a7a7ac;
}

.impact-site .results-toggle {
    padding-bottom: 0;
    color: var(--impact-white);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.impact-site .results-toggle::before {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 7px;
    background: var(--impact-red);
    content: "";
    vertical-align: 1px;
}

.impact-site .results-toggle:has(input:not(:checked))::before {
    background: #85858b;
}

.impact-site .filter-zone,
.impact-site .secondary-filter-zone {
    padding: 16px 22px;
    border-top: 1px solid #4b4b50;
}

.impact-site .filter-label {
    color: #b5b5bb;
}

.impact-site .event-toggle {
    color: var(--impact-white);
    background: #2c2c30;
    border-color: #57575c;
    border-radius: 0;
    font-size: 11px;
    letter-spacing: 0.03em;
}

.impact-site .event-toggle.active {
    background: var(--impact-red);
    border-color: var(--impact-red);
}

.impact-site .filter-loading {
    color: #d8d8dc;
}

.impact-site .filter-loading-spinner {
    border-color: #5c5c62;
    border-top-color: var(--impact-red);
}

.impact-site .filter-selects {
    gap: 24px;
}

.impact-site .field {
    color: #d3d3d7;
}

.impact-site .field b {
    color: var(--impact-white);
    font-size: 11px;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.impact-site .field select {
    color: var(--impact-white);
    background: transparent;
    border-bottom-color: #85858a;
    border-radius: 0;
}

.impact-site .field select option {
    color: var(--impact-ink);
    background: var(--impact-white);
}

.impact-site .hide-upcoming-button,
.impact-site .mobile-filter-toggle {
    color: var(--impact-white);
    border-color: #85858b;
    border-radius: 0;
}

.impact-site .hide-upcoming-button:hover,
.impact-site .hide-upcoming-button.active,
.impact-site .mobile-filter-toggle:hover {
    background: #303034;
}

.impact-site .hide-upcoming-count {
    color: var(--impact-white);
    background: var(--impact-red);
    border-radius: 0;
}

.impact-site .filter-chip {
    color: var(--impact-white);
    background: #35353a;
    border-color: #5e5e64;
    border-radius: 0;
}

.impact-site .chip-remove {
    color: #ff7380;
}

.impact-site .hide-upcoming-panel {
    color: var(--impact-ink);
    border: 3px solid var(--impact-ink);
    border-radius: 0;
    box-shadow: 9px 9px 0 rgba(23, 23, 25, 0.16);
}

.impact-site .hide-upcoming-search {
    border-color: var(--impact-ink);
    border-radius: 0;
}

.impact-site .section-heading {
    margin-bottom: 0;
    padding: 0 0 20px;
    border: 0;
}

.impact-site .section-heading h1 {
    padding-left: 15px;
    border-left: 7px solid var(--impact-red);
    font-family: var(--impact-display);
    font-size: clamp(42px, 5vw, 62px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 0.82;
    text-transform: uppercase;
}

.impact-site .section-heading p {
    margin: 13px 0 0 22px;
    color: #69696e;
    font-size: 14px;
    font-weight: 600;
}

.impact-site .day-group {
    max-width: none;
}

.impact-site .day-head {
    margin: 30px 0 8px;
    padding-bottom: 9px;
    border-bottom: 3px solid var(--impact-ink);
}

.impact-site .day-head h2 {
    color: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: 24px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: 0.025em;
}

.impact-site .day-head span {
    color: #69696e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.impact-site .timeline {
    max-width: none;
}

.impact-site .timeline::before,
.impact-site .t-node {
    display: none;
}

.impact-site .t-item {
    grid-template-columns: 106px minmax(0, 1fr);
    gap: 0;
    margin-bottom: 7px;
    padding: 0;
    background: var(--impact-white);
    border-bottom: 1px solid #d3d3d6;
}

.impact-site .t-time {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 7px;
    min-height: 100%;
    padding: 16px 15px;
    color: var(--impact-ink);
    border-right: 3px solid var(--impact-ink);
    text-align: right;
}

.impact-site .t-time strong {
    max-width: calc(100% + 0.3em);
    padding-inline-end: 0.06em;
    font-family: var(--impact-display);
    font-size: 28px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.impact-site .t-time .live-badge {
    align-self: flex-end;
    min-height: 16px;
    margin: 0;
    padding: 3px 6px;
    color: var(--impact-white);
    background: var(--impact-red);
    border-radius: 3px;
}

.impact-site .t-time-actions {
    width: 48px;
    max-width: 100%;
    column-gap: 8px;
    margin-top: 0;
}

body.impact-site .t-time-actions .youtube-link {
    position: relative;
    flex: none;
    width: 20px;
    height: 16px;
    border-radius: 3px;
    background: var(--impact-red);
    color: var(--impact-white);
}

body.impact-site .t-time-actions .youtube-link svg {
    display: block;
    width: 20px;
    height: 20px;
}

body.impact-site .t-time-actions .youtube-link svg > path:first-child {
    fill: transparent;
}

body.impact-site .t-time-actions .youtube-link .youtube-play {
    fill: currentColor;
}

body.impact-site .t-time-actions .youtube-link::before {
    position: absolute;
    inset: -8px -3px;
    content: "";
}

body.impact-site .t-time-actions .next-round-trigger:not(:only-child) {
    margin-right: auto;
}

body.impact-site .t-time-actions .next-round-trigger::before {
    inset: -8px -3px;
}

.impact-site .youtube-link,
.impact-site .is-live .youtube-link {
    color: var(--impact-red);
}

.impact-site .match {
    max-width: none;
    min-height: 96px;
    padding: 17px 20px 16px;
    background: transparent;
    border: 0;
}

.impact-site .t-item:nth-child(even):not(.is-live):not(:has(.featured)) .match {
    background: var(--impact-neutral-200);
}

.impact-site .is-live .match {
    padding: 17px 20px 16px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.impact-site .t-item.is-live:not(:has(.featured)) {
    background: linear-gradient(110deg, #ffe3e6 0%, #fff0f2 48%, #fff9fa 100%);
    border-bottom-color: #e9b9c0;
    box-shadow: inset 0 1px 0 rgba(210, 39, 54, 0.12);
}

.impact-site .t-item.is-live:not(:has(.featured)) > .t-time {
    border-right-color: var(--impact-red);
}

.impact-site .t-item.is-live:not(:has(.featured)) > .match {
    background: transparent;
}

.impact-site .match-top {
    gap: 6px 12px;
}

.impact-site .series {
    color: var(--impact-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.impact-site .event-meta {
    color: #5f5f65;
    font-size: 12px;
    font-weight: 600;
}

.impact-site .opponents,
.impact-site .result-line {
    margin-top: 8px;
    font-size: 21px;
    font-weight: 800;
}

.impact-site .competitor,
.impact-site .competitor.winner {
    font-weight: 800;
}

.impact-site .is-completed .competitor:not(.winner) {
    color: #55555a;
}

.impact-site .vs {
    color: #77777d;
}

.impact-site .player-rank {
    color: var(--impact-red);
}

body.impact-site .match-meta,
body.impact-site .feature-table-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

body.impact-site .next-round-trigger {
    position: relative;
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 20px;
    height: 16px;
    min-height: 16px;
    padding: 2px;
    border: 0;
    border-radius: 3px;
    background: #8a8a92;
    color: var(--impact-white);
    opacity: 1;
    cursor: pointer;
}

body.impact-site .next-round-trigger::before {
    content: "";
    position: absolute;
    inset: -8px;
}

body.impact-site .next-round-trigger::after {
    content: attr(aria-label);
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    z-index: 2;
    padding: 4px 7px;
    border-radius: 3px;
    background: #171719;
    color: #fff;
    font: 11px/1.4 var(--impact-ui);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
}

body.impact-site .next-round-trigger:hover::after,
body.impact-site .next-round-trigger:focus-visible::after {
    opacity: 1;
}

body.impact-site .next-round-trigger:hover,
body.impact-site .next-round-trigger:focus-visible,
body.impact-site .next-round-trigger[aria-expanded="true"] {
    color: var(--impact-white);
    background: var(--impact-red-dark);
    opacity: 1;
}

body.impact-site .next-round-trigger:focus-visible,
body.impact-site .next-round-popover button:focus-visible {
    outline: 2px solid var(--impact-red);
    outline-offset: 3px;
}

body.impact-site .featured.is-live .next-round-trigger {
    background: #861b2b;
    color: #fff;
}

body.impact-site .featured.is-live .next-round-trigger:hover,
body.impact-site .featured.is-live .next-round-trigger:focus-visible,
body.impact-site .featured.is-live .next-round-trigger[aria-expanded="true"] {
    background: #fff;
    color: #861b2b;
}

body.impact-site .featured.is-live .next-round-trigger:focus-visible {
    outline-color: #fff;
}

body.impact-site .home-featured-grid {
    position: relative;
}

body.impact-site .home-featured-grid .home-featured-exit {
    position: absolute;
    z-index: 2;
    box-sizing: border-box;
    margin: 0;
    pointer-events: none;
}

body.impact-site .match-meta-icon {
    display: block;
    flex: none;
    width: 12px;
    height: 12px;
    stroke-width: 2.5;
}

body.impact-site .next-round-popover {
    position: fixed;
    inset: auto;
    box-sizing: border-box;
    width: min(740px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    overscroll-behavior: contain;
    margin: 0;
    padding: 24px;
    border: 1px solid #d9d9dd;
    border-top: 3px solid var(--impact-ink);
    border-radius: 0;
    background: var(--impact-draw-surface);
    color: var(--impact-ink);
    box-shadow: 0 12px 32px #0002;
    font-family: var(--impact-ui);
    text-align: left;
}
body.impact-site .next-round-heading {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: -24px -24px 0;
    padding: 24px;
    background: var(--impact-draw-surface);
}
body.impact-site .next-round-heading-copy { flex: 1; min-width: 0; }
body.impact-site .next-round-heading-copy > strong {
    display: block;
    margin-top: 7px;
    font: italic 800 34px/1 var(--impact-display);
    text-transform: uppercase;
}
body.impact-site .next-round-tournament {
    display: block;
    color: var(--impact-red);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.4;
}
body.impact-site .bracket-subtitle {
    margin: 9px 0 0;
    font-size: 12px;
    line-height: 1.5;
    color: #606068;
}
body.impact-site .next-round-close,
body.impact-site .bracket-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    box-sizing: border-box;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #cfcfd4;
    border-radius: 0;
    background: #fff;
    color: var(--impact-ink);
    font: 650 11px/1.3 var(--impact-ui);
    cursor: pointer;
}
body.impact-site .next-round-close {
    flex: none;
    width: 44px;
    padding: 0;
    font-size: 26px;
}
body.impact-site .next-round-complete-draw {
    flex: none;
    max-width: 150px;
}
@media (max-width: 520px) {
    body.impact-site .next-round-heading {
        flex-wrap: wrap;
        gap: 8px;
    }
    body.impact-site .next-round-heading-copy {
        flex-basis: 100%;
        order: 1;
    }
    body.impact-site .next-round-complete-draw {
        margin-left: auto;
    }
}
body.impact-site .bracket-action:hover:not(:disabled),
body.impact-site .next-round-close:hover {
    border-color: var(--impact-red);
    background: #fff6f7;
    color: var(--impact-red);
}
body.impact-site .bracket-action:disabled { color: #74747c; cursor: default; background: #f7f7f8; }

body.impact-site .bracket-concealed-action > svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.impact-site .bracket-viewport { overflow-x: auto; overscroll-behavior-x: contain; padding: 18px 12px 20px; border-top: 3px solid var(--impact-ink); background: var(--impact-draw-surface); }
body.impact-site .bracket-content { min-width: 530px; }
body.impact-site .is-expanded .bracket-content { min-width: 808px; }
body.impact-site .is-terminal .bracket-content { min-width: 0; }
body.impact-site .bracket-viewport:focus-visible,
body.impact-site .bracket-match:focus-visible { outline: 2px solid var(--impact-red); outline-offset: -2px; }
body.impact-site .bracket-headings,
body.impact-site .bracket-board {
    display: grid;
    grid-template-columns: repeat(2, 252px);
    column-gap: 26px;
}
body.impact-site .is-expanded .bracket-headings,
body.impact-site .is-expanded .bracket-board { grid-template-columns: repeat(3, 252px); }
body.impact-site .is-terminal .bracket-headings,
body.impact-site .is-terminal .bracket-board { grid-template-columns: 252px; }
body.impact-site .bracket-round-heading {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #b5b6bd;
    color: #34343b;
    font: 800 11px/1.4 var(--impact-ui);
    text-transform: uppercase;
    letter-spacing: .1em;
}
body.impact-site .bracket-board { position: relative; isolation: isolate; }
body.impact-site .bracket-column { position: relative; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
body.impact-site .bracket-column:not(:nth-of-type(1)) > .bracket-match { position: absolute; width: 100%; }
body.impact-site .bracket-match {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--impact-draw-card-border);
    border-radius: 0;
    background: #fff;
}
body.impact-site .bracket-match.is-selected {
    border-color: var(--impact-red);
    box-shadow: none;
}
body.impact-site .bracket-select {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: transparent;
    cursor: pointer;
}
body.impact-site .bracket-select:hover { box-shadow: inset 0 0 0 1px var(--impact-red); }
body.impact-site .bracket-select:focus-visible { outline: 2px solid var(--impact-red); outline-offset: -3px; }
body.impact-site .bracket-select[aria-pressed="true"] { cursor: default; }
body.impact-site .bracket-match-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    box-sizing: border-box;
    padding: 5px 10px;
    background: #f4f4f6;
    color: #73737b;
    font-size: 10px;
    line-height: 1.4;
}
body.impact-site .is-selected .bracket-match-meta { background: #fff0f2; color: var(--impact-red); font-weight: 700; }
body.impact-site .bracket-match-meta time { margin-left: auto; }
body.impact-site .bracket-match-meta svg { width: 13px; height: 13px; }
body.impact-site .bracket-player {
    display: flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    min-height: 37px;
    padding: 9px 10px;
    font-size: 12px;
    line-height: 1.45;
}
body.impact-site .bracket-player + .bracket-player { border-top: 1px solid #ededf0; }
body.impact-site .bracket-match:not(.is-future):not(.is-concealed),
body.impact-site .bracket-match.is-revealed {
    display: grid;
    grid-template-rows: auto repeat(2, minmax(37px, 1fr));
    min-height: 104px;
}
body.impact-site .bracket-player.is-confirmed-winner {
    background: #f7f7f8;
    box-shadow: inset 2px 0 var(--impact-ink);
}
body.impact-site .bracket-player-name { flex: 1; min-width: 0; overflow-wrap: anywhere; font-weight: 700; }
body.impact-site .bracket-player .flag { flex: none; width: 21px; height: 15px; object-fit: cover; }
body.impact-site .bracket-player .flags { display: flex; flex-wrap: wrap; flex: none; gap: 3px; max-width: 46px; }
body.impact-site .bracket-rank { color: var(--impact-red); font-size: 10px; flex: none; }
body.impact-site .bracket-placeholder-name { color: #8a8a91; font-size: 11px; font-weight: 500; }
body.impact-site .bracket-match.is-future { min-height: 132px; }
body.impact-site .bracket-concealed { position: relative; min-height: 104px; display: grid; place-items: center; }
body.impact-site .bracket-blurred-placeholders { position: absolute; inset: 12px; filter: blur(5px); opacity: .55; pointer-events: none; }
body.impact-site .bracket-skeleton-row { display: flex; align-items: center; gap: 12px; height: 37px; }
body.impact-site .bracket-skeleton-row + .bracket-skeleton-row { border-top: 1px solid #ddd; }
body.impact-site .bracket-skeleton-flag { width: 23px; height: 17px; background: #d7d7dc; border-radius: 3px; }
body.impact-site .bracket-skeleton-name { width: 65%; height: 12px; background: #d7d7dc; border-radius: 3px; }
body.impact-site .bracket-concealed-action { position: relative; display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 12px; color: #6c6c75; text-align: center; }
body.impact-site .bracket-note { margin: 0; color: #818189; font-size: 10px; line-height: 1.5; }
body.impact-site .bracket-match > .bracket-note { padding: 0 10px 8px; }
body.impact-site .bracket-connectors { position: absolute; inset: 0; z-index: 0; overflow: visible; pointer-events: none; }
body.impact-site .bracket-line { fill: none; stroke: var(--impact-draw-wire); stroke-width: 1.2; stroke-linejoin: round; }
body.impact-site .bracket-line.is-selected-path { stroke: var(--impact-draw-wire); stroke-width: 1.2; }
@media (max-width: 600px) {
    body.impact-site .next-round-popover { padding: 18px 14px; }
    body.impact-site .next-round-heading { margin: -18px -14px 0; padding: 18px 14px; }
    body.impact-site .next-round-heading-copy > strong { font-size: 30px; }
}

body.impact-site .feature-metadata {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 16px;
    padding: 11px 18px 0;
}

body.impact-site .feature-metadata .feature-competition {
    padding: 0;
    color: #66666c;
    font: 750 12px/1.4 var(--impact-ui);
}

body.impact-site .featured.is-live .feature-metadata .feature-competition {
    color: var(--impact-white);
}

body.impact-site .featured .feature-small-meta {
    color: #5f5f65;
    font: 500 11px/1.4 var(--impact-ui);
}

body.impact-site .featured.is-live .feature-small-meta {
    color: var(--impact-white);
}

body.impact-site .feature-round {
    margin-left: auto;
}

body.impact-site .feature-bottom-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.impact-site .feature-table-meta {
    margin-left: auto;
}

@media (max-width: 480px) {
    body.impact-site .feature-round {
        width: 100%;
        margin-left: 0;
    }
}

.impact-site .match-meta,
.impact-site .set-scores {
    color: #6a6a70;
    font-size: 12px;
}

.impact-site .featured {
    max-width: none;
    margin: 0;
    color: var(--impact-ink);
    background: radial-gradient(rgba(23, 23, 25, 0.1) 1px, transparent 1px) 0 0 / 5px 5px,
    linear-gradient(120deg, var(--impact-white) 52%, #dedee1 52%);
    border: 0;
    border-bottom: 5px solid var(--impact-ink);
    border-radius: 0;
    box-shadow: none;
}

.impact-site .featured::before {
    display: none;
}

.impact-site .is-live .featured,
.impact-site .is-live .featured.is-semifinal,
.impact-site .is-live .featured.is-final {
    color: var(--impact-white);
    background: var(--impact-halftone),
    linear-gradient(120deg, var(--impact-red) 52%, var(--impact-red-dark) 52%);
    border-bottom-color: var(--impact-red);
    box-shadow: none;
}

.impact-site .feature-head {
    min-height: 42px;
    align-items: center;
    padding: 10px 17px;
    color: var(--impact-white);
    background: var(--impact-ink);
}

.impact-site .feature-head .series {
    color: #ff7883;
}

.impact-site .feature-head .event-meta {
    color: #dedee2;
}

.impact-site .duel {
    grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 20px 15px;
}

.impact-site .duel-player {
    min-height: 175px;
    grid-template-columns: 138px minmax(0, 1fr);
    gap: 12px;
}

.impact-site .duel-player.right {
    grid-template-columns: minmax(0, 1fr) 138px;
}

.impact-site .duel-art {
    height: 180px;
    color: #9a9a9f;
    filter: grayscale(1) contrast(1.1) drop-shadow(0 12px 16px rgba(0, 0, 0, 0.12));
}

.impact-site .duel-art img,
.impact-site .duel-art .player-silhouette {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.impact-site .duel-copy {
    padding-bottom: 15px;
}

.impact-site .duel-copy > strong {
    font-family: var(--impact-display);
    font-size: clamp(28px, 3vw, 38px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 0.88;
    text-transform: uppercase;
}

.impact-site .duel-copy > span {
    color: #4c4c51;
    font-size: 11px;
    font-weight: 750;
}

.impact-site .is-live .duel-copy > span {
    color: var(--impact-white);
}

.impact-site .duel-center {
    min-height: 172px;
}

.impact-site .duel-center::before {
    background: linear-gradient(180deg, transparent, rgba(23, 23, 25, 0.3) 25%, rgba(23, 23, 25, 0.3) 75%, transparent);
}

.impact-site .is-live .duel-center::before {
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.55) 25%, rgba(255, 255, 255, 0.55) 75%, transparent);
}

.impact-site .duel-center strong {
    color: var(--impact-ink);
    background: transparent;
    font-family: var(--impact-display);
    font-size: 42px;
    font-style: italic;
    font-weight: 900;
}

.impact-site .is-live .duel-center strong {
    color: var(--impact-white);
}

.impact-site .duel-round {
    color: var(--impact-white);
    background: var(--impact-ink);
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.impact-site .is-live .duel-round {
    color: var(--impact-ink);
    background: var(--impact-white);
}

.impact-site .feature-foot {
    margin: 0 20px;
    color: #5f5f65;
    border-top-color: rgba(23, 23, 25, 0.24);
}

.impact-site .is-live .feature-foot {
    color: var(--impact-white);
    border-top-color: rgba(255, 255, 255, 0.4);
}

.impact-site .tbd-badge {
    color: var(--impact-red);
    border-color: var(--impact-red);
    border-radius: 0;
}

.impact-site .upcoming-events {
    margin-top: 52px;
    padding: 0;
    border: 0;
    scroll-margin-top: 20px;
}

.impact-site .upcoming-events-head {
    padding-bottom: 14px;
}

.impact-site .upcoming-events-title,
.impact-site .impact-section-heading h2 {
    margin: 0;
    padding-left: 14px;
    border-left: 7px solid var(--impact-red);
    color: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: clamp(34px, 4vw, 48px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 0.84;
    text-transform: uppercase;
}

.impact-site .upcoming-events-grid {
    display: flex;
    gap: 0;
    margin-top: 0;
    overflow-x: auto;
    color: var(--impact-white);
    background: var(--impact-red);
    border: 0;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
    scrollbar-width: thin;
}

.impact-site .upcoming-event-card {
    min-width: min(290px, 82vw);
    grid-template-columns: 1fr;
    align-content: start;
    gap: 12px;
    min-height: 180px;
    padding: 23px 24px 31px;
    color: var(--impact-white);
    background: transparent !important;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
}

.impact-site .upcoming-event-date {
    color: var(--impact-white);
    font-family: var(--impact-display);
    font-size: 31px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.impact-site .upcoming-event-name {
    color: var(--impact-white);
    font-size: 15px;
    font-weight: 850;
}

.impact-site a.upcoming-event-name:hover {
    color: var(--impact-white);
}

.impact-site .upcoming-event-facts,
.impact-site .upcoming-event-countdown {
    color: rgba(255, 255, 255, 0.86);
    font-size: 12px;
}

.impact-site .upcoming-event-countdown {
    text-align: left;
}

.impact-site .guides-updates {
    margin-top: 54px;
    scroll-margin-top: 20px;
}

.impact-site .impact-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 18px;
    border-bottom: 3px solid var(--impact-ink);
}

.impact-site .impact-eyebrow {
    display: block;
    margin: 0 0 8px 21px;
    color: var(--impact-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.impact-site .news-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    padding-top: 0px;
}

.impact-site .news-story {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0;
    color: var(--impact-ink);
    border: 0;
    background: var(--impact-white);
    font-family: var(--impact-ui);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.impact-site .news-story:hover {
    color: var(--impact-ink);
    background: var(--impact-white);
    text-decoration: none;
}

.impact-site .news-story-art {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 284 / 190;
    margin-bottom: 17px;
    overflow: hidden;
    background: var(--impact-red);
    clip-path: polygon(0 0, 100% 0, 100% 88%, 92% 100%, 0 100%);
}

.impact-site .news-story-art::before {
    position: absolute;
    inset: 0;
    background: var(--impact-halftone);
    content: "";
}

.impact-site .news-story-art-ranking {
    background: var(--impact-ink);
}

.impact-site .news-story-art-calendar {
    background: repeating-linear-gradient(125deg, #d6d6da 0 17px, #e9e9eb 17px 34px);
}

.impact-site .news-story-art-calendar::before {
    display: none;
}

.impact-site .news-story-art-word {
    position: absolute;
    z-index: 1;
    top: 38px;
    left: 12px;
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--impact-display);
    font-size: clamp(74px, 8vw, 110px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.8;
}

.impact-site .news-story-art-calendar .news-story-art-word {
    color: var(--impact-red);
}

.impact-site .news-story-art-racket {
    position: absolute;
    right: 18px;
    bottom: -10px;
    width: 125px;
    height: 170px;
    background: var(--impact-white);
    -webkit-mask: url("47-pingpongtimes-racket-red-ball.svg") center / contain no-repeat;
    mask: url("47-pingpongtimes-racket-red-ball.svg") center / contain no-repeat;
    opacity: 0.9;
    transform: rotate(-14deg);
}

.impact-site .news-story-art-calendar .news-story-art-racket {
    background: var(--impact-ink);
}

.impact-site .news-story-category {
    display: block;
    margin-bottom: 7px;
    color: var(--impact-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.impact-site .news-story > .news-story-category,
.impact-site .news-story > strong,
.impact-site .news-story-summary {
    margin-right: 16px;
    margin-left: 16px;
}

.impact-site .news-story strong {
    display: block;
    max-width: 100%;
    font-family: var(--impact-display);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.05;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.impact-site .news-story-summary {
    display: block;
    max-width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
    color: #616166;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.impact-site .news-story-read {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: auto 16px 0;
    padding: 11px 0 14px;
    align-self: stretch;
    color: var(--impact-ink);
    border-top: 2px solid var(--impact-ink);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.065em;
    text-transform: uppercase;
}

.impact-site .news-story:hover .news-story-read {
    color: var(--impact-red);
    border-color: var(--impact-red);
}

.impact-site .site-footer {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 22px;
    margin-top: 54px;
    padding-top: 20px;
    color: #67676d;
    border-top: 5px solid var(--impact-ink);
    font-size: 11px;
}

.impact-site .site-footer .footer-support,
.impact-site .site-footer .footer-support:visited {
    padding: 11px 14px;
    color: var(--impact-white);
    background: var(--impact-red);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.impact-site .site-footer .footer-support:hover {
    color: var(--impact-white);
    background: var(--impact-red-dark);
    border-color: transparent;
    box-shadow: none;
}

.impact-site .footer-made {
    color: #606066;
}

.impact-site .footer-made-logo {
    color: var(--impact-ink);
}

.impact-site .footer-links {
    gap: 16px;
}

.impact-site .site-footer a {
    color: var(--impact-ink);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.impact-site .site-footer .footer-news-link {
    color: var(--impact-red);
}

@media (max-width: 1260px) {
    .impact-site .page-shell {
        width: auto;
        margin: 0 32px;
    }
}

@media (max-width: 940px) {
    .impact-site .site-header {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .impact-site .utilities {
        justify-content: flex-start;
    }

    .impact-site .news-story strong {
        font-size: 29px;
    }

    .impact-site .duel-player {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .impact-site .duel-player.right {
        grid-template-columns: minmax(0, 1fr) 112px;
    }

    .impact-site .duel-art {
        height: 154px;
    }
}

@media (max-width: 760px) {
    .impact-site .page-shell {
        margin: 0 18px;
        padding-bottom: 38px;
    }

    .impact-site .site-header {
        padding: 22px 0 17px;
    }

    .impact-site .utilities {
        display: grid;
        grid-template-areas: "timezone time language";
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 8px;
        padding-top: 0;
        border-top: 0;
    }

    .impact-site .utilities .language-control {
        padding-left: 8px;
    }

    .impact-site .impact-main-nav {
        min-height: 48px;
    }

    .impact-site .impact-main-nav a {
        padding: 0 14px;
        font-size: 11px;
    }

    .impact-site .impact-main-nav a::after {
        right: 14px;
        left: 14px;
    }

    .impact-site .impact-main-nav .impact-main-nav-support {
        display: none;
    }

    .impact-site .rank-header {
        min-height: 56px;
        padding: 8px 12px;
    }

    .impact-site .rank-title {
        font-size: 22px;
    }

    .impact-site .site-main {
        padding-top: 24px;
    }

    .impact-site .match-controls {
        margin-bottom: 26px;
    }

    .impact-site .control-row {
        min-height: 56px;
        gap: 14px;
        padding: 0 14px;
    }

    .impact-site .filter-zone,
    .impact-site .secondary-filter-zone {
        padding: 14px;
    }

    .impact-site .filter-selects {
        gap: 12px;
    }

    .impact-site .section-heading h1 {
        font-size: 44px;
    }

    .impact-site .section-heading p {
        margin-left: 21px;
    }

    .impact-site .t-item {
        grid-template-columns: 75px minmax(0, 1fr);
    }

    .impact-site .t-time {
        padding: 14px 10px;
    }

    .impact-site .t-time strong {
        font-size: 24px;
    }

    .impact-site .match {
        min-height: 88px;
        padding: 14px 14px 15px;
    }

    .impact-site .is-live .match {
        padding: 14px 14px 15px;
    }

    .impact-site .opponents,
    .impact-site .result-line {
        font-size: 18px;
    }

    .impact-site .duel {
        grid-template-columns: 1fr;
        gap: 5px;
        padding: 10px 14px 14px;
    }

    .impact-site .duel-player,
    .impact-site .duel-player.right {
        min-height: 112px;
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .impact-site .duel-player.right {
        grid-template-columns: minmax(0, 1fr) 104px;
    }

    .impact-site .duel-art {
        height: 116px;
    }

    .impact-site .duel-copy {
        padding-bottom: 9px;
    }

    .impact-site .duel-copy > strong {
        font-size: 29px;
    }

    .impact-site .duel-center {
        min-height: 38px;
        flex-direction: row;
        gap: 8px;
    }

    .impact-site .duel-center::before {
        top: 50%;
        right: 12%;
        bottom: auto;
        left: 12%;
        width: auto;
        height: 1px;
    }

    .impact-site .duel-center strong,
    .impact-site .duel-round {
        position: relative;
        z-index: 1;
    }

    .impact-site .duel-center strong {
        padding: 0 7px;
        background: var(--impact-white);
        font-size: 30px;
    }

    .impact-site .is-live .duel-center strong {
        background: var(--impact-red);
    }

    .impact-site .duel-round {
        margin-top: 0;
    }

    .impact-site .upcoming-events,
    .impact-site .guides-updates {
        margin-top: 42px;
    }

    .impact-site .news-story-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .impact-site .news-story strong {
        font-size: 28px;
    }

    .impact-site .site-footer {
        grid-template-columns: 1fr;
        grid-template-areas: "support" "links" "credit";
        justify-items: stretch;
        gap: 20px;
        margin-top: 42px;
        padding-top: 24px;
        border-top-width: 3px;
    }

    body.impact-site .site-footer .footer-support {
        grid-area: support;
        justify-self: stretch;
        justify-content: center;
        min-height: 48px;
        padding: 12px 16px;
        font-size: 12px;
    }

    body.impact-site .site-footer .footer-links {
        grid-area: links;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-self: stretch;
        gap: 8px;
    }

    body.impact-site .site-footer .footer-links > :is(button, a) {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-width: 0;
        min-height: 44px;
        padding: 10px 8px;
        border: 1px solid #d8d8dc;
        background: rgba(255, 255, 255, .45);
        text-align: center;
        line-height: 1.4;
    }

    body.impact-site .site-footer .footer-links > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    body.impact-site .site-footer .footer-links > :is(button, a):hover {
        color: var(--impact-red);
        border-color: var(--impact-red);
    }

    body.impact-site .site-footer .footer-links > :is(button, a):focus-visible {
        outline: 2px solid var(--impact-red);
        outline-offset: 3px;
    }

    body.impact-site .site-footer .footer-made {
        grid-area: credit;
        justify-self: stretch;
        justify-content: center;
        flex-wrap: wrap;
        padding-top: 16px;
        border-top: 1px solid #d8d8dc;
        white-space: normal;
        line-height: 1.6;
    }
}

@media (max-width: 480px) {
    .impact-site .page-shell {
        margin: 0 14px;
    }

    .impact-site .brand {
        grid-template-columns: 38px minmax(0, 1fr);
        column-gap: 10px;
    }

    .impact-site .mark {
        width: 38px;
        height: 38px;
    }

    .impact-site .brand-wordmark-en {
        height: 23px;
    }

    .impact-site .brand-wordmark-zh {
        height: 22px;
    }

    .impact-site .view-tabs {
        gap: 17px;
    }

    .impact-site .view-tab {
        font-size: 13px;
    }

    .impact-site .results-toggle {
        font-size: 10px;
    }

    .impact-site .section-heading h1 {
        font-size: 39px;
    }

    .impact-site .day-head h2 {
        font-size: 21px;
    }

    .impact-site .t-item {
        grid-template-columns: 65px minmax(0, 1fr);
    }

    .impact-site .t-time {
        padding-inline: 6px;
    }

    .impact-site .t-time strong {
        font-size: 21px;
    }

    .impact-site .match-top {
        gap: 4px 8px;
    }

    .impact-site .event-meta {
        font-size: 11px;
    }

    .impact-site .opponents,
    .impact-site .result-line {
        font-size: 17px;
    }

    .impact-site .feature-head {
        padding: 9px 12px;
    }

    .impact-site .duel-player,
    .impact-site .duel-player.right {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .impact-site .duel-player.right {
        grid-template-columns: minmax(0, 1fr) 82px;
    }

    .impact-site .duel-art {
        height: 100px;
    }

    .impact-site .duel-copy > strong {
        font-size: 26px;
    }

    .impact-site .impact-section-heading {
        align-items: start;
        flex-direction: column;
        gap: 15px;
    }

    .impact-site .impact-section-heading > div {
        min-width: 0;
    }

    .impact-site .impact-section-heading h2 {
        overflow-wrap: anywhere;
    }

    .impact-site .news-story-art-word {
        font-size: 86px;
    }

    .impact-site .news-story-art-racket {
        right: 10px;
        width: 110px;
    }

    .impact-site .upcoming-event-card {
        min-width: 84vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .impact-site .impact-main-nav a {
        transition: none;
    }
}

.impact-site .impact-main-nav button {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 0 18px;
    color: #d8d8db;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.065em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease;
}

.impact-site .impact-main-nav button::after {
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 18px;
    height: 4px;
    background: transparent;
    content: "";
}

.impact-site .impact-main-nav button:hover,
.impact-site .impact-main-nav button.selected {
    color: var(--impact-white);
    background: #29292d;
}

.impact-site .impact-main-nav button:hover::after,
.impact-site .impact-main-nav button:focus-visible::after,
.impact-site .impact-main-nav button.selected::after {
    background: var(--impact-red);
}

.impact-site .site-main {
    padding-top: 0;
}

.impact-site .site-page {
    min-width: 0;
}

.impact-site .home-ticker {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 52px;
    color: var(--impact-ink);
    background: #e2e2e4;
}

.impact-site .home-ticker-label {
    display: flex;
    align-items: center;
    padding: 0 20px;
    color: var(--impact-white);
    background: var(--impact-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.impact-site .home-ticker-content {
    min-width: 0;
}

.impact-site .home-ticker-match {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(130px, auto) auto;
    width: 100%;
    min-height: 52px;
    align-items: center;
    gap: 20px;
    padding: 0 22px;
    color: var(--impact-ink);
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.impact-site .home-ticker-match:hover {
    background: #d8d8da;
}

.impact-site .home-ticker-match strong,
.impact-site .home-ticker-match b {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.impact-site .home-ticker-match strong {
    color: var(--impact-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.impact-site .home-ticker-match b {
    font-family: var(--impact-display);
    font-size: 22px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.015em;
    text-transform: uppercase;
}

.impact-site .home-ticker-match small {
    overflow: hidden;
    color: #5f5f64;
    font-size: 11px;
    font-weight: 700;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.impact-site .home-ticker-match > span {
    color: var(--impact-red);
    font-size: 18px;
    font-weight: 900;
}

.impact-site .home-ticker-empty {
    display: flex;
    min-height: 52px;
    align-items: center;
    padding: 0 22px;
    color: #66666b;
    font-size: 13px;
}

.impact-site .home-featured-section {
    margin-top: 34px;
}

.impact-site .home-section-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 7px 0 10px;
}

.impact-site .home-section-label > h1 {
    margin: 0;
    color: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: 24px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.impact-site .home-section-note {
    color: #68686d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: right;
    text-transform: uppercase;
}

.impact-site .home-featured-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.impact-site .home-featured-grid .featured {
    min-width: 0;
}

.impact-site .home-empty {
    margin: 0;
    padding: 22px;
    color: #6a6a70;
    background: var(--impact-white);
    border-bottom: 3px solid var(--impact-ink);
    font-size: 14px;
}

.impact-site .home-matchday-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.85fr);
    gap: 30px;
    margin-top: 34px;
}

.impact-site .home-schedule {
    min-width: 0;
}

.impact-site .home-schedule-list .t-item {
    grid-template-columns: 92px minmax(0, 1fr);
}

.impact-site .home-schedule-list .t-item:nth-child(even):not(.is-live):not(:has(.featured)) .match {
    background: var(--impact-neutral-200);
}

.impact-site .home-schedule-list .t-time {
    padding: 14px 13px;
}

.impact-site .home-schedule-list .t-time strong {
    font-size: 24px;
}

.impact-site .home-schedule-list .match {
    min-height: 84px;
    padding: 14px 17px 13px;
}

.impact-site .home-schedule-list .opponents,
.impact-site .home-schedule-list .result-line {
    font-size: 18px;
}

.impact-site .home-destination-link,
.impact-site .home-ranking-link,
.impact-site .impact-contact {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 16px 20px;
    color: var(--impact-white);
    border: 0;
    background: var(--impact-red);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.impact-site .home-destination-link:hover,
.impact-site .home-ranking-link:hover,
.impact-site .impact-contact:hover {
    color: var(--impact-white);
    background: var(--impact-ink);
    text-decoration: none;
}

.impact-site .home-schedule .home-destination-link {
    width: 100%;
}

.impact-site .home-ranking {
    min-width: 0;
    padding: 22px;
    background: var(--impact-white);
    border-top: 9px solid var(--impact-red);
}

.impact-site .home-ranking-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--impact-ink);
}

.impact-site .home-ranking .impact-eyebrow {
    margin-left: 0;
}

.impact-site .home-ranking h2 {
    margin: 0;
    color: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: 36px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 0.85;
    text-transform: uppercase;
}

.impact-site .ranking-gender-switch {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    border: 1px solid #b9b9bd;
}

.impact-site .ranking-gender-switch button {
    min-width: 55px;
    padding: 8px 10px;
    color: #66666b;
    border: 0;
    background: transparent;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
}

.impact-site .ranking-gender-switch button.active {
    color: var(--impact-white);
    background: var(--impact-ink);
}

.impact-site .home-ranking-list {
    display: grid;
}

.impact-site .home-ranking-person {
    display: grid;
    grid-template-columns: 48px 62px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 78px;
    border-bottom: 1px solid #d8d8db;
}

.impact-site .home-ranking-place {
    color: var(--impact-red);
    font-family: var(--impact-display);
    font-size: 40px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.impact-site .home-ranking-art {
    align-self: stretch;
    overflow: hidden;
    background: radial-gradient(rgba(210, 39, 54, 0.16) 1px, transparent 1px) 0 0 / 4px 4px;
}

.impact-site .home-ranking-art img,
.impact-site .home-ranking-art .player-silhouette {
    display: block;
    width: 100%;
    height: 72px;
    object-fit: contain;
    object-position: center bottom;
    filter: grayscale(1) contrast(1.1);
}

.impact-site .home-ranking-copy {
    min-width: 0;
}

.impact-site .home-ranking-copy strong {
    display: block;
    overflow: hidden;
    color: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: 20px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 0.95;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.impact-site .home-ranking-copy > span,
.impact-site .home-ranking-points {
    color: #66666b;
    font-size: 10px;
    font-weight: 700;
}

.impact-site .home-ranking-copy .country-with-flag {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 4px;
}

.impact-site .home-ranking-copy .country-with-flag img {
    width: 14px;
}

.impact-site .home-ranking-points {
    text-align: right;
    white-space: nowrap;
}

.impact-site .home-ranking-link {
    width: 100%;
    margin-top: 20px;
    background: var(--impact-ink);
}

.impact-site .home-ranking-link:hover {
    background: var(--impact-red);
}

.impact-site .matches-page .impact-page-intro {
    margin-bottom: 22px;
}

.impact-site .impact-page-intro {
    position: relative;
    margin-top: 34px;
    padding: 32px 36px;
    overflow: hidden;
    color: var(--impact-white);
    background: var(--impact-ink);
}

.impact-site .impact-page-intro::after {
    position: absolute;
    inset: 0;
    background: var(--impact-halftone);
    content: "";
    pointer-events: none;
}

.impact-site .impact-page-intro > * {
    position: relative;
    z-index: 1;
}

.impact-site .impact-page-intro .impact-eyebrow {
    margin-left: 0;
    color: #ff5a68;
}

.impact-site .impact-page-intro h1 {
    margin: 20px 0 16px;
    color: inherit;
    font-family: var(--impact-display);
    font-size: clamp(68px, 8vw, 92px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.75;
    text-transform: uppercase;
}

.impact-site .impact-page-intro > p {
    max-width: 560px;
    margin: 0;
    color: #d0d0d4;
    font-size: 16px;
    line-height: 1.55;
}

.impact-site .matches-page .match-controls {
    margin-top: 0;
}

.impact-site .ranking-intro {
    padding-bottom: 34px;
}

.impact-site .rank-hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}

.impact-site .rank-hero-player {
    position: relative;
    height: 245px;
    overflow: hidden;
    background: #29292d;
    border-bottom: 6px solid var(--impact-red);
}

.impact-site .rank-hero-player.rank-1 {
    grid-column: 2;
    grid-row: 1;
    background: var(--impact-red);
}

.impact-site .rank-hero-player.rank-2 {
    grid-column: 1;
    grid-row: 1;
}

.impact-site .rank-hero-player.rank-3 {
    grid-column: 3;
    grid-row: 1;
}

.impact-site .rank-hero-player > b {
    position: absolute;
    top: 0;
    left: 10px;
    color: rgba(255, 255, 255, 0.07);
    font-family: var(--impact-display);
    font-size: 112px;
    font-style: italic;
    font-weight: 900;
    line-height: 0.9;
}

.impact-site .rank-hero-art {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 70%;
    height: 225px;
    object-fit: contain;
    object-position: right bottom;
    filter: grayscale(1) contrast(1.12);
    z-index: 2;
}

.impact-site .rank-hero-art.player-silhouette {
    color: rgba(255, 255, 255, 0.45);
}

.impact-site .rank-hero-player > div {
    position: absolute;
    z-index: 1;
    bottom: 16px;
    left: 18px;
    max-width: 62%;
}

.impact-site .rank-hero-player strong {
    display: block;
    font-family: var(--impact-display);
    font-size: 25px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 0.95;
    text-transform: uppercase;
}

.impact-site .rank-hero-player strong + span {
    display: block;
    margin-top: 7px;
    color: #e2e2e5;
    font-size: 11px;
    font-weight: 700;
}

.impact-site .rank-hero-player .country-with-flag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.impact-site .rank-hero-player .country-with-flag img {
    width: 15px;
}

.impact-site .player-portrait.is-loading {
    background: linear-gradient(110deg, rgba(255, 255, 255, 0.08) 20%, rgba(255, 255, 255, 0.34) 40%, rgba(255, 255, 255, 0.08) 60%);
    background-size: 220% 100%;
    animation: impact-portrait-loading 1.2s ease-in-out infinite;
}

.impact-site .player-portrait.is-loaded {
    animation: none;
}

@keyframes impact-portrait-loading {
    from {
        background-position: 180% 0;
    }
    to {
        background-position: -40% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .impact-site .player-portrait.is-loading {
        animation: none;
    }
}

.impact-site .rankings-page-controls {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 22px;
    padding: 18px;
    background: var(--impact-white);
    border-top: 5px solid var(--impact-red);
}

.impact-site .ranking-search-field {
    flex: 1 1 270px;
}

.impact-site .ranking-search-field input {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    color: var(--impact-ink);
    border: 1px solid #bcbcc0;
    border-radius: 0;
    background: var(--impact-white);
    font: inherit;
    font-size: 13px;
}

.impact-site .rankings-updated {
    flex: 0 1 260px;
    color: #69696e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.impact-site .ranking-table-wrap {
    margin-top: 22px;
    overflow-x: auto;
    background: var(--impact-white);
    border-top: 4px solid var(--impact-ink);
}

.impact-site .ranking-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
}

.impact-site .ranking-table th {
    padding: 13px 18px;
    color: var(--impact-white);
    background: var(--impact-ink);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
}

.impact-site .ranking-table th:last-child,
.impact-site .ranking-table .ranking-table-points {
    text-align: right;
}

.impact-site .ranking-table td {
    padding: 9px 18px;
    border-bottom: 1px solid #d7d7da;
    font-size: 13px;
    font-weight: 650;
}

.impact-site .ranking-table tbody tr:nth-child(even) {
    background: var(--impact-neutral-200);
}

.impact-site .ranking-table-rank {
    width: 86px;
    color: var(--impact-red);
    font-family: var(--impact-display);
    font-size: 32px !important;
    font-style: italic;
    font-weight: 900 !important;
    letter-spacing: -0.04em;
}

.impact-site .ranking-table-player {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 260px;
}

.impact-site .ranking-table-art {
    display: block;
    width: 58px;
    height: 63px;
    overflow: hidden;
    background: radial-gradient(rgba(210, 39, 54, 0.16) 1px, transparent 1px) 0 0 / 4px 4px;
}

.impact-site .ranking-table-art img,
.impact-site .ranking-table-art .player-silhouette {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: grayscale(1) contrast(1.1);
}

.impact-site .ranking-table-player strong {
    font-family: var(--impact-display);
    font-size: 22px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.impact-site .ranking-table td.country-with-flag {
    display: table-cell;
}

.impact-site .ranking-table td.country-with-flag img {
    width: 18px;
    margin-right: 7px;
    vertical-align: -2px;
}

.impact-site .ranking-table-empty {
    padding: 26px !important;
    color: #66666c;
    text-align: center;
}

.impact-site .news-page-intro {
    background: var(--impact-red);
}

.impact-site .news-page-intro .impact-eyebrow,
.impact-site .news-page-intro > p {
    color: var(--impact-white);
}

.impact-site .news-archive {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}

.impact-site .archive-story {
    display: grid;
    grid-template-columns: 76px 210px minmax(0, 1fr) 42px;
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    color: var(--impact-ink);
    border: 0;
    background: var(--impact-white);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
    text-align: left;
    cursor: pointer;
}

.impact-site .archive-story:hover {
    color: var(--impact-ink);
    background: #eeeeef;
}

.impact-site .archive-date {
    padding: 22px 12px;
    color: var(--impact-white);
    background: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.45;
    text-transform: uppercase;
}

.impact-site .archive-story-art {
    position: relative;
    display: flex;
    min-height: 180px;
    align-items: flex-start;
    padding: 37px 8px 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.3);
    background: var(--impact-red);
    font-family: var(--impact-display);
    font-size: 76px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.8;
}

.impact-site .archive-story-art::after {
    position: absolute;
    inset: 0;
    background: var(--impact-halftone);
    content: "";
}

.impact-site .archive-story-art-ranking {
    background: var(--impact-ink);
}

.impact-site .archive-story-art-calendar {
    color: var(--impact-red);
    background: repeating-linear-gradient(125deg, #d9d9dc 0 17px, #e9e9eb 17px 34px);
}

.impact-site .archive-story-art-calendar::after {
    display: none;
}

.impact-site .archive-copy {
    display: block;
    min-width: 0;
    padding: 24px 18px;
}

.impact-site .archive-copy > strong {
    display: block;
    margin: 8px 0;
    font-family: var(--impact-display);
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 0.98;
    text-transform: uppercase;
}

.impact-site .archive-copy > span:not(.news-story-category) {
    display: block;
    color: #626267;
    font-size: 15px;
    line-height: 1.5;
}

.impact-site .archive-copy small {
    display: block;
    margin-top: 12px;
    color: #66666b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.impact-site .archive-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--impact-red);
    font-size: 24px;
    font-weight: 900;
}

.impact-site .impact-about {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 34px;
    background: var(--impact-white);
}

.impact-site .about-copy {
    padding: 42px;
    color: var(--impact-white);
    background: var(--impact-ink);
}

.impact-site .about-copy .impact-eyebrow {
    margin-left: 0;
    color: #ff5968;
}

.impact-site .about-copy h1 {
    max-width: 500px;
    margin: 26px 0;
    color: var(--impact-white);
    font-family: var(--impact-display);
    font-size: clamp(64px, 7vw, 84px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.77;
    text-transform: uppercase;
}

.impact-site .about-copy .intro {
    color: var(--impact-white);
    font-size: 22px;
    line-height: 1.45;
}

.impact-site .about-copy p:not(.intro) {
    margin: 20px 0;
    color: #ccccd0;
    font-size: 15px;
    line-height: 1.72;
}

.impact-site .about-poster {
    position: relative;
    min-height: 660px;
    overflow: hidden;
    background: var(--impact-halftone), var(--impact-red);
}

.impact-site .about-poster-player-name {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: -.22em;
    width: max-content;
    min-width: 100%;
    color: var(--impact-white);
    font-family: var(--impact-display);
    font-size: clamp(38px, 5.2vw, 66px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: .86;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    transform: translateY(-50%);
}

.impact-site .about-poster-player {
    position: absolute;
    z-index: 2;
    right: -20%;
    bottom: 0;
    display: block;
    width: 140%;
    aspect-ratio: 1;
    transform: translateY(28%);
}

.impact-site .about-poster-player img,
.impact-site .about-poster-player .player-silhouette {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: rgba(255, 255, 255, 0.55);
    object-fit: contain;
    object-position: right bottom;
    filter: grayscale(1) contrast(1.1);
}

.impact-site .about-credit {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 28px;
    padding: 25px 30px;
    background: var(--impact-neutral-200);
    border-bottom: 5px solid var(--impact-red);
}

.impact-site .about-credit .impact-eyebrow {
    margin: 0;
}

.impact-site .about-credit img {
    width: 150px;
    height: auto;
    max-width: 45%;
}

.impact-site .about-credit p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.impact-site .about-credit small {
    max-width: 270px;
    margin-left: auto;
    color: #77777d;
    font-size: 11px;
    line-height: 1.45;
}

.impact-site .footer-links {
    flex-wrap: wrap;
}

.impact-site .footer-links button {
    padding: 0;
    color: var(--impact-ink);
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.impact-site .footer-links button:hover,
.impact-site .footer-links button.selected {
    color: var(--impact-red);
}

.impact-site .footer-links .footer-news-link {
    color: var(--impact-red);
}

@media (max-width: 800px) {
    .impact-site .impact-main-nav button {
        padding: 0 14px;
        font-size: 11px;
    }

    .impact-site .impact-main-nav button::after {
        right: 14px;
        left: 14px;
    }

    .impact-site .home-ticker-match {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 12px;
        padding: 0 16px;
    }

    .impact-site .home-ticker-match small {
        display: none;
    }

    .impact-site .home-matchday-grid {
        grid-template-columns: 1fr;
    }

    .impact-site .rank-hero {
        grid-template-columns: 1fr;
    }

    .impact-site .rank-hero-player.rank-1,
    .impact-site .rank-hero-player.rank-2,
    .impact-site .rank-hero-player.rank-3 {
        grid-column: auto;
        grid-row: auto;
    }

    .impact-site .rank-hero-player.rank-1 {
        order: -1;
    }

    .impact-site .rankings-page-controls {
        flex-wrap: wrap;
    }

    .impact-site .ranking-search-field {
        order: 3;
        flex-basis: 100%;
    }

    .impact-site .rankings-updated {
        margin-left: auto;
    }

    .impact-site .archive-story {
        grid-template-columns: 62px 160px minmax(0, 1fr) 28px;
    }

    .impact-site .impact-about {
        grid-template-columns: 1fr;
    }

    .impact-site .about-poster {
        min-height: 520px;
    }

    .impact-site .about-credit {
        flex-wrap: wrap;
    }

    .impact-site .about-credit small {
        margin-left: 0;
    }
}

@media (max-width: 560px) {
    .impact-site .home-ticker {
        grid-template-columns: 1fr;
    }

    .impact-site .home-ticker-label {
        min-height: 38px;
        justify-content: center;
    }

    .impact-site .home-ticker-match {
        min-height: 50px;
    }

    .impact-site .home-ticker-match b {
        font-size: 19px;
    }

    .impact-site .home-featured-grid {
        grid-template-columns: 1fr;
    }

    .impact-site .home-section-label {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .impact-site .home-section-note {
        text-align: left;
    }

    .impact-site .home-ranking {
        padding: 18px;
    }

    .impact-site .home-ranking-head {
        align-items: stretch;
        flex-direction: column;
    }

    .impact-site .ranking-gender-switch {
        align-self: flex-start;
    }

    .impact-site .home-ranking-person {
        grid-template-columns: 40px 54px minmax(0, 1fr);
    }

    .impact-site .home-ranking-points {
        display: none;
    }

    .impact-site .impact-page-intro {
        margin-top: 24px;
        padding: 26px 20px;
    }

    .impact-site .impact-page-intro h1 {
        font-size: 62px;
    }

    .impact-site .rank-hero-player {
        height: 190px;
    }

    .impact-site .rank-hero-art {
        height: 180px;
    }

    .impact-site .ranking-table td,
    .impact-site .ranking-table th {
        padding-right: 12px;
        padding-left: 12px;
    }

    .impact-site .archive-story {
        grid-template-columns: 54px minmax(0, 1fr) 24px;
    }

    .impact-site .archive-date {
        grid-row: 1 / 3;
    }

    .impact-site .archive-story-art {
        grid-column: 2;
        min-height: 145px;
    }

    .impact-site .archive-copy {
        grid-column: 2;
        padding: 18px 14px;
    }

    .impact-site .archive-arrow {
        grid-column: 3;
        grid-row: 1 / 3;
    }

    .impact-site .archive-copy > strong {
        font-size: 31px;
    }

    .impact-site .about-copy {
        padding: 30px 22px;
    }

    .impact-site .about-copy h1 {
        font-size: 62px;
    }

    .impact-site .about-poster {
        min-height: 430px;
    }

    .impact-site .about-credit {
        display: block;
    }

    .impact-site .about-credit img {
        display: block;
        margin: 15px 0;
    }

    .impact-site .about-credit p {
        margin-bottom: 12px;
    }
}

/* Keep the handoff rules authoritative over legacy responsive styles. */
body.impact-site .page-shell {
    width: min(calc(100% - 64px), 1220px);
    margin: 0 auto;
}

body.impact-site .site-header {
    padding: 26px 0 20px;
}

body.impact-site .brand {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 10px;
}

body.impact-site .matches-page .control-row {
    min-height: 0;
    padding: 0 18px;
    border-bottom: 1px solid #444449;
}

body.impact-site .matches-page .view-tabs {
    width: 100%;
    gap: 0;
}

body.impact-site .matches-page .view-tab {
    display: grid;
    min-width: 132px;
    min-height: 64px;
    align-content: center;
    justify-items: start;
    gap: 2px;
    padding: 10px 18px 9px;
    border-bottom: 3px solid transparent;
    text-align: left;
}

body.impact-site .matches-page .view-tab.active {
    border-bottom-color: var(--impact-red);
}

body.impact-site .matches-page .view-tab .count {
    color: #a9a9ae;
    font-size: 11px;
    font-weight: 650;
}

body.impact-site .matches-page .display-control-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 24px;
    padding: 10px 18px;
    border-bottom: 1px solid #444449;
}

body.impact-site .matches-page .match-control-actions {
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin-left: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

body.impact-site .matches-page .match-control-actions .visibility-control {
    min-width: 154px;
    justify-content: space-between;
    padding: 10px 12px;
    background: #242427;
    border: 1px solid #444449;
}

body.impact-site .matches-page .match-control-actions .visibility-control-copy {
    text-align: left;
}

@media (max-width: 520px) {
    body.impact-site .matches-page .control-row {
        padding: 0 12px;
    }

    body.impact-site .matches-page .view-tab {
        min-width: 0;
        flex: 1;
        padding-inline: 12px;
    }

    body.impact-site .matches-page .display-control-row {
        padding: 10px 12px;
    }

    body.impact-site .matches-page .match-control-actions {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 8px;
    }

    body.impact-site .matches-page .match-control-actions .visibility-control {
        min-width: 0;
        flex: 1 1 0;
    }
}

/* Final mobile home schedule layout overrides. */
body.impact-site .home-schedule-tabs {
    display: block;
    padding: 0;
}

body.impact-site .home-status-tabs {
    display: flex;
    min-height: 44px;
    padding: 0 12px;
    border-bottom: 1px solid #444449;
}

body.impact-site .home-status-tabs > button {
    display: grid;
    min-width: 132px;
    align-content: center;
    justify-items: start;
    gap: 2px;
    padding: 10px 14px 9px;
    border-bottom: 3px solid transparent;
    color: #9d9da3;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

body.impact-site .home-status-tabs > button.active {
    color: var(--impact-white);
    border-bottom-color: var(--impact-red);
}

body.impact-site .home-status-tabs small {
    color: #a9a9ae;
    font-size: 11px;
}

body.impact-site .home-ticker:has(.home-ticker-empty:not(.is-loading)) {
    min-height: 42px;
}

body.impact-site .home-ticker-label {
    display: flex;
    min-width: 88px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    background: var(--impact-red);
    color: var(--impact-white);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.impact-site .home-ticker {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    height: 52px;
    min-height: 52px;
}

body.impact-site .home-ticker-label {
    width: auto;
    padding-inline: 10px;
}

body.impact-site .home-ticker-content {
    min-width: 0;
    min-height: 42px;
    background: #dedee1;
}

body.impact-site .home-ticker-empty:not(.is-loading) {
    display: flex;
    min-height: 42px;
    align-items: center;
    padding: 0 14px;
    color: #66666b;
    font-size: 12px;
}

@media (max-width: 520px) {
    body.impact-site .home-status-tabs > button {
        min-width: 0;
        flex: 1;
    }
}

/* Final ticker geometry: keep the label and scrolling lane side by side. */
body.impact-site .home-ticker {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    height: 52px;
    min-height: 52px;
}

body.impact-site .home-ticker-label {
    width: auto;
    min-width: 0;
    padding-inline: 10px;
}

body.impact-site .home-schedule-tabs {
    display: block;
    padding: 0;
}

body.impact-site .home-status-tabs {
    display: flex;
    min-height: 44px;
    padding: 0 12px;
    border-bottom: 1px solid #444449;
}

body.impact-site .home-status-tabs > button {
    display: grid;
    min-width: 132px;
    align-content: center;
    justify-items: start;
    gap: 2px;
    padding: 10px 14px 9px;
    border-bottom: 3px solid transparent;
    text-align: left;
}

body.impact-site .home-status-tabs > button.active {
    border-bottom-color: var(--impact-red);
}

body.impact-site .home-status-tabs small {
    color: #a9a9ae;
    font-size: 11px;
}

body.impact-site .home-ticker:has(.home-ticker-empty:not(.is-loading)) {
    min-height: 42px;
}

@media (max-width: 520px) {
    body.impact-site .home-status-tabs > button {
        min-width: 0;
        flex: 1;
    }

}

body.impact-site .mark {
    width: 36px;
    height: 43px;
}

body.impact-site .brand-wordmark-en {
    width: 256px;
    max-width: 100%;
    height: auto;
}

body.impact-site .brand-tagline {
    font-size: 12px;
    font-weight: 500;
}

body.impact-site .utility-icon {
    display: none;
}

.navigation-toggle {
    display: none;
}

body.impact-site .site-footer {
    grid-template-columns: 1fr auto;
    grid-template-areas: "support credit" "links links";
    align-items: center;
    gap: 14px;
    padding-bottom: 18px;
}

body.impact-site .site-footer .footer-support {
    grid-area: support;
    justify-self: start;
}

body.impact-site .site-footer .footer-made {
    grid-area: credit;
    justify-self: end;
}

body.impact-site .site-footer .footer-links {
    grid-area: links;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 2px 20px;
}

body.impact-site .site-footer .footer-links > :is(button, a) {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    min-height: 32px;
    padding: 4px 0;
    border: 0;
    border-radius: 0;
    color: var(--impact-ink);
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.4;
    text-align: left;
    text-decoration: none;
    text-underline-offset: 3px;
    text-transform: none;
    transition: color .15s;
}

body.impact-site .site-footer .footer-links > :is(button, a):is(:hover, .selected, [aria-current="page"]) {
    color: var(--impact-red);
    text-decoration: underline;
}

body.impact-site .site-footer .footer-links > :is(button, a):focus-visible {
    outline: 2px solid var(--impact-red);
    outline-offset: 3px;
}

body.impact-site .site-footer .footer-link-icon {
    display: none;
}

@media (max-width: 940px) {
    body.impact-site.navigation-ready .site-header {
        grid-template-columns: minmax(0, 1fr) 44px;
        column-gap: 12px;
    }

    body.impact-site.navigation-ready .site-header .brand {
        min-width: 0;
        max-width: 100%;
    }

    body.impact-site.navigation-ready .site-header .brand-wordmark {
        min-width: 0;
        max-width: calc(100% - 48px);
        height: auto;
    }

    body.impact-site.navigation-ready .site-header .utilities {
        grid-column: 1 / -1;
    }

    body.impact-site.navigation-ready .navigation-toggle {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        align-self: start;
        width: 44px;
        height: 44px;
        padding: 1px 10px 10px;
        border: 0;
        color: var(--impact-ink);
        background: transparent;
        font: inherit;
        font-size: 14px;
        font-weight: 750;
        cursor: pointer;
    }

    .navigation-toggle svg {
        width: 24px;
        height: 24px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
    }

    body.impact-site.navigation-ready .navigation-toggle[aria-expanded="true"] {
        color: var(--impact-red);
    }

    .navigation-close-icon,
    .navigation-toggle[aria-expanded="true"] .navigation-menu-icon {
        display: none;
    }

    .navigation-toggle[aria-expanded="true"] .navigation-close-icon {
        display: block;
    }

    body.impact-site.navigation-ready .impact-main-nav {
        display: none;
        min-height: 0;
        overflow: visible;
    }

    body.impact-site.navigation-ready .impact-main-nav.is-open {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0 16px 12px;
        margin-bottom: 12px;
        box-shadow: none;
        clip-path: none;
    }

    body.impact-site.navigation-ready .impact-main-nav > :is(a, button) {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        min-height: 48px;
        height: auto;
        margin: 0;
        padding: 12px 0;
        border-bottom: 1px solid #39393d;
        font-size: 14px;
        text-align: left;
        white-space: normal;
    }

    body.impact-site.navigation-ready .impact-main-nav > :is(a, button):focus-visible,
    .navigation-toggle:focus-visible {
        outline: 2px solid var(--impact-red);
        outline-offset: -2px;
    }
}

@media (max-width: 680px) {
    body.impact-site .site-footer {
        grid-template-columns: 1fr;
        grid-template-areas: "support" "links" "credit";
        gap: 14px;
    }

    body.impact-site .site-footer .footer-support,
    body.impact-site .site-footer .footer-made {
        justify-self: stretch;
        justify-content: center;
    }

    body.impact-site .site-footer .footer-links {
        justify-content: center;
        gap: 2px 18px;
    }
}

body.impact-site .utility-label {
    font-size: 11px;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .impact-main-nav {
    min-height: 54px;
    gap: 34px;
    overflow: visible;
    box-shadow: 0 0 0 100vmax var(--impact-ink);
    clip-path: inset(0 -100vmax);
}

body.impact-site .impact-main-nav :is(button, a[data-page-link], a[data-events-navigation]) {
    padding: 0;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .impact-main-nav :is(button, a[data-page-link], a[data-events-navigation])::after {
    right: 0;
    left: 0;
    height: 3px;
}

body.impact-site .impact-main-nav :is(button, a[data-page-link], a[data-events-navigation]):hover,
body.impact-site .impact-main-nav :is(button, a[data-page-link], a[data-events-navigation]).selected {
    background: transparent;
}

body.impact-site .impact-main-nav a[data-page-link].selected {
    color: var(--impact-white);
}

body.impact-site .impact-main-nav a[data-page-link].selected::after {
    background: var(--impact-red);
}

body.impact-site .impact-main-nav .impact-main-nav-support {
    gap: 13px;
    margin-left: auto;
    padding: 0;
    color: #bdbdc1;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .impact-main-nav .impact-main-nav-support:hover {
    background: transparent;
}

body.impact-site .home-ticker {
    height: 52px;
    min-height: 52px;
    overflow: hidden;
    box-shadow: 0 0 0 100vmax #e7e7e9;
    clip-path: inset(0 -100vmax);
}

body.impact-site .home-ticker-label {
    padding: 0 20px;
}

body.impact-site .home-ticker-content {
    overflow: hidden;
}

body.impact-site .home-ticker-match {
    display: flex;
    width: auto;
    min-width: max-content;
    gap: 10px;
    padding: 0 18px;
    border-right: 1px solid #d2d2d5;
}

body.impact-site .home-ticker-match strong {
    padding: 6px 8px;
    background: #f4dfe2;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .home-ticker-match b {
    max-width: none;
    flex-shrink: 0;
    overflow: visible;
    text-overflow: clip;
    font-family: var(--impact-ui);
    font-size: 12px;
    font-style: normal;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .home-ticker-match small {
    max-width: 190px;
    font-weight: 500;
    text-align: left;
}

body.impact-site .home-ticker-match > span {
    font-size: 13px;
}

body.impact-site .home-featured-section {
    margin-top: 33px;
}

body.impact-site .home-section-label {
    padding: 7px 0 14px;
}

body.impact-site .home-section-note {
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .featured,
body.impact-site .featured.is-live {
    display: flex;
    min-height: 423px;
    flex-direction: column;
    overflow: visible;
    background: radial-gradient(rgba(23, 23, 25, 0.11) 1px, transparent 1px) 0 0 / 5px 5px,
    linear-gradient(120deg, #fff 52%, #dedee1 52%);
    border-bottom: 5px solid var(--impact-ink);
}

body.impact-site .featured.is-live {
    color: var(--impact-white);
    background: var(--impact-halftone), linear-gradient(120deg, #e33343 52%, #b91e31 52%);
    border-bottom-color: var(--impact-red);
}

body.impact-site .feature-head {
    min-height: 42px;
    align-items: center;
    padding: 0 20px;
    background: var(--impact-ink);
}

body.impact-site .featured.is-live .feature-head {
    background: #e33343;
}

body.impact-site .duel {
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    flex: 1;
    gap: 5px;
    padding: 0 20px 8px;
}

body.impact-site .duel-player,
body.impact-site .duel-player.right {
    display: flex;
    min-width: 0;
    min-height: 300px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
}

body.impact-site .duel-player.right .duel-art,
body.impact-site .duel-player.right .duel-copy {
    order: initial;
}

body.impact-site .duel-art {
    width: 100%;
    height: 245px;
    flex: 0 0 245px;
}

body.impact-site .duel-copy,
body.impact-site .duel-player.right .duel-copy {
    width: 100%;
    padding: 0;
    text-align: center;
}

body.impact-site .duel-copy > strong {
    font-size: clamp(24px, 2.45vw, 33px);
    line-height: .9;
}

body.impact-site .duel-copy > span,
body.impact-site .duel-player.right .duel-copy > .country-with-flag {
    justify-content: center;
}

body.impact-site .duel-center {
    min-height: 285px;
}

body.impact-site .duel-center::before {
    display: none;
}

body.impact-site .duel-center strong {
    padding: 0;
    background: transparent;
    font-size: 36px;
    transform: rotate(-8deg);
}

body.impact-site .featured.is-live .duel-center strong {
    color: var(--impact-white);
}

body.impact-site .feature-foot {
    min-height: 40px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    justify-content: space-between;
    margin: 0 20px;
    padding: 9px 0 11px;
    font-size: 11px;
    font-weight: 500;
}

body.impact-site .home-matchday-grid {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 30px;
    margin-top: 25px;
}

body.impact-site .home-schedule-list .t-item {
    position: relative;
    grid-template-columns: 64px minmax(0, 1fr);
    margin-bottom: 7px;
}

body.impact-site .home-schedule-list,
body.impact-site #matchList {
    position: relative;
    overflow: clip;
}

body.impact-site .home-schedule-list .home-schedule-exit,
body.impact-site #matchList .home-schedule-exit {
    position: absolute;
    z-index: 2;
    margin: 0;
    pointer-events: none;
}

body.impact-site .home-schedule-list .home-live-enter > :not(.home-live-wave),
body.impact-site #matchList .home-live-enter > :not(.home-live-wave) {
    position: relative;
    z-index: 1;
}

body.impact-site .home-schedule-list .home-live-wave,
body.impact-site #matchList .home-live-wave {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--impact-white);
    pointer-events: none;
}

body.impact-site #matchList .home-live-enter {
    position: relative;
}

body.impact-site .home-schedule-list .t-item:nth-child(even):not(.is-live):not(:has(.featured)) .match {
    background: var(--impact-white);
}

body.impact-site .home-schedule-list .t-time {
    min-height: 96px;
    justify-content: flex-start;
    padding: 13px 6px;
    border-right: 2px solid var(--impact-ink);
}

body.impact-site .home-schedule-list .t-time strong {
    font-size: 23px;
}

body.impact-site .home-schedule-list .match {
    min-height: 96px;
    padding: 13px 15px;
    background: var(--impact-white);
}

body.impact-site .home-schedule-list .opponents,
body.impact-site .home-schedule-list .result-line {
    margin-top: 8px;
    font-size: 17px;
}

body.impact-site .home-schedule .home-destination-link {
    margin-top: 12px;
    background: var(--impact-ink);
}

body.impact-site .home-ranking {
    padding: 22px;
}

body.impact-site .home-ranking-head {
    display: block;
    padding-bottom: 13px;
    border: 0;
}

body.impact-site .home-ranking h2 {
    margin: 6px 0 18px;
    font-size: 36px;
}

body.impact-site .home-ranking-person {
    grid-template-columns: 42px 50px minmax(0, 1fr) 30px;
    gap: 8px;
    min-height: 82px;
}

body.impact-site .home-ranking-place {
    font-size: 42px;
}

body.impact-site .home-ranking-art img,
body.impact-site .home-ranking-art .player-silhouette {
    height: 76px;
}

body.impact-site .home-ranking-copy strong {
    font-size: 18px;
}

body.impact-site .home-ranking-link {
    width: 100%;
    margin-top: 17px;
    background: var(--impact-ink);
}

@media (max-width: 900px) {
    body.impact-site .page-shell {
        width: min(calc(100% - 36px), 1220px);
        margin: 0 auto;
    }

    body.impact-site .home-ticker,
    body.impact-site .home-ticker.matches-ticker {
        margin-inline: -18px;
        box-shadow: none;
        clip-path: none;
    }

    body.impact-site .home-matchday-grid {
        grid-template-columns: 1fr;
    }

    body.impact-site .matches-page .matches-page-intro {
        margin-inline: -18px;
        padding-inline: 18px;
    }
}

@media (max-width: 640px) {
    body.impact-site .page-shell {
        width: calc(100% - 24px);
        margin: 0 auto;
    }

    body.impact-site .home-ticker,
    body.impact-site .home-ticker.matches-ticker {
        margin-inline: -12px;
    }

    body.impact-site .matches-page .matches-page-intro {
        margin-inline: -12px;
        padding-inline: 12px;
    }

    body.impact-site .impact-main-nav {
        gap: 22px;
        overflow-x: auto;
    }

    body.impact-site .impact-main-nav :is(button, a[data-page-link], a[data-events-navigation]) {
        padding: 0;
        font-size: 12px;
    }

    body.impact-site .impact-main-nav :is(button, a[data-page-link], a[data-events-navigation])::after {
        right: 0;
        left: 0;
    }

    body.impact-site .impact-main-nav .impact-main-nav-support {
        display: none;
    }

    body.impact-site .duel-player,
    body.impact-site .duel-player.right {
        min-height: 225px;
    }

    body.impact-site .duel-art {
        height: 170px;
        flex-basis: 170px;
    }

    body.impact-site .duel-copy > strong {
        font-size: 20px;
        line-height: .92;
    }
}

/* Rankings page parity with the Impact handoff. */
body.impact-site .sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.impact-site .ranking-intro {
    padding: 36px 36px 34px;
}

body.impact-site .ranking-intro h1 {
    max-width: 560px;
    margin: 18px 0 14px;
    font-size: clamp(70px, 8vw, 92px);
    letter-spacing: .006em;
    line-height: .78;
}

body.impact-site .ranking-intro h1 > span {
    display: block;
}

body.impact-site .ranking-intro > p {
    font-size: 15px;
}

body.impact-site .rank-hero {
    margin-top: 28px;
}

body.impact-site .rank-hero-player > div {
    max-width: 58%;
}

body.impact-site .rank-hero-player strong {
    letter-spacing: .015em;
    line-height: 1;
}

body.impact-site .rankings-page-controls {
    min-height: 72px;
    gap: 20px;
    padding: 14px 18px;
}

body.impact-site .ranking-search-field {
    max-width: 300px;
}

body.impact-site .rankings-updated {
    display: block;
    flex: 0 1 320px;
    margin-left: auto;
    color: #5f5f64;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .015em;
    line-height: 1.45;
    text-align: right;
}

body.impact-site .ranking-table {
    table-layout: fixed;
}

body.impact-site .ranking-col-rank {
    width: 11%;
}

body.impact-site .ranking-col-player {
    width: 55%;
}

body.impact-site .ranking-col-points {
    width: 19%;
}

body.impact-site .ranking-col-change {
    width: 15%;
}

body.impact-site .ranking-table th:nth-child(3),
body.impact-site .ranking-table th:nth-child(4),
body.impact-site .ranking-table-points,
body.impact-site .ranking-table-change {
    text-align: right;
}

body.impact-site .ranking-table-player {
    display: table-cell;
    min-width: 0;
}

body.impact-site .ranking-table-player-layout {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

body.impact-site .ranking-table-player-copy {
    display: block;
    min-width: 0;
}

body.impact-site .ranking-table-player strong {
    display: block;
    overflow: hidden;
    letter-spacing: .018em;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.impact-site .ranking-table-player-country {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #66666c;
    font-family: var(--impact-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: none;
}

body.impact-site .ranking-table-player-country img {
    width: 16px;
}

body.impact-site .ranking-table-change {
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

body.impact-site .ranking-table-change.is-up {
    color: var(--impact-red);
}

body.impact-site .ranking-table-change.is-down {
    color: #68686d;
}

@media (max-width: 700px) {
    body.impact-site .ranking-intro {
        padding-inline: 22px;
    }

    body.impact-site .ranking-intro h1 {
        font-size: clamp(54px, 15vw, 76px);
    }

    body.impact-site .rankings-page-controls {
        align-items: stretch;
        flex-wrap: wrap;
    }

    body.impact-site .ranking-search-field {
        max-width: none;
    }

    body.impact-site .rankings-updated {
        flex-basis: 100%;
        margin-left: 0;
        text-align: left;
    }

    body.impact-site .ranking-col-rank {
        width: 13%;
    }

    body.impact-site .ranking-col-player {
        width: 49%;
    }

    body.impact-site .ranking-col-points {
        width: 21%;
    }

    body.impact-site .ranking-col-change {
        width: 17%;
    }
}

.impact-site .home-ticker-track {
    display: flex;
    width: max-content;
    height: 52px;
    animation: impact-ticker 55s linear infinite;
}

.impact-site .home-ticker-content:hover .home-ticker-track {
    animation-play-state: paused;
}

.impact-site .home-ticker-group {
    display: flex;
    flex: none;
}

@keyframes impact-ticker {
    to {
        transform: translateX(-50%);
    }
}

.impact-site .featured.is-live .feature-head {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.35);
}

.impact-site .feature-timing {
    color: var(--impact-white);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.impact-site .feature-head .youtube-link {
    width: 22px;
    height: 17px;
    color: var(--impact-white);
}

.impact-site .feature-competition {
    display: block;
    padding: 14px 20px 0;
    color: #66666c;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

.impact-site .feature-competition:hover {
    color: #4f4f54;
    text-decoration: underline;
}

.impact-site .featured.is-live .feature-competition,
.impact-site .featured.is-live .feature-competition:hover {
    color: var(--impact-white);
}

.impact-site .featured.is-live .duel-art {
    color: rgba(255, 255, 255, .55);
}

.impact-site .featured.is-live .feature-foot {
    color: var(--impact-white);
    border-top-color: rgba(255, 255, 255, .42);
}

.impact-site .home-schedule-tabs {
    display: flex;
    min-height: 55px;
    align-items: stretch;
    padding: 0 16px;
    color: var(--impact-white);
    background: var(--impact-ink);
}

.impact-site .home-schedule-tabs > button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 16px;
    color: #9d9da3;
    border: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.impact-site .home-schedule-tabs > button::after {
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    height: 3px;
    background: transparent;
    content: "";
}

.impact-site .home-schedule-tabs > button.active {
    color: var(--impact-white);
}

.impact-site .home-schedule-tabs > button.active::after {
    background: var(--impact-red);
}

.impact-site .home-schedule-tabs small {
    font-size: 11px;
}

.impact-site .home-schedule-date {
    display: flex;
    min-height: 32px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 2px 4px;
    color: #85858a;
    font-size: 11px;
}

.impact-site .home-schedule-date strong {
    flex-shrink: 0;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.impact-site .home-schedule-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    column-gap: 4px;
    min-width: 0;
    line-height: 1.5;
    text-align: right;
    overflow-wrap: anywhere;
}

.impact-site .home-schedule-meta .match-refresh-note {
    color: inherit;
}

#homeMatchRefreshNote[hidden] + .home-timezone-info .home-metadata-separator {
    display: none;
}

.home-schedule-meta.is-wrapped .home-metadata-separator {
    visibility: hidden;
}

body.impact-site .matches-page .day-head .match-refresh-note {
    color: #85858a;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
}

body.impact-site .matches-page .day-head {
    display: grid;
    grid-template-columns: minmax(min-content, 1fr) minmax(0, auto);
    align-items: end;
}

.impact-site .home-ranking-copy > span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 5px;
    font-size: 9px;
    font-weight: 600;
}

.impact-site .home-ranking-copy > span > .country-with-flag {
    display: inline-flex;
    margin: 0;
}

.impact-site .home-ranking-movement {
    color: #747479;
    font-size: 11px;
    font-weight: 800;
    text-align: right;
}

.impact-site .home-ranking-movement.is-up {
    color: var(--impact-red);
}

@media (max-width: 640px) {
    .impact-site .home-schedule-tabs {
        padding: 0 7px;
    }

    .impact-site .home-schedule-tabs > button {
        padding: 0 8px;
        font-size: 11px;
    }

    .impact-site .home-schedule-tabs > button::after {
        right: 8px;
        left: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .impact-site .home-ticker-track {
        animation: none;
    }
}

/* Upcoming events carousel from the Impact handoff. */
body.impact-site .upcoming-events {
    margin-top: 52px;
    padding: 0;
    border: 0;
}

body.impact-site .upcoming-events-head,
body.impact-site .home-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 14px;
}

body.impact-site .upcoming-events-title,
body.impact-site .home-section-title {
    margin: 0;
    color: var(--impact-ink);
    padding-left: 13px;
    border-left: 7px solid var(--impact-red);
    font-family: var(--impact-display);
    font-size: 38px;
    font-style: italic;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: .9;
    text-transform: uppercase;
}

body.impact-site .upcoming-events-summary {
    color: #737378;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.impact-site .upcoming-events-carousel {
    position: relative;
    padding: 22px 49px;
    overflow: hidden;
    color: var(--impact-white);
    background: var(--impact-red);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}

body.impact-site .upcoming-events-grid {
    display: flex;
    gap: 16px;
    margin: 0;
    overflow-x: auto;
    color: var(--impact-white);
    background: transparent;
    clip-path: none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    cursor: grab;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
}

body.impact-site .upcoming-events-grid::-webkit-scrollbar {
    display: none;
}

body.impact-site .upcoming-events-grid.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

body.impact-site .upcoming-event-card {
    display: flex;
    min-width: 0;
    min-height: 126px;
    flex: 0 0 calc((100% - 48px) / 4);
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 17px;
    padding: 8px 18px 10px 0;
    color: var(--impact-white);
    background: transparent !important;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, .24);
    scroll-snap-align: start;
}

body.impact-site .upcoming-event-date {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: var(--impact-white);
    font-family: var(--impact-ui);
    font-style: normal;
    letter-spacing: 0;
    line-height: 1;
}

body.impact-site .upcoming-event-date b {
    font-family: var(--impact-display);
    font-size: 36px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: .9;
}

body.impact-site .upcoming-event-date small {
    margin-top: 7px;
    color: var(--impact-white);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.15;
    text-transform: uppercase;
}

body.impact-site .upcoming-event-details {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

body.impact-site .upcoming-event-name {
    display: block;
    color: var(--impact-white);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    text-decoration: none;
}

body.impact-site a.upcoming-event-name:hover {
    color: var(--impact-white);
    text-decoration: underline;
}

body.impact-site .upcoming-event-details small {
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    line-height: 1.4;
}

body.impact-site .upcoming-events-control {
    position: absolute;
    z-index: 2;
    top: 50%;
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    padding: 0;
    color: var(--impact-white);
    background: #a01b29;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    transition: transform .18s, background .18s, border-color .18s;
}

body.impact-site .upcoming-events-control.is-previous {
    left: 13px;
}

body.impact-site .upcoming-events-control.is-next {
    right: 13px;
}

body.impact-site .upcoming-events-control:hover:not(:disabled) {
    color: var(--impact-white);
    background: var(--impact-ink);
    border-color: var(--impact-white);
    transform: translateY(-50%) scale(1.07);
}

body.impact-site .upcoming-events-control:disabled {
    opacity: .28;
    cursor: default;
}

body.impact-site .upcoming-events-chevron {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

body.impact-site .upcoming-events-chevron.is-previous {
    transform: rotate(180deg);
}

body.impact-site .upcoming-events-progress {
    display: flex;
    justify-content: space-between;
    padding: 14px 7px 0;
    color: #7d7d82;
    font-size: 12px;
}

body.impact-site .upcoming-events-range {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 1100px) and (min-width: 801px) {
    body.impact-site .upcoming-event-card {
        flex-basis: calc((100% - 32px) / 3);
    }
}

@media (max-width: 800px) {
    body.impact-site .upcoming-event-card {
        min-width: 0;
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media (max-width: 520px) {
    body.impact-site .upcoming-events-head,
    body.impact-site .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    body.impact-site .upcoming-events-title,
    body.impact-site .home-section-title {
        font-size: 31px;
    }

    body.impact-site .upcoming-events-carousel {
        padding: 18px 46px;
    }

    body.impact-site .upcoming-event-card {
        min-width: 0;
        min-height: 94px;
        flex-basis: 100%;
        flex-direction: row;
        align-items: center;
        gap: 20px;
        padding-right: 8px;
    }

    body.impact-site .upcoming-event-date {
        min-width: 66px;
    }

    body.impact-site .upcoming-event-date b {
        font-size: 28px;
    }

    body.impact-site .upcoming-events-control {
        width: 36px;
        height: 36px;
    }

    body.impact-site .upcoming-events-control.is-previous {
        left: 8px;
    }

    body.impact-site .upcoming-events-control.is-next {
        right: 8px;
    }

    body.impact-site .upcoming-events-progress {
        padding-inline: 2px;
    }
}

/* Final Impact typography, navigation and ranking refinements. */
body.impact-site .brand {
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 11px;
}

body.impact-site .mark {
    width: 42px;
    height: 50px;
}

body.impact-site .brand-wordmark-en {
    width: 290px;
}

body.impact-site .duel-copy > strong {
    display: flex;
    min-height: 1.85em;
    align-items: flex-end;
    justify-content: center;
    font-size: clamp(25px, 2.55vw, 34px);
    letter-spacing: .005em;
    line-height: .92;
}

body.impact-site .duel-copy > strong .player-name {
    display: block;
    max-width: 100%;
}

body.impact-site .home-section-label > h1 {
    font-size: 26px;
}

body.impact-site .home-ranking h2 {
    font-size: 38px;
}

body.impact-site .upcoming-events-title,
body.impact-site .home-section-title {
    font-size: 40px;
}

body.impact-site :is(
  .home-section-label > h1,
  .home-ranking h2,
  .home-ranking-place,
  .upcoming-events-title,
  .home-section-title,
  .upcoming-event-date b,
  .impact-page-intro h1,
  .rank-hero-player strong,
  .ranking-table-rank,
  .news-story strong,
  .archive-story h2,
  .about-copy h1,
  .about-poster > span
) {
    letter-spacing: .012em;
    word-spacing: .02em;
}

body.impact-site .impact-arrow {
    display: block;
    width: 21px;
    height: 21px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

body.impact-site .impact-arrow.is-diagonal {
    transform: rotate(-45deg);
}

body.impact-site .impact-main-nav-support .impact-arrow {
    width: 16px;
    height: 16px;
}

body.impact-site .home-ticker-match > .impact-arrow {
    width: 16px;
    height: 16px;
    color: var(--impact-red);
}

body.impact-site .home-destination-link .impact-arrow,
body.impact-site .archive-arrow .impact-arrow,
body.impact-site .news-story-read .impact-arrow,
body.impact-site .home-ranking-link .impact-arrow {
    transition: transform .18s ease;
}

body.impact-site .home-destination-link:hover .impact-arrow,
body.impact-site .archive-story:hover .archive-arrow .impact-arrow,
body.impact-site .news-story:hover .news-story-read .impact-arrow,
body.impact-site .home-ranking-link:hover .impact-arrow {
    transform: translateX(3px);
}

body.impact-site .rank-arrow {
    color: var(--impact-white);
    background: var(--impact-red);
    border-color: rgba(255, 255, 255, .65);
}

body.impact-site .rank-arrow svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.impact-site .home-schedule .home-destination-link,
body.impact-site .home-ranking-link {
    color: var(--impact-white);
    background: var(--impact-red);
}

body.impact-site .home-schedule .home-destination-link:hover,
body.impact-site .home-ranking-link:hover {
    background: var(--impact-ink);
}

body.impact-site .home-ranking-mover {
    display: grid;
    gap: 5px;
    margin-top: 14px;
    padding: 15px 16px;
    color: var(--impact-white);
    background: var(--impact-ink);
}

body.impact-site .home-ranking-mover[hidden] {
    display: none;
}

body.impact-site .home-ranking-mover .impact-eyebrow {
    margin: 0;
    color: #d7d7db;
}

body.impact-site .home-ranking-mover strong {
    overflow: hidden;
    font-family: var(--impact-display);
    font-size: 20px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: .012em;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

body.impact-site .home-ranking-mover strong > span {
    color: var(--impact-red);
}

body.impact-site .home-ranking-mover small {
    color: #bdbdc2;
    font-size: 10px;
}

@media (max-width: 640px) {
    body.impact-site .brand {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    body.impact-site .mark {
        width: 36px;
        height: 43px;
    }

    body.impact-site .brand-wordmark-en {
        width: min(255px, 100%);
    }

    body.impact-site .duel-copy > strong {
        min-height: 1.9em;
        font-size: 21px;
    }
}

/* Matches page parity with the Impact preview. */
body.impact-site .matches-page-intro {
    margin-top: 34px;
    padding: 34px 0 20px;
    color: var(--impact-ink);
    background: transparent;
    border-bottom: 7px solid var(--impact-ink);
}

body.impact-site .matches-page-intro .impact-eyebrow {
    margin-left: 0;
    color: var(--impact-red);
}

body.impact-site .matches-page-intro h1 {
    margin: 18px 0 0;
    color: var(--impact-ink);
    font-family: var(--impact-display);
    font-size: clamp(62px, 7vw, 76px);
    font-style: italic;
    font-weight: 900;
    letter-spacing: .01em;
    line-height: .82;
    text-transform: uppercase;
}

body.impact-site .matches-ticker {
    margin: 0 0 16px;
    box-shadow: none;
    clip-path: none;
}

body.impact-site .matches-page .match-controls {
    position: relative;
    margin: 0 0 28px;
    background: var(--impact-ink);
}

body.impact-site .matches-page > .section-heading {
    display: none;
}

body.impact-site .matches-page .control-row {
    min-height: 56px;
    align-items: center;
    padding: 0 18px;
}

body.impact-site .matches-page .view-tabs {
    gap: 26px;
}

body.impact-site .matches-page .view-tab {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .matches-page .results-toggle {
    align-self: center;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .matches-page .upcoming-filter-zone {
    display: none !important;
}

body.impact-site .matches-page .secondary-filter-zone {
    padding: 12px 18px 13px;
    border-top-color: #444449;
}

body.impact-site .matches-page .filter-selects {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding: 0;
}

body.impact-site .matches-page .field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}

body.impact-site .matches-page .field[hidden] {
    display: none;
}

body.impact-site .matches-page .field b {
    color: var(--impact-white);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.impact-site .matches-page .field select,
body.impact-site .matches-page .field input {
    width: 100%;
    max-width: none;
    min-height: 36px;
    padding: 7px 36px 7px 12px;
    color: var(--impact-white);
    background-color: #27272a;
    border: 1px solid #55555a;
    border-radius: 0;
    font: inherit;
    font-size: 12px;
}

body.impact-site .matches-page .field input {
    padding-right: 12px;
}

body.impact-site .matches-page .field input::placeholder {
    color: #99999f;
    opacity: 1;
}

body.impact-site .matches-page .field select:focus,
body.impact-site .matches-page .field input:focus {
    border-color: var(--impact-white);
    outline: 2px solid var(--impact-red);
    outline-offset: 1px;
}

body.impact-site .matches-page .hide-upcoming-button {
    top: -45px;
    right: 132px;
    min-height: 29px;
    border-color: #5e5e63;
    font-size: 10px;
}

body.impact-site .matches-page .active-filter-chips {
    margin-top: 12px;
}

@media (max-width: 820px) {
    body.impact-site .matches-page .filter-selects {
        grid-template-columns: 1fr;
    }

    body.impact-site .matches-page .hide-upcoming-button {
        position: static;
        margin-bottom: 12px;
    }
}

/* Reserve the first viewport while data and portraits load. */
body.impact-site .home-featured-grid {
    min-height: 405px;
}

body.impact-site .home-featured-placeholder {
    display: flex;
    min-height: 405px;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: #6a6a70;
    background: linear-gradient(120deg, #fff 52%, #dedee1 52%);
    border-top: 12px solid var(--impact-ink);
    border-bottom: 5px solid var(--impact-ink);
    font-family: var(--impact-display);
    font-size: 24px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

body.impact-site .home-schedule-list.is-loading {
    display: grid;
    min-height: 310px;
    align-content: start;
    gap: 8px;
}

body.impact-site .home-schedule-placeholder {
    display: block;
    min-height: 56px;
    background: linear-gradient(90deg, #ececee 25%, #f5f5f6 50%, #ececee 75%);
    background-size: 200% 100%;
    border-bottom: 2px solid #d0d0d3;
    animation: impact-placeholder-shimmer 1.6s ease-in-out infinite;
}

body.impact-site .home-matchday-grid,
body.impact-site .guides-updates,
body.impact-site .upcoming-events {
    content-visibility: auto;
    contain-intrinsic-size: 600px;
}

@keyframes impact-placeholder-shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Featured cards mirror the Impact preview while preserving live-state red. */
body.impact-site .home-section-label > h1 {
    font-size: 20px;
    letter-spacing: .018em;
}

body.impact-site .featured,
body.impact-site .featured.is-live {
    min-height: 405px;
}

body.impact-site .featured {
    color: var(--impact-ink);
    background: radial-gradient(rgba(23, 23, 25, .11) 1px, transparent 1px) 0 0 / 5px 5px,
    linear-gradient(120deg, #fff 52%, #dedee1 52%);
    border-bottom: 5px solid var(--impact-ink);
}

body.impact-site .featured.is-live {
    color: var(--impact-white);
    background: var(--impact-halftone), linear-gradient(120deg, #e33343 52%, #b91e31 52%);
    border-bottom-color: var(--impact-red);
}

body.impact-site .feature-head,
body.impact-site .featured.is-live .feature-head {
    min-height: 32px;
    padding: 0 18px;
}

body.impact-site .feature-head {
    background: var(--impact-ink);
}

body.impact-site .featured.is-live .feature-head {
    background: #ef2d43;
    border-bottom: 1px dashed rgba(255, 255, 255, .36);
}

body.impact-site .feature-timing {
    font-size: 11px;
    letter-spacing: .015em;
}

body.impact-site .home-featured-grid .feature-timing {
    min-width: 0;
    overflow-wrap: anywhere;
}

body.impact-site .feature-badge {
    flex-shrink: 0;
    margin-left: auto;
    padding: 4px 7px;
    color: var(--impact-white);
    background: var(--impact-red);
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.impact-site .feature-head .youtube-link {
    width: 20px;
    height: 16px;
    color: var(--impact-white);
}

body.impact-site .feature-head .youtube-link svg {
    display: block;
    width: 20px;
    height: 20px;
}

body.impact-site .feature-head .youtube-link svg > path:first-child {
    fill: var(--impact-white);
}

body.impact-site .feature-head .youtube-link .youtube-play {
    fill: var(--impact-red);
}

body.impact-site .feature-competition,
body.impact-site .feature-competition:hover {
    padding: 11px 18px 0;
    color: #66666c;
    font-size: 12px;
    font-weight: 750;
}

body.impact-site .featured.is-live .feature-competition,
body.impact-site .featured.is-live .feature-competition:hover {
    color: var(--impact-white);
}

body.impact-site .featured.is-live .duel-art {
    color: rgba(255, 255, 255, .55);
}

body.impact-site .featured.is-live .duel-copy > span,
body.impact-site .featured.is-live .duel-center strong,
body.impact-site .featured.is-live .feature-foot {
    color: var(--impact-white);
}

body.impact-site .featured.is-live .feature-foot {
    border-top-color: rgba(255, 255, 255, .42);
}

body.impact-site .featured.is-live .player-rank {
    color: var(--impact-white);
}

body.impact-site .duel-copy > strong {
    font-size: clamp(23px, 2.25vw, 30px);
    letter-spacing: .012em;
}

@media (max-width: 640px) {
    body.impact-site .featured,
    body.impact-site .featured.is-live,
    body.impact-site .duel-player,
    body.impact-site .duel-player.right,
    body.impact-site .duel-center {
        min-height: 0;
    }

    body.impact-site .duel {
        flex: 0 0 auto;
        padding-top: 12px;
    }

    body.impact-site .duel-art {
        width: min(100%, 170px);
        height: auto;
        flex: 0 0 auto;
        aspect-ratio: 1;
    }
}

body.impact-site .upcoming-events-control {
    box-shadow: 0 7px 17px rgba(71, 5, 15, .34), 0 2px 5px rgba(71, 5, 15, .22);
}

body.impact-site .upcoming-events-control:hover:not(:disabled) {
    box-shadow: 0 9px 22px rgba(28, 20, 23, .42), 0 3px 7px rgba(28, 20, 23, .24);
}

@media (max-width: 520px) {
    body.impact-site .matches-page-intro {
        padding-top: 26px;
    }

    body.impact-site .matches-page-intro h1 {
        font-size: 58px;
    }

    body.impact-site .matches-ticker {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    body.impact-site .matches-page .control-row {
        gap: 12px;
        padding: 0 14px;
    }

    body.impact-site .matches-page .view-tabs {
        gap: 16px;
    }

    body.impact-site .matches-page .view-tab {
        font-size: 12px;
    }

    body.impact-site .matches-page .results-toggle {
        margin-left: auto;
    }

    body.impact-site .matches-page .secondary-filter-zone {
        padding-inline: 14px;
    }
}

/* Final interaction and brand refinements. */
body.impact-site .brand {
    grid-template-columns: 49px minmax(0, 1fr);
    column-gap: 12px;
}

body.impact-site .mark {
    width: 49px;
    height: 58px;
}

body.impact-site .brand-wordmark-en {
    width: 326px;
}

body.impact-site .brand-wordmark-zh {
    width: 250px;
    height: auto;
}

body.impact-site .home-ticker-match strong {
    min-width: 64px;
    padding: 6px 9px 5px;
    color: var(--impact-red);
    background: #d9d9dc;
    border: 0;
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

body.impact-site .visibility-control {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--impact-white);
    cursor: pointer;
    user-select: none;
}

body.impact-site .visibility-control-copy {
    display: grid;
    gap: 1px;
    line-height: 1.05;
    text-align: right;
}

body.impact-site .visibility-control-copy strong {
    color: inherit;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.impact-site .visibility-control-copy small {
    color: #a9a9ae;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: 0;
    text-transform: none;
}

body.impact-site .visibility-control input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

body.impact-site .visibility-control-switch {
    position: relative;
    display: block;
    width: 34px;
    height: 18px;
    flex: 0 0 auto;
    background: #77777d;
    border: 1px solid #929297;
    transition: background-color .16s ease, border-color .16s ease;
}

body.impact-site .visibility-control-switch::after {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    background: var(--impact-white);
    content: "";
    transition: transform .16s ease;
}

body.impact-site .visibility-control input:checked + .visibility-control-switch {
    background: var(--impact-red);
    border-color: #ef6d78;
}

body.impact-site .visibility-control input:checked + .visibility-control-switch::after {
    transform: translateX(16px);
}

body.impact-site .visibility-control input:focus-visible + .visibility-control-switch {
    outline: 2px solid var(--impact-white);
    outline-offset: 3px;
}

body.impact-site .match-control-actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

body.impact-site .matches-page .match-control-actions .results-toggle {
    flex: 0 0 auto;
}

body.impact-site .matches-page .results-toggle {
    display: inline-flex;
    padding: 0;
}

body.impact-site .matches-page .results-toggle::before {
    display: none;
}

body.impact-site .home-ranking-mover {
    grid-template-columns: minmax(0, 1fr) 94px;
    align-items: stretch;
    gap: 12px;
    min-height: 116px;
    padding: 0 0 0 16px;
    overflow: hidden;
}

body.impact-site .home-ranking-mover-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 14px 0;
}

body.impact-site .home-ranking-mover strong {
    white-space: normal;
}

body.impact-site .home-ranking-mover-route {
    color: var(--impact-red);
    font-family: var(--impact-display);
    font-size: 18px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: .035em;
    line-height: 1;
}

body.impact-site .home-ranking-mover-art {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    background: transparent;
}

body.impact-site .home-ranking-mover-art img,
body.impact-site .home-ranking-mover-art .player-silhouette {
    width: 100%;
    height: 112px;
    object-fit: contain;
    object-position: center bottom;
}

body.impact-site .about-copy h1 {
    font-size: clamp(52px, 6vw, 78px);
    line-height: .92;
}

@media (max-width: 720px) {
    body.impact-site .brand {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    body.impact-site .mark {
        width: 40px;
        height: 48px;
    }

    body.impact-site .brand-wordmark-en {
        width: min(270px, 100%);
    }

    body.impact-site .brand-wordmark-zh {
        width: min(215px, 100%);
    }

    body.impact-site .match-control-actions {
        gap: 12px;
    }
}

@media (max-width: 560px) {
    body.impact-site .home-schedule-tabs {
        flex-wrap: wrap;
        padding-bottom: 8px;
    }

    body.impact-site .matches-page .control-row {
        flex-wrap: wrap;
        padding-block: 10px;
    }

    body.impact-site .match-control-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Restored match-centre event and include filters. */
body.impact-site .matches-page .upcoming-filter-zone {
    display: block !important;
    padding: 15px 18px 16px;
    border-top: 1px solid #444449;
}

body.impact-site .matches-page .upcoming-filter-zone[hidden] {
    display: none !important;
}

body.impact-site .matches-page .display-control-row .upcoming-filter-zone {
    flex: 1 1 max-content;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    border: 0;
}

body.impact-site .matches-page .event-toggle-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

body.impact-site .matches-page .completed-event-field {
    min-width: 0;
    width: min(100%, 420px);
    margin-top: 10px;
    overflow: hidden;
}

body.impact-site .matches-page .completed-event-field select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

body.impact-site .matches-page .event-toggle {
    min-height: 32px;
    padding: 6px 11px;
    color: #c8c8cd;
    background: #29292d;
    border: 1px solid #55555b;
    font-size: 11px;
    font-weight: 750;
}

body.impact-site .matches-page .event-toggle:hover {
    color: var(--impact-white);
    border-color: #85858b;
}

body.impact-site .matches-page .event-toggle.active {
    color: var(--impact-white);
    background: var(--impact-red);
    border-color: var(--impact-red);
}

body.impact-site .matches-page .secondary-filter-zone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px 18px;
}

body.impact-site .matches-page .filter-selects {
    grid-column: 1;
    grid-row: 1;
}

body.impact-site .matches-page .hide-upcoming-button {
    position: static;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

body.impact-site .matches-page .hide-upcoming-button:not([hidden]) + .filter-selects {
    padding-right: 0;
}

body.impact-site .matches-page .active-filter-chips {
    grid-column: 1 / -1;
    margin-top: 0;
}

@media (max-width: 820px) {
    body.impact-site .matches-page .secondary-filter-zone {
        grid-template-columns: 1fr;
    }

    body.impact-site .matches-page .filter-selects,
    body.impact-site .matches-page .hide-upcoming-button {
        grid-column: 1;
    }

    body.impact-site .matches-page .hide-upcoming-button {
        grid-row: 2;
        justify-self: start;
        margin: 0;
    }
}


@media (max-width: 700px) {
    body.impact-site .matches-page .mobile-filter-toggle {
        grid-column: 1;
        grid-row: 1;
        justify-content: space-between;
        min-height: 44px;
        padding: 8px 0;
        text-align: left;
    }

    body.impact-site .matches-page .filter-selects {
        display: none;
        grid-column: 1;
        grid-row: 2;
    }

    body.impact-site .matches-page .match-controls.filters-open .filter-selects {
        display: grid;
    }

    body.impact-site .matches-page .hide-upcoming-button {
        grid-row: 3;
    }
}

/* Chinese text needs upright glyphs and space between lines of full-width type. */
html:lang(zh-CN) body.impact-site {
    --impact-display: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-family: var(--impact-display);
}

html:lang(zh-CN) body.impact-site :is(h1, h2, h3, h4, strong, b, .player-name, .impact-eyebrow, .feature-competition, .rank-title, .rank-number, .rank-country, .ranking-table-player, .home-ranking-mover-copy, .home-ranking-mover-route, .upcoming-events-title, .upcoming-event-date, .upcoming-event-name, .news-story-art-word, .home-section-label > h1, .archive-story-art, .about-poster-player-name) {
    font-style: normal;
    letter-spacing: normal;
}

html:lang(zh-CN) body.impact-site :is(h1, h2, h3, h4, .player-name, .rank-title, .upcoming-events-title, .upcoming-event-name, .home-section-label > h1) {
    line-height: 1.25;
}

html:lang(zh-CN) body.impact-site .about-copy h1 {
    font-size: clamp(28px, 3.3vw, 42px);
    line-height: 1.3;
}

html:lang(zh-CN) body.impact-site .duel-copy > strong {
    font-size: clamp(18px, 2vw, 25px);
    line-height: 1.25;
}

html:lang(zh-CN) body.impact-site .duel-copy {
    container-type: inline-size;
}

html:lang(zh-CN) body.impact-site .duel-copy [style*="--name-unit-length"] {
    font-size: min(1em, calc(100cqi / var(--name-unit-length)));
}

html:lang(zh-CN) body.impact-site :is(.player-name-unit, .chinese-text-unit, .event-date-unit, .event-seed, .event-reward, .home-ticker-label) {
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

html:lang(zh-CN) body.impact-site .event-fact .event-date-unit {
    display: inline;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: none;
}

html:lang(zh-CN) body.impact-site :is(.article-headline h1, .news-story strong, .archive-story strong, .article-body) {
    line-break: strict;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: pretty;
}

html:lang(zh-CN) body.impact-site .home-ticker-label {
    font-size: 11px;
    padding-inline: 4px;
}

html:lang(zh-CN) body.impact-site .duel-copy .player-rank {
    display: block;
    width: max-content;
    margin: 4px auto 0;
}

html:lang(zh-CN) body.impact-site .duel-center strong {
    white-space: nowrap;
    font-style: normal;
    letter-spacing: normal;
    transform: none;
}

html:lang(zh-CN) body.impact-site :is(.footer-made-heart, .footer-made-racket, .footer-made [data-i18n="footer.for"]) {
    display: none;
}

html:lang(zh-CN) body.impact-site .utility select {
    max-width: 360px;
}

html:lang(zh-CN) body.impact-site .upcoming-event-date-range {
    align-self: center;
    max-width: 120px;
    font-size: 17px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    html:lang(zh-CN) body.impact-site .utility select {
        max-width: min(360px, calc(100vw - 120px));
    }
}

/* Match navigation and display preferences share the top toolbar. */
body.impact-site .matches-page .control-row {
    min-height: 0;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid #444449;
}

body.impact-site .matches-page .view-tabs {
    width: auto;
    min-width: 0;
    flex: 1 1 0;
    gap: 0;
}

body.impact-site .matches-page .view-tab {
    display: grid;
    min-width: 132px;
    min-height: 64px;
    align-content: center;
    justify-items: start;
    gap: 2px;
    padding: 10px 18px 9px;
    border-bottom: 3px solid transparent;
    text-align: left;
}

body.impact-site .matches-page .view-tab.active {
    border-bottom-color: var(--impact-red);
}

body.impact-site .matches-page .view-tab .count {
    color: #a9a9ae;
    font-size: 11px;
    font-weight: 650;
}

body.impact-site .matches-page .display-control-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 24px;
    padding: 10px 18px;
    border-bottom: 1px solid #444449;
}

body.impact-site .matches-page .match-control-actions {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin-left: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

body.impact-site .matches-page .match-control-actions .visibility-control {
    min-width: 154px;
    justify-content: space-between;
    padding: 10px 12px;
    background: #242427;
    border: 1px solid #444449;
}

body.impact-site .matches-page .match-control-actions .visibility-control-copy {
    text-align: left;
}

@media (max-width: 520px) {
    body.impact-site .matches-page .control-row {
        padding: 0 12px;
    }

    body.impact-site .matches-page .view-tab {
        min-width: 0;
        flex: 1;
        padding-inline: 12px;
    }

    body.impact-site .matches-page .display-control-row {
        padding: 10px 12px;
    }

    body.impact-site .matches-page .match-control-actions {
        display: flex;
        width: 100%;
        margin-left: 0;
        padding-bottom: 10px;
        align-items: stretch;
        justify-content: space-between;
        gap: 8px;
    }

    body.impact-site .matches-page .match-control-actions .visibility-control {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 34px;
        min-width: 0;
        flex: 1 1 0;
    }

    body.impact-site .matches-page .match-control-actions .visibility-control-copy {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
body.impact-site .duel-pair-art {
    display: flex;
    align-items: flex-end;
    min-width: 0;
}

body.impact-site .duel-pair .duel-art {
    width: 60%;
    height: 170px;
    flex: 0 0 60%;
    z-index: 1;
}

body.impact-site .duel-pair .duel-art + .duel-art {
    margin-left: -20%;
    z-index: 2;
}

body.impact-site .duel-pair-copy {
    display: grid;
    gap: 8px;
}

body.impact-site .duel-pair .duel-copy > strong {
    font-size: 24px;
}

body.impact-site .duel-doubles .duel-center {
    min-height: 0;
    align-self: center;
}

@media (max-width: 680px) {
    body.impact-site .duel-pair .duel-art {
        height: 110px;
    }

    body.impact-site .duel-pair .duel-copy > strong {
        font-size: 21px;
    }

    body.impact-site .match :is(.opponents, .result-line):not(.opponents-pending) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 6px 8px;
    }

    body.impact-site .match :is(.opponents, .result-line) > .competitor {
        grid-column: 1;
        width: 100%;
        overflow-wrap: anywhere;
    }

    body.impact-site .match :is(.opponents, .result-line) > .competitor:first-child {
        grid-row: 1;
    }

    body.impact-site .match :is(.opponents, .result-line) > .competitor:last-child {
        grid-row: 2;
    }

    body.impact-site .match :is(.opponents, .result-line) > :is(.vs, .final-score) {
        grid-column: 2;
        grid-row: 1 / span 2;
        margin-left: 0;
        text-align: center;
    }
}
