.map-canvas{border-radius:var(--radius-xl);background:var(--color-surface-100);width:100%;height:clamp(24rem,55vw,36rem);overflow:hidden}.dark .map-canvas{background:var(--color-surface-dark-base)}.participant-popup .leaflet-popup-content-wrapper{border-radius:var(--radius-lg);padding:var(--space-sm);background:var(--color-surface-0);color:var(--color-gray-900);border:1px solid color-mix(in srgb, var(--color-gray-400) 40%, transparent);box-shadow:0 10px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a1a}.dark .participant-popup .leaflet-popup-content-wrapper{background:var(--color-surface-dark-elevated);color:var(--color-secondary-50);border-color:color-mix(in srgb, var(--color-gray-400) 28%, transparent);box-shadow:0 14px 32px -18px #020617bf}.participant-popup .leaflet-popup-content{margin:0}.participant-popup .leaflet-popup-tip{background:var(--color-surface-0);border:1px solid color-mix(in srgb, var(--color-gray-400) 40%, transparent)}.dark .participant-popup .leaflet-popup-tip{background:var(--color-surface-dark-elevated);border-color:color-mix(in srgb, var(--color-gray-400) 28%, transparent)}.participant-popup .leaflet-popup-content div::-webkit-scrollbar{width:6px}.leaflet-container{background:0 0!important}.participant-popup .leaflet-popup-content div::-webkit-scrollbar-track{background:var(--color-surface-100);border-radius:var(--radius-sm)}.participant-popup .leaflet-popup-content div::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-sm)}.participant-popup .leaflet-popup-content div::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.participant-popup .popup-card{gap:var(--space-sm);flex-direction:column;min-width:260px;display:flex}.participant-popup .popup-title{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:inherit;margin:0}.dark .participant-popup .popup-title{color:var(--color-secondary-50,#f0f9ff)}.participant-popup .popup-meta{font-size:var(--text-sm);color:var(--color-gray-600);margin:0}.dark .participant-popup .popup-meta{color:var(--color-gray-300)}.participant-popup .popup-list{gap:var(--space-sm);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.participant-popup .popup-participant{gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-surface-300);align-items:flex-start;display:flex}.participant-popup .popup-participant:last-child{border-bottom:none;padding-bottom:0}.dark .participant-popup .popup-participant{border-color:var(--color-surface-dark-overlay)}.participant-popup .popup-avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-secondary-200);flex-shrink:0;width:3rem;height:3rem}.dark .participant-popup .popup-avatar{border-color:var(--color-secondary-700)}.participant-popup .popup-details{flex:1;min-width:0}.participant-popup .popup-name{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin:0}.dark .participant-popup .popup-name{color:var(--color-secondary-50)}.participant-popup .popup-name-link{color:var(--color-secondary-600);text-decoration:none;transition:color .15s;display:block}.participant-popup .popup-name-link:hover{color:var(--color-secondary-700);text-decoration:underline}.dark .participant-popup .popup-name-link{color:var(--color-secondary-400)}.dark .participant-popup .popup-name-link:hover{color:var(--color-secondary-300)}.participant-popup .popup-country{font-size:var(--text-xs);color:var(--color-gray-500);margin:.125rem 0 0}.dark .participant-popup .popup-country{color:var(--color-gray-400)}.custom-map-marker{background:0 0;border:none}.marker-pin{background:var(--color-secondary-500);width:30px;height:30px;box-shadow:var(--shadow-md), 0 0 12px -2px #0d948866;border:2px solid #fff;border-radius:50% 50% 50% 0;margin:-15px 0 0 -15px;position:absolute;top:50%;left:50%;transform:rotate(-45deg)}.marker-pin:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;margin:6px 0 0 6px;position:absolute}.dark .marker-pin{border-color:var(--color-gray-800)}.dark .marker-pin:after{background:var(--color-gray-800)}
