.map{background:#0a0c11;min-height:560px;padding:0;position:relative;overflow:hidden}.map>svg{width:100%;height:100%;position:absolute;inset:0}.map__legend{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:18px;left:18px}.map__legend .tag{background:rgb(var(--void-rgb) / .7);color:var(--text-2)}.map__legend svg{flex:none}.m-sea{fill:#0a0c11}.m-land{fill:var(--graphite)}.m-coast{fill:none;stroke:#ffffff61;stroke-width:1.6px}.m-relief{fill:none;stroke:#ffffff0d;stroke-width:1.2px}.m-grid{stroke:#ffffff0b;stroke-width:1px}.m-gridlabel{fill:#5f636b;font-family:var(--f-mono);font-size:15px}.m-town{fill:#7e828a;font-family:var(--f-sans);font-size:19px}.m-towndot{fill:#50545b}.m-sealabel{fill:#474b52;font-family:var(--f-sans);letter-spacing:.3em;font-size:22px}.m-pin{cursor:pointer}.m-pin__dot{fill:var(--void);stroke:var(--text);stroke-width:2.5px;transition:fill .2s,stroke .2s}.m-pin__halo{fill:none;stroke:var(--yellow);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.m-pin__focus{fill:none;stroke:var(--yellow);stroke-width:2px;vector-effect:non-scaling-stroke;opacity:0}.m-pin:focus{outline:none}.m-pin:focus-visible .m-pin__focus{opacity:1}.m-pin__name{fill:var(--text);font-family:var(--f-sans);font-size:28px;font-weight:700;font-stretch:118%}.m-pin__coord{fill:#8a8e96;font-family:var(--f-mono);font-size:14px}.m-pin.is-on .m-pin__dot{fill:var(--yellow);stroke:var(--yellow)}.m-pin.is-on .m-pin__halo{opacity:1;animation:halo 2.4s var(--ease) infinite}.map.is-paused .m-pin.is-on .m-pin__halo{animation-play-state:paused}.m-pin.is-on .m-pin__name{fill:var(--yellow)}.m-pin--whole .m-pin__dot{fill:var(--yellow);stroke:var(--void);stroke-width:3px}.m-pin--whole .m-pin__name{font-size:23px;font-weight:800;font-stretch:94%}.m-pin--whole.is-on .m-pin__dot{stroke:var(--yellow)}@keyframes halo{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.m-scale{stroke:var(--text-2);stroke-width:2px}.m-scaletext{fill:var(--text-2);font-family:var(--f-mono);font-size:15px}.m-pin.is-static{cursor:default}.m-pin{transition:opacity .6s var(--ease)}.m-pin.is-off{opacity:.14}@media (max-width:900px){.map{aspect-ratio:9/10;min-height:0}.m-pin__name{font-size:44px}.m-pin__coord{display:none}.m-town{font-size:26px}.m-gridlabel,.m-scaletext{font-size:22px}}
