:root{--relay:#18d6bd;--relay-hover:#0aa895;--relay-dark:#0b2238;--relay-text:#233145}.navbar-brand strong,.navbar-brand{font-weight:800;letter-spacing:.2px}.navbar .nav-link{font-weight:650}.navbar .nav-link:hover{color:var(--relay)!important}.markdown-body a{color:#0bbfa9}.banner .h2{font-weight:900;letter-spacing:.02em}.relaycove-hero-copy{margin-top:14px;color:rgba(255,255,255,.88);font-size:17px;text-shadow:0 2px 14px rgba(0,0,0,.35)}.relaycove-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.relaycove-hero-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.45);color:#fff!important;text-decoration:none!important;background:rgba(255,255,255,.10);backdrop-filter:blur(8px);font-weight:750;transition:.18s ease}.relaycove-hero-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.70)}.relaycove-hero-btn.primary{background:linear-gradient(135deg,#20e5c0,#53f09a);border-color:transparent;color:#062018!important}.relaycove-hero-btn.primary:hover{filter:brightness(1.04)}.relaycove-hero-btn.ghost{background:rgba(10,25,45,.38)}.markdown-body img{border-radius:14px}.index-card{border-radius:16px!important;overflow:hidden;transition:.18s ease}.index-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(31,45,61,.14)!important}.index-card .index-header,.index-card .post-title,.index-card .post-title a,.index-card .index-excerpt,.index-card .post-meta{background:transparent!important}.index-card .index-header{padding:0!important;margin-bottom:10px!important}.index-card .index-header a{display:inline!important;background:transparent!important;color:#243247!important;font-weight:850!important;text-shadow:none!important;box-shadow:none!important;border:0!important}.index-card .index-header a:hover{color:var(--relay-hover)!important}.index-card .index-excerpt,.index-card .index-excerpt div,.index-card .index-excerpt p{color:#607086!important}.index-card .post-meta,.index-card .post-meta a{color:#718096!important}.post-content .notice{padding:16px 18px;border-radius:14px;background:#f8fbff;border-left:4px solid var(--relay)}.timeline{display:grid;gap:12px;margin:18px 0}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px;border:1px solid #e8edf3;border-radius:14px;background:#fff}.timeline-item b{color:#d88a00}.shot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shot{border:1px solid #e8edf3;border-radius:16px;overflow:hidden;background:#fff}.caption{padding:10px 12px;color:#6b7280;font-size:13px}.author-box.relaycove-author-box{display:flex;gap:20px;align-items:flex-start;margin-top:28px;padding:20px;border:1px solid #e8edf3;border-radius:16px;background:#fff}.relaycove-author-avatar{width:96px!important;height:96px!important;object-fit:cover;border-radius:50%!important;flex:0 0 auto;background:#fff}.relaycove-qr-link{display:inline-block;line-height:0}.relaycove-wechat-qr{width:180px!important;max-width:100%;margin-top:10px;border-radius:12px!important;border:1px solid #edf1f5;transition:.18s ease;cursor:zoom-in}.relaycove-wechat-qr:hover{transform:scale(1.02);box-shadow:0 12px 34px rgba(31,45,61,.16)}.small-tip{font-size:13px;margin-top:8px}.author-meta h3{margin:0 0 8px;color:#243247}@media(max-width:760px){.navbar .navbar-nav .nav-link{padding:.55rem 0}.relaycove-hero-copy{font-size:15px}.relaycove-hero-actions{gap:9px;margin-top:18px}.relaycove-hero-btn{padding:9px 14px}.timeline-item,.shot-grid{grid-template-columns:1fr}.author-box.relaycove-author-box{flex-direction:column}.relaycove-author-avatar{width:88px!important;height:88px!important}}

/* RelayCove download buttons */
.relay-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0 22px;
}
.relay-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 10px;
  background: linear-gradient(135deg, #18e0b5, #42f59b);
  color: #07151f !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(24, 224, 181, .22);
}
.relay-download.secondary {
  background: #edf7f5;
  color: #0f766e !important;
  border: 1px solid rgba(15, 118, 110, .18);
  box-shadow: none;
}
.relay-download:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
}

/* ============================================================
   RelayCove Blog — 代码块增强样式
   叠加在 Hexo Fluid 主题现有样式之上
   目标：深色背景、圆角、行距、横向滚动
   ============================================================ */

/* --- 基础代码块容器 --- */
article figure.highlight,
article pre {
  background: #1e1e2e;
  border-radius: 8px;
  margin: 1.25em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 代码行容器 */
article figure.highlight table,
article figure.highlight .code {
  width: 100%;
}

/* 行高与内边距 */
article figure.highlight .gutter,
article figure.highlight .code pre,
article pre,
article pre code {
  line-height: 1.65;
  font-size: 0.9em;
  padding: 0.9em 1.1em;
}

/* --- 行号区域 --- */
article figure.highlight .gutter {
  background: rgba(0, 0, 0, 0.2);
  color: #6c7086;
  user-select: none;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  text-align: right;
  padding-right: 0.75em;
  min-width: 2.5em;
}

/* --- 内联代码 --- */
article code {
  background: rgba(175, 175, 195, 0.15);
  border-radius: 4px;
  padding: 0.15em 0.45em;
  font-size: 0.88em;
  color: #e0a060;
  word-break: break-word;
}

/* 代码块内的 code 不要重复背景 */
article figure.highlight code,
article pre code {
  background: transparent;
  padding: 0;
  color: inherit;
  border-radius: 0;
}

/* --- 横向滚动条美化 --- */
article figure.highlight::-webkit-scrollbar,
article pre::-webkit-scrollbar {
  height: 6px;
}
article figure.highlight::-webkit-scrollbar-track,
article pre::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 0 0 8px 8px;
}
article figure.highlight::-webkit-scrollbar-thumb,
article pre::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}
article figure.highlight::-webkit-scrollbar-thumb:hover,
article pre::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}

/* --- 代码块内文本颜色（覆盖 highlight.js 默认） --- */
article figure.highlight .code pre,
article pre code,
article .highlight .code,
article .highlight pre {
  color: #cdd6f4;
  font-family: "Cascadia Code", "Fira Code", "JetBrains Mono", "Source Code Pro", Consolas, monospace;
}

/* --- 语言标签（如果有） --- */
article figure.highlight .code .hljs::before {
  content: '';
}

/* --- 行内代码在深色背景下的微调 --- */
article pre code {
  display: block;
}

/* --- 移动端缩小 padding --- */
@media (max-width: 576px) {
  article figure.highlight .gutter,
  article figure.highlight .code pre,
  article pre,
  article pre code {
    padding: 0.65em 0.75em;
    font-size: 0.82em;
  }
}

/* ============================================================
   RelayCove Blog — 代码块增强样式 v2
   增强对比度，覆盖 highlight.js 默认浅色
   ============================================================ */

/* --- 基础代码块容器 --- */
article figure.highlight,
article .highlight,
article pre {
  background: #1e1e2e !important;
  border-radius: 8px !important;
  margin: 1.25em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 强制覆盖 highlight.js 所有文字颜色 */
article figure.highlight .code pre,
article figure.highlight .code pre *,
article figure.highlight .code pre code,
article figure.highlight td.code pre,
article .highlight pre,
article .highlight pre code,
article .highlight code,
article pre,
article pre code {
  color: #cdd6f4 !important;
  background: #1e1e2e !important;
  line-height: 1.7;
  font-size: 0.9em;
  font-family: "Cascadia Code", "Fira Code", "JetBrains Mono", "Source Code Pro", Consolas, monospace;
}

/* --- 行号区域 --- */
article figure.highlight .gutter {
  background: rgba(0, 0, 0, 0.25) !important;
  color: #6c7086 !important;
  user-select: none;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  text-align: right;
  padding-right: 0.75em;
  padding-top: 0.9em;
  padding-bottom: 0.9em;
  min-width: 2.5em;
}

article figure.highlight .gutter pre {
  color: #6c7086 !important;
  background: rgba(0, 0, 0, 0.25) !important;
  padding: 0;
}

/* --- 行号里的 line 颜色 --- */
article figure.highlight .gutter .line {
  color: #6c7086 !important;
}

/* --- 代码区域 padding --- */
article figure.highlight td.code {
  padding: 0.9em 1.1em;
}

article figure.highlight td.code pre {
  padding: 0 !important;
}

/* --- 内联代码 --- */
article :not(pre):not(.highlight) > code {
  background: rgba(205, 214, 244, 0.12);
  border-radius: 4px;
  padding: 0.15em 0.45em;
  font-size: 0.88em;
  color: #e0a060;
  word-break: break-word;
}

/* --- 横向滚动条美化 --- */
article figure.highlight::-webkit-scrollbar,
article pre::-webkit-scrollbar {
  height: 6px;
}
article figure.highlight::-webkit-scrollbar-track,
article pre::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 0 0 8px 8px;
}
article figure.highlight::-webkit-scrollbar-thumb,
article pre::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}
article figure.highlight::-webkit-scrollbar-thumb:hover,
article pre::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}

/* --- 移动端缩小 padding --- */
@media (max-width: 576px) {
  article figure.highlight td.code {
    padding: 0.65em 0.75em;
  }
  article figure.highlight .code pre,
  article pre,
  article pre code {
    font-size: 0.82em;
  }
}
