/* Additional custom styles for enhanced minimalist design */
body {
    margin: 0;
    padding: 0;
    overflow-x: auto;
}

svg {
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.05));
}

.oblast {
    transform-origin: center;
}

.oblast:hover {
    filter: brightness(0.95);
    transform: scale(1.02);
}

.capital {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.capital-dot {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

/* Responsive scaling */
@media (max-width: 768px) {
    .capital {
        font-size: 9px;
    }
}

@media (max-width: 480px) {
    .capital {
        font-size: 8px;
    }
}