&.style-4 {
  --toggle-bg-light: #EEEEEE;
  --toggle-bg-dark: #4BDA73;
  --toggle-icon-light: #484D60;
  --toggle-icon-dark: #FFF;

  width: calc(130px * var(--toggle-scale));
  aspect-ratio: 3 / 0.8;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0;

  .prefix-icon,
  .suffix-icon {
    height: 70%;
    aspect-ratio: 1;
  }

  .prefix-icon {
    background-color: var(--toggle-icon-light);
    mask: url("../images/toggles/light.svg") no-repeat center / contain;
  }

  .suffix-icon {
    background-color: var(--toggle-icon-dark);
    mask: url("../images/toggles/dark.svg") no-repeat center / contain;
    opacity: 0.8;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
  }

  @keyframes dracula-slide-right {
    from {
      justify-content: flex-start;
    }
    to {
      justify-content: flex-end;
    }
  }

  @keyframes dracula-slide-left {
    from {
      justify-content: flex-end;
    }
    to {
      justify-content: flex-start;
    }
  }

  .dracula-toggle-icon {
    height: 100%;
    aspect-ratio: 1;
    background: var(--toggle-icon-light);
    border-radius: 50%;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px,
    rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;

    &-wrap {
      height: 100%;
      width: 100%;
      background: var(--toggle-bg-light);
      padding: 0.35rem;
      border-radius: 100px;
      box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.2);
      display: flex;
      align-items: center;
      justify-content: flex-start;
      margin: 0 10px;
      flex: 1;
      border: 0;
      transition: background 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }
  }

  &:not(.mode-dark) {
    .dracula-toggle-icon {
      background: var(--toggle-icon-light);

      &-wrap {
        background: var(--toggle-bg-light);
        border: 1px solid #ddd;
        animation: dracula-slide-left 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      }
    }

    .prefix-icon {
      opacity: 1;
    }

    .suffix-icon {
      opacity: 0.8;
    }
  }

  &.mode-dark {

    .dracula-toggle-icon {
      background: var(--toggle-icon-dark);

      &-wrap {
        background: var(--toggle-bg-dark);
        justify-content: flex-end;
        animation: dracula-slide-right 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      }
    }

    .prefix-icon {
      opacity: 0.8;
    }

    .suffix-icon {
      opacity: 1;
    }
  }
}