@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes scaleUp {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}

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

.anim-fade-in {
    animation: fadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.anim-scale-up {
    animation: scaleUp 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.anim-pulse {
    animation: pulseSoft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Soporte de scroll táctil suave */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: var(--border-strong);
    border-radius: 4px;
}
