/* Animations, transitions and HTMX settle effects */
.spinner {
    display: inline-block;
    width: var(--space-4);
    height: var(--space-4);
    border: 2px solid var(--color-border);
    border-top-color: var(--color-primary);
    border-radius: var(--radius-full);
    animation: spin var(--duration-default) linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

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

tr.htmx-settling {
    background-color: var(--color-highlight);
    transition: background-color 0.4s ease-out;
}

@view-transition {
    navigation: auto;
}
