/* 跨页面共用组件（2026-10-16 自 legacy.css 收口：去 Lab 守卫，段序与原层叠一致；段头保留 Lab 方案出处） */

/* dim:project-rows start（同时服务 article-list、search-results 的行样式） */
.rows > li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 24px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
.rows-plain > li { grid-template-columns: minmax(0, 1fr) auto; }
.row-num { font: 600 10px/1.8 var(--mono); letter-spacing: .14em; color: var(--on-soot-muted); }
.row-main h3 { font: 700 var(--fs-h2)/1.25 var(--serif); letter-spacing: var(--ls-h2); }
.row-main h3 a { text-decoration: none; }
.row-main h3 a:hover { color: var(--on-soot-accent); }
.row-main p { margin-top: 8px; max-width: 46em; color: var(--on-soot-muted); }
.row-meta { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; max-width: 260px; }
@media (max-width: 860px) {
  .rows > li { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
  .rows-plain > li { grid-template-columns: minmax(0, 1fr); }
  .row-meta { grid-column: -2; justify-content: flex-start; max-width: none; }
  .row-main h3 { font-size: 21px; }
}
/* dim:project-rows end */

/* dim:tags start — D02 落地 = Lab D02-V4「账本栏」（用户 2026-10-04 选定）；由 tools/land_d02_v4.py 从 lab/dims/D02/v4/d02.{css,js} 生成，勿手改 */
/* 落地补充：只在 ≥ 861px 生效，≤ 860px 沿用基础细框标签 */
@media (min-width: 861px) {
/* D02-V4：账本栏（Ledger Chips Column）
   参考：refs/lixiaolai-com-news-ledger-chips.png
   只写 :is(body.page-home, body.landed-a01) 作用域下的规则 */

/* 1. Projects 页行网格：右侧为 240px 固定宽度的垂直对齐列（账本栏） */
:is(body.page-home, body.landed-a01) [data-dim="project-rows"] .rows > li {
  grid-template-columns: 48px minmax(0, 1fr) 240px;
  gap: 32px;
  align-items: start;
}

/* 账本栏容器：整页上下严格对齐一列，内部呈精密流水账排布 */
:is(body.page-home, body.landed-a01) [data-dim="project-rows"] .row-meta {
  width: 240px;
  max-width: 240px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 8px;
  row-gap: 8px;
  align-items: baseline;
  justify-content: start;
  text-align: left;
  padding-top: 4px;
}

/* 领域标签与年份：收成状态上方一行安静的 mono 流水账元信息（无框） */
:is(body.page-home, body.landed-a01) [data-dim="project-rows"] .row-meta > .tag:not(.tag-status) {
  grid-column: 1;
  grid-row: 1;
  border: none;
  padding: 0;
  background: none;
  font: 600 var(--fs-micro)/1.3 var(--mono);
  letter-spacing: var(--ls-label-tight);
  text-transform: uppercase;
  color: var(--on-soot-muted);
  white-space: nowrap;
}

:is(body.page-home, body.landed-a01) [data-dim="project-rows"] .row-meta > .row-years {
  grid-column: 2;
  grid-row: 1;
  font: 600 var(--fs-micro)/1.3 var(--mono);
  letter-spacing: var(--ls-label-tight);
  color: var(--on-soot-muted);
  white-space: nowrap;
}

/* 2. 状态标签基础：去掉边框，状态名 + 下方一条五格生命周期刻度 */
:is(body.page-home, body.landed-a01) .tag-status {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  border: none;
  padding: 0;
  background: none;
  font: 600 var(--fs-micro)/1.3 var(--mono);
  letter-spacing: var(--ls-label-tight);
  text-transform: uppercase;
  color: var(--on-soot-fg);
  text-decoration: none;
}

/* projects 列表里的状态标签：横跨整行，多状态自动上下叠放 */
:is(body.page-home, body.landed-a01) [data-dim="project-rows"] .row-meta > .tag-status {
  grid-column: 1 / -1;
}

/* 3. 五格生命周期刻度尺（伪元素绘制）：
   5 个方格，单格 10px 宽、4px 高、3px 间隙，总宽 62px */
:is(body.page-home, body.landed-a01) .tag-status::after {
  content: "";
  display: block;
  width: 62px;
  height: 4px;
  margin-top: 5px;
  box-sizing: border-box;
}

/* RESEARCH：研发与试验（填 1 格，10px） */
:is(body.page-home, body.landed-a01) .tag-status[data-status="RESEARCH"] {
  color: var(--dust);
}
:is(body.page-home, body.landed-a01) .tag-status[data-status="RESEARCH"]::after {
  background:
    linear-gradient(var(--bone), var(--bone)) 0 0 / 10px 100% no-repeat,
    repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 13px) 0 0 / 62px 100% no-repeat;
}

/* DEVELOPING：开发中（填 2 格，23px） */
:is(body.page-home, body.landed-a01) .tag-status[data-status="DEVELOPING"] {
  color: var(--on-soot-fg);
}
:is(body.page-home, body.landed-a01) .tag-status[data-status="DEVELOPING"]::after {
  background:
    repeating-linear-gradient(90deg, var(--bone) 0 10px, transparent 10px 13px) 0 0 / 23px 100% no-repeat,
    repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 13px) 0 0 / 62px 100% no-repeat;
}

/* ACTIVE：进行中（填 3 格，36px） */
:is(body.page-home, body.landed-a01) .tag-status[data-status="ACTIVE"] {
  color: var(--on-soot-fg);
}
:is(body.page-home, body.landed-a01) .tag-status[data-status="ACTIVE"]::after {
  background:
    repeating-linear-gradient(90deg, var(--bone) 0 10px, transparent 10px 13px) 0 0 / 36px 100% no-repeat,
    repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 13px) 0 0 / 62px 100% no-repeat;
}

/* OPERATING：运行中（填 4 格满，49px，骨白强调） */
:is(body.page-home, body.landed-a01) .tag-status[data-status="OPERATING"] {
  color: var(--on-soot-fg);
}
:is(body.page-home, body.landed-a01) .tag-status[data-status="OPERATING"]::after {
  background:
    repeating-linear-gradient(90deg, var(--bone) 0 10px, transparent 10px 13px) 0 0 / 49px 100% no-repeat,
    repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 13px) 0 0 / 62px 100% no-repeat;
}

/* REFRESH REQUIRED：橙红字色，5 格刻度闪烁一次后停在半透明 */
:is(body.page-home, body.landed-a01) .tag-status[data-status="REFRESH REQUIRED"] {
  color: var(--on-soot-accent);
}
:is(body.page-home, body.landed-a01) .tag-status[data-status="REFRESH REQUIRED"]::after {
  background: repeating-linear-gradient(90deg, var(--on-soot-accent) 0 10px, transparent 10px 13px) 0 0 / 62px 100% no-repeat;
  animation: d02-v4-pulse 1.4s ease-out 1 forwards;
}

@keyframes d02-v4-pulse {
  0% { opacity: 1; }
  35% { opacity: 0.15; }
  70% { opacity: 0.95; }
  100% { opacity: 0.45; }
}

@media (prefers-reduced-motion: reduce) {
  :is(body.page-home, body.landed-a01) .tag-status[data-status="REFRESH REQUIRED"]::after {
    animation: none;
    opacity: 0.45;
  }
}

/* ACQUIRED / ARCHIVED：历史项目，五格全空、虚线描边、文字变暗 */
:is(body.page-home, body.landed-a01) .tag-status:is([data-status="ACQUIRED"], [data-status="ARCHIVED"]) {
  color: var(--on-soot-muted);
  opacity: 0.65;
}
:is(body.page-home, body.landed-a01) .tag-status:is([data-status="ACQUIRED"], [data-status="ARCHIVED"])::after {
  background-image:
    repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 4px, var(--line) 4px 6px, transparent 6px 8px, var(--line) 8px 10px, transparent 10px 13px),
    repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 4px, var(--line) 4px 6px, transparent 6px 8px, var(--line) 8px 10px, transparent 10px 13px),
    repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 9px, var(--line) 9px 10px, transparent 10px 13px);
  background-size: 62px 1px, 62px 1px, 62px 4px;
  background-position: 0 0, 0 100%, 0 0;
  background-repeat: no-repeat;
  opacity: 0.75;
}

/* 4. Now 页状态卡：卡底状态标签贴底左对齐 */
:is(body.page-home, body.landed-a01) .status-grid > li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
:is(body.page-home, body.landed-a01) .status-grid > li .tag-status {
  margin-top: auto;
  padding-top: 18px;
}

/* 5. 双语状态名微排版（配合 d02.js 拆分的节点结构，保持原文 innerText 不变） */
:is(body.page-home, body.landed-a01) .tag-status .d02-en {
  font-weight: 700;
  letter-spacing: var(--ls-label-tight);
}
:is(body.page-home, body.landed-a01) .tag-status .d02-sep {
  opacity: 0.35;
  margin: 0 1px;
}
:is(body.page-home, body.landed-a01) .tag-status .d02-zh {
  font-size: 8.5px;
  letter-spacing: 0.04em;
  opacity: 0.8;
}
}
/* dim:tags end */

/* dim:row-feedback start — I10 落地 = Lab I10-V1「蓝图准星」（用户 2026-10-01 选定）；由 tools/land_i10_v1.py 从 lab/dims/I10/v1/i10.css 生成，勿手改 */
/* I10-V1 蓝图准星（Claude）。方向 8 线条绘制，接 I09-V1 蓝图描线：
   悬停 = 四角括线从行外收拢到行框 + 行号点亮成橙红斜格 + 行底描一道橙红；整行可点。
   按下 = 括线再向内压 3px、色块转深；键盘焦点 = 同悬停，括线加粗并常亮。
   没有链接的行：只出现虚线灰括线，不点亮、不描线（「尚未发表」）。 */
:is(body.page-home, body.landed-a01) {
  --v1-arm: 16px;                 /* 括线臂长 */
  --v1-w: 1.5px;                  /* 括线粗细 */
  --v1-ink: var(--on-soot-accent);
}
:is(body.page-home, body.landed-a01) .rows > li { position: relative; }

/* 整行可点：标题链接的点击区铺满整行 */
:is(body.page-home, body.landed-a01) .rows > li .row-main h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* ---- 四角括线（li::before，8 段渐变），静止时在行外 18px、透明 ---- */
:is(body.page-home, body.landed-a01) .rows > li::before {
  content: ""; position: absolute; inset: -4px -26px; pointer-events: none; opacity: 0;
  --c: var(--v1-ink);
  background:
    linear-gradient(var(--c), var(--c)) 0 0 / var(--v1-arm) var(--v1-w),
    linear-gradient(var(--c), var(--c)) 0 0 / var(--v1-w) var(--v1-arm),
    linear-gradient(var(--c), var(--c)) 100% 0 / var(--v1-arm) var(--v1-w),
    linear-gradient(var(--c), var(--c)) 100% 0 / var(--v1-w) var(--v1-arm),
    linear-gradient(var(--c), var(--c)) 0 100% / var(--v1-arm) var(--v1-w),
    linear-gradient(var(--c), var(--c)) 0 100% / var(--v1-w) var(--v1-arm),
    linear-gradient(var(--c), var(--c)) 100% 100% / var(--v1-arm) var(--v1-w),
    linear-gradient(var(--c), var(--c)) 100% 100% / var(--v1-w) var(--v1-arm);
  background-repeat: no-repeat;
  transform: scale(1.04, 1.5);
  transition: transform 280ms cubic-bezier(.2, .8, .2, 1), opacity 160ms linear;
}

/* ---- 行号色块（.row-num::before），与区块标签的 4px 斜格同形 ---- */
:is(body.page-home, body.landed-a01) .row-num { position: relative; isolation: isolate; transition: color 160ms linear; }
:is(body.page-home, body.landed-a01) .row-num::before {
  content: ""; position: absolute; inset: -3px -9px -2px -7px; z-index: -1; background: var(--burn);
  clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
  transform: scaleX(0); transform-origin: 0 50%; transition: transform 220ms cubic-bezier(.3, .7, .2, 1), background-color 100ms linear;
}

/* ---- 行底描线（li::after），叠在原灰线上 ---- */
:is(body.page-home, body.landed-a01) .rows > li::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--v1-ink); pointer-events: none;
  transform: scaleX(0); transform-origin: 0 50%; transition: transform 360ms cubic-bezier(.6, 0, .2, 1);
}

/* ================= 悬停 / 焦点（有链接的行） ================= */
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus)::before { opacity: 1; transform: none; }
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus) .row-num { color: var(--on-burn-fg); }
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus) .row-num::before { transform: none; }
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus)::after { transform: none; }
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus) .row-main h3 a { color: var(--on-soot-accent); }

/* 键盘焦点：括线加粗、臂加长；链接自带的 outline 收起（括线就是焦点框） */
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:has(a:focus-visible), .i10-focus) { --v1-w: 2.5px; --v1-arm: 24px; }
:is(body.page-home, body.landed-a01) .rows > li .row-main h3 a:focus-visible { outline: none; }

/* ================= 按下 ================= */
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:active, .i10-press)::before { transform: scale(.985, .9); transition-duration: 90ms; }
:is(body.page-home, body.landed-a01) .rows > li:has(a):is(:active, .i10-press) .row-num::before { background-color: var(--burn-2); }

/* ================= 没有链接的行：虚线灰括线，表示「尚未发表」 ================= */
:is(body.page-home, body.landed-a01) .rows > li:not(:has(a))::before {
  --c: var(--line);
  background-size: 6px var(--v1-w), var(--v1-w) 6px, 6px var(--v1-w), var(--v1-w) 6px, 6px var(--v1-w), var(--v1-w) 6px, 6px var(--v1-w), var(--v1-w) 6px;
}
:is(body.page-home, body.landed-a01) .rows > li:not(:has(a)):is(:hover, .i10-hover)::before { opacity: 1; transform: scale(1.01, 1.12); }

/* 卡片内的整行链接不受影响；减弱动效：保留括线 / 色块 / 描线的出现，去掉收拢与展开 */
@media (prefers-reduced-motion: reduce) {
  :is(body.page-home, body.landed-a01) .rows > li::before, :is(body.page-home, body.landed-a01) .rows > li::after, :is(body.page-home, body.landed-a01) .row-num::before { transition: opacity 120ms linear; }
  :is(body.page-home, body.landed-a01) .rows > li::before { transform: none; }
  :is(body.page-home, body.landed-a01) .row-num::before, :is(body.page-home, body.landed-a01) .rows > li::after { transform: none; opacity: 0; }
  :is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus) .row-num::before,
  :is(body.page-home, body.landed-a01) .rows > li:has(a):is(:hover, .i10-hover, :has(a:focus-visible), .i10-focus)::after { opacity: 1; }
}
/* ---- 落地补充 ---- */
/* 窄屏：括线外伸收到 6px、静止时不横向放大（桌面版不变），避免撑出横向滚动 */
/* 首页行号栏更宽、行号被拉伸到整栏：色块按数字宽度贴合（行号本就左对齐，文字位置不变） */
:is(body.page-home, body.landed-a01) .rows > li .row-num { justify-self: start; }
@media (max-width: 860px) { :is(body.page-home, body.landed-a01) .rows > li::before { inset: -4px -6px; transform: scale(1, 1.5); } }
/* dim:row-feedback end */

/* dim:project-cards start（archive-cards、contact-cards、featured-writing 共用） */
.cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards > li { padding: 22px 22px 26px 0; border-bottom: 1px solid var(--line); }
.cards > li + li { padding-left: 22px; border-left: 1px solid var(--line); }
.cards-3 > li:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
.card-num { display: block; margin-bottom: 26px; font: 700 10px/1 var(--mono); letter-spacing: .14em; color: var(--on-soot-accent); }
.cards h3 { font: 700 var(--fs-h3)/1.35 var(--serif); }
.cards h3 a { text-decoration: none; }
.cards p { margin-top: 10px; color: var(--on-soot-muted); font-size: 13px; line-height: 1.7; }
.card-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.card-q { padding-top: 10px; border-top: 1px dashed var(--line); font-style: normal; }
@media (max-width: 1000px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cards > li:nth-child(odd) { padding-left: 0; border-left: 0; } .cards-3 > li { padding-left: 22px; border-left: 1px solid var(--line); } }
@media (max-width: 860px) { .cards, .cards-3 { grid-template-columns: 1fr; } .cards > li, .cards > li + li, .cards-3 > li, .cards-3 > li + li { padding: 20px 0; border-left: 0; } }
/* dim:project-cards end */

/* dim:card-feedback start — I11 落地 = Lab I11-V11「书封」（用户 2026-10-02 选定）；由 tools/land_i11_v11.py 从 lab/dims/I11/v11/i11.{css,js} 生成，勿手改 */
/* I11-V11 书封（Claude）。参考 refs/r3-lixiaolai-cover.png：李笑来书页左上那块纯色书封，书名直接排在封面上。
   悬停 = 一本书从卡格底边（书架）升起到卡格右侧：纯色封面 + 书脊高光 + 投影，封面字由 canvas 用卡片标题排出；
   卡内文字在书封一侧淡出让位（mask 横向渐隐）。按下 = 书往下压 4px；键盘焦点 = 同悬停 + 卡格内嵌 2px 橙红框。
   没有链接的卡（Now 状态卡）：不出书，只把状态标签描成骨白。i11.js 生成 canvas.i11-cover（aria-hidden）。 */
:is(body.page-home, body.landed-a01) :is(.cards, .status-grid) > li { position: relative; }
:is(body.page-home, body.landed-a01) .cards > li:has(a) { cursor: pointer; overflow: hidden; }

:is(body.page-home, body.landed-a01) .i11-cover {
  position: absolute; right: 22px; bottom: 0; z-index: 1; pointer-events: none;
  width: 104px; height: 146px;
  box-shadow: -10px 14px 26px color-mix(in srgb, var(--soot) 70%, transparent);
  transform: translateY(calc(100% + 30px)) rotate(4deg); transform-origin: 50% 100%;
  transition: transform 300ms cubic-bezier(.5, 0, .75, 0);
}

/* 文字让位：遮罩 200% 宽，静止时只露出全黑的前半段（= 不遮），悬停时滑到右侧渐隐处 */
:is(body.page-home, body.landed-a01) .cards > li:has(a) :is(h3, p, .card-meta) {
  -webkit-mask-image: linear-gradient(90deg, #000 0 50%, transparent 68%); mask-image: linear-gradient(90deg, #000 0 50%, transparent 68%);
  -webkit-mask-size: 200% 100%; mask-size: 200% 100%;
  -webkit-mask-position: 0 0; mask-position: 0 0;
  transition: -webkit-mask-position 320ms cubic-bezier(.2, .8, .2, 1), mask-position 320ms cubic-bezier(.2, .8, .2, 1);
}

/* ================= 悬停 / 焦点 ================= */
:is(body.page-home, body.landed-a01) .cards > li:has(a):is(:hover, .i11-hover, :focus-within, .i11-focus) .i11-cover {
  transform: translateY(0) rotate(-2deg);
  transition: transform 420ms cubic-bezier(.16, 1.2, .3, 1);
}
:is(body.page-home, body.landed-a01) .cards > li:has(a):is(:hover, .i11-hover, :focus-within, .i11-focus) :is(h3, p, .card-meta) {
  -webkit-mask-position: 42% 0; mask-position: 42% 0;
}
:is(body.page-home, body.landed-a01) .cards > li:has(a):is(:has(:focus-visible), .i11-focus) { box-shadow: inset 0 0 0 2px var(--burn); }
:is(body.page-home, body.landed-a01) .cards h3 a:focus-visible { outline: none; }

/* ================= 按下 ================= */
:is(body.page-home, body.landed-a01) .cards > li:has(a):is(:active, .i11-press) .i11-cover {
  transform: translateY(4px) rotate(-1deg); transition-duration: 90ms;
}

/* ================= 没有链接的卡 ================= */
:is(body.page-home, body.landed-a01) .status-grid > li .tag { transition: color 160ms linear, border-color 160ms linear; }
:is(body.page-home, body.landed-a01) .status-grid > li:is(:hover, .i11-hover) .tag { color: var(--bone); border-color: var(--bone); }

@media (prefers-reduced-motion: reduce) {
  :is(body.page-home, body.landed-a01) .i11-cover { transition: opacity 150ms linear !important; opacity: 0; transform: none !important; }
  :is(body.page-home, body.landed-a01) .cards > li:has(a):is(:hover, .i11-hover, :focus-within, .i11-focus) .i11-cover { opacity: 1; }
  :is(body.page-home, body.landed-a01) .cards > li:has(a) :is(h3, p, .card-meta) { transition: none; }
}
/* dim:card-feedback end */

/* dim:project-cards-plate start — E02 落地 = Lab E02-V5「图版」（用户 2026-10-04 选定）；由 tools/land_e02_v5.py 从 lab/dims/E02/v5/e02.{css,js} 生成，勿手改 */
/* E02-V5：图版 (Plates)
   参考：Karol Ortyl 首页「黑底上一件件图形物件 + FIG. 小编号」
   只写 :is(body.page-home, body.landed-a01) 作用域下的规则
   重点保证：
   1. 仅限定在 [data-dim="project-cards"] .cards 与 [data-dim="featured-writing"] .cards；
   2. 32px 卡片间隙，取消连体竖分隔线；
   3. 标题放大到 21px；
   4. .card-num 定位在图版左下角压在图版上方作「图号」；
   5. 严格保留 I11 书封：li 保持 position: relative 与 overflow: hidden，不占用 li 的 box-shadow，不给 h3/p/.card-meta 设 mask，卡高保持 >= 200px。
*/

/* 1. 网格容器：32px 间隙，消除顶部分隔线 */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  border-top: none;
}

:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  border-top: none;
}

/* 2. 卡片单元：独立暗场抬升面、精细边框，保持 position: relative 与 overflow: hidden */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards > li,
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards > li {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 350px;
  padding: 0 0 24px 0;
  border: 1px solid var(--line);
  background: var(--soot-raise);
  box-sizing: border-box;
  transition: border-color 220ms ease;
}

/* 清除原有相邻卡片的左边框与缩进覆盖，确保每张卡为独立图版框体 */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards > li + li,
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards > li + li {
  padding-left: 0;
  border-left: 1px solid var(--line);
}

:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards-3 > li:nth-child(3n + 1) {
  padding-left: 0;
  border-left: 1px solid var(--line);
}

/* 悬停与活动时的边框强化（不用 box-shadow，留给 I11） */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards > li:hover,
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards > li:hover {
  border-color: color-mix(in srgb, var(--bone) 35%, transparent);
}

/* 3. 顶部图版 Canvas */
:is(body.page-home, body.landed-a01) .e02-plate {
  display: block;
  width: 100%;
  height: 150px;
  border-bottom: 1px solid var(--line);
  background: var(--soot);
  flex-shrink: 0;
  pointer-events: none;
}

/* 4. 卡片编号：移到图版左下角压在图版上方作「图号」（Writing 页无此元素） */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards > li .card-num {
  position: absolute;
  top: 114px;
  left: 14px;
  z-index: 2;
  margin: 0;
  padding: 3px 8px;
  font-family: var(--mono);
  font-size: var(--fs-label);
  font-weight: 700;
  line-height: 1;
  letter-spacing: var(--ls-label-wide);
  color: var(--bone);
  background: color-mix(in srgb, var(--soot) 88%, transparent);
  border: 1px solid var(--line);
  border-radius: 2px;
  pointer-events: none;
}

/* 5. 标题放大到约 21px */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards h3,
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards h3 {
  font-family: var(--serif);
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -.01em;
}

:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards h3 a,
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards h3 a {
  text-decoration: none;
  color: var(--on-soot-fg);
  transition: color 140ms ease;
}

:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards h3 a:hover,
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards h3 a:hover {
  color: var(--on-soot-accent);
}

/* 6. 首页卡片文字区微排版 */
:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards h3 {
  margin-top: 18px;
  padding: 0 20px;
}

:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards p:not(.card-meta):not(.card-q) {
  margin-top: 10px;
  padding: 0 20px;
  color: var(--on-soot-muted);
  font-size: 13px;
  line-height: 1.7;
}

:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards .card-meta {
  margin-top: 14px;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

:is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards .card-q {
  margin-top: auto;
  margin-left: 20px;
  margin-right: 20px;
  padding-top: 12px;
  padding-bottom: 2px;
  border-top: 1px dashed var(--line);
  font-size: 12px;
  line-height: 1.6;
  color: var(--dust);
  font-style: normal;
}

/* 7. Writing 页卡片文字区微排版（Writing 页 card-meta 在 h3 前面） */
:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards .card-meta {
  margin-top: 18px;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards h3 {
  margin-top: 10px;
  padding: 0 20px;
}

:is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards p:not(.card-meta) {
  margin-top: 10px;
  padding: 0 20px;
  color: var(--on-soot-muted);
  font-size: 13px;
  line-height: 1.7;
}

/* 8. 响应式降级（避免小屏幕横向溢出，桌面 1440 为基准） */
@media (max-width: 1000px) {
  :is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  :is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (max-width: 640px) {
  :is(body.page-home, body.landed-a01) [data-dim="project-cards"] .cards,
  :is(body.page-home, body.landed-a01) [data-dim="featured-writing"] .cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
/* dim:project-cards-plate end */

/* dim:timeline-preview start（milestones、timeline-full 内列表共用） */
.tl-compact > li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.tl-compact b { font: 600 11px/1.7 var(--mono); letter-spacing: .1em; color: var(--on-soot-muted); }
.tl-compact > li:last-child b { color: var(--on-soot-accent); }
@media (max-width: 860px) { .tl-compact > li { grid-template-columns: 74px minmax(0, 1fr); gap: 12px; } }
/* dim:timeline-preview end */

/* dim:timeline-ruler start — G01 落地 = Lab G01-V1「比例刻度尺」（用户 2026-10-04 选定）；由 tools/land_g01_v1.py 从 lab/dims/G01/v1/g01.{css,js} 生成，勿手改 */
@media (min-width: 861px) {
/* 重复类名 = 补回原 Lab 守卫的一级优先级：项目页上刻度尺要盖过 E10 编年主线的 [data-landed="e10"] .v9-* 规则 */
/* G01-V1「比例刻度尺」（Claude）：列表 → 横贯全宽的蓝图刻度尺。
   事件按真实年份比例落在尺上；标签上下分道，用虚线引线连到尺上的斜方节点。
   布局由 g01.js 计算（--x / 分道 / 引线长度），本文件只管外观。 */

body .g01-ruler.g01-ruler {
  position: relative;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  height: var(--g01-h, 320px);
}

/* 尺身：canvas（aria-hidden，只画线与刻度，不画字） */
body .g01-scale {
  position: absolute;
  left: 0;
  width: 100%;
  height: 28px;
  top: calc(var(--g01-axis, 160px) - 14px);
  pointer-events: none;
}

/* 每条 = 一枚标签，绝对定位在尺的上方或下方 */
body .g01-ruler.g01-ruler > li {
  position: absolute;
  left: var(--x, 0px);
  width: max-content;
  max-width: var(--g01-w, 210px);
  padding: 0 0 0 12px;
  border: 0;
  display: block;
  grid-template-columns: none;
  text-align: left;
  cursor: default;
}
body .g01-ruler.g01-ruler > li.is-end {
  left: auto;
  right: calc(100% - var(--x, 0px));
  padding: 0 12px 0 0;
  text-align: right;
}
body .g01-ruler.g01-ruler > li.is-up { bottom: calc(100% - var(--g01-axis) + var(--lead)); }
body .g01-ruler.g01-ruler > li.is-down { top: calc(var(--g01-axis) + var(--lead)); }

/* 引线：从标签左缘竖直落到尺身（虚线），终端是一枚倾斜方节点 */
body .g01-ruler.g01-ruler > li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0;
  height: var(--lead);
  border-left: 1px dashed var(--dust);
  transition: border-color .2s;
  pointer-events: none;
}
body .g01-ruler.g01-ruler > li.is-end::before { left: auto; right: 0; border-left: 0; border-right: 1px dashed var(--dust); }
body .g01-ruler.g01-ruler > li.is-up::before { top: 100%; }
body .g01-ruler.g01-ruler > li.is-down::before { bottom: 100%; }

body .g01-ruler.g01-ruler > li::after {
  content: "";
  position: absolute;
  left: -6px;
  width: 9px;
  height: 9px;
  background: var(--soot);
  border: 1px solid var(--bone);
  box-shadow: inset 0 0 0 2px var(--soot), inset 0 0 0 5px var(--dust);
  transform: rotate(9deg);
  transition: border-color .2s, box-shadow .2s;
  pointer-events: none;
}
body .g01-ruler.g01-ruler > li.is-end::after { left: auto; right: -6px; }
body .g01-ruler.g01-ruler > li.is-up::after { top: calc(100% + var(--lead) - 5px); }
body .g01-ruler.g01-ruler > li.is-down::after { bottom: calc(100% + var(--lead) - 5px); }

body .g01-ruler.g01-ruler > li:hover::before,
body .g01-ruler.g01-ruler > li.is-now::before { border-color: var(--burn); }
body .g01-ruler.g01-ruler > li:hover::after,
body .g01-ruler.g01-ruler > li.is-now::after {
  border-color: var(--burn);
  box-shadow: inset 0 0 0 2px var(--soot), inset 0 0 0 5px var(--burn);
}

/* ---- 首页标签：mono 年份 + 衬线事件 ---- */
body .tl-compact.g01-ruler b {
  display: block;
  margin-bottom: 4px;
  font: 700 21px/1 var(--mono);
  letter-spacing: -.02em;
  color: var(--bone);
}
body .tl-compact.g01-ruler > li:last-child b { color: var(--on-soot-accent); }
body .tl-compact.g01-ruler span {
  display: block;
  font: 400 15px/1.5 var(--serif);
  color: var(--on-soot-muted);
  text-wrap: balance;
}
body .tl-compact.g01-ruler > li:hover span { color: var(--bone); }

/* ---- 项目页：覆盖 E10-V9 的竖向主轴，只改里程碑 ---- */
body .v9-spine.g01-ruler::before { display: none; }
body .v9-spine.g01-ruler .v9-node { display: none; }
body .v9-spine.g01-ruler > li { padding-bottom: 0; }
body .v9-spine.g01-ruler .v9-ep-t {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 0;
  margin-bottom: 8px;
  text-align: left;
}
body .v9-spine.g01-ruler > li.is-end .v9-ep-t { justify-content: flex-end; }
body .v9-spine.g01-ruler .v9-ep-i { margin: 0; order: 2; }
body .v9-spine.g01-ruler.g01-ruler .v9-ep-y { font-size: 30px; letter-spacing: -.03em; }
body .v9-spine.g01-ruler .v9-ep-c {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}
body .v9-spine.g01-ruler .v9-ep-h {
  display: block;
  padding-bottom: 6px;
  margin-bottom: 7px;
}
body .v9-spine.g01-ruler .v9-ep-h::before { display: none; }
body .v9-spine.g01-ruler .v9-ep-d { font-size: 15px; line-height: 1.6; color: var(--on-soot-muted); }
body .v9-spine.g01-ruler > li:hover .v9-ep-d,
body .v9-spine.g01-ruler > li.is-now .v9-ep-d { color: var(--bone); }

@media (prefers-reduced-motion: reduce) {
  body .g01-ruler.g01-ruler > li::before,
  body .g01-ruler.g01-ruler > li::after { transition: none; }
}
}
@media (max-width: 860px) { body .g01-scale { display: none; } }
/* dim:timeline-ruler end */

/* dim:filter-bar start */
.filter-bar { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; margin-bottom: 20px; }
.filter-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-btns button { padding: 6px 10px; border: 1px solid var(--line); font: 600 10px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-soot-muted); }
.filter-btns button[aria-pressed="true"] { color: var(--soot); background: var(--bone); border-color: var(--bone); }
.sort { font: 600 10px/1 var(--mono); letter-spacing: .1em; color: var(--on-soot-muted); }
.sort select, .route select, .search-row input { padding: 8px 10px; border: 1px solid var(--line); background: var(--field-soot); }
.filter-count { margin-left: auto; font: 600 10px/1 var(--mono); letter-spacing: .1em; color: var(--on-soot-muted); }
/* dim:filter-bar end */

/* dim:filter-motion start — I12 落地 = Lab I12-V1「丝滑重排」（用户 2026-10-04 选定）；由 tools/land_i12_v1.py 从 lab/dims/I12/{i12-hook.js, v1/i12.{css,js}} 生成，勿手改 */
/* I12-V1 丝滑重排（Claude）。动画全在 i12.js（WAAPI + 弹簧 linear() 缓动）；这里只放浮层、幽灵行、滑动药丸的样式。 */
body.landed-a01 .i12-layer { position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 0; pointer-events: none; }
body.landed-a01 .i12-ghost { position: absolute; margin: 0; padding: 0; border: 0; list-style: none; }
body.landed-a01 .i12-ghost > li { transform-origin: 50% 0; }
body.landed-a01 .i12-pill { position: absolute; display: block; background: var(--bone); border: 1px solid var(--bone); transform-origin: 0 50%; }
/* 药丸滑动期间：按钮组浮到浮层之上，新选中的按钮先透明底，等药丸到位 */
body.landed-a01 .filter-btns.i12-pills { position: relative; z-index: 1; }
body.landed-a01 .filter-btns button.i12-hold { background: transparent; border-color: transparent; color: var(--soot); }
body.landed-a01 [data-project-index] .rows, body.landed-a01 [data-writing-index] .rows { overflow: visible; }
/* dim:filter-motion end */

/* dim:empty-state start */
.empty-state { padding: 34px 0; border-bottom: 1px solid var(--line); color: var(--on-soot-muted); }
/* dim:empty-state end */

/* dim:callout start */
.callout { max-width: 40em; padding-left: 22px; border-left: 2px solid var(--on-soot-accent); font: 400 19px/1.7 var(--serif); }
.callout p + p { margin-top: 14px; }
/* dim:callout end */

/* dim:question-list start */
.q-list { counter-reset: q; }
.q-list li { counter-increment: q; display: grid; grid-template-columns: 40px minmax(0, 1fr); padding: 12px 0; border-bottom: 1px solid var(--line); }
.q-list li::before { content: counter(q, decimal-leading-zero); font: 600 10px/2 var(--mono); color: var(--on-soot-muted); }
/* dim:question-list end */

/* dim:prev-next start */
.prev-next { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 26px; padding-bottom: var(--sec-y); border-top: 1px solid var(--line); }
.prev-next a { text-decoration: none; font: 700 18px/1.4 var(--serif); }
.prev-next a > span { display: block; margin-bottom: 6px; font: 700 var(--fs-micro)/1.4 var(--mono); letter-spacing: var(--ls-label); color: var(--on-soot-muted); }
.prev-next a[rel="next"] { text-align: right; }
/* dim:prev-next end */

/* dim:figure start — F07 落点基线（Lab 出案前的朴素版）：自绘示意图 + 图注（编号 / 说明 / 来源） */
.figure { margin: 32px 0; }
.fig-plate { padding: 20px; border: 1px solid var(--line); background: var(--soot-raise); }
.fg-svg { display: block; width: 100%; height: auto; }
.fg-node rect { fill: none; stroke: var(--on-soot-muted); stroke-width: 1; }
.fg-node text, .fg-note { fill: var(--on-soot-fg); font: 600 15px var(--sans, sans-serif); }
.fg-note { fill: var(--on-soot-muted); font-size: 12px; }
.fg-edge, .fg-head { fill: none; stroke: var(--on-soot-muted); stroke-width: 1; }
.fg-track { fill: none; stroke: var(--line); stroke-dasharray: 3 3; }
.figure figcaption { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 10px; font-size: 13px; line-height: 1.6; color: var(--on-soot-muted); }
.fig-no { font: 600 12px/1.6 var(--mono); color: var(--on-soot-accent); }
.fig-src { flex-basis: 100%; font-size: 12px; }
/* dim:figure end */

/* dim:bio start */
.prose-block p { max-width: 42em; font-size: 16px; line-height: 1.9; }
.prose-block p + p { margin-top: 14px; }
/* dim:bio end */

/* dim:empty-statement start — D06 落地 = Lab D06-V7「Apple 声明」（用户 2026-10-14 选定）；由 tools/land_d06_v7.py 生成，勿手改 */
@media (min-width: 861px) {
/* D06-V7 Apple 声明：没有框，两行大号粗体直接说完，按钮在下方单独一排 */
body.landed-a01 .empty-state { margin-top: 24px; padding: 72px 0 96px; border: 0; text-align: left; color: var(--bone); }
body.landed-a01 .empty-state > p:not(.ctas) { margin: 0; max-width: 22em; font: 700 46px/1.16 var(--sans); letter-spacing: -.025em; }
body.landed-a01 .d06-h, body.landed-a01 .d06-s { display: block; color: var(--bone); }
body.landed-a01 .empty-state .ctas,
body.landed-a01 .empty-state > .btn-line { margin: 56px 0 0; }
}
/* dim:empty-statement end */

/* dim:filter-sidebar start — B07 落地 = Lab B07-V5「侧栏目录」（用户 2026-10-14 选定）；由 tools/land_b07_v5.py 生成，勿手改 */
@media (min-width: 861px) {
/* B07-V5：侧栏目录（Facets Dossier Index）
   版式从「上下堆叠」变为「左右双栏」，筛选条为 sticky 竖排衬线大字目录，底部带 1px 细线 mono 排序与计数。
   选择器严格以 body.landed-a01 开头。
*/

/* ===== 1. 双栏网格版式布局 ===== */
body.landed-a01 [data-project-index],
body.landed-a01 [data-writing-index] {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  column-gap: 56px;
  row-gap: 0;
  align-items: start;
}

/* Writing 页面：section-label 跨全宽两栏，维持章节头部统领地位 */
body.landed-a01 [data-writing-index] > [data-dim="section-label"] {
  grid-column: 1 / -1;
  margin-bottom: 36px;
}

/* 筛选条：定位于左栏第一列，且设为 sticky 吸顶 */
body.landed-a01 :is([data-project-index], [data-writing-index]) [data-dim="filter-bar"] {
  grid-column: 1;
  position: sticky;
  top: 96px;
  align-self: start;
}

/* 列表与状态区域：占据右栏第二列 */
body.landed-a01 :is([data-project-index], [data-writing-index]) :is([data-dim="project-rows"], [data-dim="article-list"], [data-dim="empty-state"], [data-dim="pagination"]) {
  grid-column: 2;
}

/* ===== 2. 筛选条容器与竖排目录布局 ===== */
body.landed-a01 .filter-bar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin-bottom: 0;
  padding: 0;
}

body.landed-a01 .filter-btns {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  width: 100%;
}

/* ===== 3. 目录条目（Buttons）：衬线大字、去边框、左侧 2px 竖线 ===== */
body.landed-a01 .filter-btns button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  box-sizing: border-box;
  border: 0;
  background: none;
  padding: 9px 0 9px 14px;
  border-left: 2px solid transparent;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  text-transform: none;
  text-align: left;
  color: var(--on-soot-muted);
  cursor: pointer;
  outline: none;
}

/* 未选悬停 */
body.landed-a01 .filter-btns button:hover:not([aria-pressed="true"]) {
  color: var(--bone);
}

/* 选中态：直接变（无切换动画），2px 橙红竖线 + var(--burn) 字色，背景透明覆盖骨架默认实底 */
body.landed-a01 .filter-btns button[aria-pressed="true"] {
  color: var(--burn);
  background: none;
  border-left-color: var(--burn);
  font-weight: 700;
}

/* 键盘可访问性焦点 */
body.landed-a01 .filter-btns button:focus-visible {
  outline: 2px solid var(--burn);
  outline-offset: 2px;
}

/* ===== 4. 底部排序与计数：1px 细线分隔，mono 小字 ===== */
body.landed-a01 .filter-bar .sort {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  font: 700 var(--fs-micro)/1.4 var(--mono);
  letter-spacing: var(--ls-label-wide);
  text-transform: uppercase;
  color: var(--dust);
}

/* select 去边框保留原生 */
body.landed-a01 .filter-bar .sort select {
  width: 100%;
  border: 0;
  outline: none;
  padding: 6px 0;
  background: transparent;
  font: 600 12px/1.4 var(--mono);
  letter-spacing: 0.04em;
  color: var(--bone);
  cursor: pointer;
  -webkit-appearance: menulist;
  appearance: menulist;
}

body.landed-a01 .filter-bar .sort select option {
  background: var(--soot);
  color: var(--bone);
}

body.landed-a01 .filter-bar .sort select:focus-visible {
  outline: 1px solid var(--burn);
  outline-offset: 2px;
}

/* 计数信息：靠左列底，mono 读数 */
body.landed-a01 .filter-bar .filter-count {
  margin: 12px 0 0 0;
  font: 600 var(--fs-micro)/1.4 var(--mono);
  letter-spacing: var(--ls-label-tight);
  text-transform: uppercase;
  color: var(--dust);
}

/* ===== 5. 减弱动效声明 ===== */
@media (prefers-reduced-motion: reduce) {
  body.landed-a01 .filter-btns button {
    transition: none !important;
  }
}

/* 落地补充：不要 I12 的骨白滑动药丸（用户：「点击的时候白色 太怪了」），选中态直接变 */
body.landed-a01 .i12-pill { display: none; }  /* 药丸挂在 I12 全局浮层里，不在 .filter-bar 内；它只服务筛选按钮 */
body.landed-a01 .filter-bar .filter-btns button.i12-hold { background: none; color: var(--burn); border-left-color: var(--burn); font-weight: 700; }
}
/* dim:filter-sidebar end */

/* dim:callout-panel start — D03 落地 = Lab D03-V7「GOV.UK 面板」（用户 2026-10-14 选定）；由 tools/land_d03_v7.py 生成，勿手改 */
@media (min-width: 861px) {
/* D03-V7 GOV.UK 面板：图标全部用 CSS 画，不新增任何字符。重复类名 = 补回原守卫优先级，盖过外壳 A01 的 body.landed-a01 .callout 字号 */
body .chronicle-climax-box.chronicle-climax-box { background: none; border: 0; padding: 0; }

body .callout.callout { max-width: none; margin: 8px 0 0; padding: 52px 64px; border: 0; background: var(--soot-raise); text-align: center; font: 600 23px/1.65 var(--sans); color: var(--bone); }
body .callout.callout p { font: inherit; color: inherit; text-wrap: balance; }
body .callout.callout p + p { margin-top: 14px; font-weight: 400; font-size: 17px; color: var(--on-soot-muted); }
}
/* dim:callout-panel end */

/* dim:question-list-method start — D04 落地 = Lab D04-V9「Linear Method」（用户 2026-10-14 选定）；由 tools/land_d04_v9.py 生成，勿手改 */
@media (min-width: 861px) {
/* D04-V9 Linear Method：去编号、22px 半粗无衬线骨白标题、28px 留白、无线无框（参考 Linear Method Principles） */

/* Now 样张：去掉 li::before 计数器，22px 半粗无衬线标题，条间 28px 留白，无分隔线 */
body [data-dim="question-list"] .q-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: none;
}

body [data-dim="question-list"] .q-list li {
  display: block;
  padding: 0;
  border: 0;
  border-bottom: 0 !important;
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: var(--bone);
  text-wrap: pretty;
  max-width: 44em;
}

body [data-dim="question-list"] .q-list li + li {
  margin-top: 28px;
}

body [data-dim="question-list"] .q-list li::before {
  content: none !important;
  display: none !important;
}

/* SpaceX 样张：.v6-q-item 改单栏并去掉 border-top，.v6-qn 视觉隐藏但保留 DOM，.v6-qt 22px 半粗无衬线 */
body [data-dim="question-list"] .v6-q-item {
  display: block;
  padding: 0 !important;
  border: 0;
  border-top: 0 !important;
}

body [data-dim="question-list"] .v6-q-item:first-child {
  padding-top: 0 !important;
  margin-top: 0;
}

body [data-dim="question-list"] .v6-q-item + .v6-q-item {
  margin-top: 28px;
}

body [data-dim="question-list"] .v6-qn {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  -webkit-text-stroke: 0 !important;
}

body [data-dim="question-list"] .v6-qt {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sans) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
  color: var(--bone) !important;
  text-wrap: pretty;
  max-width: 44em;
}
}
/* dim:question-list-method end */

/* dim:emphasis-bold start — A04 落地 = Lab A04-V6「只用粗体」（用户 2026-10-15 选定）；由 tools/land_a04_v6.py 生成，勿手改 */
@media (min-width: 861px) {
/* A04-V6 只用粗体：重点 = 700 骨白；术语 = 600 同色；不用色、不用底、不用斜体。主命题「不同接口」同样只用加粗。 */
:is(body.page-home, body.landed-a01) .prose .a04-key { font-weight: 700; color: var(--bone); }
:is(body.page-home, body.landed-a01) .prose .a04-term { font-style: normal; font-weight: 600; color: var(--on-soot-fg); }
:is(body.page-home, body.landed-a01) .c15-em { color: inherit; font-weight: 800; }
}
/* dim:emphasis-bold end */

/* dim:prose-typeset start — A02 落地 = Lab A02-V7「衬线旧式数字」+ A02-V11「直角引号」（用户 2026-10-10 选定）。标记由 build.py typeset() 生成：
   正文 / 简介里西文与数字改 Georgia 旧式数字（1.04em 光学补偿）；「」与全角标点用正体中文字形，全角居中不挤压。 */
:is([data-dim="bio"], [data-dim="prose"]) :is(.a02-l, .a02-n) { font-family: Georgia, "Times New Roman", serif; font-variant-numeric: oldstyle-nums proportional-nums; font-size: 1.04em; font-kerning: normal; }
:is([data-dim="bio"], [data-dim="prose"]) .a02-p { font-family: "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", "Microsoft YaHei", sans-serif; letter-spacing: 0; font-feature-settings: normal; }
/* dim:prose-typeset end */
