/* ─────────────────────────────────────────────────────────────
 * 终端风结构样式（配色变量在 theme.css，由站点配置生成）
 *
 * 配色层次（避免满页同色）：
 *   标题 …… 终端绿（--title）
 *   正文 …… 柔和中灰（--body），对比度压低，长时间看不刺眼
 *   链接 …… 浅蓝（--link），与标题绿区分
 *   元信息 …… 暗灰（--dim / --soft）
 * 终端元素：~$ 提示符 / 光标块 / 方括号导航 / 虚线分隔 / 路径面包屑 / -- EOF --
 * 原则：等宽（中英文）、单列、无卡片、无阴影、无动画
 * ───────────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg, #0d1117);
  color: var(--body, #9ca7b4);
  font: 17px/1.9 "Cascadia Mono", Consolas, "NSimSun", "Microsoft YaHei", monospace;
  -webkit-font-smoothing: antialiased;
}
.wrap { max-width: 900px; margin: 0 auto; padding: 0 28px; }
a { color: var(--link, #79c0ff); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
time { font-variant-numeric: tabular-nums; }
::selection { background: var(--title, #65d97c); color: var(--bg, #0d1117); }

/* ── 页头：~$ 站名 ▌ [导航] ── */
.site-head { border-bottom: 1px dashed var(--line, #1f2530); }
.site-head .wrap {
  display: flex; align-items: baseline; gap: 12px;
  padding: 20px 28px 18px; flex-wrap: wrap;
}
/* 页头提示符 ~$（绿） */
.ps1 { color: var(--title, #65d97c); font-weight: 600; }
.brand { margin: 0; font-size: 17px; font-weight: 600; letter-spacing: .2px; }
/* 首页站名在 h1 里（.brand a），其他页站名本身就是 <a class="brand">，两种情况都要白 */
.brand, .brand a { color: var(--ink, #d5dde6); }
.brand a:hover, a.brand:hover { color: var(--title, #65d97c); text-decoration: none; }
.cursor {
  color: var(--title, #65d97c); font-size: 15px; line-height: 1;
  margin-left: -6px; position: relative; top: 1px;
}
.site-head nav { margin-left: auto; display: flex; gap: 14px; font-size: 15px; flex-wrap: wrap; }
.site-head nav a { color: var(--title, #65d97c); }
.site-head nav a:hover { color: var(--ink, #d5dde6); text-decoration: none; }
.site-head nav a.on {
  color: var(--title, #65d97c);
  text-decoration: underline; text-underline-offset: 5px;
}

/* ── 路径面包屑 ── */
.path { color: var(--dim, #5f6b78); font-size: 14px; margin: 26px 0 10px; }
.path::before { content: "$ cd "; }

/* ── 首页引言 ── */
.intro { color: var(--soft, #7f8b99); font-size: 16px; margin: 0 0 6px; }

/* ── 年份 + 文章列表 ── */
.year { color: var(--dim, #5f6b78); font-size: 14px; letter-spacing: 1px; margin: 30px 0 4px; }
.entries { list-style: none; margin: 0; padding: 0; }
.entry { padding: 16px 0 18px; border-bottom: 1px dashed var(--line, #1f2530); }
.entry .meta { font-size: 14px; color: var(--dim, #5f6b78); margin-bottom: 4px; }
.entry .meta .cat { color: var(--ink, #d5dde6); }
.entry h2 { margin: 0 0 6px; font-size: 18px; font-weight: 600; line-height: 1.65; }
/* 标题本来就是绿的；鼠标放上去变亮白，不再变绿 */
.entry h2 a { color: var(--title, #65d97c); }
.entry h2 a::before { content: "> "; color: var(--dim, #5f6b78); }
.entry h2 a:hover { color: var(--ink, #d5dde6); text-decoration: none; }
.entry p { margin: 0; color: var(--body, #9ca7b4); font-size: 15px; line-height: 1.8; }
.entry .tags { margin-top: 7px; font-size: 14px; color: var(--dim, #5f6b78); }
.empty { color: var(--dim, #5f6b78); font-size: 15px; padding: 28px 0; }

/* ── 分页 ── */
.pager { display: flex; gap: 20px; align-items: center; margin: 28px 0 0; font-size: 15px; color: var(--dim, #5f6b78); }
.pager a { color: var(--title, #65d97c); }

/* ── 页面标题 ── */
.page-title { font-size: 22px; font-weight: 600; margin: 0 0 8px; color: var(--title, #65d97c); }

/* ── 文章页 ── */
.post { max-width: 780px; }
.post h1 { font-size: 26px; line-height: 1.55; font-weight: 600; margin: 26px 0 12px; color: var(--title, #65d97c); }
.pmeta {
  font-size: 14px; color: var(--dim, #5f6b78); padding-bottom: 16px;
  border-bottom: 1px dashed var(--line, #1f2530); margin-bottom: 24px;
}
/* 文章页 meta 里的分类不是超链接，跟正文一样白 */
.pmeta a { color: var(--ink, #d5dde6); }
.post h2 { font-size: 19px; font-weight: 600; margin: 32px 0 10px; color: var(--ink, #d5dde6); }
.post h2::before { content: "## "; color: var(--dim, #5f6b78); }
.post p { margin: 0 0 18px; color: var(--body, #9ca7b4); }
.post ul, .post ol { color: var(--body, #9ca7b4); padding-left: 24px; margin: 0 0 18px; }
.post li { margin: 4px 0; }
.post img { margin: 8px 0; }

pre {
  background: #141a22; border: 1px dashed var(--line, #1f2530);
  padding: 16px 18px; overflow: auto; margin: 0 0 20px;
  font-size: 15px; line-height: 1.75;
}
pre code { background: none; padding: 0; font-size: inherit; color: var(--ink, #d5dde6); }
code { background: #18202a; padding: 1px 6px; font-size: .94em; color: var(--ink, #d5dde6); }
blockquote {
  margin: 0 0 20px; padding: 4px 0 4px 18px;
  border-left: 2px solid #2b3442; color: var(--soft, #7f8b99);
}
blockquote p { margin: 0; color: inherit; }
table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
th, td { border: 1px solid var(--line, #1f2530); padding: 8px 12px; text-align: left; }
th { color: var(--ink, #d5dde6); }
.backlink {
  margin: 44px 0 0; padding-top: 16px;
  border-top: 1px dashed var(--line, #1f2530); font-size: 15px;
}
.backlink a { color: var(--title, #65d97c); }

/* ── 关于页 ── */
.about-body { max-width: 780px; }
.about-body p { color: var(--body, #9ca7b4); margin: 0 0 18px; }
.about-body h1 { margin: 26px 0 18px; }

/* ── 页脚：-- EOF -- ── */
.site-foot {
  margin-top: 52px; border-top: 1px dashed var(--line, #1f2530);
  color: var(--dim, #5f6b78); font-size: 14px;
}
.site-foot .wrap { padding: 18px 28px 42px; }
.site-foot .eof { color: var(--soft, #7f8b99); letter-spacing: 1px; }

@media (max-width: 700px) {
  .wrap { padding: 0 18px; }
  .site-head .wrap { gap: 8px; padding: 16px 18px 14px; }
  .site-head nav { margin-left: 0; width: 100%; gap: 12px; }
  body { font-size: 16px; }
  .post h1 { font-size: 22px; }
  .entry h2 { font-size: 17px; }
}