.team-recap-info{flex:0 0 32px;width:32px;height:32px;display:inline-grid;place-items:center;margin:-5px -5px -5px auto;padding:5px;border:1px solid #d6e3db;border-radius:50%;background:#f6faf7;color:#49705b;cursor:pointer;box-shadow:none}
.team-recap-info svg{width:20px;height:20px;display:block}.team-recap-info:hover{background:#e3f0e8;border-color:#80a58f}.team-recap-info:focus-visible{outline:2px solid #437b59;outline-offset:2px}
.ecstfa-placement-team-cell{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.ecstfa-placement-team-cell>span{min-width:0;overflow-wrap:anywhere}
.team-tournament-recap{--recap-ink:#243c30;--recap-muted:#687a70;width:min(920px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #d2dfd6;border-radius:18px;background:#fff;color:var(--recap-ink);box-shadow:0 24px 80px #132c2440;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box;font-family:inherit;line-height:1.45}
.team-tournament-recap::backdrop{background:#142b25a6;backdrop-filter:blur(3px)}
.team-tournament-recap .recap-close{position:absolute;z-index:2;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;margin:0;padding:0;border:1px solid #cfddd4;border-radius:50%;background:#fffffff2;color:#405c4b;box-shadow:none;font-size:26px;line-height:1;cursor:pointer}
.team-tournament-recap button:focus-visible{outline:2px solid #458466;outline-offset:2px}.team-tournament-recap [hidden]{display:none!important}
.recap-hero{padding:28px 30px 20px;background:linear-gradient(125deg,#e9f3ed,#f6f9f7 70%);border-bottom:1px solid #dce8df}.recap-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-right:30px}.recap-heading>div:first-child{min-width:0;flex:1}.recap-eyebrow{margin:0 0 12px;color:var(--recap-muted);font-size:.72rem;letter-spacing:.015em;overflow-wrap:anywhere}.recap-kicker{color:#577765;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:750}.team-tournament-recap h2{margin:5px 0 8px;font-size:clamp(1.45rem,4vw,2rem);line-height:1.15;letter-spacing:-.025em;color:#1f4230;overflow-wrap:anywhere}.recap-country{font-size:.7rem;color:#638170;letter-spacing:.08em}
.recap-position{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:10px 14px;border:1px solid #c3d8cb;background:#ffffffb8;border-radius:12px}.recap-position small{font-size:.64rem;color:#597664}.recap-position strong{font-size:1.7rem;font-weight:800;letter-spacing:-.04em}
.recap-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}.recap-metric{display:flex;flex-direction:column;gap:2px;border-left:1px solid #cbded2;padding-left:14px;min-width:0}.recap-metric:first-child{padding-left:0;border:0}.recap-metric strong{font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:780;line-height:1.2}.recap-metric span{font-size:.72rem;color:#5d7566;overflow-wrap:anywhere}.recap-metric small{font-size:.63rem;color:#71877a}.recap-balance{display:flex;gap:20px;flex-wrap:wrap;margin-top:19px;padding-top:13px;border-top:1px solid #d8e5dd;font-size:.72rem;color:#6a7d71}.recap-balance b{color:#355e46;margin-right:3px;font-variant-numeric:tabular-nums}
.recap-body{padding:24px 30px 28px}.recap-spotlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.recap-spotlight{position:relative;min-width:0;padding:17px 16px 14px;border:1px solid #e0e7e2;border-radius:12px;background:#fbfcfb}.recap-spotlight-index{position:absolute;right:12px;top:12px;color:#c6d8cc;font-size:.68rem;font-weight:800;letter-spacing:.05em}.team-tournament-recap .recap-spotlight h3{font-size:.7rem;line-height:1.3;margin:0 24px 12px 0;color:#697e70;font-weight:600}.recap-spotlight>strong{display:block;font-size:.92rem;line-height:1.4;color:#294e38;overflow-wrap:anywhere}.recap-spotlight p{font-size:.7rem;margin:9px 0 0;color:#76877b}.recap-spotlight p b{color:#36764c;font-size:1.05rem;margin-right:3px}
.recap-section{margin-top:30px}.recap-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.team-tournament-recap .recap-section-heading h3{margin:0;font-size:1rem;font-weight:750;letter-spacing:-.015em}.recap-section-heading>span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:7px;background:#edf3ef;font-size:.68rem;color:#5d7767}.recap-hint{font-size:.72rem;color:#7c8b82;margin:0 0 12px}
.recap-table-scroll{overflow:auto;border:1px solid #e0e8e2;border-radius:10px}.recap-player-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:.78rem;font-variant-numeric:tabular-nums}.recap-player-table th,.recap-player-table td{border-bottom:1px solid #eaf0ec;padding:11px 8px;text-align:center;white-space:nowrap}.recap-player-table thead th{font-size:.62rem;letter-spacing:.04em;color:#6d8073;background:#f5f8f6;font-weight:650}.recap-player-table th:first-child{text-align:left;min-width:130px;white-space:normal;padding-left:14px}.recap-player-table tbody th{font-weight:650}.recap-player-table .recap-goals-cell{font-weight:800;color:#36694a;background:#f7faf8}.recap-player-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;margin:0;border:0;background:transparent;color:#294936;box-shadow:none;font:inherit;text-align:left;cursor:pointer}.recap-player-toggle>span:first-child{min-width:0;overflow-wrap:anywhere}.recap-player-toggle>span:last-child{color:#8aa492}.recap-player-toggle[aria-expanded=true]>span:last-child{transform:rotate(180deg)}.recap-unused-player{color:#8a968e;font-weight:500}.recap-player-detail>td{white-space:normal;background:#f7faf8;padding:4px 14px;text-align:left}.recap-player-game{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e3ece6}.recap-player-game:last-child{border:0}.recap-player-game strong{display:block;font-size:.77rem;font-weight:600;overflow-wrap:anywhere}.recap-player-game small{display:block;color:#809085;font-size:.66rem;margin-top:2px}.recap-player-game>b{flex-shrink:0;font-variant-numeric:tabular-nums}.recap-outcome-won{color:#2b7449}.recap-outcome-lost{color:#936053}.recap-outcome-drawn{color:#63766a}
.recap-match-list{list-style:none;padding:0;margin:0;border-top:1px solid #e4ece7}.recap-match{display:grid;grid-template-columns:115px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0;padding:13px 0;border-bottom:1px solid #e4ece7;color:#344e3d}.recap-match-stage{min-width:0;display:flex;flex-direction:column;gap:3px}.recap-match-stage>span{font-size:.72rem;font-weight:650;color:#4f6a58}.recap-match-stage>small{font-size:.64rem;color:#8b998e;overflow-wrap:anywhere}.recap-match-opponent{min-width:0}.recap-match-opponent strong{display:block;font-size:.83rem;font-weight:650;overflow-wrap:anywhere}.recap-match-opponent small{display:block;font-size:.65rem;color:#829085;margin-top:3px}.recap-match-score{display:flex;align-items:center;justify-content:center;gap:9px;min-width:68px;padding:7px 9px;margin:0;border:1px solid #dce7df;border-radius:8px;background:#f3f8f4;color:inherit;font-size:.97rem;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:none;cursor:pointer}.recap-match-score span{font-size:.65rem;font-weight:500;color:#86a18f}.recap-outcome-lost .recap-match-score{color:#936053;background:#fbf7f5;border-color:#eee0da}.recap-outcome-won .recap-match-score{color:#2b7449}.recap-match-pending{font-size:.68rem;color:#809185;max-width:80px;text-align:right}
.recap-empty{color:#8a998f;font-size:.8rem;padding:15px 0}.recap-feedback{padding:60px 25px;text-align:center;color:#6d8072}.recap-feedback h2{font-size:1.2rem}.recap-feedback p{font-size:.85rem}.recap-feedback button{border:1px solid #becfc4;border-radius:8px;background:#edf5ef;color:#355a43;padding:10px 16px;cursor:pointer}
@media(max-width:600px){.team-tournament-recap{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:14px}.recap-hero{padding:23px 18px 17px}.recap-heading{gap:12px;padding-right:25px;align-items:flex-start}.recap-eyebrow{padding-right:5px;font-size:.65rem;margin-bottom:13px}.recap-position{min-width:54px;padding:9px 10px;margin-top:33px}.recap-position strong{font-size:1.4rem}.recap-body{padding:18px 14px 22px}.recap-metrics{gap:7px;margin-top:20px}.recap-metric{padding-left:8px}.recap-metric strong{font-size:1.35rem}.recap-metric span{font-size:.59rem}.recap-metric small{font-size:.54rem}.recap-balance{gap:12px;font-size:.65rem}.recap-spotlights{gap:7px}.recap-spotlight{padding:13px 9px 11px}.recap-spotlight-index{display:none}.team-tournament-recap .recap-spotlight h3{font-size:.6rem;margin-right:0;margin-bottom:9px}.recap-spotlight>strong{font-size:.75rem}.recap-spotlight p{font-size:.6rem}.recap-spotlight p b{font-size:.9rem}.recap-match{grid-template-columns:68px minmax(0,1fr) auto;gap:10px;padding:12px 0}.recap-match-stage>span{font-size:.65rem}.recap-match-stage>small{font-size:.56rem}.recap-match-opponent strong{font-size:.75rem}.recap-match-score{min-width:55px;font-size:.88rem;padding:7px}.recap-match-score span{display:none}.recap-player-table th,.recap-player-table td{padding:10px 7px}.recap-player-table th:first-child{min-width:115px;padding-left:10px}.recap-player-table{font-size:.72rem}.recap-section{margin-top:24px}}
@media(prefers-reduced-motion:no-preference){.team-recap-info,.recap-match-score{transition:background .15s,border-color .15s}.team-tournament-recap[open]{animation:recap-appear .16s ease-out}@keyframes recap-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}

.recap-topbar{position:sticky;top:0;z-index:2;height:0}
.team-tournament-recap{min-width:0;font-size:1rem}
.team-tournament-recap .recap-hero{margin-bottom:0;border-radius:0;box-shadow:none}
.team-tournament-recap .recap-section,.team-tournament-recap .recap-spotlights{border-radius:0;box-shadow:none}
@media(max-width:600px){.recap-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.recap-metric span{font-size:.66rem}.recap-metric:last-child{grid-column:1/-1;display:flex;flex-direction:row;align-items:baseline;gap:8px;padding:9px 0 0;margin-top:4px;border-left:0;border-top:1px solid #d4e3d9}.recap-metric:last-child strong{font-size:1.05rem}.recap-metric:last-child span{font-size:.73rem}.recap-metric:last-child small{font-size:.65rem}.team-recap-info{width:40px;height:40px;flex-basis:40px;margin:-7px -6px -7px auto;padding:8px}}
.team-tournament-recap .recap-referee-toggle{margin:0;padding:0 0 0 14px;border-top:0;border-right:0;border-bottom:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;text-align:left;cursor:pointer;align-items:flex-start}
.team-tournament-recap .recap-referee-toggle>span{display:flex;align-items:center;gap:6px;text-decoration:underline;text-decoration-color:#acbfb1;text-underline-offset:3px}
.recap-referee-toggle>span::after{content:'⌄';text-decoration:none;color:#688b75}.recap-referee-toggle[aria-expanded=true]>span::after{content:'⌃'}
.team-tournament-recap .recap-referee-toggle:hover{background:#e5efe8;box-shadow:none;color:inherit}
.team-tournament-recap .recap-referee-panel{margin:18px 0 0;padding:14px 12px 0;border:1px solid #d6e4da;border-radius:10px;background:#ffffffbd;box-shadow:none}
.team-tournament-recap .recap-referee-panel h3{margin:0 0 10px;font-size:.85rem;color:#486b54}.recap-referee-panel .recap-match-list{border-top:0}.recap-referee-panel .recap-match:last-child{border-bottom:0}.recap-referee-versus{color:#90a295;font-weight:400}
@media(max-width:600px){.team-tournament-recap .recap-referee-toggle{padding:9px 0 0;align-items:baseline}.team-tournament-recap .recap-referee-panel{padding:12px 9px 0}.recap-referee-panel .recap-match{grid-template-columns:63px minmax(0,1fr) auto;gap:8px}}
