/* 刘任翔 · 月相：一个月的夜晚。底是夜色，字是月光的米白，唯一的冷色是月下的银蓝；
   伽利略的七幅月面（hero.webp，一张图里七相）既是首屏，也是每一问的印记和右边的目录。 */
.c-liu-renxiang {
  --bg: #0d1220; --paper: #141b2e; --ink: #ece5cc; --ink-2: #c6bfa8; --ink-3: #9b9786; --rule: rgba(236, 229, 204, .15);
  --acc: #b9c8ec; --acc-ink: #0d1220; --night-2: #0a0f1b;
  --head: "Noto Serif SC", "Songti SC", "STSong", serif; --body: "Noto Serif SC", "Songti SC", "STSong", serif;
  --cg: "Cormorant Garamond", "Noto Serif SC", serif;
  --bar-bg: rgba(13, 18, 32, .9); --bar-ink: #ece5cc; --chip-bg: rgba(236, 229, 204, .06); --chip-ring: #0d1220;
  background: var(--bg);
  background-image: radial-gradient(ellipse 120% 60% at 50% -10%, rgba(185, 200, 236, .07), transparent 60%);
  background-attachment: fixed;
}
.c-liu-renxiang .dlg { --dlg-bg: #0f1526; --dlg-paper: #182036; --dlg-ink: #ece5cc; --dlg-ink-2: #c6bfa8; --dlg-ink-3: #a19d8c; --dlg-rule: rgba(236, 229, 204, .14);
  --dlg-me: #ece5cc; --dlg-me-ink: #10172a; --dlg-acc: #b9c8ec; --dlg-mod: rgba(236, 229, 204, .08); }
.c-liu-renxiang .dlg .msg__src a, .c-liu-renxiang .dlg .dlg__more a { color: inherit; }
.c-liu-renxiang ::selection { background: rgba(185, 200, 236, .32); }
.c-liu-renxiang .c3bar { border-bottom: 1px solid var(--rule); }
.c-liu-renxiang .c3bar__prog { background: var(--ink); }
.c-liu-renxiang a { text-decoration-color: rgba(185, 200, 236, .55); text-underline-offset: .2em; }
.c-liu-renxiang a:hover { color: #fff; text-decoration-color: var(--acc); }
.c-liu-renxiang .mk { color: var(--acc); letter-spacing: .16em; }
.c-liu-renxiang .c3-btn { border-radius: 999px; padding: 9px 18px; min-height: 40px; border-color: rgba(236, 229, 204, .45); }
.c-liu-renxiang .c3-btn--go { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.c-liu-renxiang .c3-btn--deep { background: transparent; color: var(--ink); border-color: var(--ink); }
.c-liu-renxiang .c3-btn--wm { color: var(--ink-2); }
.c-liu-renxiang .c3-btn:hover { box-shadow: 0 0 0 4px rgba(185, 200, 236, .14); }

/* 月面：hero.webp 是一条七相的带子，用背景定位取其中一相 */
.rx-m, .rx-tm { display: inline-block; flex: none; border-radius: 50%; background: url(../img/liu-renxiang/hero.webp) calc(var(--i) * 100% / 6) 0 / 700% 100% no-repeat; }

/* ---------- 目录：右边一列小月亮 ---------- */
.c-liu-renxiang .c3toc { right: 14px; }
.c-liu-renxiang .c3toc a::after { content: none; }
.rx-toc { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rx-toc a { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-height: 20px; text-decoration: none; color: var(--ink-3); font-size: 12.5px; }
.rx-toc a b { font-family: var(--cg); font-weight: 500; font-size: 15px; font-variant-numeric: oldstyle-nums; }
.rx-toc a span { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .3s; }
.rx-toc a:hover span, .rx-toc a:focus-visible span { max-width: 18em; }
.rx-tm { width: 20px; height: 20px; opacity: .38; transition: opacity .4s, box-shadow .4s, transform .4s; }
.rx-tm--new { background: none; box-shadow: inset 0 0 0 1px rgba(236, 229, 204, .5); }
.rx-toc a:hover { color: var(--ink); }
.rx-toc a:hover .rx-tm { opacity: .75; }
.rx-toc a[aria-current="true"] { color: var(--ink); }
.rx-toc a[aria-current="true"] .rx-tm { opacity: 1; transform: scale(1.25); box-shadow: 0 0 14px 3px rgba(236, 229, 204, .28); }

/* ---------- 首屏 ---------- */
.c-liu-renxiang .c3hero { padding: calc(var(--bar) + 30px) clamp(16px, 4vw, 56px) 40px; min-height: 0; }
.rx-hero { max-width: 1240px; margin: 0 auto; }
.rx-hero__a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); gap: clamp(24px, 4vw, 64px); align-items: end; }
.rx-k { margin: 0; font-size: 13px; letter-spacing: .2em; color: var(--ink-3); }
.rx-id h1 { margin: 8px 0 0; font-family: var(--head); font-weight: 600; font-size: clamp(60px, 8vw, 112px); line-height: 1; letter-spacing: .12em; color: #f6f0dc; }
.rx-en { margin: 10px 0 18px; font-family: var(--cg); font-style: italic; font-size: clamp(20px, 2vw, 26px); letter-spacing: .04em; color: var(--ink-2); }
.rx-who { margin: 0 0 8px; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; font-weight: 600; }
.rx-now { margin: 0; font-size: 14px; line-height: 1.7; color: var(--ink-2); }
.rx-book { position: relative; padding: 2px 0 0 24px; border-left: 1px solid var(--rule); }
.rx-book .mk { margin-bottom: 2px; }
.rx-book__t { margin: 0; font-family: var(--cg); font-style: italic; font-weight: 500; font-size: clamp(30px, 3.3vw, 46px); line-height: 1.04; letter-spacing: .005em; }
.rx-book__t a { text-decoration: none; color: #f6f0dc; }
.rx-book__t a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.rx-book__s { margin: 6px 0 8px; font-family: var(--cg); font-size: 18px; line-height: 1.3; color: var(--ink-2); }
.rx-book__z { margin: 0 0 16px; font-size: 13.5px; line-height: 1.7; color: var(--ink-3); }
.rx-rel p { margin: 0; font-size: 14.5px; line-height: 1.8; }
.rx-rel .mk { margin-bottom: 4px; }

/* 七夜 */
.rx-nights { margin: 30px 0 0; padding-top: 16px; border-top: 1px solid var(--rule); }
.rx-nights ol { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
.rx-nights li { min-width: 0; animation: rx-rise 1.1s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i) * .32s + .25s); }
.rx-nights a { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; height: 100%; padding: 8px 6px 10px; border-radius: 8px; text-decoration: none; color: var(--ink); transition: background .3s; }
.rx-nights a:hover, .rx-nights a:focus-visible { background: rgba(236, 229, 204, .05); }
.rx-nights .rx-m { width: min(100%, 104px); aspect-ratio: 1; margin-bottom: 4px; transition: box-shadow .4s, transform .4s; }
.rx-nights a:hover .rx-m, .rx-nights a:focus-visible .rx-m { box-shadow: 0 0 26px 4px rgba(236, 229, 204, .2); transform: translateY(-2px); }
.rx-nights b { font-family: var(--cg); font-weight: 500; font-size: 22px; line-height: 1; color: var(--acc); font-variant-numeric: oldstyle-nums; }
.rx-nights b.rx-nb { font-family: var(--body); font-size: 15px; letter-spacing: .1em; padding-top: 4px; }
.rx-nights span { font-size: 14.5px; line-height: 1.55; }
@keyframes rx-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.rx-go { margin: 18px 0 0; }
.rx-cap { margin: 10px 0 0; font-size: 12.5px; color: var(--ink-3); }
.rx-band { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 30px; max-width: 1240px; margin: 46px auto 0; padding-top: 22px; border-top: 1px solid var(--rule); }
.rx-band > div { min-width: 0; }
.rx-facts { margin: 0; font-size: 14.5px; line-height: 1.85; color: var(--ink-2); }
.c-liu-renxiang .c3-feats { margin: 0; padding: 0; list-style: none; }
.c-liu-renxiang .c3-feats li { position: relative; padding: 4px 0 4px 20px; font-size: 14.5px; line-height: 1.65; }
.c-liu-renxiang .c3-feats li::before { content: ""; position: absolute; left: 0; top: .62em; width: 9px; height: 9px; border-radius: 50%; box-shadow: inset -3px 0 0 0 var(--ink); }
.c-liu-renxiang .c3-books li, .c-liu-renxiang .c3-links li { border-bottom-color: var(--rule); }
.c-liu-renxiang .c3-links li { font-size: 14px; }

/* 正文像月相一样，从“灰光”里盈满：进入视野前是地照的亮度，进入时一道明暗界线扫过去 */
.rx-js .c3q .c3q__lede, .rx-wax {
  -webkit-mask-image: linear-gradient(100deg, #000 0 42%, rgba(0, 0, 0, .58) 58% 100%); mask-image: linear-gradient(100deg, #000 0 42%, rgba(0, 0, 0, .58) 58% 100%);
  -webkit-mask-size: 280% 100%; mask-size: 280% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 100% 0; mask-position: 100% 0; transition: -webkit-mask-position 2.6s cubic-bezier(.4, .1, .3, 1) .15s, mask-position 2.6s cubic-bezier(.4, .1, .3, 1) .15s; }
.rx-js .c3q.is-in .c3q__lede { -webkit-mask-position: 0 0; mask-position: 0 0; }
.rx-wax { animation: rx-wax 2.8s cubic-bezier(.4, .1, .3, 1) .35s both; }
@keyframes rx-wax { from { -webkit-mask-position: 100% 0; mask-position: 100% 0; } to { -webkit-mask-position: 0 0; mask-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .rx-js .c3q .c3q__lede, .rx-wax { -webkit-mask-image: none; mask-image: none; animation: none; } }

/* ---------- 每一问 ---------- */
.c-liu-renxiang .c3q { display: block; padding: calc(var(--bar) + 40px) clamp(16px, 4vw, 56px) 70px; }
.rx-q { display: grid; max-width: 1240px; margin: 0 auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(28px, 4.6vw, 76px);
  grid-template-areas: "head art" "txt art"; grid-template-rows: auto 1fr; align-items: start; }
.rx-q--l { grid-template-areas: "art head" "art txt"; }
.rx-q--wide { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.rx-q--wide.rx-q--l { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.rx-qh { grid-area: head; }
.rx-art { grid-area: art; position: sticky; top: calc(var(--bar) + 20px); min-width: 0; }
.rx-txt { grid-area: txt; max-width: 620px; }
.rx-when { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; color: var(--ink-3); font-size: 14px; }
.rx-seal { width: 54px; height: 54px; box-shadow: 0 0 22px 2px rgba(236, 229, 204, .12); }
.rx-when b { font-family: var(--cg); font-weight: 500; font-size: 46px; line-height: 1; color: var(--acc); font-variant-numeric: oldstyle-nums; }
.c-liu-renxiang .c3q__q { margin: 14px 0 20px; font-weight: 600; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.3; letter-spacing: .03em; color: #f6f0dc; }
.c-liu-renxiang .c3q__lede { font-size: 16.5px; line-height: 2; text-align: justify; }
.c-liu-renxiang .c3-quote { margin: 26px 0; padding: 4px 0 4px 26px; border-left: 0; position: relative; }
.c-liu-renxiang .c3-quote::before { content: ""; position: absolute; left: 0; top: 10px; width: 12px; height: 12px; border-radius: 50%; box-shadow: inset -4px 0 0 0 var(--acc); }
.c-liu-renxiang .c3-quote::after { content: ""; position: absolute; left: 5.5px; top: 30px; bottom: 6px; width: 1px; background: linear-gradient(var(--acc), transparent); }
.c-liu-renxiang .c3-quote blockquote p { font-size: 18.5px; font-weight: 600; line-height: 1.75; color: #f6f0dc; }
.c-liu-renxiang .c3-orig { font-family: var(--cg); font-size: 17px; color: var(--ink-2); }
.c-liu-renxiang .c3-quote figcaption { color: var(--ink-3); }
.c-liu-renxiang .c3-tags li { border-color: rgba(236, 229, 204, .28); color: var(--ink-2); }
.c-liu-renxiang .c3-works li a { text-decoration-color: rgba(185, 200, 236, .45); }
.c-liu-renxiang .talk { border-color: rgba(236, 229, 204, .25); }
.c-liu-renxiang .talk:hover { box-shadow: 0 0 0 1px rgba(236, 229, 204, .35), 0 8px 24px rgba(0, 0, 0, .4); }
.c-liu-renxiang .c3-ask { border-color: rgba(236, 229, 204, .3); }
.c-liu-renxiang .c3-ask small, .c-liu-renxiang .c3-works small, .c-liu-renxiang .c3-books small, .c-liu-renxiang .c3-links small { color: var(--ink-3); }
.c-liu-renxiang .rel { opacity: .9; }

/* 版画：印在纸上的，像一幅“图像”；反白的木刻，浮在夜里 */
.rx-plate { margin: 0; }
.rx-plate img { display: block; width: 100%; height: auto; }
.rx-plate--print img { box-shadow: 0 0 0 1px rgba(236, 229, 204, .2), 0 24px 60px -24px rgba(0, 0, 0, .8), 0 0 90px rgba(236, 229, 204, .07); }
.rx-plate--neg { display: flex; flex-direction: column; align-items: center; }
.rx-plate--neg img { width: auto; max-width: 100%; max-height: 76vh; }
.rx-plate figcaption, .rx-tv figcaption, .rx-kr figcaption { margin-top: 10px; font-size: 12.5px; line-height: 1.7; color: var(--ink-3); align-self: stretch; }
.rx-plate figcaption i, .rx-tv figcaption i, .rx-kr figcaption i { font-family: var(--cg); font-size: 14.5px; color: var(--ink-2); }

/* 机关共用 */
.rx-tk { margin: 0 0 8px; font-size: 13px; letter-spacing: .16em; color: var(--acc); }
.rx-tk small { display: block; margin-top: 2px; font-size: 12px; letter-spacing: 0; color: var(--ink-3); }
.rx-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.rx-ctl button { min-height: 40px; min-width: 40px; padding: 6px 14px; border: 1px solid rgba(236, 229, 204, .45); border-radius: 999px; background: transparent; color: var(--ink); font: inherit; font-size: 14px; line-height: 1.3; cursor: pointer; }
.rx-ctl button:hover { border-color: var(--ink); background: rgba(236, 229, 204, .06); }
.rx-ctl button[aria-pressed="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.rx-ctl__x { margin-left: auto; }
.rx-out { margin: 12px 0 0; min-height: 3.6em; font-size: 14.5px; line-height: 1.8; color: var(--ink-2); }
.rx-small { margin: 8px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--ink-3); }

/* 独眼与双眼 */
.rx-tv { margin: 0; }
.rx-tv__stage { position: relative; overflow: hidden; user-select: none; -webkit-user-select: none; box-shadow: 0 0 0 1px rgba(236, 229, 204, .2), 0 24px 60px -24px rgba(0, 0, 0, .8); }
.rx-tv__img { display: block; width: 100%; height: auto; transition: filter .6s; }
.rx-tv__dark { position: absolute; inset: 0; background: #05070d; opacity: 0; transition: opacity .6s; pointer-events: none; }
.rx-tv__src { position: absolute; left: 0; top: 0; width: var(--sd, 40px); height: var(--sd, 40px); margin: calc(var(--sd, 40px) / -2) 0 0 calc(var(--sd, 40px) / -2); border-radius: 50%;
  border: 1.5px dashed #b02a1a; transform: translate(var(--sx, 0), var(--sy, 0)); opacity: 0; transition: opacity .5s; pointer-events: none; }
.rx-tv__lens { position: absolute; left: 0; top: 0; width: var(--ld, 200px); height: var(--ld, 200px); margin: calc(var(--ld, 200px) / -2) 0 0 calc(var(--ld, 200px) / -2);
  border-radius: 50%; overflow: hidden; transform: translate(var(--lx, 0), var(--ly, 0)) scale(.6); opacity: 0; transition: opacity .5s, transform .5s; cursor: grab;
  box-shadow: 0 0 0 5px #0b0e17, 0 0 0 6px rgba(236, 229, 204, .65), 0 14px 40px rgba(0, 0, 0, .7); background: #e9e0c6; }
.rx-tv__lens.is-drag { cursor: grabbing; transition: opacity .5s; }
.rx-tv__mag { position: absolute; inset: 0; background-image: url(../img/liu-renxiang/telescope.webp); background-repeat: no-repeat; }
.rx-tv__lens:focus-visible { outline: 3px solid var(--acc); outline-offset: 6px; }
[data-mode="mono"] .rx-tv__stage, [data-mode="bino"] .rx-tv__stage { touch-action: none; cursor: crosshair; }
[data-mode="mono"] .rx-tv__dark { opacity: .96; }
[data-mode="mono"] .rx-tv__lens, [data-mode="bino"] .rx-tv__lens { opacity: 1; transform: translate(var(--lx, 0), var(--ly, 0)); }
[data-mode="bino"] .rx-tv__img { filter: brightness(.82); }
[data-mode="bino"] .rx-tv__src { opacity: 1; }
.rx-tv__lens.is-drag { transform: translate(var(--lx, 0), var(--ly, 0)); }

/* 二十八相 */
.rx-kr { margin: 0; }
.rx-kr__plate { position: relative; width: min(100%, calc(70vh * 850 / 1200)); margin: 0 auto; box-shadow: 0 0 0 1px rgba(236, 229, 204, .2), 0 24px 60px -24px rgba(0, 0, 0, .8); }
.rx-kr__plate img { display: block; width: 100%; height: auto; }
.rx-kr__ov { position: absolute; inset: 0; width: 100%; height: 100%; }
.rx-kr__ov circle { fill: transparent; stroke: transparent; stroke-width: 4; transition: fill .45s, stroke .45s, stroke-width .45s; }
.rx-kr__ov circle.p { fill: rgba(13, 18, 32, .62); }
.rx-kr__ov circle.f { stroke: #22325f; stroke-dasharray: 7 6; stroke-width: 3.5; }
.rx-kr__ov circle.n { stroke: #b02a1a; stroke-width: 8; fill: rgba(255, 246, 214, .12); }
.rx-kr__tag { transition: transform .45s; }
.rx-kr__tag rect { fill: #b02a1a; }
.rx-kr__tag text { fill: #fff6e0; font: 600 19px/1 "Noto Serif SC", serif; text-anchor: middle; dominant-baseline: middle; letter-spacing: 2px; }
.rx-kr__ctl { justify-content: center; }
.rx-kr__range { display: flex; align-items: center; gap: 10px; flex: 1 1 200px; max-width: 360px; font-size: 14px; color: var(--ink-2); }
.rx-kr__range span { white-space: nowrap; }
.rx-kr__range b { display: inline-block; min-width: 1.4em; text-align: center; font-family: var(--cg); font-weight: 600; font-size: 19px; color: var(--ink); }
.rx-kr__range input { flex: 1; min-width: 100px; height: 40px; accent-color: #ece5cc; cursor: pointer; background: transparent; }
.rx-kr .rx-out { text-align: center; }

/* 算出来的月亮与遭遇的月亮 */
.rx-pt { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 0; border: 1px solid var(--rule); background: rgba(10, 15, 27, .55); }
.rx-pt__calc { padding: 16px 18px 16px; border-right: 1px solid var(--rule); min-width: 0; }
.rx-pt__see { padding: 16px 18px; display: flex; flex-direction: column; min-width: 0; background: radial-gradient(circle at 50% 46%, rgba(236, 229, 204, .06), transparent 62%); }
.rx-pt__map { display: block; width: min(100%, 210px); margin: 2px auto 6px; overflow: visible; }
.rx-pt__map .o { fill: none; stroke: rgba(185, 200, 236, .5); stroke-width: 1; }
.rx-pt__map .t line { stroke: rgba(185, 200, 236, .55); stroke-width: 1; }
.rx-pt__map .l text { fill: var(--ink-2); font: 600 14px var(--cg); text-anchor: middle; dominant-baseline: middle; }
.rx-pt__map .e { fill: #6f8fd0; }
.rx-pt__map .s circle { fill: #e8c066; }
.rx-pt__map .m line { stroke: rgba(236, 229, 204, .4); stroke-width: 1; stroke-dasharray: 3 3; }
.rx-pt__map .m circle { fill: var(--ink); }
.rx-pt__map .m, .rx-pt__map .s { transform-origin: 120px 120px; transform-box: view-box; transition: transform .5s cubic-bezier(.3, .7, .3, 1); }
.rx-pt__lg { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin: 0 0 8px; font-size: 12px; color: var(--ink-3); }
.rx-pt__lg i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; vertical-align: 1px; }
.rx-pt__lg .m { background: var(--ink); } .rx-pt__lg .s { background: #e8c066; } .rx-pt__lg .e { background: #6f8fd0; }
.rx-pt__v { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; margin: 0; }
.rx-pt__v div { display: flex; align-items: baseline; gap: 8px; padding: 3px 0; border-bottom: 1px dotted var(--rule); min-width: 0; }
.rx-pt__v .w { grid-column: 1 / -1; }
.rx-pt__v dt { flex: none; font-size: 12.5px; color: var(--ink-3); }
.rx-pt__v dd { margin: 0; font-family: var(--cg); font-weight: 600; font-size: 18px; line-height: 1.3; font-variant-numeric: lining-nums tabular-nums; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rx-pt__v dd small { font-family: var(--body); font-size: 12.5px; font-weight: 400; color: var(--ink-2); }
.rx-pt .rx-ctl { gap: 6px; }
.rx-pt .rx-ctl button { padding: 6px 11px; font-size: 13.5px; }
.rx-pt__moon { position: relative; width: min(100%, 230px); aspect-ratio: 1; margin: 10px auto 12px; }
.rx-pt__disc { position: absolute; inset: 8%; border-radius: 50%; background: url(../img/liu-renxiang/hero.webp) calc(4 * 100% / 6) 0 / 700% 100% no-repeat;
  --dev: 0; opacity: calc(.06 + var(--dev) * .94); filter: blur(calc((1 - var(--dev)) * 7px)) brightness(calc(.5 + var(--dev) * .5)); }
.rx-pt__arc { position: absolute; inset: 0; transform: rotate(-90deg); }
.rx-pt__arc circle { fill: none; stroke: rgba(236, 229, 204, .5); stroke-width: .8; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--dev, 0)); }
.rx-pt__w { margin: auto 0 0; min-height: 3.4em; font-size: 14px; line-height: 1.7; color: var(--ink-2); text-align: center; }
.rx-pt__w q { quotes: "“" "”"; color: #f6f0dc; font-weight: 600; }
.rx-pt > .rx-out { grid-column: 1 / -1; margin: 0; padding: 12px 18px 14px; border-top: 1px solid var(--rule); }

/* ---------- 结尾 ---------- */
.c-liu-renxiang .c3end { padding: calc(var(--bar) + 40px) clamp(16px, 4vw, 56px) 60px; }
.rx-end { max-width: 1120px; margin: 0 auto; }
.rx-end .rx-when b { font-family: var(--body); font-size: 15px; letter-spacing: .14em; color: var(--acc); }
.rx-end h2 { margin-top: 14px; font-weight: 600; letter-spacing: .06em; color: #f6f0dc; }
.c-liu-renxiang .c3-lin li { background: rgba(236, 229, 204, .04); border-color: var(--rule); border-radius: 10px; }
.c-liu-renxiang .c3-lin .rel { flex: none; white-space: nowrap; }
.c-liu-renxiang .c3-lin li p { color: var(--ink-2); }
.c-liu-renxiang .c3-credits, .c-liu-renxiang .c3-fine { color: var(--ink-3); }

/* ---------- 窄屏 ---------- */
@media (min-width: 861px) and (max-width: 1360px) {
  .c-liu-renxiang .c3hero, .c-liu-renxiang .c3q, .c-liu-renxiang .c3end { padding-right: 96px; }
}
@media (max-width: 1100px) {
  .rx-nights ol { gap: 6px; }
  .rx-nights span { font-size: 13.5px; }
  .rx-pt { grid-template-columns: minmax(0, 1fr); }
  .rx-pt__calc { border-right: 0; border-bottom: 1px solid var(--rule); }
  .rx-pt__see { display: grid; grid-template-columns: 150px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 16px; align-items: center; }
  .rx-pt__see .rx-tk { grid-column: 1 / -1; }
  .rx-pt__moon { width: 150px; margin: 0; }
  .rx-pt__w { margin: 0; text-align: left; }
}
@media (max-width: 960px) {
  .rx-hero__a { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .rx-book { padding-left: 16px; }
  .rx-nights ol { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rx-nights li { border-bottom: 1px solid var(--rule); }
  .rx-nights a { display: grid; grid-template-columns: 46px 3.2em minmax(0, 1fr); align-items: center; gap: 12px; padding: 8px 0; border-radius: 0; }
  .rx-nights .rx-m { width: 46px; margin: 0; }
  .rx-nights b { font-size: 20px; }
  .rx-nights span { font-size: 15px; }
  .rx-band { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rx-q, .rx-q--l, .rx-q--wide, .rx-q--wide.rx-q--l { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "art" "txt"; grid-template-rows: auto; }
  .rx-art { position: static; margin: 4px 0 24px; }
  .rx-plate--neg img { max-height: 64vh; }
}
@media (max-width: 640px) {
  .c-liu-renxiang .c3hero { padding-top: calc(var(--bar) + 16px); }
  .c-liu-renxiang .c3q, .c-liu-renxiang .c3end { padding-top: 40px; padding-bottom: 56px; }
  .rx-id h1 { font-size: 56px; }
  .rx-en { margin: 6px 0 12px; font-size: 19px; }
  .rx-who { font-size: 17.5px; }
  .rx-now { font-size: 13px; }
  .rx-book__t { font-size: 27px; }
  .rx-book__s { font-size: 16px; }
  .rx-book__z { font-size: 12.5px; margin-bottom: 12px; }
  .rx-rel p { font-size: 14px; line-height: 1.75; }
  .rx-nights { margin-top: 22px; }
  .rx-plate--neg img { max-height: 54vh; }
  .rx-when b { font-size: 38px; }
  .rx-seal { width: 44px; height: 44px; }
  .rx-pt__calc, .rx-pt__see { padding: 14px 12px; }
  .rx-pt__map { width: 160px; }
  .rx-pt__see { grid-template-columns: 112px minmax(0, 1fr); }
  .rx-pt__moon { width: 112px; }
  .rx-pt__v dd { font-size: 16.5px; }
  .rx-kr__ctl { gap: 6px; }
  .rx-kr__range { order: -1; flex: 1 1 100%; max-width: none; }
  .rx-ctl__x { margin-left: 0; }
  .rx-ctl button { padding: 6px 12px; font-size: 13.5px; }
}

/* 触控目标：引擎生成的“深读这一问”与师承卡片的链接，至少 40px 高 */
.c-liu-renxiang .c3-deeplink { display: inline-flex; align-items: center; min-height: 40px; }
.c-liu-renxiang .c3-lin li > a { min-height: 40px; }
