/* 大论导读 - 名相按论自己的分类排开，选中一项在右栏（窄屏是底部对话框）。

   Same column and palette as the 佛词典 and 上师语露 it sits beside: serif heads
   in the site's maroon, the four quote roles in the dictionary's four colours.
   A term's button says how far its 讲法 has been gathered - solid, 析, dashed,
   hollow, hatched (站长 10-23) - and never where it is classified; that is the
   original text's own list, the same for every button.

   Sizes are em so they follow the column, but em inside em shrank side
   text to 12-14px and a few labels below 10: secondary sentences floor at
   15px and tags, counts and badges at 13px through max() (10-27). */
.dl {
  --dl-ink: #2d2822;
  /* 页底灰上也要过 4.5:1（10-25 卡外 5:1，10-26 名相页审后全站统一） */
  --dl-muted: #665f51;
  --dl-line: #e6e0cc;
  --dl-paper: #fffdf8;
  --dl-maroon: #4e0d0d;
  --dl-link: #1a5276;
  --dl-solid: #4a7c59;
  --dl-gold: #b5762a;
  /* 金色只作框线；当字用的深一档，页底灰上 4.8:1、浅金底上 5.1:1（审 10-26，原色 3.05:1） */
  --dl-gold-text: #8a5a1e;
  /* 输入框边线：页底灰上 3:1（--dl-line 只有 1.07:1，看不出是框） */
  --dl-field: #8a8371;
  --dl-pick: #f6efd9;
  --dl-hatch: #d8d2c0;
  color: var(--dl-ink);
  margin: 0 auto;
  max-width: 1180px;
  padding: 6px 14px 30px;
  text-align: left;
}

.dl a {
  color: var(--dl-link);
}

.dl-head {
  border-bottom: 1px solid var(--dl-line);
  margin-bottom: 14px;
  padding-bottom: 10px;
}

.dl-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
}

.dl-back,
.dl-home {
  font-size: max(0.85em, 0.9375rem);
  text-decoration: none;
}

.dl-head__title {
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.45em;
  margin: 2px 0 0;
}

.dl-head__meta,
.dl-foot {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  margin: 4px 0 0;
  max-width: 46em;
}

.dl-foot {
  margin-top: 16px;
}

.dl-order {
  display: grid;
  gap: 12px;
  margin-top: 24px;
  max-width: 52rem;
  --dl-order-muted: #595349;
}

.dl-order .dl-foot {
  margin: 0;
}

.dl-order__study {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-order__intro {
  color: var(--dl-order-muted);
  font-size: max(0.9em, 0.9375rem);
  line-height: 1.75;
  margin: 0;
}

.dl-order__resource {
  background: var(--dl-paper);
  border: 1px solid var(--dl-line);
  border-radius: 8px;
  padding: 16px 20px;
}

.dl-order__kind,
.dl-order__source {
  color: var(--dl-order-muted);
  font-size: max(0.82em, 0.9375rem);
  line-height: 1.65;
  margin: 0;
}

.dl-order__question {
  font-size: 1.05em;
  line-height: 1.5;
  margin: 2px 0 4px;
}

.dl-order__question a {
  display: inline-block;
  min-height: 44px;
  padding: 8px 0;
  text-underline-offset: 4px;
}

.dl-order a:focus-visible,
.dl-order summary:focus-visible {
  outline: 2px solid var(--dl-link);
  outline-offset: 4px;
}

.dl-order__reference-body {
  /* 手机上右下角「回到顶部」别压住末一段引文 */
  padding-bottom: 56px;
}

.dl-order__gist {
  font-size: 0.95em;
  line-height: 1.8;
  margin: 0 0 10px;
}

.dl-order__original {
  margin: 4px 0 12px;
}

.dl-order__original summary {
  color: var(--dl-link);
  cursor: pointer;
  font-size: 0.9em;
  line-height: 1.75;
  min-height: 44px;
  padding: 8px 0;
}

.dl-order__original blockquote {
  border-left: 3px solid var(--dl-line);
  font-size: 0.95em;
  line-height: 1.85;
  margin: 8px 0 0;
  padding: 0 0 0 16px;
}

.dl-order__original blockquote p {
  margin: 0 0 16px;
}

.dl-order__unit {
  font-size: max(0.85em, 0.9375rem);
  /* 行内元素的上下留白不撑行高，只扩点击区 */
  padding: 14px 0;
  white-space: nowrap;
}

.dl-order__resource-footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  justify-content: space-between;
}

.dl-order__action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 0;
  font-size: max(0.9em, 0.9375rem);
  text-underline-offset: 4px;
}

.dl-order__reference {
  border-top: 1px solid var(--dl-line);
  margin-top: 4px;
  padding-top: 8px;
}

.dl-order__reference summary {
  cursor: pointer;
  line-height: 1.7;
  min-height: 44px;
  padding: 8px 2px;
}

.dl-order__reference-title {
  font-weight: 600;
}

.dl-order__reference-hint {
  color: var(--dl-order-muted);
  display: block;
  font-size: max(0.82em, 0.9375rem);
  padding-left: 1.2em;
}

.dl-order__reference[open] .dl-order__reference-hint {
  display: none;
}

.dl-order__reference-body {
  display: grid;
  gap: 8px;
  padding-top: 8px;
}

.dl-order__source-title {
  font-size: 0.95em;
  line-height: 1.7;
  margin: 12px 0 0;
}

.dl-order__reference .dl-quote {
  margin: 0;
}

@media (max-width: 480px) {
  .dl-order__resource {
    padding: 14px;
  }
}

.dl-n {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.8125rem);
  font-variant-numeric: tabular-nums;
  margin-left: 4px;
}

/* 入口：按科一行一行 */
.dl-subjects {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-subject {
  align-items: baseline;
  border-bottom: 1px dashed var(--dl-hatch);
  display: grid;
  gap: 4px 18px;
  grid-template-columns: 4em minmax(0, 1fr);
  padding: 8px 0;
}

.dl-subject__name {
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  margin: 0;
}

.dl-subject__works {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-subject__work {
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.1em;
  text-decoration: none;
  text-underline-offset: 5px;
}

.dl-subject__work:hover {
  text-decoration: underline;
}

.dl-subject__work:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--dl-link);
  outline-offset: 3px;
}

.dl-subject__note {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  margin-left: 8px;
}

.dl-subject__body {
  display: grid;
  gap: 6px;
  min-width: 0;
}

/* 辅助、专题：比主干小一号，另起一行 */
.dl-subject__aux {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.dl-subject__aux .dl-subject__work {
  font-size: 1em;
}

.dl-subject__auxk {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.8125rem);
  letter-spacing: 0.05em;
}

.dl-head__jump {
  display: none;
}

@media (max-width: 560px) {
  /* 科名放上面，论名用满整行；论名点击高 44px；手机首屏给一个去「从哪里开始」的口子 */
  .dl-subject {
    gap: 2px;
    grid-template-columns: minmax(0, 1fr);
  }

  .dl-subject__works {
    gap: 0 18px;
  }

  .dl-subject__aux {
    display: grid;
    gap: 0;
  }

  .dl-subject__work {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  .dl-head__jump {
    display: block;
  }

  .dl-head__jump a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  .dl-order .dl-quote__cite a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }
}

.dl-order__title {
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  margin: 0;
}

.dl-subject__todo {
  color: var(--dl-muted);
  font-size: max(0.9em, 0.9375rem);
  margin: 0;
}

/* 一部论的四层：一层一块，标题直接到去处；第一层的内容排在下方 */
.dl-ways {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}

.dl-way {
  align-content: start;
  position: relative;
  background: var(--dl-paper);
  border: 1px solid var(--dl-line);
  border-top: 3px solid var(--dl-maroon);
  border-radius: 4px;
  display: grid;
  gap: 6px;
  grid-template-columns: 1.4em minmax(0, 1fr);
  padding: 12px 14px 14px;
}

.dl-way > :not(.dl-way__k) {
  grid-column: 2;
}

.dl-way--todo {
  background: transparent;
  border-top-color: var(--dl-line);
}

.dl-way__k {
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  line-height: 1.5;
}

.dl-way--todo .dl-way__k,
.dl-way--todo .dl-way__t {
  color: var(--dl-muted);
}

.dl-way__t {
  font-size: 1.05em;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
}

.dl-way__t a {
  text-decoration: none;
}

/* 整块卡可点：标题链接铺满卡片，第二层的分类链接抬到上面 */
.dl-way__t a::before {
  border-radius: 4px;
  content: "";
  inset: 0;
  position: absolute;
}

.dl-way .dl-layer__frames,
.dl-way .dl-way__fold,
.dl-way .dl-way__more {
  position: relative;
  z-index: 1;
}

.dl-way:has(.dl-way__t a:hover) {
  background: var(--dl-pick);
}

.dl-way__t a:focus-visible {
  outline: none;
}

.dl-way:has(.dl-way__t a:focus-visible) {
  outline: 2px solid var(--dl-link);
  outline-offset: 2px;
}

/* 去别页用 ›，本页往下用 ↓；读屏不念 */
.dl-way__t a::after {
  content: " ›";
  content: " ›" / "";
}

.dl-way__t a[href^="#"]::after {
  content: " ↓";
  content: " ↓" / "";
}

.dl-nw {
  white-space: nowrap;
}

.dl-way__d,
.dl-way__m {
  color: var(--dl-muted);
  font-size: max(0.88em, 0.9375rem);
  line-height: 1.55;
  margin: 0;
}

.dl-way__m {
  font-variant-numeric: tabular-nums;
}

.dl-layer__frames {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-layer__frames a {
  display: inline-block;
  padding-block: 3px;
}

.dl-way__fold > summary {
  color: var(--dl-link);
  cursor: pointer;
  font-size: max(0.88em, 0.9375rem);
  padding: 4px 0;
  width: fit-content;
}

.dl-way__fold[open] > summary {
  margin-bottom: 4px;
}

/* 第一层：全论总摄（概要在前，原句折起）、本论科判（大科一览＋上几层）、略义、总义的课 */
.dl-overview {
  display: grid;
  gap: 10px;
  max-width: 46em;
  padding-top: 18px;
  scroll-margin-top: 90px;
}

.dl-sec__title {
  color: var(--dl-maroon);
  display: flex;
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.15em;
  gap: 0.5em;
  margin: 0;
}

.dl-layer__sub {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 10px 0 0;
}

.dl-gist {
  line-height: 1.8;
  margin: 0;
}

.dl-layer-fold > summary {
  color: var(--dl-link);
  cursor: pointer;
  padding: 6px 0;
}

.dl-layer-fold__meta {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  margin-left: 6px;
}

.dl-kepan-link {
  align-items: center;
  display: flex;
  gap: 8px;
  width: fit-content;
}

/* 大科一览：科名、按科数的比例条、科数 */
.dl-spread {
  display: grid;
  gap: 2px;
  list-style: none;
  margin: 0 -6px;
  padding: 0;
}

.dl-spread a {
  align-items: center;
  border-radius: 3px;
  display: grid;
  gap: 4px 12px;
  grid-template-columns: minmax(0, 20em) minmax(0, 1fr) 4.5em;
  padding: 4px 6px;
  text-decoration: none;
}

/* 拆开列的科按层缩进；科名换行时续行和名字对齐，不跑到标号底下 */
.dl-spread__t {
  padding-left: calc(var(--dl-indent, 0) * 1.2em);
}

.dl-spread__t:has(.dl-outline__label) {
  padding-left: calc(var(--dl-indent, 0) * 1.2em + 2.6em);
  text-indent: -2.6em;
}

/* 被拆开的上一科：只作分组标题，不画条；也链到科判页那一科，字色和别的行一样是链接色（审 10-26） */
.dl-spread__group .dl-spread__t {
  font-size: 0.9em;
  grid-column: 1 / 3;
}

.dl-spread a:hover,
.dl-spread a:focus-visible {
  background: var(--dl-pick);
}

.dl-spread__bar {
  background: var(--dl-hatch);
  border-radius: 2px;
  height: 8px;
}

.dl-spread__bar > i {
  background: var(--dl-maroon);
  border-radius: 2px;
  display: block;
  height: 100%;
  opacity: 0.75;
}

.dl-spread__n {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.8125rem);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.dl-layer__lead,
.dl-layer__more {
  color: var(--dl-muted);
  font-size: max(0.9em, 0.9375rem);
  margin: 0;
}

.dl-outline {
  border-left: 2px solid var(--dl-line);
  display: grid;
  gap: 2px;
  list-style: none;
  margin: 6px 0 0;
  padding: 0 0 0 10px;
}

.dl-outline__item {
  line-height: 1.6;
  /* 按实际层深缩进：模板在每一行写 --dl-indent（第一层列到几层看论，俱舍到第七层） */
  padding-left: calc(var(--dl-indent, 0) * 1.2em);
}

.dl-outline__item[data-depth="0"] > a {
  font-weight: 600;
}

.dl-outline__label {
  color: var(--dl-muted);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  margin-right: 0.4em;
}

.dl-summaries {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-summaries__form {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  margin-left: 0.6em;
}

@media (max-width: 900px) {
  .dl-ways {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .dl-ways {
    gap: 8px;
    grid-template-columns: minmax(0, 1fr);
  }

  .dl-way {
    padding: 10px 12px 12px;
  }

  /* 待做卡压成一行；第一块的说明就是下方内容，手机上省掉，让概要早点露出来 */
  .dl-way--todo {
    align-items: baseline;
    grid-template-columns: 1.4em auto minmax(0, 1fr);
    padding-block: 8px;
  }

  .dl-way--todo > .dl-way__m {
    grid-column: 3;
  }

  .dl-way:first-child .dl-way__d {
    display: none;
  }

  .dl-xtoc {
    gap: 0 16px;
  }

  .dl-xtoc a,
  .dl-kepan-link,
  .dl-back,
  .dl-home {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  .dl-layer-fold > summary {
    padding-block: 10px;
  }

  .dl-layer__frames a,
  .dl-summaries a {
    padding-block: 7px;
  }

  .dl-outline__item {
    padding-left: calc(var(--dl-indent, 0) * 0.8em);
  }

  .dl-outline__item > a {
    display: inline-block;
    padding-block: 6px;
  }

  .dl-spread a {
    grid-template-columns: minmax(0, 1fr) 4em;
    min-height: 44px;
    padding-block: 6px;
  }

  .dl-spread__bar {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .dl-spread__group .dl-spread__t {
    grid-column: auto;
  }
}

/* 分类页 */
.dl-tops {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.dl-top {
  border: 1px solid var(--dl-line);
  border-radius: 999px;
  color: var(--dl-ink) !important;
  padding: 6px 14px;
  text-decoration: none;
}

.dl-top[aria-current="page"] {
  background: var(--dl-maroon);
  border-color: var(--dl-maroon);
  color: #fff !important;
}

.dl-top[aria-current="page"] .dl-n {
  color: #f3e7d0;
}

.dl-main {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
}

.dl-tree {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.dl-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.dl-toggle {
  align-items: center;
  color: var(--dl-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: max(0.9em, 0.9375rem);
  gap: 6px;
  margin: 0;
}

.dl-shown {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  font-variant-numeric: tabular-nums;
}

.dl-group {
  background: var(--dl-paper);
  border: 1px solid var(--dl-line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px 14px;
}

.dl-group__title {
  align-items: baseline;
  color: var(--dl-maroon);
  display: flex;
  flex-wrap: wrap;
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.1em;
  gap: 4px 8px;
  margin: 0;
}

.dl-group__entry {
  font-family: inherit;
  font-size: max(0.75em, 0.8125rem);
}

.dl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dl-chip {
  align-items: center;
  background: #fff;
  border: 1.5px solid var(--dl-solid);
  border-radius: 6px;
  color: var(--dl-ink) !important;
  display: inline-flex;
  gap: 6px;
  line-height: 1.2;
  padding: 7px 10px 7px 7px;
  text-decoration: none;
}

.dl-chip:hover {
  border-color: var(--dl-gold);
}

.dl-chip[aria-current="true"] {
  background: var(--dl-pick);
  border-color: var(--dl-gold);
}

.dl-chip[hidden] {
  display: none;
}

.dl-chip__i {
  color: var(--dl-muted);
  font-size: max(0.7em, 0.8125rem);
  font-variant-numeric: tabular-nums;
  min-width: 1.4em;
  text-align: right;
}

.dl-chip__tag {
  border: 1px solid var(--dl-gold);
  border-radius: 3px;
  color: var(--dl-gold-text);
  font-size: max(0.7em, 0.8125rem);
  padding: 1px 3px;
}

.dl-chip--group {
  border-style: dashed;
}

.dl-chip--none,
.dl-chip--paused {
  border-color: var(--dl-hatch);
  color: var(--dl-muted) !important;
}

.dl-chip--paused {
  background: repeating-linear-gradient(135deg, #fff 0 5px, var(--dl-hatch) 5px 6px);
}

.dl-legend {
  color: var(--dl-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.8em, 0.9375rem);
  gap: 6px 16px;
  margin: 0;
}

.dl-legend span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.dl-swatch {
  border: 1.5px solid var(--dl-solid);
  border-radius: 3px;
  color: var(--dl-gold-text);
  display: inline-block;
  font-size: max(0.85em, 0.9375rem);
  font-style: normal;
  height: 14px;
  line-height: 11px;
  text-align: center;
  width: 20px;
}

.dl-swatch--thin {
  border-color: var(--dl-gold);
}

.dl-swatch--group {
  border-style: dashed;
}

.dl-swatch--none,
.dl-swatch--paused {
  border-color: var(--dl-hatch);
}

.dl-swatch--paused {
  background: repeating-linear-gradient(135deg, transparent 0 3px, var(--dl-hatch) 3px 4px);
}

/* 对照页入口：四层底下一张整块可点的卡，金色左边和四层的深红顶边分开；栏名排成表头，主题一排 */
.dl-cmp {
  background: var(--dl-paper);
  border: 1px solid var(--dl-line);
  border-left: 4px solid var(--dl-gold);
  border-radius: 4px;
  display: grid;
  gap: 8px;
  margin: 8px 0 6px;
  padding: 14px 16px 12px;
  position: relative;
}

.dl-cmp:has(.dl-cmp__t a:hover) {
  background: var(--dl-pick);
}

.dl-cmp:has(.dl-cmp__t a:focus-visible) {
  outline: 2px solid var(--dl-link);
  outline-offset: 2px;
}

.dl-cmp__t {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.05em;
  font-weight: 600;
  gap: 2px 10px;
  margin: 0;
}

.dl-cmp__t > i {
  color: var(--dl-gold-text);
}

.dl-cmp__t a {
  text-decoration: none;
}

.dl-cmp__t a:focus-visible {
  outline: none;
}

.dl-cmp__t a::before {
  border-radius: 4px;
  content: "";
  inset: 0;
  position: absolute;
}

.dl-cmp__t a::after {
  content: " ›";
  content: " ›" / "";
}

.dl-cmp__n,
.dl-cmp__d {
  color: var(--dl-muted);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
  margin: 0;
}

.dl-cmp__n {
  font-variant-numeric: tabular-nums;
}

.dl-cmp__cols {
  border-bottom: 1px solid var(--dl-line);
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
}

.dl-cmp__cols span {
  color: var(--dl-gold-text);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-weight: 600;
  padding: 4px 8px 6px;
  text-align: center;
}

.dl-cmp__cols span + span {
  border-left: 1px solid var(--dl-line);
}

.dl-cmp__rows {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}

.dl-cmp__rows a {
  display: inline-block;
  padding-block: 3px;
}

/* 跨论参读：论页上一行对方和组数；另一页按对方分节，一组几段原句 */
.dl-xentry {
  border-top: 1px solid var(--dl-line);
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding-top: 12px;
}

.dl-xtoc {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 6px;
}

.dl-xtoc a {
  text-decoration: none;
}

.dl-xsec {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.dl-xsec__name {
  border-bottom: 1px solid var(--dl-line);
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.15em;
  margin: 0;
  padding-bottom: 4px;
}

.dl-xsec__name a {
  color: inherit;
  text-decoration: none;
}

.dl-x {
  display: grid;
  gap: 8px;
  scroll-margin-top: 70px;
}

.dl-x:target .dl-quote {
  background: var(--dl-pick);
}

.dl-x__head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.9em, 0.9375rem);
  gap: 2px 4px;
  margin: 0;
}

.dl-x__kind {
  border: 1px solid var(--dl-muted);
  border-radius: 3px;
  color: var(--dl-muted);
  font-size: max(0.8em, 0.8125rem);
  margin-right: 6px;
  padding: 0 4px;
}

.dl-x[data-kind="caution"] .dl-x__kind {
  border-color: var(--dl-gold);
  color: var(--dl-gold-text);
}

.dl-x__subject {
  color: var(--dl-muted);
  margin-left: 4px;
}

/* 原文一句 */
.dl-quote {
  --role: var(--dl-line);
  background: var(--dl-paper);
  border: 1px solid var(--dl-line);
  border-left: 3px solid var(--role);
  border-radius: 4px 10px 10px 4px;
  margin: 0;
  padding: 10px 14px 8px;
}

.dl-quote[data-role="定义"] {
  --role: #4a7c59;
}

.dl-quote[data-role="分类"] {
  --role: #2f6690;
}

.dl-quote[data-role="诸家"] {
  --role: #b5762a;
}

/* 「诸家」标签的字用深一档的金（框线照旧），纸底上 3.7:1 不够 */
.dl-quote[data-role="诸家"] .dl-role {
  color: var(--dl-gold-text);
}

.dl-quote[data-role="辨析"] {
  --role: #8b3a52;
}

/* 别的标注（这句管到哪、说法出自哪部注疏）：不是讲法的四种，标签用正文的浅色，看得清 */
.dl-quote:not([data-role="定义"], [data-role="分类"], [data-role="诸家"], [data-role="辨析"])
  .dl-role {
  border-color: var(--dl-muted);
  color: var(--dl-muted);
}

.dl-quote__text {
  line-height: 1.85;
  margin: 0;
}

.dl-role {
  border: 1px solid var(--role);
  border-radius: 3px;
  color: var(--role);
  font-size: max(0.72em, 0.8125rem);
  margin-right: 6px;
  padding: 1px 4px;
  vertical-align: 2px;
}

.dl-quote__cite {
  color: var(--dl-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.82em, 0.9375rem);
  gap: 4px 10px;
  margin: 6px 0 0;
}

.dl-quote__cite a {
  text-decoration: none;
}

.dl-quote__lz {
  margin-left: auto;
}

.dl-quote__cite .fas {
  font-size: 0.85em;
  margin-right: 4px;
  opacity: 0.7;
}

.dl-note {
  color: var(--dl-muted);
  font-size: max(0.88em, 0.9375rem);
  margin: 0;
}

.dl-note b {
  color: var(--dl-ink);
  font-weight: 600;
}

/* 相关名相：一个词一颗，手机上点得准（原先「八事 · 七十义」只有 18px 高） */
.dl-related-terms {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.dl-related-terms a {
  background: #fff;
  border: 1px solid var(--dl-line);
  border-radius: 999px;
  line-height: 1.6;
  padding: 3px 12px;
  text-decoration: none;
}

.dl-related-terms a:hover {
  border-color: var(--dl-link);
}

@media (pointer: coarse) {
  /* 相关名相、分类切换、名相按钮在手机上也到 44px 高（审 10-26：原先 38、40、34px） */
  .dl-related-terms a,
  .dl-group__entry,
  .dl-top,
  .dl-chip {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  .dl-related-terms a {
    padding: 6px 14px;
  }

  /* 出处字小（0.82em），靠 padding 撑不到 44px，直接给高 */
  .dl-quote__cite a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }
}

/* 右栏：桌面是普通区域（非模态 dialog，不锁焦点）；窄屏 dalun.js 用 showModal 开成底部面板 */
.dl-card {
  background: #fff;
  border: 1px solid var(--dl-line);
  border-radius: 10px;
  color: var(--dl-ink);
  inset: auto;
  margin: 0;
  max-height: calc(100vh - 24px);
  max-width: none;
  min-width: 0;
  overflow-y: auto;
  padding: 16px 18px;
  position: sticky;
  top: 12px;
  width: auto;
}

.dl-card__body {
  display: grid;
  gap: 12px;
}

.dl-card__bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dl-card__pos {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.8125rem);
  font-variant-numeric: tabular-nums;
  margin-right: auto;
}

.dl-step,
.dl-close,
.dl-copy {
  background: transparent;
  border: 1px solid var(--dl-line);
  border-radius: 6px;
  color: var(--dl-link);
  cursor: pointer;
  font-size: max(0.82em, 0.8125rem);
  line-height: 1;
  padding: 7px 10px;
  text-decoration: none;
}

.dl-step[aria-disabled="true"] {
  color: var(--dl-muted);
  cursor: default;
}

.dl-close {
  display: none;
}

.dl-card__crumb {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.9375rem);
  margin: 0;
}

.dl-card__title {
  align-items: center;
  color: var(--dl-maroon);
  display: flex;
  flex-wrap: wrap;
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.6em;
  gap: 8px 10px;
  margin: 0;
}

.dl-card__title:focus {
  outline: none;
}

.dl-pill {
  background: #edf3ee;
  border-radius: 999px;
  /* 浅绿底上 --dl-solid 只有 4.32:1，字深一档 */
  color: #3f6b4c;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  font-size: max(0.45em, 0.8125rem);
  padding: 4px 8px;
}

.dl-pill--none,
.dl-pill--paused,
.dl-pill--group {
  background: #f3f1ea;
  color: var(--dl-muted);
}

.dl-pill--thin {
  background: #f6eedf;
  color: var(--dl-gold-text);
}

.dl-sect {
  display: grid;
  gap: 8px;
}

.dl-sect__title {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0;
}

.dl-seen {
  display: grid;
  gap: 8px;
}

.dl-seen summary {
  color: var(--dl-muted);
  cursor: pointer;
  font-size: max(0.9em, 0.9375rem);
}

.dl-seen[open] summary {
  margin-bottom: 2px;
}

.dl-share {
  align-items: center;
  color: var(--dl-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.8em, 0.9375rem);
  gap: 6px 8px;
  margin: 0;
}

.dl-share code {
  color: var(--dl-ink);
  font-size: max(0.95em, 0.9375rem);
  word-break: break-all;
}

@media (max-width: 900px) {
  .dl-main {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 脚本在的时候，窄屏的右栏只以对话框出现；没脚本就照常排在分类下面 */
  .dl-js .dl-card:not(:modal) {
    display: none;
  }

  .dl-card:modal {
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    bottom: 0;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.18);
    left: 0;
    max-height: 80vh;
    padding: 16px max(16px, env(safe-area-inset-right, 0px))
      calc(18px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    position: fixed;
    right: 0;
    top: auto;
    width: 100%;
  }

  .dl-card::backdrop {
    background: rgba(0, 0, 0, 0.25);
  }

  .dl-close {
    display: inline-block;
  }
}

html.dl-locked {
  overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {
  .dl-chip {
    transition:
      background 0.15s,
      border-color 0.15s;
  }
}

/* 第三层「理证与辩论」：目录一行一条，一条一页整组照登讲记原段（方案稿 §12）。
   次要字、方法签在页面的灰底上要到 4.5:1，这里加深（站点 UI 审查 10-24 UI08）；签与按钮向 32px 高靠。 */
.dl-lz {
  --dl-muted: #645c4e;
  --dl-solid: #3b6447;
  --dl-lz-warn: #8a5a1c;
}

.dl-lz [hidden] {
  display: none !important;
}

.dl-lz-bar {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  margin: 0 0 10px;
}

.dl-lz-views {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
}

.dl-lz-from {
  align-items: center;
  display: flex;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
}

/* 选好来源点「看」才换页（审 10-26）：按钮一直看得见，和选择框一排 */
.dl-lz-from__go {
  background: #fff;
  border: 1px solid var(--dl-field);
  border-radius: 4px;
  color: var(--dl-link);
  cursor: pointer;
  flex: none;
  font: inherit;
  font-size: max(0.9em, 0.9375rem);
  min-height: 32px;
  padding: 2px 14px;
}

.dl-lz-from label {
  align-items: center;
  color: var(--dl-muted);
  display: inline-flex;
  font-size: max(0.9em, 0.9375rem);
  gap: 6px;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
}

.dl-lz-from select {
  font: inherit;
  max-width: 100%;
  min-width: 0;
}

.dl-lz-how {
  margin: 0 0 10px;
}

/* 目录页的说明在控件这一排末尾，展开时占整行 */
.dl-lz-bar .dl-lz-how {
  margin: 0;
}

.dl-lz-how[open] {
  flex-basis: 100%;
}

.dl-lz-how summary {
  color: var(--dl-link);
  cursor: pointer;
  font-size: max(0.9em, 0.9375rem);
  padding: 6px 0;
}

.dl-lz-views [aria-current] {
  color: var(--dl-maroon);
  font-weight: 600;
}

.dl-lz-find {
  margin: 0 0 10px;
  scroll-margin-top: 70px;
}

.dl-lz-find label {
  align-items: center;
  color: var(--dl-muted);
  display: inline-flex;
  flex-wrap: wrap;
  font-size: max(0.9em, 0.9375rem);
  gap: 6px;
}

.dl-lz-find__q {
  border: 1px solid var(--dl-field);
  border-radius: 4px;
  font-size: 1rem;
  max-width: 100%;
  padding: 4px 8px;
  width: 18em;
}

.dl-lz-find__q::placeholder {
  color: var(--dl-muted);
  opacity: 1;
}

/* 没有结果时不占一行（手机上输入框整行，空的计数会另起一空行） */
.dl-lz-find__n:empty {
  display: none;
}

.dl-lz-find__n {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  margin-left: 8px;
}

.dl-lz-empty {
  border: 1px dashed var(--dl-line);
  border-radius: 4px;
  color: var(--dl-muted);
  font-size: max(0.9em, 0.9375rem);
  margin: 0 0 12px;
  padding: 8px 10px;
}

.dl-lz-empty b {
  color: var(--dl-ink);
}

.dl-lz-empty button {
  background: none;
  border: 1px solid var(--dl-line);
  border-radius: 4px;
  color: var(--dl-link);
  margin-left: 6px;
  min-height: 32px;
  padding: 2px 10px;
}

.dl-lz-toc {
  margin: 0 0 12px;
}

.dl-lz-toc summary {
  color: var(--dl-link);
  cursor: pointer;
  font-size: max(0.9em, 0.9375rem);
  padding: 6px 0;
}

.dl-lz-toc__item {
  display: inline-flex;
  align-items: baseline;
}

.dl-lz-ktoc {
  font-size: max(0.88em, 0.9375rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-lz-ktoc li {
  break-inside: avoid;
  display: block;
}

@media (min-width: 900px) {
  .dl-lz-ktoc {
    column-gap: 32px;
    columns: 2;
  }
}

.dl-lz-ktoc a {
  display: inline-block;
  padding: 5px 0;
}

.dl-lz-ktoc--d1 {
  padding-left: 1em;
}

.dl-lz-ktoc--d2 {
  padding-left: 2em;
}

.dl-lz-ktoc--d3 {
  padding-left: 3em;
}

.dl-lz-ktoc--d4 {
  padding-left: 4em;
}

/* 分品（中论）：挑品收在折叠里，前后品一行；不在本页的索引项注第几品 */
.dl-lz-pins {
  margin: 0 0 10px;
}

.dl-lz-pins__all summary {
  color: var(--dl-ink);
  cursor: pointer;
  font-weight: 600;
  padding: 6px 0;
}

.dl-lz-pins__all summary .dl-lz-meta {
  font-weight: 400;
  margin-left: 8px;
}

.dl-lz-pins__list {
  display: grid;
  font-size: max(0.9em, 0.9375rem);
  gap: 0 24px;
  grid-template-columns: repeat(auto-fill, minmax(9.5em, 1fr));
  list-style: none;
  margin: 4px 0 8px;
  padding: 0;
}

.dl-lz-pins__list a,
.dl-lz-pins__list span[aria-current],
.dl-lz-pins__none {
  display: inline-block;
  padding: 5px 0;
}

.dl-lz-pins__list [aria-current] {
  color: var(--dl-maroon);
  font-weight: 600;
}

.dl-lz-pins__none {
  color: var(--dl-muted);
}

.dl-lz-pins__whole {
  grid-column: 1 / -1;
}

.dl-lz-pins__step {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  margin: 0;
}

.dl-lz-pins__next {
  margin-left: auto;
}

.dl-lz-pins--end {
  border-top: 1px solid var(--dl-line);
  margin-top: 18px;
  padding-top: 8px;
}

/* 页头的品名和前后品同一行；挑品展开时占整行，前后品落到下面 */
.dl-lz-pins:not(.dl-lz-pins--end) {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}

/* 品名至少留 10em；前后品放不下就整排挪到下一行，后一品靠右 */
.dl-lz-pins__all {
  flex: 1000 1 10em;
  min-width: 0;
}

.dl-lz-pins:not(.dl-lz-pins--end) .dl-lz-pins__step {
  flex: 1 0 auto;
}

.dl-lz-pins__all[open] {
  flex-basis: 100%;
}

/* 手机首屏少几行控件（10-27）：说明和排法同一行、来源另起；品名下一行是条数，右边前后品；「在本页找」和输入框同一行 */
@media (max-width: 560px) {
  .dl-lz-bar {
    gap: 4px 20px;
  }

  .dl-lz-how {
    order: 1;
  }

  .dl-lz-from {
    order: 2;
  }

  .dl-lz-pins__all summary .dl-lz-meta {
    display: block;
    margin-left: 0;
  }

  .dl-lz-find label {
    display: flex;
    flex-wrap: nowrap;
  }

  .dl-lz-find__q {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }
}

.dl-lz-away {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.8125rem);
  margin-left: 6px;
}

.dl-lz-legend {
  color: var(--dl-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.8em, 0.9375rem);
  gap: 4px 14px;
  margin: 0 0 12px;
}

.dl-lz-legend > span {
  align-items: baseline;
  display: inline-flex;
  gap: 4px;
}

/* 目录几百节全在页里（在本页找、浏览器查找、索引跳转都要），屏外的节浏览器先不排版；
   没排过的按 600px 估高，排过一次就记住真高 */
.dl-lz-sec {
  contain-intrinsic-size: auto 600px;
  content-visibility: auto;
  margin-top: 16px;
  scroll-margin-top: 70px;
}

.dl-lz-sec__crumb {
  color: var(--dl-muted);
  font-size: max(0.8em, 0.9375rem);
  margin: 0;
}

.dl-lz-sec__title {
  border-bottom: 1px solid var(--dl-line);
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.1em;
  margin: 0 0 4px;
  padding-bottom: 4px;
}

.dl-lz-sec__sub {
  color: var(--dl-muted);
  font-size: max(0.85em, 0.9375rem);
  margin: 10px 0 2px;
}

.dl-lz-rows {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-lz-row {
  border-bottom: 1px dashed var(--dl-line);
  padding: 8px 0;
}

.dl-lz-row p,
.dl-lz-card p {
  margin: 0;
}

.dl-lz-row__where {
  align-items: baseline;
  color: var(--dl-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.8em, 0.8125rem);
  gap: 2px 6px;
}

.dl-lz-row__head {
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.02em;
  margin-top: 2px !important;
}

.dl-lz-row__head a {
  text-decoration: none;
}

.dl-lz-row__sum {
  color: var(--dl-muted);
  font-size: max(0.88em, 0.9375rem);
}

.dl-lz-row__methods {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px !important;
}

.dl-lz-tag {
  border: 1px solid var(--dl-line);
  border-radius: 3px;
  font-size: max(0.8em, 0.8125rem);
  margin-right: 4px;
  padding: 0 4px;
}

.dl-lz-chip {
  border: 1px solid var(--dl-line);
  border-radius: 10px;
  color: var(--dl-muted);
  font-size: max(0.95em, 0.8125rem);
  padding: 0 7px;
}

.dl-lz-chip--stage {
  color: var(--dl-maroon);
}

.dl-lz-chip--warn {
  border-color: var(--dl-gold);
  color: var(--dl-lz-warn);
}

.dl-lz-chip--role {
  border-color: var(--dl-muted);
  color: var(--dl-ink);
}

.dl-lz-m {
  align-items: center;
  border: 1px solid var(--dl-solid);
  border-radius: 3px;
  color: var(--dl-solid) !important;
  display: inline-flex;
  flex-wrap: wrap;
  font-size: max(0.82em, 0.8125rem);
  min-height: 32px;
  padding: 2px 8px;
  text-decoration: none;
}

.dl-lz-legend .dl-lz-m {
  flex: none;
  min-height: 0;
}

.dl-lz-m__src {
  background: var(--dl-pick);
  border-radius: 2px;
  color: var(--dl-ink);
  font-size: max(0.85em, 0.8125rem);
  margin-right: 4px;
  padding: 0 3px;
}

.dl-lz-m--k {
  border-style: dashed;
}

.dl-lz-m--dim {
  border-color: var(--dl-hatch);
  color: var(--dl-muted) !important;
}

.dl-lz-m--none {
  border-color: var(--dl-hatch);
  border-style: dotted;
  color: var(--dl-muted) !important;
}

.dl-lz-meta {
  color: var(--dl-muted);
  font-size: max(0.9em, 0.9375rem);
  font-weight: normal;
  margin-left: 2px;
}

.dl-lz-scroll {
  margin: 0 0 8px;
  overflow-x: auto;
}

.dl-lz-index {
  border-collapse: collapse;
  font-size: max(0.9em, 0.9375rem);
}

.dl-lz-index th {
  color: var(--dl-muted);
  font-weight: 600;
  padding: 4px 12px 4px 0;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.dl-lz-index td {
  padding: 4px 0;
}

.dl-lz-index a {
  display: inline-block;
  margin-right: 2px;
  padding: 4px 0;
}

.dl-lz-index .dl-n {
  margin-right: 12px;
}

.dl-lz-card {
  border: 1px solid var(--dl-line);
  border-radius: 6px;
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
  padding: 10px 12px;
  scroll-margin-top: 70px;
}

.dl-lz-card--current {
  border-color: var(--dl-gold);
  box-shadow: 0 0 0 1px var(--dl-gold);
}

.dl-lz-card__head {
  color: var(--dl-ink);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.08em;
  margin: 0;
}

.dl-lz-card__head a {
  text-decoration: none;
}

.dl-lz-why,
.dl-lz-src {
  font-size: max(0.88em, 0.9375rem);
}

.dl-lz-why summary,
.dl-lz-src summary {
  color: var(--dl-link);
  cursor: pointer;
}

.dl-lz-why ul {
  margin: 4px 0 0;
  padding-left: 1.2em;
}

.dl-lz-line {
  font-size: max(0.88em, 0.9375rem);
}

.dl-lz-line > span {
  display: inline-block;
  margin-right: 12px;
}

.dl-lz-line i {
  color: var(--dl-muted);
  font-style: normal;
  margin-right: 4px;
}

.dl-lz-syl {
  border-left: 3px solid var(--dl-solid);
  font-size: max(0.88em, 0.9375rem);
  padding: 2px 0 2px 8px;
}

.dl-lz-syl--opp {
  border-left-color: var(--dl-gold);
}

.dl-lz-syl__lab {
  color: var(--dl-muted);
}

.dl-lz-syl__grid {
  display: grid;
  gap: 2px 12px;
  grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
  margin: 2px 0 0;
}

.dl-lz-syl__grid div {
  display: flex;
  gap: 6px;
}

.dl-lz-syl__grid dt {
  color: var(--dl-muted);
  flex: none;
}

.dl-lz-syl__grid dd {
  margin: 0;
}

.dl-lz-src__body {
  background: var(--dl-paper);
  border-radius: 4px;
  display: grid;
  gap: 8px;
  margin-top: 6px;
  padding: 8px 10px;
}

.dl-lz-unit {
  font-size: 1.08em;
  line-height: 1.75;
  max-width: 40em;
}

.dl-lz-unit__cite {
  font-size: max(0.85em, 0.9375rem);
  padding: 4px 2px;
  text-decoration: none;
}

.dl-lz-voice {
  border: 1px solid var(--dl-line);
  border-radius: 3px;
  color: var(--dl-muted);
  font-size: max(0.75em, 0.8125rem);
  margin-right: 6px;
  padding: 0 4px;
}

.dl-lz-gap {
  color: var(--dl-muted);
  font-size: max(0.9em, 0.9375rem);
}

.dl-lz-nav {
  display: flex;
  flex-wrap: wrap;
  font-size: max(0.88em, 0.9375rem);
  gap: 4px 16px;
}

.dl-lz-nav a {
  display: inline-block;
  min-height: 44px;
  padding: 12px 0;
}

.dl-lz-where {
  font-size: max(0.85em, 0.9375rem);
  margin: 4px 0 0;
}

.dl-lz-outline {
  border: 1px solid var(--dl-line);
  border-radius: 6px;
  font-size: max(0.9em, 0.9375rem);
  margin: 0 0 12px;
  padding: 8px 12px;
}

.dl-lz-outline__head {
  color: var(--dl-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0 0 4px;
}

.dl-lz-outline ol {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dl-lz-outline li a {
  display: flex;
  gap: 8px;
  padding: 5px 0;
  text-decoration: none;
}

.dl-lz-outline li b {
  color: var(--dl-muted);
  flex: none;
  font-variant-numeric: tabular-nums;
  font-weight: normal;
  min-width: 1.5em;
}

.dl-lz-outline [aria-current] {
  color: var(--dl-ink);
  font-weight: 600;
}

.dl-lz-outline [aria-current] b {
  color: var(--dl-lz-warn);
}

/* 手机上点得准：本页链接、选择、输入、折叠都到 44px 高（审 10-26：排法 26px、行标题 25px、「本组下一段 →」18px）。
   窄窗口的桌面也照这样，免得只认 pointer 的漏掉 */
@media (pointer: coarse), (max-width: 560px) {
  .dl-lz-views a,
  .dl-lz-views [aria-current],
  .dl-lz-pins__list a,
  .dl-lz-pins__list [aria-current],
  .dl-lz-pins__none,
  .dl-lz-pins__step a,
  .dl-lz-toc__item a,
  .dl-lz-follow,
  .dl-lz-previous,
  .dl-lz-unit__cite,
  .dl-lz-outline__head a,
  .dl-lz-where a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  .dl-lz-unit__cite {
    padding: 0 6px;
  }

  /* 方法签桌面上 32px；手机上链出去的签也到 44px（只作说明的 span 不必） */
  a.dl-lz-m {
    min-height: 44px;
  }

  .dl-lz-row__head a,
  .dl-lz-card__head a {
    align-items: center;
    display: flex;
    min-height: 44px;
  }

  .dl-lz-outline li a {
    align-items: center;
    min-height: 44px;
    padding-block: 0;
  }

  .dl-lz-find__q,
  .dl-lz-from select,
  .dl-lz-from__go,
  .dl-lz-empty button {
    min-height: 44px;
  }

  .dl-lz-how summary,
  .dl-lz-pins__all summary,
  .dl-lz-toc summary,
  .dl-lz-why summary,
  .dl-lz-src summary {
    padding-block: 12px;
  }

  .dl-way .dl-way__more a,
  .dl-note:not(.dl-related-terms) > a {
    display: inline-block;
    padding-block: 12px;
  }
}

/* 对照页（三戒对照，站长 10-26）：一行一个主题，宽屏几栏并排、约 1024px 以下上下堆叠。
   选栏和主题导航吸顶（手机全览七千像素，读到后面不必回滚）；跳到一行时让开吸顶栏（--dz-bar 由脚本量）。
   出处、按钮的点击区放大（审 10-26：出处 13px 以上、按钮近 44px 高）。 */
.dz {
  --dz-c1: #4a7c59;
  --dz-c2: #2f6690;
  --dz-c3: #8a5a1e;
  --dz-label: 8rem;
}

.dz-lede {
  line-height: 1.8;
  margin: 0 0 6px;
  max-width: 46rem;
}

.dz-about p {
  color: var(--dl-muted);
  font-size: max(0.9em, 0.9375rem);
  line-height: 1.8;
  margin: 0 0 8px;
  max-width: 46rem;
}

.dz-bar {
  background: var(--dl-paper);
  border-bottom: 1px solid var(--dl-line);
  box-shadow: 0 6px 8px -8px rgb(0 0 0 / 25%);
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
  padding: 8px 0 6px;
  position: sticky;
  top: 0;
  z-index: 5;
}

.dz-pick {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}

.dz-pick[hidden] {
  display: none;
}

.dz-pick button {
  background: var(--dl-paper);
  border: 1px solid var(--dl-field);
  border-radius: 999px;
  color: var(--dl-ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.95em;
  flex: none;
  min-height: 40px;
  padding: 6px 14px;
}

.dz-pick button[aria-pressed="true"] {
  background: var(--dl-maroon);
  border-color: var(--dl-maroon);
  color: #fff;
}

.dz-toc {
  display: flex;
  gap: 2px 14px;
  overflow-x: auto;
  scrollbar-width: thin;
  white-space: nowrap;
}

.dz-toc a {
  display: inline-block;
  font-size: max(0.9em, 0.9375rem);
  padding: 6px 0;
  text-decoration: none;
}

.dz-head {
  display: grid;
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-weight: 600;
  gap: 0 14px;
  grid-template-columns: var(--dz-label) repeat(3, minmax(0, 1fr));
}

.dz-head span:nth-child(2) {
  color: var(--dz-c1);
}

.dz-head span:nth-child(3) {
  color: var(--dz-c2);
}

.dz-head span:nth-child(4) {
  color: var(--dz-c3);
}

.dz-row {
  border-bottom: 1px solid var(--dl-line);
  display: grid;
  gap: 0 14px;
  grid-template-columns: var(--dz-label) minmax(0, 1fr);
  padding: 14px 0;
  scroll-margin-top: calc(var(--dz-bar, 7rem) + 8px);
}

.dz-row__name {
  color: var(--dl-maroon);
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.05em;
  grid-row: span 2;
  margin: 0;
}

.dz-heshuo {
  background: var(--dl-paper);
  border-left: 3px solid var(--dl-gold);
  grid-column: 2;
  margin: 0 0 10px;
  padding: 8px 12px;
}

.dz-heshuo p {
  font-family: "Songti SC", "SimSun", "宋体", serif;
  line-height: 1.85;
  margin: 0;
}

.dz-tag,
.dz-kind {
  color: var(--dl-gold-text);
  font-size: max(0.8em, 0.8125rem);
  letter-spacing: 0.06em;
}

.dz-tag {
  margin-right: 8px;
}

.dz-cells {
  display: grid;
  gap: 14px;
  grid-column: 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dz-cell {
  background: var(--dl-paper);
  border: 1px solid var(--dl-line);
  border-radius: 6px;
  border-top: 3px solid var(--dz-c1);
  min-width: 0;
  padding: 10px 12px;
}

.dz-cell:nth-child(2) {
  border-top-color: var(--dz-c2);
}

.dz-cell:nth-child(3) {
  border-top-color: var(--dz-c3);
}

/* 宽屏看表头：格里的栏名只给读屏念 */
.dz-cell__col {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.dz-part + .dz-part,
.dz-part + .dz-more,
.dz-more + .dz-more {
  border-top: 1px dashed var(--dl-line);
  margin-top: 10px;
  padding-top: 8px;
}

.dz-scope {
  background: var(--dl-pick);
  border-radius: 4px;
  color: var(--dl-gold-text);
  display: inline-block;
  font-size: max(0.82em, 0.9375rem);
  margin: 0 0 4px;
  padding: 1px 8px;
}

.dz-kind {
  display: block;
  margin: 4px 0 0;
}

.dz-kepan {
  font-size: 0.92em;
  margin: 0;
}

.dz-verse {
  font-family: "Songti SC", "SimSun", "宋体", serif;
  font-size: 1.02em;
  line-height: 1.85;
  margin: 2px 0 2px;
}

.dz-cite {
  display: inline-block;
  font-size: max(0.85em, 0.9375rem);
  padding: 8px 0;
  text-decoration: none;
}

.dz-explain > summary,
.dz-more > summary {
  color: var(--dl-link);
  cursor: pointer;
  font-size: max(0.92em, 0.9375rem);
  padding: 8px 0;
}

.dz-n {
  color: var(--dl-muted);
  font-size: max(0.9em, 0.8125rem);
  margin-left: 6px;
}

.dz-explain .dl-quote {
  margin: 4px 0 8px;
}

.dz-frames {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 12px;
  margin: 8px 0 0;
}

.dz-frames .dz-kind {
  flex-basis: 100%;
}

.dz-frames a {
  padding: 6px 0;
}

.dz-pick:focus-within,
.dz a:focus-visible,
.dz summary:focus-visible {
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .dz-head {
    display: none;
  }

  .dz-row {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 右上角是站点菜单键（固定位置），吸顶栏右边让开 */
  .dz-bar {
    margin-inline: -14px;
    padding-inline: 14px 56px;
  }

  .dz-row__name {
    grid-row: auto;
    margin-bottom: 8px;
  }

  .dz-heshuo,
  .dz-cells {
    grid-column: 1;
  }

  .dz-cells {
    gap: 10px;
    grid-template-columns: minmax(0, 1fr);
  }

  .dz-cell__col {
    clip: auto;
    clip-path: none;
    font-family: "Songti SC", "SimSun", "宋体", serif;
    font-size: 1em;
    height: auto;
    margin: 0 0 4px;
    overflow: visible;
    position: static;
    white-space: normal;
    width: auto;
  }

  .dz-cell:nth-child(1) .dz-cell__col {
    color: var(--dz-c1);
  }

  .dz-cell:nth-child(2) .dz-cell__col {
    color: var(--dz-c2);
  }

  .dz-cell:nth-child(3) .dz-cell__col {
    color: var(--dz-c3);
  }

  .dz[data-only] .dz-cell {
    display: none;
  }

  .dz[data-only] .dz-cell.is-on {
    display: block;
  }

  .dz-cite,
  .dz-kepan {
    font-size: 0.9em;
  }
}

@media (min-width: 1025px) {
  .dz-pick {
    display: none;
  }
}
