.vv-map-wrap{--vv-map-default:#D6E4D9;--vv-map-hover:#1e3a8a;--vv-map-stroke:#fff;--vv-map-empty:#E5E7EB;--vv-map-active:var(--vv-teal);--vv-map-highlight:var(--vv-navy);--vv-map-ocean:#E8F4FD;--vv-map-grid:#C8DFF0;--vv-map-label:#4B5563}.vv-map-wrap{position:relative;margin:0 auto;max-width:var(--vv-container);border:var(--vv-border-heavy);border-radius:var(--vv-radius-lg);background:var(--vv-map-ocean);overflow:hidden}.vv-map-section{padding:0 var(--vv-space-6);padding-bottom:var(--vv-space-4)}.vv-map-toggle{display:flex;align-items:center;justify-content:center;gap:var(--vv-space-3);width:100%;padding:var(--vv-space-4) var(--vv-space-6);border:none;border-bottom:var(--vv-border-faint);background:var(--vv-paper);font-family:var(--vv-font-mono);font-size:var(--vv-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--vv-navy);cursor:pointer;transition:var(--vv-transition)}.vv-map-toggle:hover{background:var(--vv-paper-dark);color:var(--vv-ink)}.vv-map-toggle svg{width:16px;height:16px;transition:transform 0.25s ease}.vv-map-wrap--open .vv-map-toggle svg{transform:rotate(180deg)}.vv-map-svg-container{position:relative;overflow:hidden;cursor:grab}.vv-map-svg-container.vv-map-panning{cursor:grabbing}.vv-map-svg-container--hidden{display:none}#vv-world-map-svg{display:block;width:100%;height:auto;touch-action:none;transform-origin:0 0;transition:transform 0.2s ease}.vv-map-country{fill:var(--vv-map-default);stroke:var(--vv-map-stroke);stroke-width:0.6;cursor:default;transition:fill 0.15s ease,stroke-width 0.15s ease;outline:none}.vv-map-country--has-data{cursor:pointer;fill:#A7C7B8}.vv-map-country--has-data:hover,.vv-map-country--has-data:focus-visible{fill:var(--vv-map-hover);stroke-width:1}.vv-map-country:focus-visible{stroke:var(--vv-navy);stroke-width:1.5}.vv-map-country--empty{fill:var(--vv-map-empty)}.vv-map-country--highlight{fill:var(--vv-map-highlight)}.vv-map-country--highlight:hover{fill:var(--vv-map-active)}.vv-map-labels{pointer-events:none}.vv-map-label--hover{fill:#fff !important}.vv-map-tooltip{position:fixed;z-index:9999;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity 0.15s ease,transform 0.15s ease;max-width:280px}.vv-map-tooltip--visible{opacity:1;transform:translateY(0)}.vv-map-tooltip-inner{display:flex;align-items:center;gap:var(--vv-space-3);padding:var(--vv-space-3) var(--vv-space-4);background:var(--vv-ink);color:#fff;border-radius:var(--vv-radius-md);box-shadow:0 4px 16px rgba(0,0,0,0.25)}.vv-map-tooltip__flag{width:24px;height:24px;border-radius:3px;flex-shrink:0;object-fit:cover}.vv-map-tooltip__text{min-width:0}.vv-map-tooltip__name{font-family:var(--vv-font-head);font-size:var(--vv-text-sm);line-height:1.2;white-space:nowrap}.vv-map-tooltip__value{font-family:var(--vv-font-mono);font-size:0.7rem;color:rgba(255,255,255,0.7);margin-top:1px;white-space:nowrap}.vv-map-controls{position:absolute;bottom:var(--vv-space-4);right:var(--vv-space-4);display:flex;flex-direction:column;gap:2px;z-index:10}.vv-map-controls button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:var(--vv-border-heavy);background:var(--vv-paper-white);font-family:var(--vv-font-mono);font-size:var(--vv-text-lg);font-weight:700;color:var(--vv-ink);cursor:pointer;transition:var(--vv-transition);line-height:1}.vv-map-controls button:first-child{border-radius:var(--vv-radius-sm) var(--vv-radius-sm) 0 0}.vv-map-controls button:last-child{border-radius:0 0 var(--vv-radius-sm) var(--vv-radius-sm);border-top:none}.vv-map-controls button:only-child{border-radius:var(--vv-radius-sm);border-top:var(--vv-border-heavy)}.vv-map-controls button:hover{background:var(--vv-navy);color:#fff;border-color:var(--vv-navy)}.vv-map-reset{display:none !important}.vv-map-wrap--zoomed .vv-map-reset{display:flex !important;border-top:none;border-radius:0 0 var(--vv-radius-sm) var(--vv-radius-sm) !important}.vv-map-wrap--zoomed .vv-map-zoom-out{border-radius:0 !important}.vv-map-legend{display:flex;align-items:center;gap:var(--vv-space-3);padding:var(--vv-space-3) var(--vv-space-6);border-top:var(--vv-border-faint);background:var(--vv-paper-white)}.vv-map-legend__bar{flex:1;height:8px;border-radius:4px;border:1px solid var(--vv-border-faint)}.vv-map-legend__label{font-family:var(--vv-font-mono);font-size:0.65rem;font-weight:700;color:var(--vv-ink-muted);text-transform:uppercase;letter-spacing:0.06em;white-space:nowrap}.vv-map-legend__title{font-family:var(--vv-font-mono);font-size:0.65rem;font-weight:700;color:var(--vv-ink-sub);text-transform:uppercase;letter-spacing:0.06em;white-space:nowrap}.vv-map-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme="dark"] .vv-map-wrap{--vv-map-default:#2D4A3E;--vv-map-hover:#60A5FA;--vv-map-stroke:#1A2E26;--vv-map-empty:#374151;--vv-map-active:#2DD4BF;--vv-map-highlight:#60A5FA;--vv-map-ocean:#0C1929;--vv-map-grid:#1A3050;--vv-map-label:#94A3B8;background:var(--vv-map-ocean);border-color:#475569}[data-theme="dark"] .vv-map-country--has-data{fill:#3D6B5A}[data-theme="dark"] .vv-map-toggle{background:#0F172A;color:#60A5FA;border-color:#334155}[data-theme="dark"] .vv-map-toggle:hover{background:#1E293B;color:#93C5FD}[data-theme="dark"] .vv-map-tooltip-inner{background:#F8FAFC;color:#0F172A}[data-theme="dark"] .vv-map-tooltip__value{color:rgba(15,23,42,0.6)}[data-theme="dark"] .vv-map-controls button{background:#1E293B;border-color:#475569;color:#E2E8F0}[data-theme="dark"] .vv-map-controls button:hover{background:#60A5FA;color:#0F172A;border-color:#60A5FA}[data-theme="dark"] .vv-map-label--hover{fill:#0F172A !important}[data-theme="dark"] .vv-map-legend{background:#0F172A}@media (max-width:768px){.vv-map-section{padding:0 var(--vv-space-3);padding-bottom:var(--vv-space-3)}.vv-map-wrap{margin-left:calc(-1 * var(--vv-space-4));margin-right:calc(-1 * var(--vv-space-4));border-left:none;border-right:none;border-radius:0}.vv-map-controls{bottom:var(--vv-space-3);right:var(--vv-space-3)}.vv-map-controls button{width:40px;height:40px;font-size:var(--vv-text-xl)}.vv-map-labels{display:none}}