.tracking-heading{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:20px}.tracking-heading h1{font-size:56px;margin:12px 0}.tracking-heading .eyebrow{color:#627081}.demo-badge{background:#eaf3d6;border:1px solid #d4e6ab;color:#3b5418;padding:9px 13px;border-radius:5px;font-size:12px;font-weight:700;white-space:nowrap}.tracking-intro{font-size:14px;color:#627081;max-width:760px;line-height:1.7;margin:0 0 26px}.map-toolbar,.play-controls,.view-controls{display:flex;gap:10px}.map-toolbar{justify-content:space-between;margin-bottom:16px}.map-toolbar button{font-size:14px;padding:11px 15px;border-radius:6px}.primary{background:var(--ink);border:1px solid var(--ink);color:var(--lime);font-weight:600}.secondary{background:white;border:1px solid #d6dfe7;color:var(--ink)}.secondary:hover{background:#eaf0f4}button:disabled{opacity:.45;cursor:not-allowed}.tracking-layout{display:grid;grid-template-columns:305px minmax(0,1fr);border:1px solid #d9e1e7;border-radius:12px;overflow:hidden;background:white}.runner-panel{border-right:1px solid #d9e1e7;display:flex;flex-direction:column}.panel-head{padding:20px}.panel-head h2{font-size:19px;display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.panel-head h2 span{font-size:12px;padding:4px 8px;background:#edf2f5;border-radius:4px}.panel-head .search{width:100%}.panel-head input{font-size:12px}.runner-item{display:flex;gap:12px;text-align:left;width:100%;background:white;border:0;border-top:1px solid #eef1f4;padding:15px 20px;color:var(--ink);align-items:center}.runner-item:hover{background:#f4f7ee}.runner-item.chosen{background:#edf5dd;box-shadow:inset 3px 0 #86b42e}.bib{background:var(--runner-color);color:white;font-size:12px;font-weight:700;border-radius:6px;min-width:36px;height:34px;display:grid;place-items:center}.runner-copy{flex:1}.runner-copy strong{display:block;font-size:14px;font-weight:600}.runner-copy small{display:block;color:#6c7a86;font-size:12px;margin-top:5px}.runner-distance{font-size:12px;white-space:nowrap}.panel-foot{margin-top:auto;padding:20px;border-top:1px solid #e8edf0;display:flex;gap:8px;align-items:center;color:#617080;font-size:12px}.panel-foot strong{margin-left:auto}.route-swatch{width:20px;height:4px;background:#426a37;border-radius:3px}.map-area{position:relative;min-width:0}#map{height:585px;width:100%;background:#e5eadf;z-index:0}.map-alert{position:absolute;z-index:500;bottom:35px;left:16px;right:16px;padding:12px;background:white;border:1px solid #d2dbe1;border-radius:7px;font-size:14px;color:#5c4122}.map-alert a{text-decoration:underline}.tracking-bottom{display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#627081;margin-top:16px}.geo-status{font-size:12px;color:#627081;line-height:1.7;margin:16px 0 36px}.tracking-marker{background:none;border:0}.tracking-marker span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--runner-color);color:white;font:700 12px 'DM Sans',Arial,sans-serif;border:3px solid white;box-shadow:0 2px 8px #14243644}.tracking-marker.is-selected span{outline:3px solid #b7e34a;transform:scale(1.15)}.start-label{white-space:nowrap;background:#142436;color:white;border-radius:4px;padding:6px 9px;font-size:12px}.leaflet-popup-content{font:14px/1.7 'DM Sans',Arial,sans-serif}.leaflet-popup-content strong{font-size:15px}#no-runners{font-size:14px;padding:15px 20px;color:#627081}.leaflet-container a{color:#31587a}@media(max-width:900px){header{gap:24px}nav{gap:20px}.tracking-layout{grid-template-columns:265px minmax(0,1fr)}.runner-item{padding:15px 12px;gap:8px}.panel-head{padding:16px}.runner-copy strong{font-size:13px}.runner-distance{font-size:12px}}@media(max-width:650px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:4px;padding:16px 20px 0}header nav{width:100%;height:42px;gap:25px}header nav a{font-size:13px}.tracking-heading{align-items:flex-start;flex-direction:column;gap:5px;margin-top:20px}.tracking-heading h1{font-size:44px}.demo-badge{margin-bottom:15px}.map-toolbar{flex-direction:column;gap:8px}.map-toolbar button{flex:1;padding:10px 8px;font-size:13px}.tracking-layout{display:flex;flex-direction:column-reverse}.runner-panel{border-right:0;border-top:1px solid #d9e1e7}#map{height:400px}.runner-item{padding:12px 18px}.runner-copy strong{font-size:14px}.runner-distance{font-size:13px}.tracking-bottom{flex-direction:column;gap:7px}#runner-list{max-height:310px;overflow:auto}.tracking-intro{font-size:14px}.panel-head{padding:16px}.panel-head h2{margin-bottom:12px}}

.play-controls,.map-toolbar{flex-wrap:wrap}.speed-control{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.speed-control select{font:inherit;color:var(--ink);background:white;border:1px solid #d6dfe7;border-radius:6px;padding:10px 8px;min-height:42px;cursor:pointer}.speed-control select:focus-visible{outline:3px solid #457bba;outline-offset:3px}@media(max-width:650px){.play-controls{gap:8px}.speed-control{font-size:13px}.play-controls #reset{flex-basis:100%}}

.timeline{background:white;border:1px solid #d9e1e7;border-radius:8px;padding:16px 20px;margin-bottom:16px}.timeline-label,.timeline-ends{display:flex;justify-content:space-between;gap:12px}.timeline-label{font-size:14px;font-weight:600}.timeline-label output{font-variant-numeric:tabular-nums;color:#627081;font-weight:400}.timeline input{display:block;width:100%;margin:10px 0;height:26px;accent-color:#426a37;cursor:pointer}.timeline input:focus-visible{outline:3px solid #457bba;outline-offset:3px}.timeline-ends{font-size:12px;color:#627081}@media(max-width:650px){.timeline{padding:14px}.timeline-label{font-size:13px}}

#runner-list{max-height:410px;overflow-y:auto;overscroll-behavior:contain}@media(max-width:650px){#runner-list{max-height:310px}}

.route-source{font-size:12px;line-height:1.7;color:#627081}.route-source a{text-decoration:underline}

.fullscreen-map{position:absolute;right:12px;top:12px;z-index:800;background:white;color:#142436;border:1px solid #cad4dd;border-radius:6px;padding:10px 12px;font:600 13px "DM Sans",Arial,sans-serif;box-shadow:0 2px 8px #14243622}.fullscreen-map:hover{background:#edf5dd}.map-area:fullscreen,.map-area.map-fullscreen-fallback{width:100vw;height:100dvh;background:#e5eadf}.map-area:fullscreen #map,.map-area.map-fullscreen-fallback #map{height:100%;width:100%}.map-area.map-fullscreen-fallback{position:fixed;inset:0;z-index:10000}.map-fullscreen-open{overflow:hidden}@media(max-width:650px){.fullscreen-map{right:8px;top:8px;font-size:12px;padding:10px}}

.select-all-runners{display:flex;align-items:center;gap:9px;padding:12px 16px;border-top:1px solid #e8edf0;font-size:13px;cursor:pointer}.select-all-runners span{margin-left:auto;color:#627081;font-size:12px}.runner-choice{display:flex;align-items:center;border-top:1px solid #eef1f4;padding-left:12px}.runner-choice .runner-item{border-top:0;min-width:0;flex:1;padding-left:10px}.runner-checkbox,.select-all-runners input{width:18px;height:18px;min-width:18px;margin:0;accent-color:#426a37;cursor:pointer}.runner-checkbox:focus-visible,.select-all-runners input:focus-visible{outline:3px solid #457bba;outline-offset:3px}.runner-choice:has(.runner-checkbox:not(:checked)) .runner-item{opacity:.6}

.tracking-marker span{width:26px;height:26px;font-size:10px;border-width:2px}.tracking-marker.is-selected span{outline-width:2px}.route-swatch{background:#93328e}.runner-track{display:grid;place-items:center;flex:0 0 30px;height:32px;margin-right:6px;border:1px solid #d6dfe7;border-radius:5px;background:white;color:#627081;cursor:pointer}.runner-track:hover,.runner-track[aria-pressed="true"]{background:#eee3f5;color:#75309d;border-color:#b889d3}.runner-choice .runner-item{padding-right:5px;gap:7px}.runner-choice .bib{min-width:28px;font-size:11px}.runner-popup{min-width:215px}.runner-popup dl{display:grid;grid-template-columns:1fr auto;gap:4px 14px;margin:12px 0;font-size:13px}.runner-popup dt{color:#627081}.runner-popup dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.runner-popup small{font-size:11px;color:#627081}.runner-popup>a{display:inline-block;margin-top:8px}.runner-copy{min-width:0}.runner-copy strong{overflow-wrap:anywhere}

.toggle-runners{display:none;position:absolute;left:54px;top:12px;z-index:800;background:white;color:#142436;border:1px solid #cad4dd;border-radius:6px;padding:10px 12px;font:600 13px "DM Sans",Arial,sans-serif;box-shadow:0 2px 8px #14243622;cursor:pointer}.tracking-layout:fullscreen,.tracking-layout.map-fullscreen-fallback{display:grid;grid-template-columns:305px minmax(0,1fr);width:100vw;height:100dvh;background:white;border:0;border-radius:0;overflow:hidden}.tracking-layout.map-fullscreen-fallback{position:fixed;inset:0;z-index:10000}.tracking-layout:fullscreen .map-area,.tracking-layout.map-fullscreen-fallback .map-area{height:100%;min-height:0}.tracking-layout:fullscreen #map,.tracking-layout.map-fullscreen-fallback #map{height:100%;width:100%}.tracking-layout:fullscreen .runner-panel,.tracking-layout.map-fullscreen-fallback .runner-panel{min-height:0;overflow:hidden}.tracking-layout:fullscreen #runner-list,.tracking-layout.map-fullscreen-fallback #runner-list{max-height:none;min-height:0;flex:1;overflow-y:auto}.tracking-layout:fullscreen .toggle-runners,.tracking-layout.map-fullscreen-fallback .toggle-runners{display:block}.tracking-layout:fullscreen.runners-hidden,.tracking-layout.map-fullscreen-fallback.runners-hidden{grid-template-columns:1fr}.tracking-layout:fullscreen.runners-hidden .runner-panel,.tracking-layout.map-fullscreen-fallback.runners-hidden .runner-panel{display:none}.toggle-runners:hover{background:#edf5dd}@media(max-width:650px){.tracking-layout:fullscreen,.tracking-layout.map-fullscreen-fallback{grid-template-columns:min(260px,65vw) minmax(0,1fr)}.tracking-layout:fullscreen .runner-panel,.tracking-layout.map-fullscreen-fallback .runner-panel{border-top:0;border-right:1px solid #d9e1e7}.tracking-layout:fullscreen .fullscreen-map,.tracking-layout.map-fullscreen-fallback .fullscreen-map{top:58px;right:8px;font-size:11px;max-width:calc(100% - 16px)}.toggle-runners{left:auto;right:8px;top:8px;font-size:11px;padding:10px 6px;max-width:calc(100% - 52px)}.tracking-layout:fullscreen .runner-item,.tracking-layout.map-fullscreen-fallback .runner-item{padding:12px 5px}.tracking-layout:fullscreen .runner-distance,.tracking-layout.map-fullscreen-fallback .runner-distance{display:none}}

.playback-dock{position:absolute;bottom:34px;left:14px;right:14px;z-index:800;background:rgba(255,255,255,.96);border:1px solid #d6dfe7;border-radius:9px;box-shadow:0 3px 18px #14243622;padding:10px 14px}.playback-dock .map-toolbar{margin:0;align-items:center;gap:8px}.playback-dock .play-controls{align-items:center;gap:7px}.playback-dock button{width:38px;height:36px;padding:0;font-size:18px;flex:none}.playback-dock .speed-control select{min-height:36px;padding:7px;font-size:13px}.playback-dock .timeline{padding:8px 0 0;margin:0;border:0;background:none}.playback-dock .timeline-label{font-size:12px}.playback-dock .timeline input{margin:4px 0 0;height:22px}.playback-dock #archive-clock{font-size:12px;color:#627081;font-variant-numeric:tabular-nums}.fullscreen-map,.toggle-runners{width:38px;height:38px;padding:0;font-size:21px;display:grid;place-items:center}.toggle-runners{display:none}.tracking-layout:fullscreen .toggle-runners,.tracking-layout.map-fullscreen-fallback .toggle-runners{display:grid}.map-alert{bottom:170px}.tracking-layout:fullscreen .fullscreen-map,.tracking-layout.map-fullscreen-fallback .fullscreen-map{top:12px;right:12px;font-size:21px}.tracking-layout:fullscreen .toggle-runners,.tracking-layout.map-fullscreen-fallback .toggle-runners{top:12px;left:54px;right:auto;font-size:21px;max-width:none}.tracking-layout:fullscreen .map-area,.tracking-layout.map-fullscreen-fallback .map-area{min-width:0}@media(max-width:650px){.playback-dock{left:8px;right:8px;bottom:42px;padding:8px}.playback-dock .map-toolbar{flex-direction:row}.playback-dock #archive-clock{font-size:11px}.playback-dock .timeline-label label{display:none}.playback-dock .timeline-label{justify-content:flex-end}.tracking-layout:fullscreen:not(.runners-hidden),.tracking-layout.map-fullscreen-fallback:not(.runners-hidden){grid-template-columns:1fr}.tracking-layout:fullscreen .runner-panel,.tracking-layout.map-fullscreen-fallback .runner-panel{position:absolute;left:0;top:60px;bottom:190px;width:min(305px,85vw);z-index:850;background:white;box-shadow:3px 0 12px #14243633}.tracking-layout:fullscreen.runners-hidden .runner-panel,.tracking-layout.map-fullscreen-fallback.runners-hidden .runner-panel{display:none}.fullscreen-map{font-size:21px;padding:0}}

.playback-dock{left:50%;right:auto;bottom:30px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 16px);padding:5px 7px;border-radius:7px}.playback-dock .map-toolbar,.playback-dock .play-controls{flex-wrap:nowrap;gap:5px}.playback-dock button{width:30px;height:30px;min-width:30px;font-size:14px;border-radius:4px}.playback-dock #sim-speed{font:12px "DM Sans",Arial,sans-serif;height:30px;padding:3px;border:1px solid #d6dfe7;border-radius:4px;background:white;color:#142436;width:72px}.playback-dock #sim-time{font:500 13px "DM Sans",Arial,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 3px;color:#142436}.playback-dock #sim-speed:focus-visible{outline:3px solid #457bba;outline-offset:2px}.map-alert{bottom:85px}@media(max-width:650px){.playback-dock{left:50%;right:auto;bottom:42px;padding:5px 7px}.tracking-layout:fullscreen .runner-panel,.tracking-layout.map-fullscreen-fallback .runner-panel{bottom:100px}}

.checkpoint-marker{background:none;border:0}.checkpoint-marker span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#93328e;color:white;border:2px solid white;box-shadow:0 2px 6px #14243644;font:700 12px "DM Sans",Arial,sans-serif}

.playback-dock{left:14px;right:14px;transform:none;width:auto;max-width:none;padding:6px 9px}.playback-dock .map-toolbar,.playback-dock .play-controls{width:100%}.playback-dock .play-controls{display:flex;gap:9px}.playback-dock #sim-position{flex:1;min-width:35px;width:auto;height:26px;margin:0;accent-color:#93328e;cursor:pointer}.playback-dock #sim-speed{flex:0 0 72px}.playback-dock #sim-position:focus-visible{outline:3px solid #457bba;outline-offset:2px}@media(max-width:650px){.playback-dock{left:8px;right:8px;width:auto;transform:none;padding:6px}.playback-dock .play-controls{gap:5px}.playback-dock #sim-speed{flex-basis:62px;width:62px}.playback-dock #sim-time{font-size:11px}}

@media(max-width:650px){.playback-dock .play-controls{flex-wrap:wrap}.playback-dock #sim-position{order:4;flex-basis:100%;width:100%}.playback-dock #sim-time{margin-left:auto;font-size:12px}}

body.tracking-app{margin:0;overflow:hidden}.tracking-app main{max-width:none;margin:0;padding:0}.tracking-app .tracking-layout{display:grid;grid-template-columns:305px minmax(0,1fr);width:100vw;height:100dvh;border:0;border-radius:0;overflow:hidden}.tracking-app .runner-panel{min-height:0;overflow:hidden}.tracking-app #runner-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.tracking-app .map-area{height:100%;min-height:0}.tracking-app #map{height:100%;width:100%}.tracking-app .toggle-runners{display:grid;left:54px;right:auto;top:12px;font-size:21px;max-width:none}.tracking-app .tracking-layout.runners-hidden{grid-template-columns:1fr}.tracking-app .runners-hidden .runner-panel{display:none}.tracking-marker span{border:0;box-shadow:0 1px 4px #14243633}.checkpoint-marker span{background:white;color:#93328e;border:2px solid #93328e}.runner-name-tooltip{background:rgba(255,255,255,.94);border:0;border-radius:4px;box-shadow:0 1px 5px #14243622;font:700 14px "DM Sans",Arial,sans-serif;padding:5px 8px;white-space:nowrap}.runner-name-tooltip:before{border-top-color:rgba(255,255,255,.94)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.tracking-app .tracking-layout{grid-template-columns:1fr}.tracking-app .runner-panel{position:absolute;left:0;top:60px;bottom:110px;width:min(305px,85vw);z-index:850;background:white;border-top:0;box-shadow:3px 0 12px #14243633}.tracking-app .runner-item{padding:12px 5px}.tracking-app .runner-distance{display:none}.tracking-app .fullscreen-map{top:12px;right:12px}.tracking-app .runners-hidden .runner-panel{display:none}}

.runner-name-tooltip{background:transparent!important;border:none!important;box-shadow:none!important;padding:0;font-weight:700;text-shadow:0 0 2px #fff,0 0 3px #fff}.runner-name-tooltip:before{display:none!important}.category-filter{display:block;font-size:12px;color:#627081;margin:0 0 12px}.category-filter select{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #d6dfe7;border-radius:5px;font:13px "DM Sans",Arial,sans-serif;background:white;color:#142436}.elevation-panel{position:absolute;left:14px;right:14px;bottom:85px;z-index:800;background:rgba(255,255,255,.97);border:1px solid #d6dfe7;border-radius:7px;padding:8px 10px;box-shadow:0 2px 12px #14243622}.elevation-panel[hidden]{display:none}.profile-heading{display:flex;align-items:center;gap:12px;font-size:12px}.profile-heading span{color:#627081;font-size:11px}.profile-heading button{margin-left:auto;border:0;background:transparent;font-size:22px;cursor:pointer;color:#627081}.elevation-panel svg{display:block;width:100%;height:180px}.elevation-panel svg text{font:11px Arial,sans-serif;fill:#627081}.elevation-panel circle{cursor:pointer;stroke:white;stroke-width:1}.elevation-panel circle:hover,.elevation-panel circle:focus{r:7;stroke:#142436;outline:none}#toggle-profile{display:grid;place-items:center}#toggle-profile[aria-expanded="true"]{color:#93328e;background:#eee3f5}@media(max-width:650px){.elevation-panel{left:8px;right:8px;bottom:120px;padding:6px}.elevation-panel svg{height:140px}.profile-heading span{font-size:10px}.profile-heading{gap:5px}.playback-dock #sim-time{font-size:10px}}

.popup-track-toggle{border:0;background:transparent;padding:0;margin-top:8px;color:#31587a;text-decoration:underline;text-align:left;font:inherit;cursor:pointer}.popup-track-toggle:hover{color:#93328e}

.popup-track-toggle{display:inline-grid;place-items:center;width:36px;height:34px;padding:5px;border:1px solid #d6dfe7;border-radius:5px;background:white;text-decoration:none}.popup-track-toggle:hover,.popup-track-toggle[aria-pressed="true"]{background:#eee3f5;color:#93328e;border-color:#b889d3}.elevation-panel{padding:6px 8px 0;height:clamp(230px,34dvh,420px)}.elevation-panel svg{width:100%;height:100%}.profile-close{position:absolute;right:6px;top:5px;z-index:1;width:26px;height:26px;border:1px solid #d6dfe7;border-radius:4px;background:#fff;color:#627081;font-size:21px;line-height:1;cursor:pointer}.profile-close:hover{color:#93328e;background:#eee3f5}@media(max-width:650px){.elevation-panel{height:clamp(210px,32dvh,340px);padding:4px 4px 0}.elevation-panel svg{height:100%}}

.runner-popup{min-width:180px;max-width:220px;font-size:12px;line-height:1.4}.leaflet-popup-content:has(.runner-popup){margin:10px 12px;width:205px!important}.runner-popup>strong{font-size:13px;line-height:1.3;display:block;padding-right:10px}.runner-popup>div{font-size:11px;margin-top:2px}.runner-popup dl{font-size:11px;gap:2px 9px;margin:7px 0}.runner-popup small{font-size:10px}.runner-popup .popup-track-toggle{width:28px;height:27px;padding:3px;margin-top:5px}.runner-popup .popup-track-toggle svg{width:18px;height:18px}

.race-point-marker{display:grid;place-items:center;background:white;border:2px solid currentColor;border-radius:50%;box-shadow:0 1px 5px #14243633}.start-point{color:#26753b}.finish-point{color:#142436}

.profile-runner-tooltip{position:absolute;z-index:3;pointer-events:none;background:transparent;border:0;box-shadow:none;font:700 13px "DM Sans",Arial,sans-serif;line-height:20px;max-width:calc(100% - 8px);white-space:normal;text-shadow:0 0 2px #fff,0 0 3px #fff}.profile-runner-tooltip[hidden]{display:none}

.tracking-app .toggle-runners,.tracking-app .tracking-layout:fullscreen .toggle-runners,.tracking-app .tracking-layout.map-fullscreen-fallback .toggle-runners{top:auto;left:12px;right:auto;bottom:86px;z-index:900}@media(max-width:650px){.tracking-app .toggle-runners,.tracking-app .tracking-layout:fullscreen .toggle-runners,.tracking-app .tracking-layout.map-fullscreen-fallback .toggle-runners{left:8px;bottom:125px}}

.tracking-app .playback-dock{left:58px;right:14px;bottom:30px;min-height:44px;display:flex;align-items:center}.tracking-app .toggle-runners,.tracking-app .tracking-layout:fullscreen .toggle-runners,.tracking-app .tracking-layout.map-fullscreen-fallback .toggle-runners{left:12px;bottom:33px;top:auto;width:38px;height:38px}.tracking-app .playback-dock .map-toolbar{min-width:0}@media(max-width:650px){.tracking-app .playback-dock{left:50px;right:8px;bottom:42px}.tracking-app .toggle-runners,.tracking-app .tracking-layout:fullscreen .toggle-runners,.tracking-app .tracking-layout.map-fullscreen-fallback .toggle-runners{left:8px;bottom:42px;top:auto;width:34px;height:34px}.tracking-app .playback-dock .play-controls{position:relative;padding-bottom:30px;flex-wrap:nowrap}.tracking-app .playback-dock #sim-position{position:absolute;left:0;right:0;bottom:0;width:100%;height:24px}.tracking-app .playback-dock #sim-time{white-space:normal;text-align:right;line-height:1.3;min-width:0}.tracking-app .playback-dock #sim-speed{flex-basis:58px;width:58px}}

.checkpoint-marker span{width:24px;height:24px;border-width:1.5px;font-size:10px}.profile-checkpoint{cursor:pointer}.elevation-panel .profile-checkpoint circle{stroke:#93328e;stroke-width:1.2}.elevation-panel .profile-checkpoint circle:hover,.elevation-panel .profile-checkpoint circle:focus{r:7.5}

/* Compact runner menu */
.runner-choice{min-height:32px!important;gap:4px!important;padding:2px 0!important}.runner-item{padding:4px 3px!important;gap:6px!important;min-height:30px!important}.runner-copy strong{font-size:12px!important;line-height:1.2!important}.runner-distance{font-size:11px!important}.runner-item .bib{font-size:10px!important;min-width:25px!important;width:25px!important;height:25px!important}.runner-track{width:28px!important;height:28px!important;padding:4px!important}.panel-head{gap:6px!important;padding:10px!important}.category-filter select{font-size:12px!important;padding:6px!important}.search input{font-size:12px!important;padding:7px!important}.select-all-runners{font-size:12px!important;padding:6px 10px!important}

/* Swap menu visibility and zoom controls */
.tracking-app .toggle-runners,.tracking-app .tracking-layout:fullscreen .toggle-runners,.tracking-app .tracking-layout.map-fullscreen-fallback .toggle-runners{left:10px;top:10px;bottom:auto;right:auto;width:34px;height:34px}
.tracking-app .leaflet-bottom.leaflet-left .leaflet-control-zoom{margin:0 0 33px 12px;box-shadow:0 2px 8px #14243622}.tracking-app .leaflet-control-zoom a{width:34px;height:28px;line-height:28px;font-size:20px}
@media(max-width:650px){.tracking-app .leaflet-bottom.leaflet-left .leaflet-control-zoom{margin:0 0 42px 8px}.tracking-app .leaflet-control-zoom a{width:30px;height:28px;line-height:28px}}

.map-branding{position:absolute;top:12px;left:56px;right:60px;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;pointer-events:none}.map-branding a{display:flex;align-items:center;pointer-events:auto}.map-branding img{display:block;width:auto;height:20px;max-width:100px;object-fit:contain}.map-branding a:first-child img{height:36px;max-width:170px}@media(max-width:650px){.map-branding{right:58px;gap:8px}.map-branding img{height:16px;max-width:72px}.map-branding a:first-child img{height:30px;max-width:130px}}

.tracking-marker span{border:0;box-sizing:border-box}


.tracking-app .runner-scroll{flex:1;min-height:0;overflow-y:auto}.tracking-app .runner-scroll #runner-list{flex:none;max-height:none;overflow:visible}.tracking-app .runner-scroll .select-all-runners{display:flex;align-items:center;gap:8px;padding:6px 0!important;margin:0;border-bottom:1px solid #eef1f4}.tracking-app .runner-scroll .select-all-runners input{margin-left:8px;flex-shrink:0}.tracking-app .runner-scroll .select-all-runners #visible-count{margin-left:auto;margin-right:8px}
.tracking-app .runner-scroll .runner-checkbox{margin-left:8px;flex-shrink:0}

.runner-popup .runner-popup-heading{display:flex;align-items:flex-start;gap:6px;margin:0;padding-right:10px}.runner-popup-heading strong{flex:1;min-width:0;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.runner-popup .runner-popup-heading .popup-track-toggle{flex:0 0 28px;margin:0}

.runner-choice .runner-track{flex:0 0 24px;width:24px!important;height:24px!important;padding:4px!important}.runner-choice .runner-track svg{width:14px;height:14px}


.runner-popup .runner-popup-heading .popup-track-toggle{flex:0 0 22px;width:22px;height:22px;padding:3px}.runner-popup .popup-track-toggle svg{width:14px;height:14px}.elevation-panel svg .profile-bib{font-size:8px;font-weight:700;pointer-events:none;text-shadow:0 0 2px white}

/* Smaller left panel */
@media(min-width:651px){.tracking-app .tracking-layout:not(.runners-hidden){grid-template-columns:230px minmax(0,1fr)}}
.tracking-app .runner-panel .panel-head{padding:8px!important;gap:4px!important}
.tracking-app .runner-panel .category-filter{font-size:11px;margin-bottom:7px}
.tracking-app .runner-panel .category-filter select{font-size:11px!important;padding:4px 6px!important;margin-top:3px;min-height:27px;height:27px}
.tracking-app .runner-panel .search input{font-size:11px!important;padding:5px 6px!important;min-height:27px;height:27px}
.tracking-app .runner-panel .runner-choice{min-height:27px!important;padding:1px 0!important;gap:3px!important}
.tracking-app .runner-panel .runner-item{min-height:25px!important;padding:2px!important;gap:4px!important}
.tracking-app .runner-panel .runner-copy strong{font-size:11px!important;line-height:1.2!important}
.tracking-app .runner-panel .runner-distance{font-size:10px!important}
.tracking-app .runner-panel .runner-item .bib{font-size:9px!important;min-width:22px!important;width:22px!important;height:22px!important;border-radius:4px}
.tracking-app .runner-panel .runner-checkbox,.tracking-app .runner-panel .select-all-runners input{width:14px;height:14px;min-width:14px}
.tracking-app .runner-panel .runner-track{flex-basis:21px;width:21px!important;height:21px!important;padding:3px!important;margin-right:5px}
.tracking-app .runner-panel .runner-track svg{width:12px;height:12px}
.tracking-app .runner-scroll .select-all-runners{font-size:11px!important;padding:5px 0!important;gap:6px}
.tracking-app .runner-panel #visible-count{font-size:10px}
@media(max-width:650px){.tracking-app .tracking-layout .runner-panel{width:min(230px,82vw)}}

.tracking-marker span{width:23px;height:23px;font-size:9px}.runner-hover-name{font-size:12px;line-height:1.25}.profile-runner-tooltip{font-size:11px;line-height:16px}

/* Black and white runner selection */
.runner-panel .runner-checkbox,.runner-panel .select-all-runners input{appearance:none;-webkit-appearance:none;border:1px solid #111;border-radius:2px;background-color:#fff;background-position:center;background-repeat:no-repeat;background-size:12px 12px}
.runner-panel .runner-checkbox:checked,.runner-panel .select-all-runners input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3 3 7-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.runner-panel .select-all-runners input:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.tracking-marker.is-selected span{outline:none}
.runner-item.chosen{background:#f2f2f2;box-shadow:none}
@media(forced-colors:active){.runner-panel .runner-checkbox,.runner-panel .select-all-runners input{appearance:auto;background-image:none}}

.tracking-app .runner-panel .runner-item .bib{border-radius:50%;flex-shrink:0}


/* Consistent controls and compact popups */
.tracking-app :is(.map-toolbar button,.fullscreen-map,.toggle-runners,.runner-track,.popup-track-toggle,.profile-close){border:1px solid #c9cdd2;border-radius:4px;background:#fff;color:#333;box-shadow:none;transition:background-color .12s,border-color .12s,color .12s}
.tracking-app :is(.map-toolbar button,.fullscreen-map,.toggle-runners,.runner-track,.popup-track-toggle,.profile-close):hover{background:#f1f2f3;border-color:#92979e;color:#111}
.tracking-app :is(.map-toolbar button,.fullscreen-map,.toggle-runners,.runner-track,.popup-track-toggle)[aria-pressed="true"],.tracking-app #toggle-profile[aria-expanded="true"]{background:#eee5f4;border-color:#79558f;color:#93328e}
.tracking-app button:focus-visible{outline:2px solid #93328e;outline-offset:2px}
.tracking-app .leaflet-control-zoom{border:1px solid #c9cdd2;border-radius:4px;overflow:hidden}.tracking-app .leaflet-control-zoom a{background:#fff;color:#333}.tracking-app .leaflet-control-zoom a:hover{background:#f1f2f3;color:#111}
.tracking-app .runner-choice{transition:background-color .12s}.tracking-app .runner-choice .runner-item{background:transparent;box-shadow:none}.tracking-app .runner-choice:hover,.tracking-app .runner-choice:focus-within{background:#f2edf6}.tracking-app .runner-choice:has(.runner-item.chosen){background:#ece3f2}
.leaflet-popup-content-wrapper:has(.runner-popup){border-radius:7px;padding:1px;box-shadow:0 2px 10px #0002}.leaflet-popup-content:has(.runner-popup){margin:8px 10px;width:190px!important}.runner-popup{min-width:0;max-width:190px;font-size:11px;line-height:1.3}.runner-popup .runner-popup-heading{gap:4px}.runner-popup-heading strong,.runner-popup>strong{font-size:12px;line-height:1.25}.runner-popup>div{font-size:10px}.runner-popup dl{font-size:10px;gap:2px 6px;margin:5px 0}.runner-popup dd{overflow-wrap:anywhere;min-width:0}
@media(prefers-reduced-motion:reduce){.tracking-app .runner-choice,.tracking-app button{transition:none}}

.leaflet-popup-content:has(.checkpoint-popup){width:178px!important}.checkpoint-popup{max-width:178px}

#fit-route{display:grid;place-items:center}.profile-map-point{pointer-events:none}

/* Favorites share the compact controls in the list and popup. */
.runner-favorite{display:inline-grid;place-items:center;flex:0 0 21px;width:21px;height:21px;padding:2px;border:1px solid #c9cdd2;border-radius:4px;background:white;color:#666;cursor:pointer}.runner-favorite svg{width:14px;height:14px}.runner-favorite:hover{background:#f1f2f3;color:#111}.runner-favorite[aria-pressed="true"]{color:#996500;background:#fff8dc;border-color:#c99a36}.runner-favorite[aria-pressed="true"] svg{fill:#e8b83e}.runner-search-tools{display:flex;align-items:center;gap:5px}.runner-search-tools .search{flex:1;min-width:0;margin:0}.runner-search-tools .search input{width:100%}.runner-popup .runner-favorite{margin:0}.runner-copy{min-width:0}

.select-all-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid #eef1f4;padding-right:5px}.tracking-app .runner-scroll .select-all-row .select-all-runners{flex:1;min-width:0;border-bottom:0}.select-all-row #favorites-filter{flex-shrink:0}

/* Small, frameless favorites and track actions. */
.tracking-app :is(.runner-favorite,.runner-track,.popup-track-toggle),.tracking-app :is(.runner-favorite,.runner-track,.popup-track-toggle):hover,.tracking-app :is(.runner-favorite,.runner-track,.popup-track-toggle)[aria-pressed="true"]{border:0!important;background:transparent!important;box-shadow:none!important}
.tracking-app .runner-panel :is(.runner-favorite,.runner-track),.tracking-app .runner-popup .runner-popup-heading :is(.runner-favorite,.popup-track-toggle){flex:0 0 18px;width:18px!important;height:18px!important;padding:2px!important}
.tracking-app :is(.runner-favorite,.runner-track,.popup-track-toggle) svg{width:11px!important;height:11px!important}
.tracking-app .runner-favorite[aria-pressed="true"]{color:#996500}.tracking-app :is(.runner-track,.popup-track-toggle)[aria-pressed="true"]{color:#93328e}
.tracking-app .leaflet-control-zoom{display:flex;flex-direction:row}.tracking-app .leaflet-control-zoom a{border-bottom:0}.tracking-app .leaflet-control-zoom a:first-child{border-right:1px solid #ccc;border-radius:3px 0 0 3px}.tracking-app .leaflet-control-zoom a:last-child{border-radius:0 3px 3px 0}.tracking-app .playback-dock{left:90px}@media(max-width:650px){.tracking-app .playback-dock{left:78px}}
.tracking-app .fullscreen-map{width:34px;height:34px;min-width:0;padding:0}.tracking-app .fullscreen-map svg{width:18px;height:18px}
.tracking-app .playback-dock{min-height:30px;height:30px;box-sizing:border-box;padding:1px 5px;bottom:33px;border-radius:4px}.tracking-app .playback-dock button{width:26px;min-width:26px;height:26px;padding:0}.tracking-app .playback-dock button svg{width:17px;height:17px}.tracking-app .playback-dock #sim-speed{height:26px;min-height:0;padding:1px 3px}.tracking-app .playback-dock #sim-position{height:24px}.tracking-app .playback-dock .play-controls{gap:5px}@media(max-width:650px){.tracking-app .playback-dock{height:auto;min-height:30px;bottom:42px}.tracking-app .playback-dock .play-controls{padding-bottom:22px}.tracking-app .playback-dock #sim-position{height:20px}}
.tracking-app .playback-dock{bottom:25px}.tracking-app .leaflet-bottom.leaflet-left .leaflet-control-zoom{margin-bottom:25px}@media(max-width:650px){.tracking-app .playback-dock{bottom:34px}.tracking-app .leaflet-bottom.leaflet-left .leaflet-control-zoom{margin-bottom:34px}}

/* Linked hover and gentle panel transitions. */
.tracking-marker span{transition:transform .14s ease}.tracking-marker.runner-highlight span{transform:scale(1.25)}.tracking-app .runner-choice.runner-highlight{background:#ece3f2}.elevation-panel circle.runner-highlight{r:6;stroke:darkred;stroke-width:1.5}
.tracking-app .tracking-layout{transition:grid-template-columns .2s ease}.tracking-app .runner-panel{transition:opacity .2s ease,transform .2s ease;min-width:0}.tracking-app .tracking-layout.runners-hidden .runner-panel{display:flex;opacity:0;pointer-events:none;transform:translateX(-16px)}
@media(min-width:651px){.tracking-app .tracking-layout.runners-hidden{grid-template-columns:0px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.tracking-app .tracking-layout,.tracking-app .runner-panel,.tracking-marker span{transition:none}}
.tracking-app .runner-panel .runner-checkbox,.tracking-app .runner-panel .select-all-runners input{width:12px;height:12px;min-width:12px;background-size:10px 10px}
.elevation-panel #profile-runners circle:hover,.elevation-panel #profile-runners circle:focus{r:4;stroke:white;stroke-width:1}

.checkpoint-marker.endpoint-small span{width:20px;height:20px;font-size:8px}
.tracking-app .runner-scroll .select-all-row{padding-right:0}.tracking-app .runner-scroll .select-all-row #favorites-filter{flex:0 0 18px;width:18px;height:18px;padding:2px;margin:0}
.tracking-app :is(.runner-track,.popup-track-toggle)[aria-pressed="true"],.tracking-app :is(.runner-track,.popup-track-toggle)[aria-pressed="true"]:hover{color:#d71920}


.tracking-app .playback-dock #sim-position{appearance:none;-webkit-appearance:none;background:transparent;accent-color:#93328e}.tracking-app #sim-position::-webkit-slider-runnable-track{height:4px;background:#93328e;border-radius:2px}.tracking-app #sim-position::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:#93328e}.tracking-app #sim-position::-moz-range-track{height:4px;background:#93328e;border-radius:2px}.tracking-app #sim-position::-moz-range-progress{height:4px;background:#93328e}.tracking-app #sim-position::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#93328e}
.tracking-app button.runner-track[aria-pressed="true"],.tracking-app button.popup-track-toggle[aria-pressed="true"]{color:#d71920!important;transition:none!important}.tracking-app button.runner-track[aria-pressed="true"] svg,.tracking-app button.popup-track-toggle[aria-pressed="true"] svg{color:#d71920!important;stroke:#d71920!important}

.tracking-app .checkpoint-popup .checkpoint-results-link{display:block;text-align:left;color:#93328e;font-weight:700;margin-top:5px;text-decoration:none}.tracking-app .checkpoint-popup .checkpoint-results-link:hover{text-decoration:underline}

.popup-times-toggle{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;padding:2px;border:0;background:transparent;color:#93328e;cursor:pointer}.popup-times-toggle[aria-expanded="true"]{color:#93328e}.checkpoint-times{max-height:160px;overflow:auto;border-top:1px solid #eee;margin-top:6px}.checkpoint-times table{width:100%;font-size:10px;border-collapse:collapse}.checkpoint-times th,.checkpoint-times td{padding:2px 0;text-align:left}.checkpoint-times td:last-child,.checkpoint-times th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.tracking-app .playback-dock #sim-time{display:block;box-sizing:border-box;flex:0 0 clamp(142px,16vw,170px);width:clamp(142px,16vw,170px);min-width:0;margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:650px){.tracking-app .playback-dock #sim-time{flex:0 0 clamp(76px,23vw,105px);width:clamp(76px,23vw,105px);white-space:normal;min-height:26px}}
.elevation-panel #elevation-chart > text{font-size:9px}
.elevation-panel .profile-checkpoint:focus{outline:none}.elevation-panel .profile-checkpoint circle:hover,.elevation-panel .profile-checkpoint circle:focus{stroke:#93328e;stroke-width:1.2;r:7.5}.elevation-panel .profile-checkpoint:focus-visible{outline:1px solid #93328e;outline-offset:2px}.tracking-app .checkpoint-popup .checkpoint-results-link:hover,.tracking-app .runner-popup a:hover{text-decoration:none}
.tracking-app .runner-scroll{overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#aaa #f2f2f2}.tracking-app .runner-scroll::-webkit-scrollbar{width:7px}.tracking-app .runner-scroll::-webkit-scrollbar-track{background:#f2f2f2}.tracking-app .runner-scroll::-webkit-scrollbar-thumb{background:#aaa;border-radius:4px}

.popup-clock-placeholder{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;color:#93328e;cursor:default}.popup-clock-placeholder svg{width:12px;height:12px}

.tracking-app #go-live{width:38px;min-width:38px;font-size:10px;font-weight:700;color:#b91520}.tracking-app #go-live[hidden]{display:none}
.popup-clock-placeholder{color:#999}

#install-app[hidden]{display:none}#install-help{max-width:320px;width:calc(100% - 48px);border:0;border-radius:10px;padding:22px;color:#333;font:14px/1.5 system-ui}#install-help::backdrop{background:#0006}#install-help h2{font-size:18px;color:#93328e;margin:0}#install-help button{background:#93328e;color:white;border:0;border-radius:4px;padding:8px 16px}#install-help form{text-align:right}

.tracking-app #install-app{position:absolute;right:14px;bottom:25px;z-index:900;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #c9cdd2;border-radius:4px;background:#fff;color:#333;cursor:pointer}.tracking-app #install-app[hidden]{display:none}.tracking-app .playback-dock{right:52px}.tracking-app .map-area:has(#install-app[hidden]) .playback-dock{right:14px}@media(max-width:650px){.tracking-app #install-app{right:8px;bottom:34px}.tracking-app .playback-dock{right:46px}.tracking-app .map-area:has(#install-app[hidden]) .playback-dock{right:8px}}

.tracking-app .playback-dock #sim-time{flex:0 0 66px;width:66px;min-width:66px;max-width:66px;white-space:nowrap;min-height:0}@media(max-width:650px){.tracking-app .playback-dock #sim-time{flex-basis:54px;width:54px;min-width:54px;max-width:54px}}

/* Full-width name and a separate, aligned action row. */
.runner-popup .runner-popup-heading{display:grid;grid-template-columns:1fr repeat(3,18px);gap:3px 4px;padding-right:0;align-items:center}.runner-popup .runner-popup-heading strong{grid-column:1/-1;padding-right:10px;overflow-wrap:break-word}.runner-popup .runner-popup-heading .popup-track-toggle{grid-column:2}.runner-popup .runner-popup-heading .runner-favorite{grid-column:3}.runner-popup .runner-popup-heading .popup-clock-placeholder{grid-column:4}

.tracking-app .category-filter:has(#race-filter),.tracking-app .category-filter:has(#route-filter){font-weight:700}
.tracking-app #race-filter,.tracking-app #route-filter{font-weight:400}
/* Consistent compact sidebar controls, with touch-friendly mobile spacing. */
.tracking-app .runner-panel .panel-head{background:#fff;border-bottom:1px solid #e8edf0}
.tracking-app .runner-panel .category-filter select,.tracking-app .runner-panel .search input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d6dfe7;border-radius:2px;background-color:#fff;color:#352d38;box-shadow:none}
.tracking-app .runner-panel .category-filter select:focus-visible,.tracking-app .runner-panel .search input:focus-visible{outline:2px solid #93328e;outline-offset:1px}
.tracking-app .runner-panel .runner-copy{overflow:hidden}.tracking-app .runner-panel .runner-copy strong{overflow-wrap:anywhere}
@media(max-width:650px){
.tracking-app .tracking-layout .runner-panel{width:min(260px,82vw);box-shadow:4px 0 18px #30203618}
.tracking-app .runner-panel .panel-head{padding:10px!important;gap:6px!important;flex-shrink:0}
.tracking-app .runner-panel .category-filter{margin-bottom:6px}
.tracking-app .runner-panel .category-filter select{height:34px;min-height:34px;padding:6px 26px 6px 9px!important;font-size:12px!important;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%2393328e' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;text-overflow:ellipsis}
.tracking-app .runner-panel .search input{height:34px;min-height:34px;font-size:16px!important;padding:5px 9px!important}
.tracking-app .runner-panel .search input::placeholder{font-size:12px}
.tracking-app .runner-panel .runner-choice{min-height:35px!important;padding:2px 5px!important;gap:4px!important}
.tracking-app .runner-panel .runner-item{min-height:31px!important}
.tracking-app .runner-panel :is(.runner-favorite,.runner-track){flex-basis:26px;width:26px!important;height:30px!important;margin-right:0}
.tracking-app .runner-panel .select-all-row{padding-right:5px;min-height:35px}
.tracking-app .runner-panel .select-all-runners{font-size:11px!important}
.tracking-app .runner-scroll{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

.tracking-app .runner-panel .search{border-radius:2px;background:#fff}

.tracking-app .runner-panel .search input{border:0;border-radius:0;background:transparent;box-shadow:none}.tracking-app .runner-panel .search:focus-within{outline:2px solid #93328e;outline-offset:1px}.tracking-app .runner-panel .search input:focus-visible{outline:none}

.tracking-app .runner-panel .search{padding-left:0;padding-right:0}.tracking-app .runner-panel .search input{text-align:left}

.tracking-app .runner-panel .search input{padding-right:3px!important}.tracking-app .runner-panel .search input::-webkit-search-cancel-button{margin-right:0}

.profile-zoom-controls{position:absolute;top:5px;left:44px;display:flex;gap:3px;z-index:4}.profile-zoom-controls[hidden]{display:none}.profile-zoom-controls button{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #c9cdd2;border-radius:3px;background:#fff;color:#555;font-size:18px;cursor:pointer}.profile-zoom-controls button svg{width:14px;height:14px}.profile-zoom-controls button:disabled{opacity:.4;cursor:default}#elevation-chart{touch-action:none;user-select:none}


.profile-zoom-controls{gap:2px}.profile-zoom-controls button{width:20px;height:20px;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:17px}.profile-zoom-controls button svg{width:13px;height:13px}.profile-zoom-controls button:hover{color:#93328e}.profile-zoom-controls button:focus-visible{outline:1px solid #93328e;outline-offset:1px}

.tracking-app .profile-close,.tracking-app .profile-close:hover{width:20px;height:20px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:18px;line-height:20px}.tracking-app .profile-close:hover{color:#93328e}

.profile-readout{position:absolute;top:7px;right:31px;z-index:4;font-size:10px;line-height:16px;color:#666;font-variant-numeric:tabular-nums;pointer-events:none;background:#ffffffd9;padding:0 3px}

.profile-readout{left:6px;right:auto;top:5px;font-weight:700;padding:0;line-height:20px}.profile-zoom-controls{left:auto;right:31px;top:5px;align-items:center}.profile-zoom-controls button{display:flex;align-items:center;justify-content:center;line-height:1}.profile-zoom-controls button svg{display:block;flex:none}

.profile-zoom-controls{left:6px;right:auto;top:5px}.profile-readout{left:78px;right:auto;top:5px;font-weight:700}.tracking-app #close-profile,.tracking-app #close-profile:hover,.tracking-app #close-profile:focus{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0}.tracking-app #close-profile:focus-visible{outline:1px solid #93328e;outline-offset:1px}

.tracking-app #elevation-chart:focus,.tracking-app #elevation-panel:focus,.tracking-app #elevation-chart [tabindex]:focus{outline:none;box-shadow:none}.tracking-app #elevation-chart [tabindex]:focus-visible{outline:1px solid #93328e;outline-offset:2px}

.tracking-app .runner-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;padding:2px;border:0;background:transparent;box-shadow:none;color:#666;cursor:pointer}.runner-action svg{width:12px;height:12px}.tracking-app .runner-action[aria-pressed=true]{color:#93328e}.runner-popup .runner-popup-heading{grid-template-columns:1fr repeat(5,18px)}.runner-popup .runner-popup-heading .runner-action[data-follow]{grid-column:4}.runner-popup .runner-popup-heading .runner-action[data-share]{grid-column:5}.runner-popup .runner-popup-heading .popup-clock-placeholder{grid-column:6}.runner-popup.checkpoint-popup .runner-popup-heading .popup-clock-placeholder{grid-column:6}


.runner-popup .runner-popup-heading{grid-template-columns:1fr repeat(4,18px)}.runner-popup .runner-popup-heading .popup-clock-placeholder,.runner-popup.checkpoint-popup .runner-popup-heading .popup-clock-placeholder{grid-column:5}

.profile-resize-handle{position:absolute;top:0;left:0;right:0;height:7px;z-index:6;cursor:ns-resize;touch-action:none}.profile-resize-handle:after{content:'';position:absolute;left:50%;top:1px;transform:translateX(-50%);width:34px;height:3px;border-radius:2px;background:#b9adb9}.profile-resize-handle:hover:after,.profile-resize-handle:focus-visible:after{background:#93328e}.profile-resize-handle:focus-visible{outline:1px solid #93328e}


.runner-popup .runner-popup-heading .runner-action[data-follow]{grid-column:3}.runner-popup .runner-popup-heading .runner-favorite{grid-column:4}

/* Compact, aligned runner controls and readable details. */
.tracking-app .runner-panel .panel-head{border-bottom:1px solid #e6e1e7}
.tracking-app .runner-panel .runner-choice{column-gap:3px!important}
.tracking-app .runner-panel .runner-choice :is(.runner-track,.runner-action,.runner-favorite),.tracking-app .runner-panel #favorites-filter{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px!important;height:24px!important;padding:3px!important;margin:0!important;border:0;box-shadow:none;background:transparent}
.tracking-app .runner-panel .runner-choice :is(.runner-track,.runner-action,.runner-favorite) svg,.tracking-app .runner-panel #favorites-filter svg{width:13px;height:13px;flex:none}
.tracking-app .runner-panel .select-all-row{padding-right:0}
.tracking-app .runner-panel .runner-choice.is-following,.tracking-app .runner-panel .runner-choice.is-following .runner-item{background:#f7edf6!important}
.runner-popup dl{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;line-height:1.4}
.runner-popup dt{color:#78808a;font-weight:400}
.runner-popup dd{color:#25303c;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:108px}
.runner-popup .runner-popup-heading{column-gap:3px;align-items:center}
.runner-popup .runner-popup-heading :is(.popup-track-toggle,.runner-action,.runner-favorite,.popup-clock-placeholder){width:18px!important;height:20px!important;padding:2px!important;margin:0!important;border:0;box-shadow:none;background:transparent;display:inline-flex;align-items:center;justify-content:center}
.runner-popup .runner-popup-heading :is(.popup-track-toggle,.runner-action,.runner-favorite,.popup-clock-placeholder) svg{width:13px!important;height:13px!important}
@media(max-width:650px){.tracking-app .runner-panel .runner-choice :is(.runner-track,.runner-action,.runner-favorite),.tracking-app .runner-panel #favorites-filter{flex-basis:24px;width:24px!important;height:30px!important}.tracking-app .runner-panel .select-all-row{padding-right:5px}}

.connection-status{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:800;background:#fff9e9;color:#725424;border:1px solid #e6d7b4;border-radius:4px;padding:4px 8px;font-size:11px;pointer-events:none}.connection-status[hidden]{display:none}
@media(pointer:coarse){
.tracking-app .runner-panel .runner-choice :is(.runner-track,.runner-action,.runner-favorite),.tracking-app .runner-panel #favorites-filter{flex-basis:30px;width:30px!important;height:36px!important}
.tracking-app .runner-popup .runner-popup-heading{grid-template-columns:1fr repeat(4,30px)}
.tracking-app .runner-popup .runner-popup-heading :is(.popup-track-toggle,.runner-action,.runner-favorite,.popup-clock-placeholder){width:30px!important;height:32px!important}
.tracking-app :is(#toggle-runners,#fullscreen-map,#install-app,.profile-close,.profile-zoom-controls button){touch-action:manipulation}
.tracking-app :is(#toggle-runners,#fullscreen-map,#install-app,.profile-close,.profile-zoom-controls button):before{content:'';position:absolute;inset:-5px}
.profile-zoom-controls button{position:relative}.profile-zoom-controls{gap:10px}.profile-readout{left:100px}
.tracking-app .playback-dock{bottom:calc(34px + env(safe-area-inset-bottom,0px))}
.tracking-app #install-app{bottom:calc(34px + env(safe-area-inset-bottom,0px));right:max(8px,env(safe-area-inset-right,0px))}
.tracking-app .leaflet-bottom.leaflet-left .leaflet-control-zoom{margin-bottom:calc(34px + env(safe-area-inset-bottom,0px))}
.tracking-app .runner-panel{left:env(safe-area-inset-left,0px);bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.tracking-app .elevation-panel{bottom:calc(100px + env(safe-area-inset-bottom,0px));max-height:65dvh}
.tracking-app .runner-panel{touch-action:pan-y}.profile-readout{pointer-events:auto;touch-action:pan-x}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){
.tracking-app .tracking-layout{grid-template-columns:1fr}
.tracking-app .runner-panel{position:absolute;top:max(8px,env(safe-area-inset-top,0px));bottom:calc(78px + env(safe-area-inset-bottom,0px));width:260px;z-index:850;background:white;overflow-y:auto}
.tracking-app .runner-scroll{flex:none;overflow:visible}.tracking-app .panel-head{padding:6px!important}
.tracking-app .elevation-panel{height:140px;max-height:48dvh;bottom:calc(72px + env(safe-area-inset-bottom,0px))}
.tracking-app .playback-dock{bottom:calc(25px + env(safe-area-inset-bottom,0px))}
.tracking-app .runner-panel .category-filter select{height:28px;min-height:28px}
}

@media(pointer:coarse){.tracking-app .elevation-panel{touch-action:pan-x}.tracking-app #elevation-chart,.tracking-app .profile-resize-handle{touch-action:none}}

/* Compact landscape layout, including iPhone 13 mini. */
@media (pointer:coarse) and (orientation:landscape) and (max-height:600px){
.tracking-app .tracking-layout,.tracking-app .tracking-layout:fullscreen,.tracking-app .tracking-layout.map-fullscreen-fallback{grid-template-columns:230px minmax(0,1fr);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box}
.tracking-app .tracking-layout.runners-hidden{grid-template-columns:0 minmax(0,1fr)}
.tracking-app .tracking-layout .runner-panel{position:relative;inset:auto;width:230px;height:100%;padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden;box-shadow:none;grid-column:1;grid-row:1}
.tracking-app .tracking-layout .map-area{grid-column:2;grid-row:1;min-width:0}
.tracking-app .tracking-layout.runners-hidden .runner-panel{display:none}
.tracking-app .runner-panel .panel-head{padding:5px 7px!important;gap:3px!important}
.tracking-app .runner-panel .category-filter{margin-bottom:3px;font-size:10px}
.tracking-app .runner-panel .category-filter select{height:27px;min-height:27px;margin-top:2px;padding:3px 22px 3px 7px!important;font-size:12px!important}
.tracking-app .runner-panel .search{padding:0!important}.tracking-app .runner-panel .search input{height:29px;min-height:29px;font-size:16px!important;padding:3px 4px 3px 7px!important}
.tracking-app .runner-scroll{flex:1;min-height:0;overflow-y:auto}
.tracking-app .playback-dock{left:78px!important;right:44px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:34px;min-height:34px;padding:2px 4px}
.tracking-app .map-area:has(#install-app[hidden]) .playback-dock{right:8px!important}
.tracking-app .playback-dock .play-controls{padding-bottom:0;flex-wrap:nowrap;gap:3px}
.tracking-app .playback-dock #sim-position{position:static;order:0;flex:1 1 50px;min-width:30px;width:auto;height:26px}
.tracking-app .playback-dock #sim-speed{flex:0 0 54px;width:54px}
.tracking-app .playback-dock #sim-time{white-space:nowrap;font-size:10px;flex:0 0 52px;width:52px;min-width:52px;margin:0}
.tracking-app .leaflet-bottom.leaflet-left .leaflet-control-zoom{margin-left:8px;margin-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.tracking-app #install-app{right:8px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.tracking-app .tracking-layout .toggle-runners{left:8px;top:8px;bottom:auto}
.tracking-app .fullscreen-map{top:8px;right:8px}
.tracking-app .elevation-panel{left:8px;right:8px;bottom:calc(50px + env(safe-area-inset-bottom,0px));height:130px;max-height:42dvh;min-height:0;padding:4px 4px 0}
.tracking-app .map-branding{pointer-events:none}
}

@media (max-width:650px), (pointer:coarse) and (max-width:1000px){.tracking-app #fullscreen-map{display:none!important}}

/* Compact language control, independent of map/replay controls. */
.tracking-app .language-switch{display:flex;justify-content:flex-start;gap:2px;margin:0 0 3px}
.tracking-app .language-switch button{appearance:none;min-width:30px;min-height:24px;padding:3px 5px;border:0;border-radius:0;background:transparent;color:#666;font:600 11px Arial,sans-serif;cursor:pointer}
.tracking-app .language-switch button[aria-pressed="true"]{color:#93328e;box-shadow:inset 0 -2px #93328e}
.tracking-app .language-switch button:focus-visible{outline:2px solid #93328e;outline-offset:1px}
@media(pointer:coarse){.tracking-app .language-switch button{min-width:38px;min-height:32px}}
