/* Geographic shapes use Natural Earth. All markers represent broad public regions. */
.x-map-shortcuts{display:flex;flex-wrap:wrap;gap:12px 30px;margin:-25px 0 40px}
.x-map-shortcuts a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:.875rem}
.x-map-explorer{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);align-items:center;gap:clamp(24px,4vw,65px);max-width:1400px;margin:0 auto}
.x-map-stage{position:relative;min-width:0}
.x-map-explorer .x-map-hint{font-size:.875rem;color:#716a5f}
.x-map-canvas{position:relative;aspect-ratio:820/720;width:100%;margin-top:18px}
.x-japan-map{display:block;width:100%;height:100%;overflow:visible}
.x-map-land{fill:#dedad1}
.x-map-leader{fill:none;stroke:#827d72;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.x-map-dot{fill:var(--ink);cursor:pointer}
.x-map-ring{fill:var(--paper);stroke:var(--ink);stroke-width:1;opacity:0;vector-effect:non-scaling-stroke;pointer-events:none}
.x-map-point.is-selected .x-map-ring{opacity:1}
.x-map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:var(--paper);padding:6px 9px;min-width:44px;min-height:44px;font-size:clamp(.875rem,1.2vw,1rem);line-height:1.35;white-space:nowrap;font-weight:400}
.x-map-pin span{border-bottom:1px solid transparent;padding-bottom:4px}
.x-map-pin[aria-pressed=true] span{border-bottom-color:currentColor}
.x-map-pin:hover span{border-bottom-color:var(--line)}
.x-map-preview{width:100%;min-width:0;margin:0}
.x-map-image{display:block;width:100%;background:#e7e3da}
.x-map-image img{display:block;width:100%;height:auto;object-fit:contain}
.x-map-preview-copy{padding-top:24px}
.x-map-preview h3{font-size:clamp(30px,3.1vw,48px);line-height:1.3;margin:0}
.x-map-english{display:block;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin-top:10px}
.x-map-explorer .x-map-count{font-size:.875rem;color:#716a5f;margin-top:14px}
.x-map-view{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--ink);margin-top:16px;font-size:1rem}
@media(max-width:1000px){.x-map-explorer{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}.x-map-preview h3{font-size:32px}}
@media(max-width:700px){
 .x-map-shortcuts{margin:-18px 0 30px;gap:12px 24px}
 .x-map-explorer{grid-template-columns:1fr;gap:30px}
 .x-map-canvas{width:calc(100% + 32px);margin:14px -16px 0}
 .x-map-pin{font-size:.875rem;padding:6px;min-height:44px}
 .x-map-preview{display:block}
 .x-map-preview-copy{padding-top:22px}
 .x-map-preview h3{font-size:30px}
 .x-map-english{font-size:.75rem;letter-spacing:.08em;overflow-wrap:anywhere}
 .x-map-view{font-size:.875rem;margin-top:12px}
 .x-map-explorer .x-map-count{font-size:.875rem;margin-top:12px}
}
@media(max-width:360px){.x-map-preview h3{font-size:26px}.x-map-pin{padding:6px 4px}}
@media(prefers-reduced-motion:no-preference){.x-map-ring{transition:opacity .15s ease}}
