/* ============================================================================
   奇川风 · 网页设计规范  qichuan.css
   派生自 mqc-litigation-visual-redraw v1.0.2
   references/visual-style.md · STANDARDS.md · assets/style-tokens.json
   ---------------------------------------------------------------------------
   总则：中性灰阶 + 唯一深红。纯平，无渐变 / 阴影 / 3D / 纹理。
        秩序来自对齐、留白、层级。得体，不炫技。
   ========================================================================= */

/* ---------------------------------------------------------------- 1. 令牌 */
:root {
  /* 灰阶 —— 真中性灰，不带蓝。slate 一律否决 */
  --qc-paper:      #FFFFFF;   /* 纸 */
  --qc-fill-card:  #F3F4F6;   /* 卡片底 */
  --qc-fill-step:  #E9ECEF;   /* 步骤底 */
  --qc-stroke:     #D6DAE0;   /* 描边 */
  --qc-line-soft:  #C3C9D2;   /* 弱线 */
  --qc-rule:       #E5E7EB;   /* 章节横线 · 时间轴带 */
  --qc-note:       #9CA3AF;   /* 注记 */
  --qc-ink-2:      #6B7280;   /* 次级墨 */
  --qc-line:       #4B5563;   /* 连线 */
  --qc-solid:      #374151;   /* 起止实心 */
  --qc-ink:        #1F2933;   /* 主墨 */

  /* 唯一重音 —— 用法见 §红色纪律，全站受配额约束 */
  --qc-red:        #991B1B;

  /* 字族 */
  --qc-song:  '方正小标宋简体','FZXiaoBiaoSong-B05S','思源宋体','Source Han Serif SC',
              'Noto Serif CJK SC','Noto Serif SC','华文中宋','STZhongsong',serif;
  --qc-sans:  'PingFang SC','Microsoft YaHei','Noto Sans CJK SC','Noto Sans SC',
              'Helvetica Neue',Arial,sans-serif;
  --qc-mono:  'IBM Plex Mono','SF Mono','Consolas','Noto Sans Mono CJK SC',monospace;
  --qc-display:'Anton','Impact','Haettenschweiler','Arial Narrow',sans-serif;
  --qc-num:   'QC Num','Inter Display','Inter','Helvetica Neue',Arial,sans-serif;   /* 数字：无衬线、等宽数字 */

  /* 字阶 —— 由长图的 1240px 版式折算到屏幕 */
  --t-display:  clamp(3.5rem, 9vw, 7.5rem);   /* 报头巨型英文词 */
  --t-h1:       clamp(2rem, 4.2vw, 3rem);     /* 页标题（宋） */
  --t-h2:       1.75rem;                      /* 章节头（宋） */
  --t-h3:       1.25rem;                      /* 卡片标题（宋） */
  --t-lead:     1.125rem;                     /* 领句 */
  --t-body:     1rem;
  --t-small:    0.9375rem;
  --t-note:     0.8125rem;
  --t-eyebrow:  0.75rem;                      /* 英文小标 · 带字距 */

  /* 版式栅格 —— 长图：画布 1240，边距 72，内容 1096 */
  --qc-max:     1240px;
  --qc-gutter:  72px;
  --qc-narrow:  760px;                        /* 长文正文 */

  /* 间距 —— 4 的倍数 */
  --s-1: 4px;   --s-2: 8px;   --s-3: 12px;  --s-4: 16px;
  --s-5: 20px;  --s-6: 24px;  --s-8: 32px;  --s-10: 40px;
  --s-12: 48px; --s-14: 58px; --s-16: 64px; --s-20: 80px; --s-28: 112px;

  /* 几何 —— 与 style-tokens.json 的 radius 同源 */
  --r-card:    12px;   /* 卡片 · 步骤块 */
  --r-corner:  2.5px;  /* 一切直角转弯 */
  --r-bar:     0;      /* 条形：尺子不是卡片，永远直角 */
  --r-pill:    999px;  /* 胶囊：起止节点 */

  /* 描边 */
  --w-hair:    1px;
  --w-card:    1.6px;
  --w-line:    2px;
  --w-emph:    3px;

  --qc-t: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ------------------------------------------------------------ 2. 基础重置 */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--qc-sans);
  font-size: var(--t-body);
  line-height: 1.75;
  color: var(--qc-ink);
  background: var(--qc-paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg { max-width: 100%; height: auto; display: block; }

::selection { background: var(--qc-ink); color: var(--qc-paper); }

:focus-visible {
  outline: 2px solid var(--qc-ink);
  outline-offset: 3px;
}

/* --------------------------------------------------------------- 3. 排版 */
h1, h2, h3, h4 {
  font-family: var(--qc-song);
  font-weight: 700;
  color: var(--qc-ink);
  line-height: 1.35;
  margin: 0;
  /* 同色细描边：回退宋体无粗体时仍然显粗（沿用长图做法） */
  -webkit-text-stroke: 0;
}

h1 { font-size: var(--t-h1); line-height: 1.2; }
h2 { font-size: var(--t-h2); }
h3 { font-size: var(--t-h3); }
h4 { font-size: var(--t-body); }

p { margin: 0 0 var(--s-4); }

/* 链接：墨色，不带下划线。
   悬停不出现下划线、更不出现红线——红是重音，不是链接反馈。
   悬停只做一件事：颜色由主墨降到次级墨。 */
a {
  color: var(--qc-ink);
  text-decoration: none;
  transition: color var(--qc-t), border-color var(--qc-t);
}
a:hover { color: var(--qc-ink-2); text-decoration: none; }

/* 正文段落里的链接需要可辨认：给一条常驻的浅灰下边线，
   悬停时只加深到中灰，任何状态都不变红、不用 text-decoration。 */
.qc-prose a,
a.qc-inline {
  border-bottom: 1px solid var(--qc-line-soft);
  padding-bottom: 1px;
}
.qc-prose a:hover,
a.qc-inline:hover { color: var(--qc-ink); border-bottom-color: var(--qc-line); }

strong { font-weight: 600; color: var(--qc-ink); }

.qc-lead      { font-size: var(--t-lead); color: var(--qc-ink); }
.qc-secondary { color: var(--qc-ink-2); }
.qc-note      { font-size: var(--t-note); color: var(--qc-note); }
.qc-num       { font-family: var(--qc-mono); font-variant-numeric: tabular-nums; }
.qc-book-sub {
  display: inline-flex;
  align-items: center;
  gap: .18em;
  font-family: var(--qc-sans);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: var(--qc-ink);
  white-space: nowrap;
  -webkit-text-stroke: 0;
}
.qc-book-sub__num {
  display: inline-flex;
  align-items: center;
  gap: 0;
  height: 1em;
  flex: 0 0 auto;
}
.qc-book-sub__one {
  display: inline-block;
  font-family: var(--qc-sans);
  font-size: 1.16em;
  font-weight: 500;
  line-height: .82;
  color: var(--bk-red, #E40011);
  margin-right: -.015em;
  letter-spacing: 0;
  transform: translate(0.025em, 0.015em);
}
.qc-book-sub__zero {
  display: inline-block;
  width: .9em;
  height: .9em;
  flex: 0 0 auto;
  margin-right: .02em;
  border-radius: 50%;
  border: .135em solid var(--bk-red, #E40011);
  transform: translateX(-.045em);
}
.qc-book-sub__claw {
  display: inline-block;
  width: .9em;
  height: .9em;
  flex: 0 0 auto;
  object-fit: contain;
  transform: translateY(.005em);
}
.qc-book-sub__text {
  display: inline-block;
  font-family: var(--qc-sans);
  font-size: .93em;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .01em;
  color: var(--qc-ink);
}
.qc-book-sub__latin {
  display: inline-block;
  margin-left: .04em;
  font-family: var(--qc-sans);
  font-size: 1.04em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--qc-ink);
}

/* 英文小标：灰、小、宽字距。CJK 永不加字距。 */
.qc-eyebrow {
  font-family: var(--qc-mono);
  font-size: var(--t-eyebrow);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--qc-note);
}

/* --------------------------------------------------------------- 4. 容器 */
.qc-wrap {
  width: 100%;
  max-width: var(--qc-max);
  margin-inline: auto;
  padding-inline: var(--qc-gutter);
}
.qc-wrap--narrow { max-width: calc(var(--qc-narrow) + var(--qc-gutter) * 2); }

.qc-section    { padding-block: var(--s-28); }
.qc-section--sm{ padding-block: var(--s-16); }

/* ------------------------------------------------------- 5. 报头（签名件） */
/* 长图的识别物：左侧压缩体巨型英文词，右侧宋体中文标题。
   全站只有首页用满版报头，内页用其收缩形态。 */
.qc-masthead {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  column-gap: var(--s-10);
  padding-block: var(--s-20) var(--s-8);
}

.qc-masthead__word {
  font-family: var(--qc-display);
  font-size: var(--t-display);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: 0.02em;
  color: var(--qc-ink);
  margin: 0;
  -webkit-text-stroke: 0;
}

.qc-masthead__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-6);
  margin-bottom: var(--s-3);
}
.qc-masthead__kicker {
  font-size: var(--t-small);
  font-weight: 500;
  color: var(--qc-ink-2);
  letter-spacing: 0.04em;
}
.qc-masthead__stamp {
  font-family: var(--qc-mono);
  font-size: var(--t-note);
  color: var(--qc-ink-2);
}
.qc-masthead__title {
  font-family: var(--qc-song);
  font-size: clamp(1.75rem, 3.4vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--qc-ink);
  margin: 0;
  -webkit-text-stroke: 0;
}

/* 报头下的通栏横线 */
.qc-masthead + .qc-rule { margin-bottom: var(--s-8); }

/* ------------------------------------------------------------- 6. 章节头 */
/* 宋体标题 + 灰色英文小标 + 右端计数 + 一条 2px 横线 */
.qc-head {
  display: flex;
  align-items: baseline;
  gap: var(--s-5);
  padding-bottom: var(--s-3);
  border-bottom: var(--w-line) solid var(--qc-rule);
  margin-bottom: var(--s-14);
}
.qc-head__title { font-size: var(--t-h2); }
.qc-head__count {
  margin-left: auto;
  font-size: var(--t-small);
  color: var(--qc-ink-2);
}

.qc-rule {
  height: var(--w-line);
  background: var(--qc-rule);
  border: 0;
  margin: 0;
}
.qc-rule--hair { height: var(--w-hair); background: var(--qc-stroke); }

/* --------------------------------------------------------------- 7. 卡片 */
.qc-card {
  background: var(--qc-fill-card);
  border: var(--w-card) solid var(--qc-fill-card);
  border-radius: var(--r-card);
  padding: var(--s-6) var(--s-6) var(--s-8);
  transition: background-color var(--qc-t), border-color var(--qc-t);
}
/* 默认填充卡片 hover 只让底色稍深，无阴影、无位移、无缩放。 */
.qc-card:hover { background-color: var(--qc-fill-step); border-color: var(--qc-fill-step); }
a.qc-card { text-decoration: none; display: block; color: inherit; }
a.qc-card:hover { color: inherit; }

/* 线框卡片：仅在需要强调边界的精选场景少量使用 */
.qc-card--line {
  background: var(--qc-paper);
  border-color: var(--qc-stroke);
}
.qc-card--line:hover { background-color: var(--qc-paper); border-color: var(--qc-line); }
a.qc-card--line:hover { color: inherit; border-color: var(--qc-line); }

.qc-card__title { font-size: var(--t-h3); margin-bottom: var(--s-2); }
.qc-card__body  { color: var(--qc-ink-2); font-size: var(--t-small); margin: 0; }

/* 编号：只在内容真是序列时用（工作流、步骤）。不做装饰。 */
.qc-index {
  font-family: var(--qc-display);
  font-size: 2.5rem;
  line-height: 1;
  color: var(--qc-line-soft);
  margin-bottom: var(--s-3);
}

.qc-grid { display: grid; gap: var(--s-6); }
.qc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.qc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.qc-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* --------------------------------------------------------------- 8. 按钮 */
.qc-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding: 11px var(--s-6);
  font-family: var(--qc-sans);
  font-size: var(--t-small);
  font-weight: 600;
  line-height: 1.4;
  border: var(--w-hair) solid transparent;
  border-radius: var(--r-corner);
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--qc-t), border-color var(--qc-t), color var(--qc-t);
}

/* 实心红块 + 白字 —— 这是「强调」在网页上唯一的形态。
   每屏至多一个。见 §红色纪律。 */
.qc-btn--primary {
  background: var(--qc-red);
  border-color: var(--qc-red);
  color: var(--qc-paper);
}
.qc-btn--primary:hover { background: #7F1616; border-color: #7F1616; color: var(--qc-paper); }

.qc-btn--secondary {
  background: var(--qc-paper);
  border-color: var(--qc-stroke);
  color: var(--qc-ink);
}
.qc-btn--secondary:hover { border-color: var(--qc-line); color: var(--qc-ink); }

/* 文字按钮：墨色，悬停只降一档颜色。无下划线、无红。 */
.qc-btn--text {
  padding: 0;
  border: 0;
  background: none;
  color: var(--qc-ink);
  text-decoration: none;
}
.qc-btn--text:hover { color: var(--qc-ink-2); }

/* --------------------------------------------------------------- 9. 标签 */
/* 灰底灰字，方角。不做胶囊、不做淡红底。 */
.qc-tag {
  display: inline-block;
  padding: 3px 10px;
  font-size: var(--t-note);
  color: var(--qc-ink-2);
  background: var(--qc-fill-card);
  border-radius: var(--r-corner);
}
/* 胶囊只留给「起止」这一种语义：实心深灰 + 白字 */
.qc-terminal {
  display: inline-block;
  padding: 4px 16px;
  font-size: var(--t-note);
  font-weight: 600;
  color: var(--qc-paper);
  background: var(--qc-solid);
  border-radius: var(--r-pill);
}

/* -------------------------------------------------------------- 10. 导航 */
.qc-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--qc-fill-card);
  border-bottom: 0;
}
.qc-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
  gap: var(--s-8);
}
.qc-nav__brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--qc-ink);
  text-decoration: none;
  min-width: 196px;
}
.qc-nav__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  flex: 0 0 auto;
}
.qc-nav__wordmark {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.qc-nav__wordmark-img {
  display: block;
  width: 95px;
  height: auto;
  max-height: 24px;
  object-fit: contain;
}
.qc-nav__links {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  align-self: stretch;
  gap: 0;
  min-width: 0;
}
.qc-nav__link {
  display: grid;
  place-items: center;
  align-self: stretch;
  min-height: 76px;
  padding: 10px 10px 7px;
  font-family: var(--qc-display);
  font-size: 1.05rem;
  line-height: 1;
  letter-spacing: .035em;
  color: var(--qc-ink-2);
  text-decoration: none;
  border-radius: 0;
  border-bottom: 4px solid transparent;
  transition: color var(--qc-t), background-color var(--qc-t), border-color var(--qc-t);
  -webkit-text-stroke: 0;
}
.qc-nav__link span {
  display: block;
}
.qc-nav__link small {
  display: block;
  margin-top: 5px;
  font-family: var(--qc-sans);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1;
  color: var(--qc-note);
}
.qc-nav__link:hover {
  color: var(--qc-ink);
  background: var(--qc-fill-step);
  border-bottom-color: var(--qc-red);
}
.qc-nav__link:hover small {
  color: var(--qc-red);
}
.qc-nav__link[aria-current="page"] {
  color: var(--qc-ink);
  background: var(--qc-fill-step);
  border-bottom-color: var(--qc-red);
}
.qc-nav__link[aria-current="page"] small {
  color: var(--qc-red);
}
/* 导航右端 GitHub 图标：墨色，悬停降一档 */
.qc-nav__gh {
  display: grid;
  place-items: center;
  padding: 0 4px 0 14px;
  color: var(--qc-ink);
  text-decoration: none;
  transition: color var(--qc-t);
}
.qc-nav__gh:hover { opacity: .7; }
.qc-nav__gh img { width: 28px; height: 28px; max-width: none; }
@media (max-width: 720px) {
  .qc-nav__gh { padding: 10px 12px; justify-content: start; }
}

/* -------------------------------------------------------------- 11. 表格 */
.qc-table { width: 100%; border-collapse: collapse; font-size: var(--t-small); }
.qc-table th, .qc-table td {
  padding: var(--s-3) var(--s-4);
  text-align: left;
  vertical-align: top;
  border-bottom: var(--w-hair) solid var(--qc-stroke);
}
.qc-table thead th {
  font-weight: 600;
  color: var(--qc-ink-2);
  background: var(--qc-fill-card);
  border-bottom-color: var(--qc-line-soft);
}
.qc-table td.qc-num { white-space: nowrap; }

/* ---------------------------------------------------------- 12. 时间轴条目 */
/* 结构信息：左侧等宽日期，右侧内容，一条弱线串起来 */
.qc-timeline { border-left: var(--w-hair) solid var(--qc-stroke); padding-left: var(--s-6); }
.qc-timeline__item { padding-bottom: var(--s-8); position: relative; }
.qc-timeline__item::before {
  content: '';
  position: absolute;
  left: calc(var(--s-6) * -1 - 4px);
  top: 10px;
  width: 7px; height: 7px;
  background: var(--qc-line);
  border-radius: var(--r-pill);
}
.qc-timeline__date {
  font-family: var(--qc-mono);
  font-size: var(--t-note);
  color: var(--qc-note);
  letter-spacing: 0.06em;
}

/* -------------------------------------------------------------- 13. 引用 */
.qc-quote {
  margin: var(--s-8) 0;
  padding-left: var(--s-5);
  border-left: var(--w-emph) solid var(--qc-line-soft);
  color: var(--qc-ink-2);
}

/* -------------------------------------------------------------- 14. 长文 */
.qc-prose { max-width: var(--qc-narrow); }
.qc-prose h2 { margin: var(--s-12) 0 var(--s-4); }
.qc-prose h3 { margin: var(--s-8) 0 var(--s-3); }
.qc-prose ul, .qc-prose ol { padding-left: 1.25em; margin: 0 0 var(--s-4); }
.qc-prose li { margin-bottom: var(--s-2); }
.qc-prose code {
  font-family: var(--qc-mono);
  font-size: 0.875em;
  background: var(--qc-fill-card);
  padding: 1px 5px;
  border-radius: var(--r-corner);
}

/* -------------------------------------------------------------- 15. 页脚 */
.qc-footer {
  border-top: var(--w-hair) solid var(--qc-stroke);
  padding-block: var(--s-16) var(--s-8);
  font-size: var(--t-small);
  color: var(--qc-ink-2);
}
.qc-footer a { color: var(--qc-ink-2); }
.qc-footer a:hover { color: var(--qc-ink); }

/* -------------------------------------------------------- 16. 响应式收缩 */
@media (max-width: 1024px) {
  :root { --qc-gutter: 40px; }
  .qc-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  :root {
    --qc-gutter: 24px;
    --t-h2: 1.5rem;
  }
  .qc-section { padding-block: var(--s-16); }
  .qc-grid--2, .qc-grid--3, .qc-grid--4 { grid-template-columns: 1fr; }

  /* 报头在窄屏改为上下两段，巨型词不缩到失去分量 */
  .qc-masthead { grid-template-columns: 1fr; row-gap: var(--s-4); align-items: start; }
  .qc-masthead__meta { flex-direction: column; align-items: flex-start; gap: var(--s-1); }

  .qc-nav__links { display: none; }
}

/* ---------------------------------------------------------- 17. 动效与打印 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

@media print {
  .qc-nav { position: static; }
  a { color: var(--qc-ink); text-decoration: none; }
  .qc-btn--primary { background: none; color: var(--qc-ink); border-color: var(--qc-ink); }
}

/* ============================================================================
   18. 首页专用   HOME
   奇川风的克制留给颜色，锋芒全部花在字上。
   ========================================================================= */

/* ---- 报头式 Hero ---- */
.hm-hero {
  position: relative;
  padding-block: var(--s-20) var(--s-16);
}

.hm-hero__eyebrow {
  display: block;
  margin-bottom: var(--s-6);
}

/* 巨型宋体标题 —— 全站唯一一处允许「大」的地方 */
.hm-hero__title {
  font-family: var(--qc-song);
  font-weight: 700;
  font-size: clamp(2.75rem, 9.2vw, 8.25rem);
  line-height: 1.06;
  letter-spacing: 0.06em;
  color: var(--qc-ink);
  margin: 0;
  -webkit-text-stroke: 0;
  text-indent: 0.06em;      /* 抵消字距造成的左侧视觉内缩 */
}

.hm-hero__latin {
  font-family: var(--qc-mono);
  font-size: var(--t-small);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--qc-ink-2);
  margin: var(--s-5) 0 0;
}

/* 竖排印记 —— 取自长图右上角的「设计手册」 */
.hm-hero__stamp {
  position: absolute;
  top: var(--s-20);
  right: 0;
  writing-mode: vertical-rl;
  font-family: var(--qc-song);
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  color: var(--qc-ink);
  -webkit-text-stroke: 0;
}

/* 姓名与身份 */
.hm-who {
  display: grid;
  grid-template-columns: minmax(280px, 380px) 1fr;
  gap: var(--s-10);
  align-items: end;
  margin-top: var(--s-16);
  padding-top: var(--s-8);
  border-top: var(--w-line) solid var(--qc-rule);
}
.hm-who__name {
  font-family: var(--qc-song);
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin: 0;
  -webkit-text-stroke: 0;
}
.hm-who__romanized {
  font-family: var(--qc-mono);
  font-size: var(--t-note);
  letter-spacing: 0.22em;
  color: var(--qc-note);
  margin-top: var(--s-2);
}
.hm-who__role {
  font-size: var(--t-lead);
  color: var(--qc-ink);
  margin: var(--s-4) 0 0;
}
.hm-who__posts {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: var(--s-10);
  font-size: var(--t-small);
  color: var(--qc-ink-2);
}
.hm-who__posts li {
  break-inside: avoid;
  padding-left: var(--s-4);
  position: relative;
  margin-bottom: var(--s-2);
}
.hm-who__posts li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.7em;
  width: 6px; height: var(--w-hair);
  background: var(--qc-line-soft);
}

/* ---- 支柱区块 ---- */
.hm-pillar { padding-block: var(--s-28); border-top: var(--w-hair) solid var(--qc-stroke); }

.hm-pillar__head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: var(--s-6);
  padding-bottom: var(--s-4);
  border-bottom: var(--w-line) solid var(--qc-rule);
  margin-bottom: var(--s-10);
}
.hm-pillar__no {
  font-family: var(--qc-display);
  font-size: 2.75rem;
  line-height: 0.9;
  color: var(--qc-line-soft);
}
.hm-pillar__titles { display: flex; align-items: baseline; gap: var(--s-4); flex-wrap: wrap; }
.hm-pillar__title {
  font-family: var(--qc-song);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0;
  -webkit-text-stroke: 0;
}
.hm-pillar__aside { margin-left: auto; font-size: var(--t-small); color: var(--qc-ink-2); }

.hm-lede {
  font-size: var(--t-lead);
  max-width: 46em;
  margin: 0 0 var(--s-8);
}

/* 图框 */
.hm-fig {
  border: var(--w-card) solid var(--qc-stroke);
  border-radius: var(--r-card);
  overflow: hidden;
  background: var(--qc-paper);
}
.hm-fig img { width: 100%; }
.hm-fig__cap {
  border-top: var(--w-hair) solid var(--qc-stroke);
  padding: var(--s-3) var(--s-4);
  font-size: var(--t-note);
  color: var(--qc-note);
  display: flex;
  justify-content: space-between;
  gap: var(--s-4);
}
.hm-fig__cap .qc-eyebrow { font-size: var(--t-note); }

/* 规格条：等宽数字 + 中文标签，横向排开 */
.hm-specs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-6);
  margin-top: var(--s-10);
  padding-top: var(--s-6);
  border-top: var(--w-hair) solid var(--qc-stroke);
}
.hm-specs__n {
  font-family: var(--qc-song);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--qc-ink);
  -webkit-text-stroke: 0;
}
.hm-specs__l { font-size: var(--t-small); color: var(--qc-ink-2); margin-top: var(--s-2); }

/* 书 */
.hm-book { display: grid; grid-template-columns: 300px 1fr; gap: var(--s-12); align-items: start; }
.hm-book__cover {
  border: var(--w-card) solid var(--qc-stroke);
  border-radius: var(--r-corner);
  overflow: hidden;
}
.hm-lobster {
  width: 132px;
  opacity: 0.9;
  margin-top: var(--s-6);
}

/* 讲课 */
.hm-teach { display: grid; grid-template-columns: 1fr 360px; gap: var(--s-12); align-items: start; }
.hm-portrait {
  border: var(--w-card) solid var(--qc-stroke);
  border-radius: var(--r-card);
  overflow: hidden;
  background: var(--qc-fill-card);
}

@media (max-width: 1024px) {
  .hm-who { grid-template-columns: 1fr; align-items: start; }
  .hm-who__posts { columns: 2; }
  .hm-book, .hm-teach { grid-template-columns: 1fr; gap: var(--s-8); }
  .hm-specs { grid-template-columns: repeat(2, 1fr); row-gap: var(--s-8); }
  .hm-hero__stamp { display: none; }
}

@media (max-width: 720px) {
  .hm-hero { padding-block: var(--s-12) var(--s-10); }
  .hm-who__posts { columns: 1; }
  .hm-pillar { padding-block: var(--s-16); }
  .hm-pillar__head { grid-template-columns: 1fr; row-gap: var(--s-2); }
  .hm-book__cover { max-width: 220px; }
}

/* ============================================================================
   19. 扩展：字体、移动端菜单、图书主方块
   ========================================================================= */

/* ---- 子集化自托管思源宋体（OFL，免费商用） ---- */
/* 数字字体：Inter Display（OFL）仅保留 ASCII，用于日期、读数、刻度 */
@font-face {
  font-family: 'QC Num';
  src: url('fonts/inter-display-300.woff') format('woff');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'QC Num';
  src: url('fonts/inter-display-400.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'QC Num';
  src: url('fonts/inter-display-500.woff') format('woff');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'QC Num';
  src: url('fonts/inter-display-600.woff') format('woff');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Source Han Serif QC';
  src: url('fonts/source-han-serif-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Han Serif QC';
  src: url('fonts/source-han-serif-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* 补字：子集生成后新加的字（如「桌」）原字体里没有，会落到更粗的系统宋体上。
   这两份只含缺的字，同一字族、用 unicode-range 只在这些字上生效。 */
@font-face {
  font-family: 'Source Han Serif QC';
  src: url('fonts/source-han-serif-400-ext.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+3000,U+303F,U+3400,U+4E01,U+4E16,U+4E19,U+4E22,U+4E25,U+4E30,U+4E34,U+4E3E,U+4E43,U+4E4F,U+4E59,U+4E60,U+4E61,U+4E91,U+4EC1,U+4ECD,U+4EDF,U+4EEA,U+4F0D,U+4F0F,U+4F2A,U+4F30,U+4F38,U+4F50,U+4F73,U+4FA6,U+4FA7,U+5019,U+501F,U+504F,U+507F,U+50AC,U+50F5,U+513F,U+5145,U+514D,U+515C,U+5174,U+517C,U+519B,U+51B6,U+51B7,U+51C0,U+51CF,U+51ED,U+5207,U+5220,U+5237,U+5238,U+5269,U+526F,U+52D8,U+5300,U+5343,U+534E,U+5356,U+535A,U+5360,U+5374,U+5382,U+5386,U+538B,U+53A6,U+53A8,U+53BF,U+53C2,U+53CC,U+53EB,U+53F3,U+5417,U+542F,U+5468,U+547C,U+5496,U+54C8,U+54ED,U+552E,U+5531,U+5609,U+56ED,U+5708,U+571F,U+5733,U+5740,U+5747,U+574A,U+5761,U+57FA,U+5806,U+5851,U+585E,U+586B,U+589E,U+58F0,U+58F3,U+591C,U+592B,U+5939,U+593A,U+594F,U+5987,U+59B9,U+59CA,U+59D1,U+59D3,U+5A5A,U+5ACC,U+5B54,U+5BA3,U+5BA4,U+5BB3,U+5BBE,U+5BC4,U+5BCC,U+5BDF,U+5BF8,U+5C04,U+5C14,U+5C16,U+5C3A,U+5C4A,U+5C4F,U+5C5E,U+5C71,U+5D29,U+5DE6,U+5DE8,U+5DF4,U+5E01,U+5E0C,U+5E27,U+5E55,U+5E72,U+5E7C,U+5E97,U+5E9C,U+5E9F,U+5ED3,U+5EF6,U+5F18,U+5F26,U+5F27,U+5F2F,U+5F39,U+5F69,U+5F7C,U+5F85,U+5FD7,U+5FE0,U+6062,U+606F,U+6084,U+6089,U+60A8,U+60AC,U+6162,U+622A,U+6269,U+626D,U+6296,U+6297,U+6298,U+62A0,U+62B5,U+62BD,U+62C9,U+62CD,U+62D0,U+62D2,U+62D6,U+62E6,U+62E8,U+62E9,U+62FF,U+6302,U+6321,U+632A,U+632F,U+635F,U+6389,U+638C,U+63E1,U+641C,U+642C,U+6446,U+6478,U+64A4,U+64C5,U+652F,U+654F,U+6551,U+6562,U+6563,U+6591,U+65AF,U+65BD,U+65C5,U+65CF,U+65E6,U+65E7,U+65E9,U+6613,U+663E,U+6653,U+665A,U+666E,U+6670,U+6676,U+66A8,U+66F2,U+6717,U+671B,U+672B,U+675F,U+676D,U+677E,U+679A,U+67A2,U+67D0,U+67DC,U+6837,U+6839,U+684C,U+68B0,U+68CB,U+695A,U+697C,U+6982,U+699C,U+6B20,U+6B67,U+6C38,U+6C47,U+6C79,U+6C82,U+6C88,U+6C9F,U+6CA6,U+6CDB,U+6CE2,U+6CF0,U+6CFD,U+6D17,U+6D1E,U+6D3E,U+6D59,U+6D66,U+6D6E,U+6D88,U+6D9F,U+6DE1,U+6DF7,U+6DFB,U+6E21,U+6E2D,U+6E2F,U+6E38,U+6E56,U+6EAF,U+6ED1,U+6EDA,U+6EE1,U+6EE4,U+6EE8,U+6F0F,U+6F2A,U+6F84,U+706B,U+7092,U+70ED,U+7126,U+7167,U+725B,U+7262,U+7269,U+7275,U+72EC,U+731C,U+738B,U+73AB,U+73C0,U+73ED,U+7422,U+7425,U+7455,U+7470,U+74E3,U+7530,U+7532,U+7533,U+758F,U+7591,U+75B5,U+75D5,U+75E3,U+767B,U+7687,U+76C8,U+76EF,U+7701,U+7709,U+7763,U+777F,U+77ED,U+77F3,U+7840,U+78CB,U+78E8,U+7968,U+79D8,U+79E9,U+7A0E,U+7A3D,U+7A3F,U+7A7A,U+7A81,U+7A84,U+7A97,U+7AD6,U+7ADE,U+7AE3,U+7AEF,U+7B26,U+7B51,U+7BAD,U+7C07,U+7C3F,U+7C97,U+7C98,U+7CD9,U+7D27,U+7D2F,U+7E41,U+7EA6,U+7EAA,U+7EAC,U+7EB3,U+7EB5,U+7EB9,U+7EBD,U+7EC3,U+7EC7,U+7EC8,U+7ED8,U+7EE9,U+7EEA,U+7EF3,U+7EFC,U+7F00,U+7F13,U+7F18,U+7F1D,U+7F20,U+7F29,U+7F34,U+7F57,U+7F5A,U+7F8E,U+8001,U+8017,U+8086,U+8096,U+80AF,U+80B2,U+80DC,U+8109,U+810A,U+810F,U+8111,U+8131,U+81F4,U+821E,U+822C,U+82CF,U+82D7,U+82E5,U+82F1,U+8361,U+8363,U+83CF,U+840D,U+8584,U+865A,U+8840,U+884D,U+8854,U+8857,U+8861,U+8865,U+886C,U+8870,U+8882,U+88C2,U+89E6,U+8B66,U+8BAB,U+8BAF,U+8BB8,U+8BC0,U+8BCA,U+8BD1,U+8BEF,U+8BFA,U+8C01,U+8C61,U+8D1D,U+8D26,U+8D27,U+8D2F,U+8D34,U+8D35,U+8D37,U+8D38,U+8D4B,U+8D4C,U+8D54,U+8D5B,U+8DB3,U+8DF3,U+8F66,U+8F68,U+8F6B,U+8F6E,U+8F6F,U+8F7B,U+8F85,U+8F88,U+8FB1,U+8FDD,U+8FDF,U+8FED,U+8FF0,U+8FF9,U+9000,U+9001,U+9003,U+9012,U+903B,U+903E,U+9042,U+9047,U+904D,U+9057,U+907F,U+90BB,U+90D1,U+91C7,U+91CE,U+9274,U+9488,U+94A2,U+94AE,U+94B1,U+94C1,U+94FA,U+9500,U+951A,U+9521,U+9526,U+952F,U+955C,U+95EA,U+95ED,U+95F9,U+9635,U+963F,U+9644,U+9648,U+9664,U+968F,U+9690,U+9699,U+96D5,U+96F7,U+96FE,U+9759,U+97F3,U+9876,U+9891,U+9897,U+989D,U+98DE,U+9970,U+9999,U+9A73,U+9A7B,U+9F20,U+9F50,U+9F7F,U+9FFF,U+FF0B,U+FF0F,U+FF1D,U+FF5C,U+FF5E,U+FFE5;
}
@font-face {
  font-family: 'Source Han Serif QC';
  src: url('fonts/source-han-serif-700-ext.woff') format('woff');
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+3000,U+303F,U+3400,U+4E01,U+4E16,U+4E19,U+4E22,U+4E25,U+4E30,U+4E34,U+4E3E,U+4E43,U+4E4F,U+4E59,U+4E60,U+4E61,U+4E91,U+4EC1,U+4ECD,U+4EDF,U+4EEA,U+4F0D,U+4F0F,U+4F2A,U+4F30,U+4F38,U+4F50,U+4F73,U+4FA6,U+4FA7,U+5019,U+501F,U+504F,U+507F,U+50AC,U+50F5,U+513F,U+5145,U+514D,U+515C,U+5174,U+517C,U+519B,U+51B6,U+51B7,U+51C0,U+51CF,U+51ED,U+5207,U+5220,U+5237,U+5238,U+5269,U+526F,U+52D8,U+5300,U+5343,U+534E,U+5356,U+535A,U+5360,U+5374,U+5382,U+5386,U+538B,U+53A6,U+53A8,U+53BF,U+53C2,U+53CC,U+53EB,U+53F3,U+5417,U+542F,U+5468,U+547C,U+5496,U+54C8,U+54ED,U+552E,U+5531,U+5609,U+56ED,U+5708,U+571F,U+5733,U+5740,U+5747,U+574A,U+5761,U+57FA,U+5806,U+5851,U+585E,U+586B,U+589E,U+58F0,U+58F3,U+591C,U+592B,U+5939,U+593A,U+594F,U+5987,U+59B9,U+59CA,U+59D1,U+59D3,U+5A5A,U+5ACC,U+5B54,U+5BA3,U+5BA4,U+5BB3,U+5BBE,U+5BC4,U+5BCC,U+5BDF,U+5BF8,U+5C04,U+5C14,U+5C16,U+5C3A,U+5C4A,U+5C4F,U+5C5E,U+5C71,U+5D29,U+5DE6,U+5DE8,U+5DF4,U+5E01,U+5E0C,U+5E27,U+5E55,U+5E72,U+5E7C,U+5E97,U+5E9C,U+5E9F,U+5ED3,U+5EF6,U+5F18,U+5F26,U+5F27,U+5F2F,U+5F39,U+5F69,U+5F7C,U+5F85,U+5FD7,U+5FE0,U+6062,U+606F,U+6084,U+6089,U+60A8,U+60AC,U+6162,U+622A,U+6269,U+626D,U+6296,U+6297,U+6298,U+62A0,U+62B5,U+62BD,U+62C9,U+62CD,U+62D0,U+62D2,U+62D6,U+62E6,U+62E8,U+62E9,U+62FF,U+6302,U+6321,U+632A,U+632F,U+635F,U+6389,U+638C,U+63E1,U+641C,U+642C,U+6446,U+6478,U+64A4,U+64C5,U+652F,U+654F,U+6551,U+6562,U+6563,U+6591,U+65AF,U+65BD,U+65C5,U+65CF,U+65E6,U+65E7,U+65E9,U+6613,U+663E,U+6653,U+665A,U+666E,U+6670,U+6676,U+66A8,U+66F2,U+6717,U+671B,U+672B,U+675F,U+676D,U+677E,U+679A,U+67A2,U+67D0,U+67DC,U+6837,U+6839,U+684C,U+68B0,U+68CB,U+695A,U+697C,U+6982,U+699C,U+6B20,U+6B67,U+6C38,U+6C47,U+6C79,U+6C82,U+6C88,U+6C9F,U+6CA6,U+6CDB,U+6CE2,U+6CF0,U+6CFD,U+6D17,U+6D1E,U+6D3E,U+6D59,U+6D66,U+6D6E,U+6D88,U+6D9F,U+6DE1,U+6DF7,U+6DFB,U+6E21,U+6E2D,U+6E2F,U+6E38,U+6E56,U+6EAF,U+6ED1,U+6EDA,U+6EE1,U+6EE4,U+6EE8,U+6F0F,U+6F2A,U+6F84,U+706B,U+7092,U+70ED,U+7126,U+7167,U+725B,U+7262,U+7269,U+7275,U+72EC,U+731C,U+738B,U+73AB,U+73C0,U+73ED,U+7422,U+7425,U+7455,U+7470,U+74E3,U+7530,U+7532,U+7533,U+758F,U+7591,U+75B5,U+75D5,U+75E3,U+767B,U+7687,U+76C8,U+76EF,U+7701,U+7709,U+7763,U+777F,U+77ED,U+77F3,U+7840,U+78CB,U+78E8,U+7968,U+79D8,U+79E9,U+7A0E,U+7A3D,U+7A3F,U+7A7A,U+7A81,U+7A84,U+7A97,U+7AD6,U+7ADE,U+7AE3,U+7AEF,U+7B26,U+7B51,U+7BAD,U+7C07,U+7C3F,U+7C97,U+7C98,U+7CD9,U+7D27,U+7D2F,U+7E41,U+7EA6,U+7EAA,U+7EAC,U+7EB3,U+7EB5,U+7EB9,U+7EBD,U+7EC3,U+7EC7,U+7EC8,U+7ED8,U+7EE9,U+7EEA,U+7EF3,U+7EFC,U+7F00,U+7F13,U+7F18,U+7F1D,U+7F20,U+7F29,U+7F34,U+7F57,U+7F5A,U+7F8E,U+8001,U+8017,U+8086,U+8096,U+80AF,U+80B2,U+80DC,U+8109,U+810A,U+810F,U+8111,U+8131,U+81F4,U+821E,U+822C,U+82CF,U+82D7,U+82E5,U+82F1,U+8361,U+8363,U+83CF,U+840D,U+8584,U+865A,U+8840,U+884D,U+8854,U+8857,U+8861,U+8865,U+886C,U+8870,U+8882,U+88C2,U+89E6,U+8B66,U+8BAB,U+8BAF,U+8BB8,U+8BC0,U+8BCA,U+8BD1,U+8BEF,U+8BFA,U+8C01,U+8C61,U+8D1D,U+8D26,U+8D27,U+8D2F,U+8D34,U+8D35,U+8D37,U+8D38,U+8D4B,U+8D4C,U+8D54,U+8D5B,U+8DB3,U+8DF3,U+8F66,U+8F68,U+8F6B,U+8F6E,U+8F6F,U+8F7B,U+8F85,U+8F88,U+8FB1,U+8FDD,U+8FDF,U+8FED,U+8FF0,U+8FF9,U+9000,U+9001,U+9003,U+9012,U+903B,U+903E,U+9042,U+9047,U+904D,U+9057,U+907F,U+90BB,U+90D1,U+91C7,U+91CE,U+9274,U+9488,U+94A2,U+94AE,U+94B1,U+94C1,U+94FA,U+9500,U+951A,U+9521,U+9526,U+952F,U+955C,U+95EA,U+95ED,U+95F9,U+9635,U+963F,U+9644,U+9648,U+9664,U+968F,U+9690,U+9699,U+96D5,U+96F7,U+96FE,U+9759,U+97F3,U+9876,U+9891,U+9897,U+989D,U+98DE,U+9970,U+9999,U+9A73,U+9A7B,U+9F20,U+9F50,U+9F7F,U+9FFF,U+FF0B,U+FF0F,U+FF1D,U+FF5C,U+FF5E,U+FFE5;
}

/* 更新宋体回退链：优先用子集化思源宋体 */
:root {
  --qc-song: 'Source Han Serif QC', '方正小标宋简体', 'FZXiaoBiaoSong-B05S',
              '思源宋体', 'Source Han Serif SC',
              'Noto Serif CJK SC', 'Noto Serif SC', '华文中宋', 'STZhongsong', serif;
}

/* ---- 移动端菜单（纯平，无阴影） ---- */
.qc-nav__toggle {
  display: none;
  padding: 8px 12px;
  font-family: var(--qc-display);
  font-size: .95rem;
  letter-spacing: .04em;
  color: var(--qc-ink);
  background: var(--qc-fill-step);
  border: 1px solid var(--qc-stroke);
  border-radius: var(--r-corner);
  cursor: pointer;
  -webkit-text-stroke: 0;
}

@media (max-width: 720px) {
  .qc-nav__inner { height: 70px; }
  .qc-nav__brand { min-width: 0; gap: 10px; }
  .qc-nav__logo { width: 44px; height: 44px; }
  .qc-nav__wordmark-img { width: 84px; max-height: 22px; }
}
/* 导航九项，1366px 以下改为“菜单”按钮 */
@media (max-width: 1365px) {
  .qc-nav__toggle { display: inline-block; }
  .qc-nav { position: sticky; }
  .qc-nav__inner { position: relative; }
  .qc-nav__links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--qc-fill-card);
    border-bottom: 1px solid var(--qc-stroke);
    padding: var(--s-3) var(--qc-gutter) var(--s-5);
    flex-direction: column;
    gap: 3px;
  }
  .qc-nav__links.is-open { display: flex; }
  .qc-nav__link {
    display: flex;
    justify-content: space-between;
    min-height: 48px;
    padding: 10px 12px;
    border-bottom: 3px solid transparent;
    border-radius: var(--r-corner);
    background: var(--qc-paper);
  }
  .qc-nav__link small { margin-top: 0; }
}

/* ════════════════════════════════════════════════════════════════════════════
   图书页主方块  .bk-card
   整块 = 一个链接，点进图书详情页。块内没有按钮。
   画布 1096（= 1240 − 72×2）· 块高 740 · 圆角 20 · 描边 1.6px #D6DAE0
   ════════════════════════════════════════════════════════════════════════════ */

/* 这一块用书本身的品牌红 #E40011（与龙虾元素、实体封面同色），
   不是站点的 #991B1B。整块只有这一种红。 */
.bk-card { --bk-red: #E40011; }

.bk-card {
  position: relative;
  display: block;
  height: 740px;
  background: var(--qc-paper);
  border: 1.6px solid var(--qc-stroke);
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color 200ms cubic-bezier(.4,0,.2,1);
}
.bk-card:hover { border-color: var(--qc-line); color: inherit; text-decoration: none; }
.bk-card:focus-visible { outline: 2px solid var(--qc-ink); outline-offset: 3px; }

.bk-lobster {
  position: absolute;
  z-index: 1;
  left: -2px;
  top: 80px;
  height: 420px;
  width: auto;
  max-width: none;
  pointer-events: none;
  transform-origin: 30% 60%;
}

@keyframes lobster-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  20% { transform: translateY(-7px) rotate(1.5deg); }
  40% { transform: translateY(0) rotate(-1deg); }
  60% { transform: translateY(-5px) rotate(1deg); }
  80% { transform: translateY(0) rotate(-0.5deg); }
}

@media (prefers-reduced-motion: no-preference) {
  .bk-card:hover .bk-lobster {
    animation: lobster-float 1.1s ease-in-out 2;
  }
}

.bk-card__text {
  position: absolute;
  z-index: 2;
  left: 420px;
  top: 56px;
  width: 620px;
}

.bk-card__meta {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  font-family: var(--qc-mono);
  font-size: 12px; letter-spacing: .08em;
  color: var(--qc-note);
  margin: 0 0 26px;
}
.bk-card__meta b { font-weight: 400; color: var(--qc-ink-2); }

.bk-card__title em {
  font-style: normal;
  color: var(--bk-red);
}
.bk-card__title {
  font-family: var(--qc-song);
  font-weight: 700;
  font-size: 54px;
  line-height: 1.2;
  letter-spacing: .03em;
  color: var(--qc-ink);
  margin: 0;
  -webkit-text-stroke: 0;
}

.bk-card__sub {
  font-family: var(--qc-sans);
  font-weight: 800;
  font-size: 27px;
  letter-spacing: 0;
  color: var(--qc-ink);
  margin: 20px 0 0;
  -webkit-text-stroke: 0;
}

.bk-card__rule { display: none; }

.bk-card__desc {
  font-size: 15px; line-height: 1.85; color: var(--qc-ink-2);
  margin: 28px 0 0; max-width: 42em;
}

.bk-card__cover {
  position: absolute;
  z-index: 2;
  right: 56px;
  bottom: 52px;
  width: 340px;
}
.bk-card__cover img { display: block; width: 100%; }

.bk-card__foot {
  position: absolute;
  z-index: 2;
  left: 420px;
  top: 320px;
  bottom: 52px;
  width: 340px;
  display: flex;
  flex-direction: column;
  padding-top: 18px;
}

.bk-card__author {
  font-family: var(--qc-song);
  font-weight: 700;
  font-size: 34px;
  letter-spacing: .12em;
  line-height: 1.3;
  color: var(--qc-ink);
  margin: 0 0 6px;
  -webkit-text-stroke: 0;
}
.bk-card__author span {
  font-family: var(--qc-sans);
  font-weight: 400;
  font-size: 16px;
  letter-spacing: .04em;
  color: var(--qc-ink-2);
  -webkit-text-stroke: 0;
  margin-left: 10px;
}
.bk-card__romanized {
  font-family: var(--qc-mono);
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--qc-note);
  margin: 0 0 var(--s-5);
}

.bk-card__endorse {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: var(--qc-ink-2);
}
.bk-card__endorse b { font-weight: 600; color: var(--qc-ink); }
.bk-card__endorse em {
  display: block;
  font-style: normal;
  font-size: 13px;
  color: var(--qc-note);
  margin: var(--s-2) 0 0;
}
.bk-card__endorse-label {
  margin: var(--s-5) 0 var(--s-2);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.85;
  color: var(--qc-ink);
}

.bk-card__endorse-names {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--qc-ink-2);
}

.bk-card__enter {
  margin: auto 0 0;
  padding-top: 16px;
  display: flex; align-items: center; gap: 12px;
  font-size: 19px; font-weight: 600;
  color: var(--qc-ink);
}
.bk-card__arrow {
  flex-shrink: 0;
  width: auto;
  height: 12px;
  color: var(--bk-red);
  overflow: visible;
  transition: transform 250ms cubic-bezier(.4,0,.2,1);
}
.bk-card__arrow circle,
.bk-card__arrow line,
.bk-card__arrow path { stroke: currentColor; }
.bk-card__arrow circle {
  fill: currentColor;
  stroke: none;
  transform-origin: center;
  transition: transform 250ms cubic-bezier(.4,0,.2,1);
}
.bk-card__arrow line {
  stroke-width: 1.4;
  stroke-linecap: round;
}
.bk-card__arrow path {
  fill: none;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bk-card__enterhint {
  display: block;
  margin: 7px 0 0;
  font-family: var(--qc-mono);
  font-size: 11px; letter-spacing: .14em;
  color: var(--qc-note);
}
.bk-card:hover .bk-card__arrow { transform: translateX(6px); }
.bk-card:hover .bk-card__arrow-dot { transform: scale(1.25); }

/* 「未来著作」模块：灰底贯穿到底，卡片分红 / 深灰 */
.bk-upcoming-section { background: var(--qc-fill-card); }
.bk-upcoming-section + .qc-footer {
  background: var(--qc-fill-card);
  border-top: 0;
  color: var(--qc-ink-2);
}
.bk-upcoming-section + .qc-footer p { color: var(--qc-ink-2); opacity: 1; }

.bk-upcoming-section .bk-upcoming .qc-card {
  text-align: center;
  color: var(--qc-paper);
  transition: background-color var(--qc-t), border-color var(--qc-t);
}
.bk-upcoming-section .bk-upcoming .qc-card__title,
.bk-upcoming-section .bk-upcoming .qc-card__body { color: var(--qc-paper); font-weight: 400; }
.bk-upcoming-section .bk-upcoming .qc-card:nth-child(1) {
  background: var(--qc-red);
  border: 1px solid var(--qc-red);
}
.bk-upcoming-section .bk-upcoming .qc-card:nth-child(1):hover {
  background: #7F1D1D;
  border-color: #7F1D1D;
}
.bk-upcoming-section .bk-upcoming .qc-card:nth-child(2) {
  background: var(--qc-ink-2);
  border: 1px solid var(--qc-ink-2);
}
.bk-upcoming-section .bk-upcoming .qc-card:nth-child(2):hover {
  background: var(--qc-line);
  border-color: var(--qc-line);
}

@media (max-width: 980px) {
  .bk-card { height: auto; padding: 32px 28px 36px; }
  .bk-lobster { position: static; height: auto; width: 70%; margin: 0 0 28px -28px; }
  .bk-card__text,
  .bk-card__foot { position: static; left: auto; top: auto; bottom: auto; width: auto; }
  .bk-card__author { font-size: 24px; }
  .bk-card__title { font-size: 36px; }
  .bk-card__sub { font-size: 19px; }
  .bk-card__cover { position: static; width: 260px; margin: 28px 0 0; }
  .bk-card__foot { margin-top: 28px; padding-top: 22px; }
  .bk-card__enter { margin-top: 24px; padding-top: 0; }
}

/* =========================================================================
   English（html[lang="en"]）：拉丁字体用 Inter / Inter Display（OFL，自托管，只在英文时下载）
   ========================================================================= */
@font-face { font-family: 'QC Latin'; src: url('fonts/latin-inter-400.woff') format('woff'); font-weight: 100 450; font-style: normal; font-display: swap; }
@font-face { font-family: 'QC Latin'; src: url('fonts/latin-inter-400i.woff') format('woff'); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'QC Latin'; src: url('fonts/latin-inter-500.woff') format('woff'); font-weight: 451 550; font-style: normal; font-display: swap; }
@font-face { font-family: 'QC Latin'; src: url('fonts/latin-inter-600.woff') format('woff'); font-weight: 551 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'QC Latin Display'; src: url('fonts/latin-interd-300.woff') format('woff'); font-weight: 100 350; font-style: normal; font-display: swap; }
@font-face { font-family: 'QC Latin Display'; src: url('fonts/latin-interd-400.woff') format('woff'); font-weight: 351 450; font-style: normal; font-display: swap; }
@font-face { font-family: 'QC Latin Display'; src: url('fonts/latin-interd-500.woff') format('woff'); font-weight: 451 550; font-style: normal; font-display: swap; }
@font-face { font-family: 'QC Latin Display'; src: url('fonts/latin-interd-600.woff') format('woff'); font-weight: 551 900; font-style: normal; font-display: swap; }
html.qc-i18n-wait body { visibility: hidden; }
html[lang="en"] {
  --qc-song: 'QC Latin Display', 'Source Han Serif QC', '思源宋体', serif;
  --qc-sans: 'QC Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --qc-display: 'QC Latin Display', 'Arial Narrow', sans-serif;
  font-feature-settings: 'cv11', 'ss01';
  -webkit-font-smoothing: antialiased;
}
html[lang="en"] body { font-family: var(--qc-sans); }
html[lang="en"] :is(h1, h2, h3, h4) { letter-spacing: -0.022em; font-weight: 600; }
html[lang="en"] :is(p, li, dd, td) { letter-spacing: -0.006em; }
html[lang="en"] .qc-nav__link small { display: none; }
@media (max-width: 1365px) { html[lang="en"] .qc-nav__link small { display: inline; } }

/* 导航里的中 / EN 切换：一枚小胶囊，当前语言为实心 */
.qc-nav__links { flex: 1 1 auto; }
.qc-lang {
  flex: none; display: inline-flex; align-items: center; gap: 0; margin-left: calc(10px - var(--s-8)); padding: 3px;
  border: 1px solid var(--qc-stroke); border-radius: 999px; background: transparent; cursor: pointer;
  font: 500 11px/1 var(--qc-num); letter-spacing: .04em; color: var(--qc-ink-2);
}
.qc-lang i { display: none; }
.qc-lang span { display: inline-grid; place-items: center; min-width: 26px; height: 20px; padding: 0 6px; border-radius: 999px; transition: background .3s, color .3s; }
.qc-lang span[data-l="zh"] { font-family: var(--qc-sans); font-size: 11px; }
.qc-lang[data-cur="zh"] span[data-l="zh"], .qc-lang[data-cur="en"] span[data-l="en"] { background: var(--qc-ink); color: #fff; }
.qc-lang:not([data-cur]) span[data-l="zh"] { background: var(--qc-ink); color: #fff; }
.qc-lang:hover { border-color: var(--qc-ink-2); }
.qc-lang:focus-visible { outline: 2px solid var(--qc-red); outline-offset: 2px; }
@media (max-width: 1365px) { .qc-nav__toggle { margin-left: auto; } .qc-lang { margin-left: calc(8px - var(--s-8)); } }

.qc-nav__wm-en { display: none; }
html[lang="en"] .qc-nav__wordmark-img { display: none; }
html[lang="en"] .qc-nav__wm-en { display: inline-block; font: 600 17px/1 'QC Latin Display', sans-serif; letter-spacing: -0.015em; color: var(--qc-ink); white-space: nowrap; }
@media (min-width: 1366px) { .qc-nav__inner { gap: 12px; } .qc-lang { margin-left: 2px; } }
/* 导航比正文宽一些，九项 + 语言切换在 1280px 以上一行放得下 */
.qc-nav > .qc-wrap { max-width: 1340px; }
@media (min-width: 1366px) { .qc-nav__link { padding-inline: 8px; } }

/* ---- 英文版：各页排版微调（英文比中文长） ---- */
html[lang="en"] .pa7-l { gap: 18px; padding-top: 38px; padding-bottom: 30px; }
html[lang="en"] .pa7-l h3 { white-space: normal; font-size: 1.32rem; letter-spacing: -.015em; }
html[lang="en"] .pa7-txt { line-height: 1.62; }
html[lang="en"] .pa7-steps { gap: 9px; }
html[lang="en"] .pa7-steps li { font-size: 14px; line-height: 1.35; }
html[lang="en"] .pa7-types ul { gap: 6px; }
html[lang="en"] .pa7-types li { font-size: 12.5px; line-height: 1.25; padding: 6px 8px; }
html[lang="en"] .pa7-tab span { letter-spacing: .06em; font-size: 16px; text-indent: 0; }
@media (max-width: 1099px) {
  html[lang="en"] .pa7-tab span { font-size: 11.5px; letter-spacing: 0; }
}
