@keyframes toast-slide-in {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes toast-slide-out {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes toast-swipe-out {
  from {
    transform: translateX(var(--radix-toast-swipe-end-x));
  }
  to {
    transform: translateX(100%);
  }
}

[data-sonner-toaster] [data-sonner-toast] {
  animation: toast-slide-in 150ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: all 150ms cubic-bezier(0.16, 1, 0.3, 1);
}

[data-sonner-toaster] [data-sonner-toast][data-removed="true"] {
  animation: toast-slide-out 150ms cubic-bezier(0.4, 0, 1, 1) forwards;
}

[data-sonner-toaster] [data-sonner-toast][data-swiped="true"] {
  animation: toast-swipe-out 150ms cubic-bezier(0.4, 0, 1, 1) forwards;
}

[data-sonner-toaster] [data-sonner-toast]:hover {
  transform: translateX(-4px);
  box-shadow:
    0 20px 25px -5px rgb(0 0 0 / 0.1),
    0 8px 10px -6px rgb(0 0 0 / 0.1);
}

[data-sonner-toaster] [data-sonner-toast] [data-icon] {
  animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate;
}

[data-sonner-toaster] [data-sonner-toast][data-type="loading"] [data-icon] {
  animation: spin 1s linear infinite;
}

@keyframes pulse {
  from {
    transform: scale(0.95);
  }
  to {
    transform: scale(1.05);
  }
}

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

[data-sonner-toaster] {
  font-family:
    system-ui,
    -apple-system,
    sans-serif;
}
