:root{font-family:system-ui,-apple-system,sans-serif;color:#193d35;background:#f3f7f5}*{box-sizing:border-box}body{margin:0}header{background:#193f35;color:white;padding:24px;font-size:1.2rem;letter-spacing:.06em}main{max-width:1500px;margin:auto;padding:32px 20px}h1{font-size:2rem;margin:20px 0}nav{display:flex;gap:20px;flex-wrap:wrap}a{color:#17664f}label{display:block;margin:16px 0 8px}select,button{font:inherit;padding:12px;border:1px solid #9cb9af;border-radius:8px;background:white;color:#193d35}select{max-width:100%;min-width:240px}button{cursor:pointer;margin:8px}#status{min-height:1.5em}#race-name{overflow-wrap:anywhere}.table-wrap{overflow:auto;border:1px solid #d3dfdb;border-radius:12px;background:white;max-height:70vh}table{border-collapse:separate;border-spacing:0;white-space:nowrap;min-width:100%;font-variant-numeric:tabular-nums}th,td{padding:14px 16px;border-bottom:1px solid #e1e8e5;text-align:left}th{background:#e6efeb;position:sticky;top:0;z-index:1}td.name{min-width:160px;white-space:normal}td.name small{display:block;color:#566c65;margin-top:5px}tr.inactive-result td{background:#e4e6e5;color:#555}tr:last-child td{border-bottom:0}.note{color:#566c65;font-size:.9rem;line-height:1.7}#table:empty{display:none}@media(max-width:600px){header{padding:18px}main{padding:20px 12px}h1{font-size:1.7rem}th,td{padding:12px}select{width:100%}nav{gap:14px}}

/* Keep identification visible while scrolling lap times in Result. */
.result-detail{font-size:14px}
.result-detail th,.result-detail td{padding:10px 12px}
.result-detail th:first-child,.result-detail td:first-child{position:sticky;left:0;min-width:64px;z-index:2;background:#fff}
.result-detail th:nth-child(2),.result-detail td.name{position:sticky;left:var(--bib-width,64px);z-index:2;background:#fff;min-width:150px;width:150px;max-width:150px;white-space:normal;overflow-wrap:anywhere;box-shadow:2px 0 0 #d3dfdb}
.result-detail thead th:first-child,.result-detail thead th:nth-child(2){z-index:3;background:#e6efeb}
.result-detail tr.inactive-result td:first-child,.result-detail tr.inactive-result td.name{background:#e4e6e5}
.result-detail td.name small{font-size:12px}
@media(max-width:600px){.result-detail{font-size:13px}.result-detail th,.result-detail td{padding:9px 8px}.result-detail th:nth-child(2),.result-detail td.name{min-width:140px;width:140px;max-width:140px}.result-detail td.name small{font-size:11px}}
/* Compact ranking table, matching Result text sizes. */
#table:not(.result-detail){font-size:14px}
#table:not(.result-detail) th,#table:not(.result-detail) td{padding:10px 12px}
#table:not(.result-detail) td.name{min-width:140px;max-width:170px;overflow-wrap:anywhere}
#table:not(.result-detail) td.name small{font-size:12px}
@media(max-width:600px){#table:not(.result-detail){font-size:13px}#table:not(.result-detail) th,#table:not(.result-detail) td{padding:9px 8px}#table:not(.result-detail) td.name{min-width:130px;max-width:150px}#table:not(.result-detail) td.name small{font-size:11px}}
