/* ══════════════════════════════════════════════════════════════
   「杜若」丛刊册内样式 · poetry/杜若/duruo.css
   ──────────────────────────────────────────────────────────────
   落位：**丛刊层**（poetry/杜若/），刊内各书的册页共用这一份。
   册页在书层，如 poetry/杜若/植物名实图考/青稞.html，引 ../duruo.css。

   只写 warm.css 未覆盖或需改写的八块：
     ① 版心 960 —— warm.css 的 .container 上限是 680px，
        680 装不下「图左文右」（正文栏只剩约 296px ≈ 19 字/行）
     ② 图左文右 —— warm.css 里 figure / img / figcaption 零规则
     ③ 左栏（书脊）固定 —— .duruo-rail 走 position: sticky（方案 S）
        **书眉必须收在这一栏里**，理由见下「两条常驻件的分工」
     ④ 返回链常驻 —— .duruo-back 覆盖 warm 的 .back 为 fixed，且**无底色**
        （底部 .nav-bottom 与 .footer-note 已按 2026.9.13 口径删除，
          册页不再使用这两件；warm.css 里的规则仍供其它页使用）
     ⑤ 书眉的字体与色 —— warm 的 h1 只有字阶，书眉要的是**刊名**的样子：
        ZCOOL XiaoWei ＋ 朱砂 --seal ＋ 上方 1px 细线（21:3x 站长定，见该条注释）
     ⑥ 说解的层级与节奏 —— 文字很短，不靠标题分节，靠色阶与间距：
        引文升格为浅朱砂 --duruo-quote 的「标本」、注解与引文咬合、组界放到两倍段距
        （22:0x 定排布、09:0x 换色，原理见「说解」那一段的开头）
        └ 2026.9.14 起本刊有**两个体例**：青稞＝「散文」（引文在组中段），
          牛尾菜＝「引文 ＋ 落款」（引文在组首）。两者共用本文件、靠结构区分，
          HTML 仍不加任何 class —— 见「第二体例」那一段。
     ⑦ 目录页（刊／书两层）—— 2026.9.14 新增。条目列表 ／ 书名标题 ／
        刊语与页脚，全部锁在 `.duruo-catalog` 作用域内（**对册页零影响**）——
        见「目录页」那一段。目录页版心留在 warm 的 .container（680），
        与册页的 960 不同：960 是「图 360 ＋ 文 520」量出来的，目录没有图。
     ⑧ 页尾翻页 —— 借 warm 的 `.series-nav` 组件，但**必须嵌在 `.duruo-text` 内**
        （栏内新增只进 sticky 行程、不进跑出量）—— 见「页尾翻页」那一段。
   其余全部继承 warm.css：字体栈 · 底色 · 24 个 token · h1–p 字阶，
   本文件不重复声明（唯一新增的是刊层色 `--duruo-quote`，见下）。

   引序：warm.css 在前、本文件在后。
   选择器一律带 .duruo- 前缀，避开 warm.css 的后代选择器
   （.intro p / .meta span / blockquote p，特异性 0,1,1）。
   本文件不用 !important。

   ★ 两条常驻件的分工（2026.9.13 结构解，照 logs/字渡/潮留 参考页）：
     .duruo-back  fixed  top 28px  —— 常驻视口左上，**无底色**
     .duruo-rail  sticky top 72px  —— 书眉与图同处这一栏，整栏钉住（72＝与 .duruo-page 顶部留白 88 一致，保两栏顶部平齐起步）
     两者竖向错开 13px（返链盒 28–59，书眉钉住后 72–97）⇒ 永不叠印。
     ⚠ **书眉若留在普通流里就会出事**：它滚上去必从返链身下穿过
       （实测穿越窗口 scrollY 30–84，与视口高无关）。给返链加遮罩底色
       只把「两串字叠印」换成「书眉被吃掉一截」，治不了接缝 ——
       根因是「一个钉住、一个在流里」，解法只能是把两者放进同一个钉住的容器。
     ⚠ 方案 S 有量上的天花板：sticky 行程＝说解栏高 − 本栏高
       （本页 908 − 645 ＝ 263px，已含 2026.9.14 的「跑出量」改动，见下），
       且图位起始 top 88、须先随页滚 16px 才起步。
       实测 1440×900 下「钉住」只有 46px ⇒ 观感接近整页一起滚。
       **「一跨页＝一屏」的体例先天给不出长文页那种长滚动**（参考页正文 8338px），
       别靠调数值救。真机审计用 `tumany-page-migrate/scripts/sticky-audit.js`。
   ══════════════════════════════════════════════════════════════ */

/* ── 刊层色 token（2026.9.14 09:0x 站长定）
      **引文与它左边的竖线 ＝ 浅朱砂 `#B5543F`**。warm.css 里没有等价 token
      （`--ink` 是墨蓝 #4a6b80、`--seal` 是朱砂 #AE1300，都不对），故在**刊层**新增一个，
      而不是把同一个色值在两处各写一遍 —— 这样「竖线与文字同色」这条不变量
      在改色时不会漏掉一处（漏了就是文字与竖线两个颜色，最刺眼的那种错）。
      ★ 命名带 `duruo-` 前缀，与「选择器一律带 .duruo- 前缀」同一纪律，避免与 warm 撞名。
      ★ 站上先例：通鉴各卷（页内 `:root` 覆盖 `--ink`）／食货志 `shz.css`／圆箧，
        一律把 `#B5543F` 当**浅朱砂**用 —— 比 `--seal`(#AE1300) 淡一档，不是另一个色系。
      ⚠ 与书眉的 `--seal` 朱砂同页并存（一浅一深）。若日后觉得两个红打架，
        先动这里一处，别去改 `--seal`（那是全站 token）。 ── */
:root { --duruo-quote: #B5543F; }

/* ── 版心 960（册页自声明；不动 warm.css —— 那是 61 页共享的）
      顶部留白 88px：返链是 fixed 已脱离文档流，须手动为它留位 ── */
.duruo-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 88px 24px 0;   /* ★ 底部留白**不在这里**，见下一条 */
}

/* ═══ 跑出量 · 底部留白必须落在说解栏内 ═══ （2026.9.14 解）
   「跑出量」＝ rail 的钉住行程用尽后，整栏被容器（.duruo-entry 的行高）
   拖着继续上移的那一段 —— 视口越矮、可滚到越远，撞进常驻返链的领地：

     文档高  = padTop 88 + 栏高 + padBottom
     撞点    = padTop 88 + 栏高 − rail 高 645 − 返链盒底 52
     阈值 vh = 文档高 − 撞点 = **padBottom ＋ rail 高 ＋ 返链盒底**
             ⇒ 说解长短在两式里被抵消，**阈值与正文多少无关**。

   于是解法就是把 padBottom 从**页面级**（计入跑出量）搬进**栏内**
   （栏内留白只进 sticky 的行程、不进跑出量 ⇒ 白赚一截钉住）：
   总留白分毫未变 ⇒ 观感零变化；阈值 777 → 697px；
   钉住段上限 183 → 263px（栏高 908 − 645）。
   ⚠ 代价是它只**推后**不根治：视口矮到 697 以下仍会撞。
     要「任何窗口都不撞」得把返链也收进 .duruo-rail（参考页形态）。
   ⚠ ≤600 断点里必须把它归零，否则小屏凭空多出 80px 底白（实为 56＋80）。 */

.duruo-text { padding-bottom: 80px; }

/* ── 返回链常驻（照 logs/字渡/潮留 的 .rail-back 做法）
      覆盖 warm.css 的 .back（inline-block）：改 fixed 后脱离文档流，
      左缘用 max() 贴住版心左缘 —— 窄屏时退化为 24px 外边距。
      **无底色**：书眉已收进被钉住的 .duruo-rail，两者相对静止，不需要遮罩。
      （2026.9.13 之前这里带 background: var(--bg) ＋ padding —— 那是错解，
        只把「叠印」换成「书眉被吃掉一截」；底色与 padding 一并撤掉。）── */
.duruo-back {
    position: fixed;
    top: 28px;
    left: max(24px, calc((100vw - 960px) / 2 + 24px));
    margin-bottom: 0;
    z-index: 60;
}

/* ═══ 图左 · 文右 ═══
   960 − 内距 48 − 图栏 360 − 沟 32 = 正文栏 520px（.95rem 下约 34 字/行）
   图栏 360 的口径 = 原书版框外宽（内有 plate 内距 12 + 1px 边，
   frame 内距 10 + 1px 边 ⇒ 图本身 312 宽、约 484 高）*/
.duruo-entry {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 32px;
    align-items: start;              /* 顶部对齐：两栏不互相拉伸 */
}
.duruo-entry > * { min-width: 0; }   /* grid 子项须可收缩，否则横向溢出 */

/* ── 左栏 · 书脊：书眉 ＋ 图版同处这一个 sticky 单元 ──
   sticky 的约束框＝父元素（＝.duruo-entry 的 grid 区），
   行程上限＝说解栏高 − 本栏高；说解滑走时本栏钉住，说解读毕即到 row 底。
   ⚠ 祖先链上不可出现 overflow: hidden，否则 sticky 失效。
   ⚠ 书眉必须在栏内 —— 它是本栏的第一个子元素，随栏钉住，
     因此不会滚上去穿过常驻的 .duruo-back。 */
.duruo-rail {
    position: sticky;
    top: 72px;   /* 与 .duruo-page 顶部留白一致，保两栏顶部平齐起步 */
}

/* ── 书眉：借 h1 的语义，收成小字（每跨页重复出现，故不宜大）
      2026.9.13 起**在左栏内**，不再整页宽 —— 随栏钉住，与返链永不叠印。
      ★ 21:3x 定（站长选）：**刊名要读得出是刊名** —— 彩蛋字体 ＋ 朱砂 ＋ 上方细线。
        字：ZCOOL XiaoWei（--font-hand，诗笺全页同款）；子集含「杜若」，安全。
        色/形：--seal 朱砂 ＋ 上一条 1px 细线 ＋ 字距 .42em
              —— 即被删那节 logs/字渡 的 .botany-kicker 的色与形（接回它）。
      ⚠ ZCOOL 子集 2418 字（2026.9.14 末为「青稞」页补入「稞」）；
        但母版本身缺约 20 个生僻字（如「穬」U+7A6C）**永远补不了** ⇒
        书眉仍只能写子集内已有的字；换物种名前先核 cmap，别凭印象。 ── */
.duruo-book {
    font-family: var(--font-hand);
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: .42em;
    color: var(--seal);
    border-top: 1px solid var(--border);
    padding-top: 14px;
    margin-bottom: 34px;
}

/* 图版：带原书版框（「钉住」由外层 .duruo-rail 承担，本层不再定位）*/
.duruo-plate {
    margin: 0;
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    padding: 12px 12px 10px;
    box-shadow: 0 1px 0 rgba(74,107,128,.06), 0 10px 30px -18px rgba(74,107,128,.35);
}
.duruo-frame { border: 1px solid rgba(74,107,128,.22); padding: 10px; }
.duruo-frame img { display: block; width: 100%; height: auto; }

/* 图下题名 —— 类一 · 册页特有。
   ⚠ 类二页面（册子之外的其它页面）「图下不加题名」，不得引这一段。 */
.duruo-cap {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
    font-family: var(--font-serif);
    font-size: .76rem;
    letter-spacing: .22em;
    color: var(--text-dim);
    text-align: center;
}

/* ═══ 说解：文本很短 ⇒ 不靠标题分节，靠「色阶 ＋ 间距」表达结构 ═══
   这一节的实际文本：9 段 ＋ 4 处引文，交替成四组
     （箕子《麦秀》／《说文》穬／《载驰》芃芃／《张堪传》两岐），
   每组 = 背景段 → 引出句 → 引文 → 注解段。于是排版只做两件事：

     ① **引文升格为「标本」**：浅朱砂 --duruo-quote（与竖线同色）＋ 略大于正文 ＋ 宽字距。
        四处引文一望即知，不必加小标题 —— 它就是这一页要解的东西。
     ② **间距即分组**：引文与紧跟的注解**贴紧**（10px，咬合成一对，因为注解
        解释的正是这句），组与组之间放到 **34px**（＝正文段距的两倍）。
        ⚠ 改前的实测节奏是反的：引文上下各 18px、而组界只有 16px
          ⇒ 13 个块近似均匀排列，四组文脉在视觉上完全没分出来。
        组界用 `blockquote + p + p` 选中（＝引文→注解→下一组首段），
        恰好命中三处，**纯 CSS，HTML 不加任何 class**。

   正文本身与 warm 的 p 同阶（.95rem），只把行高放得更松。── */
.duruo-text > p {
    margin: 0 0 16px;
    font-family: var(--font-serif);
    font-size: .95rem;
    line-height: 1.9;
    color: var(--text);
}
.duruo-text > p:last-child { margin-bottom: 0; }

/* 组与组之间：上一组的注解段 → 下一组的背景段 */
.duruo-text > blockquote + p + p { margin-top: 34px; }

/* 引文块 —— 覆盖 warm.css 第 160–169 行的规格
   （3px 暖灰左边线 + 淡底 + 圆角 6px）→ 图鉴要「左 2px 竖线 + 无底色」。
   特异性 0,1,1 > warm 的 blockquote 0,0,1，稳胜。
   显式走衬线：LXGW WenKai 子集缺「岐稞穬芃蔪辕鄘黍」8 字，
   而四处引文每处都踩中（黍 / 穬 / 芃 / 岐），走楷体会逐块混体。
   ★ 2026.9.13 22:0x 升格：字号 .92 → 1rem、字距 .05 → .08em、
     色 --text-soft（暖黑 .68）→ --ink 墨蓝。改前「比正文更小更灰」⇒
     引文读起来像脚注；竖线与文字同色后整块成为一体。
   ★ **2026.9.14 09:0x 换色（站长定）**：--ink 墨蓝 → **--duruo-quote 浅朱砂 #B5543F**。
     竖线与文字**仍用同一个 token** ⇒「整块成为一体」这条不变。
     取色依据：站上先例（通鉴各卷／食货志／圆箧）都把 #B5543F 当浅朱砂。
     ※ 对比度（实测复算）：浅朱砂 on --bg(#FEFDFA) ＝ **4.80:1** ⇒ 正文级 AA(4.5:1)
       过关，但余量薄（1rem/16px、常规字重，按正文级判）；同底旧色墨蓝是 5.57:1
       ⇒ 换色约吃掉 0.8 的余量。若日后调淡，先复算这个数。
   ⚠ 最长一处 20 字（张堪颂）：1rem + .08em ≈ 346px ＜ 正文栏内宽 500px ✓ 一行。
     小屏另在断点里降档（见文件末），否则 375px 下会折行。 */
.duruo-text blockquote {
    margin: 26px 0 10px;
    padding: 5px 0 5px 18px;
    background: none;
    border-left: 2px solid var(--duruo-quote);
    border-radius: 0;
    font-family: var(--font-serif);
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .08em;
    color: var(--duruo-quote);
}

/* ══════════════════════════════════════════════════════════════
   第二体例 ·「引文 ＋ 落款」（2026.9.14 起，自《植物名实图考》牛尾菜跨页）
   ──────────────────────────────────────────────────────────────
   青稞那页是「散文」：每组 = 背景段 → 引出句 → 引文 → 注解段，
   组界靠 `blockquote + p + p` 选中（＝引文 → 注解 → 下一组首段）。

   牛尾菜这页是「两条原文」：每条 = 引文 → 落款，恒为
     <blockquote>原文</blockquote>
     <p><cite>——书名，朝代·作者</cite></p>
   没有背景段、没有注解 —— 体例三条那套「出处起句 → 原文 → 一小段解释」，
   在本页被裁到只剩中间一件：出处改由**落款**承担（站长 2026.9.14 点名的正文，
   不补背景、不补解释）。

   两个体例共用同一份 CSS，**靠结构区分，不靠 class**（HTML 仍不加任何 class）：
     · 落款写作 `<p><cite>…</cite></p>` —— `cite` 是此页唯一的标签级钩子；
       样式挂在 `.duruo-text > p > cite` 上。青稞页无 cite ⇒ 恒不命中。
     · 组界在这里是「引文 → 落款 → **下一处引文**」，即
       `blockquote + p + blockquote`；青稞页的序列是 p,BQ,p,p,BQ…，
       三连里第三件永远是 p ⇒ 恒不命中。
   ⚠ 两体例的两个节奏数不变：**咬合 10px**（落款贴住它上面那句引文，由
     `blockquote` 的 margin-bottom 给出）、**组界 34px**（＝段距两倍）。
   ⚠ 将来若某页的引文不是「首件」，上距仍是 26px；是首件时才归零。
   ⚠ 语义取舍：`cite` 规范上只标「作品名」，这里把朝代·作者一并装进去
     —— 换来的是「HTML 零 class」这条纪律。已知不严格，记录在案。 */

.duruo-text > p > cite {
    display: block;              /* 落款自成一行；多行时整段缩进，不做悬挂 */
    padding-left: 18px;          /* 与引文正文左缘对齐（引文 padding-left 亦 18px）*/
    font-family: var(--font-serif);
    font-style: normal;          /* cite 默认斜体，必须撤掉 */
    font-size: .8rem;
    line-height: 1.9;
    letter-spacing: .06em;
    /* ⚠ 不用 --text-dim：.8rem/12.8px 属正文级，它在本底上只有 **3.59:1**，
       不达 AA(4.5:1)；--text-soft 是 **5.35:1** ✓。若日后想更淡，
       先复算这两个数，别直接换 token。 */
    color: var(--text-soft);
}

/* 首件是引文时不留上距 —— 竖线顶端与书眉上细线同处版心顶，两栏平齐起步 */
.duruo-text > blockquote:first-child { margin-top: 0; }

/* 组界（第二体例）：引文 → 落款 → 下一处引文 */
.duruo-text > blockquote + p + blockquote { margin-top: 34px; }

/* ══════════════════════════════════════════════════════════════
   目录页（刊／书两层共用）—— 2026.9.14 新建
   ──────────────────────────────────────────────────────────────
   两页：poetry/杜若/index.html（列「书」）／
         植物名实图考/index.html（列「物种」）。
   先例＝logs/字渡/ 与 logs/字渡/潮留/ 的两级目录页；本刊只换两处：
     ① 版心留在 warm 的 .container（680）—— 目录是窄列表，不必 960；
        （册页的 960 是「图 360 ＋ 文 520」量出来的，目录没有图）
     ② 首件沿刊内形制：上细线 ＋ 宽字距（丛刊页＝刊名的样子，
        书目录页＝书名的样子）。

   ⚠ 安全边界：本段**全部选择器带 `.duruo-catalog` 前缀**，而该类只写在
     这两页的 `<div class="container duruo-catalog">` 上 ⇒ **对册页零影响**
     （册页没有这个类）。新增刊层样式时请守住这条：类名带前缀、
     或选择器带作用域。
   ⚠ 不放图 —— 站长口径允许目录页引图库（图下不加题名），但本刊现只二株，
     缩图会与册页「一屏一图」抢戏；等物种到六八株再议。
   ⚠ 字体：正文（书名／条目／注释／页脚）一律走衬线；**只有**
     丛刊页的刊名 h1 与 tagline 走 ZCOOL。理由：ZCOOL 子集 2417 字，
     实测**缺「植」「株」「穬」** ⇒ 书名「植物名实图考」若交给 ZCOOL
     会逐字掉回 fallback、同一行混体。tagline 走 ZCOOL 是照站上房间页，
     换句子前先核 cmap。 */

/* 丛刊页的刊名：沿用 .duruo-book（ZCOOL ＋ 朱砂 ＋ 上细线 ＋ 字距 .42em），
   只把下距 34 → 10px —— 目录页里它下面紧跟一行说明，不是图版。 */
.duruo-catalog .duruo-book { margin-bottom: 10px; }

/* 书名（书目录页的 h1）：与书眉同**形制**（上细线 ＋ 宽字距 ＋ 墨色标题色），
   不同字号 —— 书眉是刊名（1.05rem，两字，小得好）、书名是六字，取 1.25rem。
   ⚠ 不可改用 .duruo-book：ZCOOL 子集缺「植」字，会逐字掉回 fallback。 */
.duruo-bookname {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: .18em;
    color: var(--text-title);
    border-top: 1px solid var(--border);
    padding-top: 14px;
    margin-bottom: 10px;
}

/* 说明行（刊语 ／ 书的性质）—— 对应站上房间页 .subtitle 的位置 */
.duruo-lead {
    font-size: .85rem;
    color: var(--text-dim);
    margin-bottom: 48px;
}

/* 条目列表 —— 与站上 .column-list 同形：细线分隔，名在上、注在下 */
.duruo-index { list-style: none; margin: 0; padding: 0; }
.duruo-index li { border-bottom: 1px solid var(--border); padding: 18px 0; }
.duruo-index a {
    display: block;
    text-decoration: none;
    color: var(--text);
    font-size: .95rem;
    letter-spacing: .06em;
}
.duruo-index a:hover { color: var(--hover); }
.duruo-index .note {
    display: block;
    margin-top: 4px;
    font-size: .78rem;
    letter-spacing: 0;
    color: var(--text-faint);
}

/* 刊语与页脚 —— 目录页不是册页，.duruo-page 那套不进来，
   这里照站上房间页的规格自带一份（作用域锁在 .duruo-catalog 内，
   避免误伤站上同名的 .tagline／footer 用法）。 */
.duruo-catalog .tagline {
    text-align: center;
    margin: 60px auto 0;
    font-family: var(--font-hand);
    font-size: .85rem;
    color: var(--text-faint);
}
.duruo-catalog footer {
    margin-top: 64px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
    text-align: center;
    font-size: .8rem;
    color: var(--text-dim);
}
.duruo-catalog footer a { color: var(--text-dim); text-decoration: none; }
.duruo-catalog footer a:hover { color: var(--hover); }

/* ══ 页尾翻页（2026.9.14 接，两跨页各异一侧）══
   用站上的 `.series-nav`（warm.css 已有），**嵌在 `.duruo-text` 之内**。
   位置不是一个任意选择 —— 册页只有两处可放：
     · 放 `.duruo-entry` 之后（页面级）⇒ 计入「跑出量」⇒ 叠印阈值
       697 → 约 780px，720 高的笔记本会重新叠印约 59px；
     · 放 `.duruo-text` 末尾（栏内）⇒ 栏内新增只进 sticky 的**行程**，
       不进跑出量 ⇒ **阈值一动不动，还白赚等量钉住行程**。
   一句话：**册页里凡是要加的东西，都加在对侧栏内**。
   ⚠ 站上先例在 `.series-nav` 末尾补 `<div style="clear:both;">` 收浮动
     （因 prev/next 是 float）—— 本刊改为在这里用 overflow 含浮动，
     以保住「册页 HTML 无内联样式」这条。若日后 warm.css 改了浮动写法，
     这里要跟着回看。 */
.duruo-text .series-nav { overflow: hidden; }

/* 跳转链接：名称加下滑虚线、无箭头（2026.9.14 起，站长定）。
   覆盖 warm.css 的 `.series-nav a { text-decoration: none }`；
   两册页共用同一份 duruo.css ⇒ 自动覆盖牛尾菜页的 prev 链接。
   颜色沿用 warm 的 --text-dim，hover 走 --hover。 */
.duruo-text .series-nav a {
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: 3px;
}

/* ═══ 小屏回退：图在上、文在下（断点取 600，与 warm.css 一致）
   sticky 与 fixed 一并回退为常规流 —— 单栏下「钉住」没有意义，
   返链也不再常驻（顶部本就有它自己的位置）。
   顺序：返链 → 书眉 → 图 → 说解，与桌面同序。 ═══ */
@media (max-width: 600px) {
    .duruo-entry { grid-template-columns: 1fr; gap: 22px; }
    .duruo-page { padding: 56px 16px 56px; }
    .duruo-text { padding-bottom: 0; }   /* ★ 必加：否则小屏 56 ＋ 80 多出 80px 底白 */
    .duruo-rail { position: static; }
    .duruo-back { position: static; margin-bottom: 32px; }

    /* 说解与引文：窄屏下字号与字距各收一档 —— 目的是保住「最长 20 字一行不折」。
       375px 时正文栏 343px，扣掉竖线 2 ＋ 左内距 14 ⇒ 可用 327px；
       20 字 × (.92rem 14.72 + .04em 0.589) ≈ 306px ✓ 余 21px。
       （桌面档若原样下来会折行：20 × (16 + 1.28) ≈ 346px ＞ 327px。） */
    .duruo-text blockquote {
        margin: 22px 0 8px;
        padding-left: 14px;
        font-size: .92rem;
        letter-spacing: .04em;
    }
    .duruo-text > blockquote + p + p { margin-top: 26px; }

    /* 第二体例在小屏：落款左缘跟着引文缩到 14px，字号不再降档
       （最长一处「——《植物名实图考》，清·吴其濬。」15 字 ≈ 203px ＜ 可用 327px）*/
    .duruo-text > p > cite { padding-left: 14px; }
    .duruo-text > blockquote + p + blockquote { margin-top: 26px; }

    /* 目录页：小屏收内距（照站上房间页 32 / 16 / 64） */
    .duruo-catalog.container { padding: 32px 16px 64px; }
}
