.station-map{--station-map-ink: #17251b;--station-map-muted: #5f7064;--station-map-card: #fffdf8;--station-map-border: rgba(35, 51, 40, .18);--station-map-primary: #1f8a50;position:relative;width:100%;min-height:320px;border:1px solid var(--station-map-border);border-radius:18px;background:#e7eee6;overflow:hidden;color:var(--station-map-ink);isolation:isolate}.station-map .sr-only,.station-map__sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.station-map[data-map-theme=night]{--station-map-card: #101813;--station-map-ink: #f0f7ef;--station-map-muted: #b9c8bd;--station-map-border: rgba(220, 240, 225, .18);background:#111815}.station-map__viewport{width:100%;min-height:var(--station-map-height, 420px);height:100%;z-index:1}.station-map .maplibregl-map{font-family:inherit;background:#e7eee6}.station-map[data-map-theme=night] .maplibregl-map{background:#111815}.station-map .maplibregl-canvas{outline:none}.station-map .maplibregl-ctrl-top-right{top:10px;right:10px}.station-map .maplibregl-ctrl-bottom-right{right:10px;bottom:10px}.station-map .maplibregl-ctrl-group,.station-map .maplibregl-ctrl-attrib{border:1px solid var(--station-map-border);border-radius:12px;box-shadow:0 10px 24px #1018121f;background:color-mix(in srgb,var(--station-map-card) 90%,transparent);color:var(--station-map-ink);backdrop-filter:blur(10px) saturate(1.08)}.station-map .maplibregl-ctrl-attrib{max-width:min(52vw,360px);font-size:10px;line-height:1.25}.station-map .maplibregl-ctrl-attrib.maplibregl-compact{min-height:28px;min-width:28px}.station-map .maplibregl-ctrl-attrib a{color:var(--station-map-primary);font-weight:700}.station-map[data-map-theme=night] .maplibregl-ctrl button span{filter:invert(1) hue-rotate(120deg)}.station-map__toolbar{position:absolute;z-index:5;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;pointer-events:none}.station-map__toolbar>*{pointer-events:auto}.station-map__button,.station-map__radius{min-height:40px;border:1px solid var(--station-map-border);border-radius:999px;background:color-mix(in srgb,var(--station-map-card) 94%,transparent);color:var(--station-map-ink);box-shadow:0 10px 24px #1018121f;font-weight:800;font-size:12px;backdrop-filter:blur(8px)}.station-map__button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;cursor:pointer}.station-map__button--icon{width:40px;padding:0;font-size:17px;line-height:1}.station-map__button:hover{border-color:#1f8a5073;color:var(--station-map-primary)}.station-map__button:focus-visible,.station-map__radius input:focus-visible,.station-map .maplibregl-ctrl button:focus-visible{outline:3px solid rgba(31,138,80,.35);outline-offset:2px}.station-map__radius{display:inline-flex;align-items:center;gap:8px;padding:0 12px;margin-left:auto}.station-map__radius input{accent-color:var(--station-map-primary);max-width:108px}.station-map__status{position:absolute;z-index:4;left:12px;bottom:12px;max-width:min(420px,calc(100% - 24px));border-radius:999px;background:color-mix(in srgb,var(--station-map-card) 92%,transparent);color:var(--station-map-muted);font-size:12px;font-weight:800;padding:8px 12px;box-shadow:0 10px 24px #1018121a;backdrop-filter:blur(8px)}.station-map__fallback{padding:18px;font-size:13px;color:var(--station-map-muted);background:linear-gradient(135deg,#1f8a5014,#0b72850f);min-height:inherit}.station-map[data-station-map-ready=true] .station-map__fallback{display:none}.station-map.is-loading .station-map__fallback:after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.45em;border:2px solid rgba(31,138,80,.25);border-top-color:var(--station-map-primary);border-radius:999px;animation:station-map-spin .8s linear infinite}@keyframes station-map-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.station-map{border-radius:14px}.station-map__viewport{min-height:var(--station-map-mobile-height, 380px)}.station-map__toolbar{top:10px;left:10px;right:10px;gap:6px}.station-map__button{min-height:38px;padding:0 10px}.station-map__button--icon{width:38px;padding:0}.station-map__radius{order:5;width:100%;justify-content:space-between;border-radius:14px}.station-map__radius input{flex:1;max-width:none}.station-map__status{bottom:auto;top:112px;border-radius:14px}}@media (prefers-reduced-motion: reduce){.station-map__button{transition:none!important}.station-map.is-loading .station-map__fallback:after{animation:none!important}}
