/* Hallmark · macrostructure: P2 map and geographic reading; P7 landscape and human story.
 * Existing design.md system. Pre-emit critique: P4 H4 E4 S5 R5 V4.
 * Scoped refinement: original facts, map coordinates, image files and navigation retained. */
:root {
  --exhibit-xs: 4px;
  --exhibit-sm: 8px;
  --exhibit-md: 12px;
  --exhibit-lg: 16px;
  --exhibit-xl: 24px;
  --exhibit-ease: cubic-bezier(.2, 0, 0, 1);
}

/* Hallmark · P4 H4 E4 S5 R5 V4. P8: a geographic decision;
 * P9: two meetings; P10: an answer grounded in material evidence. */
.arrival-renewed .p8-heading { padding-block: var(--exhibit-lg); }
.arrival-renewed h2,.reunion-renewed h2 { font-size: clamp(30px,8vw,40px); line-height: 1.25; letter-spacing: 0; }
.arrival-renewed .p8-context { margin-bottom: var(--exhibit-sm); }
.arrival-renewed .p8-intro { margin-top: var(--exhibit-sm); line-height: 1.7; }
.arrival-renewed .p8-map-figure { border: 0; }
.arrival-renewed .p8-map-figure figcaption { padding-block: var(--exhibit-sm); }
.p8-stops b { font-size: 16px; font-weight: 500; }
.p8-stops [aria-pressed='true'] { font-weight: 500; }
.arrival-renewed .p8-stage-reading { padding-top: var(--exhibit-md); }
.arrival-renewed .p8-stage-reading h3 { font-size: 18px; line-height: 1.5; margin-block: var(--exhibit-sm); }
.arrival-renewed .p8-stage-reading>p { line-height: 1.75; }
.arrival-renewed .p8-evidence { font-size: 12px; margin-top: var(--exhibit-xs); }
.arrival-renewed .p8-conclusion { padding-block: var(--exhibit-md); }
.p8-map-dialog .p8-map-head h2 { font-size: 21px; }
.p8-map-dialog .p8-map-reading { font-size: 16px; line-height: 1.75; padding-top: var(--exhibit-md); }
.p8-map-dialog .p8-map-reading h3 button { font-size: 17px; font-weight: 500; }
.p8-map-dialog .p8-map-tools { gap: var(--exhibit-xs); padding-block: var(--exhibit-sm); }
.p8-map-dialog .p8-map-tools>div { background: var(--p8-surface); border-radius: 6px; }
.p8-map-dialog .p8-map-tools>button { font-weight: 400; }
.p8-map-dialog .p8-map-hint { font-size: 11px; }

.reunion-renewed .p9-heading h2 { margin-block: var(--exhibit-md); }
.reunion-renewed .p9-lead { line-height: 1.7; text-wrap: pretty; }
.reunion-renewed .p9-meeting { padding-block: var(--exhibit-md); }
.reunion-renewed .p9-meeting time strong { font-size: 30px; font-weight: 600; letter-spacing: -.025em; }
.reunion-renewed .p9-place { gap: var(--exhibit-sm); }
.reunion-renewed .p9-place b { font-size: 23px; }
.reunion-renewed .p9-armies { font-size: 16px; line-height: 1.6; }
.reunion-renewed .p9-conclusion { border: 0; padding-left: 0; }
.reunion-renewed .p9-conclusion h3 { font-size: 16px; font-weight: 500; }
.reunion-renewed .p9-conclusion p { font-size: 15px; line-height: 1.65; }
.reunion-renewed .p9-photo-open { padding: var(--exhibit-sm) var(--exhibit-md); }

.finale-renewed .p10-heading { padding-block: var(--exhibit-lg); }
.finale-renewed h2 { font-size: clamp(30px,8vw,40px); line-height: 1.3; margin-block: var(--exhibit-md); }
.finale-renewed .p10-answer { line-height: 1.7; text-wrap: balance; }
.finale-renewed .p10-keywords button { font-weight: 400; }
.finale-renewed .p10-keywords [aria-pressed='true'] { font-weight: 500; }
.finale-renewed .p10-reading { padding-block: var(--exhibit-md) var(--exhibit-xs); min-height: var(--p10-reading-height,0px); }
.finale-renewed .p10-reading h3 { font-size: 18px; font-weight: 600; line-height: 1.5; }
.finale-renewed .p10-reading>p { min-height: 0; line-height: 1.75; }
.finale-renewed #spirit-return { margin-top: var(--exhibit-xs); }
.finale-renewed .p10-note { font-size: 12px; line-height: 1.6; padding-block: var(--exhibit-sm); }
.finale-renewed .p10-ending { padding-block: var(--exhibit-xs) var(--exhibit-sm); }
.finale-renewed .p10-ending>p { font-size: 14px; line-height: 1.65; font-weight: 500; }
.finale-renewed .p10-actions { border: 0; }
.finale-renewed .p10-actions button { font-size: 13px; }
body[data-page='8'] .deck-footer button,body[data-page='9'] .deck-footer button,
body[data-page='10'] .deck-footer button { font-size: 13px; text-decoration: none; }

#info-dialog.p8-detail #info-body,#info-dialog.p9-detail #info-body,
#info-dialog.p10-detail #info-body { max-width: 680px; font-size: 16px; line-height: 1.85; padding-block: var(--exhibit-xl) calc(32px + env(safe-area-inset-bottom)); }
#info-dialog.p8-detail #info-body h3,#info-dialog.p9-detail #info-body h3,
#info-dialog.p10-detail #info-body h3 { font-size: 18px; line-height: 1.55; margin-block: 28px var(--exhibit-md); }
#info-dialog.p8-detail #info-body h3:first-child,#info-dialog.p9-detail #info-body h3:first-child,
#info-dialog.p10-detail #info-body h3:first-child { margin-top: 0; }
#info-dialog.p8-detail .p8-detail-intro,#info-dialog.p10-detail .p10-detail-intro,
#info-dialog.p10-detail .reading-answer { border: 0; padding-left: 0; font-weight: 400; }
#info-dialog.p8-detail .p8-source h3 { font-size: 17px; }
#info-dialog.p9-detail .drawer-head h2,#info-dialog.p10-detail .drawer-head h2 { font-size: 21px; line-height: 1.4; }
body[data-page='8'] #image-dialog.is-photo-viewer .map-viewer-tools,
body[data-page='9'] #image-dialog.is-photo-viewer .map-viewer-tools,
body[data-page='10'] #image-dialog.is-photo-viewer .map-viewer-tools { border-radius: 6px; }

@media (max-height:740px) {
 .arrival-renewed .p8-heading { padding-block: var(--exhibit-sm); }
 .arrival-renewed h2,.reunion-renewed h2,.finale-renewed h2 { font-size: 30px; }
 .arrival-renewed .p8-stage-reading { padding-top: var(--exhibit-sm); }
 .arrival-renewed .p8-stage-reading h3 { font-size: 16px; margin-block: var(--exhibit-xs); }
 .arrival-renewed .p8-stage-reading>p { font-size: 14px; line-height: 1.65; }
 .arrival-renewed .p8-evidence { font-size: 11px; margin-top: 2px; }
 .arrival-renewed .p8-conclusion { padding-block: var(--exhibit-xs); }
 .reunion-renewed .p9-heading h2 { margin-block: var(--exhibit-sm); }
 .reunion-renewed .p9-meeting { padding-block: var(--exhibit-sm); }
 .reunion-renewed .p9-armies,.reunion-renewed .p9-conclusion p { font-size: 14px; }
 .finale-renewed .p10-heading { padding-block: var(--exhibit-sm); }
 .finale-renewed .p10-reading { padding-top: var(--exhibit-sm); }
 .finale-renewed .p10-reading h3 { font-size: 16px; }
 .finale-renewed .p10-reading>p { line-height: 1.65; }
 .finale-renewed .p10-note { font-size: 11px; padding-block: var(--exhibit-xs); }
 .finale-renewed .p10-ending { padding-block: 2px; }
}
@media (max-width:350px) {
 .p8-stops b { font-size: 15px; }
 .reunion-renewed .p9-meeting { gap: 7px; }
 .reunion-renewed .p9-place b { font-size: 21px; }
 .finale-renewed .p10-actions button { font-size: 12px; }
 body[data-page='8'] .deck-footer button,body[data-page='9'] .deck-footer button,
 body[data-page='10'] .deck-footer button { font-size: 12px; }
}
@media (orientation:portrait) and (max-height:620px) {
 .reunion-renewed .p9-heading h2 { font-size: 26px; margin-block: var(--exhibit-xs); }
 .reunion-renewed .p9-lead { line-height: 1.5; }
 .reunion-renewed .p9-meeting { padding-block: var(--exhibit-xs); }
 .reunion-renewed .p9-conclusion { margin-bottom: 0; }
 .finale-renewed .p10-heading { padding-block: var(--exhibit-sm); min-height: min-content; }
 .finale-renewed h2 { font-size: 22px; line-height: 1.3; margin-block: var(--exhibit-sm); }
 .finale-renewed .p10-answer { line-height: 1.5; }
 .finale-renewed .p10-note { display: none; }
 .finale-renewed .p10-ending>p { font-size: 13px; line-height: 1.5; }
 .finale-renewed .p10-reading h3 { font-size: 15px; }
 .finale-renewed .p10-reading>p { line-height: 1.55; }
 .finale-renewed .p10-material figcaption { font-size: 12px; }
}
@media (orientation:landscape) and (max-height:600px) {
 .arrival-renewed h2,.reunion-renewed h2,.finale-renewed h2 { font-size: 26px; }
 .arrival-renewed .p8-heading,.finale-renewed .p10-heading { padding-block: var(--exhibit-xs); }
 .arrival-renewed .p8-stage-reading { padding-top: var(--exhibit-xs); }
 .arrival-renewed .p8-stage-reading>p { line-height: 1.5; }
 .arrival-renewed .p8-context { margin-bottom: 2px; }
 .p8-map-dialog .p8-map-detail { align-self: stretch; min-height: 0; overflow: auto; overscroll-behavior: contain; }
 .p8-map-dialog .p8-map-reading { font-size: 14px; min-height: 0; }
 .reunion-renewed .p9-heading h2 { margin-block: var(--exhibit-xs); }
 .reunion-renewed .p9-meeting { padding-block: var(--exhibit-xs); }
 .reunion-renewed .p9-meeting time strong { font-size: 28px; }
 .reunion-renewed .p9-conclusion p { line-height: 1.4; }
 .finale-renewed h2 { margin-block: 2px; }
 .finale-renewed .p10-reading { min-height: 0; padding-top: 0; }
 .finale-renewed .p10-reading>p { line-height: 1.5; }
 .finale-renewed #spirit-return { margin-top: 0; }
 .finale-renewed .p10-actions button { font-size: 11px; }
}

/* Hallmark · P4 H4 E4 S5 R5 V4. P5: crossing as a shared task;
 * P6: a real mountain landscape, with conditions explained outside the image. */
.bridge-reading .bridge-heading { padding-block: var(--exhibit-lg); }
.bridge-reading .bridge-heading h2,
.mountain-reading .mountain-heading h2 { font-size: clamp(30px,8vw,40px); line-height: 1.25; }
.bridge-reading .bridge-lead { font-size: 16px; line-height: 1.7; margin-top: var(--exhibit-md); text-wrap: balance; }
.bridge-reading .bridge-story { padding-block: var(--exhibit-lg) var(--exhibit-sm); gap: var(--exhibit-md); font-size: 16px; line-height: 1.7; }
.bridge-reading .bridge-march,.bridge-reading .bridge-action { display: grid; grid-template-columns: 4em minmax(0,1fr); gap: var(--exhibit-md); align-items: baseline; }
.bridge-reading .bridge-story .p5-full { text-wrap: balance; }
.bridge-reading .bridge-story p>strong:first-child { font-weight: 500; }
.bridge-reading .bridge-count { font-weight: 600; }
.bridge-reading .bridge-result { font-size: 14px; padding-top: var(--exhibit-md); }
.bridge-reading .bridge-material-controls { gap: var(--exhibit-xs); }
.bridge-reading .bridge-material-controls button { padding-inline: var(--exhibit-sm); font-size: 14px; font-weight: 400; }
.bridge-reading .bridge-material-controls button[aria-pressed='true'] { font-weight: 500; background: var(--p5-photo); }
.bridge-reading .bridge-material-controls .bridge-reading-open { padding-right: 0; font-size: 13px; }
.bridge-reading .bridge-photo-expand { padding-inline: var(--exhibit-md); font-size: 13px; }
.bridge-reading .bridge-photo-tag { font-size: 12px; }

.mountain-reading .mountain-heading { padding-block: var(--exhibit-lg); }
.mountain-reading .mountain-lead { font-size: 16px; line-height: 1.7; text-wrap: pretty; }
.mountain-reading .mountain-landscape figcaption { padding-block: var(--exhibit-sm); }
.mountain-reading .photo-credit { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--exhibit-xs) var(--exhibit-md); font-size: 12px; line-height: 1.5; }
.mountain-reading .photo-credit span+span:before { content: none; }
.mountain-reading .mountain-observations { border-top: 0; }
.mountain-reading .mountain-observations button { font-weight: 400; }
.mountain-reading .mountain-observations [aria-pressed='true'] { background: var(--p6-surface); font-weight: 500; }
.mountain-reading .condition-reading { padding-block: var(--exhibit-lg); }
.mountain-reading .condition-reading h3 { font-size: 17px; font-weight: 600; line-height: 1.5; margin-bottom: var(--exhibit-sm); }
.mountain-reading .condition-reading p { font-size: 16px; line-height: 1.75; text-wrap: pretty; }
.mountain-reading .condition-reading .condition-support { display: grid; grid-template-columns: 4em minmax(0,1fr); gap: var(--exhibit-md); font-size: 15px; line-height: 1.65; margin-top: var(--exhibit-sm); }
.mountain-reading .condition-support strong { font-weight: 500; }
.mountain-reading .mountain-conclusion { padding-block: var(--exhibit-md); background: var(--p6-paper); }
.mountain-reading .mountain-overlap { color: var(--p6-muted); }
.mountain-reading .mountain-next { margin-top: var(--exhibit-sm); }
body[data-page='5'] .deck-footer button,
body[data-page='6'] .deck-footer button { font-size: 13px; text-decoration: none; }
body[data-page='5'] #gesture-hint,
body[data-page='6'] #gesture-hint { font-size: 12px; }

/* Readers retain their content, outline, sources and material identities. */
#info-dialog.p5-detail #info-body,
#info-dialog.p6-detail #info-body { max-width: 680px; padding-block: var(--exhibit-xl) calc(32px + env(safe-area-inset-bottom)); font-size: 16px; line-height: 1.85; }
#info-dialog.p5-detail #info-body h3,
#info-dialog.p6-detail #info-body h3 { font-size: 18px; line-height: 1.55; margin-block: 28px var(--exhibit-md); }
#info-dialog.p5-detail #info-body h3:first-child,
#info-dialog.p6-detail #info-body h3:first-child { margin-top: 0; }
#info-dialog.p5-detail #info-body .reading-answer,
#info-dialog.p6-detail #info-body .reading-answer,
#info-dialog.p6-detail #info-body .p6-intro { padding-left: 0; border: 0; font-weight: 400; }
#info-dialog.p5-detail .drawer-head h2,
#info-dialog.p6-detail .drawer-head h2 { font-size: 21px; line-height: 1.4; }
#info-dialog.p5-detail #info-body .p5-lecture-section { border-bottom: 0; }
#info-dialog.p5-detail #info-body .p5-source h3,
#info-dialog.p6-detail #info-body .p6-source h3 { font-size: 17px; margin-block: var(--exhibit-xs) var(--exhibit-sm); }
#info-dialog.p5-detail .p5-material-tabs [aria-pressed='true'] { font-weight: 500; background: var(--p5-selected); }
#info-dialog.p5-detail #info-body .p5-observation-text { line-height: 1.85; margin-block: var(--exhibit-md) var(--exhibit-xl); }
#info-dialog.p5-detail #info-body .p5-cooperation-summary { border: 0; padding-left: 0; }
#info-dialog.p5-detail .bridge-role-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--exhibit-sm); }
#info-dialog.p5-detail .bridge-role-controls button { padding-inline: var(--exhibit-xs); border: 1px solid var(--p5-rule); border-radius: 4px; font-size: 14px; background: var(--p5-paper); color: var(--p5-muted); }
#info-dialog.p5-detail .bridge-role-controls [aria-pressed='true'] { border-color: var(--p5-red); background: var(--p5-selected); color: var(--p5-red); }
#info-dialog.p5-detail .p5-role-read { display: none; }
#info-dialog.p5-detail #info-body .p5-role-reading h4 { font-size: 17px; }
#info-dialog.p5-detail #info-body .p5-role-reading p { font-size: 16px; line-height: 1.85; }
#info-dialog.p5-detail #info-body .p5-deck-explanation,
#info-dialog.p5-detail #info-body .p5-structure-total { font-size: 16px; line-height: 1.85; }

body[data-page='5'] #image-dialog.is-photo-viewer .drawer-head h2,
body[data-page='6'] #image-dialog.is-photo-viewer .drawer-head h2 { font-size: 21px; line-height: 1.4; }
body[data-page='5'] #image-dialog.is-photo-viewer .map-viewer-tools,
body[data-page='6'] #image-dialog.is-photo-viewer .map-viewer-tools { border-radius: 6px; border: 1px solid var(--viewer-rule); padding: 0; }
body[data-page='5'] #image-dialog.is-photo-viewer .map-viewer-controls button,
body[data-page='6'] #image-dialog.is-photo-viewer .map-viewer-controls button { border-radius: 4px; }

@media (max-height: 740px) {
  .bridge-reading .bridge-heading,.mountain-reading .mountain-heading { padding-block: var(--exhibit-md); }
  .bridge-reading .bridge-heading h2,.mountain-reading .mountain-heading h2 { font-size: 30px; }
  .bridge-reading .bridge-lead,.mountain-reading .mountain-lead { font-size: 14px; line-height: 1.6; margin-top: var(--exhibit-sm); }
  .bridge-reading .bridge-story { font-size: 14px; line-height: 1.65; padding-top: var(--exhibit-md); gap: var(--exhibit-sm); }
  .bridge-reading .bridge-march,.bridge-reading .bridge-action { display: block; }
  .bridge-reading .bridge-material-controls button { font-size: 13px; }
  .mountain-reading .condition-reading { padding-block: var(--exhibit-md); }
  .mountain-reading .condition-reading p { font-size: 14px; line-height: 1.65; }
  .mountain-reading .condition-reading .condition-support { font-size: 14px; line-height: 1.6; gap: var(--exhibit-sm); }
  .mountain-reading .condition-reading h3 { font-size: 16px; }
  .mountain-reading .mountain-conclusion { padding-block: var(--exhibit-sm); }
}
@media (max-height: 620px) {
  .bridge-reading .bridge-heading,.mountain-reading .mountain-heading { padding-block: var(--exhibit-sm); }
  .bridge-reading .bridge-lead { margin-top: var(--exhibit-xs); }
  .bridge-reading .bridge-story { padding-top: var(--exhibit-sm); gap: var(--exhibit-xs); }
  .bridge-reading .bridge-result { padding-top: var(--exhibit-sm); }
  .mountain-reading .condition-reading { padding-block: var(--exhibit-sm); }
  .mountain-reading .condition-reading h3 { margin-bottom: var(--exhibit-xs); }
  .mountain-reading .condition-reading .condition-support { margin-top: var(--exhibit-xs); }
  .mountain-reading .mountain-next { margin-top: var(--exhibit-xs); }
  .mountain-reading .photo-credit { font-size: 11px; }
}
@media (max-width: 350px) {
  .bridge-reading .bridge-material-controls { gap: 0; }
  .bridge-reading .bridge-material-controls button { padding-inline: 6px; font-size: 12px; }
  .bridge-reading .bridge-material-controls .bridge-reading-open { font-size: 12px; }
  body[data-page='5'] .deck-footer>div:first-child,
  body[data-page='6'] .deck-footer>div:first-child { gap: var(--exhibit-sm); }
  body[data-page='5'] #gesture-hint,body[data-page='6'] #gesture-hint { font-size: 11px; }
}
@media (orientation: landscape) and (max-height: 600px) {
  .bridge-reading .bridge-heading,.mountain-reading .mountain-heading { padding-block: var(--exhibit-xs); }
  .bridge-reading .bridge-heading h2,.mountain-reading .mountain-heading h2 { font-size: 26px; }
  .bridge-reading .bridge-story { padding-top: var(--exhibit-xs); }
  .bridge-reading .bridge-material-controls button { font-size: 12px; }
  .mountain-reading .condition-reading { padding-block: var(--exhibit-xs); }
  .mountain-reading .condition-reading .condition-support { font-size: 14px; }
  .mountain-reading .mountain-landscape figcaption { padding-block: var(--exhibit-xs); }
  .mountain-reading .mountain-conclusion { padding-block: var(--exhibit-xs); }
  #info-dialog.p5-detail .drawer-head,#info-dialog.p6-detail .drawer-head { min-height: 52px; padding-block: calc(4px + env(safe-area-inset-top)) 4px; }
}

/* Hallmark · P4 H4 E4 S5 R5 V4. P3: a meeting and its decisions;
 * P4: an unaltered reference map and the reasons for movement. */
.slide.turning-reading { gap: var(--exhibit-md); }
.turning-reading .turning-head>p:before { display: none; }
.turning-reading .turning-head>div { display: grid; gap: var(--exhibit-sm); }
.turning-reading .turning-head h2 { font-size: clamp(30px, 8vw, 40px); line-height: 1.2; }
.turning-reading .turning-meta { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--exhibit-xs) var(--exhibit-sm); font-size: 12px; }
.turning-reading .turning-cause { gap: var(--exhibit-sm); padding-block: var(--exhibit-xs); }
.turning-reading .turning-cause strong { color: var(--p3-red); font-weight: 500; }
.turning-reading .turning-body { gap: var(--exhibit-md); }
.turning-reading .turning-tabs button { padding-inline: var(--exhibit-md); font-weight: 400; }
.turning-reading .turning-tabs button[aria-selected='true'] { background: var(--p3-selected); font-weight: 500; }
.turning-reading .turning-panel { padding: var(--exhibit-md) 0; background: var(--p3-paper); min-height: var(--p3-panel-height, 0px); }
.turning-reading .turning-panel p { gap: var(--exhibit-sm); }
.turning-reading .turning-panel p+p { margin-top: var(--exhibit-sm); }
.turning-reading .turning-panel strong { font-weight: 500; color: var(--p3-muted); }
.turning-reading .turning-next { color: var(--p3-muted); }
.turning-reading .turning-next:after { display: none; }

.slide.tactics-reading { background: var(--p4-paper); gap: var(--exhibit-md); }
.tactics-reading>.tactics-heading { padding: 0; border: 0; }
.tactics-reading .tactics-title h2 { font-size: clamp(30px, 8vw, 40px); line-height: 1.2; }
.tactics-reading .tactics-map { padding-top: 0; border: 0; gap: var(--exhibit-sm); }
.tactics-reading .crossing-controls { border-top: 0; padding-top: 0; }
.tactics-reading .crossing-controls button { min-height: 48px; gap: 3px; padding-block: var(--exhibit-sm); }
.tactics-reading .crossing-controls button:before { display: none; }
.tactics-reading .crossing-controls b { font-weight: 500; padding-top: 0; }
.tactics-reading .crossing-controls button[aria-pressed='true'] { background: var(--p4-selected); }
.tactics-reading .crossing-caption,
.tactics-reading[data-crossing-index='-1'] .crossing-caption { border: 0; padding: 0; min-height: var(--p4-reading-height, 0px); }
.tactics-reading .crossing-caption h3 { font-weight: 600; font-size: 17px; text-wrap: pretty; }
.tactics-reading .crossing-caption-head time { font-weight: 400; }
.tactics-reading .crossing-caption #crossing-place { margin-block: var(--exhibit-xs) var(--exhibit-sm); font-size: 13px; font-weight: 400; color: var(--p4-muted); }
.tactics-reading .crossing-reason p,
.tactics-reading[data-crossing-index='-1'] .crossing-reason p { grid-template-columns: 2.2em minmax(0,1fr); padding-block: var(--exhibit-xs); line-height: 1.65; }
.tactics-reading .crossing-reason strong { font-weight: 500; letter-spacing: 0; }
.tactics-reading .crossing-reason p+p { border: 0; }
.tactics-reading .tactics-onward { padding: var(--exhibit-sm) 0 0; border-left: 0; border-top: 1px solid var(--p4-rule); color: var(--p4-muted); }
.tactics-reading .tactics-onward span { color: inherit; }
.p4-map-surface .p4-expand svg { width: 30px; height: 30px; padding: 5px; }

/* The original map remains central in its mobile reader. */
.chishui-head { background: var(--cm-paper); padding-inline: var(--exhibit-lg); }
.chishui-head:before { display: none; }
.chishui-head h2 { font-size: 21px; }
.chishui-tabs { padding-top: 0; }
.chishui-tabs button:before { display: none; }
.chishui-tabs button { min-height: 44px; }
.chishui-endpoints { background: var(--cm-paper); padding-block: 0; }
.chishui-summary { border-left: 0; padding-left: 0; }
.chishui-summary p { line-height: 1.65; }
.chishui-tools>div { gap: 0; background: var(--cm-panel); border: 1px solid var(--cm-rule); border-radius: 6px; }
.chishui-tools output { padding-inline: var(--exhibit-xs); }

body[data-page='3'] .deck-footer button,
body[data-page='4'] .deck-footer button { font-size: 13px; text-decoration: none; }
body[data-page='3'] #gesture-hint,
body[data-page='4'] #gesture-hint { font-size: 12px; }
body[data-page='3'] #info-dialog #info-body,
body[data-page='4'] #info-dialog #info-body { max-width: 680px; padding-block: var(--exhibit-xl) calc(32px + env(safe-area-inset-bottom)); font-size: 16px; line-height: 1.85; }
body[data-page='3'] #info-dialog #info-body h2,
body[data-page='4'] #info-dialog #info-body h2 { font: 600 20px/1.5 var(--reading-body); margin-bottom: var(--exhibit-md); }
body[data-page='3'] #info-dialog #info-body h3,
body[data-page='4'] #info-dialog #info-body h3 { font-size: 18px; line-height: 1.55; margin-block: 28px var(--exhibit-md); }
body[data-page='3'] #info-dialog #info-body .reading-answer,
body[data-page='4'] #info-dialog #info-body .reading-answer { padding-left: 0; border: 0; font-weight: 400; }
body[data-page='3'] #info-dialog #info-body article,
body[data-page='4'] #info-dialog #info-body article { padding-block: var(--exhibit-lg); }
body[data-page='3'] #info-dialog #info-body article h3,
body[data-page='4'] #info-dialog #info-body article h3 { margin-top: 0; }

@media (max-height: 740px) {
  .slide.turning-reading,.slide.tactics-reading { gap: var(--exhibit-sm); }
  .turning-reading .turning-head h2,.tactics-reading .tactics-title h2 { font-size: 30px; }
  .turning-reading .turning-head>div { gap: var(--exhibit-xs); }
  .turning-reading .turning-cause { gap: var(--exhibit-xs); padding-block: 0; }
  .turning-reading .turning-body { gap: var(--exhibit-sm); }
  .turning-reading .turning-panel { padding-block: var(--exhibit-sm); }
  .tactics-reading .crossing-controls button { min-height: 44px; }
  .tactics-reading .crossing-caption h3 { font-size: 15px; }
  .tactics-reading .crossing-reason p { font-size: 14px; line-height: 1.55; }
  .tactics-reading .crossing-caption #crossing-place { margin-bottom: var(--exhibit-xs); }
}
@media (max-width: 350px) {
  .turning-reading .turning-meta { font-size: 11px; }
  .turning-reading .turning-meta time { font-size: 11px; }
  .tactics-reading .crossing-caption-head { flex-wrap: wrap; gap: 0 var(--exhibit-sm); }
}
@media (orientation: landscape) and (max-height: 600px) {
  .chishui-dialog[open] { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); }
  .chishui-head { grid-column: 1 / -1; }
  .chishui-surface { grid-column: 1; grid-row: 2; }
  .chishui-footer { grid-column: 2; grid-row: 2; min-height: 0; overflow-y: auto; overscroll-behavior: contain; border-top: 0; border-left: 1px solid var(--cm-rule); padding-inline: var(--exhibit-md); }
  .chishui-dialog .map-stage-notes>div,.chishui-dialog .chishui-note { position: static; max-height: 150px; margin-bottom: var(--exhibit-sm); box-shadow: none; }
  .turning-reading .turning-head>div { grid-template-columns: auto minmax(0,1fr); align-items: end; }
  .turning-reading .turning-meta { justify-content: flex-end; gap: var(--exhibit-md); }
  .slide.turning-reading,.slide.tactics-reading { gap: var(--exhibit-xs) var(--exhibit-lg); }
  .turning-reading .turning-head h2,.tactics-reading .tactics-title h2 { font-size: 26px; }
  .turning-reading .turning-body { gap: var(--exhibit-xs); }
  .turning-reading .turning-panel { padding-block: var(--exhibit-xs); }
  .tactics-reading .crossing-caption h3 { font-size: 14px; }
  .tactics-reading .crossing-reason p { padding-block: 2px; line-height: 1.45; }
  .tactics-reading .tactics-onward { padding-top: var(--exhibit-xs); }
}

/* P2: title / choose a reading / uninterrupted map / explanation. */
.atlas[data-page='2'] .atlas-heading {
  padding-block: calc(var(--exhibit-xl) + var(--header)) var(--exhibit-md);
}
.atlas[data-page='2'] .atlas-heading h2 {
  font-size: clamp(27px, 8.2vw, 36px);
  line-height: 1.35;
  margin-bottom: var(--exhibit-sm);
}
.atlas[data-page='2'] .atlas-heading .departure-cause {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--p2-ink);
}
.atlas[data-page='2'] .eyebrow { margin-bottom: var(--exhibit-sm); }
.atlas[data-page='2'] .atlas-map,
.atlas[data-page='2'].page2-tight .atlas-map { grid-template-rows: 48px minmax(0, 1fr) auto; }
.atlas[data-page='2'][data-route-view='branches'] .atlas-map,
.atlas[data-page='2'].page2-tight[data-route-view='branches'] .atlas-map {
  grid-template-rows: 48px 96px minmax(0, 1fr) auto;
}
.atlas[data-page='2'] .map-toolbar { display: none; }
.atlas[data-page='2'] .route-reading-tabs {
  gap: var(--exhibit-xl);
  padding-right: calc(var(--p2-gutter) + 68px);
}
.atlas[data-page='2'] .route-reading-tabs button { font-size: 15px; }
.atlas[data-page='2'] .route-reading-tabs button[aria-selected='true'] {
  font-weight: 600;
  background: var(--p2-clear);
}
.atlas[data-page='2'] .route-reading-tabs button:after { display: block; }
.atlas[data-page='2'] .map-original-action {
  background: var(--p2-clear);
  color: var(--p2-muted);
  font-size: 13px;
  top: 2px;
  padding-inline: var(--exhibit-sm);
  border-radius: 0;
}
.atlas[data-page='2'] .departure-units {
  gap: var(--exhibit-xs) var(--exhibit-md);
  padding-block: var(--exhibit-xs);
  grid-template-rows: 44px 44px;
}
.atlas[data-page='2'] .unit-choice {
  padding-inline: var(--exhibit-sm);
  border: 0;
  border-bottom: 1px solid var(--p2-rule);
  border-radius: 0;
}
.atlas[data-page='2'] .unit-choice:before { display:block; width:6px; height:6px; border:1px solid var(--p2-muted); }
.atlas[data-page='2'] .unit-choice strong { font-size:.875rem; font-weight:500; }
.atlas[data-page='2'] .unit-choice[aria-pressed='true'] { border-color:var(--p2-red); background:var(--p2-selected); }
.atlas[data-page='2'] .unit-choice[aria-pressed='true'] strong { font-weight: 600; }
.atlas[data-page='2'] .map-boundary {
  border-bottom: 0;
  padding-block: var(--exhibit-sm);
  font-size: 12px;
  line-height: 1.5;
}
.atlas[data-page='2'] .atlas-reading,
.atlas[data-page='2'][data-unit-state='overview'] .atlas-reading {
  padding-block: var(--exhibit-sm) var(--exhibit-md);
}
.atlas[data-page='2'] .reading-head { margin-bottom: var(--exhibit-sm); }
.atlas[data-page='2'] .reading-head h3 { font-size: 17px; font-weight: 600; line-height: 1.5; }
.atlas[data-page='2'] .central-copy,
.atlas[data-page='2'] .unit-summary { font-size: 16px; line-height: 1.75; text-wrap: pretty; }
.atlas[data-page='2'] .central-roles {
  gap: var(--exhibit-sm);
  margin-top: var(--exhibit-md);
  padding-top: var(--exhibit-sm);
}
.atlas[data-page='2'] .central-roles button {
  display: grid;
  align-content: center;
  gap: var(--exhibit-xs);
  padding: 0;
  min-height: 44px;
  text-align: left;
  background: var(--p2-clear);
  border: 0;
}
.atlas[data-page='2'] .central-roles small { font-size: 12px; }
.atlas[data-page='2'] .central-roles b { color: var(--p2-ink); font-size: 14px; font-weight: 500; }
.atlas[data-page='2'] .central-roles button:active { background: var(--p2-selected); }
.atlas[data-page='2'] .unit-facts { gap: var(--exhibit-lg); padding-bottom: var(--exhibit-sm); margin-bottom: var(--exhibit-sm); }
.atlas[data-page='2'] .unit-fact { min-height: 52px; gap: var(--exhibit-xs); }
.atlas[data-page='2'] .unit-fact strong { font-size: 15px; line-height: 1.5; }
.atlas[data-page='2'] .unit-fact time { font-size: 12px; }
.atlas[data-page='2'] .unit-overview-years { font-size: 14px; line-height: 1.75; margin-bottom: var(--exhibit-sm); }
body[data-page='2'] .deck-footer button,
body[data-page='7'] .deck-footer button { font-size: 13px; text-decoration: none; }
body[data-page='2'] .deck-footer>span,
body[data-page='7'] #gesture-hint { font-size: 12px; }

/* P7: preserve a real landscape, let the person and the actions carry the story. */
.people-renewed .p7-photo img { filter: saturate(.9); }
.people-renewed .p7-heading {
  padding: var(--exhibit-xl) var(--gutter) 48px;
  background: linear-gradient(var(--p7-deep), var(--p7-glass) 60%, var(--p7-clear));
}
.people-renewed .p7-heading .eyebrow { margin-bottom: var(--exhibit-md); font-size: 12px; }
.people-renewed .p7-heading h2 { font-size: clamp(28px, 8vw, 42px); line-height: 1.35; }
.people-renewed .p7-bridge { font-size: 14px; line-height: 1.65; margin-top: var(--exhibit-md); }
.people-renewed .p7-landscape figcaption { font-size: 12px; }
.people-renewed .p7-photo-open { font-size: 12px; }
.people-renewed .p7-person { padding-block: var(--exhibit-lg); }
.people-renewed .p7-name { margin-bottom: var(--exhibit-sm); gap: var(--exhibit-md); }
.people-renewed .p7-name strong { font-size: 26px; }
.people-renewed .p7-name span { font-size: 13px; }
.people-renewed .p7-premise { font-size: 16px; line-height: 1.7; max-width: 30em; text-wrap: pretty; }
.people-renewed .p7-premise strong { font-weight: 600; }
.people-renewed .p7-story { padding-top: var(--exhibit-md); background: var(--p7-paper); border-top: 1px solid var(--p7-rule); }
.people-renewed .p7-question { margin-bottom: var(--exhibit-sm); }
.people-renewed .p7-question h3 { font-size: 16px; font-weight: 500; }
.people-renewed #people-visible-progress { display: none; }
.people-renewed .p7-actions { gap: var(--exhibit-xs); }
.people-renewed .p7-actions:before,
.people-renewed .p7-actions i { display: none; }
.people-renewed .p7-actions button {
  min-height: 44px;
  padding: var(--exhibit-sm) 0;
  justify-content: center;
  border-bottom: 2px solid var(--p7-rule);
  font-size: 14px;
  font-weight: 400;
}
.people-renewed .p7-actions [aria-pressed='true'] { background: var(--p7-surface); font-weight: 500; }
.people-renewed .p7-reading { padding-block: var(--exhibit-md) var(--exhibit-lg); }
.people-renewed .p7-reading h3 { font-size: 17px; font-weight: 600; margin-bottom: var(--exhibit-sm); }
.people-renewed #people-reading { font-size: 16px; line-height: 1.75; text-wrap: pretty; }
.people-renewed .p7-source-caption { font-size: 12px; line-height: 1.5; margin-top: var(--exhibit-sm); }
.people-renewed .p7-conclusion { padding-block: var(--exhibit-md); background: var(--p7-paper); font-size: 14px; }
.people-renewed .p7-next { font-size: 12px; line-height: 1.5; margin-top: var(--exhibit-xs); }

/* Both detail readers: fewer competing rules, clear sections and comfortable measure. */
body[data-page='2'] #info-dialog #info-body,
#info-dialog.p7-detail #info-body {
  max-width: 680px;
  padding-block: var(--exhibit-xl) calc(32px + env(safe-area-inset-bottom));
  font-size: 16px;
  line-height: 1.85;
}
body[data-page='2'] #info-dialog #info-body h3,
#info-dialog.p7-detail #info-body h3 { margin-block: 28px var(--exhibit-md); font-size: 18px; line-height: 1.55; }
body[data-page='2'] #info-dialog #info-body h3:first-child,
#info-dialog.p7-detail #info-body h3:first-child { margin-top: 0; }
body[data-page='2'] #info-dialog #info-body .reading-answer,
#info-dialog.p7-detail #info-body .reading-answer { border: 0; padding-left: 0; font-weight: 400; }
#info-dialog.p7-detail #info-body .p7-detail-intro { border: 0; padding-left: 0; color: var(--p7-muted); }
body[data-page='2'] #info-dialog #info-body .reading-outline,
#info-dialog.p7-detail #info-body .reading-outline { margin-bottom: var(--exhibit-xl); }
body[data-page='2'] #info-dialog #info-body .reading-outline>summary,
#info-dialog.p7-detail #info-body .reading-outline>summary { font-weight: 500; }
body[data-page='2'] #info-dialog .drawer-head h2,
#info-dialog.p7-detail .drawer-head h2 { font-size: 21px; line-height: 1.4; }
.atlas[data-page='2'] button:disabled,
.people-renewed button:disabled { opacity: .45; cursor: not-allowed; }

@media (max-height: 740px) {
  .atlas[data-page='2'][data-route-view='branches'] .eyebrow { display: none; }
  .atlas[data-page='2'][data-route-view='branches'] .atlas-map { grid-template-rows: 44px 96px minmax(0,1fr) auto; }
  .atlas[data-page='2'][data-route-view='branches'] .departure-units { padding-block: var(--exhibit-xs); }
  .atlas[data-page='2'] .unit-fact { min-height: 44px; }
  .atlas[data-page='2'] .atlas-heading { padding-block: calc(var(--exhibit-md) + var(--header)) var(--exhibit-sm); }
  .atlas[data-page='2'] .atlas-heading h2 { font-size: 26px; margin-bottom: var(--exhibit-xs); }
  .atlas[data-page='2'] .atlas-heading .departure-cause { font-size: 14px; line-height: 1.6; }
  .atlas[data-page='2'] .central-copy,.atlas[data-page='2'] .unit-summary { font-size: 14px; line-height: 1.7; }
  .atlas[data-page='2'] .central-turn-detail { display: none; }
  .atlas[data-page='2'] .atlas-reading { padding-block: var(--exhibit-xs) var(--exhibit-sm); }
  .people-renewed .p7-heading { padding-top: var(--exhibit-lg); padding-bottom: 40px; }
  .people-renewed .p7-heading h2 { font-size: 29px; }
  .people-renewed .p7-heading .eyebrow { margin-bottom: var(--exhibit-sm); }
  .people-renewed .p7-person { padding-block: var(--exhibit-sm); }
  .people-renewed .p7-premise,.people-renewed #people-reading { font-size: 14px; line-height: 1.65; }
  .people-renewed .p7-name { margin-bottom: var(--exhibit-xs); }
  .people-renewed .p7-reading { padding-block: var(--exhibit-sm); }
  .people-renewed .p7-reading h3 { margin-bottom: var(--exhibit-xs); font-size: 16px; }
  .people-renewed .p7-conclusion { padding-block: var(--exhibit-sm); }
}
@media (max-height: 620px) {
  .atlas[data-page='2'].page2-tight .atlas-heading { padding-top: calc(var(--exhibit-sm) + var(--header)); }
  .atlas[data-page='2'].page2-tight .atlas-heading h2 { font-size: 24px; }
  .atlas[data-page='2'] .map-boundary { padding-block: var(--exhibit-xs); }
  .atlas[data-page='2'].page2-tight .central-copy,.atlas[data-page='2'].page2-tight .unit-summary { font-size: 14px; line-height: 1.6; }
  .atlas[data-page='2'] .unit-fact { min-height: 44px; gap: 0 var(--exhibit-xs); }
  .atlas[data-page='2'] .unit-fact strong { font-size: 14px; }
  .people-renewed .p7-heading { padding-top: var(--exhibit-sm); padding-bottom: 32px; }
  .people-renewed .p7-heading h2 { font-size: 25px; line-height: 1.25; }
  .people-renewed .p7-heading .eyebrow { margin-bottom: var(--exhibit-xs); font-size: 11px; }
  .people-renewed .p7-bridge { margin-top: var(--exhibit-xs); font-size: 12px; line-height: 1.5; }
  .people-renewed .p7-name strong { font-size: 22px; }
  .people-renewed .p7-name span { font-size: 12px; }
  .people-renewed .p7-person,.people-renewed .p7-conclusion { padding-block: var(--exhibit-xs); }
  .people-renewed .p7-story { padding-top: var(--exhibit-xs); }
  .people-renewed .p7-question h3 { font-size: 14px; }
  .people-renewed .p7-question { margin-bottom: var(--exhibit-xs); }
  .people-renewed .p7-actions button { font-size: 13px; }
  .people-renewed .p7-reading { padding-block: var(--exhibit-xs); }
  .people-renewed .p7-source-caption { margin-top: var(--exhibit-xs); }
}
@media (max-width: 350px) {
  body[data-page='2'] .deck-footer>span,body[data-page='7'] #gesture-hint { font-size: 11px; }
  body[data-page='2'] .deck-footer>div:first-child { gap: var(--exhibit-md); }
  .atlas[data-page='2'] .route-reading-tabs { gap: var(--exhibit-lg); }
  .atlas[data-page='2'] .unit-choice strong { font-size: 13px; }
  .people-renewed .p7-landscape figcaption { font-size: 11px; }
  .people-renewed .p7-next { font-size: 11px; }
}
@media (min-width: 650px) and (min-height: 740px) {
  .atlas[data-page='2'] .atlas-heading .departure-cause { font-size: 17px; }
  .atlas[data-page='2'] .central-copy,.atlas[data-page='2'] .unit-summary { font-size: 17px; }
  .atlas[data-page='2'] .unit-choice strong { font-size: 16px; }
  .people-renewed .p7-premise,.people-renewed #people-reading { font-size: 17px; }
}
@media (orientation: landscape) and (max-height: 600px) {
  .atlas[data-page='2'] .atlas-heading { padding-block: calc(var(--exhibit-xs) + var(--header)) var(--exhibit-xs); }
  .atlas[data-page='2'] .atlas-heading h2 { font-size: 24px; }
  .atlas[data-page='2'] .atlas-map { grid-template-rows: 44px minmax(0,1fr) auto; }
  .atlas[data-page='2'][data-route-view='branches'] .atlas-map { grid-template-rows: 44px 96px minmax(0,1fr) auto; }
  .atlas[data-page='2'] .central-roles { display: grid; margin-top: var(--exhibit-xs); gap: var(--exhibit-xs); }
  .atlas[data-page='2'] .atlas-reading { padding-block: 0; }
  .atlas[data-page='2'] .unit-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .people-renewed .p7-heading { padding-top: var(--exhibit-md); }
  .people-renewed .p7-person,.people-renewed .p7-conclusion { padding-block: 0; }
  .people-renewed .p7-story { padding-top: 0; }
  .people-renewed .p7-reading { padding-block: var(--exhibit-xs); }
  .people-renewed .p7-premise,.people-renewed #people-reading { font-size: 14px; line-height: 1.55; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas[data-page='2'] button,.people-renewed button { transition: none; }
  .people-renewed .feedback-in { animation: none; }
}

/* P1/P2 shared craft rules: static selection, full media, readable detail layers. */
.atlas[data-page='2'] .route-reading-tabs button { line-height:1.4; }
.atlas[data-page='2'] .central-roles b { text-decoration:underline; text-decoration-style:dotted; text-underline-offset:4px; text-decoration-color:var(--p2-muted); }
.atlas[data-page='2'] .central-roles button { border-radius:var(--radius-control); }
.atlas[data-page='2'] .map-original-action { border-radius:var(--radius-control); }
.atlas[data-page='2'] .unit-fact { padding:var(--exhibit-xs); border-radius:var(--radius-control); }
.atlas[data-page='2'] .unit-fact strong { font-weight:600; }
body[data-page='2'] #info-dialog #info-body { line-height:1.8; }
body[data-page='2'] #info-dialog #info-body .reading-answer { font-size:1.0625rem; line-height:1.75; margin-bottom:var(--exhibit-xl); }
body[data-page='2'] #info-dialog #info-body .reading-outline { border-top:0; }
body[data-page='2'] #info-dialog .drawer-head { padding-block:calc(var(--exhibit-sm) + env(safe-area-inset-top)) var(--exhibit-sm); }
body[data-page='2'] #info-dialog #info-body { scroll-padding-block-start:var(--exhibit-xl); }
@media(hover:hover){.atlas[data-page='2'] .map-original-action:hover{background:var(--p2-wash)}}

.atlas[data-page='2'][data-route-view='branches'][data-unit-state='overview'] .unit-story .reading-head { display:none; }
@media(hover:hover){.atlas[data-page='2'] .unit-choice:hover:not([aria-pressed='true']){background:var(--p2-wash)}}
