/* 文章内容 Callout 模块 */
.entry-content .callout {
  padding: 12px 14px;
  border-left: 4px solid #0a7cff;
  background: rgba(10, 124, 255, .06);
  border-radius: 8px;
  margin: 12px 0;
}
.entry-content .callout.warn {
  border-color: #f39c12;
  background: rgba(243, 156, 18, .08);
}

/* GitHub 按钮样式
------------------------------------------ */
.github-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background: #24292e;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* 按钮内容布局 */
.github-btn-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* GitHub Logo */
.github-icon {
  display: flex;
  align-items: center;
}

.github-icon svg {
  width: 20px;
  height: 20px;
  fill: #fff;
}

/* GitHub Logo SVG Path */
.github-icon path {
  d: path("M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z");
}

/* 按钮文字 */
.github-text {
  font-weight: 500;
}

/* 星星计数区域 */
.github-stars {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  transition: all 0.3s ease;
}

/* 星星图标 */
.github-stars .octicon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

/* 星星数字 */
.star-count {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}

/* 悬浮效果 */
.github-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  background: #2f363d;
}

/* 星星动画效果 */
.github-btn:hover .github-stars {
  background: rgba(255, 255, 255, 0.15);
}

.github-btn:hover .octicon {
  transform: scale(1.2);
  filter: drop-shadow(0 0 2px rgba(255, 215, 0, 0.6));
}

/* 点击星星效果 */
.github-stars:active .octicon {
  transform: scale(0.9);
}

/* 深色模式适配 */
[data-theme="dark"] .github-btn {
  background: #2f363d;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .github-btn:hover {
  background: #373e47;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* 响应式适配 */
@media (max-width: 768px) {
  .github-btn {
      width: 100%;
      justify-content: center;
  }
}

/* 下载区域基础样式 
------------------------------------------ */
.download-area {
  margin: 1.5rem 0;
  border-radius: 12px;
  background: var(--card-background, #fff);
  border: 1px solid var(--color-border, #eee);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

/* 头部样式 
------------------------------------------ */
.download-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  background: var(--color-primary, #002fa7);
  color: #fff;
  gap: 15px;
}

/* 头部左侧 */
.header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.download-title {
  font-size: 1.1em;
  font-weight: 500;
}

.download-icon {
  font-size: 1.2em;
  animation: iconBounce 2s ease-in-out infinite;
}

@keyframes iconBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* 头部右侧信息 */
.header-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.9em;
  color: #fff;
}

.info-item i {
  font-size: 0.9em;
}

/* 下载按钮区域
------------------------------------------ */
.download-content {
  padding: 20px;
}

.download-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 20px 0;
}

/* 下载按钮基础样式 */
.download-btn {
  position: relative;
  height: 45px;
  width: 200px;
  cursor: pointer;
  background: var(--color-primary);
  border: none;
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.button-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 100%;
  color: #fff;
}

.svg-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.download-icon {
  width: 24px;
  height: 24px;
  color: currentColor;
  transition: transform 0.3s ease;
}

.text-container {
  font-size: 14px;
  font-weight: 500;
}

/* 按钮颜色 */
.site-download { background: #002FA7; }
.baidu-download { background: #409EFF; }
.lanzou-download { background: #FF9900; }

/* 提取码样式 */
.download-code {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

/* 悬浮效果 */
.download-btn:hover {
  transform: translateY(-2px);
  filter: brightness(110%);
}

.download-btn:hover .download-icon {
  transform: scale(1.1);
}

.download-btn:hover .download-code {
  opacity: 1;
  visibility: visible;
  bottom: -25px;
}

/* 响应式适配 */
@media (max-width: 768px) {
  .download-btn {
      width: 100%;
      max-width: 100%;
  }

  .download-code {
      position: static;
      margin-top: 8px;
      transform: none;
      opacity: 1;
      visibility: visible;
      text-align: center;
  }
}

/* 下载说明和底部
------------------------------------------ */
.download-note {
  margin-top: 20px;
  padding: 15px;
  border-radius: 8px;
  background: var(--color-background-light, #f8f9fa);
  color: var(--color-text-light, #666);
  font-size: 0.9em;
  line-height: 1.6;
}

.download-footer {
  padding: 12px 20px;
  background: var(--color-background-light, #f8f9fa);
  border-top: 1px solid var(--color-border, #eee);
}

.tips {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-light, #666);
  font-size: 0.85em;
}

.tips i {
  color: var(--color-primary, #002fa7);
}

/* 深色模式适配
------------------------------------------ */
[data-theme="dark"] {
  .download-area {
      background: var(--card-background, #1a1a1a);
      border-color: var(--color-border, #333);
  }

  .download-note,
  .download-footer {
      background: rgba(255, 255, 255, 0.05);
  }

  .download-footer {
      border-color: var(--color-border, #333);
  }

  .download-code {
      background: rgba(0, 0, 0, 0.9);
  }
}

/* 响应式适配
------------------------------------------ */
@media (max-width: 768px) {
  .download-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
      padding: 12px 15px;
  }

  .header-info {
      width: 100%;
      justify-content: flex-start;
  }

  .download-content {
      padding: 15px;
  }

  .download-action {
      flex-direction: column;
  }

  .download-btn {
      width: 100%;
  }

  .download-code {
      position: static;
      margin-top: 8px;
      transform: none;
      opacity: 1;
      visibility: visible;
      text-align: center;
  }
}

/* GitHub 按钮样式
------------------------------------------ */
.github-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background: #24292e;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* 按钮内容布局 */
.github-btn-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* GitHub Logo */
.github-icon {
  display: flex;
  align-items: center;
}

.github-icon svg {
  width: 20px;
  height: 20px;
  fill: #fff;
}

/* GitHub Logo SVG Path */
.github-icon path {
  d: path("M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z");
}

/* 按钮文字 */
.github-text {
  font-weight: 500;
}

/* 星星计数区域 */
.github-stars {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  transition: all 0.3s ease;
}

/* 星星图标 */
.github-stars .octicon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

/* 星星数字 */
.star-count {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}

/* 悬浮效果 */
.github-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  background: #2f363d;
}

/* 星星动画效果 */
.github-btn:hover .github-stars {
  background: rgba(255, 255, 255, 0.15);
}

.github-btn:hover .octicon {
  transform: scale(1.2);
  filter: drop-shadow(0 0 2px rgba(255, 215, 0, 0.6));
}

/* 点击星星效果 */
.github-stars:active .octicon {
  transform: scale(0.9);
}

/* 深色模式适配 */
[data-theme="dark"] .github-btn {
  background: #2f363d;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .github-btn:hover {
  background: #373e47;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* 响应式适配 */
@media (max-width: 768px) {
  .github-btn {
      width: 100%;
      justify-content: center;
  }
}

/* 下载区域基础样式 
------------------------------------------ */
.download-area {
  margin: 1.5rem 0;
  border-radius: 12px;
  background: var(--card-background, #fff);
  border: 1px solid var(--color-border, #eee);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

/* 头部样式 
------------------------------------------ */
.download-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  background: var(--color-primary, #002fa7);
  color: #fff;
  gap: 15px;
}

/* 头部左侧 */
.header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.download-title {
  font-size: 1.1em;
  font-weight: 500;
}

.download-icon {
  font-size: 1.2em;
  animation: iconBounce 2s ease-in-out infinite;
}

@keyframes iconBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* 头部右侧信息 */
.header-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.9em;
  color: #fff;
}

.info-item i {
  font-size: 0.9em;
}

/* 下载按钮区域
------------------------------------------ */
.download-content {
  padding: 20px;
}

.download-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 20px 0;
}

/* 下载按钮基础样式 */
.download-btn {
  position: relative;
  height: 45px;
  width: 200px;
  cursor: pointer;
  background: var(--color-primary);
  border: none;
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.button-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 100%;
  color: #fff;
}

.svg-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.download-icon {
  width: 24px;
  height: 24px;
  color: currentColor;
  transition: transform 0.3s ease;
}

.text-container {
  font-size: 14px;
  font-weight: 500;
}

/* 按钮颜色 */
.site-download { background: #002FA7; }
.baidu-download { background: #409EFF; }
.lanzou-download { background: #FF9900; }

/* 提取码样式 */
.download-code {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

/* 悬浮效果 */
.download-btn:hover {
  transform: translateY(-2px);
  filter: brightness(110%);
}

.download-btn:hover .download-icon {
  transform: scale(1.1);
}

.download-btn:hover .download-code {
  opacity: 1;
  visibility: visible;
  bottom: -25px;
}

/* 响应式适配 */
@media (max-width: 768px) {
  .download-btn {
      width: 100%;
      max-width: 100%;
  }

  .download-code {
      position: static;
      margin-top: 8px;
      transform: none;
      opacity: 1;
      visibility: visible;
      text-align: center;
  }
}

/* 下载说明和底部
------------------------------------------ */
.download-note {
  margin-top: 20px;
  padding: 15px;
  border-radius: 8px;
  background: var(--color-background-light, #f8f9fa);
  color: var(--color-text-light, #666);
  font-size: 0.9em;
  line-height: 1.6;
}

.download-footer {
  padding: 12px 20px;
  background: var(--color-background-light, #f8f9fa);
  border-top: 1px solid var(--color-border, #eee);
}

.tips {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-light, #666);
  font-size: 0.85em;
}

.tips i {
  color: var(--color-primary, #002fa7);
}

/* 深色模式适配
------------------------------------------ */
[data-theme="dark"] {
  .download-area {
      background: var(--card-background, #1a1a1a);
      border-color: var(--color-border, #333);
  }

  .download-note,
  .download-footer {
      background: rgba(255, 255, 255, 0.05);
  }

  .download-footer {
      border-color: var(--color-border, #333);
  }

  .download-code {
      background: rgba(0, 0, 0, 0.9);
  }
}

/* 响应式适配
------------------------------------------ */
@media (max-width: 768px) {
  .download-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
      padding: 12px 15px;
  }

  .header-info {
      width: 100%;
      justify-content: flex-start;
  }

  .download-content {
      padding: 15px;
  }

  .download-action {
      flex-direction: column;
  }

  .download-btn {
      width: 100%;
  }

  .download-code {
      position: static;
      margin-top: 8px;
      transform: none;
      opacity: 1;
      visibility: visible;
      text-align: center;
  }
}


/* 键盘输入 */
.entry-content kbd {
  padding: 0.2em 0.4em;
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: 3px;
  box-shadow: 0 2px 0 var(--color-border);
  font-family: var(--font-mono);
  font-size: 0.9em;
}

[data-theme="dark"] .entry-content table {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.entry-title {
  font-family: "Source Han Serif CN", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; /* 使用腾讯字体 */
  font-size: 2rem;
  font-weight: 700; /* 使用粗体 */
  line-height: 1.4;
  margin-bottom: 1rem;
  color: var(--color-text); /* 使用主题文本颜色 */
  transition: color 0.3s ease; /* 添加颜色过渡效果 */
}

/* 深色模式适配 */
[data-theme="dark"] .entry-title {
  color: #fff;
}

/* 文章头部元信息样式 */
.entry-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0.5rem 0;
  font-size: 0.9rem;
}

/* 统一项目基础样式 */
.entry-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.8rem;
  background: var(--color-background-light);
  border-radius: 20px;
  transition: all 0.2s ease;
}

/* 统一图标样式 */
.entry-meta i {
  font-size: 0.9em;
  color: var(--color-primary);
  opacity: 1;
  transition: all 0.2s ease;
}

/* 统一文字样式 */
.entry-meta span:not(i) {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* 更新图标样式 */
.modified-icon {
  margin-left: 0.2rem;
  font-size: 0.8em;
  transition: transform 0.3s ease;
}

/* 链接样式 */
.entry-meta a {
  color: inherit;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* 悬停效果 */
.entry-meta > span:hover {
  color: var(--color-primary);
  background: var(--color-background);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.entry-meta > span:hover i {
  opacity: 1;
}

/* 更新图标悬停动画 */
.entry-meta > span:hover .modified-icon {
  transform: rotate(180deg);
}

.single-main .post-date[data-title] {
  position: relative;
  cursor: help;
}
.single-main .post-date[data-title]:hover::before {
  content: attr(data-title);
  position: absolute;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.5rem 1rem;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 0.875rem;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 10;
}
/* 改这里：title -> data-title */
.single-main .post-date[data-title]:hover::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 5px);
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.8);
  pointer-events: none;
  z-index: 10;
}
/* 深色模式也改为 data-title */
[data-theme="dark"] .single-main .post-date[data-title]:hover::before {
  background: rgba(0, 0, 0, 0.95);
}
[data-theme="dark"] .single-main .post-date[data-title]:hover::after {
  border-top-color: rgba(0, 0, 0, 0.95);
}

/* 深色模式适配 */
[data-theme="dark"] .entry-meta > span {
  background: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .entry-meta > span:hover {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] [title]:hover::before {
  background: rgba(0, 0, 0, 0.95);
}

[data-theme="dark"] [title]:hover::after {
  border-top-color: rgba(0, 0, 0, 0.95);
}

/* 响应式适配 */
@media (max-width: 768px) {
  .entry-meta {
      gap: 0.5rem;
      margin: 0.75rem 0;
  }
  
  .entry-meta > span {
      padding: 0.3rem 0.6rem;
      font-size: 0.85rem;
  }
  
  .entry-meta i {
      font-size: 0.85em;
  }
}

@media (max-width: 480px) {
  .entry-meta {
      justify-content: center;
  }
}

/* 文章过期提示样式 */
.article-outdated {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin: 1rem 0 2rem;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  background: rgba(255, 244, 222, 0.5);
  border: 1px solid #FFE4AF;
}

.article-outdated i {
  font-size: 1.5rem;
  color: #FFA500;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.article-outdated .outdated-content {
  flex: 1;
}

.article-outdated strong {
  display: block;
  color: #CC7700;
  margin-bottom: 0.3rem;
}

.article-outdated p {
  margin: 0;
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
}

/* 深色模式适配 */
[data-theme="dark"] .article-outdated {
  background: rgba(255, 244, 222, 0.1);
  border-color: rgba(255, 228, 175, 0.2);
}

[data-theme="dark"] .article-outdated strong {
  color: #FFB84D;
}

[data-theme="dark"] .article-outdated p {
  color: #999;
}


/* 文章结束标识（静态版） */
.article-end {
position: relative;
margin: 2rem 0 1rem;
text-align: center;
}
.article-end .end-line {
height: 1px;
background: linear-gradient(90deg, transparent, var(--color-border), transparent);
}
.article-end .end-badge {
position: absolute;
left: 50%;
top: -0.8rem;
transform: translateX(-50%);
background: var(--color-background);
padding: 0 .75rem;
}
.article-end .end-text {
font-family: var(--font-primary);
font-weight: 600;
letter-spacing: .35em;
color: var(--color-text-light);
font-size: .85rem;
}
/* 深色模式 */
[data-theme="dark"] .article-end .end-badge { background: var(--color-background); }

/* 评论计数链接样式 */
.scroll-to-comments {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-light);
  text-decoration: none;
  transition: color 0.2s ease;
}

.scroll-to-comments:hover {
  color: var(--color-text);
}

/* 文章正文样式 */
.entry-content {
font-family: var(--font-content);
font-size: 1rem;
line-height: 1.8;
color: var(--color-text);
}

/* 文章标题体系 */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
font-family: var(--font-title);
font-weight: 600;
line-height: 1.4;
margin: 1em 0 1em;
color: var(--color-heading);
position: relative;
}

.entry-content h2 {
font-size: 1.75rem;
padding-bottom: 0.5em;
border-bottom: 2px solid var(--color-border);
}

.entry-content h2::after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 100px;
height: 2px;
background: var(--color-primary);
}

.entry-content h3 {
font-size: 1.5rem;
padding-left: 1rem;
border-left: 4px solid var(--color-primary);
}

.entry-content h4 {
font-size: 1.25rem;
}

.entry-content h5 {
font-size: 1.1rem;
}

.entry-content h6 {
font-size: 1rem;
}

/* 段落样式 */
.entry-content p {
margin: 0.5em 0;
text-align: justify;
}

.entry-content strong {
color: var(--color-primary);
font-weight: 600;
}

.entry-content em {
color: #718096;
font-style: italic;
}

/* 引用块 = Callout 风格（覆盖旧的引号装饰样式） */
.entry-content blockquote {
padding: 12px 14px;
border-left: 4px solid #0a7cff;
background: rgba(10,124,255,.06);
border-radius: 8px;
margin: 12px 0;
}

/* 移除旧的 ::before / ::after 引号装饰 */
.entry-content blockquote::before,
.entry-content blockquote::after {
content: none !important;
}

/* 警告变体：在编辑器给 blockquote 加 warn 类可用 */
.entry-content blockquote.warn {
border-color: #f39c12;
background: rgba(243,156,18,.08);
}

/* 深色模式微调 */
[data-theme="dark"] .entry-content blockquote {
background: rgba(10,124,255,.10);
}

/* 兼容：保留 .callout 别名（可删除） */
.entry-content .callout {
padding: 12px 14px;
border-left: 4px solid #0a7cff;
background: rgba(10,124,255,.06);
border-radius: 8px;
margin: 12px 0;
}
.entry-content .callout.warn {
border-color: #f39c12;
background: rgba(243,156,18,.08);
}
/* 文章内仿真键盘按键样式 
<span class="kbd">Ctrl</span> + <span class="kbd">C</span>
使用方式  */
.kbd {
display: inline-block;
border: 1px solid #ccc;
border-bottom-width: 2px;
border-radius: 6px;
padding: 0 6px;
background: #f9f9fb;
font-family: ui-monospace, Consolas, monospace;
color: #222;
}

/* 暗黑模式适配 */
@media (prefers-color-scheme: dark) {
.kbd {
  border-color: #555;
  background: #1e1e1e;
  color: #eee;
}
}

/* 列表样式 */
.entry-content ul,
.entry-content ol {
margin: 1.5em 0;
padding-left: 2em;
}

.entry-content ul {
list-style: none;
}

.entry-content ul li {
position: relative;
margin-bottom: 0.5em;
}

.entry-content ul li::before {
content: "";
position: absolute;
left: -1.5em;
top: 0.7em;
width: 6px;
height: 6px;
background: var(--color-primary);
border-radius: 50%;
}

.entry-content ol {
counter-reset: item;
list-style: none;
}

.entry-content ol li {
position: relative;
margin-bottom: 0.5em;
counter-increment: item;
}

.entry-content ol li::before {
content: counter(item);
position: absolute;
left: -2em;
top: 0.2em;
width: 1.5em;
height: 1.5em;
line-height: 1.5em;
text-align: center;
background: var(--color-primary);
color: #fff;
border-radius: 50%;
font-size: 0.8em;
}

/* 链接容器本身也需要调整 */
.entry-content a:not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"]) {
position: relative;
display: inline-flex;
align-items: center;
color: var(--color-primary);
text-decoration: none;
padding: 0;
margin-left: 22px; /* 调整为与 favicon 位置对应 */
margin-right: 2px; /* 右侧间距 */
transition: all 0.3s ease;
}

/* 外部链接 Favicon */
.entry-content a[href^="http"]:not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"])::before {
  content: '';
  position: absolute;
  left: -18px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: var(--favicon-url);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 6px;
}

/* 外部链接箭头图标 */
.entry-content a[href^="http"]:not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"])::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 6px; /* 增加左侧间距 */
  margin-right: 2px; /* 增加右侧间距 */
  background-image: url('../../images/icons/link.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.6;
  position: relative;
  top: 1px;
}

/* 链接文字容器 */
.entry-content a:not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"]) span {
  position: relative;
  padding-bottom: 1px;
  border-bottom: 1px dotted rgba(var(--color-primary-rgb), 0.4);
  transition: all 0.3s ease;
}

/* 内部链接图标 */
.entry-content a:not([href^="http"]):not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"])::before {
  content: '#';
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-light);
  opacity: 0.6;
}

/* 悬浮效果 */
.entry-content a:not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"]):hover {
  color: var(--color-primary);
}

/* 悬浮时下划线样式 */
.entry-content a:not(.download-btn):not(.github-btn):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href$=".mp4"]):not([href$=".webm"]):not([href*="youtube.com"]):not([href*="youku.com"]):not([href*="bilibili.com"]):hover span {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: var(--color-primary);
  font-weight: 600;
}

/* 深色模式适配 */
[data-theme="dark"] .entry-content a:not(.download-btn):not(.github-btn) span {
  border-bottom-color: rgba(var(--color-primary-rgb), 0.3);
}

[data-theme="dark"] .entry-content a:not(.download-btn):not(.github-btn):hover span {
  border-bottom-color: var(--color-primary);
}

[data-theme="dark"] .entry-content a:not([href^="http"]):not(.download-btn):not(.github-btn)::before {
  opacity: 0.4;
}

/* 行内代码块样式 */
.entry-content code:not([class*="language-"]) {
  padding: 0.2em 0.4em;
  margin: 0 0.2em;
  font-size: 0.875em;
  font-family: var(--font-mono, Consolas, Monaco, monospace);
  background: rgba(0, 47, 167, 0.08); /* 使用主题蓝色 */
  color: var(--color-primary, #002FA7); /* 使用主题变量 */
  border-radius: 4px;
  border: 1px solid rgba(0, 47, 167, 0.1);
  vertical-align: middle;
  transition: all 0.2s ease;
}

/* 悬停效果 */
.entry-content code:not([class*="language-"]):hover {
  background: rgba(0, 47, 167, 0.12);
  border-color: rgba(0, 47, 167, 0.2);
}

/* 深色模式适配 */
[data-theme="dark"] .entry-content code:not([class*="language-"]) {
  background: rgba(0, 47, 167, 0.15);
  color: #4d71d7; /* 更亮的蓝色以适应深色模式 */
  border-color: rgba(0, 47, 167, 0.2);
}

[data-theme="dark"] .entry-content code:not([class*="language-"]):hover {
  background: rgba(0, 47, 167, 0.2);
  border-color: rgba(0, 47, 167, 0.25);
}

/*--------------------------------------------------------------
>>> 文章内图片样式（统一兼容：带说明/不带说明，1-4张）
--------------------------------------------------------------*/

/* 网格容器 */
.entry-content .image-row {
display: flex;
flex-wrap: wrap; 
justify-content: flex-start;
align-items: stretch;
--gap: .5rem;
gap: var(--gap);
margin: 2rem 0;
width: 100%;
}

.entry-content .image-row > * {
position: relative; 
box-sizing: border-box;
overflow: hidden; 
min-width: 0; 
}

/* 图片基础样式（不改） */
.entry-content .image-row img,
.entry-content .single-image img {
display: block;
width: 100%;
height: auto;
border-radius: 12px;
object-fit: cover;
background: var(--color-background-light);
box-shadow: 0 4px 16px rgba(0,0,0,.08);
transition: transform .3s ease;
}

/* 单张图片容器（不改） */
.entry-content .single-image {
position: relative;
width: 100%;

margin: 2rem auto;
box-sizing: border-box;
}

/* 列宽规则 */
.entry-content .image-row.one   > * { flex: 0 0 100%;                    max-width: 100%; }
.entry-content .image-row.two   > * { flex: 0 0 calc(50% - .25rem);      max-width: calc(50% - .25rem); }
/* 修复三列 2+1：用 (100% - 2*gap)/3，并减去 .1px 防止进位 */
.entry-content .image-row.three > * {
flex: 0 0 calc((100% - (var(--gap) * 2)) / 3 - .1px);
max-width: calc((100% - (var(--gap) * 2)) / 3 - .1px);
}
.entry-content .image-row.four  > * { flex: 0 0 calc(25% - .375rem);     max-width: calc(25% - .375rem); }


/* 桌面端：两列/三列/四列强制单行显示 */
@media (min-width: 769px) {
.entry-content .image-row.two,
.entry-content .image-row.three,
.entry-content .image-row.four {
  flex-wrap: nowrap;
}
/* 三列均分，避免 calc 进位导致 2+1 */
.entry-content .image-row.three > * {
  flex: 1 1 0;       /* 均分剩余空间 */
  max-width: none;   /* 覆盖之前的 max-width 计算 */
}
}

/* 说明文字：仅当父容器（非 img）或 .single-image 带 data-title 时显示 */
/* 注意：不要把 data-title 放到 <img> 上，img 上的 ::after 不会渲染 */
.entry-content .image-row > [data-title]:not(img)::after,
.entry-content .single-image[data-title]::after {
content: attr(data-title);
position: absolute;
left: 50%;
bottom: 1rem;
transform: translateX(-50%);
padding: .5rem 1.2rem;
max-width: calc(100% - 1rem);
background: rgba(0,0,0,.6);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
border-radius: 6px;
color: #fff;
font-size: .95rem;
font-weight: 600;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
pointer-events: none;  /* 不阻挡点击图片 */
z-index: 1;
}

/* 悬停效果（不改） */
.entry-content .image-row img:hover,
.entry-content .single-image img:hover {
transform: translateY(-2px);
}

/* 响应式（不改尺寸逻辑） */
@media (max-width: 992px) {
.entry-content .image-row.four > * {
  flex: 0 0 calc(33.333% - .333rem);
  max-width: calc(33.333% - .333rem);
}
}
@media (max-width: 768px) {
.entry-content .image-row { gap: 1rem; }
.entry-content .image-row.three > *,
.entry-content .image-row.four  > * {
  flex: 0 0 calc(50% - .5rem);
  max-width: calc(50% - .5rem);
}
.entry-content .single-image { max-width: 100%; }
}
@media (max-width: 480px) {
.entry-content .image-row { gap: .5rem; }
.entry-content .image-row > * {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
}

/* 整组图片容器与说明（不影响 .image-row 布局） */
.entry-content figure.image-group {
margin: 2rem 0;
}

.entry-content figure.image-group .image-row,
.entry-content figure.image-group .single-image {
margin-bottom: .5rem; /* 组内图片与说明的间距 */
}

.entry-content .image-caption {
display: block;
width: 100%;
text-align: center;
font-size: .95rem;
line-height: 1.7;
color: var(--color-text-light);
margin: 0;               /* 由父容器控制外边距 */
padding: 0 .5rem;        /* 轻微内边距，避免贴边 */
word-break: break-word;  /* 防止超长文本溢出 */
}

.entry-content .image-caption em {
color: var(--color-text-light);
font-style: italic;
opacity: .95;
}

/* 深色模式（可选加强可读性） */
[data-theme="dark"] .entry-content .image-caption {
color: var(--color-text-light);
}

/*--------------------------------------------------------------
>>> 文章内图片样式结束
--------------------------------------------------------------*/

/* 表格样式 */
.entry-content table {
width: 100%;
margin: 1em 0;
border-collapse: collapse;
border-spacing: 0;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.entry-content th,
.entry-content td {
padding: 0.75em 1em;
border: 1px solid var(--color-border);
text-align: left;
}

.entry-content th {
background: var(--color-background-light);
font-weight: 600;
color: var(--color-heading);
}

.entry-content tr:nth-child(even) {
background: var(--color-background-light);
}

/* 分割线样式 */
.entry-content hr {
margin: 3em 0;
border: none;
height: 1px;
background: linear-gradient(
  90deg,
  transparent,
  var(--color-border) 50%,
  transparent
);
}

/* 标记文本 */
.entry-content mark {
background: rgba(var(--color-primary-rgb), 0.1);
color: var(--color-primary);
padding: 0.2em 0.4em;
border-radius: 3px;
}