/* The timing paddock: static photography, precise typography and clear racing data. */
.race-page{--best:#086d78;--best-soft:#e9f4f5}
.race-page h4{margin:0;font-weight:600}
.race-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep)}
.race-hero-image{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c1729 10%,#0c1729ed 42%,#0c17299c 100%),url('/media/race-day.png') 80% 46%/cover}
.race-breadcrumb{display:flex;align-items:center;gap:12px;padding-top:23px;font-size:12px;color:var(--on-dark-muted);line-height:1.6}
.race-breadcrumb a:hover{color:white;text-decoration:underline;text-underline-offset:4px}
.race-breadcrumb a:nth-of-type(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}
.race-hero-main{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:27px 0 31px}
.race-hero-main>div:first-child{min-width:0}
.race-type{border-left:1px solid #ffffff40;padding-left:12px;letter-spacing:.04em;font-weight:400}
.race-hero h1{font-size:clamp(36px,4.2vw,62px);line-height:1.06;letter-spacing:-.055em;margin:15px 0 15px;overflow-wrap:anywhere}
.race-hero h1 span{color:var(--on-dark-muted);margin-left:.25em}
.race-hero-meta{font-size:13px;color:var(--on-dark);line-height:1.7}
.race-hero-meta span{margin:0 9px;color:#ffffff50}
.race-edition{display:grid;grid-template-columns:33px auto;gap:14px 17px;flex-shrink:0}
.race-edition strong{font-size:16px;line-height:1.25;font-style:italic;letter-spacing:-.03em}
.race-edition>span:last-child{grid-column:1/-1;font-size:12px;letter-spacing:.17em;color:var(--on-dark-muted)}
.checkered{height:33px;width:33px;background:conic-gradient(#ffffffbf 25%,transparent 0 50%,#ffffffbf 0 75%,transparent 0) 0 0/11px 11px;transform:skew(-10deg)}
.race-switcher{display:flex;gap:7px;border-top:1px solid #ffffff20;padding:14px 0 31px;overflow:auto}
.race-switcher a{display:inline-flex;align-items:center;gap:25px;padding:10px 15px;font-size:13px;font-weight:500;color:var(--on-dark);white-space:nowrap;border:1px solid #ffffff20;border-radius:7px;background:#ffffff06}
.race-switcher a[aria-current]{border-color:#ffffff60;background:#ffffff18;color:white}
.race-switcher a:hover{background:#ffffff25}
.race-switcher svg{width:15px;height:15px}
.race-content{padding:0 0 70px;min-height:480px}
.race-page .search-panel{margin-top:-16px}
.race-page .search-panel-top{padding-top:20px;padding-bottom:18px}
.race-page .search-panel-bottom{padding-top:12px;padding-bottom:12px}
.race-page .filter-controls{flex:1}
.race-page .polished-filter{min-width:250px}
.race-page .search-applied-filters{margin-top:0}
@media(min-width:761px){
  .race-breadcrumb{padding-top:18px}
  .race-hero-main{padding:14px 0 18px}
  .race-hero h1{font-size:clamp(36px,3.5vw,48px);margin:10px 0}
  .race-switcher{padding:8px 0 24px}
  .race-page .search-panel{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:0}
  .race-page .search-panel-top{padding:19px 23px}
  .race-page .search-panel-heading{margin-bottom:11px}
  .race-page .search-panel-bottom{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;border-top:0;border-left:1px solid var(--line);padding:19px 23px;border-radius:0 13px 13px 0}
  .race-page .filter-caption{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
  .race-page .filter-caption>svg{display:none}
  .race-page .filter-controls{flex:0}
  .race-page .polished-filter{min-width:0;max-width:none;flex:1}
  .race-page .filter-trigger{min-height:51px}
  .race-page .search-input-wrap{min-height:51px}
  .race-page .search-input-wrap input{min-height:49px;padding-block:12px;font-size:15px}
  .race-page .search-applied-filters{grid-column:1/-1;padding-bottom:13px}
  .race-page .search-reset{position:absolute;top:13px;right:23px;font-size:12px;padding:4px}
  .race-page .search-live-hint{font-size:12px}
}
.race-snapshot{display:grid;grid-template-columns:1fr 1.2fr 1.2fr .95fr;background:var(--white);border:1px solid var(--line);border-radius:12px;margin-top:23px;overflow:hidden}
.race-snapshot>div,.snapshot-compare{padding:22px 25px;min-width:0}
.race-snapshot>*+*{border-left:1px solid var(--line)}
.race-snapshot strong{display:block;font-size:17px;letter-spacing:-.035em;line-height:1.35;overflow-wrap:anywhere}
.race-snapshot small{display:block;font-size:12px;color:var(--muted);margin-top:7px;line-height:1.5}
.snapshot-heading .eyebrow{font-size:12px;gap:7px;margin-bottom:10px;color:var(--muted);letter-spacing:.12em}
.snapshot-heading .eyebrow svg{width:15px;height:15px}
.snapshot-stat>span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:12px}
.snapshot-stat>span svg{width:14px;height:14px}
.timing,.result-value strong,.lap-breakdown td,.comparison-metrics td{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:-.025em}
.snapshot-stat .timing{color:var(--best);font-size:23px;line-height:1}
.snapshot-compare{position:relative;background:var(--surface-soft);display:flex;flex-direction:column;justify-content:center}
.snapshot-compare>svg{position:absolute;right:21px;top:21px;color:var(--brand);width:20px}
.snapshot-compare strong{font-size:18px;margin-top:12px}
.snapshot-compare small{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.snapshot-compare small svg{width:16px;height:16px}
.snapshot-compare:hover{background:var(--surface-soft)}
.race-view-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;border-bottom:1px solid var(--line)}
.race-view-bar nav,.race-view-bar>div{display:flex;align-items:center;gap:25px}
.race-view-bar nav a{position:relative;display:flex;align-items:center;gap:8px;padding:17px 1px;font-size:14px;color:var(--muted);font-weight:500}
.race-view-bar nav a[aria-current]{color:var(--navy)}
.race-view-bar nav a[aria-current]:after{content:"";height:3px;background:var(--brand);position:absolute;bottom:-1px;left:0;right:0;border-radius:4px 4px 0 0}
.race-view-bar nav svg{width:17px;height:17px}
.race-view-bar nav a span{font-size:12px;background:var(--surface-soft);padding:4px 6px;border-radius:4px}
.race-view-bar>div{gap:20px}
.race-view-bar>div a,.race-view-bar button{color:var(--muted);font-size:12px;background:none;border:0;padding:12px 0}
.race-view-bar>div a:hover,.race-view-bar button:hover{color:var(--brand)}
.race-results-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:30px 0 20px}
.race-results-heading .eyebrow{font-size:12px;letter-spacing:.14em;color:var(--muted)}
.race-results-heading h2{font-size:31px;letter-spacing:-.045em;margin-top:9px;line-height:1.15;scroll-margin-top:110px}
.race-results-heading>p{font-size:12px;color:var(--muted);text-align:right;line-height:1.6}
.results-board{border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden}
.results-columns,.result-row{display:grid;grid-template-columns:44px minmax(175px,1fr) 50px 112px 112px 112px 110px;align-items:center;gap:15px}
.results-columns{padding:16px 24px;background:var(--surface-soft);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.results-columns>span:not(:nth-child(2)){text-align:center}
.results-riders{list-style:none;margin:0;padding:0}
.result-entry+.result-entry{border-top:1px solid var(--line)}
.result-entry{position:relative}
.result-entry.comparison-selected{background:var(--canvas)}
.result-row{padding:22px 24px 14px}
.result-position{font-size:21px;font-weight:600;font-style:italic;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:-.04em;color:var(--muted)}
.result-position.front-runner{color:var(--navy)}
.result-entry:first-child .front-runner{color:var(--brand)}
.result-position small{font-size:13px;font-style:normal}
.rider-identity{display:flex;align-items:center;gap:13px;min-width:0}
.rider-number{min-width:40px;max-width:70px;overflow-wrap:anywhere;padding:7px 5px;border-radius:5px;background:var(--surface-soft);color:var(--text-secondary);font-size:13px;font-weight:600;font-style:italic;text-align:center}
.rider-identity h3{font-size:15px;letter-spacing:-.025em;line-height:1.4;overflow-wrap:anywhere}
.rider-identity p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}
.result-value{text-align:center;min-width:0}
.result-value>span{display:none}
.result-value strong{font-size:14px;font-weight:500;white-space:nowrap}
.result-best strong{color:var(--best)}
.result-gap strong{font-size:13px;color:var(--muted)}
.rider-compare{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--white);font-size:12px;font-weight:500;white-space:nowrap;width:100%}
.rider-compare svg{width:15px;height:15px}
.rider-compare:hover{background:var(--brand-soft);color:var(--brand-strong);border-color:var(--brand-border)}
.rider-compare.is-selected{color:var(--brand-strong);background:var(--brand-soft);border-color:var(--brand-border)}
.rider-compare.at-limit{color:var(--text-subtle);background:var(--surface-soft);border-color:transparent;cursor:default}
.rider-detail summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 24px 0 83px;padding:0 0 13px;color:var(--muted);font-size:12px;cursor:pointer}
.rider-detail summary::-webkit-details-marker{display:none}
.rider-detail summary>span{display:flex;align-items:center;gap:6px}
.rider-detail summary svg{width:13px;height:13px}
.rider-detail summary b{font-size:17px;font-weight:400;margin-left:4px}
.rider-detail[open] summary b{transform:rotate(45deg)}
.rider-detail summary:hover{color:var(--brand-strong)}
.rider-detail-content{margin:0 24px 22px 83px;border-top:1px solid var(--line);padding-top:17px}
.rider-timing-summary{display:flex;gap:35px;margin-bottom:17px;flex-wrap:wrap}
.rider-timing-summary span{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}
.rider-timing-summary strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.timing-scroll,.comparison-metrics-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:9px;background:var(--white)}
.lap-breakdown,.comparison-metrics{width:100%;border-collapse:collapse;text-align:left}
.lap-breakdown{font-size:13px}
.lap-breakdown th,.lap-breakdown td{padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:400}
.lap-breakdown thead th{font-size:12px;font-weight:500;background:var(--surface-soft);color:var(--muted)}
.lap-breakdown tr:last-child>*{border-bottom:0}
.lap-breakdown .personal-best{background:var(--best-soft);color:var(--best)}
.best-tag{font-size:12px;font-weight:600;letter-spacing:.03em;margin-left:10px;padding:3px 5px;border-radius:3px;background:color-mix(in srgb,#cce8e9 var(--tint-keep),var(--white))}
.checkpoint-splits{display:flex;flex-wrap:wrap;gap:15px;font-size:12px;color:var(--muted)}
.checkpoint-splits strong{margin-left:4px;font-weight:500;color:var(--navy)}
.comparison-tray{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:13px 16px;margin-bottom:16px;background:var(--white);border:1px solid var(--border-strong);border-radius:10px}
.tray-riders{display:flex;flex-wrap:wrap;gap:7px}
.tray-rider{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 11px;border-radius:6px;background:var(--surface-soft);font-size:12px}
.tray-rider a{font-size:19px;line-height:1;padding:4px;margin-left:3px}
.comparison-tray>div:last-child{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--muted)}
.clear-comparison{text-decoration:underline;text-underline-offset:3px}
.rider-color-0{--rider-color:var(--rider-0,#b44c09);--rider-chart:var(--rider-0,#ffad32)}
.rider-color-1{--rider-color:var(--rider-1,#087c83);--rider-chart:var(--rider-1,#4ed5ce)}
.rider-color-2{--rider-color:var(--rider-2,#2864ab);--rider-chart:var(--rider-2,#71b7ff)}
.tray-rider i,.compare-card i,.comparison-metrics i,.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--rider-color);flex:none}
.race-empty,.compare-welcome{padding:60px 25px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-align:center}
.race-empty>svg{width:35px;height:35px;color:var(--brand);margin-bottom:20px}
.race-empty h3,.compare-welcome h3{font-size:32px;letter-spacing:-.045em;line-height:1.15}
.race-empty p,.compare-welcome>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:500px;margin:17px auto 23px;color:var(--muted)}
.race-note,.race-source-note{font-size:12px;line-height:1.8;color:var(--muted)}
.race-source-note{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.rider-card-link{display:inline-block;margin-top:7px;font-size:12px;color:color-mix(in srgb,#38647f var(--ink-keep),#fff);text-decoration:underline;text-underline-offset:3px}
.comparison-mark{display:grid;place-items:center;width:60px;height:60px;background:var(--brand-soft);border-radius:14px;margin:0 auto 25px;color:var(--brand)}
.comparison-mark svg{width:28px;height:28px}
.compare-welcome .eyebrow{justify-content:center;margin-bottom:14px;font-size:12px}
.compare-empty-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:700px;margin:37px auto 0}
.compare-empty-slots span{font-size:13px;color:var(--muted);padding:21px 10px;border:1px dashed var(--border-strong);border-radius:8px}
.compare-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:29px 0 24px}
.compare-heading .eyebrow{font-size:12px;color:var(--muted);margin-bottom:8px}
.compare-heading h2{font-size:36px;line-height:1.2;letter-spacing:-.05em}
.compare-heading p:last-child{font-size:14px;line-height:1.6;margin-top:10px;color:var(--muted)}
.race-page .page-button{color:var(--navy);line-height:1.4}
.race-page .page-button svg{transform:none}
.race-pagination .page-button:first-child svg{transform:rotate(180deg)}
.compare-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.compare-card{position:relative;isolation:isolate;overflow:hidden;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--rider-color);border-radius:12px;padding:19px 23px 20px}
.compare-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.compare-card-top>span{display:flex;gap:8px;align-items:center;font-size:12px;letter-spacing:.1em;color:var(--muted)}
.compare-card-top a{font-size:21px;line-height:1;color:var(--muted);padding:1px 5px}
.compare-race-number{position:absolute;right:12px;bottom:27px;font-size:92px;line-height:1;letter-spacing:-.08em;font-style:italic;font-weight:700;color:var(--surface-soft);z-index:-1;max-width:100%;overflow:hidden}
.compare-card h4{font-size:23px;letter-spacing:-.04em;line-height:1.2;overflow-wrap:anywhere}
.compare-card p{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.6}
.compare-position{display:flex;align-items:baseline;gap:10px;margin-top:25px}
.compare-position strong{font-size:33px;font-style:italic;letter-spacing:-.045em;color:var(--rider-color)}
.compare-position span{font-size:12px;color:var(--muted)}
.compare-add-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:218px;padding:20px;border:1px dashed var(--border-strong);border-radius:12px;font-size:14px;font-weight:500}
.compare-add-slot>span{font-size:25px;font-weight:400;display:grid;place-items:center;width:38px;height:38px;background:var(--surface-soft);border-radius:50%}
.compare-add-slot small{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}
.compare-add-slot svg{width:15px;height:15px}
.compare-add-slot:hover{border-color:var(--brand);background:var(--brand-soft)}
.comparison-context{display:flex;justify-content:space-between;gap:25px;align-items:center;margin:18px 0;font-size:12px;line-height:1.7;color:var(--muted)}
.opening-toggle{white-space:nowrap;text-decoration:underline;text-underline-offset:4px;font-weight:500;color:var(--navy)}
.comparison-metrics{table-layout:fixed;font-size:14px;min-width:570px}
.comparison-metrics th,.comparison-metrics td{padding:16px 23px;border-bottom:1px solid var(--line)}
.comparison-metrics thead th{background:var(--surface-soft);font-size:13px;line-height:1.5;font-weight:600}
.comparison-metrics thead th:first-child{font-size:12px;color:var(--muted)}
.comparison-metrics i{margin-right:7px;vertical-align:1px}
.comparison-metrics tbody th{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5}
.comparison-metrics td{font-weight:500}
.comparison-metrics tr:last-child>*{border-bottom:0}
.telemetry-panel{background:var(--navy-deep);color:#fff;padding:29px 32px 22px;margin-top:26px;border-radius:12px;overflow:hidden}
.telemetry-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}
.telemetry-heading .eyebrow{color:var(--on-dark-muted);font-size:12px;margin-bottom:7px}
.telemetry-heading h4{font-size:26px;letter-spacing:-.04em}
.telemetry-heading>span{font-size:12px;color:var(--on-dark-muted);line-height:1.7;text-align:right}
.chart-legend{display:flex;gap:25px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:var(--on-dark)}
.chart-legend>span{display:flex;align-items:center;gap:8px}
.chart-legend i{background:var(--rider-chart)}
.comparison-chart{display:block;width:100%;height:auto;max-height:350px;margin-top:15px;overflow:visible}
.chart-grid line{stroke:#ffffff15;stroke-dasharray:3 5}
.chart-grid text{fill:var(--on-dark-muted);font-family:Inter,Arial,sans-serif;font-size:12px}
.comparison-chart polyline{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}
.comparison-chart circle{fill:currentColor;stroke:var(--navy-deep);stroke-width:1.5}
.chart-rider-0{color:#ffad32}.chart-rider-1{color:#4ed5ce}.chart-rider-2{color:#71b7ff}
.chart-note,.chart-unavailable{font-size:12px;color:var(--on-dark-muted);line-height:1.7;margin-top:15px}
.chart-unavailable{padding:40px 0;text-align:center}
.split-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:33px 0 18px}
.split-heading .eyebrow{font-size:12px;color:var(--muted);margin-bottom:8px}
.split-heading h4{font-size:25px;letter-spacing:-.035em}
.split-heading>span{font-size:12px;color:var(--muted);line-height:1.7;max-width:310px;text-align:right}
.split-comparison th small{color:var(--text-subtle);margin-right:14px;font-size:12px;font-variant-numeric:tabular-nums}
.split-comparison td small{display:block;font-size:12px;color:var(--text-subtle);margin-top:6px;letter-spacing:0;font-weight:400}
.split-comparison td.split-best{background:var(--canvas);color:color-mix(in srgb,#176449 var(--ink-keep),#fff)}
.split-comparison td.split-best small{color:color-mix(in srgb,#176449 var(--ink-keep),#fff);font-size:12px;letter-spacing:.08em;font-weight:600}
.comparison-warning{font-size:14px;line-height:1.7;background:var(--brand-soft);color:var(--brand-strong);padding:15px;border:1px solid var(--brand-border);border-radius:8px;margin:15px 0;overflow-wrap:anywhere}
.compare-heading h2{font-size:36px;line-height:1.2;letter-spacing:-.05em}
.head-to-head{scroll-margin-top:104px}
.compare-welcome{margin-top:25px}
@media(min-width:761px){.race-snapshot{margin-top:18px}.race-snapshot>div,.snapshot-compare{padding:17px 20px}.snapshot-stat>span{margin-bottom:9px}.snapshot-heading .eyebrow{margin-bottom:8px}.race-view-bar{margin-top:15px}.race-results-heading{margin:23px 0 17px}}
@media(min-width:1450px){.results-columns,.result-row{grid-template-columns:50px minmax(200px,1fr) 60px 125px 125px 125px 115px}}
@media(max-width:1180px){.race-hero h1{font-size:46px}.race-snapshot>div,.snapshot-compare{padding:19px}.race-snapshot strong{font-size:16px}.snapshot-stat .timing{font-size:22px}.results-columns,.result-row{grid-template-columns:30px minmax(140px,1fr) 35px 92px 92px 94px 90px;gap:11px}.results-columns{padding-inline:17px;font-size:12px}.result-row{padding-inline:17px}.rider-identity{gap:9px}.rider-identity h3{font-size:14px}.rider-number{min-width:31px;font-size:12px}.result-value strong{font-size:13px}.result-gap strong{font-size:12px}.rider-compare{font-size:12px;padding-inline:6px}.rider-compare svg{width:12px}.rider-detail summary,.rider-detail-content{margin-left:58px;margin-right:17px}.compare-card{padding:17px}.compare-card h4{font-size:21px}.comparison-metrics th,.comparison-metrics td{padding:15px 17px}}
@media(max-width:980px){.race-edition{display:none}.race-hero h1{font-size:43px}.race-snapshot{grid-template-columns:1fr 1fr}.race-snapshot>*:nth-child(3){border-left:0;border-top:1px solid var(--line)}.race-snapshot>*:nth-child(4){border-top:1px solid var(--line)}.race-snapshot>div,.snapshot-compare{padding:18px 22px}.snapshot-compare strong{margin-top:0}.snapshot-compare>svg{top:17px}.results-columns{display:none}.result-row{grid-template-columns:35px minmax(0,1fr) 95px;gap:15px 17px;padding:19px 20px}.rider-identity{grid-column:2}.rider-identity h3{font-size:16px}.rider-identity p{font-size:12px}.result-position{grid-row:1}.result-select{grid-column:3;grid-row:1}.rider-compare{font-size:12px;min-height:39px}.rider-compare svg{width:14px}.result-value{grid-row:2;text-align:left;padding-top:3px}.result-value>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.result-value strong{font-size:14px}.result-laps{grid-column:2}.result-value:not(.result-laps):not(.result-best):not(.result-gap){grid-column:2;justify-self:end}.result-best{grid-column:3}.result-gap{display:none}.rider-detail summary,.rider-detail-content{margin-left:72px;margin-right:20px}.compare-cards{gap:12px}.compare-card{padding:16px}.compare-card h4{font-size:19px}.compare-race-number{font-size:75px}.comparison-context{align-items:start}.compare-heading .page-button{max-width:180px}.race-results-heading h2{font-size:29px}.comparison-tray>div:last-child{margin-left:auto}}
@media(max-width:760px){.race-breadcrumb{padding-top:18px;font-size:12px;gap:7px}.race-breadcrumb a:nth-of-type(2){max-width:68%}.race-hero-main{padding:24px 0 26px;gap:0}.race-hero .eyebrow{font-size:12px;flex-wrap:wrap;gap:8px;line-height:1.8}.race-type{font-size:12px;padding-left:9px}.race-hero h1{font-size:37px;line-height:1.08;margin-top:14px;margin-bottom:14px}.race-hero h1 span{display:block;font-size:.75em;letter-spacing:-.035em;margin:6px 0 0}.race-hero-meta{font-size:12px;line-height:1.7}.race-hero-meta span{margin:0 4px}.race-switcher{padding:12px 0 30px}.race-switcher a{padding:9px 12px;font-size:12px;gap:20px}.race-page .search-panel{margin-top:-15px}.race-page .search-panel-heading{gap:10px}.race-page .search-eyebrow{font-size:12px;letter-spacing:.07em}.race-page .search-panel-top{padding:17px 16px}.race-page .search-panel-bottom{padding:11px 16px}.race-page .search-live-hint{font-size:12px}.race-page .filter-controls{width:100%;min-width:0}.race-page .polished-filter{min-width:0;width:100%}.race-snapshot{margin-top:17px}.race-snapshot>div,.snapshot-compare{padding:16px}.race-snapshot strong{font-size:15px;line-height:1.35}.race-snapshot small{font-size:12px;line-height:1.6}.snapshot-stat>span{font-size:12px;margin-bottom:10px}.snapshot-stat .timing{font-size:22px}.snapshot-heading .eyebrow{font-size:12px;letter-spacing:.05em;gap:5px}.snapshot-heading .eyebrow svg{width:13px;height:13px}.snapshot-compare>svg{right:14px;top:14px;width:16px;height:16px}.snapshot-compare strong{margin-top:13px;font-size:16px}.snapshot-compare small{font-size:12px}.race-view-bar{margin-top:15px;gap:10px;flex-wrap:wrap}.race-view-bar nav{gap:21px;flex:1}.race-view-bar nav a{font-size:13px;padding:15px 0;gap:6px}.race-view-bar nav svg{width:15px}.race-view-bar nav a span{font-size:12px;padding:3px 5px}.race-view-bar>div{gap:12px}.race-view-bar>div a{font-size:12px}.race-view-bar button{display:none}.race-results-heading{margin:24px 0 17px;gap:20px}.race-results-heading .eyebrow{font-size:12px;letter-spacing:.07em}.race-results-heading h2{font-size:27px;margin-top:8px}.race-results-heading>p{font-size:12px;max-width:100px}.result-row{grid-template-columns:27px minmax(0,1fr) 82px;padding:18px 14px 15px;gap:16px 10px}.result-position{font-size:21px}.rider-identity{gap:8px;align-items:flex-start}.rider-number{font-size:12px;min-width:28px;padding:6px 4px;max-width:45px}.rider-identity h3{font-size:14px;line-height:1.4}.rider-identity p{font-size:12px;line-height:1.5;margin-top:4px}.rider-identity p>span{display:none}.rider-compare{font-size:12px;padding:7px 6px;gap:4px;min-height:36px}.rider-compare svg{display:none}.result-value>span{font-size:12px;margin-bottom:6px}.result-value strong{font-size:13px}.result-laps{grid-column:1;justify-self:center}.result-value:not(.result-laps):not(.result-best):not(.result-gap){justify-self:start;grid-column:2}.result-best{grid-column:3}.rider-detail summary{margin:0 14px 0 51px;padding-bottom:13px;font-size:12px}.rider-detail-content{margin:0 14px 18px;padding-top:15px}.rider-timing-summary{gap:20px}.rider-timing-summary span{font-size:12px}.rider-timing-summary strong{font-size:13px}.lap-breakdown th,.lap-breakdown td{padding:10px;font-size:12px}.lap-breakdown thead th{font-size:12px}.lap-breakdown{min-width:380px}.comparison-tray{padding:12px;gap:12px}.tray-rider{font-size:12px;padding:4px 6px 4px 8px}.tray-riders{gap:5px}.comparison-tray>div:last-child{width:100%;justify-content:space-between;gap:10px;font-size:12px}.comparison-tray .button{min-height:39px;font-size:12px;padding:10px 12px;gap:10px}.compare-heading{align-items:start;gap:15px;margin:20px 0}.compare-heading .eyebrow{font-size:12px;letter-spacing:.07em}.compare-heading h2{font-size:29px}.compare-heading p:last-child{font-size:12px;margin-top:8px}.compare-heading .page-button{max-width:97px;flex-shrink:0;font-size:12px;padding:10px;gap:0;min-height:44px}.compare-heading .page-button svg{display:none}.compare-cards{gap:8px}.compare-card{padding:12px 10px 14px;border-radius:8px;border-top-width:3px}.compare-card-top{margin-bottom:14px}.compare-card-top>span{font-size:12px;gap:5px;letter-spacing:.04em}.compare-card-top i{width:5px;height:5px}.compare-card-top a{font-size:18px;padding:0 2px}.compare-race-number{font-size:42px;bottom:40px;right:4px}.compare-card h4{font-size:14px;line-height:1.3;letter-spacing:-.025em}.compare-card p{font-size:12px;margin-top:6px;line-height:1.6}.compare-position{flex-direction:column;gap:3px;margin-top:20px}.compare-position strong{font-size:25px}.compare-position span{font-size:12px}.compare-add-slot{min-height:195px;font-size:12px;gap:12px;text-align:center;padding:10px 7px;border-radius:8px}.compare-add-slot>span{height:30px;width:30px;font-size:20px}.compare-add-slot small{font-size:12px;line-height:1.6;display:block}.compare-add-slot small svg{display:none}.comparison-context{flex-direction:column;gap:10px;margin:15px 0;font-size:12px}.opening-toggle{font-size:12px}.comparison-metrics{font-size:13px;min-width:550px}.comparison-metrics th,.comparison-metrics td{padding:13px 14px}.comparison-metrics thead th{font-size:12px}.comparison-metrics tbody th{font-size:12px}.telemetry-panel{padding:21px 17px 17px;margin-top:20px;border-radius:10px}.telemetry-heading{gap:15px;align-items:start}.telemetry-heading h4{font-size:22px}.telemetry-heading .eyebrow{font-size:12px;margin-bottom:7px}.telemetry-heading>span{font-size:12px;max-width:120px}.chart-legend{gap:10px 15px;margin-top:20px;font-size:12px}.chart-legend span{gap:5px}.chart-legend i{height:5px;width:5px}.comparison-chart{min-height:175px;margin-top:10px}.chart-note{font-size:12px;margin-top:7px}.split-heading{margin-top:27px;gap:17px}.split-heading h4{font-size:23px}.split-heading .eyebrow{font-size:12px;margin-bottom:7px}.split-heading>span{font-size:12px;max-width:130px}.race-source-note{font-size:12px;margin-top:25px;padding-top:20px}.race-content{padding-bottom:45px}.race-empty,.compare-welcome{padding:38px 19px}.race-empty h3,.compare-welcome h3{font-size:29px}.race-empty p,.compare-welcome>p:not(.eyebrow){font-size:14px}.compare-empty-slots{gap:8px;margin-top:28px}.compare-empty-slots span{font-size:12px;line-height:1.5;padding:16px 8px}.compare-welcome .eyebrow{font-size:12px}}
@media(max-width:380px){.race-view-bar{gap:0}.race-view-bar nav{gap:13px}.race-view-bar nav a{font-size:12px;gap:4px}.race-view-bar nav svg{width:14px}.race-view-bar>div a{font-size:12px}.race-snapshot>div,.snapshot-compare{padding:13px}.race-snapshot strong{font-size:14px}.snapshot-stat .timing{font-size:20px}.result-row{grid-template-columns:23px minmax(0,1fr) 74px;padding-inline:11px;gap:15px 8px}.rider-identity{gap:6px}.rider-identity h3{font-size:14px}.rider-number{min-width:25px;font-size:12px}.result-value strong{font-size:12px}.rider-compare{font-size:12px}.rider-detail summary{margin-left:42px}.compare-cards{gap:6px}.compare-card{padding-inline:8px}.compare-card h4{font-size:14px}.compare-card p{font-size:12px}.compare-card-top>span{font-size:12px}.compare-add-slot{font-size:12px}.race-results-heading h2{font-size:25px}}
@media(max-width:760px){
  .race-hero-main{padding:18px 0}
  .race-hero h1{font-size:33px}
  .race-switcher{padding:9px 0 23px;scrollbar-width:thin}
  .race-page .search-panel-top{padding:13px 16px}
  .race-page .search-live-hint{display:none}
  .race-page .search-panel .search-input-wrap{min-height:49px}
  .race-page .search-panel .search-input-wrap input{min-height:47px;padding-block:11px;font-size:15px}
  .race-page .race-results-heading{margin:18px 0 13px}
  .race-snapshot>.snapshot-stat:nth-child(2),.race-snapshot>.snapshot-compare{display:none}
  .race-snapshot>.snapshot-stat:nth-child(3){border-top:0;border-left:1px solid var(--line)}
  .comparison-metrics{min-width:0;font-size:12px}
  .comparison-metrics th,.comparison-metrics td{padding:12px 8px;overflow-wrap:anywhere}
  .comparison-metrics thead th,.comparison-metrics tbody th{font-size:12px}
  .comparison-metrics i{width:5px;height:5px;margin-right:4px}
  .split-comparison th small{display:block;margin:0 0 4px}
  .split-comparison td small{font-size:12px}
}
@media(max-width:380px){.comparison-metrics{font-size:12px}.comparison-metrics th,.comparison-metrics td{padding:11px 6px}.comparison-metrics thead th,.comparison-metrics tbody th{font-size:12px}.split-comparison td small{font-size:12px}}
.compare-card{display:flex;flex-direction:column}
.compare-card .compare-position{margin-top:auto;padding-top:22px}
/* Race control: hard edges, dark instrumentation, orange/cyan/blue signals. */
.race-page{--brand:#c4510a;--brand-hover:#a64006;--brand-strong:#91400b;--brand-rgb:196 81 10}
.race-hero:after{content:"";position:absolute;right:12%;top:0;bottom:0;width:170px;border-inline:1px solid #ffffff0c;transform:skew(-23deg);pointer-events:none;z-index:-1}
.race-hero h1{font-style:italic;font-weight:700;letter-spacing:-.055em}
.race-hero h1 span{font-weight:400;color:#c0cede}
.race-edition{border-left:3px solid #ffad32;padding-left:22px}
.race-switcher a,.race-page .page-button,.race-page .search-panel,.race-page .search-panel-bottom,.race-page .filter-trigger,.race-page .search-input-wrap,.race-page .search-submit,.race-page .filter-popover{border-radius:3px}
.race-switcher a[aria-current]{border-color:#ffad32;color:#ffbf5e;background:#0c172999}
.race-page .search-panel{box-shadow:0 8px 24px #10213a0b;border-top:3px solid var(--brand)}
.race-page .polished-filter.has-selection .filter-trigger{background:var(--ink-bg);border-color:var(--ink-bg);color:#fff}
.race-page .polished-filter.has-selection .filter-trigger-icon,.race-page .polished-filter.has-selection .filter-caret{color:#b3c6de}
.race-page .filter-option[aria-selected=true]{background:var(--ink-bg);color:#fff}
.race-view-bar{display:block;margin-top:20px!important;border:1px solid var(--navy);background:var(--navy);border-radius:3px;overflow:hidden}
.race-view-bar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.race-view-bar nav a{color:#bac9dc;justify-content:center;gap:8px;min-height:62px;padding:15px 8px!important;border-right:1px solid #ffffff14;font-size:13px;white-space:nowrap}
.race-view-bar nav a:last-child{border-right:0}
.race-view-bar nav a small{font-size:12px;font-weight:400;color:#8b9cb4;font-variant-numeric:tabular-nums}
.race-view-bar nav a:hover{background:#ffffff09;color:white}
.race-view-bar nav a[aria-current]{color:white;background:#20344f}
.race-view-bar nav a[aria-current]:after{height:3px;bottom:0;border-radius:0;background:#ffad32}
.race-view-bar nav a[aria-current] small{color:#ffad32}
.race-view-bar nav a span{background:#ffffff12;color:#c5d4e6;font-size:12px;border-radius:2px;padding:3px 4px}
.race-view-utilities{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 12px;color:var(--muted);font-size:12px;letter-spacing:.07em}
.race-view-utilities>div{display:flex;gap:18px;flex:none}
.race-view-utilities button,.race-view-utilities a{background:none;border:0;color:var(--muted);font-size:12px;padding:5px 0;letter-spacing:0}
.race-view-utilities button:hover,.race-view-utilities a:hover{color:var(--brand)}
.race-snapshot{margin-top:0!important;border-radius:3px;background:var(--navy-deep);border-color:#283b54;color:white}
.race-snapshot>*+*{border-color:#2a3b54!important}
.race-snapshot .snapshot-heading .eyebrow,.race-snapshot small,.race-snapshot .snapshot-stat>span{color:#b0c1d7}
.race-snapshot .snapshot-stat .timing{color:#55d5d6}
.snapshot-compare{background:#172a43}
.snapshot-compare>svg{color:#ffad32}
.snapshot-compare:hover{background:#233c59}
.race-results-heading h2,.race-view-heading h2,.compare-heading h2{font-size:30px;font-weight:700;letter-spacing:-.045em;font-style:italic}
.race-results-heading .eyebrow,.race-view-heading .eyebrow,.compare-heading .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.results-board,.timing-scroll,.comparison-metrics-scroll,.comparison-tray,.compare-card,.compare-add-slot,.telemetry-panel,.race-empty,.compare-welcome{border-radius:3px}
.results-columns{background:var(--ink-bg);color:#cfdbeb}
.rider-number{border-radius:2px;background:var(--surface-soft);border:1px solid var(--line);transform:skew(-5deg)}
.rider-compare{border-radius:3px}
.rider-compare.is-selected{background:var(--ink-bg);border-color:var(--ink-bg);color:#fff}
.result-entry.comparison-selected{background:var(--canvas)}
.result-entry:hover{background:var(--canvas)}
.result-entry.comparison-selected:hover{background:var(--canvas)}
.result-best strong{font-weight:600}
.compare-card{border-top-width:4px}
.comparison-metrics thead th,.lap-breakdown thead th{background:var(--ink-bg);color:#d5e0ef}
.comparison-metrics thead th:first-child{color:#b6c7de}
.comparison-metrics td.split-best{background:var(--best-soft);color:var(--best)}
.comparison-metrics td.split-best small{color:var(--best)}
.race-view-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:26px 0 19px}
.race-view-heading h2{margin:7px 0 8px;line-height:1.15;scroll-margin-top:110px}
.race-view-heading p:last-child{font-size:13px;line-height:1.7;color:var(--muted);max-width:720px}
.heading-period{color:var(--brand)}
.race-page .opening-toggle{font-size:12px}
.race-page #directory-content{scroll-margin-top:102px}
.race-view-utilities{margin:6px 0 9px}
.race-view-utilities button,.race-view-utilities a{padding:2px 0}
@media(min-width:761px){.race-view-bar nav a{min-height:52px;padding-block:12px!important}.race-snapshot>div,.snapshot-compare{padding-block:12px!important}.race-snapshot small{margin-top:5px}.race-view-heading{margin-top:20px}.race-snapshot .snapshot-stat>span{margin-bottom:7px}}
.export-button{flex:none;font-size:12px;min-height:38px;padding:9px 13px}
.export-button svg{height:14px;width:14px}
.race-table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:3px;background:var(--white);scrollbar-width:thin;scrollbar-color:#93a8bf #e8eef5}
.race-data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:13px;font-variant-numeric:tabular-nums}
.race-data-table th,.race-data-table td{padding:17px 18px;white-space:nowrap;vertical-align:middle;border-bottom:1px solid var(--line);font-weight:400}
.race-data-table thead th{background:var(--ink-bg);color:#d2deed;font-size:12px;font-weight:500;letter-spacing:.035em;padding-block:15px}
.race-data-table tbody th{background:var(--white)}
.race-data-table tbody tr:last-child>*{border-bottom:0}
.race-data-table tbody tr:hover>*{background:var(--canvas)}
.race-data-table td small{display:block;font-size:12px;color:var(--muted);margin-top:5px;letter-spacing:0}
.race-data-table .sticky-rider{position:sticky;left:0;z-index:1;min-width:230px;max-width:270px;box-shadow:1px 0 0 var(--line)}
.race-data-table thead .sticky-rider{z-index:2}
.timing-rider{display:flex;gap:11px;align-items:center;white-space:normal}
.timing-rider>span:last-child{min-width:0}
.timing-rider strong{display:block;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.timing-rider small{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}
.timing-number{display:inline-block;min-width:33px;max-width:65px;overflow-wrap:anywhere;padding:7px 5px;font-size:12px;font-weight:600;text-align:center;font-style:italic;background:var(--surface-soft);border-left:2px solid #a7bacd}
.race-data-table .timing-position{font-size:16px;font-weight:600;font-style:italic;color:var(--navy)}
.race-data-table .timing-total{font-weight:600}
.race-data-table .cell-personal-best{position:relative;background:var(--best-soft);color:var(--best);font-weight:600}
.cell-personal-best .split-best-mark{position:absolute;top:8px;right:7px;font-size:12px}
.race-data-table .best-time-value{color:var(--best);font-weight:600}
.lap-times-table td{min-width:112px}
.lap-times-table .sticky-rider{min-width:240px}
.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 17px}
.timing-key{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.key-best{height:7px;width:7px;background:var(--best);transform:rotate(45deg)}
.timing-scroll-hint{margin-left:14px;color:var(--text-subtle)}
.fastest-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;gap:40px;align-items:center;justify-content:space-between;padding:28px 34px;background:var(--navy-deep);color:#fff;border-left:4px solid #55d5d6;border-radius:3px;margin-bottom:20px}
.fastest-banner .eyebrow{color:#93afc9;font-size:12px}
.fastest-banner>div:first-child>strong{display:block;font-size:48px;line-height:1.15;color:#55d5d6;letter-spacing:-.05em;font-style:italic;font-variant-numeric:tabular-nums;margin:8px 0 10px}
.fastest-banner>div:first-child>span:last-child{font-size:14px}
.fastest-banner b{font-size:12px;font-weight:400;color:#9eb4cd;margin-left:9px}
.fastest-banner-detail{display:flex;flex-direction:column;align-items:end;gap:12px;font-size:12px;z-index:1}
.fastest-banner-detail strong{font-size:25px;font-style:italic;letter-spacing:-.04em}
.fastest-banner-detail small{color:#b4c6dd;font-size:12px}
.speed-stripes{position:absolute;inset:0 20% 0 55%;transform:skew(-24deg);background:repeating-linear-gradient(90deg,#ffffff05 0 26px,transparent 26px 51px);z-index:-1}
.analysis-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}
.analysis-charts .telemetry-panel{margin:0;padding:24px 23px 20px}
.telemetry-heading h3{font-size:25px;font-weight:600;font-style:italic;letter-spacing:-.04em}
.analysis-charts .chart-legend{gap:14px;font-size:12px;margin-top:20px}
.analysis-charts .comparison-chart{min-height:0;max-height:none}
.analysis-charts .chart-note{font-size:12px}
.data-meter{width:100%;height:4px;display:block}
.meter-track{fill:var(--surface-soft)}.meter-fill{fill:var(--best)}
.meter-tone-0 .meter-fill{fill:color-mix(in srgb,#097d88 var(--ink-keep),#fff)}.meter-tone-1 .meter-fill{fill:color-mix(in srgb,#2864ab var(--ink-keep),#fff)}.meter-tone-2 .meter-fill{fill:color-mix(in srgb,#c4510a var(--ink-keep),#fff)}
.consistency-cell{min-width:120px}
.consistency-cell strong{font-size:14px;font-weight:600;display:block;margin-bottom:8px}
.pace-sparkline{width:110px;height:32px;display:block}
.pace-sparkline polyline{fill:none;stroke:color-mix(in srgb,#087e8a var(--ink-keep),#fff);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.report-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--ink-bg);color:white;border-radius:3px;margin-bottom:28px}
.report-overview>div{padding:24px 28px;border-top:3px solid #304a6a}
.report-overview>div+div{border-left:1px solid #ffffff17}
.report-overview>div:last-child{border-top-color:#55d5d6}
.report-overview span{font-size:12px;color:#b6c9df;display:block}
.report-overview strong{display:block;font-size:42px;font-style:italic;letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin:12px 0}
.report-overview .report-time{color:#55d5d6}
.report-overview small{display:block;font-size:12px;color:#b6c9df;line-height:1.6}
.report-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 17px}
.report-section-heading .eyebrow,.report-card-heading .eyebrow{font-size:12px;color:var(--muted);margin-bottom:8px}
.report-section-heading h3,.report-card-heading h3{font-size:24px;font-style:italic;letter-spacing:-.04em}
.report-section-heading>span{font-size:12px;color:var(--muted)}
.report-pace-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;background:var(--white);border:1px solid var(--line);padding:22px 25px;margin-bottom:15px;border-radius:3px}
.report-pace-bars>div{display:grid;grid-template-columns:1fr auto;gap:15px 10px}
.report-pace-bars span{font-size:12px;color:var(--muted)}
.report-pace-bars strong{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.report-pace-bars .data-meter{grid-column:1/-1}
.report-breakdowns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0 30px}
.report-breakdown{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:25px 28px}
.report-card-heading{padding-bottom:19px;border-bottom:1px solid var(--line)}
.breakdown-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:18px}
.breakdown-list li>div{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:10px}
.breakdown-list strong{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.breakdown-list small{display:inline-block;min-width:52px;text-align:right;font-size:12px;font-weight:400;color:var(--muted)}
.report-passing>.race-note{margin:-5px 0 17px}
.net-passes{color:var(--best);font-size:15px;font-weight:600!important}
.report-empty{padding:25px;border:1px solid var(--line);background:var(--white);color:var(--muted);font-size:14px}
@media(max-width:1100px){.race-view-bar nav a{font-size:12px;gap:5px}.race-view-bar nav a small{display:none}.analysis-charts{grid-template-columns:1fr}.analysis-charts .comparison-chart{max-height:300px}.report-overview strong{font-size:34px}.report-pace-bars{gap:18px;padding:18px}}
@media(max-width:760px){
  .race-view-bar{margin-top:17px!important}.race-view-bar nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}.race-view-bar nav a{font-size:12px;min-height:49px;padding:12px 3px!important;gap:4px;border-bottom:1px solid #ffffff14}.race-view-bar nav a:nth-child(3){border-right:0}.race-view-bar nav a span{font-size:12px;padding:2px 3px}
  .race-view-utilities{font-size:12px;gap:8px;letter-spacing:.02em}.race-view-utilities>div{gap:13px}.race-view-utilities button{display:none}
  .race-snapshot>div{padding:14px}.race-snapshot strong{font-size:14px}.race-snapshot .snapshot-stat .timing{font-size:23px}
  .race-view-heading{gap:14px;margin:22px 0 17px;align-items:start}.race-view-heading h2{font-size:27px}.race-view-heading .eyebrow{font-size:12px;letter-spacing:.07em}.race-view-heading p:last-child{font-size:12px}
  .export-button{padding:8px!important;font-size:12px!important;min-height:37px!important;gap:7px!important}.export-button svg{display:none}
  .race-data-table th,.race-data-table td{padding:14px 12px;font-size:12px}.race-data-table thead th{font-size:12px}.race-data-table .sticky-rider{min-width:172px;max-width:172px}.timing-rider{gap:7px}.timing-rider strong{font-size:12px}.timing-rider small{font-size:12px}.timing-number{min-width:25px;max-width:40px;padding:5px 3px;font-size:12px}
  .view-toolbar{gap:13px}.timing-key{font-size:12px;gap:7px;flex-wrap:wrap}.timing-scroll-hint{font-size:12px;margin-left:4px}.opening-toggle{font-size:12px}
  .fastest-banner{padding:23px 20px;gap:15px}.fastest-banner>div:first-child>strong{font-size:37px}.fastest-banner>div:first-child>span:last-child{font-size:13px}.fastest-banner-detail{font-size:12px;text-align:right;gap:10px}.fastest-banner-detail strong{font-size:19px}.fastest-banner-detail small{font-size:12px;max-width:110px}
  .analysis-charts{gap:13px}.analysis-charts .telemetry-panel{padding:20px 15px 17px}.telemetry-heading h3{font-size:23px}.analysis-charts .chart-note{font-size:12px}
  .report-overview{gap:0;margin-bottom:22px}.report-overview>div{padding:17px 12px}.report-overview span{font-size:12px;line-height:1.5;min-height:24px}.report-overview strong{font-size:29px;margin:11px 0}.report-overview .report-time{font-size:19px;margin-top:18px;margin-bottom:15px}.report-overview small{font-size:12px}
  .report-section-heading{align-items:start;gap:16px}.report-section-heading h3,.report-card-heading h3{font-size:23px}.report-section-heading>span{font-size:12px;max-width:125px;line-height:1.6;text-align:right}.report-section-heading .eyebrow,.report-card-heading .eyebrow{font-size:12px}
  .report-pace-bars{grid-template-columns:1fr;gap:18px;padding:20px}.report-pace-bars>div{gap:8px}.report-breakdowns{grid-template-columns:1fr;gap:14px;margin-block:18px}.report-breakdown{padding:22px}.breakdown-list{gap:16px}.report-card-heading{padding-bottom:15px}
}
@media(max-width:380px){.race-view-bar nav a{font-size:12px}.race-view-bar nav a span{font-size:12px}.race-data-table .sticky-rider{min-width:145px;max-width:145px}.race-data-table th,.race-data-table td{padding:13px 10px}.timing-rider{gap:5px}.timing-rider strong{font-size:12px}.timing-rider small{font-size:12px}.report-overview>div{padding-inline:9px}.report-overview .report-time{font-size:16px}.race-view-heading h2{font-size:24px}.fastest-banner-detail small{display:none}}
@media print{.race-view-utilities,.export-button{display:none!important}.race-table-scroll{overflow:visible}.race-data-table{font-size:12px}.race-data-table th,.race-data-table td{padding:7px}.race-snapshot,.report-overview,.fastest-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact}.analysis-charts{grid-template-columns:1fr}.race-data-table .sticky-rider{position:static;min-width:0}}
@media(min-width:761px){.race-page .search-panel-top,.race-page .search-panel-bottom{padding-block:15px}.race-snapshot{margin-top:16px}.race-snapshot>div,.snapshot-compare{padding-block:15px}.race-view-bar{margin-top:10px}.race-view-bar nav a{padding-block:14px}.race-results-heading{margin-top:18px}.race-results-heading h2{font-size:28px}}
@media(min-width:1181px){.result-row{padding-top:16px;padding-bottom:10px}.rider-detail summary{padding-bottom:11px}}
@media print{.site-header,.site-footer,.skip-link,.search-panel,.race-switcher,.race-view-bar,.snapshot-compare,.comparison-tray,.rider-compare,.compare-card-top a,.compare-heading button,.compare-add-slot,.opening-toggle,.race-pagination{display:none!important}.race-hero,.race-content{background:var(--white)!important;color:color-mix(in srgb,#10213a var(--ink-keep),#fff)}.race-hero-image,.race-edition{display:none}.wrap{width:100%;max-width:none}.race-snapshot{grid-template-columns:repeat(3,1fr)}.result-entry,.compare-card,.telemetry-panel{break-inside:avoid}.race-content{padding:0}.comparison-metrics-scroll{overflow:visible}.telemetry-panel{-webkit-print-color-adjust:exact;print-color-adjust:exact}.race-results-heading{margin-top:20px}.race-page .race-hero h1 span,.race-page .race-hero-meta,.race-page .race-hero .eyebrow,.race-page .race-breadcrumb{color:color-mix(in srgb,#536179 var(--ink-keep),#fff)}}
/* Compact race results, close to the sites.livelaps.com leaderboard. */
body.race-page .race-head{padding:0 0 4px;background:var(--canvas)}body.race-page .race-head .race-breadcrumb{color:var(--muted);padding-top:20px}body.race-page .race-head .race-breadcrumb a:hover{color:var(--navy)}
.race-head-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;padding:18px 22px;background:var(--white);border:1px solid var(--line);border-radius:14px}.race-head-title{min-width:0}.race-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-secondary)}.race-back svg{width:17px;height:17px}.race-back:hover{color:var(--brand)}
.race-head h1{font-size:clamp(26px,2.6vw,34px);line-height:1.15;letter-spacing:-.03em;color:var(--navy)}.race-head-title>h1{margin-top:6px}.race-head-meta{margin-top:6px;font-size:14px;color:var(--muted)}
.race-picker{position:relative;margin-top:6px}.race-picker summary{display:inline-flex;align-items:center;gap:10px;list-style:none;cursor:pointer;border-bottom:1px solid var(--line);padding-bottom:4px}.race-picker summary::-webkit-details-marker{display:none}.race-picker summary svg{width:22px;color:var(--muted);transition:transform .2s}.race-picker[open] summary svg{transform:rotate(180deg)}
.race-picker .race-switcher{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:flex;flex-direction:column;gap:2px;min-width:240px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:0 16px 40px #10213a24}.race-picker .race-switcher a{display:block;padding:10px 12px;border:0;border-radius:7px;background:none;color:var(--navy);font-size:15px;font-weight:500}.race-picker .race-switcher a:hover{background:var(--canvas)}.race-picker .race-switcher a[aria-current]{background:var(--surface-soft);font-weight:600}
.race-head-actions{display:flex;gap:10px;flex:none}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--white);box-shadow:0 0 0 3px #ffffff40}
body.race-page .race-content{padding-top:8px}
body.race-page .search-panel{margin-top:14px;border-radius:12px;box-shadow:none}body.race-page .search-panel-heading,body.race-page .search-panel-bottom{display:none}body.race-page .search-panel-top{padding:12px}
.race-class-tabs{display:flex;gap:4px;margin-top:22px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.race-class-tabs::-webkit-scrollbar{display:none}.race-class-tabs a{flex:none;padding:12px 22px;font-size:16px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.race-class-tabs a:hover{color:var(--navy)}.race-class-tabs a[aria-current]{color:var(--navy);border-bottom-color:var(--brand)}
/* Class strip: arrows and edge fades while it overflows, drag to scroll, and an "All classes" menu. The arrows always keep their
   place in the layout (hidden, not removed, without overflow) so the strip's width never changes under the scroll maths. */
.race-class-nav{position:relative;display:flex;align-items:stretch;gap:4px;margin-top:22px;border-bottom:1px solid var(--line)}
.race-class-nav .race-class-tabs{flex:1 1 auto;min-width:0;margin-top:0;margin-bottom:-1px;border-bottom:0;cursor:grab}
.race-class-nav .race-class-tabs.is-dragging{cursor:grabbing;user-select:none}
.race-class-nav .race-class-tabs a{margin-bottom:0}
.race-class-nav .race-class-tabs.is-dragging a{pointer-events:none}
.race-class-arrow{display:flex;flex:none;align-items:center;justify-content:center;width:36px;border:0;background:none;color:var(--navy);cursor:pointer}
.race-class-arrow svg{width:20px;height:20px}
.race-class-arrow:hover:not([aria-disabled=true]){color:var(--brand)}
.race-class-arrow[aria-disabled=true]{opacity:.3;cursor:default}
.race-class-nav:not(.has-overflow) .race-class-arrow{visibility:hidden;pointer-events:none}
.race-class-nav.has-overflow.fade-start .race-class-tabs{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
.race-class-nav.has-overflow.fade-end .race-class-tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.race-class-nav.has-overflow.fade-start.fade-end .race-class-tabs{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.race-class-menu{flex:none;display:flex;align-items:center}
.race-class-menu summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;padding:8px 12px;margin:4px 0;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--navy);font-size:14px;font-weight:600;white-space:nowrap}
.race-class-menu summary::-webkit-details-marker{display:none}
.race-class-menu summary:hover{border-color:var(--border-strong)}
.race-class-menu .race-class-count{color:var(--muted);font-weight:500}
.race-class-menu summary svg{width:16px;height:16px;color:var(--muted);transition:transform .2s}
.race-class-menu[open] summary svg{transform:rotate(180deg)}
/* The current class name and the "N classes" count are for phones, where the strip is gone and the menu is the class picker. */
.race-class-menu .race-class-current,.race-class-menu .race-class-total{display:none}
.race-class-panel{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:min(760px,100%);max-height:min(60vh,420px);overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:2px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:0 16px 40px #10213a24}
.race-class-panel a{display:block;padding:9px 10px;border-radius:7px;font-size:14px;font-weight:500;color:var(--navy)}
.race-class-panel a:hover,.race-class-panel a:focus-visible{background:var(--canvas);outline:none}
.race-class-panel a[aria-current]{background:var(--surface-soft);font-weight:700;color:var(--brand)}
html[data-theme=dark] .race-class-panel{box-shadow:0 16px 40px #00000066}
@media(max-width:760px){
  .race-class-nav .race-class-tabs,.race-class-arrow{display:none}
  .race-class-nav{gap:0}
  .race-class-menu{flex:1 1 auto;min-width:0}
  .race-class-menu summary{flex:1 1 auto;min-width:0;justify-content:flex-start;margin:4px 0;padding:10px 12px}
  .race-class-menu .race-class-label{display:none}
  .race-class-menu .race-class-current{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--navy);font-size:15px;font-weight:600}
  .race-class-menu .race-class-total{display:inline;flex:none;color:var(--muted);font-weight:500}
  .race-class-panel{width:100%}
}

body.race-page .race-view-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding:0;border:0;background:none}body.race-page .race-view-bar nav{display:flex;flex:none;gap:2px;padding:4px;border-radius:10px;background:var(--surface-soft);overflow-x:auto;scrollbar-width:none;max-width:100%}body.race-page .race-view-bar nav::-webkit-scrollbar{display:none}
body.race-page .race-view-bar nav a{flex:none;display:flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-radius:7px;font-size:14px;font-weight:500;color:var(--muted);background:none;white-space:nowrap}body.race-page .race-view-bar nav a:after{display:none}body.race-page .race-view-bar nav a:hover{color:var(--navy)}body.race-page .race-view-bar nav a[aria-current]{background:var(--white);color:var(--navy);font-weight:600;box-shadow:0 1px 3px #10213a1f}body.race-page .race-view-bar nav a span{font-size:12px;padding:2px 5px;border-radius:4px;background:var(--canvas)}
body.race-page .race-view-utilities{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px;font-size:14px;color:var(--muted);text-transform:none;letter-spacing:0}body.race-page .race-view-utilities div{display:flex;gap:8px}body.race-page .race-view-utilities a,body.race-page .race-view-utilities button{display:inline-flex;align-items:center;padding:7px 12px;font-size:14px;font-weight:500;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:8px}body.race-page .race-view-utilities a:hover,body.race-page .race-view-utilities button:hover{border-color:var(--navy)}
.lb-scroll{border:1px solid var(--line);border-radius:12px;background:var(--white);overflow-x:auto}.leaderboard{width:100%;border-collapse:collapse;font-size:15px;color:var(--navy);font-variant-numeric:tabular-nums}.leaderboard thead th{position:sticky;top:0;padding:12px 14px;text-align:left;font-size:13px;font-weight:600;color:var(--muted);background:var(--white);border-bottom:1px solid var(--line);white-space:nowrap}
.leaderboard td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.lb-entry:last-child .lb-row td{border-bottom:0}.lb-entry:hover .lb-row td{background:var(--canvas)}.lb-entry.is-open .lb-row td{background:var(--canvas);border-bottom-color:transparent}.lb-entry.comparison-selected .lb-row td:first-child{box-shadow:inset 3px 0 0 var(--brand)}
.lb-pos{width:96px}.lb-pos strong{font-size:18px;font-weight:700}.lb-pos sup{font-size:11px;font-weight:600;margin-left:1px;vertical-align:baseline}.lb-pos small{font-size:13px;font-weight:700;color:var(--brand-strong)}.lb-change{display:inline-flex;align-items:center;gap:2px;margin-left:10px;font-size:12px;font-weight:600}.lb-change span{font-size:9px}.lb-change.up{color:color-mix(in srgb,#15803d var(--ink-keep),#fff)}.lb-change.down{color:color-mix(in srgb,#b91c1c var(--ink-keep),#fff)}
.lb-gap{color:var(--text-secondary)}.lb-rider{white-space:normal!important;min-width:180px}.lb-rider-meta{display:block;font-size:13px;color:var(--muted)}.lb-rider-name{font-weight:600;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.lb-rider-name:hover{color:var(--brand);text-decoration-color:currentColor}.lb-mobile-gap{display:none}.lb-brand{color:var(--text-secondary)}.lb-time{text-align:left}.lb-fastest{color:color-mix(in srgb,#7c3aed var(--ink-keep),#fff);font-weight:700}
.lb-actions{width:1%;text-align:right}.lb-actions>*{vertical-align:middle}.lb-actions .rider-compare{display:inline-flex;align-items:center;padding:5px 10px;font-size:13px;font-weight:500;color:var(--text-secondary);border:1px solid var(--line);border-radius:7px;background:var(--white);white-space:nowrap}.lb-actions .rider-compare:hover{border-color:var(--navy);color:var(--navy)}.lb-actions .rider-compare.is-selected{border-color:var(--brand);color:var(--brand-strong)}
.lb-toggle{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:6px;border:0;border-radius:7px;background:none;color:var(--muted)}.lb-toggle:hover{background:var(--surface-soft);color:var(--navy)}.lb-toggle svg{width:20px;transition:transform .2s}.lb-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.lb-detail>td{padding:4px 14px 18px!important;background:var(--canvas);white-space:normal!important}.lb-detail .rider-detail{border:0;margin:0;padding:0;background:none}.rider-detail-title{display:flex;align-items:center;gap:8px;margin:6px 0 12px;font-size:14px;font-weight:600;color:var(--navy)}.rider-detail-title svg{width:17px}.rider-detail-title span{font-weight:500;color:var(--muted)}
body.race-page .race-pagination{margin-top:14px}body.race-page .race-source-note{margin-top:18px;font-size:13px;color:var(--muted)}
@media(max-width:760px){.race-head-card{flex-direction:column;align-items:stretch;padding:16px}.race-head-actions .button{width:100%}.race-class-tabs a{padding:11px 16px;font-size:15px}body.race-page .race-view-bar nav{width:100%}body.race-page .race-view-utilities>span{display:none}body.race-page .race-view-utilities{justify-content:flex-end}
.leaderboard{font-size:14px}.leaderboard .lb-optional,.leaderboard .lb-gap{display:none}.leaderboard td,.leaderboard thead th{padding:10px 8px}.lb-pos{width:62px}.lb-change{display:flex;margin:2px 0 0}.lb-rider{min-width:0}.lb-mobile-gap{display:block;font-size:13px;color:var(--muted)}.lb-actions .rider-compare{padding:4px 8px}.lb-toggle{margin-left:2px}}
.leaderboard .lb-actions .rider-compare{min-width:0;min-height:0;width:auto;height:32px;padding:0 10px;font-size:13px}
@media(max-width:1180px){.leaderboard .lb-state{display:none}}
@media(max-width:760px){.leaderboard .lb-actions .rider-compare{width:32px;padding:0;font-size:0}}
@media(max-width:760px){.lb-detail>td{padding:4px 8px 14px!important}.lb-detail .rider-detail{width:calc(100vw - 50px);max-width:100%}.lb-detail .timing-scroll{overflow-x:auto}.lb-detail .rider-timing-summary{flex-wrap:wrap;gap:12px 20px}}
/* Calmer secondary views to match the leaderboard. */
body.race-page .race-view-heading{margin:8px 0 14px}body.race-page .race-view-heading .eyebrow,body.race-page .compare-heading .eyebrow,body.race-page .heading-period{display:none}body.race-page .race-view-heading h2,body.race-page .compare-heading h2{margin:0 0 4px;font-size:22px;font-style:normal;font-weight:700;letter-spacing:-.02em}body.race-page .race-view-heading p:last-child{font-size:15px;line-height:1.5}
body.race-page .race-data-table thead th{background:var(--white);color:var(--muted);font-size:13px;font-weight:600;letter-spacing:0;border-bottom:1px solid var(--line)}body.race-page .race-data-table th,body.race-page .race-data-table td{padding:11px 14px}
body.race-page .race-view-bar nav a span{color:var(--muted)}
.lb-brand-logo{display:block;width:34px;height:22px;object-fit:contain}.lb-brand-logo:not([hidden])+.lb-brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Race report charts, restored from sites.livelaps.com. */
.report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 18px}.report-kpi{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.report-kpi span{display:block;font-size:14px;color:var(--muted)}.report-kpi strong{display:block;margin-top:4px;font-size:26px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.report-kpi small{display:block;margin-top:2px;font-size:13px;color:var(--muted)}.report-kpi svg{width:22px;height:22px;flex:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.report-kpi .kpi-badge{display:inline-block;margin:0 0 0 6px;padding:2px 8px;font-size:13px;font-weight:600;border-radius:999px;background:var(--surface-soft);vertical-align:middle}
.report-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.report-chart{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);min-width:0}.report-chart h3{font-size:17px;font-weight:600;color:var(--navy);margin-bottom:14px}
.donut-wrap{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px}.donut{width:180px;height:180px}.donut circle{fill:none;stroke-width:20}.donut circle:hover{stroke-width:24}.donut-total{font-size:22px;font-weight:700;fill:var(--navy)}.donut-caption{font-size:10px;fill:var(--muted)}
.chart-legend-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.chart-legend-list li{display:grid;grid-template-columns:10px auto 1fr auto 56px;align-items:center;gap:8px;font-size:14px;color:var(--navy)}.chart-legend-list li:not(:has(img)){grid-template-columns:10px 1fr auto 56px}.chart-legend-list i{width:10px;height:10px;border-radius:50%}.chart-legend-list img{width:22px;height:22px;object-fit:contain}.chart-legend-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend-list strong{font-weight:600;text-align:right}.chart-legend-list small{text-align:right;color:var(--muted);font-size:13px}
.bar-chart,.movers-chart{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bar-chart li,.movers-chart li{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.bar-chart li>span{text-align:right}.bar-chart div,.movers-chart div{display:flex;align-items:center;gap:8px;min-width:0}.bar-chart b,.movers-chart b{display:block;height:20px;min-width:3px;border-radius:4px}.bar-chart strong,.movers-chart strong{font-size:13px;font-weight:600;color:var(--navy);white-space:nowrap}
.movers-chart li{grid-template-columns:minmax(150px,240px) 1fr}.movers-chart li>span{display:flex;flex-direction:column;color:var(--navy);font-weight:600}.movers-chart small{font-size:12px;font-weight:500;color:var(--muted)}.movers-chart .up b{background:#16a34a}.movers-chart .up strong{color:#15803d}.movers-chart .down b{background:#dc2626}.movers-chart .down strong{color:#b91c1c}body.race-page .report-chart+.report-timing,.report-charts+.report-chart{margin-bottom:12px}
html[data-theme=dark] .movers-chart .up strong{color:#4ade80}html[data-theme=dark] .movers-chart .down strong{color:#f87171}
/* Analytics: every rider's progression. */
.bump-panel{margin-bottom:18px}.bump-panel .telemetry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bump-panel h3{font-size:18px;font-style:normal}.chart-mode{display:flex;gap:2px;padding:3px;border-radius:9px;background:var(--surface-soft)}.chart-mode button{padding:7px 12px;border:0;border-radius:7px;background:none;font-size:14px;font-weight:500;color:var(--muted)}.chart-mode button[aria-pressed=true]{background:var(--white);color:var(--navy);font-weight:600;box-shadow:0 1px 3px #10213a1f}
.bump-panel .race-table-scroll{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:8px}.bump-chart{display:block;width:100%;min-width:720px;height:auto}.bump-chart .chart-grid line{stroke:var(--line)}.bump-chart .chart-grid text{fill:var(--muted);font-size:12px}
.bump-line path{fill:none;stroke:var(--series);stroke-width:1.8;transition:opacity .15s,stroke-width .15s}.bump-line circle{fill:var(--white);stroke:var(--series);stroke-width:1.4}.bump-line text{font-size:11px;font-weight:600;fill:var(--series)}.bump-line.is-chosen path{stroke-width:3.6}.bump-chart:has(.bump-line:hover) .bump-line{opacity:.18}.bump-chart:has(.bump-line:hover) .bump-line:hover{opacity:1}.bump-chart .bump-line:hover path:not(.bump-hit){stroke-width:3.6}.bump-chart .bump-line:hover path:not(.bump-hit){stroke-width:3.4}
@media(max-width:980px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-charts{grid-template-columns:1fr}}
@media(max-width:560px){.donut-wrap{grid-template-columns:1fr;justify-items:center}.report-kpi strong{font-size:22px}.bar-chart li{grid-template-columns:80px 1fr}.movers-chart li{grid-template-columns:1fr}}
body.race-page .bump-panel{padding:0;border:0;background:none;color:var(--navy);box-shadow:none}body.race-page .bump-panel:before,body.race-page .bump-panel:after{display:none}body.race-page .bump-panel .chart-note{color:var(--muted);font-size:13px;margin-top:8px}
body.race-page .report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 10px}body.race-page .report-section-heading h3{font-size:18px;font-style:normal;font-weight:600;letter-spacing:-.01em;color:var(--navy)}body.race-page .report-section-heading>span{font-size:13px;color:var(--muted)}
/* Brand logos large enough to recognise. */
.lb-brand-logo{width:72px;height:38px;object-fit:contain;object-position:left center}.leaderboard .lb-brand{min-width:84px}.chart-legend-list img{width:32px;height:32px}
@media(max-width:760px){.lb-brand-logo{width:52px;height:30px}}

.bump-line .bump-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke}.bump-line path:not(.bump-hit){pointer-events:none}.bump-line circle,.bump-line text{pointer-events:none}

/* Brand logos: large, no backing; a faint outline keeps dark logos visible in dark mode. */
.leaderboard .lb-brand-logo{width:96px;height:44px}.leaderboard .lb-brand{min-width:108px}
html[data-theme=dark] .lb-brand-logo{filter:drop-shadow(0 0 1px rgba(255,255,255,.75)) drop-shadow(0 0 3px rgba(255,255,255,.18))}
@media(max-width:760px){.leaderboard .lb-brand-logo{width:60px;height:32px}}
/* Row headers (the name column) get the same lines and spacing as the other cells. */
.leaderboard tbody th{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;font-weight:400}.leaderboard tbody.lb-entry:last-child .lb-row th,.leaderboard tbody tr:last-child th{border-bottom:0}
@media(max-width:760px){.leaderboard tbody th{padding:10px 8px}}
/* Print dialog, after the old site's "Print leaderboard" dialog. */
.print-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--navy);box-shadow:0 24px 60px #0b162740}
.print-dialog::backdrop{background:#0b1627a6}
.print-dialog-form{display:grid;gap:18px;padding:24px}
.print-dialog h2{margin:0;font-size:20px;letter-spacing:-.02em}
.print-dialog-description{margin:-10px 0 0;font-size:14px;color:var(--muted)}
.print-field{display:grid;gap:8px}
.print-field>label,.print-label{font-size:14px;font-weight:600}
.print-field select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--navy);font:inherit;font-size:15px}
.print-choices{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.print-select-all{display:block;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:var(--canvas);text-align:left;font:inherit;font-size:14px;font-weight:600;color:var(--brand-strong);cursor:pointer}
.print-choices ul{max-height:220px;overflow:auto;margin:0;padding:6px 0;list-style:none}
.print-choices label,.print-check{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:14px;cursor:pointer}
.print-check{padding:0}
.print-choices input,.print-check input{width:16px;height:16px;accent-color:var(--brand)}
.print-error{margin:0;font-size:13px;color:color-mix(in srgb,#b91c1c var(--ink-keep),#fff)}
.print-actions{display:flex;justify-content:flex-end;gap:10px}
.print-actions .page-button{min-height:43px}
.race-picker .race-switcher{max-height:min(70vh,520px);overflow-y:auto}
.race-switcher-label{margin:8px 10px 4px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.race-switcher-label:first-child{margin-top:4px}.race-switcher-label:not(:first-child){padding-top:8px;border-top:1px solid var(--line)}
.race-picker .race-switcher a.race-switcher-series{display:flex;align-items:flex-start;gap:10px}
.race-switcher-series svg{flex:none;width:16px;height:16px;margin-top:3px;color:var(--brand)}
.race-switcher-series small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.sort-head{display:inline-flex;align-items:center;gap:6px;color:inherit;white-space:nowrap}.sort-head span{font-size:11px;color:var(--muted)}.sort-head:hover{color:var(--navy)}
th[aria-sort] .sort-head{color:var(--navy)}th[aria-sort] .sort-head span{color:var(--brand)}
@media print{.sort-head span{display:none}}
/* One table style on every race view, the leaderboard's: white header with muted labels, roomy
   rows divided by a line, a hover tint and a rounded frame. Riders and places use race-rider.js. */
body.race-page :is(.race-table-scroll,.comparison-metrics-scroll){border:1px solid var(--line);border-radius:12px;background:var(--white);padding:0;box-shadow:none}
body.race-page :is(.race-data-table,.comparison-metrics){width:100%;border-collapse:collapse;border-spacing:0;font-size:15px;color:var(--navy);font-variant-numeric:tabular-nums;background:none}
body.race-page :is(.race-data-table,.comparison-metrics) thead th{position:sticky;top:0;padding:12px 14px;text-align:left;font-size:13px;font-weight:600;font-style:normal;letter-spacing:0;text-transform:none;color:var(--muted);background:var(--white);border-bottom:1px solid var(--line)}
body.race-page :is(.race-data-table,.comparison-metrics) :is(tbody th,tbody td){padding:10px 14px;font-size:15px;font-weight:400;vertical-align:middle;white-space:nowrap;color:var(--navy);background:var(--white);border-bottom:1px solid var(--line)}
body.race-page :is(.race-data-table,.comparison-metrics) tbody tr:last-child>*{border-bottom:0}
body.race-page :is(.race-data-table,.comparison-metrics) tbody tr:hover>*{background:var(--canvas)}
body.race-page :is(.race-data-table,.comparison-metrics) td small{font-size:13px;color:var(--muted);margin-top:2px}
body.race-page .race-data-table .sticky-rider{min-width:200px;max-width:260px;white-space:normal;box-shadow:none}
body.race-page .race-data-table .timing-position{font-size:15px;font-style:normal;font-weight:400}
body.race-page :is(.race-data-table,.heatmap-table) .timing-position strong,body.race-page .race-data-table .timing-position{color:var(--navy)}
body.race-page .race-data-table .timing-position strong{font-size:18px;font-weight:700}
body.race-page .race-data-table .timing-position sup{font-size:11px;font-weight:600;margin-left:1px;vertical-align:baseline}
body.race-page .comparison-metrics tbody th{color:var(--text-secondary);font-size:14px}
body.race-page .comparison-metrics thead th i{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--rider-color,currentColor)}
body.race-page .lb-rider-meta{white-space:normal}
body.race-page :is(.race-data-table,.comparison-metrics,.heatmap-table) .lb-rider-meta{font-size:13px;color:var(--muted)}
body.race-page :is(.race-data-table,.comparison-metrics,.heatmap-table) .lb-rider-name{font-size:15px;font-weight:600;color:var(--navy)}
body.race-page .comparison-metrics td strong{font-size:18px;font-weight:700}body.race-page .comparison-metrics sup{font-size:11px;font-weight:600;vertical-align:baseline}
/* Compare buttons as on the leaderboard. */
body.race-page .race-data-table .rider-compare{display:inline-flex;align-items:center;gap:6px;width:auto;min-width:0;min-height:0;height:32px;padding:0 10px;font-size:13px;font-weight:500;color:var(--text-secondary);border:1px solid var(--line);border-radius:7px;background:var(--white);white-space:nowrap}
body.race-page .race-data-table .rider-compare:hover{border-color:var(--navy);color:var(--navy)}
body.race-page .race-data-table .rider-compare.is-selected{border-color:var(--brand);color:var(--brand-strong)}
body.race-page .race-data-table .rider-compare svg{width:14px;height:14px}

/* Race filter panel, column menu and expanded rows (as on sites.livelaps.com) */
html[data-race-hide~="gap"] .leaderboard [data-col="gap"],html[data-race-hide~="state"] .leaderboard [data-col="state"],html[data-race-hide~="brand"] .leaderboard [data-col="brand"],html[data-race-hide~="group"] .leaderboard [data-col="group"],html[data-race-hide~="total"] .leaderboard [data-col="total"],html[data-race-hide~="lastLap"] .leaderboard [data-col="lastLap"],html[data-race-hide~="best"] .leaderboard [data-col="best"],html[data-race-hide~="average"] .leaderboard [data-col="average"],html[data-race-hide~="laps"] .leaderboard [data-col="laps"],html[data-race-hide~="speed"] .leaderboard [data-col="speed"],html[data-race-hide~="penalty"] .leaderboard [data-col="penalty"],html[data-race-hide~="checks"] .leaderboard [data-col="checks"]{display:none!important}
.race-page .search-panel-bottom{display:none}.race-filter-bar{margin:0 0 14px}.leaderboard-tools{display:flex;justify-content:flex-end;margin:0 0 10px}.column-menu .filter-multi-panel{left:auto;right:0;width:220px}
.best-chip{margin-left:8px;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--brand) 14%,var(--white));color:var(--navy);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600}
.lap-breakdown .lap-diff{color:var(--muted);font-variant-numeric:tabular-nums}.lap-breakdown .lb-change{display:inline-flex;margin-left:6px}.checkpoint-splits small{color:var(--muted)}
/* Race timeline: one track per day, as on the old event report */
.timeline-axis{position:relative;height:56px;margin:8px 0 6px}.timeline-axis::before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--line)}
.timeline-tick{position:absolute;top:0;transform:translateX(-50%);font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.timeline-tick::after{content:"";display:block;width:1px;height:10px;margin:4px auto 0;background:var(--line)}.timeline-tick.first{transform:none}.timeline-tick.first::after{margin-left:0}.timeline-tick.last{transform:translateX(-100%)}.timeline-tick.last::after{margin-right:0}
.timeline-axis .timeline-bar{position:absolute;top:30px;height:10px;min-width:28px;border-radius:999px}.timeline-axis .timeline-marker{position:absolute;top:29px;width:12px;height:12px;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 2px var(--white)}
.timeline-list{display:grid;gap:6px}.timeline-list-head,.timeline-list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:14px}.timeline-list-head span:last-child{font-size:12px;font-weight:600;color:var(--muted)}.timeline-list-row i{width:10px;height:10px;border-radius:50%}.timeline-list-row strong{font-weight:600}.timeline-list-row small{margin-left:8px;font-size:12px;color:var(--muted)}.timeline-list-row>span:last-child{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.lb-entry.comparison-selected .lb-row td{background:color-mix(in srgb,var(--brand) 8%,var(--white))}.lb-entry.comparison-selected .lb-row td:first-child{box-shadow:inset 3px 0 0 var(--brand)}
@keyframes live-pulse{50%{opacity:.4}}
/* Live results page and presentation board (as on sites.livelaps.com) */
.live-head .race-back{margin:0 0 16px}.live-card{margin-bottom:20px}.live-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 10px}
.live-inline{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#dc2626;white-space:nowrap}.live-inline>span{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:live-pulse 2s ease-in-out infinite}
.live-watching{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--muted);white-space:nowrap}.live-watching svg{width:16px;height:16px}.live-updated{font-size:14px;color:var(--muted)}
.live-context{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 0 0;color:var(--muted)}.live-context strong{color:var(--navy)}
.live-presentation .site-header,.live-presentation .site-footer,.live-presentation .skip-link{display:none}
:root{--categorical-color-1:#6929c4;--categorical-color-2:#1192e8;--categorical-color-3:#005d5d;--categorical-color-4:#9f1853;--categorical-color-5:#fa4d56;--categorical-color-6:#570408;--categorical-color-7:#198038;--categorical-color-8:#002d9c;--categorical-color-9:#ee538b;--categorical-color-10:#b28600;--categorical-color-11:#009d9a;--categorical-color-12:#012749;--categorical-color-13:#8a3800;--categorical-color-14:#a56eff}
html[data-theme="dark"]{--categorical-color-1:#8a3ffc;--categorical-color-2:#33b1ff;--categorical-color-3:#007d79;--categorical-color-4:#ff7eb6;--categorical-color-5:#fa4d56;--categorical-color-6:#fff1f1;--categorical-color-7:#6fdc8c;--categorical-color-8:#4589ff;--categorical-color-9:#d12771;--categorical-color-10:#d2a106;--categorical-color-11:#08bdba;--categorical-color-12:#bae6ff;--categorical-color-13:#ba4e00;--categorical-color-14:#d4bbff}
.live-board{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--white)}
.live-board-head{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 24px;border-bottom:1px solid var(--line)}
.live-board-line{display:flex;align-items:center;gap:12px;min-width:0}.live-board-line h1{min-width:0;margin:0;font-size:20px;line-height:1.2}.live-board-line h1 a{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--navy);text-decoration:none}.live-board-line h1 a:hover{color:var(--brand)}.live-board-line h1 svg{width:16px;height:16px;flex:none}.live-board-line h1 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-board .live-context{margin-top:2px;font-size:14px}.live-board-cycle{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:4px 0 0;font-size:14px;color:var(--muted)}.live-board-cycle strong,.live-board-cycle .board-timer{color:var(--navy);font-variant-numeric:tabular-nums}
.live-board-banner{display:flex;justify-content:center}.live-board-banner img{width:100%;max-width:576px;height:auto;border-radius:8px}.live-board-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-self:end}.live-board-actions .page-button{min-height:32px;padding:6px 12px}
@media(max-width:1023px){.live-board-head{grid-template-columns:1fr}.live-board-actions{justify-self:start}.live-board-banner{order:3}}
.live-board-body{flex:1;min-height:0;overflow:auto;padding:32px}.board-scopes{display:flex;align-items:flex-start;justify-content:center;gap:24px;width:max-content;min-width:100%;margin:0 auto}
.board-scope{display:flex;flex-direction:column;gap:8px}.board-scope.divided{padding-left:24px;border-left:1px solid var(--line)}.board-scope h2{margin:0;padding:0 4px;font-size:14px;font-weight:600;color:var(--muted)}.board-tables{display:grid;gap:16px;width:max-content}
.board-table table{width:max-content;min-width:100%;border-collapse:collapse;font-size:calc(.875rem*var(--presentation-font-scale,1));color:var(--navy)}
.board-table thead th{position:sticky;top:-32px;z-index:1;height:2.5rem;padding:0 12px;text-align:left;font-weight:500;white-space:nowrap;background:var(--white);border-bottom:1px solid var(--line)}
.board-gap-head{display:flex;flex-direction:column;line-height:1.2}.board-gap-head small{font-size:calc(.625rem*var(--presentation-font-scale,1));font-weight:400;color:var(--muted)}
.board-table td{padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.board-table tr:last-child td{border-bottom:0}
.board-position,.board-number{font-size:calc(1.125rem*var(--presentation-font-scale,1));font-variant-numeric:tabular-nums}.board-position{font-weight:700}.board-ordinal small{font-size:.65em}
.board-position-change{display:inline-grid;grid-template-columns:minmax(3.5ch,max-content) 3.75rem;align-items:baseline;gap:6px}
.board-change{display:inline-flex;align-items:center;gap:2px;font-size:.65em;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}.board-change.up{color:#059669}.board-change.down{color:#dc2626}.board-change.none{color:var(--muted)}
.board-change i{width:0;height:0;border-left:.28rem solid transparent;border-right:.28rem solid transparent}.board-change.up i{border-bottom:.42rem solid currentColor}.board-change.down i{border-top:.42rem solid currentColor}
.board-name{min-width:10rem}.board-name>span{display:flex;align-items:center;gap:8px}.board-name i{flex:none;width:calc(.625rem*var(--presentation-font-scale,1));height:calc(.625rem*var(--presentation-font-scale,1));border-radius:50%}.board-name>span>span{display:flex;flex-direction:column;line-height:1.2}
.board-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.board-laps{font-variant-numeric:tabular-nums}.board-brand img{height:1.5em;width:auto;max-width:6em;object-fit:contain;vertical-align:middle}
.board-settings{width:min(672px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.board-reset{position:absolute;top:20px;right:20px;min-height:32px;padding:6px 12px}
.board-toggle{display:flex;flex-wrap:wrap;gap:6px}.board-toggle button{padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--navy);font:inherit;font-size:14px;cursor:pointer}.board-toggle button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand);color:#fff}
.board-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;font-size:14px;font-weight:600;color:var(--navy)}.board-switch select{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--navy);font:inherit}
.board-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0 6px;border-bottom:1px solid var(--line)}.board-tabs button{padding:8px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}.board-tabs button[aria-selected="true"]{border-bottom-color:var(--brand);color:var(--navy);font-weight:600}
.board-columns{margin:12px 0 0;padding:0;border:0}.board-columns legend{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--navy)}.board-add .filter-multi-panel button{width:100%;padding:6px;border:0;border-radius:6px;background:none;color:var(--navy);font:inherit;text-align:left;cursor:pointer}.board-add .filter-multi-panel button:hover{background:var(--canvas)}.board-add summary[aria-disabled="true"]{opacity:.5;pointer-events:none}
.board-column-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}.board-column-list li{display:flex;align-items:center;gap:4px}
.board-column{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);color:var(--navy);font:inherit;font-size:13px;cursor:grab}.board-column span:first-child{color:var(--muted)}.board-column span:nth-child(2){font-size:11px;color:var(--muted)}
.board-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--navy);font:inherit;cursor:pointer}.board-icon.active{background:var(--canvas);border-color:var(--navy)}
/* Race views: every tab visible (wrapping on narrow screens), each outlined, the current one filled */
body.race-page .race-view-bar nav{flex:1 1 100%;flex-wrap:wrap;gap:6px;padding:0;background:none;border-radius:0;overflow:visible}
body.race-page .race-view-bar nav a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted)}
body.race-page .race-view-bar nav a:hover{border-color:var(--navy);color:var(--navy)}
body.race-page .race-view-bar nav a[aria-current]{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:none}
body.race-page .race-view-bar nav a[aria-current] span{background:#ffffff33;color:#fff}
@media(max-width:760px){body.race-page .race-view-bar nav{display:flex!important;gap:6px!important}body.race-page .race-view-bar nav a{min-height:0;padding:8px 12px!important;font-size:13px;border-bottom:1px solid var(--line)}body.race-page .race-view-bar nav a[aria-current]{border-color:var(--brand)}}
/* The rider detail's lap chart: a collapsible line chart, as on the old site */
.rider-chart{margin:10px 0 8px}.rider-chart summary{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;background:var(--canvas);font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;list-style:none}.rider-chart summary::-webkit-details-marker{display:none}.rider-chart summary svg{width:14px;height:14px}.rider-chart summary::after{content:"⌄";margin-left:auto}.rider-chart[open] summary::after{transform:rotate(180deg)}
.rider-lap-chart{display:block;width:100%;height:auto;max-height:240px;margin-top:8px}.rider-lap-chart .chart-grid line{stroke:var(--line);stroke-dasharray:3 3}.rider-lap-chart text{font-size:11px;fill:var(--muted);font-variant-numeric:tabular-nums}
.rider-lap-chart .lap-line{fill:none;stroke:var(--brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.rider-lap-chart circle{fill:var(--white);stroke:var(--brand);stroke-width:2}.rider-lap-chart circle.is-best{fill:var(--brand)}
.rider-lap-chart .best-line{stroke:#1f7a8c;stroke-width:1.5;stroke-dasharray:5 3}.rider-lap-chart .best-label{fill:#1f7a8c;font-size:11px}
/* Analytics lap progression: one chart at a time, in a window you drag to explore */
.bump-chart[hidden]{display:none}
.bump-panel .bump-viewport{max-height:420px;overflow:auto;cursor:grab;overscroll-behavior:auto;overscroll-behavior-x:contain}.bump-panel .bump-viewport.is-dragging{cursor:grabbing;user-select:none}
/* Presentation settings: switches beside their labels; each tab's settings in a panel joined to its tab */
.board-settings .print-dialog-form{gap:14px}.board-settings .print-field{margin:0}
.board-switch{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;font-size:14px;font-weight:600;color:var(--navy);cursor:pointer}
.board-switch input{appearance:none;flex:none;position:relative;width:36px;height:20px;margin:0;border-radius:999px;background:var(--line);cursor:pointer;transition:background .15s}.board-switch input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}
.board-switch input:checked{background:var(--brand)}.board-switch input:checked::after{transform:translateX(16px)}.board-switch input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.board-select{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--navy)}.board-select select{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--navy);font:inherit;font-weight:500}
.board-scope-settings{display:flex;flex-direction:column}.board-settings .board-tabs{display:flex;gap:4px;margin:0;border:0;padding:0 0 0 8px}
.board-settings .board-tabs button{position:relative;margin-bottom:-1px;padding:8px 16px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;background:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}
.board-settings .board-tabs button[aria-selected="true"]{border-color:var(--line);background:var(--canvas);color:var(--navy);font-weight:600}
.board-tab-panel{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.board-inline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.board-tab-panel .board-columns{margin:0}.board-tab-panel .board-column{background:var(--white)}
/* Race filters: a "Filters" button opening a panel with the classes, groups and riders */
body.race-page .race-view-utilities>div{display:flex;align-items:center;gap:10px}
/* The race views as the old site's tab list: one muted bar, the current view raised on it. */
body.race-page .race-view-bar nav{flex:0 1 auto!important;width:auto;max-width:100%;flex-wrap:nowrap;gap:2px!important;padding:3px;border-radius:10px;background:var(--surface-soft);overflow-x:auto;scrollbar-width:none}
body.race-page .race-view-bar nav a{flex:none;min-height:30px;padding:5px 12px!important;border:1px solid transparent;border-radius:7px;background:none;color:var(--muted);font-size:14px;font-weight:500;box-shadow:none}
body.race-page .race-view-bar nav a:hover{border-color:transparent;color:var(--navy)}
body.race-page .race-view-bar nav a[aria-current]{border-color:var(--line);background:var(--white);color:var(--navy);font-weight:600;box-shadow:0 1px 2px #10213a14}
body.race-page .race-view-bar nav a span,body.race-page .race-view-bar nav a[aria-current] span{background:var(--canvas);color:var(--muted)}
@media(max-width:760px){body.race-page .race-view-bar nav{width:100%}body.race-page .race-view-bar nav a{padding:5px 10px!important;font-size:13px}}
/* Result filters (result-filters.js), as on the old site: a Filters button and a clear button on
   the left, the column menu on the right, and the pickers in a panel beneath. */
.result-filters{margin:4px 0 12px}
.result-filters-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.result-filters-row .column-menu{margin-left:auto}
.result-filters-group{display:inline-flex;align-items:stretch}
.result-filters-toggle,.result-filters-clear{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--navy);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.result-filters-toggle svg{width:15px;height:15px}
.result-filters-toggle:hover,.result-filters-clear:hover{background:var(--surface-soft)}
.result-filters-toggle.is-active{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:color-mix(in srgb,var(--brand) 8%,var(--white))}
.result-filters-group:has(.result-filters-clear) .result-filters-toggle{border-top-right-radius:0;border-bottom-right-radius:0}
.result-filters-clear{justify-content:center;width:32px;padding:0;margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0;font-size:17px;line-height:1;color:var(--muted)}
.result-filters-count{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;text-align:center}
.result-filters-panel{display:flex;flex-wrap:wrap;gap:8px;max-width:768px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}
.result-filters-panel[hidden]{display:none}
.result-filters-panel.is-active{border-color:color-mix(in srgb,var(--brand) 30%,var(--line));background:color-mix(in srgb,var(--brand) 4%,var(--white))}
.result-picker{position:relative;flex:1 1 180px;max-width:240px}
.result-picker>summary{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 6px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--navy);font-size:13px;cursor:pointer;list-style:none}
.result-picker>summary::-webkit-details-marker{display:none}
.result-picker>summary:hover,.result-picker[open]>summary{border-color:var(--navy)}
.result-picker>summary svg{flex:none;width:15px;height:15px;margin-left:auto;color:var(--muted)}
.result-picker-value{display:flex;align-items:center;gap:5px;min-width:0}
.result-chip{overflow:hidden;max-width:130px;padding:2px 7px;border-radius:5px;background:var(--surface-soft);font-weight:500;white-space:nowrap;text-overflow:ellipsis}
.result-more{flex:none;color:var(--muted);font-size:12px}
.result-placeholder{padding-left:4px;color:var(--muted)}
.result-picker-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:max(100%,260px);padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--white);box-shadow:0 10px 30px #10213a26}
.result-picker-search{width:100%;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--navy);font:inherit;font-size:13px}
.result-picker-search:focus{outline:2px solid var(--brand);outline-offset:0}
.result-picker ul{list-style:none;max-height:280px;margin:6px 0 0;padding:0;overflow-y:auto}
.result-picker li[hidden]{display:none}
.result-picker li label{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;font-size:13px;color:var(--navy);cursor:pointer}
.result-picker li label:hover{background:var(--surface-soft)}
.result-picker li input{position:absolute;opacity:0;pointer-events:none}
.result-picker li input:focus-visible+.result-option{outline:2px solid var(--brand);outline-offset:2px}
.result-option{display:flex;flex-direction:column;min-width:0}
.result-option small{color:var(--muted);font-size:11px}
.result-picker li label svg{flex:none;width:15px;height:15px;margin-left:auto;color:var(--brand);visibility:hidden}
.result-picker li input:checked~svg{visibility:visible}
.result-picker li:has(input:checked) label{font-weight:600}
.result-picker-empty{margin:8px 4px 4px;color:var(--muted);font-size:13px}
@media(max-width:760px){.result-picker{max-width:none;flex-basis:100%}}
.series-standings>.result-filters{margin-top:16px}
.result-filters-row .race-tools{margin:0 0 0 auto}.result-filters-row .race-tools>div{align-items:center;gap:8px}
.result-filters-row .race-tools .column-menu{margin:0}
.rider-dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;vertical-align:-1px;flex:none}
.result-picker li label .rider-dot{margin-right:0}
.compare-picker{display:flex;justify-content:center;margin:4px 0 0}.compare-picker .result-picker{flex:none;width:min(320px,100%);max-width:none;text-align:left}.compare-picker .result-picker>summary{height:44px;padding:0 12px;font-size:15px}.compare-picker .result-picker-menu{width:100%}
.head-to-head .compare-picker{justify-content:flex-start;margin:4px 0 16px}
.live-board-line h1{flex:0 1 auto;overflow:hidden}.live-board-line h1 a{display:flex;max-width:100%}.live-board-line>.live-inline,.live-board-line>.live-watching{flex:none}
.race-content.live-head{padding-top:32px}@media(max-width:760px){.race-content.live-head{padding-top:20px}}
/* The race's banner on the header's top line, beside the breadcrumb or "Back to event". */
.race-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px 24px}
.race-top-row>:first-child{min-width:0}
.race-top-row .race-banner{flex:0 1 auto;min-width:0;margin-left:auto}
.race-top-row .race-banner img{display:block;width:auto;max-width:100%;height:auto;max-height:72px;border-radius:6px}
.race-head .race-top-row{padding-top:16px}.race-head .race-top-row .race-breadcrumb{padding-top:0}
.live-head .race-top-row{margin:0 0 16px}.live-head .race-top-row .race-back{margin:0}
@media(max-width:760px){.race-top-row{flex-wrap:wrap}.race-top-row .race-banner{flex-basis:100%;margin-left:0}.race-top-row .race-banner img{max-height:none;width:100%}}
/* The same space around the banner row on the race and live pages. */
.race-content.live-head{padding-top:24px}.race-head .race-top-row{padding-top:24px;margin-bottom:16px}.race-head .race-top-row+.race-head-card{margin-top:0}
.live-head .race-top-row{margin-bottom:16px}
@media(max-width:760px){.race-content.live-head,.race-head .race-top-row{padding-top:20px}.race-top-row{row-gap:12px}}
body .race-head .race-top-row>.race-breadcrumb{padding-top:0}
.rider-chart summary::after{content:"";width:14px;height:14px;margin-left:auto;background:var(--muted);-webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>') center/contain no-repeat}
.rider-compare .ui-icon{width:15px;height:15px}
.career-pager button .ui-icon,.calendar-step .ui-icon{width:16px;height:16px}
body.race-page .lb-rider-meta,.lb-rider-meta{white-space:nowrap}
/* Team races: a team's expanded row lists its riders, and each team lap names who rode it. */
.team-members{margin:0 0 16px}.team-riders td small{color:var(--muted)}.lap-breakdown .lap-rider{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.team-group .team-member{display:none}.team-group.is-open .team-member{display:table-row}
.team-group .team-member>*{background:var(--canvas);font-size:14px}.team-group .team-member .sticky-rider{padding-left:28px}
.team-group .team-row .lb-toggle{margin-left:0}.team-group .lb-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.race-data-table .lap-rider{display:block;font-size:12px;color:var(--muted)}
.lb-row,.team-row{cursor:pointer}
/* Scrolling tables hold their own positioned bits (screen-reader labels), so nothing they contain
   can widen the page. */
.race-table-scroll,.lb-scroll,.timing-scroll,.comparison-metrics-scroll,.heatmap-shell,.race-class-tabs,.race-view-bar nav{position:relative}
/* A rider's name turns orange under the pointer in every table, as on the leaderboard. */
a.lb-rider-name:hover,.race-data-table a.lb-rider-name:hover,.comparison-metrics a.lb-rider-name:hover,.heatmap-table a.lb-rider-name:hover,.team-riders a.lb-rider-name:hover{color:var(--brand);text-decoration-color:currentColor}
/* The filter panel is as wide as its pickers (no room kept for a filter that is not offered); on phones they fill the width. */.result-filters-panel{width:fit-content;max-width:100%}@media(max-width:760px){.result-filters-panel{width:auto}}
@media(min-width:761px){.result-filters-panel .result-picker{flex:0 1 240px;width:240px}}
.result-picker-value{flex:1 1 auto;overflow:hidden}.result-chip{max-width:100%;min-width:0;flex:0 1 auto}
/* The footer of the paged tables: rows on show and page on the left with "Rows per page" beside them, Previous and Next on the right. */
/* An expanded rider stays in view while the results table scrolls sideways: it keeps to the visible width of the scroll box. */
.race-table-scroll{container-type:inline-size}
.lb-detail .rider-detail,.lb-detail .team-members{position:sticky;left:14px;box-sizing:border-box;width:calc(100cqw - 28px);max-width:none}
@media(max-width:760px){.lb-detail .rider-detail,.lb-detail .team-members{left:8px;width:calc(100cqw - 16px)}}
/* Controls band: the Filters button and the utilities always share one row; the utilities shrink to icons on phones. */
.result-filters-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px}.result-filters-group{flex:none}
.result-filters-row .race-tools{flex:0 1 auto;min-width:0;margin:0 0 0 auto}.result-filters-row .race-tools>div{flex-wrap:nowrap;justify-content:flex-end;gap:8px;min-width:0}
@media(max-width:480px){.result-filters-row .race-tools>div{gap:4px}.result-filters-row .race-tools .tool-label{display:none}.result-filters-row .race-tools a,.result-filters-row .race-tools button,.result-filters-row .race-tools summary{padding:7px 9px}.result-filters-row{gap:4px}}
