/* Dongjing Meng Hua Lu — Volume III Entries 15–17 */
.dj15-page,.dj16-page,.dj17-page{--v3-paper:#f2ede2;--v3-ink:#181613;--v3-muted:#746a57;--v3-rule:#cbc0a8;--v3-red:#9d3320;--v3-jade:#4d473c;--v3-soft:#e6ddcc;--v3-night:#181613}
.dj15-page :lang(zh-Hant),.dj16-page :lang(zh-Hant),.dj17-page :lang(zh-Hant){font-family:var(--dj-song);font-weight:400;font-synthesis:none}
.dj15-page .dj-title-zh,.dj16-page .dj-title-zh,.dj17-page .dj-title-zh{font-family:var(--dj-song)!important;font-weight:400!important;font-synthesis:none}
.dj15-page .dj-entry-title h1,.dj16-page .dj-entry-title h1,.dj17-page .dj-entry-title h1{font-size:clamp(3.9rem,7.2vw,8.5rem);line-height:.82;letter-spacing:.035em}
.dj15-page .dj-entry-title h2,.dj16-page .dj-entry-title h2,.dj17-page .dj-entry-title h2{max-width:11ch}
.dj-v3-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:48px;align-items:end;padding-bottom:34px;border-bottom:1px solid currentColor}
.dj-v3-section-head small{display:block;margin-bottom:18px;color:var(--v3-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj-v3-section-head h2{max-width:1000px;margin:0;font-size:clamp(3rem,5.6vw,6.5rem);font-weight:590;line-height:.88;letter-spacing:-.055em}
.dj-v3-section-head p{margin:0;color:var(--v3-muted);font-family:var(--dj-serif);font-size:1rem;line-height:1.62}
.dj-v3-text-unit{margin:28px 0 22px;border-top:1px solid var(--v3-ink);border-bottom:1px solid var(--v3-ink)}
.dj-v3-text-unit header{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--v3-rule);font:760 .75rem/1.3 var(--dj-mono);letter-spacing:.09em}.dj-v3-text-unit header span:first-child{color:var(--v3-red)}
.dj-v3-text-unit blockquote{margin:0;padding:30px 0 26px;font-family:var(--dj-song);font-size:clamp(1.48rem,2.25vw,2.4rem);font-weight:400;line-height:1.64;letter-spacing:.018em;font-synthesis:none}
.dj-v3-text-unit footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:11px 0;border-top:1px solid var(--v3-rule);color:var(--v3-muted);font:700 .75rem/1.45 var(--dj-mono);letter-spacing:.06em}
.dj-v3-source-note{margin:48px 0;padding:24px;border:1px solid var(--v3-ink);background:rgba(255,255,255,.2)}.dj-v3-source-note small{color:var(--v3-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}.dj-v3-source-note p{max-width:62ch;margin:22px 0 14px;font-family:var(--dj-serif);line-height:1.6}.dj-v3-source-note a{font:760 .75rem/1.3 var(--dj-mono);letter-spacing:.07em;text-decoration:none}
.dj-v3-entry-nav{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--v3-ink)}.dj-v3-entry-nav>*{min-height:138px;padding:28px 0;text-decoration:none}.dj-v3-entry-nav>*:last-child{text-align:right;border-left:1px solid var(--v3-rule);padding-left:28px}.dj-v3-entry-nav>*:first-child{padding-right:28px}.dj-v3-entry-nav small{display:block;margin-bottom:24px;color:var(--v3-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}.dj-v3-entry-nav strong{font-size:clamp(1.25rem,2vw,2rem);line-height:1.05}.dj-v3-entry-nav span{color:var(--v3-muted)}
.dj15-specialists{margin-left:calc((100vw - 100%) / -2);margin-right:calc((100vw - 100%) / -2);padding:clamp(78px,8vw,126px) max(32px,calc((100vw - min(1480px,calc(100vw - 64px))) / 2));background:var(--v3-night);color:#eee7da;border-bottom:1px solid var(--v3-ink)}
.dj15-specialists .dj-v3-section-head{border-color:#575143}.dj15-specialists .dj-v3-section-head p{color:#b0a288}.dj15-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:34px;border-top:1px solid #575143;border-left:1px solid #575143}.dj15-strip article{min-height:260px;padding:20px;display:flex;flex-direction:column;border-right:1px solid #575143;border-bottom:1px solid #575143}.dj15-strip small{color:#d4614d;font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}.dj15-strip b{margin:auto 0 10px;font-size:clamp(1.05rem,1.8vw,1.8rem);line-height:.95}.dj15-strip span{color:#cbc0a8;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.2}.dj15-strip--crowd{background:#1e1b17}.dj15-strip--crowd b{color:#ffffff}.dj15-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:20px;color:#b0a288;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.07em}
.dj16-corridor{margin-left:calc((100vw - 100%) / -2);margin-right:calc((100vw - 100%) / -2);padding:clamp(78px,8vw,126px) max(32px,calc((100vw - min(1480px,calc(100vw - 64px))) / 2));background:#e6dece;border-bottom:1px solid var(--v3-ink)}
.dj16-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px;border-top:1px solid var(--v3-ink);border-left:1px solid var(--v3-rule)}.dj16-route article{min-height:200px;padding:20px;display:flex;flex-direction:column;border-right:1px solid var(--v3-rule);border-bottom:1px solid var(--v3-rule)}.dj16-route small{color:var(--v3-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}.dj16-route b{margin:auto 0 9px;font-size:clamp(1.15rem,2vw,2rem);line-height:1}.dj16-route span{color:var(--v3-muted);font-family:var(--dj-serif);font-size:.82rem;line-height:1.45}.dj16-route--medicine{background:rgba(77,71,60,.08)}.dj16-route--penal{background:rgba(157,51,32,.08)}
.dj16-fourfold{display:grid;grid-template-columns:repeat(4,1fr);margin:44px 0;border-top:1px solid var(--v3-ink);border-left:1px solid var(--v3-rule)}.dj16-fourfold article{min-height:160px;padding:18px;display:flex;flex-direction:column;border-right:1px solid var(--v3-rule);border-bottom:1px solid var(--v3-rule)}.dj16-fourfold small{color:var(--v3-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.08em}.dj16-fourfold b{margin:auto 0 0;font-size:clamp(1.2rem,2vw,2rem);font-weight:400}
.dj17-arrival{margin-left:calc((100vw - 100%) / -2);margin-right:calc((100vw - 100%) / -2);padding:clamp(78px,8vw,126px) max(32px,calc((100vw - min(1480px,calc(100vw - 64px))) / 2));background:var(--v3-jade);color:#eee7da;border-bottom:1px solid var(--v3-ink)}.dj17-arrival .dj-v3-section-head{border-color:#95876c}.dj17-arrival .dj-v3-section-head p{color:#d6cbb6}.dj17-arrival .dj-v3-section-head small{color:#db9083}
.dj17-landing{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:34px;border-top:1px solid #978a6e;border-left:1px solid #978a6e}.dj17-landing article{position:relative;z-index:2;min-height:178px;padding:20px;display:flex;flex-direction:column;background:var(--v3-jade);border-right:1px solid #978a6e;border-bottom:1px solid #978a6e}.dj17-landing small{color:#db9083;font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}.dj17-landing b{margin:auto 0 8px;font-size:clamp(1.1rem,2vw,2rem);line-height:1}.dj17-landing span{color:#d6cbb6;font-family:var(--dj-serif);font-size:.82rem;line-height:1.45}.dj17-landing--lodging{grid-column:1/3;background:#423d34!important}.dj17-landing--people{grid-column:3;background:#39342c!important}.dj17-landing--threshold{grid-column:1/4;background:#343129!important}.dj17-landing--threshold b{font-size:clamp(2.2rem,5vw,5rem);font-weight:400}.dj17-spine{position:absolute;left:0;right:0;top:50%;height:1px;background:#db9083;opacity:.45}
.dj17-people{display:grid;grid-template-columns:repeat(3,1fr);margin:44px 0;border-top:1px solid var(--v3-ink);border-left:1px solid var(--v3-rule)}.dj17-people article{min-height:170px;padding:18px;display:flex;flex-direction:column;border-right:1px solid var(--v3-rule);border-bottom:1px solid var(--v3-rule)}.dj17-people small{color:var(--v3-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.08em}.dj17-people b{margin:auto 0 8px;font-size:clamp(1.3rem,2.4vw,2.4rem)}.dj17-people span{color:var(--v3-muted);font-size:1.1rem}
.dj17-next{margin-left:calc((100vw - 100%) / -2);margin-right:calc((100vw - 100%) / -2);padding:clamp(90px,10vw,160px) max(32px,calc((100vw - min(1480px,calc(100vw - 64px))) / 2));background:var(--v3-night);color:#eee7da}.dj17-next small{display:block;color:#d4614d;font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}.dj17-next p{margin:34px 0 10px;color:#b0a288;font-family:var(--dj-serif);font-size:1rem}.dj17-next strong{display:block;font-size:clamp(2.8rem,6vw,7rem);line-height:.9;letter-spacing:-.04em}.dj17-next strong span{font-family:var(--dj-song);font-weight:400;letter-spacing:.04em}.dj17-next em{display:block;margin-top:22px;color:#b0a288;font-family:var(--dj-serif);font-size:1.1rem}
@media(max-width:1050px){.dj-v3-section-head{grid-template-columns:1fr;gap:22px}.dj15-strip{grid-template-columns:repeat(3,1fr)}.dj16-route{grid-template-columns:repeat(2,1fr)}.dj16-fourfold{grid-template-columns:repeat(2,1fr)}.dj17-landing{grid-template-columns:repeat(2,1fr)}.dj17-landing--lodging,.dj17-landing--people,.dj17-landing--threshold{grid-column:auto}.dj17-landing--threshold{grid-column:1/3}}
@media(max-width:760px){.dj15-page .dj-entry-title h1,.dj16-page .dj-entry-title h1,.dj17-page .dj-entry-title h1{font-size:clamp(3.2rem,14vw,5.6rem)}.dj15-specialists,.dj16-corridor,.dj17-arrival,.dj17-next{padding-left:20px;padding-right:20px}.dj15-strip,.dj16-route,.dj16-fourfold,.dj17-landing,.dj17-people{display:block;border-left:0}.dj15-strip article,.dj16-route article,.dj16-fourfold article,.dj17-landing article,.dj17-people article{min-height:150px;border-left:1px solid currentColor}.dj15-evidence{grid-template-columns:1fr}.dj17-spine{display:none}.dj17-landing--threshold{grid-column:auto}.dj-v3-entry-nav{grid-template-columns:1fr}.dj-v3-entry-nav>*:last-child{text-align:left;border-left:0;border-top:1px solid var(--v3-rule);padding-left:0}.dj-v3-entry-nav>*:first-child{padding-right:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.dj15-strip article,.dj16-route article,.dj17-landing article{transition:none!important}}


/* Reading 003 diagram typography: display face for navigable visual modules,
   while long prose and source explanations retain their reading faces. */
.dj15-page .dj15-strip b,
.dj16-page .dj16-route b,
.dj16-page .dj16-fourfold b,
.dj17-page .dj17-landing b,
.dj17-page .dj17-people b{
  font-family:var(--dj-serif);
  font-weight:760;
  letter-spacing:-.035em;
}
.dj15-page .dj15-strip span,
.dj16-page .dj16-route span,
.dj16-page .dj16-fourfold span,
.dj17-page .dj17-landing span,
.dj17-page .dj17-people span{
  font-family:var(--dj-song);
  font-weight:400;
  letter-spacing:.025em;
}
.dj17-page .dj17-landing b{
  font-size:clamp(1.45rem,2.75vw,3.15rem);
  line-height:.92;
}
.dj17-page .dj17-landing span{
  font-size:clamp(1.05rem,1.35vw,1.42rem);
  line-height:1.35;
}
.dj-v3-entry-nav strong{
  font-family:var(--dj-song);
  font-weight:400;
  letter-spacing:.025em;
  font-synthesis:none;
}

/* 2026-09-02 visual pass 2: remove heavy fallback labels and push compact diagrams into the Reading display hierarchy. */
.dj15-page .dj15-strip b,
.dj16-page .dj16-route b,
.dj16-page .dj16-fourfold b,
.dj17-page .dj17-landing b,
.dj17-page .dj17-people b{
  font-family:var(--dj-song);
  font-weight:400;
  letter-spacing:.015em;
  font-synthesis:none;
}
.dj15-page .dj15-strip small,
.dj16-page .dj16-route small,
.dj16-page .dj16-fourfold small,
.dj17-page .dj17-landing small,
.dj17-page .dj17-people small{
  font-family:var(--dj-song);
  font-size:clamp(.75rem,.78vw,.76rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:.065em;
  font-synthesis:none;
}
.dj15-page .dj15-strip span,
.dj16-page .dj16-route span,
.dj16-page .dj16-fourfold span,
.dj17-page .dj17-landing span,
.dj17-page .dj17-people span{
  font-size:clamp(1.05rem,1.4vw,1.5rem);
  line-height:1.28;
}
.dj17-page .dj17-landing b{font-size:clamp(1.55rem,2.9vw,3.3rem);line-height:.9}
.dj17-page .dj17-landing span{font-size:clamp(1.1rem,1.5vw,1.58rem);line-height:1.28}
.dj-v3-entry-nav small{
  font-family:var(--dj-song);
  font-size:clamp(.75rem,.8vw,.78rem);
  font-weight:400;
  line-height:1.2;
  letter-spacing:.07em;
  font-synthesis:none;
}
.dj-v3-entry-nav strong{font-size:clamp(1.3rem,2.15vw,2.15rem)}