#flash {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99999;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;

  .message {
    background: var(--floating);
    color: var(--bg);
    transition: opacity 0.3s ease, height 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease, margin-bottom 0.3s ease;
    overflow: hidden;
    position: relative;
    opacity: 0;
    margin-bottom: -0.5rem;

    &.notice, &.success {
      box-shadow: var(--success) 0px 10px 30px -5px;
    }

    &.alert, &.error {
      box-shadow: var(--error) 0px 10px 30px -5px;
    }

    &.appearing {
      opacity: 1;
      margin-bottom: 0;
    }

    &.dismissing {
      opacity: 0;
      margin-bottom: -0.5rem;
    }

    .body {
      white-space: pre;
      line-height: 1.4;
      padding: 1rem;
      overflow: auto;
      max-height: calc(100vh - 6rem);

      &::-webkit-scrollbar, &::-webkit-scrollbar-button {
        width: 0.125rem;
        height: 0.25rem;
      }

      &::-webkit-scrollbar-track, &::-webkit-scrollbar-track-piece {
        background: transparent;
      }

      &::-webkit-scrollbar-thumb {
        background: var(--alt-font);
      }

      h3 {
        margin: 0 5rem 0.5rem 0;
      }

      .deletions {
        display: flex;
        flex-direction: column;

        .map-name {
          flex: 0 0 1.5rem;
        }

        .sig_id {
          flex: 0 0 4rem;
        }

        .leads-to {
          flex: 1;
        }
      }
    }

    .close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 10;
      display: block;
      width: 2rem;
      height: 2rem;
      padding: 0.5rem;
      line-height: 0;
      margin-right: -1rem;
      margin-top: -1rem;
      background: transparent;
      border: none;
      outline: none;
      color: inherit;
      cursor: pointer;
    }
  }
}

@supports not selector(::-webkit-scrollbar) {
  #flash .message .body {
    scrollbar-width: thin;
    scrollbar-color: var(--alt-font) transparent;
  }
}
