/* 严弼宸 · 矿井：一口竖井。地面是《论矿冶》的纸色，往下一层比一层深；
   .c-yan-bichen 每层一幅木刻，像钉在巷道壁上的一张纸，矿灯照着它。配色只用木刻的黑、纸色、岩层的褐，加矿石的铁锈色和矿灯的黄。 */
.c-yan-bichen {
  --sky: #e6ddc9; --r0: #4a3d31; --r1: #41352b; --r2: #392e25; --r3: #31281f; --r4: #29221b; --r5: #221c17; --r6: #1a1512;
  --bg: var(--r2); --paper: #ece2ca; --ink: #efe6d3; --ink-2: #d2c5af; --ink-3: #c0b39b; --rule: rgba(239, 230, 211, .2);
  --acc: #e8935f; --acc-ink: #1d1712; --lamp: #e9b562; --wood: #94734b; --woodd: #5d4632; --cut: #1c1814;
  --head: "Noto Serif SC", "Songti SC", "STSong", serif; --body: "Noto Serif SC", "Songti SC", "STSong", serif;
  --lat: "Cormorant Garamond", "Noto Serif SC", serif; --sc: "Cormorant SC", "Cormorant Garamond", serif;
  --bar-bg: rgba(230, 221, 201, .93); --bar-ink: #1f1a15; --chip-bg: rgba(44, 37, 31, .92); --chip-ring: #2c251f;
  --shaftw: 76px; --px: clamp(18px, 5vw, 72px);
  background-color: var(--r6); color: var(--ink);
}
.c-yan-bichen .dlg { --dlg-bg: #e9dfc8; --dlg-paper: #f8f2e4; --dlg-ink: #1f1a15; --dlg-ink-2: #4c4135; --dlg-ink-3: #6f6252;
  --dlg-me: #3a2f26; --dlg-me-ink: #f3e9d4; --dlg-acc: #a2451d; }
.c-yan-bichen .dlg .msg--me .msg__o summary { color: inherit; }

/* 页头：在地面上是纸色，下井以后变暗 */
.c-yan-bichen .c3bar { font-family: var(--head); }
.c-yan-bichen[data-cur]:not([data-cur="top"]) .c3bar { --bar-bg: rgba(26, 21, 18, .92); --bar-ink: #efe6d3; --rule: rgba(239, 230, 211, .16); }
.c-yan-bichen .c3bar__prog { background: var(--lamp); height: 3px; }

/* 岩层：一层比一层深，层理的角度各不相同 */
.c-yan-bichen .c3q, .c-yan-bichen .c3end, .yb-under, .yb-band {
  background-image: radial-gradient(rgba(255, 240, 210, .05) 1px, transparent 1.7px), radial-gradient(rgba(0, 0, 0, .18) 1px, transparent 1.8px),
    repeating-linear-gradient(var(--dip, 177deg), transparent 0 26px, rgba(255, 240, 210, .028) 26px 27px, transparent 27px 61px, rgba(0, 0, 0, .09) 61px 63px);
  background-size: 11px 11px, 17px 17px, auto; background-position: 0 0, 6px 9px, 0 0;
}
.c-yan-bichen #assay { background-color: var(--r1); --dip: 176deg; }
.c-yan-bichen #metaphor { background-color: var(--r2); --dip: 179deg; }
.c-yan-bichen #bermannus { background-color: var(--r3); --dip: 175deg; }
.c-yan-bichen #minerals { background-color: var(--r4); --dip: 178deg; }
.c-yan-bichen #ideas { background-color: var(--r5); --dip: 176deg; }
.c-yan-bichen .c3end { background-color: var(--r6); --dip: 180deg; }

/* —— 首屏：地面 —— */
.c-yan-bichen .c3hero { padding: 0; min-height: 0; background: var(--r0); }
.yb-sky { --ink: #1f1a15; --ink-2: #463b30; --ink-3: #64574a; --rule: rgba(31, 26, 21, .22); --acc: #9c4019;
  color: var(--ink); background: var(--sky); padding: calc(var(--bar) + 22px) var(--px) 0; }
.yb-sky__in { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 330px); gap: 0 clamp(28px, 5vw, 64px); align-items: end; }
.yb-k { margin: 0; font: 500 14px/1.4 var(--head); letter-spacing: .14em; color: var(--acc); }
.yb-id h1 { margin: 2px 0 0; font-family: var(--head); font-weight: 900; font-size: clamp(60px, 7.6vw, 112px); line-height: 1.02; letter-spacing: .08em; }
.yb-en { margin: 2px 0 10px; font: italic 500 30px/1.2 var(--lat); color: var(--ink-2); }
.yb-who { margin: 0 0 2px; font-size: 19px; font-weight: 700; }
.yb-now { margin: 0 0 14px; font-size: 14.5px; color: var(--ink-2); }
.yb-rel { max-width: 720px; margin: 0 0 12px; padding: 10px 0 10px 16px; border-left: 4px solid var(--acc); }
.yb-rel .mk, .yb-book .mk { margin: 0 0 2px; font: 700 13px/1.4 var(--head); letter-spacing: .12em; color: var(--acc); }
.yb-rel p { margin: 0; font-size: 15px; line-height: 1.8; }
.yb-book { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; margin: 0 0 6px; font-size: 16px; }
.yb-book .mk { margin: 0; }
.yb-book a { font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--rule); }
.yb-book a:hover { border-bottom-color: currentColor; }
.yb-book small { font-size: 13px; color: var(--ink-3); }
.yb-title { margin: 0 0 6px; }
.yb-title img { display: block; width: 100%; height: auto; max-height: 52svh; object-fit: contain; object-position: center bottom; mix-blend-mode: multiply; }
.yb-title figcaption { margin-top: 6px; font-size: 12.5px; line-height: 1.6; color: var(--ink-3); }
/* 地面线：草与井口的绞车 */
.yb-ground { position: relative; height: 92px; color: #1f1a15;
  background: linear-gradient(to bottom, var(--sky) 0 64px, #6b5a46 64px 68px, var(--r0) 68px); }
.yb-ground::before { content: ""; position: absolute; left: 0; right: 0; top: 50px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='16'%3E%3Cg fill='none' stroke='%231f1a15' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M6 15 q2 -8 -1 -13 M9 15 q1 -6 5 -10 M12 15 q-1 -5 -5 -8 M40 15 q2 -6 0 -11 M43 15 q2 -4 6 -7 M66 15 q-2 -7 2 -12 M70 15 q1 -5 -3 -9 M73 15 q3 -5 7 -6'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 0 / 90px 16px; }
.yb-winch-big { position: absolute; z-index: 2; left: calc(max(var(--px), calc((100% - 1200px) / 2)) + 7px); top: 0; width: 76px; height: 66px; color: #1f1a15; }
.yb-under { --ink: #efe6d3; background-color: var(--r0); padding: 0 var(--px) 40px; }
.yb-plan { position: relative; max-width: 1200px; margin: 0 auto; padding: 18px 0 0 86px; }
.yb-plan::before { content: ""; position: absolute; left: 30px; top: -46px; bottom: 64px; width: 30px; background-color: #15100d;
  border-left: 5px solid var(--woodd); border-right: 5px solid var(--woodd);
  background-image: repeating-linear-gradient(0deg, transparent 0 30px, rgba(148, 115, 75, .55) 30px 34px); }
.yb-plan::after { content: ""; position: absolute; left: 44px; top: -46px; width: 2px; height: 64px; background: repeating-linear-gradient(0deg, #c9b089 0 3px, #8a6a45 3px 6px); }
.yb-plan .mk { margin: 0 0 10px; font: 700 13px/1.4 var(--head); letter-spacing: .14em; color: var(--lamp); }
.yb-plan ol { list-style: none; margin: 0; padding: 0; }
.yb-plan li + li { margin-top: 6px; }
.yb-plan li a { position: relative; display: grid; grid-template-columns: 3.4em 3.6em minmax(0, 1fr); align-items: baseline; gap: 0 10px; margin-left: -30px; padding: 9px 18px 9px 30px;
  text-decoration: none; color: var(--ink); border-top: 3px solid var(--woodd);
  background: linear-gradient(90deg, #17120e 0, #241c16 40%, rgba(36, 28, 22, .2) 100%),
    repeating-linear-gradient(90deg, transparent 0 136px, rgba(148, 115, 75, .5) 136px 141px);
  transition: background-color .25s; }
.yb-plan li a::after { content: ""; position: absolute; inset: 0; background: radial-gradient(160px 60px at 12% 50%, rgba(233, 181, 98, .22), transparent 70%); opacity: 0; transition: opacity .25s; }
.yb-plan li a:hover::after, .yb-plan li a:focus-visible::after { opacity: 1; }
.yb-plan__lv { font: 700 14px/1.4 var(--head); color: var(--lamp); }
.yb-plan li b { font: 600 19px/1 var(--lat); color: var(--ink-2); font-variant-numeric: oldstyle-nums; }
.yb-plan__q { font-size: 16px; line-height: 1.5; }
.yb-plan li a:hover .yb-plan__q { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--acc); }
.yb-go { margin: 16px 0 0; }
.c-yan-bichen .c3-btn { border-radius: 2px; font-family: var(--head); min-height: 40px; padding: 8px 16px; }
.c-yan-bichen .c3-btn--go { background: var(--lamp); border-color: var(--lamp); color: #1d1712; }
.c-yan-bichen .c3-btn--deep { background: transparent; border-color: var(--ink-2); color: var(--ink); }
.yb-band { background-color: var(--r0); padding: 6px var(--px) 56px; --dip: 178deg; }
.yb-band { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .9fr); gap: 28px; }
.yb-band > div:first-child { grid-column: 1; }
@supports (width: min(1px, 2px)) { .yb-band { padding-left: max(var(--px), calc((100% - 1200px) / 2)); padding-right: max(var(--px), calc((100% - 1200px) / 2)); } }
.yb-band .mk { margin: 0 0 8px; padding-top: 14px; border-top: 3px solid var(--woodd); font: 700 13px/1.4 var(--head); letter-spacing: .14em; color: var(--lamp); }
.yb-facts { margin: 0; font-size: 14px; line-height: 1.85; color: var(--ink-2); }
.c-yan-bichen .c3-feats { margin: 0; padding: 0; list-style: none; }
.c-yan-bichen .c3-feats li { position: relative; padding: 5px 0 6px 18px; border-bottom: 1px solid var(--rule); font-size: 14px; line-height: 1.6; }
.c-yan-bichen .c3-feats li::before { content: ""; position: absolute; left: 0; top: 13px; width: 7px; height: 7px; transform: rotate(45deg); background: var(--acc); }
.c-yan-bichen .c3-links li { border-bottom-color: var(--rule); font-size: 14px; }
.c-yan-bichen .c3-links small, .c-yan-bichen .c3-books small { color: var(--ink-3); }

/* 首屏的温度刻度：他最早的论文 */
.yb-temp { margin: 14px 0 0; max-width: 520px; }
.yb-temp svg { display: block; width: 100%; height: auto; overflow: visible; }
.yb-temp__bar { fill: rgba(239, 230, 211, .14); }
.yb-temp__hot { fill: var(--acc); }
.yb-temp__t line { stroke: var(--ink-3); stroke-width: 1.2; }
.yb-temp__n text { font: 600 13px/1 var(--lat); fill: var(--ink-3); }
.yb-temp__n text:last-child { text-anchor: end; }
.yb-temp__n text:nth-child(2) { text-anchor: middle; }
.yb-temp figcaption { margin-top: 6px; font-size: 13px; line-height: 1.7; color: var(--ink-3); }

/* —— 竖井、绞车与吊桶（导航） —— */
.c-yan-bichen .c3toc { left: 0; right: auto; top: var(--bar); bottom: 0; transform: none; width: var(--shaftw); transition: opacity .45s, visibility .45s; }
.c-yan-bichen[data-cur="top"] .c3toc { opacity: 0; visibility: hidden; }
.yb-shaft { position: relative; display: flex; flex-direction: column; height: 100%; background: linear-gradient(90deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .1)); }
.yb-winch { flex: none; display: block; width: 76px; height: 64px; }
.yb-winch__frame { fill: none; stroke: var(--wood); stroke-width: 3.2; stroke-linecap: round; }
.yb-winch__drum { fill: #3a2c20; stroke: var(--wood); stroke-width: 2.4; }
.yb-winch__crank { transform-box: view-box; transform-origin: 38px 24px; transform: rotate(var(--crank, 0deg)); fill: none; stroke: var(--lamp); stroke-width: 2.6; stroke-linecap: round; }
.yb-winch__crank circle { fill: var(--lamp); }
.yb-winch__hub { fill: var(--lamp); }
.yb-well { position: relative; flex: 1; margin: 0 16px 14px; background-color: #120e0b; border-left: 5px solid var(--woodd); border-right: 5px solid var(--woodd);
  background-image: repeating-linear-gradient(0deg, transparent 0 30px, rgba(148, 115, 75, .45) 30px 34px); }
.yb-well__rope { position: absolute; left: 62%; top: 0; width: 2px; height: var(--by, 0px); margin-left: -1px; background: repeating-linear-gradient(0deg, #d4bb92 0 3px, #8a6a45 3px 6px); }
.yb-well__bucket { position: absolute; left: 62%; top: var(--by, 0px); width: 20px; height: 16px; margin-left: -10px; background: linear-gradient(90deg, #6e5236, #a7835a 45%, #6e5236);
  border-radius: 1px 1px 5px 5px; box-shadow: 0 0 14px rgba(233, 181, 98, .55); }
.yb-well__bucket::before { content: ""; position: absolute; left: 3px; right: 3px; top: -7px; height: 8px; border: 1.5px solid #d4bb92; border-bottom: 0; border-radius: 8px 8px 0 0; }
.yb-lvls { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.yb-lvls li { position: absolute; left: -16px; width: 40px; height: 40px; top: calc(var(--p) * (100% - 40px)); }
.c-yan-bichen .c3toc .yb-lvls a { display: grid; place-items: center; width: 40px; height: 40px; gap: 0; color: #1d1712; text-decoration: none; justify-content: center; }
.c-yan-bichen .c3toc .yb-lvls a::after { content: none; display: none; }
.yb-lvls b { display: grid; place-items: center; width: 24px; height: 22px; background: var(--wood); border-radius: 2px; box-shadow: 0 2px 0 rgba(0, 0, 0, .45);
  font: 700 12.5px/1 var(--head); color: #1d1712; transition: background .2s, transform .2s; }
.yb-lvls a:hover b, .yb-lvls a:focus-visible b { transform: scale(1.12); }
.c-yan-bichen .c3toc .yb-lvls a[aria-current="true"] b { background: var(--lamp); box-shadow: 0 0 12px rgba(233, 181, 98, .7); }
.c-yan-bichen .c3toc .yb-lvls a span { position: absolute; left: 44px; top: 50%; transform: translateY(-50%); max-width: none; width: max-content; overflow: visible; white-space: nowrap;
  padding: 5px 11px; background: var(--paper); color: #1f1a15; border-radius: 2px; box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
  font: 500 13.5px/1.4 var(--head); opacity: 0; visibility: hidden; transition: opacity .18s; pointer-events: none; }
.c-yan-bichen .c3toc .yb-lvls a:hover span, .c-yan-bichen .c3toc .yb-lvls a:focus-visible span { opacity: 1; visibility: visible; }

/* —— 每一层：一条平巷 —— */
.c-yan-bichen .c3q { display: block; padding: calc(var(--bar) + 36px) var(--px) 76px calc(var(--shaftw) + clamp(28px, 4vw, 64px)); overflow-x: hidden; overflow-x: clip; }
.yb-lv { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); grid-template-rows: auto auto auto 1fr;
  grid-template-areas: "cap cap" "head art" "lede art" "rest art"; column-gap: clamp(28px, 4vw, 60px); }
.yb-lv__cap { grid-area: cap; position: relative; height: 16px; margin: 0 0 34px; border-radius: 2px;
  background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .1) 0 2px, transparent 2px 19px, rgba(255, 230, 190, .07) 19px 21px, transparent 21px 47px), linear-gradient(#a07d52, #6f5438);
  box-shadow: 0 6px 12px rgba(0, 0, 0, .45); }
.yb-lv__cap::before, .yb-lv__cap::after { content: ""; position: absolute; top: 100%; width: 14px; height: 30px; background: linear-gradient(90deg, #6f5438, #94734b, #6f5438); }
.yb-lv__cap::before { left: 14px; } .yb-lv__cap::after { right: 14px; }
.yb-lv__head { grid-area: head; margin: 0 0 14px; }
.yb-lv__depth { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; font: 700 14px/1.4 var(--head); letter-spacing: .14em; color: var(--lamp); }
.yb-lv__depth span { display: none; }
.yb-lv__depth::after { content: ""; width: 92px; height: 8px; border-radius: 1px;
  background: linear-gradient(90deg, var(--lamp) 0 calc(var(--lv, 1) * 20%), transparent 0), repeating-linear-gradient(90deg, rgba(239, 230, 211, .22) 0 15px, transparent 15px 19px); }
.c-yan-bichen .c3end .yb-lv__depth { --lv: 5; }
.c-yan-bichen .c3q--1 .yb-lv__depth { --lv: 1; } .c-yan-bichen .c3q--2 .yb-lv__depth { --lv: 2; } .c-yan-bichen .c3q--3 .yb-lv__depth { --lv: 3; }
.c-yan-bichen .c3q--4 .yb-lv__depth { --lv: 4; } .c-yan-bichen .c3q--5 .yb-lv__depth { --lv: 5; }
.c-yan-bichen .c3q__when { gap: 12px; color: var(--ink-3); font-size: 14px; }
.c-yan-bichen .c3q__when b { font: 600 32px/1 var(--lat); color: var(--acc); font-variant-numeric: lining-nums; }
.c-yan-bichen .c3q__q { margin: 10px 0 0; font-family: var(--head); font-weight: 900; font-size: clamp(28px, 3.3vw, 44px); line-height: 1.25; letter-spacing: .02em; text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere; }
.yb-lede { grid-area: lede; margin: 0 0 4px !important; font-size: 16.5px !important; line-height: 1.95; color: var(--ink); }
.yb-lv__art { grid-area: art; min-width: 0; }
.yb-lv__rest { grid-area: rest; min-width: 0; }
.c-yan-bichen .c3-quote { margin: 22px 0 16px; padding: 4px 0 4px 18px; border-left: 3px solid var(--acc); }
.c-yan-bichen .c3-quote blockquote p { font-size: 18px; line-height: 1.75; }
.c-yan-bichen .c3-orig { font: italic 500 16.5px/1.5 var(--lat); color: var(--ink-2); }
.c-yan-bichen .c3-quote figcaption { color: var(--ink-3); }
.c-yan-bichen .c3-tags li { border-radius: 2px; border-color: var(--rule); color: var(--ink-2); }
.c-yan-bichen .c3-works .mk, .c-yan-bichen .c3-talk .mk { color: var(--lamp); font-weight: 700; }
.c-yan-bichen .c3-works small, .c-yan-bichen .c3-ask small { color: var(--ink-3); }
.c-yan-bichen .talk { border-color: var(--rule); background: var(--chip-bg); border-radius: 4px; }
.c-yan-bichen .talk__n, .c-yan-bichen .talk__av b { color: var(--ink-3); }
.c-yan-bichen .c3-ask { border-color: var(--rule); border-radius: 2px; }
.c-yan-bichen .c3-deeplink { color: var(--lamp); }

/* —— 木刻：钉在巷道壁上的一张纸 —— */
.yb-fig { position: relative; margin: 0; }
.yb-fig::before { content: ""; position: absolute; left: -12%; right: -12%; top: -10%; bottom: -6%; z-index: 0; pointer-events: none;
  background: radial-gradient(closest-side, rgba(233, 181, 98, .2), rgba(233, 181, 98, .06) 60%, transparent); }
.yb-sheet { position: relative; z-index: 1; width: fit-content; max-width: 100%; padding: 10px; background: var(--paper); box-shadow: 0 20px 44px rgba(0, 0, 0, .6), 0 0 0 1px rgba(0, 0, 0, .35); }
.yb-sheet::before, .yb-sheet::after { content: ""; position: absolute; top: 5px; width: 6px; height: 6px; border-radius: 50%; background: #3b3029; box-shadow: 0 1px 0 rgba(255, 255, 255, .4); }
.yb-sheet::before { left: 5px; } .yb-sheet::after { right: 5px; }
.yb-sheet__in { position: relative; }
.yb-sheet img { display: block; width: auto; max-width: 100%; height: auto; max-height: min(66vh, 640px); }
.yb-fig figcaption { position: relative; z-index: 1; margin-top: 10px; font-size: 13px; line-height: 1.65; color: var(--ink-3); }
.yb-liber { display: inline-block; margin-right: 8px; padding: 0 6px; border: 1px solid var(--rule); font: 600 14px/1.5 var(--sc); letter-spacing: .08em; color: var(--lamp); }
.c-yan-bichen .c3q--1 .yb-fig .yb-sheet { transform: rotate(-.5deg); } .c-yan-bichen .c3q--3 .yb-fig .yb-sheet { transform: rotate(.4deg); }
.c-yan-bichen .c3q--5 .yb-fig .yb-sheet { transform: rotate(-.3deg); }

/* —— 机关的共用件 —— */
.yb-panel, .yb-ropes { position: relative; margin-top: 22px; padding: 14px 16px 15px; background: rgba(16, 12, 9, .5); border: 1px solid var(--rule); border-top: 5px solid var(--woodd); border-radius: 2px; }
.yb-kk { margin: 0 0 10px; font: 700 14px/1.4 var(--head); letter-spacing: .08em; color: var(--lamp); }
.yb-ctl { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.yb-ctl button { min-height: 40px; padding: 7px 15px; border: 1.5px solid var(--ink-2); border-radius: 2px; background: transparent; color: var(--ink); font: 500 14.5px/1.3 var(--head); cursor: pointer; }
.yb-ctl button[aria-pressed="true"] { background: var(--ink); color: #1d1712; border-color: var(--ink); }
.yb-ctl .yb-ctl__go { border-color: var(--acc); color: var(--acc); }
.yb-ctl .yb-ctl__go[aria-pressed="true"] { background: var(--acc); color: var(--acc-ink); }
.yb-ctl button:hover { box-shadow: 0 0 0 3px rgba(233, 181, 98, .25); }
.yb-out { margin: 10px 0 0; min-height: 3.4em; font-size: 14.5px; line-height: 1.75; color: var(--ink-2); }
.c-yan-bichen :focus-visible { outline: 2px solid var(--lamp); outline-offset: 2px; }

/* 同一座炉子：试与炼 */
.yb-furn { display: block; width: 100%; height: auto; overflow: visible; }
.yb-furn__ground path { stroke: var(--ink-3); stroke-width: 1.4; fill: none; }
.yb-furn__brick { fill: #5b4634; stroke: #e7d8bb; stroke-width: 3; }
.yb-furn__lines path { stroke: #e7d8bb; stroke-width: 2; opacity: .5; fill: none; }
.yb-furn__stack { fill: #4a3a2b; stroke: #e7d8bb; stroke-width: 3; }
.yb-furn__mouth { fill: #120c08; stroke: #e7d8bb; stroke-width: 3; }
.yb-furn__fire { fill: #e8935f; filter: drop-shadow(0 0 8px rgba(233, 140, 70, .8)); }
.yb-furn__smoke { fill: none; stroke: #a99c88; stroke-width: 6; stroke-linecap: round; opacity: .55; }
.yb-furn__body { transition: transform .25s ease-out; }
.yb-furn__heap circle { fill: #8f7c66; stroke: #2a211a; stroke-width: 1; }
.yb-furn__heap circle.o { fill: #b4703f; }
.yb-furn__tag { font: 900 44px/1 var(--head); fill: var(--lamp); }
.yb-assay__ctl { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 14px; margin-top: 8px; }
.yb-assay__ctl label { font: 700 14px/1.4 var(--head); color: var(--ink); }
.yb-assay__ctl input[type="range"] { width: 100%; height: 40px; margin: 0; accent-color: var(--acc); cursor: pointer; background: transparent; }
.yb-assay__ends { grid-column: 2; display: flex; justify-content: space-between; margin: -6px 0 0; font-size: 12.5px; color: var(--ink-3); }

/* 两根绳 */
.yb-pair { display: grid; grid-template-columns: auto minmax(220px, 1fr); gap: 20px; align-items: stretch; }
.yb-pair > .yb-fig .yb-sheet img { max-height: min(70vh, 660px); }
.yb-pair > .yb-panel { margin-top: 0; }
.yb-pair--ideas > .yb-panel { align-self: start; }
.yb-pair .yb-ropes { margin-top: 0; display: flex; flex-direction: column; }
.yb-ropes > .yb-kk, .yb-ropes > a, .yb-ropes > .yb-rope-c { position: relative; z-index: 1; }
.yb-ropes a, .yb-rope-c { position: relative; z-index: 1; display: block; padding: 8px 10px; background: var(--paper); color: #1f1a15; text-decoration: none; border-radius: 2px; box-shadow: 0 6px 14px rgba(0, 0, 0, .4); }
.yb-ropes a { margin: 0 14px 12px; }
.yb-ropes a:hover b, .yb-ropes a:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }
.yb-rope__who { display: block; font: 700 12.5px/1.4 var(--head); color: #9c4019; letter-spacing: .08em; }
.yb-ropes b { display: block; font-size: 14.5px; line-height: 1.45; }
.yb-ropes small { display: block; margin-top: 2px; font-size: 13px; line-height: 1.55; color: #4c4135; }
.yb-ropes__svg { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; display: block; }
.yb-ropes__svg path { fill: none; stroke: #c9b089; stroke-width: 3; stroke-dasharray: 5 3; vector-effect: non-scaling-stroke; }
.yb-rope-c { margin: auto 14px 0; background: var(--lamp); }
.yb-rope-c b { display: block; font-size: 15px; }
.yb-rope-c span { display: block; font-size: 13px; line-height: 1.55; color: #3a2f26; }

/* 探矿杖与沟：木刻上的字母 */
.yb-fig--spots .yb-sheet { position: relative; }
.yb-spot { position: absolute; width: 40px; height: 40px; margin: -20px 0 0 -20px; padding: 0; border-radius: 50%; border: 2px solid #9c4019; background: rgba(236, 226, 202, .55);
  color: #9c4019; font: 700 17px/1 var(--lat); cursor: pointer; box-shadow: 0 0 0 4px rgba(156, 64, 25, .18); transition: background .2s, transform .2s; }
.yb-spot:hover { transform: scale(1.08); }
.yb-spot[aria-pressed="true"] { background: #9c4019; color: #f6eedd; box-shadow: 0 0 0 8px rgba(156, 64, 25, .25); }
.yb-spot__out { margin-top: 14px; }
@media (prefers-reduced-motion: no-preference) {
  .c-yan-bichen .is-in .yb-spot:not([aria-pressed="true"]) { animation: yb-pulse 2.4s ease-in-out 1s 3; }
  @keyframes yb-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(156, 64, 25, .18); } 50% { box-shadow: 0 0 0 11px rgba(156, 64, 25, .05); } }
}

/* 竖长的木刻：图注放在纸的右边，像展柜里的标签 */
.yb-fig--side { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: end; }
.yb-fig--side figcaption { margin: 0; }
.yb-fig--side .yb-liber { display: table; margin: 0 0 8px; }

/* 三重秩序 */
.yb-orders__grid { display: grid; grid-template-columns: minmax(0, 290px) minmax(0, 1fr); gap: 8px 22px; align-items: center; }
.yb-orders__grid .yb-kk { margin-top: 0; }
.yb-orders__svg { display: block; width: 100%; height: auto; overflow: visible; }
.yb-o ellipse { fill: none; stroke-width: 2; }
.yb-o text, .yb-tags text, .yb-form { font: 600 16.5px/1 var(--head); }
.yb-o--sky ellipse { stroke: #c9b089; } .yb-o--sky text { fill: #c9b089; }
.yb-o--nat ellipse { stroke: var(--acc); } .yb-o--nat text { fill: var(--acc); }
.yb-o--man ellipse { stroke: #e7d8bb; } .yb-o--man text { fill: #e7d8bb; }
.yb-o, .yb-xtal, .yb-o__ties, .yb-grid, .yb-tags, .yb-form { transition: transform 1s cubic-bezier(.3, .7, .2, 1), opacity .8s; transform-box: view-box; transform-origin: 260px 150px; }
.yb-o__ties path { stroke: rgba(231, 216, 187, .5); stroke-width: 1.3; stroke-dasharray: 3 4; fill: none; }
.yb-grid path { stroke: rgba(231, 216, 187, .45); stroke-width: 1.2; fill: none; }
.yb-xtal path { fill: #b4703f; stroke: #f0e2c5; stroke-width: 1.6; stroke-linejoin: round; }
.yb-xtal path + path { fill: none; }
.yb-form { fill: var(--lamp); }
.yb-tags text { fill: var(--lamp); font-size: 15px; }
.yb-orders[data-st="one"] .yb-grid, .yb-orders[data-st="one"] .yb-tags { opacity: 0; }
.yb-o, .yb-xtal, .yb-o__ties, .yb-grid, .yb-tags, .yb-form { transform-origin: 160px 176px; }
.yb-orders[data-st="split"] .yb-o--sky { opacity: .12; }
.yb-orders[data-st="split"] .yb-o--man { transform: translate(-80px, -56px) scale(.76); }
.yb-orders[data-st="split"] .yb-o--nat { transform: translate(72px, -30px) scale(.78); opacity: .5; }
.yb-orders[data-st="split"] .yb-o__ties { opacity: 0; }
.yb-orders[data-st="split"] .yb-form { opacity: 0; transform: translateY(-16px); }
.yb-orders[data-st="split"] .yb-xtal { transform: translateY(176px); }

/* 拆开，还是装好 */
.yb-fig--ov .yb-sheet { position: relative; }
.yb-ov { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.yb-ov__a, .yb-ov__b { fill: rgba(22, 17, 13, .72); opacity: 0; transition: opacity .6s; }
.yb-ov__ra rect, .yb-ov__rb path { fill: none; stroke: #c4561f; stroke-width: 2.2; stroke-dasharray: 6 4; vector-effect: non-scaling-stroke; opacity: 0; transition: opacity .6s; }
.yb-fig--ov[data-st="a"] .yb-ov__a, .yb-fig--ov[data-st="a"] .yb-ov__ra rect { opacity: 1; }
.yb-fig--ov[data-st="b"] .yb-ov__b, .yb-fig--ov[data-st="b"] .yb-ov__rb path { opacity: 1; }

/* —— 井底 —— */
.c-yan-bichen .c3end { padding: calc(var(--bar) + 40px) var(--px) 64px calc(var(--shaftw) + clamp(28px, 4vw, 64px)); }
.yb-end { max-width: 1180px; margin: 0 auto; }
.c-yan-bichen .c3end h2 { font-family: var(--head); font-weight: 900; }
.c-yan-bichen .c3-lin li { border-radius: 2px; background: rgba(16, 12, 9, .45); border-color: var(--rule); border-top: 3px solid var(--woodd); }
.c-yan-bichen .c3-lin li p { color: var(--ink-2); }
.c-yan-bichen .c3-endgo .c3-btn { border-color: var(--ink-2); color: var(--ink); }
.c-yan-bichen .c3-endgo .c3-btn--deep { background: var(--lamp); border-color: var(--lamp); color: #1d1712; }
.c-yan-bichen .c3-credits, .c-yan-bichen .c3-fine { color: var(--ink-3); }

/* —— 响应式 —— */
@media (max-width: 1180px) {
  .yb-lv { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .yb-pair { grid-template-columns: minmax(0, 1fr); }
  .yb-pair .yb-fig { max-width: 420px; }
  .yb-pair .yb-ropes { min-height: 360px; }
}
@media (max-width: 860px) {
  .yb-sky { padding-top: calc(var(--bar) + 22px); }
  .yb-sky__in { grid-template-columns: minmax(0, 1fr) 30%; align-items: start; }
  .yb-id h1 { font-size: clamp(54px, 15vw, 88px); }
  .yb-en { font-size: 24px; margin-bottom: 10px; }
  .yb-title img { max-height: 40svh; }
  .yb-plan { padding-left: 64px; }
  .yb-plan::before { left: 16px; width: 26px; }
  .yb-plan::after { left: 33px; }
  .yb-plan li a { grid-template-columns: 3em 3.2em minmax(0, 1fr); padding: 10px 12px 10px 26px; margin-left: -24px; }
  .yb-band { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .c-yan-bichen .c3q, .c-yan-bichen .c3end { padding: calc(var(--bar) + 26px) 18px 60px; }
  .yb-lv { grid-template-columns: minmax(0, 1fr); grid-template-areas: "cap" "head" "lede" "art" "rest"; grid-template-rows: none; }
  .yb-lv__cap { margin-bottom: 26px; }
  .yb-lv__art { margin: 16px 0 6px; }
  .yb-pair { grid-template-columns: minmax(0, 1fr); }
  .yb-pair .yb-fig { max-width: 440px; }
  .yb-fig--side { grid-template-columns: minmax(0, 1fr); }
  .yb-fig--side .yb-liber { display: inline-block; margin: 0 8px 0 0; }
  .yb-fig--side figcaption { margin-top: 10px; }
  .yb-orders__grid { grid-template-columns: minmax(0, 1fr); }
  .yb-orders__svg { max-width: 300px; margin: 0 auto; }
  .yb-pair .yb-ropes { min-height: 330px; }
  /* 手机上：竖井缩成左边一条细缝，只剩绳和吊桶 */
  .c-yan-bichen .c3toc { display: block; width: 12px; top: var(--bar); bottom: 0; pointer-events: none; }
  .yb-shaft { background: none; }
  .c-yan-bichen .c3toc .yb-winch, .c-yan-bichen .c3toc .yb-lvls { display: none; }
  .yb-well { margin: 0; border-width: 2px; background-image: none; background-color: rgba(10, 8, 6, .65); }
  .yb-well__rope { left: 50%; width: 1px; }
  .yb-well__bucket { left: 50%; width: 8px; height: 8px; margin-left: -4px; border-radius: 1px; }
  .yb-well__bucket::before { display: none; }
}
@media (max-width: 560px) {
  .yb-sky__in { grid-template-columns: minmax(0, 1fr) 88px; gap: 0 14px; align-items: start; }
  .yb-id { display: contents; }
  .yb-id > * { grid-column: 1 / -1; }
  .yb-id > .yb-k { grid-column: 1; grid-row: 1; }
  .yb-id > h1 { grid-column: 1; grid-row: 2; }
  .yb-id > .yb-en { grid-column: 1; grid-row: 3; }
  .yb-title { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; }
  .yb-title img { max-height: none; }
  .yb-title figcaption { display: none; }
  .yb-winch-big { width: 74px; height: 68px; }
  .yb-plan li a { grid-template-columns: 2.8em minmax(0, 1fr); grid-template-rows: auto auto; }
  .yb-plan li b { grid-column: 1; grid-row: 2; font-size: 16px; }
  .yb-plan__q { grid-column: 2; grid-row: 1 / span 2; font-size: 15px; }
  .yb-pair { grid-template-columns: minmax(0, 1fr); }
  .yb-pair .yb-fig { max-width: 300px; margin: 0 auto; }
  .c-yan-bichen .c3q__q { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .yb-o, .yb-xtal, .yb-o__ties, .yb-grid, .yb-tags, .yb-form, .yb-furn__body { transition: none; }
}
