/* Preview route explorer. Existing geographic photography; illustration, not tracking. */
.globe-wrap{isolation:isolate}.globe-stage:not(.no-webgl){filter:contrast(1.06);background:radial-gradient(ellipse at center,rgba(21,67,69,.22),transparent 67%)}
.globe-live{color:#f3dfb7;background:#071e21;border-color:#d9b26a55;letter-spacing:.14em;font-size:10px}.globe-live span{color:#b8c8c4}.globe-cap{font-size:10px;letter-spacing:.035em;color:#abc4c2;text-align:center;white-space:normal;width:100%;line-height:1.65}.gl-hud{border-radius:12px;background:linear-gradient(145deg,#09252e,#0a302f);border-color:#d9b26a66;padding:17px 19px;box-shadow:0 16px 40px #0004}.gl-hud .pname{font-size:23px;line-height:1.14}.gl-hud .pname em{font-size:10px;color:#bfd2cb;letter-spacing:.08em;line-height:1.4}.gl-hud .foot{font-size:10px;color:#bed2ca;letter-spacing:.035em}.gl-hud .code{font-size:11px;border-radius:4px;padding:6px}.gl-hud .state{font-size:9px}.gl-hud .state i{animation:none}.gl-hud .bar{display:none}
.reach .lane-board button .nm{font-size:14px}.reach .lane-board button .nm em{font-size:10px;color:#afc0b9;letter-spacing:.07em}.reach .lane-board button b{color:#d2ddd4}.reach .lane-board button .ln{color:#a8b9b0}.reach .lane-board button{padding-top:11px;padding-bottom:11px}.reach .lane-board button.on{background:linear-gradient(90deg,#d9b26a26,#d9b26a06);border-radius:6px}.reach .lane-board button:focus-visible{outline:2px solid #e7c891;outline-offset:3px}
.globe-wrap.has-static-map{display:flex;flex-direction:column;gap:0;min-height:0;aspect-ratio:auto;border:1px solid #496360;border-radius:22px;background:linear-gradient(145deg,#102f36,#061b29 60%,#092c2b);box-shadow:0 26px 70px #0005,0 1px 0 #fff1 inset;overflow:hidden;padding:0;max-width:760px}
.has-static-map .globe-live{position:relative;inset:auto;transform:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;width:100%;border:0;border-bottom:1px solid #9dbeb51f;border-radius:0;background:none;backdrop-filter:none;padding:20px 22px;font-size:10px;letter-spacing:.12em}.has-static-map .globe-live span{font-size:10px;color:#bfd0c8;letter-spacing:.015em}.has-static-map .globe-live i{display:none}
.globe-stage.no-webgl{position:relative;inset:auto;aspect-ratio:2.6316;width:100%;min-height:0;border:0;border-radius:0;overflow:hidden;cursor:default;background:#071c2b;box-shadow:inset 0 0 60px #0005;display:block}
.globe-stage.no-webgl .globe-map{display:none}.static-map-surface{display:block;width:100%;height:100%;position:relative;z-index:2}.static-map-surface image{filter:saturate(.62) brightness(.92) contrast(1.12)}.static-map-surface .map-grid{stroke:#afded9;stroke-opacity:.12;stroke-width:.6;fill:none}.static-map-surface .region-label{fill:#adccc4;font:600 8px system-ui,sans-serif;letter-spacing:2px;opacity:.7;paint-order:stroke;stroke:#071c2b;stroke-width:2px}
.static-map-surface .map-route{fill:none;stroke:#c3ae7b;stroke-width:1;opacity:.37;vector-effect:non-scaling-stroke}.static-map-surface .map-route.is-selected{stroke:#ffe0a0;stroke-width:2.4;opacity:1}.static-map-surface .selected-glow{fill:none;stroke:#eec378;stroke-width:4;opacity:.4;filter:url(#routeGlow);pointer-events:none}.static-map-surface .map-pin{fill:#f4d69e;stroke:#082129;stroke-width:1.3;vector-effect:non-scaling-stroke}.static-map-surface .map-pin.is-selected{fill:#fff6d5;stroke:#f4cb83;stroke-width:2}.static-map-surface .map-label{fill:#fff0cf;font:600 9px system-ui,sans-serif;letter-spacing:.05px}.static-map-surface .origin-label{font-size:7px;fill:#fff0c9;paint-order:stroke;stroke:#061923;stroke-width:2.5}.static-map-surface .destination-label rect{fill:#082530;stroke:#e1bd79;stroke-width:.6}.static-map-surface .origin-halo{fill:#edd29b18;stroke:#e7c98b;stroke-width:.7}.static-map-surface .route-traveller{fill:#fff9df;stroke:#e6b65e;stroke-width:.7;filter:drop-shadow(0 0 2px #ffe5ad)}.route-paused .route-traveller{opacity:0!important}
.has-static-map .gl-hud{position:relative;inset:auto;transform:none;width:auto;margin:0 16px;border-radius:12px;border:1px solid #b79f6d55;background:linear-gradient(120deg,#103b3b,#0a2931);box-shadow:none;padding:16px}.has-static-map .gl-hud .state{color:#e1c38c;letter-spacing:.06em}.has-static-map .gl-hud .foot{margin-top:12px;gap:12px;flex-wrap:wrap}.has-static-map .gl-hud .state i{box-shadow:none;background:#d9b26a}.has-static-map .globe-cap{position:relative;inset:auto;transform:none;margin:0;padding:0 18px 18px;line-height:1.55;font-size:10px}
.route-controls{position:absolute;left:50%;bottom:-45px;transform:translateX(-50%);width:max-content;max-width:100%;display:flex;justify-content:center;gap:8px;z-index:5}.route-controls button{appearance:none;font:600 11px/1.3 var(--sans,system-ui);border:1px solid #88aaa05c;border-radius:7px;padding:11px 13px;min-height:42px;background:#0c3036;color:#e1e9df;cursor:pointer;transition:background .18s,border-color .18s}.route-controls button:first-child{border-color:#dbc28a77;color:#f1d59d;background:#ae884714}.route-controls button:hover{background:#244d4b;border-color:#e5c88a}.route-controls button:focus-visible{outline:2px solid #f0d598;outline-offset:3px}.route-controls button:disabled{opacity:.6;cursor:default}.has-static-map .route-controls{position:relative;inset:auto;transform:none;width:auto;padding:14px 16px 10px;justify-content:space-between}.has-static-map .route-controls button{flex:1}
@media(max-width:620px){.globe-wrap.has-static-map{max-width:100%;border-radius:17px}.has-static-map .globe-live{padding:16px;font-size:9px;letter-spacing:.08em}.has-static-map .globe-live span{font-size:9px}.globe-stage.no-webgl{aspect-ratio:2.6316}.has-static-map .gl-hud{margin:0 10px;padding:13px}.gl-hud .pname{font-size:21px}.gl-hud .pname em{font-size:9px}.gl-hud .state{font-size:8px}.gl-hud .foot{font-size:9px}.has-static-map .route-controls{padding:12px 10px 10px}.route-controls button{font-size:10px;padding:10px 8px;min-height:44px}.has-static-map .globe-cap{font-size:9px;padding:0 13px 15px}.static-map-surface .selected-label{font-size:12px}.static-map-surface .origin-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.globe-live i,.gl-hud .state i{animation:none}.globe-stage,.route-controls button{transition:none}.route-traveller{display:none}}
/* Keep the selected map visible while choosing lower ports on desktop. */
.reach{overflow:clip}.reach .cols{align-items:start}
@media(min-width:861px){.reach .globe-wrap{position:sticky;top:104px;align-self:start}}

/* Global view: selected labels remain readable at the full-world scale. */
.static-map-surface .region-label{font-size:15px;letter-spacing:2px;opacity:.55}
.static-map-surface .map-route{opacity:.23;stroke-width:.8}.static-map-surface .map-route.is-selected{opacity:1;stroke-width:2.5}.static-map-surface .map-label{font-size:20px}.static-map-surface .origin-label{font-size:17px;stroke-width:4px}.static-map-surface .selected-glow{stroke-width:6}.static-map-surface .map-pin{stroke-width:1}.static-map-surface .map-pin.is-selected{stroke-width:2.3}.static-map-surface .destination-label rect{stroke-width:1.2}.static-map-surface .route-traveller{stroke-width:1.1}
@media(max-width:620px){.static-map-surface .selected-label{font-size:28px}.static-map-surface .origin-label{font-size:22px}.static-map-surface .region-label{font-size:18px;letter-spacing:1px}}
