.collaboration-map-stage { position: relative; aspect-ratio: 800 / 340; background: #f4f9fc; border: 1px solid #e5edf2; border-radius: 12px; }
.collaboration-world { display: block; width: 100%; height: 100%; border-radius: 12px; }
.collaboration-ocean { fill: #f4f9fc; }
.collaboration-land { fill: #e3ebed; stroke: #fff; stroke-width: .6; }
.collaboration-route { fill: none; stroke: #9cb9cd; stroke-width: 1.2; opacity: .58; }
.collaboration-route.is-selected { stroke: #2777a5; stroke-width: 2; opacity: .9; }
.collaboration-marker-halo { fill: #d8e9f3; opacity: .72; }
.collaboration-marker-dot { fill: #4887ac; stroke: #fff; stroke-width: 1.3; }
.collaboration-marker { cursor: pointer; }
.collaboration-marker.is-selected .collaboration-marker-halo { fill: #a6cce3; opacity: .9; }
.collaboration-marker.is-selected .collaboration-marker-dot { fill: #075685; }
.collaboration-home .collaboration-marker-dot { fill: #043361; }
.collaboration-label-line { stroke: #8eafc4; stroke-width: .9; opacity: .75; }
.collaboration-label-line.is-selected { stroke: #2777a5; opacity: 1; }
.collaboration-label-line.is-narrow { display: none; }
.collaboration-map-pins { position: absolute; inset: 0; pointer-events: none; }
.collaboration-map-pin { position: absolute; left: var(--pin-x); top: var(--pin-y); transform: translate(-50%, -50%); pointer-events: auto; min-height: 32px; padding: 4px 9px; border: 1px solid #cbdde8; border-radius: 999px; background: #fffffff2; color: #385e76; font: 600 12px/1.4 var(--sans); white-space: nowrap; cursor: pointer; box-shadow: 0 1px 3px #173b5010; }
.collaboration-map-pin:hover, .collaboration-map-pin[aria-expanded="true"] { background: #eaf4fa; color: #043361; border-color: #80acc7; }
.collaboration-map-pin:focus-visible { outline: 2px solid #096b9e; outline-offset: 3px; }
.collaboration-map-popup { position: fixed; z-index: 30; width: max-content; max-width: min(320px, calc(100vw - 24px)); max-height: min(300px, calc(100vh - 24px)); overflow: auto; padding: 14px 17px; border: 1px solid #ccdde8; border-radius: 11px; background: #fff; color: var(--body); box-shadow: 0 7px 24px #1f45631f; overflow-wrap: anywhere; }
.collaboration-map-popup h3 { margin: 0 0 8px; color: var(--ink); font-size: 15px; line-height: 1.45; }
.collaboration-country { color: var(--muted); font-weight: 400; }
.collaboration-map-popup ul { padding-left: 17px; margin: 0; font-size: 13px; line-height: 1.6; }
.collaboration-map-popup li + li { margin-top: 5px; }
.collaboration-map-credit { color: var(--muted); font-size: 11px; line-height: 1.6; margin: 10px 0 0; }
@media (max-width: 540px) {
  .collaboration-map-stage { aspect-ratio: 500 / 400; }
  .collaboration-label-line.is-wide { display: none; }
  .collaboration-label-line.is-narrow { display: initial; }
  .collaboration-map-pin { left: var(--mobile-pin-x); top: var(--mobile-pin-y); min-height: 36px; padding: 5px 9px; font-size: 12px; }
}
@media print {
  .collaboration-map-pins, .collaboration-map-popup { display: none !important; }
  #collaborations { break-inside: auto; }
}
