

@media (max-width: 640px) {
    .impulse-chart {
        flex-direction: column;
    }
    .impulse-chart .impulse-chart-legend {
        max-width: 100%;
    }
}

@keyframes impulse-chart-fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes impulse-chart-rise {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes impulse-chart-pop {
    from { opacity: 0; transform: scale(0.3); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes impulse-chart-stroke-fade {
    to { stroke-opacity: 1; }
}

@keyframes impulse-chart-bars-grow {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

@keyframes impulse-chart-line-draw {
    from { stroke-dashoffset: 3000; }
    to   { stroke-dashoffset: 0; }
}

@keyframes impulse-chart-breathe {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-2px); }
}

@keyframes impulse-chart-sway {
    0%, 100% { transform: rotateX(-38deg) rotateY(-1.2deg); }
    50%      { transform: rotateX(-38deg) rotateY(1.2deg); }
}

@keyframes impulse-radial-pulse {
    0%, 100% { transform: rotate(-90deg) scale(1); }
    50%      { transform: rotate(-90deg) scale(1.015); }
}

.impulse-chart-line-path {
    stroke-dasharray: 3000;
}

@media (prefers-reduced-motion: no-preference) {
    .impulse-chart:not([data-chart-type="bar"]) .impulse-chart-svg {
        animation: impulse-chart-breathe 6s ease-in-out infinite;
    }
    
    .impulse-chart-tilted_ring[data-tilt-sens="0"] .impulse-chart-tilt {
        animation: impulse-chart-sway 7s ease-in-out infinite;
    }
}
