/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4. Original-map reading room. */
.map-viewer-footer{display:none}
#image-dialog.is-map-viewer{
 --viewer-paper:#fff;--viewer-ink:#24292c;--viewer-muted:#53616a;--viewer-red:#942c2d;
 --viewer-control:#f1f3f5;--viewer-rule:#dce1e4;--viewer-stage:#edf0f2;--viewer-selected:#f9eded;
 --viewer-shadow:rgba(26,34,39,.14);--viewer-clear:transparent;--viewer-font:var(--cover-body);
}
#image-dialog.is-map-viewer[open]{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;border:0;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;overflow:clip;background:var(--viewer-paper);color:var(--viewer-ink)}
.is-map-viewer .drawer-head{position:relative;inset:auto;margin:0;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;min-height:72px;background:var(--viewer-paper);border-bottom:1px solid var(--viewer-rule);gap:12px}
.is-map-viewer .drawer-head h2{font:600 18px/1.5 var(--viewer-font);color:var(--viewer-ink);margin:0;min-width:0}
.is-map-viewer .drawer-head h2:before{content:'1934—1935 · 现代参考图';display:block;font:400 11px/1.6 var(--viewer-font);color:var(--viewer-muted);margin-bottom:2px}
.is-map-viewer .drawer-head button{width:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--viewer-rule);border-radius:50%;background:var(--viewer-paper);color:var(--viewer-ink);font:400 22px/1 var(--viewer-font);text-decoration:none;flex:none}
.is-map-viewer .zoom-control{display:none}
.is-map-viewer .image-pan{position:relative;width:100%;height:100%;max-height:none;min-height:0;overflow:clip;touch-action:none;overscroll-behavior:none;background:var(--viewer-stage);cursor:grab;outline-offset:-4px}
.is-map-viewer .image-pan:active{cursor:grabbing}
.is-map-viewer .image-pan img{position:absolute;left:0;top:0;min-width:0;max-width:none;transform-origin:0 0;will-change:transform;pointer-events:none;user-select:none;box-shadow:0 1px 12px var(--viewer-shadow)}
.is-map-viewer .map-viewer-footer{display:block;position:relative;padding:8px 16px calc(4px + env(safe-area-inset-bottom));background:var(--viewer-paper);border-top:1px solid var(--viewer-rule);z-index:4}
.is-map-viewer .map-viewer-controls{display:flex;align-items:center;justify-content:space-between;max-width:440px;margin:0 auto;gap:8px;padding:0;min-height:44px}
.map-viewer-views,.map-viewer-tools{display:flex;align-items:center;gap:0}
.is-map-viewer .map-viewer-views{border:0;border-radius:12px;padding:3px;gap:2px;background:var(--viewer-control)}
.is-map-viewer .map-viewer-controls button{min-width:48px;min-height:44px;font:500 13px/1.4 var(--viewer-font);padding:0 10px;border:0;border-radius:9px;color:var(--viewer-muted);background:var(--viewer-clear);white-space:nowrap;box-shadow:none;transform:none;text-decoration:none;transition:background-color 140ms,color 140ms}
.is-map-viewer .map-viewer-views button[aria-pressed='true']{background:var(--viewer-paper);color:var(--viewer-red);box-shadow:0 1px 3px var(--viewer-shadow);font-weight:600}
.is-map-viewer .map-viewer-tools{border-radius:12px;padding:3px;background:var(--viewer-control)}
.is-map-viewer .map-viewer-tools button[data-map-zoom]{display:grid;place-items:center;padding:0;width:44px;min-width:44px;border:0}
.is-map-viewer .map-viewer-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.is-map-viewer .map-viewer-controls button:disabled{opacity:.35;cursor:default}
.is-map-viewer .map-viewer-controls output{min-width:34px;text-align:center;font:400 12px/1.5 var(--viewer-font);color:var(--viewer-muted);font-variant-numeric:tabular-nums}
.is-map-viewer .map-viewer-controls .map-reset{min-width:52px;padding:0 4px;border-radius:0}
.is-map-viewer .map-viewer-controls .map-reset output{color:var(--viewer-ink);font-size:13px;pointer-events:none}
.is-map-viewer .map-viewer-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px}
.is-map-viewer .map-viewer-hint{font:400 11px/1.5 var(--viewer-font);color:var(--viewer-muted);margin:0;padding:0}
.is-map-viewer .map-viewer-credit summary{display:flex;align-items:center;justify-content:flex-end;min-height:44px;list-style:none;cursor:pointer;white-space:nowrap;color:var(--viewer-muted);font:400 12px/1.4 var(--viewer-font)}
.is-map-viewer .map-viewer-credit summary::-webkit-details-marker{display:none}
.is-map-viewer .map-viewer-credit summary:after{content:'＋';margin-left:5px;color:var(--viewer-red)}
.is-map-viewer .map-viewer-credit[open] summary:after{content:'−'}
.is-map-viewer .map-viewer-note{position:absolute;left:12px;right:12px;bottom:calc(100% + 8px);max-height:min(36dvh,280px);overflow:auto;overscroll-behavior:contain;padding:14px 16px;background:var(--viewer-paper);border:1px solid var(--viewer-rule);border-radius:7px;box-shadow:0 4px 18px var(--viewer-shadow);font:400 12px/1.7 var(--viewer-font);color:var(--viewer-muted)}
.is-map-viewer #image-description{font:inherit;margin:0 0 8px;padding:0;color:inherit}
.is-map-viewer .map-viewer-note p{margin:6px 0;white-space:normal;overflow-wrap:anywhere}
.is-map-viewer .map-viewer-note a{display:inline-flex;align-items:center;min-height:44px;color:var(--viewer-red);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.is-map-viewer button:focus-visible,.is-map-viewer summary:focus-visible,.is-map-viewer .image-pan:focus-visible{outline:2px solid var(--viewer-red);outline-offset:2px}
.is-map-viewer button:active{background:var(--viewer-selected)}
@media(hover:hover){.is-map-viewer button:not(:disabled):hover{background:var(--viewer-selected)}}
@media(max-width:350px){.is-map-viewer .map-viewer-footer{padding-inline:10px}.is-map-viewer .map-viewer-controls{gap:4px}.is-map-viewer .map-viewer-controls button{padding-inline:7px}.map-viewer-tools{gap:0}.is-map-viewer .map-viewer-controls output{min-width:28px}}
@media(max-height:500px){.is-map-viewer .drawer-head{padding-block:calc(2px + env(safe-area-inset-top)) 2px;min-height:52px}.is-map-viewer .drawer-head h2{font-size:16px}.is-map-viewer .drawer-head h2:before{display:none}.is-map-viewer .map-viewer-footer{padding-top:2px}.is-map-viewer .map-viewer-caption{position:absolute;right:14px;top:-44px;padding:0 8px;background:var(--viewer-paper);border-radius:4px}.is-map-viewer .map-viewer-hint{display:none}}
@media(prefers-reduced-motion:reduce){.is-map-viewer button{transition:none}}

.atlas .route-reading-tabs{gap:0;padding:6px var(--cover-gutter);border-bottom:0;background:var(--cover-paper)}
.atlas .route-reading-tabs button{flex:1;min-height:44px;text-align:center;padding:10px 8px;background:var(--pair-soft);font-size:13px}
.atlas .route-reading-tabs button:first-child{border-radius:6px 0 0 6px}.atlas .route-reading-tabs button:last-child{border-radius:0 6px 6px 0}
.atlas .route-reading-tabs button[aria-selected='true']{background:var(--cover-red-deep);color:var(--cover-white)}
.route-reading-tabs button[aria-selected='true']:after{display:none}
.atlas .atlas-map .map-expand{min-height:44px;padding:8px 10px;margin:4px 0;border:1px solid var(--cover-rule);border-radius:5px;color:var(--cover-red-deep)}

/* P5 original photographs share the established touch viewer. */
#image-dialog.is-photo-viewer .drawer-head h2:before{content:'当代实景 · 非1935年战斗影像'}
#image-dialog.is-photo-viewer[data-photo-material='relic'] .drawer-head h2:before{content:'军博馆藏 · 铁索实物照片'}
#image-dialog.is-photo-viewer [data-map-view='legend']{display:none}
#image-dialog.is-photo-viewer .map-viewer-views{background:var(--viewer-clear);padding:0}
#image-dialog.is-photo-viewer .map-viewer-views button{border:1px solid var(--viewer-rule);border-radius:6px;min-width:70px}
#image-dialog.is-photo-viewer .map-viewer-views button[aria-pressed='true']{box-shadow:none}

#image-dialog.is-photo-viewer[data-photo-material='landscape'] .drawer-head h2:before{content:'当代实景 · 非1935年行军现场影像'}

#image-dialog.is-photo-viewer[data-photo-material='landscape'] .drawer-head h2:before{content:'当代实景 · 非1935年行军现场影像'}

/* Hallmark · design-system: design.md · P2 map reading room; no original-map edits. */
body[data-page='2'] #image-dialog.is-map-viewer { --viewer-stage:var(--color-map-mat); }
body[data-page='2'] .is-map-viewer .drawer-head { padding-inline:var(--p2-gutter); }
body[data-page='2'] .is-map-viewer .drawer-head h2 { font-family:var(--entry-heading); font-weight:700; font-size:1.25rem; }
body[data-page='2'] .is-map-viewer .drawer-head h2:before { font-family:var(--viewer-font); font-size:.75rem; }
body[data-page='2'] .is-map-viewer .map-viewer-views,
body[data-page='2'] .is-map-viewer .map-viewer-tools { padding:2px; border-radius:var(--radius-group); border:1px solid var(--viewer-rule); }
body[data-page='2'] .is-map-viewer .map-viewer-controls button { border-radius:var(--radius-control); transition:background-color var(--dur-feedback) var(--ease-feedback),color var(--dur-feedback) var(--ease-feedback); }
body[data-page='2'] .is-map-viewer .map-viewer-views button[aria-pressed='true'] { background:var(--viewer-red); color:var(--viewer-paper); box-shadow:none; }
body[data-page='2'] .is-map-viewer .map-viewer-tools svg { width:20px; height:20px; }
body[data-page='2'] .is-map-viewer .map-viewer-controls output { font-size:.875rem; }
body[data-page='2'] .is-map-viewer .map-viewer-tools button:disabled { cursor:not-allowed; }
body[data-page='2'] .is-map-viewer .map-viewer-controls button:focus-visible { outline:2px solid var(--color-control-focus); outline-offset:2px; }
@media(prefers-reduced-motion:reduce){body[data-page='2'] .is-map-viewer .map-viewer-controls button{transition:none}}

body[data-page='2'] .is-map-viewer .image-pan:focus-visible { outline:2px solid var(--cover-gold); outline-offset:-4px; }
