.notifications {
  list-style-type: none;
  margin: 2px;
  padding: 0;
  list-style-type: none;
  padding: 0;
  max-width: 40ch;
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 1000;
  cursor: pointer;
}

@keyframes notificationAppears {
  0% {
    opacity: 0;
    filter: blur(2px);
    transform: translate(0, 10px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translate(0, 0);
  }
}

@keyframes notificationDisappears {
  0% {
    opacity: 1;
    filter: blur(0);
    transform: translate(0, 0);
  }
  100% {
    filter: blur(50px);
    transform: translate(calc(100% + 50px), 0);
  }
}

.notifications li {
  font-family: var(--sans-serif);
  font-size: 14px;
  padding: 10px 20px;
  box-sizing: border-box;
  background: var(--background);
  color: var(--color);
  border: 1px solid var(--color);
  margin: 2px 0;
  animation: 0.5s ease-in-out 0s 1 notificationAppears;
}

.notifications li.dismissed {
  animation: 0.5s linear 0s forwards 1 notificationDisappears;
}

.notifications .info {
  --background: rgba(173, 216, 230, 0.9);
  --color: navy;
}

.notifications .success {
  --background: rgba(144, 238, 144, 0.9);
  --color: darkgreen;
}

.notifications .warning {
  --background: rgb(255, 255, 224, 0.9);
  --color: maroon;
}

.notifications .error {
  --background: rgb(255, 184, 194, 0.9);
  --color: maroon;
}
