/* GPS360 instruments; original attribution: ../licenses/car-dashboard-MIT.txt. */
.route-panel{--route-dashboard-width:min(560px,calc(100vw - 20px));--route-dashboard-height:calc(var(--route-dashboard-width) * .2820512821);--route-dashboard-lift:calc(var(--route-dashboard-width) * -.0256410256)}
.route-panel.has-route-dashboard .route-footer{--route-dashboard-main-bottom:.0891025641;--route-dashboard-pedal-bottom:.0948717949;--route-dashboard-bottom:max(0px,calc(var(--route-dashboard-width) * var(--route-dashboard-main-bottom)),calc(var(--route-dashboard-width) * var(--route-dashboard-pedal-bottom) - 10px));position:relative;overflow:visible;z-index:2;padding-top:var(--route-dashboard-bottom)}
.route-panel.has-route-dashboard .route-body{padding-bottom:calc(var(--route-dashboard-height)/2 + 40px)}
.route-footer .route-time{margin:0}
.route-dashboard{position:absolute;top:var(--route-dashboard-origin,0px);left:50%;transform:translate(-50%,-50%);clip-path:inset(-30px -12px calc(50% - var(--route-dashboard-bottom) - 2px));width:var(--route-dashboard-width);max-width:calc(100% - 20px);aspect-ratio:39/11;pointer-events:none;background:none;border:0;box-shadow:none}
/* One entrance moves the housing and instruments together after data is ready. */
.route-dashboard-moving{position:absolute;inset:0;transform:translateY(0);transition:transform 440ms cubic-bezier(.22,1,.36,1)}
.route-dashboard.is-concealed .route-dashboard-moving{transform:translateY(calc(100% + 30px))}
.route-dashboard-frame{clip-path:inset(-30px -12px 50%)}
.route-dashboard-svg{display:block;width:100%;height:auto;overflow:visible}
.route-dashboard-main{position:absolute;left:0;top:var(--route-dashboard-lift)}
.route-dashboard-pedals{position:absolute;left:0;top:calc(var(--route-dashboard-lift) - 10px)}
.route-dashboard-svg text{font-family:Montserrat,Arial,sans-serif;font-style:normal;font-variant-numeric:tabular-nums;fill:#333333;paint-order:stroke fill;stroke:#fff;stroke-opacity:.85;stroke-width:2px;stroke-linejoin:round}
.route-dashboard-svg .route-hud-label{font-size:16px;font-weight:700;letter-spacing:1px;fill:#2c82d8}
.route-dashboard-svg .route-hud-unit{font-size:14px;font-weight:500;fill:#577487}
.route-dashboard-svg .route-hud-speed-value,.route-dashboard-svg .route-hud-rpm-value{font-size:36px;font-weight:600;letter-spacing:-1px}
.route-dashboard-svg .route-hud-rpm-value.has-five-digits{font-size:31px;letter-spacing:-1px}
.route-dashboard-svg .route-hud-gear-value{font-size:16px;font-weight:700;fill:#2c82d8;stroke:none}
.route-dashboard-svg .route-hud-missing-value{font-size:21px;font-weight:500;fill:#8ca7b8}
.route-dashboard-svg .route-hud-scale{font-size:12px;font-weight:500;fill:#577487;stroke-width:2px}
.route-dashboard-svg .route-hud-rpm-scale{font-size:14px}
.route-dashboard-svg .route-hud-pedal-value{font-size:27px;font-weight:600}
.route-dashboard-svg .route-hud-pedal-label{font-size:16px;font-weight:700;fill:#2c82d8}
.route-dashboard-svg .route-hud-pedal-unit{font-size:13px;font-weight:500;fill:#577487}
.route-dashboard-svg .route-hud-progress{filter:drop-shadow(0 0 2px #42b7ee66)}
.route-dashboard-svg .is-alert .route-hud-progress{filter:drop-shadow(0 0 2px #ec859b66)}
.route-dashboard-svg .is-alert .route-hud-pedal-value{fill:#ae4857;stroke:none}
.route-dashboard-svg .is-missing .route-hud-speed-value,.route-dashboard-svg .is-missing .route-hud-pedal-value{fill:#8ca7b8}
.route-dashboard-svg .route-center-instrument.is-missing .route-hud-rings{opacity:.4}
.route-map-actions .route-map-link{box-sizing:border-box;height:40px!important;min-height:40px!important;max-height:40px!important;padding-top:0;padding-bottom:0;flex-shrink:0}
@media(max-width:400px){
  .route-dashboard-svg .route-hud-label,.route-dashboard-svg .route-hud-pedal-label{font-size:20px;letter-spacing:0}
  .route-dashboard-svg .route-hud-unit,.route-dashboard-svg .route-hud-pedal-unit{font-size:18px}
  .route-dashboard-svg .route-hud-scale{font-size:16px}
  .route-dashboard-svg .route-hud-speed-scale{font-size:14px}
  .route-dashboard-svg .route-hud-pedal-value{font-size:30px}
}
/* Fixed text shapes retain their width and wrapped rows across all sequences. */
.route-footer .route-facts{max-height:none;overflow:visible;align-items:stretch}
.route-footer .route-facts .route-fact-slot{display:inline-grid;grid-template-columns:20px minmax(0,1fr);column-gap:6px;align-items:center;width:max-content;max-width:100%;min-width:0;box-sizing:border-box;white-space:nowrap;font-variant-numeric:tabular-nums}
.route-footer .route-facts .route-fact-slot[data-metric="gps_quality"]{white-space:normal;overflow-wrap:anywhere}
.route-fact-slot>b{grid-area:1/2;min-width:0;font:inherit;padding:0;margin:0}
.route-footer .route-facts .route-fact-slot[data-metric="temp"]{grid-template-columns:minmax(0,1fr);column-gap:0;padding:0;background:transparent}
.route-footer .route-facts .route-fact-slot[data-metric="temp"]>.route-fact-chip{grid-area:1/1;justify-self:start;display:inline-flex;align-items:center;gap:4px;padding:6px 4px 6px 8px;background:#eaf4fd;color:#333333;white-space:nowrap}
.route-fact-chip>.route-fact-value{min-width:0;font:inherit;padding:0;margin:0}
.route-fact-slot[data-metric="temp"]>.route-fact-reserve{grid-area:1/1;padding:6px 4px 6px 32px}
.route-fact-slot>.route-fact-reserve{visibility:hidden;pointer-events:none;user-select:none}
.route-fact-slot.is-missing{opacity:1}
.route-footer .route-facts .route-fact-slot.is-unavailable{visibility:hidden;pointer-events:none}
@media print{
  /* Override the shared print stylesheet's static footer so the gauges remain
     attached above this exact sequence rather than to the printed page. */
  .route-panel.has-route-dashboard .route-footer{--route-dashboard-origin:calc(var(--route-dashboard-height)/2 + 30px);position:relative!important;display:flex!important;flex-direction:column;margin-top:10px;border-top:0!important;padding-top:calc(var(--route-dashboard-origin) + var(--route-dashboard-bottom))!important;break-inside:avoid;page-break-inside:avoid}
  .route-panel.has-route-dashboard .route-footer::before{content:'';position:absolute;top:var(--route-dashboard-origin);left:0;right:0;border-top:1px solid #dce5ee}
  .route-footer.hidden{display:none!important}
  .route-dashboard .route-dashboard-moving{transform:translateY(0)!important;transition:none!important}
  .route-dashboard{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .route-footer::after{display:none}
}
.route-dashboard-svg .route-hud-progress{transition:stroke-dasharray 180ms ease-out,stroke 180ms ease-out}
.route-dashboard-svg .route-hud-pedal-face{transition:fill 180ms ease-out}
.route-chart-cursor,.route-value-popup{transition:transform 120ms linear}
.route-chart-dot{transition:cx 120ms linear,cy 120ms linear}
@media(prefers-reduced-motion:reduce){
  .route-dashboard-moving,.route-dashboard-svg .route-hud-progress,.route-dashboard-svg .route-hud-pedal-face,.route-chart-cursor,.route-value-popup,.route-chart-dot{transition:none}
}

.route-fact-icon{grid-area:1/1;display:block;width:20px;height:20px;object-fit:contain}
.route-time-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}
.route-time-row .route-time{flex:1 1 240px}
.route-time-row .route-event-jump{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:40px;padding:0 10px;margin:0;border:1px solid #d3e5f6;border-radius:6px;background:#eaf4ff;color:#2c82d8;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer;transition:background 150ms ease-out}
.route-time-row .route-event-jump:hover,.route-time-row .route-event-jump:focus-visible{background:#d5eaff}
@media print{.route-event-jump{display:none!important}}
