.life-map-section{margin:50px 0;padding:36px 0;border-top:1px solid #d3d6ca;color:#273d31;clear:both}
.life-map-section>p{max-width:780px}.life-map-section h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 16px}.life-map-section h3{font-size:1.35rem;margin:24px 0 16px}
.life-map-intro,.life-map-credit{font-size:.9rem;line-height:1.65;color:#596459}.life-map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:24px;align-items:start;margin:22px 0}
.life-map-graphic{position:relative;border:1px solid #b4c3ba;background:#dce8e7;border-radius:8px;overflow:hidden}.life-map-graphic svg{display:block;width:100%;height:400px;touch-action:pan-y}
.life-map-controls{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}.life-map-controls[hidden]{display:none}.life-map-controls button{font:600 .9rem Arial,sans-serif;min-width:44px;min-height:44px;border:1px solid #a5b0a4;border-radius:4px;background:#fffdf5;color:#273d31;cursor:pointer;padding:8px 12px;box-shadow:0 2px 6px #17352915}.life-map-controls button:disabled{opacity:.5;cursor:default}
.life-map-land{pointer-events:none}.life-map-pin circle{fill:#536b52;stroke:#fffdf4;stroke-width:2}.life-map-pin[data-birth=true] circle{fill:#976436}.life-map-pin text{fill:white;font:700 13px Arial,sans-serif;text-anchor:middle;dominant-baseline:central}.life-map-pin.is-active circle{stroke:#233e2c;stroke-width:4;fill:#c29450}.life-map-pin{cursor:pointer}.life-map-place-label{fill:#233e2c;font-family:Arial,sans-serif;font-weight:600;paint-order:stroke;stroke:#f6f7ed;stroke-width:4;stroke-linejoin:round;text-anchor:middle}.life-map-country{fill:#61766d;font-family:Arial,sans-serif;letter-spacing:.07em;text-anchor:middle;opacity:.8}
.life-map-records{list-style:none;margin:0;padding:0;max-height:400px;overflow:auto;scrollbar-width:thin}.life-map-records li{border-bottom:1px solid #d3d6ca;padding:12px 12px 16px;margin:0}.life-map-records li.is-active{background:#eee8d7;border-left:3px solid #987749;padding-left:9px}.life-map-records button{border:0;background:transparent;padding:4px 0;min-height:44px;color:#2d4b38;text-align:left;width:100%;font:inherit;cursor:pointer;line-height:1.5}.life-map-date{display:block;font:700 .78rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#735a38}.life-map-records strong{font-size:1.02rem}.life-map-records p{font-size:.9rem;line-height:1.6;margin:5px 0}.life-map-records a{font-size:.85rem;text-underline-offset:3px}.life-map-records .life-map-place{font-weight:600}.life-map-status{margin:12px 0 0;padding:14px 16px;border:1px solid #d3d6ca;border-radius:4px;background:#fbf8ef;font-size:.92rem;line-height:1.6;min-height:55px}.life-map-section :focus-visible{outline:3px solid #936e39;outline-offset:3px}.life-map-credit{margin:10px 0}.life-map-empty{padding:24px;border:1px solid #d3d6ca;background:#f5f0e5}
@media(max-width:750px){.life-map-layout{grid-template-columns:1fr;gap:16px}.life-map-graphic svg{height:310px}.life-map-records{max-height:330px}.life-map-section{margin:30px 0;padding:28px 0}}
@media print{.life-map-controls{display:none!important}.life-map-layout{display:block}.life-map-graphic svg{height:280px}.life-map-records{max-height:none;overflow:visible;columns:2}.life-map-records li{break-inside:avoid}.life-map-section{break-before:auto}.life-map-status{display:none}}
.life-map-place-label{vector-effect:non-scaling-stroke}.life-map-connector{stroke:#526e60;stroke-width:1.5;pointer-events:none}.life-map-records button:disabled{cursor:default;color:inherit}
.life-map-section{scroll-margin-top:80px}
.life-map-section{box-sizing:border-box;width:100%;max-width:100%;margin-left:auto;margin-right:auto}
.life-map-section.life-map-contained{width:min(1100px,calc(100% - 32px))}
.life-map-layout>div{min-width:0}
.life-map-graphic svg.is-interactive{cursor:grab;user-select:none}.life-map-graphic svg.is-dragging,.life-map-graphic svg.is-dragging .life-map-pin{cursor:grabbing}
@media(max-width:750px){.life-map-section{scroll-margin-top:120px}}
