/* ==========================================
   基础样式设置
   ========================================== */
.article-entry pre,
.article-entry .highlight {
  background: transparent;
  margin: 0;
  padding: 10px 0;
  border: none !important;
  overflow: auto;
  color: #333;
  line-height: 1.4;
}

.article-entry pre,
.article-entry code {
  font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace;
}

.article-entry code {
  background: color-background;
  text-shadow: 0 1px #fff;
  padding: 0 .3em;
}

.article-entry pre code {
  background: none;
  text-shadow: none;
  padding: 0;
}

/* ==========================================
   代码块表格样式
   ========================================== */
.article-entry .highlight pre {
  border: none;
  margin: 0;
  padding: 0;
}

.article-entry .highlight table {
  margin: 0;
  width: auto;
}

.article-entry .highlight td {
  border: none;
  padding: 0;
}

/* 确保表格没有边框 */
.highlight table, 
.highlight tr, 
.highlight td {
  border: none !important;
  background: transparent !important;
}

/* 添加新的样式来减少表格单元格之间的间距 */
.highlight table {
  border-spacing: 0 !important;
  border-collapse: collapse !important;
  margin-left: 0 !important;  /* 确保表格也靠左对齐 */
}

.markdown-body .highlight table td {
  padding: 0;
  border: none;
}

.markdown-body .highlight table tr {
  border: none;
}

/* ==========================================
   行号样式
   ========================================== */
.article-entry .highlight .gutter pre,
.article-entry .gist .gist-file .gist-data .line-numbers {
  color: #666;
  font-size: .85em;
}

.article-entry .highlight .gutter pre {
  text-align: right;
  padding-right: 2px;
  padding-left: 5px;
  color: #aaa;
  background: transparent !important;
  width: 3em;
  margin-right: 0;
  border-right: none !important;
}

/* 行号 */
.article-entry .highlight .gutter pre,
.markdown-body .highlight .gutter pre {
  text-align: right !important;
  color: #aaa !important;
  background: transparent !important;
  padding-right: 2px !important;
  padding-left: 5px !important;
  width: 3em !important;
  margin-right: 0 !important;
  border-right: none !important;
}

/* 确保没有分割线 */
.highlight .gutter {
  border-right: none !important;
  background: transparent !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.highlight td.gutter {
  border-right: none !important;
  padding-right: 0 !important;
}

/* ==========================================
   代码区域样式
   ========================================== */
.highlight .code pre {
  width: 100%;
  padding-left: 0;
  padding-right: 10px;
  background-color: transparent !important;
}

.highlight td.code {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.article-entry .highlight .line {
  height: 1.4em;
}

.article-entry .highlight .line.marked {
  background: #515151;
}

.markdown-body .highlight table tbody pre {
  border-radius: 0;
}

/* 确保所有可能的边框和背景都被移除 */
.highlight * {
  border-radius: 0 !important;
}

/* ==========================================
   标题和说明样式
   ========================================== */
.article-entry .highlight figcaption {
  font-size: .85em;
  color: #999;
  line-height: 1em;
  margin-bottom: 1em;
  text-align: center;
}

.article-entry .highlight figcaption a {
  float: right;
}

figure {
  position: relative;
  border: none !important;
}

figure figcaption {
  text-align: center;
  background-color: transparent !important;
  border: none !important;
}

figure table {
  border: none !important;
}

figure table td {
  border: none !important;
}

details summary {
  outline: none;
  cursor: pointer;
}

/* ==========================================
   Gist 样式
   ========================================== */
.article-entry .gist {
  margin: 0 -20px;
  border-style: solid;
  border-color: color-border;
  border-width: 1px 0;
  background: #2d2d2d;
  padding: 15px 20px 15px 0;
}

.article-entry .gist .gist-file {
  border: none;
  font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace;
  margin: 0;
}

.article-entry .gist .gist-file .gist-data {
  background: none;
  border: none;
}

.article-entry .gist .gist-file .gist-data .line-numbers {
  background: none;
  border: none;
  padding: 0 20px 0 0;
}

.article-entry .gist .gist-file .gist-data .line-data {
  padding: 0 !important;
}

.article-entry .gist .gist-file .highlight {
  margin: 0;
  padding: 0;
  border: none;
}

.article-entry .gist .gist-file .gist-meta {
  background: #2d2d2d;
  color: #999;
  font: .85em -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  text-shadow: 0 0;
  padding: 0;
  margin-top: 1em;
  margin-left: 20px;
}

.article-entry .gist .gist-file .gist-meta a {
  color: #258fb8;
  font-weight: normal;
}

.article-entry .gist .gist-file .gist-meta a:hover {
  text-decoration: underline;
}

/* ==========================================
   亮色模式下的代码高亮颜色
   ========================================== */
/* 注释和标题 */
pre .comment,
pre .title {
  color: #505050 !important;
}

/* 变量和标签 */
pre .variable,
pre .attribute,
pre .tag,
pre .regexp,
pre .ruby .constant,
pre .xml .tag .title,
pre .xml .pi,
pre .xml .doctype,
pre .html .doctype,
pre .css .id,
pre .css .class,
pre .css .pseudo {
  color: #c01010 !important;
}

/* 数字和常量 */
pre .number,
pre .preprocessor,
pre .built_in,
pre .literal,
pre .params,
pre .constant {
  color: #c04000 !important;
}

/* 类名 */
pre .class,
pre .ruby .class .title,
pre .css .rules .attribute {
  color: #006000 !important;
}

/* 字符串 */
pre .string,
pre .value,
pre .inheritance,
pre .header,
pre .ruby .symbol,
pre .xml .cdata {
  color: #006000 !important;
}

/* 十六进制颜色 */
pre .css .hexcolor {
  color: #006080 !important;
}

/* 函数 */
pre .function,
pre .python .decorator,
pre .python .title,
pre .ruby .function .title,
pre .ruby .title .keyword,
pre .perl .sub,
pre .javascript .title,
pre .coffeescript .title {
  color: #004080 !important;
}

/* 关键字 */
pre .keyword,
pre .javascript .function {
  color: #600080 !important;
}

/* ==========================================
   暗色模式下的代码高亮颜色
   ========================================== */
:root[color-mode="dark"] {
  /* 基本文本颜色 */
  .article-entry pre,
  .article-entry .highlight,
  .markdown-body .highlight {
    color: #f0f0f0 !important;
  }
  
  /* 注释颜色 */
  pre .comment {
    color: #c0c0c0 !important;
  }
  
  /* 标题颜色 */
  pre .title {
    color: #e0e0e0 !important;
  }
  
  /* 变量和标签颜色 */
  pre .variable,
  pre .attribute,
  pre .tag,
  pre .regexp,
  pre .ruby .constant,
  pre .xml .tag .title,
  pre .xml .pi,
  pre .xml .doctype,
  pre .html .doctype,
  pre .css .id,
  pre .css .class,
  pre .css .pseudo {
    color: #ff8080 !important;
  }
  
  /* 数字和常量颜色 */
  pre .number,
  pre .preprocessor,
  pre .built_in,
  pre .literal,
  pre .params,
  pre .constant {
    color: #ffa060 !important;
  }
  
  /* 类名颜色 */
  pre .class,
  pre .ruby .class .title,
  pre .css .rules .attribute {
    color: #a0ffa0 !important;
  }
  
  /* 字符串颜色 */
  pre .string,
  pre .value,
  pre .inheritance,
  pre .header,
  pre .ruby .symbol,
  pre .xml .cdata {
    color: #a0ffa0 !important;
  }
  
  /* 函数颜色 */
  pre .function,
  pre .python .decorator,
  pre .python .title,
  pre .ruby .function .title,
  pre .ruby .title .keyword,
  pre .perl .sub,
  pre .javascript .title,
  pre .coffeescript .title {
    color: #80c0ff !important;
  }
  
  /* 关键字颜色 */
  pre .keyword,
  pre .javascript .function {
    color: #e0a0e0 !important;
  }
  
 /* 行号颜色 */
 .article-entry .highlight .gutter pre,
 .markdown-body .highlight .gutter pre {
   color: #777 !important;
   background: transparent !important;
   padding-right: 2px !important;  /* 从5px改为2px，与亮色模式保持一致 */
   padding-left: 5px !important;
   width: 3em !important;
   margin-right: 0 !important;
   border-right: none !important;
 }
}

/* ==========================================
   Markdown 样式
   ========================================== */
.markdown-body .highlight {
  color: #333;
  background-color: transparent !important;
  border-radius: 0 !important;
  border: none !important;
}

@font-face {
  font-family: octicons-link;
  src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOX... [truncated]
    format("woff");
}

.markdown-body {
  /*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  */
  font-family: Ubuntu, "Noto Sans SC", "Bitstream Vera Sans", "DejaVu Sans", Tahoma, sans-serif;
  font-size: 16px; /* 恢复默认字体大小 */
}

.markdown-body * {
  box-sizing: border-box;
}

.markdown-body > *:first-child {
  margin-top: 0 !important;
}

.markdown-body > *:last-child {
  margin-bottom: 0 !important;
}

/* -------------------------------------------------------------------------- */
/*                                 Typography                                 */
/* -------------------------------------------------------------------------- */

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.markdown-body h1 { font-size: 2em; padding-bottom: 0.3em; }
.markdown-body h2 { font-size: 1.5em; padding-bottom: 0.3em; }
.markdown-body h3 { font-size: 1.25em; }
.markdown-body h4 { font-size: 1em; }
.markdown-body h5 { font-size: 0.875em; }
.markdown-body h6 { font-size: 0.85em; color: #6a737d; }

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre {
  margin-top: 12px;
  margin-bottom: 12px;
}

.markdown-body hr {
  height: 0.25em;
  padding: 0;
  margin: 24px 0;
  background-color: #e1e4e8;
  border: 0;
}

.markdown-body blockquote {
  padding: 0 1em;
  color: var(--color-block-md-quote);
  border-left: 0.25em solid var(--color-block-md-quote);
  background: var(--bg-block-md-quote);
  border-radius: 3px;
  padding: 15px;
}

.markdown-body blockquote > :first-child { margin-top: 0; }
.markdown-body blockquote > :last-child { margin-bottom: 0; }

/* Links */
.markdown-body a {
  color: var(--color-text-a);
  text-decoration: none;
  border-bottom: 1px solid var(--color-text-a);
  font-size: 1em;
  transition: color 0.3s;
}

.markdown-body a:hover {
  text-decoration: none;
  color: var(--color-text-a-hover);
  border-bottom: 1px solid var(--color-text-a-hover);
}

.markdown-body a:not([href]) {
  color: inherit;
  text-decoration: none;
}

/* Lists */
.markdown-body ul,
.markdown-body ol {
  padding-left: 2em;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body li {
  word-wrap: break-all;
}
.markdown-body li > p {
  margin-top: 16px;
}
.markdown-body li + li {
  margin-top: 0.25em;
}

.markdown-body dl { padding: 0; }
.markdown-body dl dt {
  padding: 0;
  margin-top: 16px;
  font-size: 1em;
  font-style: italic;
  font-weight: 600;
}
.markdown-body dl dd {
  padding: 0 16px;
  margin-bottom: 16px;
}

/* -------------------------------------------------------------------------- */
/*                                    Code                                    */
/* -------------------------------------------------------------------------- */

.markdown-body code,
.markdown-body kbd,
.markdown-body pre {
  font-family: "Source Code Pro", Consolas, "Liberation Mono", Menlo, Monaco, "Courier New", Courier, monospace;
}

.markdown-body code {
  padding: 3px 5px;
  margin: 0 2px;
  font-size: 85%;
  border-radius: 3px;
  background-color: var(--bg-text-md-code);
  color: var(--color-text-md-code);
}

.markdown-body pre {
  margin-top: 0;
  margin-bottom: 0;
  word-wrap: normal;
  padding: 10px;
  overflow: auto;
  font-size: 100%;
  line-height: 1.6;
  background-color: var(--bg-block-md-pre);
  border-radius: 5px;
}

.markdown-body .highlight {
  margin-bottom: 16px;
}

.code-scroll-pane {
  overflow-x: auto;
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}

.code-scroll-pane:hover {
  scrollbar-color: var(--color-scrollbar-thumb) transparent;
}

/* Webkit browsers (Chrome, Safari, Edge) */
.code-scroll-pane::-webkit-scrollbar {
  height: 6px;
}

.code-scroll-pane::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 3px;
}

.code-scroll-pane:hover::-webkit-scrollbar-thumb {
  background-color: var(--color-scrollbar-thumb);
}

.code-scroll-pane::-webkit-scrollbar-track {
  background-color: transparent;
}
.markdown-body .highlight pre {
  margin-bottom: 0;
  word-break: normal;
}

.markdown-body pre > code {
  padding: 0;
  margin: 0;
  font-size: 100%;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0;
  color: var(--color-text-md-pre);
}

.markdown-body kbd {
  display: inline-block;
  padding: 3px 5px;
  font-size: 11px;
  line-height: 10px;
  color: #444d56;
  vertical-align: middle;
  background-color: #fafbfc;
  border: solid 1px #d1d5da;
  border-bottom-color: #c6cbd1;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 #c6cbd1;
}

/* -------------------------------------------------------------------------- */
/*                                   Images                                   */
/* -------------------------------------------------------------------------- */

/* 全局图片样式：统一 80% 宽度，居中，保持比例 */
.markdown-body img {
  width: auto;
  max-width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
  box-sizing: content-box;
  background-color: #fff;
  border-style: none;
}

.markdown-body img[align="right"] { padding-left: 20px; }
.markdown-body img[align="left"] { padding-right: 20px; }

/* Image Captions */
.markdown-body .image-caption {
  text-align: center !important;
  font-size: 1.4rem;
  color: var(--color-text-sub);
  margin: 10px auto 14px !important;
  font-style: italic;
  max-width: 100%;
  display: block !important;
  line-height: 1.5;
  transition: color 0.3s ease;
}

.markdown-body .image-caption:hover {
  color: var(--color-text-a);
}

/* 统一处理包含 .image-caption 的父元素 */
.markdown-body p:has(.image-caption),
.markdown-body li:has(.image-caption),
.markdown-body div:has(.image-caption),
.markdown-body article:has(.image-caption) {
  display: block;
  margin: 0 auto;
}

/* -------------------------------------------------------------------------- */
/*                                Live Photo                                  */
/* -------------------------------------------------------------------------- */

/* 容器样式：表格布局以适应图片宽度，去除所有装饰 */
.markdown-body .live-photo-container {
  display: table !important;
  margin: 20px auto !important;
  width: auto !important;
  max-width: 80% !important;
  
  /* 去除插件自带的阴影、背景和圆角，实现纯净显示 */
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  
  /* 消除幽灵空白，确保视频与图片高度一致 */
  line-height: 0 !important; 
}

/* 内部静态图片：填满容器，忽略全局图片样式 */
.markdown-body .live-photo-container img.live-photo-static {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 8px !important; /* 保持圆角 */
}

/* 视频层：确保圆角一致 */
.markdown-body .live-photo-container video.live-photo-video {
  border-radius: 8px !important;
}

/* Live Badge 修复：恢复圆角和背景样式，防止被 line-height: 0 影响 */
.markdown-body .live-badge {
  border-radius: 4px !important;
  line-height: normal !important;
  background: rgba(0, 0, 0, 0.7) !important;
}


/* -------------------------------------------------------------------------- */
/*                                   Tables                                   */
/* -------------------------------------------------------------------------- */

/* 通用表格样式 */
.markdown-body table {
  display: block;
  width: 100%;
  overflow: auto;
  border-spacing: 0;
  border-collapse: collapse;
}

.markdown-body table th { font-weight: 600; }
.markdown-body table td,
.markdown-body table th {
  padding: 6px 13px;
  border: 2px solid var(--color-border-md-table);
}

.markdown-body table tr {
  background-color: var(--bg-block-md-table);
  border-top: 2px solid var(--color-border-md-table);
}

.markdown-body table tr:nth-child(2n) {
  background-color: var(--bg-block-md-table-2);
}

/* -------------------------------------------------------------------------- */
/*                          Syntax Highlight (Fix)                            */
/* -------------------------------------------------------------------------- */

/* 修复 Hexo 代码块行号挤压问题，覆盖通用表格样式 */
.markdown-body .highlight table {
  display: table !important; /* 恢复表格显示 */
  width: auto !important;
  border: none !important;
  margin: 0 !important;
}

.markdown-body .highlight td,
.markdown-body .highlight th {
  border: none !important;
  padding: 0 !important;
}

.markdown-body .highlight .gutter {
  padding-right: 15px !important; /* 增加行号与代码的间距 */
  text-align: right;
  color: #6a737d;
  user-select: none;
}

.markdown-body .highlight .code {
  padding-left: 5px !important;
  width: 100%;
}


/* -------------------------------------------------------------------------- */
/*                                 Misc & Syntax                              */
/* -------------------------------------------------------------------------- */

.markdown-body .octicon {
  display: inline-block;
  vertical-align: text-top;
  fill: currentColor;
}

.markdown-body .anchor {
  float: left;
  padding-right: 4px;
  margin-left: -20px;
  line-height: 1;
}

.markdown-body .anchor:focus { outline: none; }

/* Header Links */
.markdown-body h1 .headerlink, .markdown-body h2 .headerlink, .markdown-body h3 .headerlink,
.markdown-body h4 .headerlink, .markdown-body h5 .headerlink, .markdown-body h6 .headerlink {
  position: relative;
  text-decoration: none;
}

.markdown-body h1 .headerlink::before, .markdown-body h2 .headerlink::before, .markdown-body h3 .headerlink::before,
.markdown-body h4 .headerlink::before, .markdown-body h5 .headerlink::before, .markdown-body h6 .headerlink::before {
  content: "#";
  position: absolute;
  right: 5px;
  font-weight: bold;
  opacity: 0;
  transition: opacity 0.3s, width 0.3s;
}

.markdown-body h1:hover .headerlink::before, .markdown-body h2:hover .headerlink::before, .markdown-body h3:hover .headerlink::before,
.markdown-body h4:hover .headerlink::before, .markdown-body h5:hover .headerlink::before, .markdown-body h6:hover .headerlink::before {
  opacity: 1;
}

/* Task Lists */
.markdown-body .task-list-item { list-style-type: none; }
.markdown-body .task-list-item + .task-list-item { margin-top: 3px; }
.markdown-body .task-list-item input { margin: 0 0.2em 0.25em -1.6em; vertical-align: middle; }

/* Syntax Highlighting Colors */
.markdown-body .pl-c { color: #6a737d; }
.markdown-body .pl-c1, .markdown-body .pl-s .pl-v { color: #005cc5; }
.markdown-body .pl-e, .markdown-body .pl-en { color: #6f42c1; }
.markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { color: #24292e; }
.markdown-body .pl-ent { color: #22863a; }
.markdown-body .pl-k { color: #d73a49; }
.markdown-body .pl-s, .markdown-body .pl-pds, .markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr, .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra { color: #032f62; }
.markdown-body .pl-v, .markdown-body .pl-smw { color: #e36209; }
.markdown-body .pl-bu { color: #b31d28; }
.markdown-body .pl-ii { color: #fafbfc; background-color: #b31d28; }
.markdown-body .pl-c2 { color: #fafbfc; background-color: #d73a49; }
.markdown-body .pl-c2::before { content: "^M"; }
.markdown-body .pl-sr .pl-cce { font-weight: bold; color: #22863a; }
.markdown-body .pl-ml { color: #735c0f; }
.markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { font-weight: bold; color: #005cc5; }
.markdown-body .pl-mi { font-style: italic; color: #24292e; }
.markdown-body .pl-mb { font-weight: bold; color: #24292e; }
.markdown-body .pl-md { color: #b31d28; background-color: #ffeef0; }
.markdown-body .pl-mi1 { color: #22863a; background-color: #f0fff4; }
.markdown-body .pl-mc { color: #e36209; background-color: #ffebda; }
.markdown-body .pl-mi2 { color: #f6f8fa; background-color: #005cc5; }
.markdown-body .pl-mdr { font-weight: bold; color: #6f42c1; }
.markdown-body .pl-ba { color: #586069; }
.markdown-body .pl-sg { color: #959da5; }
.markdown-body .pl-corl { text-decoration: underline; color: #032f62; }

/* Padding Helpers */
.markdown-body .pl-0 { padding-left: 0 !important; }
.markdown-body .pl-1 { padding-left: 4px !important; }
.markdown-body .pl-2 { padding-left: 8px !important; }
.markdown-body .pl-3 { padding-left: 16px !important; }
.markdown-body .pl-4 { padding-left: 24px !important; }
.markdown-body .pl-5 { padding-left: 32px !important; }
.markdown-body .pl-6 { padding-left: 40px !important; }

/* -------------------------------------------------------------------------- */
/*                                Responsive                                  */
/* -------------------------------------------------------------------------- */

@media (max-width: 768px) {
  .markdown-body .image-caption {
    font-size: 1.3rem;
    margin: 8px 0 12px;
  }
  
  /* 小屏幕时图片样式调整：保持 100% 宽度，还是保持 80%？
     通常移动端需要 100% 以利用有限空间。 */
  .markdown-body img {
    width: 100%;
    max-width: 100%;
  }
  
  /* Live Photo 移动端适配 */
  .markdown-body .live-photo-container {
    max-width: 100% !important;
  }
}

/* valine comments style sheets */

.comments-container {
  color: var(--color-text-a);
}

.comments-container .vwrap {
  color: var(--color-text-a);
}

.vheader input::-webkit-input-placeholder, .vheader input {
  color: var(--color-text-a) !important;
}

.vedit textarea::-webkit-input-placeholder, .vedit textarea {
  color: var(--color-text-a) !important;
}

.vicon {
  fill: var(--color-text-a) !important;
}

.vbtn {
  color: var(--color-text-a) !important;
}

.vcontent p {
  color: var(--color-text-a) !important;
}


#waline-comments {
  --waline-font-size: 16px;
}

/* light scheme */
:root[color-mode="light"] {
  --bg-body: #FFFFFF;
  --color-text-base: #666;
  --color-text-a: #666;
  --color-text-a-hover: #000000;
  --color-text-a-active: #000000;
  --color-text-sub: #8e8e8e;
  --color-text-md-title: #24292e;
  --color-text-md-content: #24292e;
  --color-text-md-code: #e96900;
  --bg-text-md-code: #f8f8f8;
  --bg-block-md-quote: #EEEEEE;
  --color-block-md-quote: #555555;
  --color-divider-md-border: #5858581a;
  --bg-content-search: rgb(255 255 255 / 60%);
  --bg-block-md-pre: #e6e6e6;
  --color-text-md-pre: #555555;
  --bg-block-md-table: #ffffff;
  --bg-block-md-table-2: #f6f8fa;
  --color-border-md-table: #dfe2e5;
  --color-scrollbar-thumb: #ccc;
}

/* dark scheme */
:root[color-mode="dark"] {
  --bg-body: #2E3440;
  --color-text-base: #C1C2C5;
  --color-text-a: #C1C2C5;
  --color-text-a-hover: #FFFFFF;
  --color-text-a-active: #FFFFFF;
  --color-text-sub: #8e8e8e;
  --color-text-md-title: #eceff4;
  --color-text-md-content: #eceff4;
  --color-text-md-code: #e96900;
  --bg-text-md-code: #3b4252;
  --bg-block-md-quote: #3a4252;
  --color-block-md-quote: #abb9cf;
  --color-divider-md-border: #ffffff4f;
  --bg-content-search: rgb(59 66 82 / 60%);
  --bg-block-md-pre: #3a4252;
  --color-text-md-pre: #abb9cf;
  --bg-block-md-table: #2E3440;
  --bg-block-md-table-2: #313744;
  --color-border-md-table: #4c566a;
  --color-scrollbar-thumb: #4c566a;
}

* {
  margin: 0;
  padding: 0;
}

html, body {
  font-size: 10px;
  letter-spacing: 0.01rem;
  background-color: var(--bg-body);
  transition: color 400ms ease-in-out 0s, background-color 400ms ease-in-out 0s;
  font-family: Consolas, "Liberation Mono", Menlo, Monaco, "Source Han Sans CN", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif
}

body.hidden {
  overflow: hidden;
  padding-right: 6px;
}

.markdown-body {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: 2;
  color: #24292e;
  font-size: 1.6rem;
  line-height: 2;
  word-wrap: break-word;
  color: var(--color-text-md-content)
}

@media (max-width: 768px) {
  .markdown-body {
    font-size: 1.4rem;
  }
}

#app {
  position: relative;
  margin: 0 auto;
}

/*控制整个滚动条*/
::-webkit-scrollbar {
    background-color: transparent;
    width: 6px;
    height: 6px;
    background-clip: padding-box;
}

/*滚动条中滑块部分*/
::-webkit-scrollbar-thumb {
  background-color: rgba(144,147,153,.5);
  /* border-radius: 5px; */
  transition: background-color 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #a4a4a4;
}

a {
  color: var(--color-text-a);
  text-decoration: none;
  background-color: transparent;
  transition: color 0.3s;
}

a:hover {
  color: var(--color-text-a-hover);
}

.flex-container {
  min-height: calc(100vh - 290px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: calc(100vw - 100%);
  /*transition: all 0.3s ease;*/
}

.header {
  padding: 50px 0;
}

.container {
  width: 50%;
  margin: 0 auto;
}

.index .post-list,
.friend-index .friend-list,
.archives .post-list,
.tag-index .tag-list,
.about-index .markdown-body {
  padding: 0 40px;
}

.category-index .category-list {
  padding: 0 110px;
}

.btn-catalog {
  display: none;
}

@media (max-width: 888px) {
  .container {
    width: 90%;
  }
  .index .post-list,
  .friend-index .friend-list,
  .archives .post-list,
  .tag-index .tag-list,
  .about-index .markdown-body {
    padding: 0;
  }
  .category-index .category-list {
    padding: 0 40px;
  }
  .btn-catalog {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    height: 24px;
    width: 24px;
    padding: 10px;
    z-index: 999;
    color: var(--color-text-a);
    background-color: rgb(255 255 255 / 50%);
  }
  .btn-catalog i {
    font-size: 24px;
  }
  .post-catalog {
    top: 44px!important;
    bottom: unset!important;
    right: 0!important;
    width: unset!important;
    display: flex;
    justify-content: flex-end;
    padding: 10px!important;
    background-color: #fff;
    box-shadow: -1px 2px 5px 0px #999;
    opacity: .9;
    z-index: 9;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    transition: all 0.2s ease;
  }
  .post-catalog.hidden {
    opacity: 0!important;
    top: 0!important;
    z-index: -1!important;
  }
  .post-catalog .title {
    display: none;
  }
  .post-catalog .catalog-content {
    height: unset!important;
  }
  .back-to-top {
    opacity: 0;
    z-index: -1;
  }
}

@media (max-width: 1200px) and (min-width: 887px) {
  .index .post-list,
  .friend-index .friend-list,
  .archives .post-list,
  .tag-index .tag-list,
  .about-index .markdown-body {
    padding: 0 20px;
  }
}

.post-item {
  display: flex;
  font-size: 1.6rem;
  margin-bottom: 20px;
  align-items: center;
  line-height: 21px;
}

.post-item .time-m-d {
  flex-shrink: 0;
  margin-right: 30px;
  color: var(--color-text-base);
  font-size: 1.5rem;
  line-height: 21px;
  /*font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif;*/
}

.post-item .title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
}

.post-item .title .post-top {
  font-weight: 600;
  font-size: 1.7rem;
  padding-right: 8px;
}

.tag-details .time-m-d, .archives .time-m-d, .category-details .time-m-d {
  margin: 0 30px;
}

.avatar {
  text-align: center;
  padding-bottom: 30px;
  margin-left: calc(100vw - 100%);
}

.avatar img {
  height: 100px;
  width: 100px;
  border-radius: 50%;
}

.avatar .nickname {
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-text-a);
  padding-top: 10px;
}

.content {
  clear: both;
  padding: 0 20px;
}

.content-title {
  font-size: 1.6rem;
  color: var(--color-text-a);
  margin-bottom: 20px;
  /*font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif;*/
}

.navbar {
  margin-left: calc(100vw - 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.navbar ul li {
  position: relative;
  display: inline-block;
  margin: 0 15px;
  font-size: 1.65rem;
  font-weight: bold;
  text-align: center;
}

.navbar ul li a {
  padding-bottom: 2px;
}

.navbar ul li a:hover::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 5px;
  height: 6px;
  opacity: 0.45;
  background-color: gray;
  width: 89%;
}

.navbar ul li.active a {
  color: var(--color-text-a-active);
}

.navbar ul li.active a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 5px;
  height: 6px;
  opacity: 0.55;
  background-color: gray;
  width: 89%;
}

@media (max-width: 888px) {
  .navbar ul li {
    margin: 0 10px;
  }
}

@media (max-width: 390px) {
  .navbar ul li {
    margin: 0 3px;
  }
}

.post-navigation {
  font-size: 1.5rem;
  padding: 20px 90px;
  text-align: right;
  color: var(--color-text-base);
}

.post-navigation i {
  font-weight: 600;
}

.post-navigation .page-num {
  padding: 0 10px;
}

@media (max-width: 888px) {
  .post-navigation {
    padding: 20px 0;
  }
}

@media (max-width: 1200px) and (min-width: 887px) {
  .post-navigation {
    padding: 20px 20px;
  }
}

.tag-list li {
  font-size: 1.6rem;
  display: inline-block;
  padding: 10px;
}

.tag-list li .tag-list-link {
  position: relative;
  padding: 0 2px;
  border-radius: 2px;
}

/*.tag-list li .tag-list-link:hover {
  color: #fff;
}*/

/*.tag-list li .tag-list-link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2px;
  right: -2px;
  transition: transform 0.1s linear;
  background: gray;
  opacity: 0.8;
  transform: scaleX(0);
  transform-origin: right;
  z-index: -1;
  border-radius: 2px;
}

.tag-list li .tag-list-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}*/

.tag-list-count, .category-list-count {
  padding: 0 5px;
  color: #aaa;
  font-size: 1.2rem;
  vertical-align: top;
}

.category-list .category-list-item {
  font-size: 1.6rem;
  padding: 5px 0;
}

.category-list .category-list-item::marker {
  content: "• ";
  color: var(--color-text-base)
}

.category-list .category-list-item .category-list-child {
  padding-left: 30px;
}

.friend-list-item {
  font-size: 1.6rem;
  padding: 10px;
}

.friend-list-item .nickname {
  padding-right: 10px;
  color: var(--color-text-a)
}

.post-details .post-title {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--color-text-a);
  padding-bottom: 10px;
}

.post-details .post-attach {
  font-size: 1.4rem;
  text-align: center;
  padding-bottom: 30px;
  color: var(--color-text-a);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.post-content {
  padding-bottom: 1rem;
}

.prev-or-next {
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
  padding: 1rem 0;
  margin: 3rem 0;
  border-top: 1px solid var(--color-divider-md-border);
}

.prev-or-next .post-foot-next, .prev-or-next .post-foot-prev {
  white-space: nowrap;
}

.prev-or-next .post-attach {
  opacity: 0.9;
  font-size: 1.2rem;
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.post-attach .post-pubtime, .post-attach .post-tags, .post-attach .post-categories {
  padding: 0 10px;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .time-m-d {
    margin-right: 15px;
  }
  .tag-details .time-m-d, .archives .time-m-d {
    margin: 0 15px;
  }
}

.post-catalog {
  position: absolute;
  top: calc(290px + 88px + 30px);
  right: 50px;
  width: calc(20% - 50px);
  font-size: 1.4rem;
  padding-left: 10px;
}

.post-catalog .title {
  color: var(--color-text-base);
  font-size: 1.65rem;
  font-weight: bold;
  padding: 5px 0;
}

.catalog-content {
  overflow: auto;
}

.post-catalog .toc-child {
  padding-left: 10px;
}

.post-catalog li {
  list-style-type: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 2;
}

.toc-link {
  position: relative;
  padding: 3px 5px;
  opacity: 0.8;
  border-left: 2px solid transparent;
}

.toc-link.active {
  color: var(--color-text-a-active);
  opacity: 1;
}

.toc-link:hover::after {
  content: "";
  position: absolute;
  left: 5px;
  bottom: 2px;
  width: 6px;
  height: 69%;
  background-color: gray;
  opacity: 0.45;
}

.toc-link.active::after {
  content: "";
  position: absolute;
  left: 5px;
  bottom: 2px;
  width: 6px;
  height: 69%;
  background-color: gray;
  opacity: 0.55;
}

.search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0,0,0,0.3);
  transition: background-color 0.2s ease;
  visibility: visible;
  padding-right: 6px;
  backdrop-filter: blur(8px);
}

.search-overlay.hidden {
  background-color: transparent;
  visibility: hidden;
  transition: visibility 0s linear 0.2s, background-color 0.2s;
  padding-right: 0;
}

.search-overlay.hidden .search-content {
  position: relative;
  top: 15%;
  opacity: 0;
}

.search-content {
  position: relative;
  top: 18%;
  opacity: 1;
  background-color: transparent;
  z-index: 999;
  border-radius: 10px;
  margin: 0 2rem;
  transition: top 0.2s ease, opacity 0.2s ease;
  outline: 0;
}

@media (min-width: 768px) {
  .search-content {
    width: 520px;
    margin: 0 auto;
  }
}

.search-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 10px;
  background-color: var(--bg-content-search);
  padding: 0 8px;
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
}

.search-input {
  width: 100%;
  border: 0;
  outline: 0;
  background-color: transparent;
  padding: 0 10px;
  font-size: 1.6rem;
  height: 38px;
  line-height: 38px;
  color: var(--color-text-a);
}

.search-result {
  max-height: 350px;
  overflow: auto;
  background-color: var(--bg-content-search);
  border-radius: 10px;
  margin-top: 8px;
}

.search-result ul {
  padding: 10px;
}

.search-result-list li {
  list-style-type: none;
  padding: 10px;
  font-size: 1.6rem;
  border-bottom: 1px dashed var(--color-divider-md-border);
}

.search-result-list li:nth-last-of-type(1) {
  border-bottom: none;
}

.search-result-abstract {
  padding: 10px 10px 0 10px;
  font-size: 1.2rem;
  color: var(--color-text-sub);
  word-break: break-all;
}

.search-keyword {
  color: var(--color-text-md-code);
}

.local-search-empty {
  font-size: 1.6rem;
  color: var(--color-text-a);
}

.tools-bar {
  position: fixed;
  right: 2.2rem;
  bottom: 2.2rem;
}

.tools-bar .tools-bar-item {
  margin: 10px 0;
  font-weight: bold;
}

.tools-bar .back-to-top.hidden {
  display: none;
}

.share-icon {
  position: relative
}

.share-content {
  position: absolute;
  top: 0;
  right: 30px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  transition: all 0.3s;
  z-index: 2;
}

.share-content.hidden {
  opacity: 0;
  z-index: -1;
  right: -10px;
}

.share-content .share-item {
  padding: 0 10px;
}

.pin-copy {
  position: relative;
}

.pin-copy:hover::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -0.8rem;
  transform: translateX(-50%);
  border: 0.5rem solid rgba(0, 0, 0, 70%);
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
}

.pin-copy:hover::after {
  content: attr(data-text);
  position: absolute;
  left: 50%;
  top: -3rem;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 70%);
  color: #ffffff;
  border-radius: 3px;
  padding: 6px;
  font-size: 1rem;
  line-height: 1rem;
  white-space: nowrap;
}

.footer {
  padding-top: 30px;
  font-size: 1.2rem;
  color: #aaa;
}
.footer .social {
  padding-bottom: 5px;
}
.footer .social ul {
  text-align: center;
}
.footer .social ul li {
  display: inline-block;
  padding: 0 5px;
}
.footer .footer-more {
  padding-bottom: 5px;
  text-align: center;
}
.footer .footer-views {
  padding-bottom: 5px;
  text-align: center;
}
.mt-1 {
  margin-top: 1px;
}
.mr-1 {
  margin-right: 1px;
}
.mb-1 {
  margin-bottom: 1px;
}
.ml-1 {
  margin-left: 1px;
}
.mt-2 {
  margin-top: 2px;
}
.mr-2 {
  margin-right: 2px;
}
.mb-2 {
  margin-bottom: 2px;
}
.ml-2 {
  margin-left: 2px;
}
.mt-3 {
  margin-top: 3px;
}
.mr-3 {
  margin-right: 3px;
}
.mb-3 {
  margin-bottom: 3px;
}
.ml-3 {
  margin-left: 3px;
}
.mt-4 {
  margin-top: 4px;
}
.mr-4 {
  margin-right: 4px;
}
.mb-4 {
  margin-bottom: 4px;
}
.ml-4 {
  margin-left: 4px;
}
.mt-5 {
  margin-top: 5px;
}
.mr-5 {
  margin-right: 5px;
}
.mb-5 {
  margin-bottom: 5px;
}
.ml-5 {
  margin-left: 5px;
}
.mt-6 {
  margin-top: 6px;
}
.mr-6 {
  margin-right: 6px;
}
.mb-6 {
  margin-bottom: 6px;
}
.ml-6 {
  margin-left: 6px;
}
.mt-7 {
  margin-top: 7px;
}
.mr-7 {
  margin-right: 7px;
}
.mb-7 {
  margin-bottom: 7px;
}
.ml-7 {
  margin-left: 7px;
}
.mt-8 {
  margin-top: 8px;
}
.mr-8 {
  margin-right: 8px;
}
.mb-8 {
  margin-bottom: 8px;
}
.ml-8 {
  margin-left: 8px;
}
.mt-9 {
  margin-top: 9px;
}
.mr-9 {
  margin-right: 9px;
}
.mb-9 {
  margin-bottom: 9px;
}
.ml-9 {
  margin-left: 9px;
}
.mt-10 {
  margin-top: 10px;
}
.mr-10 {
  margin-right: 10px;
}
.mb-10 {
  margin-bottom: 10px;
}
.ml-10 {
  margin-left: 10px;
}
.mt-11 {
  margin-top: 11px;
}
.mr-11 {
  margin-right: 11px;
}
.mb-11 {
  margin-bottom: 11px;
}
.ml-11 {
  margin-left: 11px;
}
.mt-12 {
  margin-top: 12px;
}
.mr-12 {
  margin-right: 12px;
}
.mb-12 {
  margin-bottom: 12px;
}
.ml-12 {
  margin-left: 12px;
}
.mt-13 {
  margin-top: 13px;
}
.mr-13 {
  margin-right: 13px;
}
.mb-13 {
  margin-bottom: 13px;
}
.ml-13 {
  margin-left: 13px;
}
.mt-14 {
  margin-top: 14px;
}
.mr-14 {
  margin-right: 14px;
}
.mb-14 {
  margin-bottom: 14px;
}
.ml-14 {
  margin-left: 14px;
}
.mt-15 {
  margin-top: 15px;
}
.mr-15 {
  margin-right: 15px;
}
.mb-15 {
  margin-bottom: 15px;
}
.ml-15 {
  margin-left: 15px;
}
.mt-16 {
  margin-top: 16px;
}
.mr-16 {
  margin-right: 16px;
}
.mb-16 {
  margin-bottom: 16px;
}
.ml-16 {
  margin-left: 16px;
}
.mt-17 {
  margin-top: 17px;
}
.mr-17 {
  margin-right: 17px;
}
.mb-17 {
  margin-bottom: 17px;
}
.ml-17 {
  margin-left: 17px;
}
.mt-18 {
  margin-top: 18px;
}
.mr-18 {
  margin-right: 18px;
}
.mb-18 {
  margin-bottom: 18px;
}
.ml-18 {
  margin-left: 18px;
}
.mt-19 {
  margin-top: 19px;
}
.mr-19 {
  margin-right: 19px;
}
.mb-19 {
  margin-bottom: 19px;
}
.ml-19 {
  margin-left: 19px;
}
.mt-20 {
  margin-top: 20px;
}
.mr-20 {
  margin-right: 20px;
}
.mb-20 {
  margin-bottom: 20px;
}
.ml-20 {
  margin-left: 20px;
}
.mt-21 {
  margin-top: 21px;
}
.mr-21 {
  margin-right: 21px;
}
.mb-21 {
  margin-bottom: 21px;
}
.ml-21 {
  margin-left: 21px;
}
.mt-22 {
  margin-top: 22px;
}
.mr-22 {
  margin-right: 22px;
}
.mb-22 {
  margin-bottom: 22px;
}
.ml-22 {
  margin-left: 22px;
}
.mt-23 {
  margin-top: 23px;
}
.mr-23 {
  margin-right: 23px;
}
.mb-23 {
  margin-bottom: 23px;
}
.ml-23 {
  margin-left: 23px;
}
.mt-24 {
  margin-top: 24px;
}
.mr-24 {
  margin-right: 24px;
}
.mb-24 {
  margin-bottom: 24px;
}
.ml-24 {
  margin-left: 24px;
}
.mt-25 {
  margin-top: 25px;
}
.mr-25 {
  margin-right: 25px;
}
.mb-25 {
  margin-bottom: 25px;
}
.ml-25 {
  margin-left: 25px;
}
.mt-26 {
  margin-top: 26px;
}
.mr-26 {
  margin-right: 26px;
}
.mb-26 {
  margin-bottom: 26px;
}
.ml-26 {
  margin-left: 26px;
}
.mt-27 {
  margin-top: 27px;
}
.mr-27 {
  margin-right: 27px;
}
.mb-27 {
  margin-bottom: 27px;
}
.ml-27 {
  margin-left: 27px;
}
.mt-28 {
  margin-top: 28px;
}
.mr-28 {
  margin-right: 28px;
}
.mb-28 {
  margin-bottom: 28px;
}
.ml-28 {
  margin-left: 28px;
}
.mt-29 {
  margin-top: 29px;
}
.mr-29 {
  margin-right: 29px;
}
.mb-29 {
  margin-bottom: 29px;
}
.ml-29 {
  margin-left: 29px;
}
.mt-30 {
  margin-top: 30px;
}
.mr-30 {
  margin-right: 30px;
}
.mb-30 {
  margin-bottom: 30px;
}
.ml-30 {
  margin-left: 30px;
}
.v[data-class="v"] .vwrap .vheader .vinput:focus {
  border-bottom-color: #004d99 !important;
}
.v[data-class="v"] .vbtn:active,
.v[data-class="v"] .vbtn:hover {
  border-color: #004d99 !important;
}
.v[data-class="v"] .vcards .vcard .vh .vmeta .vat {
  color: #004d99 !important;
}
.v[data-class="v"] a {
  color: #004d99 !important;
}
.fancybox-progress {
  background: #004d99 !important;
}
.markdown-body code {
  color: #004d99;
}
.markdown-body a:hover {
  border-bottom: 2px solid #004d99;
}
.markdown-body blockquote {
  border-color: #004d99;
}
.toc-link:hover::after {
  background-color: #004d99;
}
.toc-link.active::after {
  background-color: #004d99;
}
.navbar ul li a:hover::after {
  background-color: #004d99;
}
.navbar ul li.active a::after {
  background-color: #004d99;
}
.markdown-body h1 .headerlink::before,
.markdown-body h2 .headerlink::before,
.markdown-body h3 .headerlink::before,
.markdown-body h4 .headerlink::before,
.markdown-body h5 .headerlink::before,
.markdown-body h6 .headerlink::before {
  color: #004d99;
}
/* 强制图片标题居中 */
.image-caption,
.live-caption {
  display: block !important;
  text-align: center !important;
  margin: 10px auto !important;
  width: 100% !important;
}
/* Code Copy Button Styling */
figure.highlight {
  position: relative !important;
}
.pin-copy {
  position: absolute !important;
  top: 6px !important;
  right: 10px !important;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 20;
  background: transparent;
}
figure.highlight:hover .pin-copy {
  opacity: 1;
}
/* Tooltip Position Adjustment */
.pin-copy:hover::after {
  top: auto !important;
  bottom: 100% !important;
  margin-bottom: 5px;
}
.pin-copy:hover::before {
  top: auto !important;
  bottom: 100% !important;
  margin-bottom: -5px;
}
