/* Shared, bounded tournament summaries and result tables. */
.tournament-archive, .tournament-results {
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    scroll-margin-top:120px;
    margin:24px 0;
    padding:24px;
    border:1px solid #dce4ef;
    border-radius:16px;
    background:#fff;
    color:#20304b;
    font-size:14px;
    line-height:1.6;
}
.tournament-archive *, .tournament-results * { box-sizing:border-box; }
.tournament-archive { background:linear-gradient(120deg,#f6f8fd,#fff); }
.tournament-archive__heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:13px 24px; margin-bottom:18px; }
.tournament-archive__heading h2 { margin:4px 0 0; color:#20304b; font-size:clamp(23px,2.7vw,29px); line-height:1.2; font-weight:750; letter-spacing:-.02em; }
.tournament-archive__eyebrow { color:#4f658a; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.12em; line-height:1.7; }
.tournament-archive__link { color:#315a9b; font-size:12px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.tournament-archive__metrics { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; margin-bottom:18px; padding-bottom:17px; border-bottom:1px solid #e1e7f0; color:#65738a; font-size:12px; }
.tournament-archive__metrics strong { margin-inline-end:4px; color:#263b5b; font-size:19px; font-weight:750; }
.tournament-archive__podium { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin:0 0 16px; padding:0; }
.tournament-archive__podium li { display:flex; align-items:center; gap:12px; min-width:0; padding:13px 14px; border:1px solid #dfe6ef; border-radius:11px; background:#fff; }
.tournament-archive__podium li:first-child { border-color:#e0ce91; background:#fff9e8; }
.tournament-archive__position { display:flex; align-items:center; justify-content:center; flex:0 0 31px; width:31px; height:31px; border-radius:50%; background:#edf2f9; color:#4f6383; font-size:15px; font-weight:750; }
.tournament-archive__podium li:first-child .tournament-archive__position { background:#f8e8b9; color:#7b6229; }
.tournament-archive__podium strong { display:block; color:#20304b; font-size:16px; line-height:1.35; font-weight:700; overflow-wrap:break-word; }
.tournament-archive__podium small { display:block; margin-bottom:3px; color:#6d798a; font-size:10px; line-height:1.5; }
.tournament-archive__deciders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.tournament-archive__result { min-width:0; padding:18px; border:1px solid #dfe6ef; border-radius:12px; background:#fff; }
.tournament-archive__result h3 { margin:0 0 15px; color:#61738f; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.055em; line-height:1.5; }
.tournament-archive__fixture { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; color:#233953; font-size:17px; line-height:1.4; font-weight:700; }
.tournament-archive__fixture>span { overflow-wrap:break-word; }
.tournament-archive__fixture>span:last-child { text-align:end; }
.tournament-archive__result p { margin:14px 0 0; color:#718094; font-size:11px; line-height:1.6; }
.tournament-archive__score { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px; white-space:nowrap; }
.tournament-archive__score>strong { color:#20304b; font-size:20px; line-height:1.3; font-weight:750; font-variant-numeric:tabular-nums; }
.tournament-archive__score abbr { padding:2px 5px; border-radius:4px; background:#edf2f9; color:#566b8b; font-size:9px; font-weight:650; line-height:1.6; text-decoration:none; }
.tournament-archive__score small { flex-basis:100%; color:#566a87; font-size:10px; font-weight:500; line-height:1.4; text-align:center; }
.tournament-archive__provenance, .tournament-archive__empty { margin:15px 0 0; color:#768295; font-size:10px; line-height:1.65; }
.tournament-results__filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:11px; margin:17px 0 13px; }
.tournament-results__filters label { display:flex; flex:1 1 140px; flex-direction:column; gap:5px; min-width:0; margin:0; color:#566882; font-size:11px; font-weight:650; }
.tournament-results__filters select, .tournament-results__filters input, .tournament-results__filters button { width:100%; max-width:100%; min-height:41px; padding:8px 10px; border:1px solid #ccd6e4; border-radius:7px; background:#fff; color:#273b59; font:inherit; }
.tournament-results__filters button { width:auto; background:#f1f5fb; font-size:12px; font-weight:650; }
.tournament-results__count { margin:12px 0; color:#6c7a90; font-size:12px; }
.tournament-results__scroll { max-width:100%; max-height:580px; overflow:auto; border:1px solid #e0e7f0; border-radius:10px; }
.tournament-results table { width:100%; min-width:700px; margin:0; border-collapse:collapse; color:#344761; font-size:12px; line-height:1.6; }
.tournament-results th, .tournament-results td { padding:12px; border-bottom:1px solid #e5ebf3; text-align:start; vertical-align:middle; }
.tournament-results thead { position:sticky; top:0; z-index:1; background:#f1f5fb; color:#59708e; font-size:11px; }
.tournament-results tbody th { font-weight:650; }
.tournament-results td small { display:block; margin-top:2px; color:#7a879a; font-size:10px; }
.tournament-results tr:last-child td, .tournament-results tr:last-child th { border-bottom:0; }
.tournament-results [hidden] { display:none!important; }
.tournament-archive a:focus-visible, .tournament-results :focus-visible { outline:3px solid #5178bd; outline-offset:3px; }
.tournament-archive__image-caption { margin:10px 0; color:#65758b; font-size:11px; line-height:1.6; }
@media(max-width:991px) {
    .tournament-archive, .tournament-results { padding:21px; }
    .tournament-archive__podium li { padding:12px 10px; gap:9px; }
    .tournament-archive__position { width:27px; height:27px; flex-basis:27px; font-size:13px; }
    .tournament-archive__podium strong { font-size:15px; }
}
@media(max-width:767px) {
    .tournament-archive, .tournament-results { margin:21px 0; padding:20px 17px; border-radius:13px; }
    .tournament-archive__heading { margin-bottom:15px; }
    .tournament-archive__heading h2 { font-size:25px; }
    .tournament-archive__link { font-size:11px; }
    .tournament-archive__metrics { gap:5px 17px; padding-bottom:14px; margin-bottom:15px; font-size:11px; }
    .tournament-archive__metrics strong { font-size:18px; }
    .tournament-archive__podium { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .tournament-archive__podium li { padding:12px; }
    .tournament-archive__deciders { grid-template-columns:1fr; gap:11px; }
    .tournament-archive__result { padding:16px; }
    .tournament-archive__fixture { font-size:16px; gap:8px; }
    .tournament-results__filters label { flex-basis:calc(50% - 11px); }
    .tournament-results__scroll { max-height:500px; }
}
@media(max-width:359px) {
    .tournament-archive, .tournament-results { padding:17px 13px; }
    .tournament-archive__podium li { padding:10px 8px; gap:7px; }
    .tournament-archive__podium strong { font-size:13px; }
    .tournament-archive__podium small { font-size:9px; }
    .tournament-archive__position { width:23px; height:23px; flex-basis:23px; font-size:12px; }
    .tournament-archive__fixture { font-size:14px; }
    .tournament-archive__score>strong { font-size:18px; }
    .tournament-results__filters label { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { .tournament-archive *, .tournament-results * { scroll-behavior:auto!important; transition:none!important; } }
