.flash {
  display: flex;
  inset-block-start: var(--block-space);
  inset-inline-start: 50%;
  justify-content: center;
  position: fixed;
  transform: translate(-50%);
  z-index: 6;
}

.flash__inner {
  animation: appear-then-fade 3s 300ms both;
  aspect-ratio: 1;
  background-color: var(--flash-background, var(--color-positive));
  border-radius: 50%;
  display: grid;
  padding: var(--block-space);
  place-items: center;

  img {
    grid-area: 1/1;
  }
}

/* Alerts carry a visible message next to the icon (notices stay icon-only) */
.flash__inner:has(.flash__message) {
  animation-duration: 4s;
  aspect-ratio: auto;
  border-radius: 2em;
  gap: 0.5em;
  grid-auto-flow: column;
  padding: var(--block-space-half) var(--inline-space);

  img {
    grid-area: auto;
  }
}

.flash__message {
  color: oklch(var(--lch-always-white));
  font-weight: 500;
}
