/* 基础容器样式 - 无背景适配，突出代码本身 */
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1.5em;
  line-height: 1.65;
  border-radius: 12px; /* 圆润边角提升精致感 */
  font-family: 'Fira Code', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.95rem;
  transition: box-shadow 0.3s ease;
  border: 1px solid #f0f0f0; /* 浅灰边框界定区域，无背景时不突兀 */
}

/* 行内代码样式 - 轻量界定，不抢视觉焦点 */
code.hljs {
  padding: 0.25em 0.5em;
  border-radius: 6px;
  border: 1px solid #f0f0f0; /* 浅灰边框替代阴影，无背景更协调 */
  background: #fafafa; /* 极浅灰背景，行内代码更易识别 */
}

/* 基础文本色 - 无背景下用深灰，确保可读性 */
.hljs {
}

/* 关键字 - 醒目红色，无背景下突出语法核心 */
.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
  font-weight: 500;
}

/* 函数名 - 深红，与关键字形成层次 */
.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
  font-weight: 500;
}

/* 变量和属性 - 中红，清晰区分数据元素 */
.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id,
.hljs-variable {
}

/* 字符串 - 橙红，增加文本数据辨识度 */
.hljs-meta .hljs-string,
.hljs-regexp,
.hljs-string {
}

/* 内置函数 - 暗红橙，突出系统级功能 */
.hljs-built_in,
.hljs-symbol {
}

/* 注释 - 浅红灰，弱化注释不干扰主代码 */
.hljs-code,
.hljs-comment,
.hljs-formula {
  font-style: italic;
  opacity: 0.9; /* 无背景下适当提高透明度，避免干扰 */
}

/* 标签和选择器 - 亮粉红，区分结构型元素 */
.hljs-name,
.hljs-quote,
.hljs-selector-pseudo,
.hljs-selector-tag {
}

/* 替换内容 - 标准红，保持基础文本识别 */
.hljs-subst {
}

/* 标题和章节 - 深红，突出重要结构标识 */
.hljs-section {
  font-weight: 600;
}

/* 列表项 - 淡橙红，引导列表视觉流 */
.hljs-bullet {
  color: #ff7043; /* 偏橙的淡红，无背景下列表标记清晰 */
}

/* 强调文本 - 增强视觉区分，无背景下不模糊 */
.hljs-emphasis {
  color: #333333;
  font-style: italic;
  opacity: 1;
}

.hljs-strong {
  color: #333333;
  font-weight: 600;
}

/* 增删改标记 - 无背景下高对比度，清晰识别 */
.hljs-addition {
  color: #2e7d32; /* 深绿，无背景下新增内容明确 */
  background-color: rgba(74, 222, 128, 0.2); /* 浅绿背景，无背景下界定区域 */
  display: inline-block;
  width: 100%;
  padding: 0.25em 0.5em;
  border-left: 3px solid #2e7d32;
  border-radius: 0 4px 4px 0;
}

.hljs-deletion {
  color: #c62828; /* 深红，无背景下删除内容明确 */
  background-color: rgba(248, 113, 113, 0.2); /* 浅红背景，无背景下界定区域 */
  display: inline-block;
  width: 100%;
  padding: 0.25em 0.5em;
  border-left: 3px solid #c62828;
  border-radius: 0 4px 4px 0;
}

/* 代码块行号样式 - 无背景下清晰分离 */
.hljs-ln-numbers {
  color: #9e9e9e; /* 中灰，无背景下行号不干扰代码 */
  text-align: right;
  padding-right: 1rem;
  border-right: 1px solid #e0e0e0; /* 浅灰边框，无背景下分离行号与代码 */
  user-select: none;
  font-size: 0.9rem;
}

/* 代码块选中状态 - 无背景下明显不遮挡 */
.hljs ::selection {
  background-color: rgba(239, 83, 80, 0.2); /* 浅红高亮，贴合红色系 */
  color: #333333;
}

/* 悬停交互效果 - 无背景下增强区域感 */
pre code.hljs:hover {
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08); /* 浅阴影，无背景下不厚重 */
  border-color: #e0e0e0;
}

/* 响应式调整 - 移动端无背景适配 */
@media (max-width: 768px) {
  pre code.hljs {
    padding: 1.2em;
    font-size: 0.9rem;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
  }
  
  .hljs-ln-numbers {
    padding-right: 0.75rem;
  }
}

/* 代码块滚动条美化 - 无背景下风格统一 */
pre code.hljs::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

pre code.hljs::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03); /* 极浅灰轨道，无背景下协调 */
  border-radius: 4px;
}

pre code.hljs::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.4); /* 半透明滑块，无背景下不突兀 */
  border-radius: 4px;
  transition: background 0.2s ease;
}

pre code.hljs::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.6);
}

pre code.hljs::-webkit-scrollbar-corner {
  background: transparent;
}
