@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}

.nut-toast {
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1300;

  &-overlay-default {
    --nutui-overlay-bg-color: rgba(0, 0, 0, 0);
  }

  &-overlay-default-taro {
    /* #ifdef harmony dynamic*/
    background-color: rgba(0, 0, 0, 0);
    /* #endif */
    /* #ifndef harmony dynamic*/
    --nutui-overlay-bg-color: rgba(0, 0, 0, 0);
    /* #endif */
  }

  &-inner {
    position: absolute;
    top: $toast-inner-top;
    transform: translate(-0, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: var(--nutui-toast-inner-min-width, scale-px(88px));
    max-width: var(--nutui-toast-inner-max-width, scale-px(200px));
    box-sizing: border-box;
    font-size: $toast-text-font-size;
    text-align: $toast-inner-text-align;
    padding: $toast-inner-padding;
    word-break: break-all;
    background: $toast-inner-bg-color;
    border-radius: $toast-inner-border-radius;
    color: $toast-font-color;

    .nut-toast-has-icon & {
      min-width: var(--nutui-toast-inner-has-icon-min-width, scale-px(97px));
      max-width: var(--nutui-toast-inner-has-icon-max-width, scale-px(225px));
    }

    &-normal {
      word-break: normal;
      word-wrap: normal;
    }

    &-break-word {
      word-break: normal;
      word-wrap: break-word;
    }

    &-small {
      font-size: $font-size-s;
    }

    &-large {
      font-size: $font-size-l;
    }
  }

  &-center {
    top: var(--nutui-toast-inner-top, 48%);
  }

  &-bottom {
    top: var(--nutui-toast-inner-top, 80%);
  }

  &-top {
    top: var(--nutui-toast-inner-top, 20%);
  }

  &-text {
    color: var(--nutui-toast-font-color, var(--nutui-white, #ffffff));
    text-align: $toast-inner-text-align;
    font-weight: var(--nutui-toast-text-font-weight, 400);
    /* #ifdef harmony dynamic*/
    line-height: normal;
    /* #endif */
    /* #ifndef harmony dynamic*/
    line-height: scale-px(20px);
    /* #endif */
    height: auto;
  }

  &-title {
    color: var(--nutui-toast-font-color, var(--nutui-white, #ffffff));
    font-size: $toast-title-font-size;
    font-weight: var(--nutui-toast-title-font-weight, 600);
    text-align: $toast-inner-text-align;
    /* #ifdef harmony dynamic*/
    line-height: normal;
    /* #endif */
    /* #ifndef harmony dynamic*/
    line-height: scale-px(22px);
    /* #endif */
  }

  .nut-icon {
    width: scale-px(20px);
    height: scale-px(20px);
    color: var(
      --nutui-toast-icon-color,
      var(--nutui-toast-font-color, var(--nutui-white, #ffffff))
    );
  }

  &-icon-wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: scale-px(10px) 0;
    color: var(
      --nutui-toast-icon-color,
      var(--nutui-toast-font-color, var(--nutui-white, #ffffff))
    );

    &-icon {
      width: scale-px(20px);
      height: scale-px(20px);
    }
  }

  &-rtl {
    left: auto;
    right: 0;

    &-inner {
      left: auto;
      right: 50%;
    }
  }
}

[dir='rtl'] .nut-toast,
.nut-rtl .nut-toast {
  left: auto;
  right: 0;

  &-inner {
    left: auto;
    right: 50%;
  }
}

.toast-fade-enter-active {
  transition: opacity 0.3s;
}

.toast-fade-leave-active {
  transition: opacity 0.3s;
}

.toast-fade-enter-from,
.toast-fade-leave-to {
  opacity: 0;
}
