/* ============================================================================
   add light 加点光 · 品牌博客样式
   ----------------------------------------------------------------------------
   设计约束（见 docs/add light 品牌博客 PRD.md）：
     · 色板**不在本文件里定义**：由 /assets/vi/palette.css 提供（品牌色的唯一事实源）
     · 不引任何第三方 CSS / JS / 字体；无 JS 亦可完整阅读（F-BG-34）
     · 语义化排版，正文以可读性优先（行长 ≤ 约 34em）
   ========================================================================== */


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ── 筹备期提示条（与主站一致，正式上线后同步删除）── */
.notice{
  background:var(--accent-soft);border-bottom:1px solid var(--line);
  color:var(--brown);font-size:13px;text-align:center;padding:8px 16px;letter-spacing:.2px;
}
.notice b{font-weight:600}

/* ── 顶栏（与主站同构）── */
header{
  position:sticky;top:0;z-index:50;background:var(--bg-veil);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{display:flex;align-items:baseline;gap:9px;font-weight:600;letter-spacing:.3px}
.brand .en{font-size:19px}
.brand .cn{font-size:13px;color:var(--ink3);font-weight:400}
.navlinks{display:flex;gap:26px;font-size:14px;color:var(--ink2)}
.navlinks a:hover{color:var(--accent-text)}
.navlinks a[aria-current="page"]{color:var(--accent-text);font-weight:600}
.navcta{
  font-size:14px;padding:8px 16px;border:1px solid var(--ink);border-radius:999px;
  transition:.2s;white-space:nowrap;
}
.navcta:hover{background:var(--ink);color:var(--on-accent)}
@media(max-width:760px){.navlinks{display:none}}

/* ── 面包屑 ── */
.crumbs{padding:22px 0 0;font-size:13.5px;color:var(--ink3)}
.crumbs a:hover{color:var(--accent-text)}
.crumbs .sep{padding:0 7px;color:var(--ink3);opacity:.6}

/* ── 博客首页首屏 ── */
.bloghero{padding:52px 0 34px}
.bloghero .kicker{
  display:inline-block;font-size:12.5px;letter-spacing:1.6px;color:var(--accent-text);
  border:1px solid var(--accent);border-radius:999px;padding:4px 13px;margin-bottom:22px;
}
.bloghero h1{
  margin:0 0 18px;font-size:clamp(26px,4.2vw,38px);line-height:1.32;
  font-weight:600;letter-spacing:-.3px;max-width:22em;
}
.bloghero .lead{margin:0;font-size:16.5px;color:var(--ink2);max-width:var(--readw)}

section{padding:46px 0}
.sechead{margin-bottom:28px}
.sechead .no{font-size:12.5px;letter-spacing:1.6px;color:var(--ink3);margin-bottom:10px}
.sechead h2{margin:0 0 8px;font-size:clamp(20px,3vw,25px);font-weight:600;letter-spacing:-.2px}
.sechead p{margin:0;color:var(--ink2);max-width:38em;font-size:15px}

/* ── 幕导航卡 ── */
.acts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:820px){.acts{grid-template-columns:1fr}}
.act{
  display:block;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 24px 22px;transition:.2s;
}
.act:hover{border-color:var(--accent);transform:translateY(-1px)}
.act .n{font-size:12.5px;letter-spacing:1.4px;color:var(--ink3);margin-bottom:9px}
.act h3{margin:0 0 9px;font-size:18px;font-weight:600}
.act p{margin:0 0 14px;color:var(--ink2);font-size:14.5px}
.act .meta{font-size:13px;color:var(--accent-text)}
.act.soon{opacity:.62}
.act.soon:hover{border-color:var(--line);transform:none}

/* ── 文章列表 ── */
.list{display:grid;gap:0;border-top:1px solid var(--line)}
.item{
  display:block;padding:22px 4px;border-bottom:1px solid var(--line);transition:.2s;
}
.item:hover{padding-left:10px}
.item .meta{font-size:12.5px;color:var(--ink3);letter-spacing:.3px;margin-bottom:7px}
.item .meta .act-tag{color:var(--accent-text)}
.item h3{margin:0 0 7px;font-size:18.5px;font-weight:600;letter-spacing:-.1px}
.item p{margin:0;color:var(--ink2);font-size:15px;max-width:var(--readw)}

/* ── 文章页 ── */
.posthead{padding:30px 0 26px;border-bottom:1px solid var(--line);margin-bottom:36px}
.posthead .actbadge{
  display:inline-block;font-size:12.5px;letter-spacing:1.2px;color:var(--accent-text);
  background:var(--accent-soft);border-radius:6px;padding:3px 9px;margin-bottom:16px;
}
.posthead h1{
  margin:0 0 16px;font-size:clamp(25px,4.2vw,36px);line-height:1.34;
  font-weight:600;letter-spacing:-.4px;max-width:24em;
}
.posthead .stamp{font-size:13.5px;color:var(--ink3)}
.posthead .stamp time{margin-right:14px}

.post{max-width:var(--readw)}
.post p{margin:0 0 1.25em}
.post h2{
  margin:2.2em 0 .75em;font-size:20px;font-weight:600;letter-spacing:-.2px;
  padding-top:.2em;
}
.post h2:first-child{margin-top:0}
.post blockquote{
  margin:1.6em 0;padding:2px 0 2px 20px;border-left:2px solid var(--accent);
  color:var(--ink);font-size:17px;
}
.post strong{font-weight:600}
.post a{color:var(--accent-text);border-bottom:1px solid var(--accent-soft)}
.post a:hover{border-bottom-color:var(--accent)}
.post ul{margin:0 0 1.25em;padding-left:1.3em}
.post li{margin-bottom:.5em}

.postfoot{
  margin-top:52px;padding-top:24px;border-top:1px solid var(--line);
  font-size:14px;color:var(--ink2);
}
.postfoot dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}
.postfoot dt{color:var(--ink3);font-size:13.5px;white-space:nowrap}
.postfoot dd{margin:0}
.postfoot .back{margin-top:22px;font-size:14.5px}
.postfoot .back a{color:var(--accent-text)}

/* ── 幕间导航 ── */
.actnav{display:flex;justify-content:space-between;gap:16px;margin-top:30px;font-size:14.5px}
.actnav a{color:var(--ink2)}
.actnav a:hover{color:var(--accent-text)}

/* ── 页脚（与主站同构）── */
footer{border-top:1px solid var(--line);padding:38px 0 52px;margin-top:44px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13.5px;color:var(--ink3)}
.foot .brandrow{display:flex;align-items:baseline;gap:8px;color:var(--ink);font-weight:600;margin-bottom:10px}
.foot a:hover{color:var(--accent-text)}
.foot .cols{display:flex;gap:56px;flex-wrap:wrap}
.foot .cols div{display:grid;gap:6px}
.foot .cols b{color:var(--ink2);font-weight:600;font-size:13px;letter-spacing:.4px}
.legal{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink3);display:grid;gap:5px}

/* ── 图文配图（v2 新增：手记系列需要图文并茂）────────────────────────────
   约束：配图一律为自绘 SVG（几何 + 文字），不含任何人影像；
        色彩令牌由 scripts/make_blog_figures.py 从 palette.css 读取后写入，
        本文件不重复定义色值。
   ──────────────────────────────────────────────────────────────────── */
.post figure{margin:2em 0}
.post figure img{
  width:100%;height:auto;display:block;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
}
.post figcaption{
  margin-top:11px;font-size:13px;line-height:1.65;color:var(--ink3);
}
.post figcaption b{font-weight:600;color:var(--ink2)}
.post figcaption .src{color:var(--ink-4)}
/* 引用书籍插图时统一加这个类：小尺寸、居中、明确标注出处 */
.post figure.quote{max-width:520px;margin-left:auto;margin-right:auto}
.post figure.quote img{background:var(--surface2)}
