.map{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--map-outside);--s:1;--map-sea-border:color-mix(in oklab, var(--map-coast) 62%, var(--map-sea));position:relative;overflow:hidden}.map-loading{background:var(--map-outside)}.map-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.map-interactive .prov,.map-interactive .unit{cursor:pointer}.map[data-dragging] .prov,.map[data-dragging] .unit{cursor:grabbing}.pin{transform:scale(var(--s))}.sea-bg{fill:var(--map-sea)}.prov{stroke:var(--map-border);stroke-width:.7px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.prov.land{fill:var(--map-land)}.prov.sea{fill:var(--map-sea);stroke:none}.prov-hit{fill:#0000;stroke:none}.impassable{fill:var(--map-impassable);stroke:var(--map-border);stroke-width:.6px;vector-effect:non-scaling-stroke;pointer-events:none}.lake{fill:var(--map-sea);stroke:var(--map-coast);stroke-width:.6px;vector-effect:non-scaling-stroke;pointer-events:none}.coastline{fill:none;stroke:var(--map-coast);stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}.sea-lines{fill:none;stroke:var(--map-sea-border);stroke-width:1.1px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.crossings{pointer-events:none}.canal-bank,.canal-water{fill:none;stroke-linecap:butt;stroke-linejoin:round}.canal-bank{stroke:var(--map-coast);stroke-width:4.4px}.canal-water{stroke:color-mix(in oklab, var(--map-sea) 80%, var(--map-coast));stroke-width:2.8px}.bridge-deck{fill:var(--map-land)}.bridge-rail{fill:none;stroke:var(--map-label);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map[data-zoom=far] .bridge-rail{stroke-width:1.2px}.hl-dim{fill:var(--paper);opacity:.42;pointer-events:none}.hl-target{fill:var(--accent-text);fill-opacity:.2;stroke:var(--accent-text);stroke-width:1.4px;vector-effect:non-scaling-stroke;animation:1.6s ease-in-out infinite hl-pulse}.hl-secondary{fill:var(--accent-text);fill-opacity:.1;stroke:var(--accent-text);stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.hl-selected{fill:none;stroke:var(--ink-2);stroke-width:1.4px;vector-effect:non-scaling-stroke;pointer-events:none}@keyframes hl-pulse{50%{fill-opacity:.32}}@media (prefers-reduced-motion:reduce){.hl-target{animation:none}}.sc-ring{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px}.sc-dot{fill:var(--ink)}.centers>g,.labels{pointer-events:none}.lbl text{font:600 9px/1 var(--font-ui);text-anchor:middle;fill:var(--map-label);letter-spacing:.06em;paint-order:stroke;stroke:var(--map-land);stroke-width:2.5px;stroke-linejoin:round}.lbl.sea text{fill:var(--map-sea-label);stroke:var(--map-sea);letter-spacing:.04em;font-style:italic}.lbl .lbl-long{letter-spacing:0;font-weight:500;display:none}.map[data-zoom=near] .lbl .lbl-long{display:inline}.map[data-zoom=near] .lbl .lbl-short{display:none}.lbl.coast-tag text{fill:var(--map-sea-label);stroke:var(--map-sea);letter-spacing:.08em;font-size:7px;font-style:italic;font-weight:600}.map[data-zoom=near] .lbl.coast-tag .lbl-long{letter-spacing:.02em}.map[data-zoom=far] .labels{display:none}.unit-hit{fill:#0000}.lbl-hidden{display:none}.unit-shadow{fill:#140f0a47}.unit-body{stroke:#fff;stroke-width:1.6px}.unit .ico-hole{fill:currentColor}.unit-halo{fill:none;stroke:var(--ink);stroke-width:2.4px;animation:1.2s ease-in-out infinite halo}@keyframes halo{50%{stroke-opacity:.35}}.unit.ghost .unit-body{stroke-width:2px;stroke-dasharray:3 2}.unit.ghost .unit-shadow{display:none}.unit.dislodged .unit-body{stroke:var(--danger);stroke-width:2.6px}.orders{pointer-events:none}.arrow-casing{fill:none;stroke:var(--map-casing);stroke-width:calc(6.5px * var(--s));stroke-linecap:round}.arrow-line{fill:none;stroke-width:calc(3.2px * var(--s));stroke-linecap:round}.arrow-line.dashed{stroke-dasharray:calc(6px * var(--s)) calc(4px * var(--s))}.ord.support .arrow-line{stroke-dasharray:calc(5px * var(--s)) calc(4px * var(--s));stroke-width:calc(2.4px * var(--s))}.ord.convoy .arrow-line{stroke-dasharray:calc(1px * var(--s)) calc(4px * var(--s));stroke-width:calc(3px * var(--s))}.arrow-head,.arrow-dot{stroke:var(--map-casing-solid);stroke-width:1.2px}.hold-ring{fill:none;stroke-width:3px}.ord.failed{opacity:.55}.ord.failed .arrow-line{stroke-dasharray:calc(4px * var(--s)) calc(3px * var(--s))}.fail-x,.x-mark{stroke:var(--danger);stroke-width:2.6px;stroke-linecap:round;fill:none}.ord.failed .fail-x{opacity:1}.orders-later{animation:.35s .75s both fade-in}@keyframes fade-in{0%{opacity:0}}.map-zoom{border:1px solid var(--rule);background:var(--line-2);box-shadow:var(--shadow-1);border-radius:0;flex-direction:column;gap:1px;display:flex;position:absolute;top:10px;right:10px}.map-zoom button{background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border:0;border-radius:0;place-items:center;font-size:18px;display:grid}.map-zoom button:hover{background:var(--paper-2)}@media (pointer:coarse){.map-zoom .zoom-step{display:none}}.map-zoom button:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.snapshot-map{width:100%;height:100%}
