.hm-page{background:#eeeade}.hm-mn{writing-mode:vertical-lr;text-orientation:mixed;font-family:var(--mn);flex:0 0 auto;min-width:1.7em}.hm-header{padding:18px 24px;gap:24px;align-items:flex-start}.hm-header h1{font-size:30px;font-weight:400;height:150px;line-height:1.5;margin:0}.hm-header p{font-size:20px;height:150px;line-height:1.8;margin:0;color:#d4d9cc}.hm-header a{font:30px/1 sans-serif;color:#f2d292;text-decoration:none;display:grid;place-items:center;width:48px;height:48px;border:1px solid #768c8b;border-radius:4px;flex:0 0 auto}.hm-main{max-width:1500px;margin:auto;padding:20px}.hm-main>[role=status]{height:160px}.hm-timeline{padding:14px;background:#f7f2e4;border:1px solid #c6bc9f;border-radius:8px;margin-bottom:18px}.hm-periods{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px}.hm-period{display:flex;gap:9px;align-items:flex-start;min-width:110px;padding:12px;background:#f1ead7;border-color:#bcb492;flex:0 0 auto}.hm-period .hm-mn{height:100px;font-size:21px;line-height:1.5}.hm-period .hm-date-label{font:16px/1.4 Arial,sans-serif;max-width:82px}.hm-period[aria-pressed=true]{background:#204b4d;color:#f7edcc;border-color:#204b4d}.hm-range{display:flex;align-items:center;gap:14px;padding-top:8px}.hm-range label{height:45px;font-size:18px}.hm-range input{flex:1;min-width:100px;accent-color:#245657}.hm-range output{font:18px/1.4 Arial,sans-serif;max-width:170px}.hm-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:20px}.hm-map-section{min-width:0}.hm-map-scroll{overflow:auto;border:1px solid #b1b9a7;border-radius:8px;background:#e2e6d2;scrollbar-width:thin}.hm-map-canvas{position:relative;width:100%;min-width:0;aspect-ratio:1000/682}.hm-map-canvas>svg{display:block;width:100%;height:100%;pointer-events:none}.hm-grid{stroke:#bac4b0;stroke-width:1}.hm-coordinate{font:14px Arial,sans-serif;fill:#61756e}.hm-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;padding:0;border:1px solid #728b77;border-radius:50%;background:#f8f0dbe8;color:#214c48;font:18px/1 Arial,sans-serif;display:grid;place-items:center}.hm-marker.approximate{border:2px dashed #587e73}.hm-marker[aria-pressed=true]{background:#214c48;color:#f5e4bd;box-shadow:0 0 0 5px #214c4830}.hm-places{display:flex;gap:8px;overflow-x:auto;padding:12px 0}.hm-place-button{display:flex;gap:8px;align-items:flex-start;flex:0 0 auto;min-width:60px;padding:12px;background:#f7f0dc}.hm-place-button .hm-mn{height:135px;font-size:21px;line-height:1.7}.hm-place-button>span:first-child{font:17px Arial,sans-serif}.hm-place-button[aria-pressed=true]{border:2px solid #265855;background:#d9e2ca}.hm-notes{display:flex;gap:20px;overflow-x:auto}.hm-notes p{height:150px;font-size:18px;line-height:1.8;margin:0}.hm-detail{background:#f8f3e5;padding:20px;border:1px solid #c7b992;border-radius:8px;min-width:0}.hm-detail-head{display:flex;gap:16px;margin-bottom:18px;overflow:auto}.hm-detail-head h2{height:170px;margin:0;font-size:28px;line-height:1.5;font-weight:400}.hm-detail-head p{height:170px;margin:0;font-size:19px;line-height:1.8;color:#7d6b46}.hm-people{display:flex;gap:12px;overflow-x:auto;margin-bottom:18px}.hm-people span{height:130px;font-size:21px}.hm-article{display:flex;align-items:flex-start;gap:16px;color:inherit;text-decoration:none;padding:15px 10px;border-top:1px solid #d4c8a7;overflow-x:auto}.hm-article strong{height:190px;font-size:23px;line-height:1.6;font-weight:400}.hm-article p{height:190px;font-size:20px;line-height:1.85;margin:0}.hm-article:hover{background:#e7dfc7}.hm-sources{display:flex;gap:12px;overflow:auto;border-top:1px solid #cabd9c;padding-top:15px}.hm-sources a{height:130px;color:#72572e;font-size:18px;line-height:1.7}.hm-main footer{height:140px;margin-top:25px;font-size:18px;line-height:1.8;color:#697971}.hm-num{display:inline-block;writing-mode:horizontal-tb;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font: .8em/1.2 Arial,sans-serif}@media(max-width:900px){.hm-layout{grid-template-columns:1fr}.hm-header{padding:15px;gap:18px}.hm-main{padding:12px}.hm-header h1,.hm-header p{height:135px}.hm-detail{padding:16px}.hm-map-canvas{min-width:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.hm-period .hm-date-label{writing-mode:vertical-lr;text-orientation:mixed;font-family:var(--mn);height:100px;line-height:1.5}.hm-period .hm-date-label .hm-num{font-size:1em}.hm-range output{writing-mode:vertical-lr;text-orientation:mixed;font-family:var(--mn);height:90px;line-height:1.6;flex:0 0 auto}

.hm-page .hm-main{display:block;height:auto;min-width:0}.hm-main>#hm-status:empty{display:none}.hm-period-people{display:flex;gap:20px;align-items:flex-start;border-top:1px solid #d2c8ae;margin-top:10px;padding-top:12px;overflow-x:auto}.hm-period-people>span{height:100px;font-size:18px;color:#727b65}.hm-period-people .hm-people{margin:0}.hm-period-people .hm-people span{height:100px}
/* Real geography fills the initial viewport; zoom is optional, never forced. */
.hm-layout{display:block}.hm-map-section{width:100%}.hm-map-canvas{min-width:0!important;width:100%;max-width:none;aspect-ratio:1000/682}.hm-map-scroll{max-height:none;background:#e7e5cc;overflow:auto}.hm-map-scroll.is-zoomed{max-height:65vh}.hm-marker,.hm-marker.approximate,.hm-marker[aria-pressed=true]{background:transparent;border:0;box-shadow:none;color:transparent;width:44px;height:44px}.hm-marker:focus-visible{outline:3px solid #9c5935;outline-offset:0;background:#fff5c72b}.hm-map-tools{display:flex;align-items:center;gap:8px;margin-bottom:8px}.hm-map-tools button{font:24px/1 Arial,sans-serif;width:44px;height:44px;min-width:44px;background:#f8f1df}.hm-map-tools a{height:55px;font-size:16px;line-height:1.6;color:#6d6c50;margin-left:auto}.hm-header h1{height:100px;font-size:26px}.hm-header{padding:12px 18px}.hm-timeline{padding:10px;margin-bottom:12px}.hm-period{min-width:100px;padding:8px}.hm-period .hm-mn,.hm-period .hm-date-label{height:85px;font-size:18px}.hm-range output{height:65px;font-size:17px}.hm-range{padding-top:4px}.hm-context{margin:8px 0 18px}.hm-context .hm-period-people{padding:10px 14px;background:#e6e6d6;border:1px solid #c7c8b1;border-radius:6px}.hm-context .hm-period-people>span,.hm-context .hm-people span{height:85px}.hm-detail{margin-top:16px}.hm-places{padding:10px 0}.hm-place-button .hm-mn{height:110px;font-size:20px}.hm-notes p{height:100px;font-size:17px}.hm-header p{height:100px}@media(min-width:1000px){.hm-articles{display:flex;overflow-x:auto}.hm-article{flex:0 0 360px}.hm-map-canvas{max-height:none}.hm-map-section{max-width:1100px;margin:0 auto}.hm-context,.hm-detail{max-width:1100px;margin-left:auto;margin-right:auto}}@media(max-width:600px){.hm-main{padding:10px}.hm-header{padding:10px 14px}.hm-header h1{height:85px;font-size:24px}.hm-map-tools a{height:50px;font-size:14px}.hm-period .hm-mn,.hm-period .hm-date-label{height:80px;font-size:17px}.hm-period{min-width:92px;padding:7px}.hm-timeline{padding:8px}.hm-range output{height:60px}.hm-context{margin-top:6px}}

#hm-zoom-level{font:16px/1.4 Arial,sans-serif;color:#566d64}

/* Names stay readable at the fitted mobile scale; outlines retain whole-word shaping. */
.hm-map-label{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:3px 7px 3px;border:1.5px solid var(--place-color);border-radius:6px;background:#fff9ecef;color:var(--place-color);min-width:44px;min-height:44px;box-shadow:0 1px 3px #24382924;cursor:pointer;line-height:1}
.hm-map-label svg{flex:0 0 auto;display:block;pointer-events:none;max-width:none}
.hm-map-label-number{font:14px/16px Arial,sans-serif;color:var(--place-color)}
.hm-map-label[aria-pressed=true]{background:#fff3cb;border-width:3px;padding:1.5px 5.5px 1.5px;box-shadow:0 0 0 2px #fff9e9}
.hm-map-label:focus-visible{outline:3px solid #152d3c;outline-offset:3px}
.hm-place-description{display:flex;gap:18px;overflow-x:auto;border-top:1px solid #d4c8a7;padding:14px 0;margin-bottom:12px}
.hm-place-description[hidden]{display:none}
.hm-place-description p{height:210px;font-size:20px;line-height:1.8;margin:0;flex:0 0 auto}

.hm-stage-note{height:110px;font-size:18px;line-height:1.7;margin:8px 0 0;padding:8px;border-top:1px solid #d2c8ae;max-width:100%;overflow:auto}
.hm-stage-note[hidden]{display:none}
