@keyframes appear-then-fade {
  0% { opacity: 1; }
  90% { opacity: 1; }
  100% { opacity: 0; }
}

.flash {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(5px);

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;

  max-width: 100%;
  width: max-content;
  padding: 0 10px;
  cursor: pointer;
}

.flash-message {
  font-size: 12px;
  color: var(--white);
  padding: 4px 10px;
  background-color: var(--contrast-color);
  border-radius: 999px;
  animation: appear-then-fade 8s forwards;
}

.alert {
  background-image: linear-gradient(to left bottom, var(--red-color), color-mix(in srgb, white 20%, var(--red-color)));
}

.notice {
  background-image: linear-gradient(to left bottom, var(--green-color), color-mix(in srgb, white 20%, var(--green-color)));
}

.other {
  background-color: var(--contrast-color);
}