@import '_variables';

/**
 * code-group
 */
.code-group {
  border-radius: 6px;
  overflow: hidden;
  box-shadow: var(--code-shadow);

  .dark & {
    border: none;
  }
  div[class*='language-'] {
    box-shadow: none;
  }
}

.code-group-nav {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background-color: var(--code-nav-bg-color);
  border: none;
  position: relative;
  transition: background var(--t-color);
}

.code-group-tabs {
  margin: auto 0;
  display: inline-flex;
  height: 100%;
  width: 100%;
  background: transparent;

  .code-group-nav-tab {
    padding: 8px;
    cursor: pointer;
    background: transparent;
    font-size: 0.85em;
    line-height: 1.4;
    color: var(--c-text);
    font-weight: 600;
    position: relative;
    display: flex;
    transition: background var(--t-color), color var(--t-color);
    border-radius: 0.5rem 0.5rem 0 0;
    border-width: 0;
    top: 1px;

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

    // 两个角
    &::after,
    &::before {
      content: ' ';
      position: absolute;
      width: 6px;
      height: 6px;
      bottom: 0;
    }

    &.active {
      background-color: var(--code-bg-color);
      border-top-left-radius: 0.5rem;
      border-top-right-radius: 0.5rem;
      transition: none;
      padding: 8px 1rem;
      &::before {
        right: 100%;
        background: radial-gradient(12px at left top, transparent 50%, var(--code-bg-color) 50%);
      }
      &::after {
        left: 100%;
        background: radial-gradient(12px at right top, transparent 50%, var(--code-bg-color) 50%);
      }
    }

    &:first-child {
      border-top-left-radius: 0 !important;
      &::before {
        display: none;
      }
    }
  }
}

.code-group-nav-tab:focus {
  outline: none;
}

.code-group-nav-tab:focus-visible {
  outline: 1px solid rgba(255, 255, 255, 0.9);
}

/**
 * code-group-item
 */
.code-group-item {
  display: none;
  div[class*='language-'] {
    margin-top: -0.85rem;
    margin-bottom: -0.85rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: none;
  }
}

.code-group-item__active {
  display: block;
}

.code-group-item > pre {
  background-color: orange;
}
