Напиши пример скрипта на Javascript для кнопки, которая плавно изменяет свой цвет при наведении. 
1. Цвет кнопки должен быть градиентный с лева на право
2. При наведении цвет кнопки принимает крайний левый цвет из изначального градиента.
3. При Нажатии кнопка переливается градиентом, эмулируя процесс обработки/загрузки.
Для реализации данной функциональности можно использовать следующий скрипт на JavaScript:

```javascript
const button = document.querySelector('button');

// Изначальный градиентный цвет кнопки
const startColor = 'linear-gradient(to right, #FF6B6B, #3B3B98)';

// Цвет кнопки при наведении
const hoverColor = 'linear-gradient(to right, #FF6B6B, #FF6B6B)';

// Цвет кнопки при нажатии
const activeColor = 'linear-gradient(to right, #3B3B98, #FF6B6B)';

// Функция, которая меняет цвет кнопки
function changeColor(color) {
  button.style.background = color;
}

// Обработчик события наведения на кнопку
button.addEventListener('mouseover', () => {
  changeColor(hoverColor);
});

// Обработчик события ухода курсора с кнопки
button.addEventListener('mouseout', () => {
  changeColor(startColor);
});

// Обработчик события нажатия на кнопку
button.addEventListener('mousedown', () => {
  changeColor(activeColor);
});

// Обработчик события отпускания кнопки
button.addEventListener('mouseup', () => {
  changeColor(hoverColor);
});
```

Код выше выбирает кнопку на странице и определяет три разных цвета для кнопки: изначальный градиентный цвет, цвет при наведении и цвет при нажатии. Затем он определяет функцию, которая меняет цвет кнопки в зависимости от переданного цвета. Далее он устанавливает обработчики событий для кнопки, которые вызывают функцию изменения цвета при наведении, нажатии и отпускании кнопки.