/* Preserve the existing forest-green guide; gold is reserved for active controls. */
.preview-note{display:flex;justify-content:center;align-items:center;gap:14px;padding:8px 16px;background:#ead18e;color:#263a2d;font:12px/1.5 "Microsoft YaHei",sans-serif;letter-spacing:.03em}
.preview-note span{padding-inline-start:14px;border-inline-start:1px solid #8d763d70;font-size:11px;color:#586044}
.region-map{max-width:1192px;margin:4px auto 20px;border:1px solid #e7c47336;border-radius:16px;background:#11251d;overflow:hidden;box-shadow:0 10px 32px #0002}
.region-map *{box-sizing:border-box}
.map-disclosure{appearance:none;display:flex;align-items:center;gap:14px;width:100%;padding:16px 21px;border:0;background:linear-gradient(110deg,#1b3226,#12251e);color:#efd799;text-align:start;font:inherit;cursor:pointer}
/* Keep the full-screen action at the former collapse position. */
.map-heading-fullscreen{margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:0;background:transparent;color:#d3bf83;cursor:pointer;font:inherit}
.map-heading-fullscreen svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.map-toolbar[hidden],.region-map .map-caption{display:none}
.map-disclosure>svg{width:27px;height:27px;stroke:#c7aa62;stroke-width:1.4;fill:none;flex-shrink:0}
.map-disclosure>span:not(.map-disclosure-action){display:flex;align-items:baseline;gap:16px;min-width:0}
.map-disclosure strong{font-family:"Noto Serif TC","SimSun",serif;font-size:19px;letter-spacing:.08em;font-weight:600;white-space:nowrap}
.map-disclosure small{font-size:12px;color:#92a193;letter-spacing:.05em}
.map-disclosure-action{margin-inline-start:auto;display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap;color:#d3bf83}
.map-disclosure-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}
.map-disclosure[aria-expanded=true] .map-disclosure-action svg{transform:rotate(180deg)}
.map-disclosure:hover{background:#203b2c}
.region-map button:focus-visible,.map-viewport:focus-visible,.map-bottom a:focus-visible{outline:2px solid #e9c574;outline-offset:-3px}
#map-content[hidden],.region-map [hidden]{display:none!important}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;padding:9px 16px;border-block:1px solid #bfa56926;background:#0f211a}
.map-view-label{font-size:12px;color:#a8b799;letter-spacing:.06em;padding-inline:4px}
.map-layers{display:flex;gap:5px;padding:3px;border:1px solid #c5af6c30;border-radius:8px}
.map-layers button{min-height:38px;padding:7px 17px;border:0;border-radius:5px;background:transparent;color:#9daa9c;font:inherit;font-size:12px;cursor:pointer}
.map-layers button[aria-pressed=true]{background:#e9cc85;color:#243126;font-weight:600}
.map-tools{display:flex;align-items:center;gap:4px}
.map-tools button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;height:44px;padding:8px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:#c8d0b8;font:inherit;font-size:12px;cursor:pointer}
.map-tools button:hover{background:#e9c57414;border-color:#e9c57430;color:#f3d68e}
.map-tools button:disabled{opacity:.3;cursor:default}
.map-tools svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
#map-zoom{width:46px;font:12px/1.5 "Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums;text-align:center;color:#d8be7d}
.map-tools-divider{height:17px;border-inline-start:1px solid #a8b08d30;margin-inline:7px}
.map-viewport{height:clamp(360px,61vh,580px);position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at center,#263d2b,#0b1b14 75%);touch-action:none;cursor:grab;outline:none;user-select:none}
.map-viewport.is-dragging{cursor:grabbing}
.map-viewport #map-image{position:absolute;left:0;top:0;max-width:none!important;width:1024px;height:896px;margin:0!important;transform-origin:0 0;user-select:none;pointer-events:none;will-change:transform}
.map-viewport::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 35px #081b1460;border:1px solid #c1a65e18}
.map-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;color:#c9bd91;font-size:13px;z-index:2;background:#10231b}
.map-status button{min-height:44px;padding:8px 16px;border:1px solid #b59959;border-radius:6px;background:#ead08e;color:#263a2d;font:inherit;cursor:pointer}
.map-compass{position:absolute;right:20px;top:18px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;filter:drop-shadow(0 2px 3px #0008);color:#f2db9b;font:12px serif;z-index:2}
.map-compass svg{width:20px;height:30px;fill:#e9c879;stroke:#283b28;stroke-width:1.3}
.map-caption{position:absolute;left:20px;bottom:18px;display:flex;align-items:center;gap:10px;pointer-events:none;font-size:11px;color:#c2d0b7;z-index:2;background:#10251ed9;padding:8px 12px;border:1px solid #cfb36335;border-radius:5px}
.map-caption>span{font:17px "Noto Serif TC","SimSun",serif;letter-spacing:.14em;color:#ecd299}.map-caption i{height:14px;width:1px;background:#a99b6550}
.map-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 19px;background:#12261d;border-top:1px solid #c5ac6926}
.map-bottom p{margin:0;font-size:11px;color:#8ea18f;letter-spacing:.04em}
.map-bottom a{font-size:11px;color:#b4b994;text-decoration:none;white-space:nowrap}.map-bottom a:hover{color:#f4d593}.map-bottom a span{margin-inline-start:5px}
/* Native fullscreen is preferred; the fixed overlay provides the same view where unavailable. */
.region-map:fullscreen,.region-map.is-expanded{display:flex;flex-direction:column;max-width:none;margin:0;border-radius:0;width:100%;height:100%;background:#10231b}
.region-map.is-expanded{position:fixed;inset:0;z-index:100;width:100vw;height:100dvh}
.region-map:fullscreen #map-content,.region-map.is-expanded #map-content{display:flex;flex-direction:column;min-height:0;flex:1}
.region-map:fullscreen .map-viewport,.region-map.is-expanded .map-viewport{flex:1;min-height:0;height:auto}
body.map-expanded{overflow:hidden}
@media(max-width:1240px){.region-map{margin-inline:24px}}
@media(max-width:700px){.region-map{margin:0 14px 18px;border-radius:12px}.map-disclosure{padding:14px;gap:11px}.map-disclosure strong{font-size:17px}.map-disclosure small{display:none}.map-disclosure-action{gap:5px}.map-toolbar{padding:8px 10px;gap:8px;justify-content:center}.map-layers{margin-inline-end:auto}.map-layers button{min-height:44px;padding:7px 13px}.map-tools{flex-wrap:wrap;justify-content:center}.map-viewport{height:390px}.map-bottom{padding:12px;flex-wrap:wrap;gap:8px}.map-bottom p,.map-bottom a{font-size:10px}.map-compass{top:13px;right:12px}.map-caption{left:12px;bottom:12px}.map-disclosure>svg{width:24px;height:24px}}
@media(max-width:400px){.map-tools{width:100%;justify-content:space-between}.map-tools-divider{margin-inline:1px}}
@media(prefers-reduced-motion:reduce){.map-disclosure-action svg{transition:none}}
