.borough { fill: #000; stroke: #999; stroke-width: 0.5px; vector-effect: non-scaling-stroke; }
.route-edge { fill: none; stroke: #ccc; stroke-width: 1px; vector-effect: non-scaling-stroke; }
.route-leg { fill: none; stroke: var(--route-active, #FFD100); stroke-width: 8px; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.location { position: absolute; transform: translate(-50%, -50%); }
.location-stop { width: 5px; height: 5px; border-radius: 50%; background: #FF0000; }
.location-start, .location-finish { width: 14px; height: 14px; border: 1px solid #fff; transform: translate(-50%, -50%) rotate(45deg); }
.location-start { background: #1a9e3a; }
.location-finish { background: conic-gradient(#000 0 25%, #fff 0 50%, #000 0 75%, #fff 0); }
