/* Old Testament map presentation layer. */
@media (min-width:900px) and (max-width:1199px){.ot-map-layout{grid-template-columns:minmax(0,2.1fr) minmax(245px,1fr)}.ot-map-viewport{min-height:0}}
.ot-map-page{--ot-ink:#5a3e2c;--ot-gold:#c9994d;--ot-paper:#fff8e8}.ot-map-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 14px}.ot-map-zoom,.ot-map-modes,.ot-map-language{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ot-map-modes{flex:1;justify-content:center}.ot-mode-button{min-height:44px;padding:8px 13px;border:1px solid #d5b37d;border-radius:999px;background:#fff8e8;color:var(--ot-ink);font-weight:800}.ot-mode-button.selected{background:#765079;color:#fff;border-color:#765079}.ot-map-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:16px;align-items:start}.ot-map-stage{min-width:0}.ot-map-viewport{position:relative;overflow:hidden;aspect-ratio:3 / 2;min-height:420px;border:5px solid #9e7248;border-radius:22px;background:#c9b07a;box-shadow:0 5px 0 #805b3a;touch-action:none}.ot-map-transform{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .25s ease}.ot-map-image{display:block;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}.ot-map-svg,.ot-map-hotspots{position:absolute;inset:0;width:100%;height:100%}.ot-map-svg{pointer-events:none;overflow:visible}.ot-map-marker{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;grid-template-columns:30px auto;grid-template-rows:auto auto;align-items:center;column-gap:6px;min-width:48px;min-height:48px;padding:4px 8px;border:2px solid #9c713e;border-radius:14px;background:#fff7e7e8;color:#573b29;box-shadow:0 3px 0 #805b3a;cursor:pointer;text-align:left;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ot-map-marker:hover,.ot-map-marker:focus-visible,.ot-map-marker.selected{z-index:9;outline:3px solid #f4d78c;outline-offset:2px;transform:translate(-50%,-50%) scale(1.08);background:#fffdf4;box-shadow:0 4px 0 #765079}.ot-marker-index{display:grid;place-items:center;grid-row:1 / span 2;width:28px;height:28px;border-radius:50%;background:#d6a250;color:#fff;font-size:12px}.ot-marker-glyph{display:none}.ot-marker-label{white-space:nowrap;font-size:14px;line-height:1.2}.ot-map-marker-symbolic .ot-marker-index{background:#b68c57}.ot-map-marker-journey .ot-marker-index{background:#a97a4a}.ot-map-marker-region .ot-marker-index{background:#668675}.ot-map-marker-political-region .ot-marker-index{background:#8b657d}.ot-region-highlight{fill:#d9a54855;stroke:#bd843d;stroke-width:.45;stroke-dasharray:1 1}.ot-region-north{fill:#789f8a66;stroke:#527c68}.ot-region-south{fill:#b9846b55;stroke:#8a5c4b}.ot-journey-route{fill:none;stroke:#9f6d3c;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #fff8)}.ot-journey-route.route-approximate{stroke-dasharray:2.5 2;stroke:#9c6d47}.ot-map-preview,.ot-map-empty-preview{border:2px solid #bd9255;border-radius:18px;background:#fff9ed;box-shadow:0 4px 0 #805b3a;padding:18px;color:var(--ot-ink)}.ot-map-preview{position:relative}.ot-preview-head{display:flex;justify-content:space-between;gap:10px}.ot-preview-head small{color:#92704d;font-weight:800}.ot-preview-head h2{margin:5px 0 8px;font-size:27px}.ot-map-preview>p{line-height:1.6}.ot-close-preview{width:44px;height:44px;border:1px solid #d5b37d;border-radius:50%;background:#fff8e8;color:#5a3e2c;font-size:24px}.ot-map-disclaimer{padding:10px;border-radius:10px;background:#f7ecd8;color:#765079;font-size:13px;line-height:1.5}.ot-route-note{display:block;color:#8d6747;margin:8px 0}.ot-preview-people{display:grid;gap:7px;margin:12px 0}.ot-preview-people .person-chip{min-height:58px;padding:7px}.ot-preview-people .person-chip small{display:none}.ot-preview-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ot-map-empty-preview h2{margin-top:0}.ot-map-empty-preview p{line-height:1.6}.ot-start-journey{min-height:48px;padding:10px 15px;border:0;border-radius:12px;background:#765079;color:#fff;font-weight:800}.ot-map-mobile-actions{display:none}.ot-map-help{text-align:center;color:#896d55;font-size:13px}.ot-map-info{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#f7ecd8;color:#896d55;font-size:13px;line-height:1.5}.ot-calibration-link{border:0;background:transparent;color:#765079;text-decoration:underline}.ot-calibration-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:18px}.ot-calibration-canvas{position:relative;aspect-ratio:3/2;overflow:hidden;border:4px solid #9e7248;border-radius:18px;background:#c9b07a}.ot-calibration-canvas img{display:block;width:100%;height:100%;object-fit:cover}.ot-calibration-anchors{position:absolute;inset:0}.ot-cal-anchor{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border:2px solid #fff;border-radius:50%;background:#765079;color:#fff;font-weight:900;cursor:pointer}.ot-cal-anchor.selected{background:#d79c34;outline:3px solid #fff}.ot-cal-help{color:#896d55}.ot-cal-panel{padding:16px;border:1px solid #ddc294;border-radius:16px;background:#fff9ed}.ot-cal-panel h2{margin-top:0}.ot-cal-list{display:grid;gap:5px;max-height:310px;overflow:auto;margin-bottom:12px}.ot-cal-row{display:flex;justify-content:space-between;gap:8px;padding:9px;border:1px solid #ddc294;border-radius:9px;background:#fffdf5;text-align:left}.ot-cal-row small{color:#896d55}.ot-cal-panel label{display:block;margin:10px 0;color:#896d55}.ot-cal-panel input{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:9px;border:1px solid #d5b37d;border-radius:8px;background:#fff}.ot-cal-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ot-cal-panel pre{max-height:230px;overflow:auto;white-space:pre-wrap;font-size:11px;background:#f7ecd8;padding:8px;border-radius:8px}@media(max-width:1199px){.ot-map-layout{grid-template-columns:1fr}.ot-map-preview,.ot-map-empty-preview{margin-top:2px}.ot-map-viewport{min-height:0}.ot-map-info{margin-bottom:18px}}@media(max-width:767px){.ot-map-toolbar{display:grid;grid-template-columns:1fr;gap:8px}.ot-map-zoom,.ot-map-modes,.ot-map-language{justify-content:flex-start}.ot-map-layout{display:block}.ot-map-viewport{min-height:0;border-width:3px;border-radius:16px}.ot-map-marker{min-width:44px;min-height:44px;width:44px;height:44px;padding:3px;border-radius:50%;display:grid;place-items:center;grid-template-columns:1fr;grid-template-rows:1fr}.ot-marker-index{width:27px;height:27px;font-size:11px}.ot-marker-label{display:none}.ot-map-marker.selected{width:auto;min-width:44px;border-radius:14px;display:flex;padding:4px 9px;gap:6px}.ot-map-marker.selected .ot-marker-label{display:block;font-size:12px}.ot-map-marker.selected .ot-marker-index{display:none}.ot-map-marker.selected .ot-marker-glyph{display:inline}.ot-map-mobile-actions{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.ot-map-preview,.ot-map-empty-preview{margin:10px 0 0;padding:14px;border-radius:16px}.ot-preview-head h2{font-size:22px}.ot-preview-people{grid-template-columns:1fr}.ot-preview-people .person-chip{min-height:54px}.ot-map-info{display:block}.ot-map-info .ot-calibration-link{display:block;margin-top:8px}.ot-calibration-layout{grid-template-columns:1fr}.ot-calibration-canvas{border-width:3px}.ot-cal-panel{padding:12px}.ot-cal-list{max-height:220px}}
/* Keep shared anchors clickable and readable when two eras use the same geography. */
.ot-map-marker{transform:translate(calc(-50% + var(--ot-dx, 0px)),calc(-50% + var(--ot-dy, 0px)))}
.ot-map-marker:hover,.ot-map-marker:focus-visible,.ot-map-marker.selected{transform:translate(calc(-50% + var(--ot-dx, 0px)),calc(-50% + var(--ot-dy, 0px))) scale(1.08)}
@media(max-width:767px){.ot-map-marker:hover,.ot-map-marker:focus-visible,.ot-map-marker.selected{transform:translate(calc(-50% + var(--ot-dx, 0px)),calc(-50% + var(--ot-dy, 0px))) scale(1.08)}}

/* Linked map + Era Index: readable labels live outside the geography. */
.ot-linked-layout{position:relative;display:grid;grid-template-columns:minmax(0,2.15fr) minmax(280px,1fr);gap:16px;align-items:start}.ot-linked-layout>.ot-map-selection-area{grid-column:1 / -1}.ot-map-stage{position:relative;z-index:1}.ot-era-index{position:relative;z-index:2;max-height:calc(100vh - 230px);min-height:420px;overflow:hidden;border:2px solid #bd9255;border-radius:18px;background:#fff9ed;box-shadow:0 4px 0 #805b3a;color:var(--ot-ink)}.ot-era-index-heading{padding:15px 16px 10px;border-bottom:1px solid #e4c98f}.ot-era-index-heading h2{margin:0;font-size:21px}.ot-era-index-heading p{margin:5px 0 0;color:#896d55;font-size:13px;line-height:1.45}.ot-era-index-list{display:grid;gap:6px;max-height:calc(100vh - 350px);overflow:auto;padding:10px}.ot-era-index-row{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:9px;align-items:start;width:100%;padding:9px;border:1px solid #ddc294;border-radius:12px;background:#fffdf5;color:var(--ot-ink);text-align:left;cursor:pointer;transition:opacity .28s ease,background .28s ease,border-color .28s ease,transform .28s ease}.ot-era-index-row:hover,.ot-era-index-row:focus-visible,.ot-era-index-row.is-hover-linked{border-color:#b98238;background:#fff5dc}.ot-era-index-row.selected{border:2px solid #b98238;background:#fff1ce;box-shadow:0 2px 0 #d5ae6f;transform:translateX(-2px)}.ot-era-index-row.is-dimmed{opacity:.38}.ot-era-number{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b98238;border-radius:50%;background:#fff5df;color:#8c5d28;font-weight:900;font-variant-numeric:tabular-nums}.ot-era-index-row.selected .ot-era-number{background:#c99545;color:#fff;border-color:#82562d}.ot-era-copy{min-width:0}.ot-era-copy strong{display:block;font-size:15px;line-height:1.25}.ot-era-copy small{display:block;margin-top:3px;color:#856c55;font-size:12px;line-height:1.35}.ot-era-copy em{display:block;margin-top:4px;color:#9b754b;font-size:11px;font-style:normal;line-height:1.3}.ot-era-selected-mark{color:#8a5a2a;font-weight:900;padding-top:8px}.ot-selection-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ot-map-marker{grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;width:50px;min-width:50px;height:50px;min-height:50px;padding:0;border-radius:50%;text-align:center}.ot-marker-index{grid-row:auto;width:34px;height:34px;border:0;background:transparent!important;color:#6a4429;font-size:15px;font-weight:900}.ot-map-marker.selected .ot-marker-index{display:none}.ot-marker-glyph,.ot-marker-label{display:none!important}.ot-marker-selected-label{display:none}.ot-map-marker.selected{width:auto;min-width:54px;height:50px;padding:4px 11px;border-radius:16px;display:flex;gap:6px;background:#c99343;border-color:#734722;color:#fff}.ot-map-marker.selected:before{content:attr(data-era-id);font-size:11px;font-weight:900;letter-spacing:.03em}.ot-map-marker.selected .ot-marker-selected-label{display:block;max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}.ot-map-marker.is-dimmed{opacity:.34}.ot-map-marker.is-hover-linked{opacity:1;outline:3px solid #f4d78c;outline-offset:2px}.ot-ui-connector{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible}.ot-ui-connector path{fill:none;stroke:#c99a4c;stroke-width:2.25;stroke-linecap:round;filter:drop-shadow(0 1px 1px #fff8);stroke-dasharray:360;stroke-dashoffset:360;opacity:0;transition:opacity .2s ease}.ot-ui-connector.is-visible path{opacity:1;animation:ot-connector-draw .38s ease-out forwards}.ot-ui-connector.is-reduced-motion path{animation:none;stroke-dashoffset:0}.ot-map-selection-area{position:relative;z-index:2;margin-top:2px}.ot-map-selection-area .ot-map-preview,.ot-map-selection-area .ot-map-empty-preview{max-width:780px;margin:0 auto}.ot-map-selection-area .ot-preview-people{grid-template-columns:repeat(2,minmax(0,1fr))}@keyframes ot-connector-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.ot-era-index-row,.ot-map-marker,.ot-ui-connector path{transition:none!important;animation:none!important}}
@media(max-width:1199px){.ot-linked-layout{grid-template-columns:1fr}.ot-linked-layout>.ot-map-selection-area{grid-column:auto}.ot-era-index{max-height:none;min-height:0}.ot-era-index-list{max-height:420px}.ot-ui-connector{display:none}}
@media(min-width:900px) and (max-width:1199px){.ot-linked-layout{grid-template-columns:minmax(0,2.1fr) minmax(245px,1fr)}.ot-linked-layout>.ot-map-selection-area{grid-column:1 / -1}.ot-era-index{min-height:0;max-height:550px}.ot-era-index-list{max-height:450px}.ot-ui-connector{display:block}}
@media(max-width:899px){.ot-map-stage{order:1}.ot-map-selection-area{order:2}.ot-era-index{order:3}.ot-ui-connector{order:4}}
@media(max-width:767px){.ot-era-index{border-radius:16px}.ot-era-index-heading{padding:13px}.ot-era-index-heading h2{font-size:19px}.ot-era-index-list{max-height:none;padding:8px}.ot-era-index-row{grid-template-columns:34px minmax(0,1fr) 18px;padding:8px}.ot-era-index-row.is-dimmed{opacity:.4}.ot-era-number{width:30px;height:30px;font-size:12px}.ot-era-copy strong{font-size:14px}.ot-era-copy small,.ot-era-copy em{display:none}.ot-era-index-row.selected .ot-era-copy small,.ot-era-index-row.selected .ot-era-copy em{display:block}.ot-map-selection-area .ot-preview-people{grid-template-columns:1fr}.ot-ui-connector{display:block}.ot-map-marker{width:44px;min-width:44px;height:44px;min-height:44px}.ot-map-marker.selected{min-width:48px;height:44px}.ot-map-marker.selected .ot-marker-selected-label{max-width:92px;font-size:11px}.ot-map-marker.selected:before{font-size:10px}}
.ot-map-marker.selected:before{content:attr(data-era-number)}

/* The connector may cross the map, but the index and summary always paint above it. */
.ot-map-stage{z-index:2}.ot-ui-connector{z-index:3}.ot-era-index,.ot-map-selection-area{z-index:4}
.ot-era-explore{color:#765079!important;font-weight:900!important}

/* Selection is communicated by matching highlight states, without a decorative line. */
.ot-ui-connector{display:none!important}

/* Bible World is currently Traditional Chinese only; keep translation controls out of the map UI. */
.ot-map-language{display:none!important}
