site/src/pages/home/components/EditorSkin/style/index.module.less
.editor-skin {
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;

  ul,
  li {
    margin: 0;
  }

  ul {
    padding: 0;
  }

  &-header {
    display: flex;
    height: 40px;
    line-height: 40px;
    align-items: center;
    background-color: #21252b;

    &-btn-group {
      margin: 0 10px;
      display: flex;
    }

    &-btn {
      width: 12px;
      height: 12px;
      margin: 0 4px;
      border-radius: 6px;

      &.red {
        background-color: #ff4a4a;
      }

      &.yellow {
        background-color: #ffb83d;
      }

      &.green {
        background-color: #00c543;
      }
    }
  }

  &-tab {
    display: flex;

    &-name {
      padding-left: 16px;
      padding-right: 32px;
      color: #8e9093;
      border-left: 1px solid #181a1f;
      border-right: 1px solid #181a1f;
      cursor: pointer;
      transition: var(--home-transition-base);

      &:hover {
        background-color: #383e4a;
      }
    }

    &-active {
      color: #fff;
      background-color: #383e4a;
    }
  }

  &-body {
    flex-grow: 1;
    display: flex;
    background-color: #282c34;
  }

  &-line-numbers {
    width: 40px;
    border-right: 1px solid rgba(255, 255, 255, 15%);
    padding-top: 16px;
  }

  &-line-number {
    padding: 0 20px;
    color: #717c94;
    text-align: right;
  }

  &-content {
    padding-left: 5px;
    padding-top: 16px;
    color: #98c379;
    font-family: 'Fira Mono';

    :global(.editor-skin-typing) {
      position: relative;
    }

    :global(.editor-skin-typing::before) {
      position: absolute;
      top: 0;
      right: -0.8em;
      bottom: 0;
      display: block;
      height: 100%;
      margin-top: auto;
      margin-bottom: auto;
      font-size: 1em;
      line-height: 1em;
      color: hsla(0deg, 0%, 100%, 60%);
      content: '▊';
      animation: BlinkingCursor 0.75s infinite;
    }
  }
}

:global {
  .token.selector,
  .token.attr-name,
  .token.string,
  .token.char,
  .token.builtin,
  .token.inserted {
    color: #b882ff !important;
  }
}

body[arco-theme='dark'] {
  .editor-skin {
    &-header {
      background: var(--home-color-bg-1);
    }

    &-tab {
      &-name {
        border-color: --home-color-border;
        color: var(--color-text-1);

        &:hover {
          background: var(--color-bg-1);
        }
      }

      &-active {
        background: var(--color-bg-1);
      }
    }

    &-body {
      background: var(--color-bg-1);
    }
  }
}

@keyframes BlinkingCursor {
  0%,
  45% {
    opacity: 1;
  }

  55%,
  to {
    opacity: 0;
  }
}

:global(html.rtl) {
  .editor-skin {
    direction: ltr;
  }
}
