/* Comparison uses the public results palette and the site's existing font. */
#public-participant-comparison,.comparison-picker{--text:var(--pr-ink,#17243b);--muted:var(--pr-muted,#68778b);--line:var(--pr-line,#dfe5ee);--panel:var(--pr-surface,#fff);--accent:var(--pr-accent,#1f5edb);--soft:var(--pr-soft,#edf3fe);--gain:#16846b;--loss:#b65d43;color:var(--text)}
.dark #public-participant-comparison,.dark .comparison-picker{--text:var(--pr-ink,#edf2fc);--muted:var(--pr-muted,#a2afc4);--line:var(--pr-line,#303e54);--panel:var(--pr-surface,#111827);--accent:var(--pr-accent,#a8c6ff);--soft:var(--pr-soft,#243650);--gain:#68d7b2;--loss:#f49d83}
#public-participant-comparison{max-width:none;margin:0;padding:0 0 32px;overflow-wrap:anywhere}
#public-participant-comparison button,.comparison-picker button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:7px}
#public-participant-comparison button:disabled,.comparison-picker button:disabled{opacity:.45;cursor:default}
#public-participant-comparison button:focus-visible,.comparison-picker button:focus-visible,.comparison-picker input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#public-participant-comparison .comparison-breadcrumb{display:flex;gap:8px;margin:0 0 18px;font-size:12px;color:var(--muted)}
#public-participant-comparison .comparison-breadcrumb a{color:inherit}
#public-participant-comparison .multi-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 20px}
#public-participant-comparison h1{font-size:24px;font-weight:650;letter-spacing:-.025em;line-height:1.25;margin:0}
#public-participant-comparison .comparison-heading-actions{display:flex;gap:12px;align-items:center;flex:none}
#public-participant-comparison .comparison-heading-actions>span{font-size:12px;color:var(--muted);white-space:nowrap}
#public-participant-comparison .multi-heading p{color:var(--muted);font-size:12px;margin:6px 0 0}
#public-participant-comparison .multi-heading>span{font-size:11px;color:var(--muted);white-space:nowrap;padding-top:8px}
#public-participant-comparison .selection-section{margin:0 0 24px}
#public-participant-comparison .comparison-add{font-size:12px;padding:8px 12px;color:var(--accent);min-height:36px;white-space:nowrap}
#public-participant-comparison .comparison-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
#public-participant-comparison .comparison-mode p{font-size:11px;color:var(--muted);margin:0}
#public-participant-comparison .comparison-mode strong{color:var(--text);font-weight:550}
#public-participant-comparison .comparison-clock-label{font-size:11px;color:var(--muted);flex-shrink:0}
#public-participant-comparison .segments{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:var(--soft);flex:none}
#public-participant-comparison .segments button{border:0;background:transparent;padding:6px 12px;font-size:11px;color:var(--muted);min-height:32px}
#public-participant-comparison .segments button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #0001}
#public-participant-comparison .mode-explanation{font-size:11px;color:var(--muted);margin:9px 0 18px;line-height:1.6}
#public-participant-comparison .comparison-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:16px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--muted);font-size:12px}
#public-participant-comparison .comparison-notice button{padding:5px 10px;min-height:32px;font-size:11px;flex:none;color:var(--accent)}
#public-participant-comparison .comparison-table{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}
#public-participant-comparison table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}
#public-participant-comparison th{padding:14px 10px;text-align:center;vertical-align:top;font-weight:500;background:var(--soft)}
#public-participant-comparison th:first-child{width:130px;text-align:left}
#public-participant-comparison td{padding:12px 10px;text-align:center;border-top:1px solid var(--line)}
#public-participant-comparison td:first-child{text-align:left}
#public-participant-comparison td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
#public-participant-comparison .table-person-actions{display:flex;align-items:start;justify-content:center;gap:4px}
#public-participant-comparison .table-base-select{border:0;background:transparent;padding:0;min-width:0;text-align:inherit;flex:1}
#public-participant-comparison .table-person{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;line-height:1.4;font-weight:550}
#public-participant-comparison .table-person i,.chart-legend i{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block;background:var(--runner-color)}
#public-participant-comparison .table-person-meta{display:block;font-size:10px;color:var(--muted);margin-top:4px}
#public-participant-comparison th.is-base{box-shadow:inset 0 -2px var(--accent)}
#public-participant-comparison .comparison-remove{width:26px;height:28px;flex:none;border:0;background:transparent;padding:0;font-size:20px;color:var(--muted);line-height:1}
#public-participant-comparison .checkpoint-cell{display:block;width:100%;border:0;background:transparent;padding:4px 0;text-align:center}
#public-participant-comparison .reading-time{display:block;font-size:14px;font-weight:550;white-space:nowrap;font-variant-numeric:tabular-nums}
#public-participant-comparison .reading-gap{display:block;font-size:11px;margin-top:3px;min-height:17px;white-space:nowrap;font-variant-numeric:tabular-nums}
#public-participant-comparison .earlier{color:var(--gain)}
#public-participant-comparison .later{color:var(--loss)}
#public-participant-comparison .neutral{color:var(--muted)}
#public-participant-comparison .selected-checkpoint{background:var(--soft)}
#public-participant-comparison [data-checkpoint-row]{cursor:pointer}
#public-participant-comparison .comparison-table [data-checkpoint-row]:hover{background:var(--soft)}
@media(max-width:767px){
 #public-participant-comparison{padding:0 0 28px!important}
 #public-participant-comparison .comparison-breadcrumb{margin:0 0 16px!important;font-size:11px!important}
 #public-participant-comparison .multi-heading{align-items:flex-start;flex-direction:column;gap:12px;margin:0 0 18px!important}
 #public-participant-comparison .comparison-heading-actions{width:100%;justify-content:space-between}
}
#public-participant-comparison .comparison-analysis{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:24px}
#public-participant-comparison [hidden]{display:none!important}
#public-participant-comparison .comparison-analysis>header{display:flex;justify-content:space-between;gap:12px;align-items:center}
#public-participant-comparison .comparison-analysis h2{font-size:14px;font-weight:550;margin:0}
#public-participant-comparison .comparison-analysis>header>span{font-size:10px;color:var(--muted)}
#public-participant-comparison .chart-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:10px;margin:14px 0;color:var(--muted)}
#public-participant-comparison .chart-legend span{display:flex;align-items:center;gap:5px}
#public-participant-comparison [data-chart] svg{display:block;width:100%;height:auto;overflow:visible}
#public-participant-comparison .chart-grid{stroke:var(--line);stroke-width:1}
#public-participant-comparison .chart-selected{stroke:var(--accent);stroke-dasharray:3 4;opacity:.4}
#public-participant-comparison .chart-label{fill:var(--muted);font-size:10px}
#public-participant-comparison .chart-badge{fill:var(--panel);stroke-opacity:.5}
#public-participant-comparison .chart-gap-label{font-size:11px;font-variant-numeric:tabular-nums}
#public-participant-comparison .chart-points{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
#public-participant-comparison .chart-points button{font-size:10px;padding:5px 8px;min-height:30px}
#public-participant-comparison .chart-points button[aria-pressed=true]{border-color:var(--accent);background:var(--soft)}
#public-participant-comparison .chart-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
#public-participant-comparison .chart-detail{display:grid;gap:5px;font-size:11px;min-width:0}
#public-participant-comparison .chart-detail strong{font-size:14px;font-variant-numeric:tabular-nums}
#public-participant-comparison .chart-detail small{font-size:10px;color:var(--muted);line-height:1.4}
#public-participant-comparison .comparison-explanation{display:flex;justify-content:end;gap:15px;font-size:10px;margin-top:12px}
#public-participant-comparison .mobile-checkpoints{display:none}
#public-participant-comparison .multi-empty{padding:35px 14px;border:1px dashed var(--line);border-radius:9px;text-align:center;font-size:14px}
.comparison-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
[data-comparison-entry]{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;font-size:12px;border:1px solid var(--pr-line,#dfe5ee);border-radius:20px;background:var(--pr-surface,#fff);color:var(--pr-ink,#17243b);cursor:pointer}
[data-comparison-entry] svg{width:17px;height:17px;flex:none}
[data-comparison-entry].comparison-floating,[data-comparison-entry][data-comparison-floating=true]{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 3px 14px #0002}
.dark [data-comparison-entry]{background:var(--pr-surface,#111827);color:var(--pr-ink,#edf2fc);border-color:var(--pr-line,#303e54)}
.comparison-picker{padding:20px;width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 12px 40px #0003;overflow:auto}
.comparison-picker::backdrop{background:#0b142766;backdrop-filter:none}
.comparison-picker header{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:16px}
.comparison-picker h2{font-size:18px;font-weight:600;margin:0;letter-spacing:-.2px}
.comparison-picker header p{font-size:11px;color:var(--muted);margin:5px 0 0}
.comparison-picker header button{width:28px;height:28px;font-size:22px;border:0;background:transparent;color:var(--muted);line-height:1}
.picker-search-label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.comparison-picker input{box-sizing:border-box;width:100%;padding:9px 11px;min-height:40px;border:1px solid var(--line);background:var(--panel);border-radius:8px;color:var(--text);font:inherit;font-size:12px}
.picker-selected{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:32px;align-content:start;gap:6px;min-height:76px;padding:9px 0}
.picker-selected button{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:5px 7px;font-size:11px;background:var(--soft);min-width:0}
.picker-selected button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picker-selected button b{font-size:16px;font-weight:400;color:var(--muted)}
.picker-selected .picker-main{border-color:var(--accent)}
.picker-placeholder{grid-column:1/-1;align-self:center;color:var(--muted);font-size:11px}
.picker-list{height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-top:1px solid var(--line)}
.picker-list button{display:flex;align-items:center;gap:8px;min-height:56px;width:100%;padding:8px 6px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}
.picker-list button:hover,.picker-list button[aria-pressed=true]{background:var(--soft)}
.picker-check{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--line);border-radius:4px;flex:none;font-size:11px}
.picker-list button[aria-pressed=true] .picker-check{background:var(--accent);color:var(--panel);border-color:var(--accent)}
.picker-bib{border:1px solid var(--line);border-radius:5px;padding:1px 4px;font-size:10px;flex:none}
.picker-person{flex:1;min-width:0}.picker-person strong{display:block;font-size:12px;font-weight:550;line-height:1.4}.picker-person small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.comparison-picker footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}
.comparison-picker [data-apply]{padding:8px 20px;background:#2563eb;color:#fff;border:0;font-size:12px}
.picker-no-results{font-size:12px;color:var(--muted);text-align:center;padding:28px 10px}
@media(max-width:767px){#public-participant-comparison{padding:0 12px 30px}#public-participant-comparison h1{font-size:22px}#public-participant-comparison .comparison-breadcrumb{font-size:10px;margin:17px 0}#public-participant-comparison .multi-heading{margin:18px 0}#public-participant-comparison .comparison-mode{align-items:start}#public-participant-comparison .comparison-table{display:none}#public-participant-comparison .mobile-checkpoints{display:grid;gap:12px}#public-participant-comparison .mobile-checkpoint{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:0 12px;overflow:hidden}#public-participant-comparison .mobile-checkpoint.selected-checkpoint{background:var(--soft);border-color:var(--accent)}#public-participant-comparison .mobile-checkpoint>header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}#public-participant-comparison .mobile-checkpoint h2{font-size:12px;font-weight:550;margin:0}#public-participant-comparison .mobile-checkpoint>header span{font-size:10px;color:var(--muted)}#public-participant-comparison .mobile-person-row{display:flex;gap:6px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}#public-participant-comparison .mobile-person-row:last-child{border:0}#public-participant-comparison .mobile-person-row .table-base-select{text-align:left}#public-participant-comparison .mobile-person-row .table-person{justify-content:start;font-size:11px}#public-participant-comparison .mobile-person-row .checkpoint-cell{flex:none;width:auto;min-width:80px;text-align:right}#public-participant-comparison .reading-time{font-size:13px}#public-participant-comparison .reading-gap{font-size:10px}#public-participant-comparison .comparison-analysis{padding:12px}#public-participant-comparison .comparison-analysis>header{align-items:start;flex-direction:column;gap:4px}#public-participant-comparison .chart-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#public-participant-comparison .chart-label{font-size:9px}.comparison-picker{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 28px);margin:0;box-sizing:border-box;border-radius:16px 16px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom))}.picker-list{height:min(300px,32dvh)}.comparison-picker h2{font-size:17px}.picker-person strong{font-size:11px}}
/* Time differences and terrain use one plot with independent, labelled axes. */
.comparison-terrain-fill{fill:#8196aa;opacity:.17;pointer-events:none}
.comparison-terrain-line{fill:none;stroke:#8293a4;stroke-width:1.1;opacity:.55;pointer-events:none}
.dark .comparison-terrain-fill{fill:#a2b8cc;opacity:.13}
.dark .comparison-terrain-line{stroke:#a2b8cc;opacity:.45}
.comparison-profile-range{fill:var(--accent);opacity:.065;pointer-events:none}
.comparison-zero{stroke:var(--muted);stroke-dasharray:4 4;opacity:.65}
.comparison-series path{stroke-linecap:round;stroke-linejoin:round}
.comparison-series-point{stroke:var(--panel);stroke-width:1.2}
.comparison-point-hit{cursor:pointer;pointer-events:all}
[data-chart-point]:focus-visible{outline:none}
.comparison-point-focus{opacity:0;stroke:var(--accent);stroke-width:2;pointer-events:none}
[data-chart-point]:focus-visible .comparison-point-focus{opacity:.8}
.comparison-altitude-axis{opacity:.85}
#public-participant-comparison [data-chart]{position:relative}
.comparison-route-tooltip{position:absolute;top:20px;right:46px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:11px;pointer-events:none;box-shadow:0 2px 8px #0001}
