pre {
  position: relative;
}

/* 코드블록 언어 */
pre::after {
  content: attr(data-ke-language);
  position: absolute;
  bottom: 8px;
  right: 12px;
  color: #cfd2d1;
  font-size: 15px;
  --tw-text-opacity: 1;
  color: rgb(215 58 73 / var(--tw-text-opacity));
}

.dark pre::after {
  --tw-text-opacity: 1;
  color: rgb(86 156 214 / var(--tw-text-opacity));
}

.hljs {
  display: flex !important;
  flex-direction: column;
  padding: 0 !important;
  font-size: 15px;
  border-radius: 8px;
  background-color: #343131;
}

.hljs .line {
  counter-increment: line-idx;
  line-height: 1.5;
}

.hljs .line:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 230 233 / var(--tw-bg-opacity));
}

.dark .hljs .line:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(53 54 56 / var(--tw-bg-opacity));
}

/* 코드블록 줄번호 */
.hljs .line::before {
  content: counter(line-idx);
  width: 24px;
  display: inline-block;
  text-align: right;
  margin-right: 16px;
  font-size: 15px;
  color: #747a7a;
}

/* 코드블록 mac 스타일 header */
.hljs .code-header {
  display: flex;
  align-items: center;
  padding: 5px;
  border-radius: 8px 8px 0 0;
  --tw-bg-opacity: 1;
  background-color: rgb(218 217 218 / var(--tw-bg-opacity));
}

.dark .hljs .code-header {
  --tw-bg-opacity: 1;
  background-color: rgb(67 64 65 / var(--tw-bg-opacity));
}

.hljs .code-header .mac_dot {
  border-radius: 50%;
  width: 13px;
  height: 13px;
  margin: 0 5px;
}

.hljs .code-header .mac_dot.red {
  background-color: #f5655b;
}

.hljs .code-header .mac_dot.yellow {
  background-color: #f6bd3b;
}

.hljs .code-header .mac_dot.green {
  background-color: #43c645;
}

.hljs .code-body {
  max-height: none;
  height: auto;
  margin: 32px 8px;
  overflow: auto;
}

/* 코드블록 스크롤바 */
.hljs .code-body::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.hljs .code-body::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(218 217 218 / var(--tw-bg-opacity));
}

.dark .hljs .code-body::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(67 64 65 / var(--tw-bg-opacity));
}

.hljs .code-body::-webkit-scrollbar-thumb {
  border-radius: 4px;
}

.hljs .code-body::-webkit-scrollbar-corner {
  display: none;
}

/* 코드블록 복사버튼 */
.hljs .copy-btn {
  border: none;
  cursor: pointer;
  font-size: 0.75rem;
  padding: 5px;
  width: 35px;
  border-radius: 4px;
  margin-left: auto;
}