.results-category-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 1.6rem; }
.results-category-nav a { display:flex; gap:.7rem; align-items:center; padding:.6rem 1rem; border:1px solid #d6ded5; border-radius:999px; background:#fff; color:#253a2a; font-weight:700; text-decoration:none; }
.results-category-nav a:hover { border-color:var(--brand); background:#fff8f0; }
.results-category-nav span { color:#687369; font-size:.8rem; }
.results-category { overflow:hidden; margin:0 0 1.5rem; background:#fff; border:1px solid #dce3da; border-radius:18px; scroll-margin-top:1rem; }
.results-category-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; padding:1.15rem 1.3rem; background:#f3f6ef; border-bottom:1px solid #e0e5dd; }
.results-category-heading h2 { margin:0; font-size:1.25rem; font-weight:800; }
.results-category-heading > span { font-size:.85rem; color:#58675b; }
.results-summary { width:100%; border-collapse:collapse; table-layout:fixed; }
.results-summary thead th { padding:.8rem 1.2rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:#5c6a61; font-weight:700; background:#fafbf8; }
.results-summary thead th:first-child { width:90px; }
.results-summary tr > * { padding:1rem 1.2rem; border-bottom:1px solid #edf0e9; }
.results-summary tbody tr:last-child > * { border-bottom:none; }
.results-summary .results-success { width:185px; text-align:right; font-variant-numeric:tabular-nums; }
.results-success strong { display:block; font-size:1.2rem; font-weight:800; color:#203a29; }
.results-team { font-weight:400; overflow-wrap:anywhere; }
.results-team-name { display:block; font-size:1rem; font-weight:800; }
.results-organization { display:block; margin-top:.25rem; font-size:.78rem; line-height:1.5; color:#627065; }
.results-outside { display:inline-block; margin-top:.35rem; font-size:.75rem; color:#73604a; }
.results-dnf { display:inline-block; margin:.35rem 0 0 .4rem; padding:.15rem .5rem; border-radius:999px; font-size:.75rem; font-weight:700; background:#fff0dc; color:#865312; }
.results-rank-number { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; font-weight:800; color:#56615a; background:#f2f4ef; }
.results-rank-1 { background:#faeac4; color:#745417; }
.results-rank-2 { background:#e9eef0; color:#4a5a61; }
.results-rank-3 { background:#f3e5d9; color:#835937; }
.results-winner { background:#fffdf6; }
.results-meter { width:100%; max-width:135px; height:5px; margin:.5rem 0 0 auto; background:#e7eee3; border-radius:999px; overflow:hidden; }
.results-meter span { display:block; height:100%; background:#608253; border-radius:inherit; }
.results-detail { border-top:1px solid #e5e9e1; }
.results-detail summary { padding:.95rem 1.3rem; cursor:pointer; color:#34503a; font-size:.85rem; font-weight:700; }
.results-detail summary:hover { background:#f6f8f2; }
.results-detail summary span { margin-left:.5rem; font-size:.75rem; font-weight:400; color:#647265; }
.results-scroll-hint { padding:0 1.3rem; margin:.3rem 0 1rem; font-size:.8rem; color:#647265; }
.results-matrix-scroll { max-width:100%; max-height:560px; overflow:auto; overscroll-behavior-inline:contain; }
.results-matrix { width:max-content; border-collapse:separate; border-spacing:0; font-size:.8rem; font-variant-numeric:tabular-nums; }
.results-matrix th, .results-matrix td { padding:.8rem .9rem; border-bottom:1px solid #e5e9e1; border-right:1px solid #edf0e9; }
.results-matrix thead th { position:sticky; top:0; z-index:2; width:132px; min-width:132px; max-width:132px; background:#f1f5ed; vertical-align:bottom; line-height:1.5; font-weight:700; }
.results-station-number { display:block; font-size:.65rem; color:#6f7f6b; margin-bottom:.35rem; }
.results-matrix td { text-align:right; white-space:nowrap; }
.results-matrix tbody tr:nth-child(even) { background:#fafbf8; }
.results-matrix .results-fixed-team { position:sticky; left:0; z-index:1; width:170px; min-width:170px; max-width:170px; background:#fff; box-shadow:3px 0 5px rgba(25,45,25,.06); overflow-wrap:anywhere; }
.results-matrix thead .results-fixed-team { z-index:3; background:#f1f5ed; }
.results-not-applicable { color:#6f7f6b; }
.results-category-nav a:focus-visible, .results-detail summary:focus-visible, .results-matrix-scroll:focus-visible { outline:3px solid #ad6129; outline-offset:-3px; }
@media (max-width:600px) {
 .results-category-heading { padding:1rem; }
 .results-summary thead th, .results-summary tr > * { padding:.85rem .55rem; }
 .results-summary thead th:first-child { width:50px; font-size:.6rem; letter-spacing:0; }
 .results-summary .results-success { width:102px; }
 .results-success strong { font-size:1rem; }
 .results-rank-number { width:30px; height:30px; font-size:.8rem; }
 .results-team-name { font-size:.9rem; }
 .results-organization { font-size:.7rem; }
 .results-detail summary { padding:.9rem; }
 .results-detail summary span { display:block; margin:.25rem 0 0 1rem; }
 .results-matrix .results-fixed-team { width:120px; min-width:120px; max-width:120px; }
}
.results-panel, .results-board { min-width:0; max-width:100%; }
.results-matrix-scroll { width:100%; }
