:root { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; color:#17202b; background:#f3f5f7; }
* { box-sizing:border-box; }
body { margin:0; min-width:300px; }
.page-header { padding:14px max(12px,calc((100% - 980px)/2)); color:#fff; background:#122840; border-bottom:4px solid #2c78b8; }
.brand { font-weight:900; letter-spacing:.08em; }
.brand span { margin-left:.45em; color:#a9d4f7; font-size:.78em; letter-spacing:0; }
h1 { margin:5px 0 0; font-size:clamp(20px,5vw,30px); }
.competition-meta { color:#d4e1ec; font-size:13px; }
main { width:min(980px,100%); margin:auto; padding:10px 10px 28px; }
.tabs { display:flex; gap:4px; }
.tabs button,.sort-tabs button { min-height:40px; border:1px solid #aeb9c3; background:#fff; color:#243342; font:inherit; font-weight:700; cursor:pointer; }
.tabs button.active,.sort-tabs button.active { color:#fff; border-color:#266ca5; background:#266ca5; }
.division-tabs { margin-bottom:8px; }
.division-tabs button,.main-tabs button { flex:1; }
.main-tabs button { font-size:17px; }
.toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin:9px 0 7px; }
.event-tabs { flex:1; overflow-x:auto; scrollbar-width:thin; }
.event-tabs[hidden] { display:none; }
.event-tabs button { flex:1 0 48px; min-height:36px; }
.sort-tabs { display:flex; flex:none; gap:3px; }
.sort-tabs button { min-height:36px; padding:0 10px; }
.result-title { margin:8px 0 5px; font-size:18px; }
.result-table { width:100%; border-collapse:collapse; background:#fff; }
.result-table th { padding:7px 5px; color:#536273; background:#e7ebef; border-bottom:2px solid #9da9b4; font-size:12px; text-align:left; }
.result-table td { padding:9px 5px; border-bottom:1px solid #d5dbe0; vertical-align:middle; }
.rank { width:42px; text-align:center!important; font-weight:800; font-variant-numeric:tabular-nums; }
.bib { width:72px; font-weight:750; font-variant-numeric:tabular-nums; }
.identity { min-width:0; }
.athlete-name { font-size:16px; font-weight:800; overflow-wrap:anywhere; }
.disclosure-slot { display:inline-flex; width:1.1em; justify-content:center; flex:0 0 1.1em; }
.disclosure { color:#8090a0; font-size:.9em; font-weight:400; }
.event-code-label { display:inline-block; min-width:2.4em; font-weight:850; }
.affiliation { color:#596878; font-size:12px; overflow-wrap:anywhere; }
.final { width:82px; text-align:right!important; color:#0b4f82; font-size:18px; font-weight:900; font-variant-numeric:tabular-nums; }
.row-button { width:100%; padding:0; border:0; background:none; color:inherit; text-align:inherit; font:inherit; cursor:pointer; }
.athlete-row[aria-expanded="true"] td { background:#f8fbfd; }
.detail-row td { padding:0; background:#f8fbfd; }
.athlete-events { padding:2px 7px 9px 46px; }
.event-detail { border-bottom:1px solid #d8e0e6; }
.event-summary { display:grid; grid-template-columns:1fr auto; gap:8px; width:100%; padding:8px 3px; border:0; background:none; font:inherit; text-align:left; cursor:pointer; }
.event-summary.static { cursor:default; }
.event-summary strong { font-variant-numeric:tabular-nums; }
.score-breakdown { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; padding:0 3px 9px; color:#526171; font-size:12px; }
.score-breakdown div { border-left:2px solid #b9c9d5; padding-left:5px; }
.score-breakdown b { display:block; color:#17202b; font-size:14px; font-variant-numeric:tabular-nums; }
.event-columns { display:contents; }
.event-score-detail { padding:7px 5px 10px 103px; background:#f8fbfd; }
.message { margin:8px 0; padding:10px; border-left:4px solid #c33; background:#fff0f0; color:#8b2020; }
.empty { padding:28px 10px; background:#fff; color:#617080; text-align:center; }
footer { padding:12px; color:#667686; font-size:12px; text-align:center; }
.team-result{background:#fff;border-bottom:1px solid #cfd7df}.team-result summary{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:10px 6px;cursor:pointer}.team-result summary small{display:block;color:#667686}.team-result summary>strong{color:#0b4f82;font-size:18px}.team-matrix-scroll{overflow-x:auto;overscroll-behavior-inline:contain;padding:5px 0}.team-matrix{border-collapse:separate;border-spacing:0;min-width:max-content}.team-matrix th,.team-matrix td{min-width:76px;padding:8px 10px;border:0;text-align:center}.team-matrix thead th{color:#667686;font-size:12px;font-weight:700;background:#f5f7f9}.team-matrix th:first-child{position:sticky;left:0;z-index:2;min-width:142px;max-width:180px;text-align:left;background:#f8fafb}.team-matrix tbody tr:nth-child(even) td,.team-matrix tbody tr:nth-child(even) th{background:#f8fafb}.team-matrix tbody th b{display:inline-block;min-width:36px}.team-matrix tbody th span{font-weight:500}.team-matrix tfoot th,.team-matrix tfoot td{background:#eaf1f6;font-weight:800}.member-aa{font-weight:700;color:#344054}.team-score-cell{border:0;background:none;color:#0b4f82;font:inherit;font-weight:800;cursor:pointer}.team-score-cell.cut{color:#9aa4ad;font-weight:500}.team-state{color:#667686}.team-score-popover{position:fixed;z-index:20;width:245px;padding:12px;background:#fff;border:1px solid #9da9b4;box-shadow:0 5px 20px #0003}.team-score-popover h3,.team-score-dialog h3{margin:0}.team-score-popover p,.team-score-dialog p{margin:4px 0 8px;color:#667686}.team-score-popover dl,.team-score-dialog dl{display:grid;grid-template-columns:1fr auto;gap:4px;margin:0}.team-score-popover dd,.team-score-dialog dd{margin:0;font-weight:700}.team-score-dialog{width:min(360px,calc(100% - 24px));border:0;padding:18px}.team-score-dialog::backdrop{background:#0009}.team-score-dialog button{width:100%;margin-top:14px;padding:10px}.modal-final{display:flex;justify-content:space-between;margin:10px 0;padding:8px;background:#eef4f8}.modal-final b{font-size:22px}
.team-matrix thead th:first-child,.team-matrix tbody th:first-child,.team-matrix tfoot th:first-child{box-shadow:none!important;filter:none!important;border-left:0!important;border-right:0!important;outline:0;background-image:none!important;mask:none!important}
.team-matrix thead th:first-child{background-color:#f5f7f9}
.team-matrix tbody th:first-child{background-color:#fff}
.team-matrix tbody tr:nth-child(even) th:first-child{background-color:#f8fafb}
.team-matrix tfoot th:first-child{background-color:#eaf1f6}
.team-matrix thead th:first-child::before,.team-matrix thead th:first-child::after,.team-matrix tbody th:first-child::before,.team-matrix tbody th:first-child::after,.team-matrix tfoot th:first-child::before,.team-matrix tfoot th:first-child::after{content:none!important;display:none!important}
@media (max-width:600px) {
  .toolbar { display:block; }
  .sort-tabs { justify-content:flex-end; margin-top:6px; }
  .result-table th { padding:6px 3px; }
  .result-table td { padding:8px 3px; }
  .rank { width:35px; }
  .bib { width:65px; }
  .final { width:72px; font-size:17px; }
  .athlete-events { padding-left:8px; }
  .desktop-score { display:none; }
  .event-score-detail { padding-left:47px; }
  .score-breakdown { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
