.elevation-profile{margin:0 0 14px;min-width:0;color:#e4c38e}.profile-heading{display:flex;justify-content:space-between;align-items:center;font:9px Arial,sans-serif;letter-spacing:.13em;margin-bottom:4px}.profile-heading>span{color:#bbc7ca}.profile-heading output{font-variant-numeric:tabular-nums}.profile-plot{position:relative;height:62px}.profile-plot svg{display:block;width:100%;height:100%;overflow:visible}.profile-outline,.profile-complete,.profile-cursor{fill:none;vector-effect:non-scaling-stroke}.profile-outline{stroke:#ece3d34d;stroke-width:1}.profile-complete{stroke:#e5c38b;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.profile-fill{fill:#e5c38b09}.profile-cursor{stroke:#e5c38b66;stroke-width:1;stroke-dasharray:2 3}.profile-tip{fill:#fff0cf;stroke:#d8b778;stroke-width:1;vector-effect:non-scaling-stroke}.profile-plot input{position:absolute;inset:0;width:100%;height:100%;margin:0!important;opacity:0;cursor:ew-resize;pointer-events:auto}.profile-plot:focus-within{outline:2px solid #e3c28b;outline-offset:5px}.profile-stops{display:flex;justify-content:space-between;font:8px Arial,sans-serif;letter-spacing:.1em;color:#aebbc1;margin-top:5px}
#journey-progress{appearance:none;-webkit-appearance:none;background:transparent;height:32px;cursor:ew-resize}#journey-progress::-webkit-slider-runnable-track{height:2px;border:0;background:linear-gradient(to right,#e5c38b var(--travel,0%),#d5d8d44d var(--travel,0%));border-radius:2px}#journey-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border-radius:50%;background:#f4deaf;border:1px solid #e5c38b;box-shadow:0 0 0 4px #e5c38b10}#journey-progress::-moz-range-track{height:2px;background:#d5d8d44d}#journey-progress::-moz-range-progress{height:2px;background:#e5c38b}#journey-progress::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#f4deaf;border:1px solid #e5c38b}
@media(max-width:900px){.elevation-profile{margin-bottom:10px}.profile-plot{height:38px}.profile-heading{font-size:9px}.profile-stops{font-size:8px;margin-top:3px}#location-card{bottom:192px}#arrival{bottom:228px}}
@media(max-height:500px) and (max-width:900px){.profile-plot{height:26px}.profile-stops{display:none}.elevation-profile{margin-bottom:7px}#location-card{bottom:auto}#arrival{bottom:135px}#arrival p{margin-bottom:10px}}

.progress-control>.elevation-profile{display:block;letter-spacing:normal}.profile-plot{width:100%}

/* Full relief chart at centre, with journey transport at the right edge. */
.journey-bottom{grid-template-columns:minmax(150px,1fr) minmax(340px,580px) minmax(200px,1fr);gap:28px;align-items:end}
.elevation-profile{margin:0;padding:18px 22px 14px;background:rgba(9,25,35,.92);border:1px solid #bccbd51f;border-radius:12px;box-shadow:0 8px 28px #06121b25;backdrop-filter:blur(12px)}
.profile-heading{font-size:10px;letter-spacing:.13em;margin-bottom:14px;gap:12px}.profile-heading output{white-space:nowrap;color:#e5c38b;font-size:12px}
.profile-plot{height:100px}.profile-outline{stroke:#e5c38b88;stroke-width:1.5}.profile-complete{stroke:#edc781;stroke-width:2}.profile-fill{fill:#e5c38b12}.profile-tip{fill:#ffe6ad;stroke:#edc781}.profile-cursor{stroke:#e5c38b55}.profile-stops{margin-top:12px;gap:12px;font-size:8px;line-height:1.5;letter-spacing:.1em}.profile-stops span:last-child{text-align:right}
.journey-bottom>.progress-control{width:100%;max-width:310px;justify-self:end}.progress-control>div{font-size:10px}.progress-control p{font-size:10px}
@media(max-width:1100px) and (min-width:901px){.journey-bottom{grid-template-columns:150px minmax(300px,1fr) 200px;gap:16px}.elevation-profile{padding:14px}.profile-heading{font-size:9px}}
@media(max-width:900px){.journey-bottom{grid-template-columns:1fr;gap:12px}.elevation-profile{width:100%;padding:12px 14px;border-radius:9px}.profile-heading{font-size:8px;margin-bottom:8px}.profile-heading output{font-size:11px}.profile-plot{height:52px}.profile-stops{font-size:7px;margin-top:8px}.journey-bottom>.progress-control{max-width:none}#location-card{bottom:244px}#arrival{bottom:275px}}
@media(max-height:500px) and (max-width:900px){.journey-bottom{left:var(--edge);right:var(--edge);grid-template-columns:minmax(250px,1fr) minmax(160px,.6fr);gap:20px}.elevation-profile{max-width:440px;justify-self:center}.profile-plot{height:35px}.profile-heading{margin-bottom:6px}.profile-stops{display:none}#location-card{bottom:auto}#arrival{bottom:142px}}
