@layer components {
  @keyframes appear-then-fade {
    0%, 80% { opacity: 1; }
    100% { opacity: 0; display: none; }
  }

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

  .flash__inner {
    animation: appear-then-fade 3s 300ms both;
    background-color: var(--color-ink);
    border-radius: 4em;
    color: var(--color-ink-inverted);
    display: inline-flex;
    font-size: var(--text-small);
    inline-size: max-content;
    max-inline-size: 90vw;
    padding: 0.7em 1.4em;
  }

  .flash__inner--alert {
    background-color: var(--color-negative);
  }
}
