.client-map-frame{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(19,112,224,.16),transparent 40%),#02060d}.client-map-globe{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.client-map-globe:active{cursor:grabbing}.client-map-sphere-shadow{fill:#000;opacity:.72;filter:blur(24px);transform:translateY(16px) scale(1.015);transform-origin:center}.client-map-sphere{fill:url(#client-ocean);stroke:#4da6ff75;stroke-width:1.2}.client-map-graticule{fill:none;stroke:#4993e421;stroke-width:.65}.client-map-countries{fill:#0a4072;stroke:#2499ed;stroke-width:.7;stroke-linejoin:round;opacity:.9}.client-map-arc-glow,.client-map-arc{fill:none;vector-effect:non-scaling-stroke}.client-map-arc-glow{stroke:#168cff;stroke-width:7;opacity:.32;filter:url(#arc-glow)}.client-map-arc{stroke:#69d6ff;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:5 8;filter:url(#client-glow);animation:client-map-flow 2.8s linear infinite}.client-map-point{pointer-events:none}.client-map-point__halo{fill:#28da9929;stroke:#28da994d}.client-map-point__dot{fill:#28da99;stroke:#f5ffff;stroke-width:1.5;filter:url(#client-glow)}.client-map-point.is-hub .client-map-point__halo{fill:#168cff38;stroke:#56b7ff99;animation:client-map-pulse 1.9s ease-out infinite}.client-map-point.is-hub .client-map-point__dot{fill:#168cff;stroke-width:2}.client-map-point.is-selected .client-map-point__halo{fill:#49d7ff40;stroke:#76e2ffd1;animation:client-map-selected-pulse 1.25s ease-out infinite}.client-map-point.is-selected .client-map-point__dot{fill:#66dcff;stroke-width:2}.client-map-point__label{opacity:0}.client-map-point.is-hub .client-map-point__label,.client-map-point.is-selected .client-map-point__label{opacity:1}.client-map-point__label rect{fill:#030b16e6;stroke:#78aff24d}.client-map-point__label text{fill:#edf6ff;font-family:D-DIN,Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.client-map-panel{position:absolute;top:clamp(16px,2vw,24px);bottom:clamp(16px,2vw,24px);left:clamp(16px,2vw,28px);z-index:4;display:flex;width:clamp(220px,18vw,265px);flex-direction:column;padding:12px;overflow:hidden;border:1px solid rgba(93,170,244,.28);border-radius:12px;background:linear-gradient(145deg,#0f36589e,#020c18c2);box-shadow:inset 0 1px #ffffff0f,0 18px 42px #00000057;-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%)}.client-map-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 6px 13px;border-bottom:1px solid rgba(92,164,235,.18)}.client-map-panel__eyebrow{display:block;margin-bottom:4px;color:#55bdff;font-family:D-DIN,Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.client-map-panel h3{margin:0;color:#f2f8ff;font-family:D-DIN,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:.5px;line-height:1.1;text-transform:uppercase}.client-map-panel__count{display:grid;flex:0 0 30px;height:30px;place-items:center;border:1px solid rgba(89,187,255,.3);border-radius:6px;background:#1471b929;color:#73d5ff;font-family:D-DIN,Arial,sans-serif;font-size:12px;font-weight:700}.client-map-panel__instruction{margin:11px 6px 9px;color:#d5e5f594;font-family:D-DIN,Arial,sans-serif;font-size:11px;line-height:1.3}.client-map-panel__list{display:grid;height:100%;min-height:0;grid-template-rows:repeat(15,minmax(28px,1fr));overflow:hidden}.client-map-country{display:grid;width:100%;min-height:28px;grid-template-columns:8px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#e0edfab8;font-family:D-DIN,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;text-align:left;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}.client-map-country:hover,.client-map-country:focus-visible{background:#2084d721;color:#fff;outline:none;transform:translate(2px)}.client-map-country.is-active{background:linear-gradient(90deg,#1285dc4d,#1285dc14);color:#fff}.client-map-country__dot{width:6px;height:6px;border-radius:50%;background:#28da99;box-shadow:0 0 8px #28da999e}.client-map-country.is-active .client-map-country__dot{background:#6fdcff;box-shadow:0 0 10px #6fdcffe6}.client-map-country__arrow{color:#71c2ff80;font-size:18px;line-height:1;text-align:right}.client-map-legend,.client-map-hint{position:absolute;bottom:clamp(18px,3vw,34px);display:inline-flex;align-items:center;min-height:34px;border:1px solid rgba(92,155,232,.22);border-radius:999px;background:#030c18ad;color:#dceafad6;font-family:D-DIN,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}.client-map-legend{left:clamp(18px,3vw,42px);gap:9px;padding:0 13px}.client-map-hint{right:clamp(18px,3vw,42px);padding:0 13px;opacity:.62}.client-map-legend__pulse{width:8px;height:8px;border-radius:50%;background:#28da99;box-shadow:0 0 12px #28da99e6}@keyframes client-map-flow{to{stroke-dashoffset:-26}}@keyframes client-map-pulse{0%{transform:scale(.75);opacity:1}70%,to{transform:scale(1.45);opacity:0}}@keyframes client-map-selected-pulse{0%{transform:scale(.85);opacity:1}75%,to{transform:scale(1.7);opacity:0}}@media (max-width: 900px){.client-map-panel{top:16px;right:16px;bottom:auto;left:16px;width:auto;padding:12px}.client-map-panel__header{padding-bottom:9px}.client-map-panel__instruction{display:none}.client-map-panel__list{display:flex;gap:6px;padding-top:9px;overflow-x:auto;overflow-y:hidden}.client-map-country{display:inline-flex;flex:0 0 auto;min-height:32px;gap:7px;padding:0 10px;border:1px solid rgba(93,170,244,.14);background:#03101f6b;white-space:nowrap}.client-map-country__arrow{display:none}}@media (max-width: 640px){.client-map-frame{min-height:480px}.client-map-hint{display:none}.client-map-legend{font-size:9px}}@media (prefers-reduced-motion: reduce){.client-map-arc,.client-map-point.is-hub .client-map-point__halo,.client-map-point.is-selected .client-map-point__halo{animation:none}}
