/* Reading surfaces use the existing exhibition images without altering originals. */
.exhibition-longread { grid-column: 1 / -1; min-width: 0; }
.exhibition-reading { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.65fr); gap: 28px 48px; padding: 36px 0; border-top: 1px solid rgba(224,213,191,.22); }
.exhibition-reading > header { min-width: 0; }
.reading-number { display: block; margin-bottom: 12px; font-size: 14px; color: #d6b577; font-variant-numeric: tabular-nums; }
.exhibition-reading h4 { margin: 0; font: 500 25px/1.55 "Noto Serif SC", "Songti SC", serif; color: #f2eadc; }
.reading-illustration { margin: 24px 0 0; }
.reading-illustration img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; }
.reading-illustration figcaption { padding-top: 12px; color: #c4cbc3; font-size: 13px; line-height: 1.8; }
.reading-illustration .reading-citation { margin-top: 8px; padding-top: 0; }
.reading-body { min-width: 0; max-width: 72ch; }
.reading-body > p { margin: 0 0 18px; color: #dce1da; font-size: 16px; line-height: 1.95; text-align: start; overflow-wrap: anywhere; }
.reading-citation { margin-top: 22px; padding-top: 12px; border-top: 1px solid rgba(203,216,206,.16); }
.reading-citation summary { padding: 8px 0; cursor: pointer; color: #c8b993; font-size: 14px; line-height: 1.7; }
.reading-citation p { margin: 8px 0 0; color: #bdc9c2; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.reading-citation a { display: block; padding: 8px 0; color: #d7c69d; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.official-place-dossier { background: rgba(12,20,17,.7); border-inline: 0; }
.reading-timeline { list-style: none; padding: 0; margin: 28px 0; }
.reading-timeline li { position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 18px; margin-left: 5px; padding: 0 0 26px 24px; border-left: 1px solid #7e8c7e; }
.reading-timeline li::before { content: ""; position: absolute; left: -4px; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: #dab677; }
.reading-timeline time { color: #dbbe89; font-size: 15px; line-height: 1.7; }
.reading-timeline h5 { color: #eee8dd; margin: 0 0 8px; font-size: 18px; font-weight: 500; }
.reading-timeline p { color: #ccd5cd; margin: 0; font-size: 15px; line-height: 1.8; }
.official-place-dossier > header h3 { font-size: 28px; }
.official-place-dossier-grid article { opacity: 1; transform: none; animation: none; min-height: 0; }
.official-place-dossier-grid p { font-size: 16px; }
.official-place-dossier-grid small, .official-place-dossier-grid em { font-size: 14px; }
.official-place-chapter-intro { grid-template-columns: minmax(0, 1fr); }
.official-place-chapter-intro p { max-width: 78ch; }
.official-place-facts[hidden], .wuyi-topic-reading-grid[hidden] { display: none; }
.journey-topic-panel > .exhibition-longread { margin-top: 28px; }
.wuyi-record-dialog, .journey-record-dialog { overscroll-behavior: contain; scrollbar-gutter: stable; max-height: calc(100dvh - 32px); }
.wuyi-record-dialog[open], .journey-record-dialog[open] { align-items: start; }
.wuyi-record-dialog figure, .journey-record-dialog figure { position: sticky; top: 0; min-height: 0; height: min(680px, calc(100dvh - 48px)); background: #252821; }
.wuyi-record-dialog figure img, .journey-record-dialog figure img { min-height: 0; max-height: 100%; min-width: 0; object-fit: contain; }
.wuyi-record-dialog-copy, .journey-record-dialog-copy { align-self: start; padding: 46px 34px; min-width: 0; }
.wuyi-record-dialog-copy h2, .journey-record-dialog-copy h2 { font-size: 32px; overflow-wrap: anywhere; }
.wuyi-record-dialog-copy p, .journey-record-dialog-copy p { font-size: 16px; line-height: 1.95; }
.wuyi-record-dialog-copy small, .journey-record-dialog-copy small { font-size: 14px; line-height: 1.8; }
.record-reading-sections section > p { font-size: 16px; line-height: 1.95; margin-top: 14px; }
.record-reading-sections section > small { font-size: 14px; line-height: 1.75; }
.wuyi-record-dialog.is-text-only { width: min(920px, calc(100vw - 32px)); }
.wuyi-record-dialog.is-text-only .wuyi-record-dialog-copy { max-width: none; min-height: 0; padding: 48px; }
.wuyi-record-dialog-sections section, .journey-record-dialog-sections section { padding-top: 24px; margin-top: 24px; }
.journey-record-dialog.is-text-only { grid-template-columns: 1fr; }
.journey-record-dialog.is-text-only figure[hidden] { display: none; }
.wuyi-evidence-card, .journey-evidence-card, .official-place-records button { transition: border-color 180ms ease, background-color 180ms ease; }
.wuyi-evidence-card:hover, .journey-evidence-card:hover, .official-place-records button:hover { border-color: rgba(222,195,139,.55); background-color: rgba(225,231,217,.045); }
.wuyi-evidence-card:focus-visible, .journey-evidence-card:focus-visible, .reading-citation summary:focus-visible { outline: 2px solid #d9ba7e; outline-offset: 5px; }
.wuyi-evidence-copy p, .journey-evidence-copy p { font-size: 15px; line-height: 1.85; }
.wuyi-evidence-copy small, .journey-evidence-copy small, .wuyi-world-map figcaption { font-size: 13px; line-height: 1.75; }
.wuyi-world-map-stage { background-color: #15211e; }
.wuyi-map-routes path { filter: none; animation: none; stroke-dashoffset: 0; }
.wuyi-map-routes path.route-context { stroke: #d8b974; stroke-width: 2; opacity: .85; }
.wuyi-map-routes path.route-documented { stroke: #b3342c; stroke-width: 3; }
.wuyi-map-routes path.is-emphasized { stroke-width: 4; opacity: 1; }
.map-node-index { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 20px; border-top: 1px solid rgba(222,213,191,.25); }
.map-node-index button { min-width: 0; padding: 16px 12px; text-align: left; border: 0; border-bottom: 1px solid rgba(222,213,191,.2); color: #f0e4cd; background: transparent; cursor: pointer; }
.map-node-index button span { font-size: 18px; }
.map-node-index button small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.6; color: #c8d0c8; }
.map-node-index button:hover, .map-node-index button:focus-visible { background: rgba(215,229,218,.08); color: #f2d6a1; }
@media (prefers-reduced-motion: no-preference) {
  .wuyi-record-dialog[open], .journey-record-dialog[open] { animation: readingDialogIn 220ms ease-out; }
  .wuyi-map-routes path.route-context { animation: readingRouteFlow 16s linear infinite; }
  @keyframes readingDialogIn { from { opacity: .35; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes readingRouteFlow { to { stroke-dashoffset: -40; } }
}
@media (max-width: 760px) {
  .map-node-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .exhibition-reading { grid-template-columns: 1fr; gap: 18px; padding: 26px 0; }
  .exhibition-reading > header { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: baseline; gap: 14px; }
  .reading-illustration { grid-column: 1 / -1; margin-top: 4px; }
  .exhibition-reading h4 { font-size: 23px; }
  .reading-number { flex-shrink: 0; }
  .reading-timeline li { grid-template-columns: 82px minmax(0, 1fr); gap: 10px; padding-left: 16px; }
  .wuyi-record-dialog figure, .journey-record-dialog figure { position: relative; height: 36dvh; }
  .wuyi-record-dialog-copy, .journey-record-dialog-copy, .wuyi-record-dialog.is-text-only .wuyi-record-dialog-copy { padding: 28px 22px; }
  .wuyi-record-dialog-copy h2, .journey-record-dialog-copy h2 { font-size: 27px; }
  .official-place-dossier-grid article > div { display: block; }
  .official-place-dossier-grid p { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .wuyi-map-routes path, .wuyi-map-node, .official-place-dossier-grid article { animation: none !important; }
  .wuyi-evidence-card, .journey-evidence-card { transition: none; }
}
.image-inspector {width:min(96vw,1200px);height:min(94dvh,860px);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #68716f;background:#101615;color:#f2f4f1;overflow:hidden;}
.image-inspector[open]{display:grid;grid-template-rows:60px minmax(0,1fr) auto;}
.image-inspector::backdrop{background:rgb(0 0 0 / .88);}
.image-inspector header{display:flex;gap:12px;align-items:center;justify-content:center;padding:8px;border-bottom:1px solid #434e4a;}
.image-inspector button{min-width:40px;min-height:40px;color:inherit;background:transparent;border:1px solid #52615b;cursor:pointer;font-size:20px;}
.image-inspector input{width: min(25vw,240px);}
.image-inspector output{min-width:52px;}
.image-inspector-stage{overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab;}
.image-inspector-stage:active{cursor:grabbing;}
.image-inspector-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;user-select:none;transform-origin:center;}
.image-inspector > p{margin:0;padding:12px;text-align:center;font-size:14px;}
#journeyTopicPanel,#wuyiTopicPanel{scroll-margin-top:90px;}
#journeyTopicPanel > #journeyEvidenceWall,#wuyiTopicPanel > #wuyiEvidenceWall{grid-column:1/-1;width:100%;margin:24px 0;}
.wuyi-evidence-image,.journey-evidence-image,.reading-illustration{overflow:hidden;}
.wuyi-evidence-image img,.journey-evidence-image img,.reading-illustration img{transition:transform .28s ease;}
@media(hover:hover){.wuyi-evidence-card:hover img,.journey-evidence-card:hover img,.reading-illustration img:hover{transform:scale(1.035);}}
.wuyi-record-dialog figure img,.journey-record-dialog figure img,.reading-illustration img,.official-map-figure img,.wuyi-world-map-stage > img{cursor:zoom-in;}
.wuyi-map-routes{display:none;}
.wuyi-map-node small{display:none;}
.wuyi-map-node:hover small,.wuyi-map-node:focus-visible small{display:block;}
#modalImage{cursor:zoom-in;}
@media(max-width:600px){.image-inspector header{gap:4px;padding:6px;}.image-inspector input{width:64px;min-width:0;}.image-inspector button{min-width:36px;font-size:16px;}.image-inspector output{min-width:44px;font-size:13px;}}
@media(prefers-reduced-motion:reduce){.wuyi-evidence-image img,.journey-evidence-image img,.reading-illustration img{transition:none;}}
.journey-cinema,.journey-detail-exhibition{overflow:clip;}
#page-journey:not(.journey-evidence-active) .journey-cinema{height:calc(100svh - 72px);min-height:calc(100svh - 72px);}
.journey-topic-meta{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.journey-topic-return,.journey-corridor-return{background:transparent;border:0;border-bottom:1px solid #a08453;color:#e9c47d;min-height:44px;cursor:pointer;font-size:16px;}
.journey-gallery-heading{grid-column:1/-1;margin:0;font-size:22px;font-weight:500;}
#journeyEvidenceWall{border:0;box-shadow:none;background:transparent;padding:24px 0;gap:28px;}
.journey-evidence-card{display:flex;flex-direction:column;justify-content:flex-start;}
.journey-evidence-card .journey-evidence-copy{order:-1;display:block;margin:0 0 18px;}
.journey-evidence-card .journey-evidence-copy h3{font-size:21px;line-height:1.5;margin:8px 0;}
.journey-evidence-card .journey-evidence-copy p{font-size:15px;line-height:1.8;}
.journey-evidence-card .journey-evidence-image{width:100%;min-height:0;height:300px;aspect-ratio:auto;}
.journey-evidence-card .journey-evidence-image img{height:100%;width:100%;object-fit:contain;}
.exhibition-spotlight{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:3;opacity:0;transition:opacity 220ms cubic-bezier(.2,.65,.3,1);contain:strict;}
.exhibition-spotlight.is-lit{opacity:1;transition-duration:280ms;}
.exhibition-spotlight canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
@media(prefers-reduced-motion:reduce){.exhibition-spotlight{transition:none;}}
.editorial-endnotes{margin:36px auto;padding:22px 0;max-width:1100px;width:calc(100% - 48px);border-top:1px solid #655d4b;color:#aeb9b3;font-size:14px;line-height:1.9;}
.editorial-endnotes summary{cursor:pointer;color:#cfb87b;}
#journeyCinemaCopy[hidden],.archive-cinema-boundary[hidden],.journey-detail-boundary[hidden],.journey-cinema-footer > p[hidden],.wuyi-related-label[hidden],.related-evidence-label[hidden]{display:none!important;}
.journey-topic-panel{row-gap:30px;}
.wuyi-topic-copy > strong[hidden],.journey-status[hidden],.process-note[hidden]{display:none!important;}
