.land,.focus-land{fill:#edf5fb;stroke:#c6dce9;stroke-width:.7;vector-effect:non-scaling-stroke;stroke-linejoin:round;fill-rule:evenodd}
.focus-land{fill:#dceef9;stroke:#b9d6e9;stroke-width:.8}
.country-names text{font-size:22px;letter-spacing:6px;fill:#8db6d1;opacity:.68;font-weight:300}
.country-names .small{font-size:10px;letter-spacing:3px;fill:#9bbbd1}
.water-names text{font-size:10px;letter-spacing:4px;fill:#adcadf}
.map-corner path{fill:none;stroke:#c4d9e8;stroke-width:1}
.leader{stroke:#86a8c1;stroke-width:.6;fill:none}
.halo{fill:#3476c5;opacity:.08}
.ring{fill:#fff;stroke:#5486b8;stroke-width:1.7}
.core{fill:#3575bb}
.city.east .ring{stroke:var(--east)}
.city.east .core,.city.east .halo{fill:var(--east)}
.city.distribution .ring{stroke:var(--distribution)}
.city.distribution .core,.city.distribution .halo{fill:var(--distribution)}
.city.hub .ring{stroke:#215fa7;stroke-width:2.3}
.city.hub .halo{fill:#2d75c5;opacity:.13}
.city .label-ru{font-size:13px;font-weight:500;fill:#3b5c78;paint-order:stroke;stroke:#f8fcff;stroke-width:3px;stroke-linejoin:round}
.city .label-zh{font-size:7px;letter-spacing:.4px;fill:#83a0b8}
.city.hub .label-ru{font-size:22px;letter-spacing:2px;fill:#245f9d}
.city.hub .label-zh{font-size:9px;letter-spacing:2px;fill:#648aaa}
.city.origin .label-ru,.city.shared .label-ru,.city.west .label-ru,.city.east .label-ru{fill:#335d80}
.city.origin .label-ru,.city.shared .label-ru{font-size:16px}
.city.origin .ring{stroke:#2b6abe}
.city.east .label-ru{stroke-width:3.5px}
.route-bed{fill:none;stroke:#7d9db4;stroke-opacity:.21;stroke-width:1.5;stroke-linecap:round}
.route-bed.distribution{stroke:#ba9c67;stroke-dasharray:4 4;stroke-width:1.2;stroke-opacity:.4}
.city{cursor:pointer;outline:none}
.city.arrived .ring{stroke-width:2.2}
.city.hub.arrived .halo{opacity:.2;animation-duration:1.7s}
.city:hover .ring,.city:focus-visible .ring{stroke:#235588;stroke-width:3}
.city.selected .halo{opacity:.28}
.city.selected .label-ru{fill:#225a92}
.city{cursor:default}
.city .label-zh{font-family:"Microsoft YaHei",sans-serif;font-size:10px;letter-spacing:0;fill:#5f7e96;paint-order:stroke;stroke:#f8fcff;stroke-width:2px}
.city.hub .label-ru{font-size:21px;letter-spacing:.3px}
.city.hub .label-zh{font-size:11px;letter-spacing:0}
.city.origin .label-ru,.city.shared .label-ru{font-size:16px}
.route-bed.west,.route-bed.common{stroke:#3477c5;stroke-opacity:.46}
.route-bed.east{stroke:#1599a6;stroke-opacity:.46}
.route-bed.north{stroke:var(--north);stroke-opacity:.38}
.city.north .ring{stroke:var(--north)}
.city.north .core,.city.north .halo{fill:var(--north)}
.city.border-pair .ring{stroke-width:1.2}
.city.border-pair .halo{opacity:.08}
#map-shell{position:relative;background:#f7fbff;border:1px solid #d7e6ef;border-radius:12px;overflow:hidden;--north:#8663af}
#tracking-map{display:block;width:100%;height:auto}#route-progress{visibility:hidden}
.ticket-progress{fill:none;stroke:#195fb1;stroke-width:3;stroke-linecap:round;visibility:visible}
.ticket-direction-route{fill:none;stroke:#2582c6;stroke-width:2;stroke-dasharray:7 7;opacity:.7}
.ticket-direction-arrow{fill:none;stroke:#1268ad;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#ticket-vehicle{filter:drop-shadow(0 2px 3px #30546b55)}
#vehicle-note{position:absolute;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100% - 24px));padding:8px 12px;border:1px solid #b4cddd;border-radius:8px;background:#fffef5;box-shadow:0 3px 14px #33546b22;font-size:13px;line-height:1.6;white-space:pre-line;transform:translate(-50%,-100%);pointer-events:none;overflow-wrap:anywhere}
[hidden]{display:none!important}#map-note{font-size:13px;color:#49687e}
@media(max-width:600px){#vehicle-note{max-width:calc(100% - 24px);font-size:12px;padding:7px 10px}}
