:root{font-family:Inter,system-ui,sans-serif;color:#173638;background:#f1f4f3;--dark:#102e30;--lime:#c2ed69;--muted:#586e6d}*{box-sizing:border-box}body{margin:0}header{background:var(--dark);color:white;padding:23px max(22px,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;align-items:center}h1{font-size:22px;letter-spacing:2px;margin:0}h1 span{font-weight:400}header p{font-size:12px;letter-spacing:2px;color:#bfd0cc;margin:5px 0 0}header .badge{background:#304b4a}main{max-width:1364px;margin:auto;padding:30px 22px}h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:8px 0 18px}.intro{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.intro h2{font-size:28px;margin:6px 0}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:750;color:#496562}.badge{font-size:12px;border-radius:20px;background:#e4eddf;padding:7px 10px}.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:22px;align-items:start}.card,.map-panel{background:#fff;border:1px solid #dce5e1;border-radius:18px;overflow:hidden}.card{padding:25px}aside{display:grid;gap:18px}.map-top{display:flex;align-items:center;gap:16px;padding:15px 20px}.map-top strong{font-size:28px}.map-top small{font-size:16px;font-weight:500}.map-top span{font-size:14px}.map-top button{margin-left:auto;font-size:12px;padding:8px}#map{height:480px;background:#e8efea;z-index:0}.map-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;flex-wrap:wrap;font-size:12px}.map-bottom label{font-size:12px}.map-bottom select{font-size:12px;padding:5px}.map-panel>.note{padding:0 20px}.profile{padding:16px 20px;border-top:1px solid #e6ece8}#profile{width:100%;height:100px;display:block}.axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.km{display:flex;align-items:baseline;gap:12px;margin:12px 0}.km strong{font-size:54px;letter-spacing:-2px;line-height:1.1}.km span{color:var(--muted);font-size:17px}progress{width:100%;height:7px;border:0;border-radius:10px;background:#e6ede9}progress::-webkit-progress-bar{background:#e6ede9;border-radius:10px}progress::-webkit-progress-value{background:#387569;border-radius:10px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.stats span{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}.stats b{font-size:19px;font-weight:650}button,.download{font:inherit;font-size:14px;font-weight:650;border:1px solid #bacdc6;border-radius:9px;background:white;color:var(--dark);padding:12px 16px;cursor:pointer;min-height:44px}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #277eff;outline-offset:3px}.primary{background:var(--lime);border-color:var(--lime)}#locate{width:100%;font-size:16px;margin-top:3px}p{font-size:16px;line-height:1.6}.card #gps-status{font-size:14px;color:var(--muted)}.check{display:flex;align-items:center;gap:8px;font-size:14px}.check input{width:18px;height:18px}.text-button{background:none;border:0;color:#2b6860;padding:8px 0;font-size:14px}.next{background:var(--dark);color:white;border:0}.next .eyebrow{color:#b4c8c3}.section-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.next h2{font-size:25px;margin:18px 0 8px}.countdown{font-size:38px;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:var(--lime);font-weight:600}.next p{font-size:14px;color:#cadad5;margin:6px 0}.next .stats span{color:#c2d3cf}.next .note{font-size:12px;line-height:1.5;color:#b2c5c0}.settings{margin:22px 0;display:grid;grid-template-columns:1fr 1.6fr;gap:30px}.elapsed{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.elapsed span{font-size:14px;color:var(--muted)}.elapsed strong{font-size:25px;font-variant-numeric:tabular-nums}label{display:block;font-size:14px;font-weight:550}label>span{display:block;color:var(--muted);font-size:12px;margin:5px 0}input,select{font:inherit;border:1px solid #bccdc7;border-radius:8px;padding:11px;background:#fff;color:#173638;min-width:0}input[type=datetime-local]{width:100%;margin:8px 0 12px;font-size:17px}input[type=number]{width:100px}.buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px}#start-status,#delay-status{font-size:14px;color:var(--muted)}.note{font-size:13px;line-height:1.6;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;min-width:470px}th{font-size:12px;color:var(--muted);font-weight:550;padding:14px 8px;border-bottom:1px solid #cfded7}td{padding:17px 8px;border-bottom:1px solid #e5ede8}td:first-child{font-weight:650}.active-row{background:#eff8dd}.behind{color:#7e918b}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.bottom-grid button{margin:4px 4px 4px 0}a{color:#24645d;text-underline-offset:3px}.download{display:inline-block;text-decoration:none;margin:6px 0 15px}details{font-size:14px;border-top:1px solid #dce5df;padding-top:14px}details p{font-size:14px}summary{cursor:pointer;font-weight:650}footer{display:flex;justify-content:space-between;gap:15px;color:#69807b;font-size:12px;margin:28px 0 8px}.place-label{background:transparent;border:0;box-shadow:none;font-size:12px;font-weight:650;color:#304d46;text-shadow:0 1px white,1px 0 white,0 -1px white,-1px 0 white}.leaflet-tooltip{font-family:inherit}.error{color:#b02d38!important}.next .error{color:#ffadad!important}[hidden]{display:none!important}@media(max-width:900px){.workspace{grid-template-columns:1fr}aside{grid-template-columns:1fr 1fr}#map{height:450px}.settings{grid-template-columns:1fr 1.4fr}}@media(max-width:600px){header{padding:18px 16px}main{padding:20px 12px}.intro{align-items:flex-start}.intro h2{font-size:22px}.workspace{gap:14px}aside{grid-template-columns:1fr;gap:14px}#map{height:390px}.card{padding:21px}.map-top{gap:10px;padding:12px 14px}.map-top strong{font-size:23px}.map-top span{font-size:12px}.map-top button{font-size:11px;padding:7px}.map-bottom{padding:12px 14px;gap:12px}.settings,.bottom-grid{grid-template-columns:1fr;gap:20px}.settings{margin:14px 0}.settings h2 br{display:none}.settings h2{font-size:22px}.bottom-grid{margin-top:14px;gap:14px}.km strong{font-size:50px}.checkpoints{padding:20px 15px}.section-top{align-items:flex-start}.checkpoints h2{font-size:21px}footer{flex-direction:column}.profile{padding:12px 14px}input[type=datetime-local]{min-height:48px}}
.workspace>.position{width:100%}
:root{--v4:1}.workspace{display:flex;flex-direction:column;gap:18px}.workspace>.next,.workspace>.map-panel,.workspace>aside{width:100%}.workspace>.next{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.workspace>.next>.eyebrow,.workspace>.next>.note{grid-column:1/-1}.workspace>.next h2{grid-column:1;margin-bottom:4px}.workspace>.next .countdown{grid-column:2;grid-row:2/4;align-self:center;font-size:48px;text-align:right}.workspace>.next #deadline{grid-column:1}.workspace>.next .stats{grid-column:1/-1;margin:12px 0}.workspace>aside{display:block}.workspace>aside>.card{max-width:none}.course-label{width:min(100%,540px)}.course-label select{display:block;width:100%;font-size:18px;margin-top:8px;min-height:48px}.intro{margin-bottom:8px}#course-status{margin:8px 0 18px}#map{height:450px}.next #pace{font-size:16px}@media(max-width:600px){.workspace>.next{display:block;padding:18px}.workspace>.next .countdown{text-align:left;font-size:43px;margin:8px 0}.workspace>.next h2{font-size:22px}.workspace>.next .stats{margin:12px 0}.course-label select{font-size:16px}.intro{gap:8px}header h1{font-size:18px}#map{height:370px}}
.support{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:20px;border-top:3px solid #a7c94f}.support h2{margin:8px 0}.support p{max-width:620px;line-height:1.6}.support-action{flex-shrink:0;max-width:100%}.support-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 22px;border:1px solid #385f5e;border-radius:12px;background:#e9efec;color:#264746;font-size:16px;font-weight:700;font-family:inherit}.support-button:disabled{opacity:1;cursor:not-allowed}.support-button span{font-size:24px;line-height:1}.support-action .note{font-size:14px;margin:10px 0 0}@media(max-width:600px){.support{flex-direction:column;align-items:stretch;gap:12px;margin-top:14px}.support-button{width:100%;white-space:normal}.support-action .note{text-align:center}}
header{padding:14px max(12px,calc((100vw - 820px)/2))}h1{font-size:20px;letter-spacing:0}main{max-width:852px;padding:16px}.badge,.eyebrow,.note,.axis,.map-bottom,.map-bottom label,.map-bottom select{font-size:14px}.course-label{width:100%;margin-bottom:12px}.course-label select{margin:0}.workspace{gap:12px}.workspace>.next{display:block}.workspace>.next .countdown{text-align:left;font-size:44px;margin:8px 0}.next-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:12px;font-size:14px}.next-meta button{margin-left:auto;background:transparent;color:#d9e9e3;border-color:#57706c}#map{height:380px}.card{padding:20px}.map-top strong{font-size:20px}.map-top button{font-size:14px;min-height:44px}.map-bottom select{min-height:44px}.note:empty{display:none}.km strong{font-size:32px}.km{margin:14px 0 8px}.stats{margin:14px 0 4px}.fold{margin-top:12px}.fold summary{font-size:16px;min-height:24px}.fold[open] summary{margin-bottom:18px}.fold p{font-size:14px}.elapsed{margin:20px 0}.check{margin-top:18px}.support{display:block;border:0;margin:22px 0 8px;padding:0;text-align:center}.support-button{background:transparent;min-height:44px}.support .note{margin:6px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){main{padding:12px}header{padding:14px 12px}.card{padding:16px}#map{height:320px}.map-top span{font-size:14px}.map-top button{font-size:14px}.map-top strong{font-size:18px}.workspace>.next h2{margin-top:10px}.course-label select{font-size:16px}}
/* Runner comparison follows the compact terrain layout. */
#benchmark-live{border-top:1px solid #c8d6d0;margin-top:16px;padding-top:14px;display:grid;gap:6px}#benchmark-live[hidden]{display:none}#benchmark-live strong{font-size:24px;font-variant-numeric:tabular-nums}#benchmark-live small{font-size:14px;line-height:1.4}#benchmark-last:empty{display:none}#benchmark-panel label{display:grid;gap:7px;margin:14px 0}#benchmark-panel select,#benchmark-panel input,#benchmark-panel textarea{width:100%;max-width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #b9c9c3;border-radius:8px;background:#fff;color:#173638}#benchmark-panel textarea{resize:vertical}#benchmark-panel .buttons{flex-wrap:wrap}#benchmark-panel td{vertical-align:top}#benchmark-panel td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap}.benchmark-import-panel{margin-top:18px;border-top:1px solid #d9e1dd;padding-top:14px}#benchmark-panel details summary{cursor:pointer;font-size:16px}#benchmark-panel button{min-height:44px}#benchmark-panel [hidden]{display:none}
