@font-face{font-family:'Histlas Display Serif';src:url('fonts/dm-serif-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{font-family:Arial,Helvetica,sans-serif;color:#23364b;background:#162c40;font-size:16px;--navy:#162c40;--ink:#243e57;--gold:#c09242;--red:#b45147}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{transition:background .15s}a{color:#345d84;text-underline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.atlas{height:100dvh;min-height:700px;display:flex;flex-direction:column}.masthead{height:80px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:#f3f6f8;background:var(--navy)}.brand{display:flex;align-items:center;gap:14px}.brand>svg{color:#ddb778}.brand h1{font-family:'Histlas Display Serif',Georgia,'Times New Roman',serif;font-weight:400;font-size:44px;letter-spacing:-.015em;line-height:1;color:#ddb778;margin:0}.brand h1 span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em;color:#b9c9d4;margin-top:4px}.header-meta{display:flex;align-items:center;gap:28px}.region{font-size:12px;font-weight:600;letter-spacing:.12em}.region span{color:#9fb3c3;margin-left:10px;letter-spacing:.03em}.private-label{font-size:13px;color:#b9c9d4;display:flex;align-items:center;gap:8px}.private-label:before{content:'';width:9px;height:10px;border:1px solid #9fb3c3;border-radius:2px;box-shadow:0 -4px 0 -2px var(--navy),0 -5px 0 -2px #9fb3c3}.info-button{width:38px;height:38px;border:1px solid #426078;border-radius:50%;background:transparent;color:#e7eef3;font-family:Georgia,serif;font-size:22px}.info-button:hover{background:#28465e}.workspace{display:grid;grid-template-columns:326px minmax(0,1fr);flex:1;min-height:0}.map-section{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.map-toolbar{min-height:60px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;gap:12px;border-bottom:1px solid #c7d4dc;flex-shrink:0}.layer-controls{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:0;margin:0;border:0}.layer-controls label{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;min-height:36px;cursor:pointer;white-space:nowrap}.layer-controls input{width:18px;height:18px;margin:0;accent-color:#243e57;cursor:pointer}.key{font-size:16px;line-height:1}.key.city{color:#243e57;font-size:13px}.key.landmark{color:#a26d1d}.key.war,.key.battle{color:#b45147}.map-reset{display:flex;align-items:center;gap:7px;background:transparent;border:0;padding:7px;color:#52697c;font-size:14px;white-space:nowrap;min-height:40px}.map-reset>span:first-child{font-size:25px}.map-reset:hover{background:#edf1f3}.map-shell{position:relative;flex:1;min-height:280px;isolation:isolate;overflow:hidden;background:#dceaf1}#map{height:100%;width:100%;position:absolute;inset:0;background:#dceaf1;font-family:Arial,sans-serif;z-index:0}.map-date{position:absolute;top:20px;left:26px;z-index:2;pointer-events:none;display:flex;flex-direction:column;color:var(--ink)}.map-date span{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.map-date strong{font-family:Georgia,serif;font-weight:400;font-size:54px;line-height:1.15}.map-legend{position:absolute;left:16px;bottom:12px;z-index:2;padding:7px 11px;background:#ffffffee;border-radius:4px;display:flex;align-items:center;gap:7px;font-size:12px;color:#4b6070;max-width:calc(100% - 118px);pointer-events:none}.population-symbol{width:12px;height:12px;display:inline-block;border-radius:50%;background:#243e57;opacity:.75;flex-shrink:0}.context-panel{background:var(--navy);color:#eff4f7;overflow:auto;padding:26px 24px;scrollbar-width:thin;scrollbar-color:#587085 var(--navy)}.eyebrow{font-size:12px;letter-spacing:.13em;color:#adbfce;font-weight:600}.context-title h2{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.25;margin:9px 0 8px}.context-title p{font-size:14px;color:#adbfce;margin:0}.war-section,.battle-section,.cities-section{margin-top:26px}.context-panel h3{font-size:14px;font-weight:500;margin:0;display:flex;justify-content:space-between;color:#bacad6}.context-panel h3 span{font-size:12px}.war-card{border:1px solid #5d5c58;border-left:3px solid #d39a68;padding:16px 15px 14px;background:#26394a;display:flex;flex-direction:column;width:100%;text-align:left;margin-top:12px;border-radius:3px;color:#fff}.war-card:hover{background:#344b5e}.war-period{font-size:12px;color:#ddb984;letter-spacing:.02em}.war-card strong{font-size:23px;font-family:Georgia,serif;font-weight:400;margin:7px 0 13px}.war-note{font-size:13px;color:#bdccd8}.quiet-note{color:#bccbd6;font-size:14px;line-height:1.6;margin:12px 0}.event-row{display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #31495d;width:100%;background:none;text-align:left;color:inherit;padding:14px 0;min-height:48px}.event-row:hover,.city-row:hover{background:#213b50}.event-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#d79382}.event-row strong{display:block;font-size:14px;font-weight:500}.event-row small{display:block;color:#9fb4c3;font-size:12px;margin-top:5px}.city-row{display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid #31495d;width:100%;background:none;color:inherit;text-align:left;padding:12px 0;gap:12px}.city-row>span{font-size:14px}.city-row small{display:block;font-size:12px;color:#9fb4c3;margin-top:4px}.city-row strong{font-size:14px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}.data-note{font-size:12px;line-height:1.6;color:#9fb4c3;margin-bottom:0}.timeline{background:#fff;padding:19px 32px 16px;flex-shrink:0;z-index:3;border-top:1px solid #d5dee4}.timeline-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.year-control{position:relative}.year-control>label{font-size:11px;letter-spacing:.1em;color:#617080;font-weight:600;display:block;margin-bottom:4px}.year-control>div{display:flex;align-items:center;gap:13px}.year-control input{font-family:Georgia,serif;font-size:34px;font-weight:400;color:#243e57;border:0;border-bottom:1px solid #c3d0da;width:112px;padding:0 1px 2px;background:#fff;border-radius:0;appearance:textfield;height:44px}.year-control input::-webkit-outer-spin-button,.year-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.year-control select{font-size:14px;min-width:135px;max-width:160px;border:0;background:#fff;height:44px;padding:8px}#year-error{position:absolute;top:100%;left:0;color:#a73932;font-size:12px;background:#fff;padding:3px;z-index:5;white-space:nowrap;margin:0}.playback{display:flex;align-items:center;gap:7px}.round-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #d6dfe5;background:#fff;color:#243e57;border-radius:50%;font-size:29px;font-family:Arial,sans-serif;font-weight:300;line-height:1}.round-button:hover{background:#eaf0f3}#reset-time{font-size:24px}.play-button{height:44px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:0;background:#243e57;color:#fff;border-radius:24px;font-size:14px;min-width:120px}.play-button:hover{background:#365c7c}#play-icon{font-size:15px}#speed{margin-left:9px;font-size:14px;min-width:119px;height:44px;border:1px solid #d5dee4;background:#fff;border-radius:4px;padding:6px 8px;color:#23364b}.time-status{display:flex;flex-direction:column;text-align:right;gap:5px}.time-status>span{color:#617080;font-size:11px;letter-spacing:.1em}.time-status strong{font-size:14px;letter-spacing:.08em;font-weight:500}.year-slider{position:relative;margin:10px 6px 0;padding-bottom:42px}#year-slider{appearance:none;-webkit-appearance:none;width:100%;margin:0;display:block;background:transparent;cursor:ew-resize;height:32px;--progress:92.05%;touch-action:pan-y}#year-slider::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#bb9359 0 var(--progress),#dbe3e8 var(--progress) 100%);border-radius:2px}#year-slider::-moz-range-track{height:3px;background:#dbe3e8}#year-slider::-moz-range-progress{height:3px;background:#bb9359}#year-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:20px;width:20px;background:#243e57;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #243e57;margin-top:-8px}#year-slider::-moz-range-thumb{height:13px;width:13px;background:#243e57;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #243e57}.timeline-ticks{position:relative;margin-top:2px;z-index:2;pointer-events:none}.timeline-ticks button{position:absolute;padding:0;background:transparent;border:0;font-size:12px;color:#6e7d89;transform:translateX(-50%);min-height:24px;pointer-events:auto}.timeline-ticks button:first-child{transform:none}.timeline-ticks button:last-child{transform:translateX(-100%)}.war-marks{position:absolute;top:38px;left:0;right:0;height:30px;pointer-events:none}.war-marks button{position:absolute;background:transparent;border:0;padding:3px 0;min-width:10px;height:14px;pointer-events:auto}.war-marks span{display:block;background:#b45147;opacity:.75;height:3px;min-width:5px}.war-marks button:hover span{height:5px;opacity:1}.timeline-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e4eaee;padding-top:9px}.timeline-bottom>span{font-size:11px;letter-spacing:.08em;font-weight:600;color:#617080;white-space:nowrap}.presets{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.presets button{font-size:14px;display:flex;gap:7px;padding:5px 8px;min-height:36px;border:0;background:transparent;border-radius:3px;color:#334a60}.presets button span{color:#607281}.presets button:hover,.presets button.active{background:#eaf0f3}.timeline-bottom .resolution{font-size:12px;letter-spacing:0;font-weight:400}.map-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#dceaf1;z-index:1;font-size:14px}.map-status button{border:1px solid #243e57;padding:10px 16px;border-radius:5px;background:#fff}.empty-map{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:min(360px,85%);padding:24px;background:#fffffff0;border:1px solid #c2d1db;border-radius:6px;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.empty-map span{font-size:14px;line-height:1.5;color:#617080}.country-label{color:#829d9f;font-size:11px;font-weight:600;letter-spacing:.14em;text-align:center;pointer-events:none;white-space:nowrap}.city-label.leaflet-tooltip{box-shadow:none;background:#ffffffda;border:0;border-radius:3px;color:#243e57;padding:3px 6px;font-size:12px;line-height:1.25;pointer-events:none}.city-label.leaflet-tooltip:before{display:none}.city-label strong{display:block;font-weight:600}.city-label span{display:block;font-size:11px;color:#607381;margin-top:3px}.object-marker{background:#fff;border:1px solid #b17b22;box-shadow:0 1px 4px #23364b25;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#a66e19;font-size:19px}.object-marker.battle{background:#b45147;color:#fff;border-color:#fff;border-radius:50%;font-size:23px}.war-map-label{display:flex;align-items:center;justify-content:center}.war-map-label span{font-size:12px;font-weight:600;color:#9c4039;background:#fff9f2e8;padding:7px 11px;border:1px solid #c99586;border-radius:3px;white-space:nowrap}.object-tooltip{font-size:13px!important}.leaflet-control-zoom{border:1px solid #bfced7!important;box-shadow:none!important;overflow:hidden;border-radius:5px!important;margin-right:15px!important}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;color:#243e57!important}.leaflet-control-scale{margin-right:15px!important;font-size:10px!important}.leaflet-control-scale-line{background:#ffffffaa!important;border-color:#75909f!important}.leaflet-interactive:focus-visible,.leaflet-marker-icon:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.leaflet-marker-icon{cursor:pointer}.country-label{cursor:default}dialog{color:#23364b;border:0;background:#fff;box-shadow:0 20px 70px #0004}dialog::backdrop{background:#10283b77}.detail-dialog{position:fixed;inset:0 auto 0 0;height:100dvh;max-height:100dvh;max-width:100vw;width:420px;margin:0;padding:28px;overflow:auto}.close-dialog{position:absolute;right:14px;top:12px;width:40px;height:40px;background:transparent;border:0;color:#617080;font-size:28px}.detail-header{padding-top:18px}.detail-header .eyebrow{color:#617080;font-size:13px;letter-spacing:.02em}.detail-header h2{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.25;margin:14px 0}.detail-header>p{font-size:14px;color:#8a621f;font-weight:600;margin-bottom:23px}.detail-content{font-size:16px;line-height:1.75}.population-detail{padding:20px;background:#edf2f5;margin:24px 0}.population-detail>span{font-size:14px;color:#617080}.population-detail strong{display:block;font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.5}.population-detail p{font-size:13px;line-height:1.5;color:#617080;margin:4px 0 0}#source-link{font-size:14px}.detail-note{font-size:13px;color:#617080;line-height:1.6;margin-top:20px}.about-dialog{width:min(590px,calc(100% - 32px));max-height:85dvh;overflow:auto;border-radius:7px;line-height:1.65;padding:27px}.about-dialog h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:6px 24px 16px 0}.about-dialog p{font-size:15px}.no-script{position:fixed;inset:30% 10% auto;background:#fff;padding:24px;z-index:999}
@media(min-width:1500px){.workspace{grid-template-columns:370px minmax(0,1fr)}.context-panel{padding:28px 30px}.masthead{padding:0 40px}.timeline{padding-left:40px;padding-right:40px}}
@media(max-width:1100px){.workspace{grid-template-columns:282px minmax(0,1fr)}.layer-controls{gap:12px}.map-toolbar{padding-left:14px;padding-right:10px}.reset-text{display:none}.context-panel{padding:22px 18px}.time-status{display:none}.timeline-bottom .resolution{display:none}.presets{gap:4px}.timeline{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.timeline-bottom>span:first-child{display:none}.presets{justify-content:space-between;width:100%}.presets button{flex-direction:column;gap:4px;font-size:14px;text-align:left}.presets button span{font-size:12px}.layer-controls{gap:5px 12px}.layer-controls label{font-size:13px}.workspace{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){.atlas{height:auto;min-height:100dvh}.masthead{height:66px;padding:0 16px}.brand{gap:10px}.brand h1{font-size:36px}.brand h1 span{font-size:10px;margin-top:4px}.brand>svg{width:30px}.header-meta{gap:14px}.region{display:none}.private-label{font-size:12px}.info-button{width:38px;height:38px}.workspace{display:contents}.map-section{height:clamp(360px,48dvh,540px);order:1;flex-shrink:0}.map-toolbar{padding:6px 12px;min-height:78px;gap:4px}.layer-controls{display:grid;grid-template-columns:1fr 1fr;column-gap:17px;row-gap:0}.layer-controls label{font-size:14px;min-height:32px;gap:6px}.map-reset{margin-left:auto;min-width:40px;min-height:44px}.map-shell{min-height:280px}.map-date{top:12px;left:16px}.map-date strong{font-size:42px}.map-date span{font-size:11px}.map-legend{font-size:11px;left:8px;bottom:10px;padding:6px 8px;max-width:calc(100% - 63px);gap:5px}.boundary-note{display:none}.timeline{order:2;padding:14px 16px 12px}.timeline-top{flex-direction:column;align-items:stretch;gap:12px}.year-control>div{justify-content:space-between}.year-control input{font-size:32px;width:105px}.year-control select{min-width:150px;border:1px solid #d5dee4;border-radius:4px}.playback{justify-content:space-between;gap:5px}.round-button{width:40px;height:44px;border-radius:22px}.play-button{min-width:99px;padding:0 13px;height:44px;font-size:14px;gap:8px}#speed{min-width:105px;max-width:113px;margin-left:0;font-size:13px;padding:6px}.year-slider{margin-top:6px;padding-bottom:38px}.timeline-bottom{align-items:stretch;gap:8px;flex-direction:column;padding-top:10px}.presets{gap:3px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px;justify-content:flex-start}.presets button{font-size:14px;flex-shrink:0;flex-direction:column;gap:3px;text-align:left;padding:5px 7px}.presets button span{font-size:12px}.context-panel{order:3;overflow:visible;padding:23px 20px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.context-title{grid-column:1/-1}.context-title h2{font-size:25px}.war-section,.battle-section,.cities-section{margin-top:23px}.cities-section{grid-column:1/-1}.war-card{padding:12px 10px}.war-card strong{font-size:21px}.event-row strong{font-size:14px}.event-row small{font-size:12px}.city-label.leaflet-tooltip{font-size:11px;padding:2px 4px}.city-label span{font-size:10px}.country-label{font-size:10px;letter-spacing:.1em}.detail-dialog{width:min(420px,100%);padding:24px}#year-error{position:relative;display:block;margin-top:4px}}
@media(max-width:365px){.private-label{display:none}.playback{gap:3px}.round-button{width:34px}.play-button{min-width:90px;padding:0 10px}#speed{min-width:99px;max-width:101px;font-size:12px}.context-panel{grid-template-columns:1fr}.war-section,.battle-section,.cities-section{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:365px){.layer-controls{min-width:0;column-gap:10px}.layer-controls label{font-size:13px;gap:5px}.round-button{width:32px;flex-shrink:0}.play-button{min-width:86px;padding:0 8px;gap:6px}#speed{min-width:92px;max-width:92px;padding:5px 3px;font-size:12px}.playback{gap:2px}}

#detail-description{white-space:pre-line}.map-date strong{font-size:clamp(32px,4vw,54px)}.timeline-ticks .wide-tick{display:block}@media(max-width:760px){.timeline-ticks .wide-tick{display:none}.map-date strong{font-size:38px}}

.landmark-cluster{border:2px solid #b17b22;background:#fff6df;border-radius:50%;font-size:15px;font-weight:700;box-shadow:0 0 0 4px #fff8}.cluster-content>strong{display:block;margin-bottom:10px;color:#243e57;font-size:14px}.cluster-zoom,.cluster-place{min-height:44px;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #dbe3e8;color:#243e57;padding:9px 5px;font-size:14px}.cluster-zoom{background:#edf2f5;border-radius:4px;margin-bottom:5px;text-align:center}.cluster-place:hover{background:#edf2f5}.cluster-list{max-height:230px;overflow:auto}.cluster-content{line-height:1.4}.leaflet-popup-content{margin:16px}.leaflet-popup-close-button{min-width:28px;min-height:28px}

.object-marker svg{display:block;flex-shrink:0}.cluster-place{display:flex;align-items:center;gap:10px}.cluster-place svg{color:#a66e19;flex-shrink:0}

.additional-sources{display:flex;flex-direction:column;gap:8px;margin-top:12px}

#population-history{margin:16px 0}#population-history summary{cursor:pointer;font-weight:600}.population-table-wrap{max-height:300px;overflow:auto;margin-top:10px}.population-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.population-table-wrap th,.population-table-wrap td{padding:7px 6px;text-align:left;border-bottom:1px solid #ddd}.population-table-wrap th{position:sticky;top:0;background:#fff}

.event-window-control{display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px 16px;flex-shrink:0}.event-window-field{display:flex;flex-direction:column;gap:6px}.event-window-control label{font-size:12px;font-weight:600;color:#52697c;letter-spacing:.04em}.event-window-control select{min-height:40px;padding:6px 10px;background:#fff;color:#243e57;border:1px solid #bdcbd5;border-radius:4px}.timeline-top{flex-wrap:wrap;gap:14px}.event-period{font-size:13px;line-height:1.5;color:#52697c}.event-window-band{position:absolute;top:0;height:8px;background:#ad792255;border-radius:4px;pointer-events:none;z-index:0}.year-slider>input{position:relative;z-index:1}.related-events h3{font-size:17px}@media(max-width:700px){.event-window-control{justify-content:flex-start;width:100%;min-width:0;flex-shrink:1}.event-window-control label{font-size:13px}.event-window-control select{min-width:145px}}

.key.science{color:#6757a5}.object-marker.science{color:#6757a5;border:1.5px solid #6757a5;background:#f4f0ff;font-size:22px}.science-section{margin-top:28px}.science-row>span:first-child{color:#6757a5;font-size:24px}.layer-controls{flex-wrap:wrap}.map-toolbar{height:auto;min-height:58px}.map-reset{flex-shrink:0}@media(max-width:760px){.science-section{grid-column:1/-1}}
.science.landmark-cluster{border:2px solid #6757a5;background:#f4f0ff;font-size:15px}.science-row{gap:10px}

.geography-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 20px;background:#e7eef3;border-bottom:1px solid #cbd8e1;color:#243e57;position:relative;z-index:1000}.geography-toolbar>label{font-size:12px;font-weight:700;letter-spacing:.08em;display:flex;align-items:center;gap:10px}.geography-toolbar select{font-size:14px;letter-spacing:0;padding:8px 30px 8px 10px;max-width:260px;border:1px solid #b7c9d5;border-radius:4px;background:white;color:#243e57;min-height:40px}.country-picker summary{font-size:14px;cursor:pointer;min-height:40px;display:flex;align-items:center;gap:8px;padding:7px 12px;background:white;border:1px solid #b7c9d5;border-radius:4px}.country-picker summary:after{content:'▾';font-size:12px}.country-picker summary:focus-visible{outline:3px solid #c09242;outline-offset:2px}.country-popover{position:absolute;top:100%;left:20px;width:min(560px,calc(100% - 40px));max-height:60vh;overflow:auto;background:#fff;box-shadow:0 12px 30px #162c4033;border:1px solid #b7c9d5;padding:16px;border-radius:4px}.country-actions{display:flex;gap:10px}.country-actions button{min-height:40px;padding:6px 12px;border:1px solid #b7c9d5;background:#edf2f5;border-radius:4px;color:#243e57;font-size:14px}.country-popover>p{font-size:13px;line-height:1.4;color:#536b7d}.country-group{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:3px 16px}.country-group legend{font-size:14px;font-weight:700;margin-bottom:8px}.country-group label{display:flex;align-items:center;gap:8px;font-size:14px;min-height:36px;cursor:pointer}.country-group input{width:17px;height:17px;accent-color:#243e57;flex-shrink:0}.country-group small{margin-left:auto;color:#627889}.geography-toolbar #selection-status{font-size:13px;color:#536b7d;margin-left:auto}.map-toolbar .layer-controls{gap:14px}.map-section{min-height:0}.map-shell{min-height:250px}@media(max-width:760px){.geography-toolbar{padding:8px 16px;gap:8px}.geography-toolbar #selection-status{flex-basis:100%;margin-left:0}.geography-toolbar select{max-width:200px}.country-popover{left:10px;width:calc(100% - 20px)}.country-group{grid-template-columns:1fr 1fr}.map-toolbar .layer-controls{gap:9px}.map-section{min-height:470px}}@media(max-width:380px){.geography-toolbar>label{gap:5px}.geography-toolbar select{max-width:175px}.country-group{grid-template-columns:1fr}}
.map-toolbar .layer-controls{min-width:0;flex:1}.map-toolbar{min-width:0}
@media(max-width:380px){.map-toolbar{flex-wrap:wrap}.map-toolbar .layer-controls{flex-basis:100%}.map-reset{margin-left:auto}.timeline-bottom,.presets{min-width:0;max-width:100%}}
@media(max-width:760px){.map-toolbar .layer-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-controls label:has([data-layer=science]){grid-column:1/-1}}

.object-marker.battle.viking-battle{background:#76521d;border:2px solid #ead29a;color:#fff3d4}#viking-legend-icon{display:inline-flex;color:#76521d;margin-left:6px}#viking-legend-icon svg{width:17px;height:17px}

.key.battle svg{width:20px;height:20px;vertical-align:middle}.key.exploration{color:#087f8c}.voyage-card{padding:12px 0;border-bottom:1px solid #d5dfe5;display:grid;gap:8px}.voyage-card strong{font-size:14px}.voyage-card small{font-size:13px;line-height:1.5;color:#536b7d}.voyage-card button{justify-self:start}.exploration-ship{display:flex;align-items:center;justify-content:center;font-size:24px;background:white;border:2px solid #087f8c;border-radius:50%;box-shadow:0 2px 8px #162c4033}.voyage-popup{font-size:14px;line-height:1.5;max-height:45vh;overflow:auto}.voyage-popup p{margin:10px 0}.voyage-popup li{margin:7px 0}.voyage-popup summary{cursor:pointer;font-weight:600}.voyage-popup a{display:inline-block;margin-top:12px}

.explorer-group{border-bottom:1px solid #d5dfe5;padding:10px 0}.explorer-group>summary{font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;padding:8px 0}.explorer-group .voyage-card{padding-left:8px}.voyage-popup a{display:block}

.explorer-map-label {font-size:12px;font-weight:600;color:#17313d;background:rgba(255,255,255,.94);border:1px solid #b6c8d0;border-radius:4px;padding:3px 6px;box-shadow:0 1px 4px #15334220;pointer-events:none;}

.voyage-article{font-size:14px;line-height:1.5}.context-panel .voyage-article{color:#ddb778;justify-self:start;min-height:24px}

/* Story Mode extends the atlas with a companion narrative. */
.story-open{border:1px solid #ddb778;border-radius:5px;background:#243e57;color:#ffe1ad;padding:10px 14px;font-size:14px;white-space:nowrap}.story-open:hover{background:#365c7c}.story-active .context-panel{display:none}.story-active .workspace{grid-template-columns:390px minmax(0,1fr)}.story-panel{background:#162c40;color:#f0f5f8;padding:22px 24px;overflow:auto;min-width:0}.story-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.story-panel button,.story-panel select{font-size:14px;min-height:40px;border:1px solid #587085;border-radius:4px;background:#243e57;color:#eff4f7;padding:8px 10px}.story-heading button{background:transparent;font-size:14px}.story-panel h2{font:32px/1.2 'Histlas Display Serif',Georgia,serif;color:#ddb778;margin:18px 0 7px}.story-panel #story-subtitle{color:#bacad6;font-size:14px;line-height:1.5;margin:0 0 20px}.story-panel>label{display:block;color:#bacad6;font-size:14px;line-height:1.5;margin:14px 0 5px}#story-select,#story-chapter{width:100%;margin-top:10px}#story-date{font-size:14px;color:#ddb778;border-top:1px solid #426078;padding-top:18px}#story-card h3{display:block;color:#fff;font:25px/1.25 Georgia,serif;margin:12px 0}#story-text{font-size:16px;line-height:1.7;white-space:pre-line}.story-note{font-size:14px;line-height:1.6;color:#bacad6}.story-panel a{color:#e9c486;font-size:14px;display:block;margin:8px 0}.story-controls{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:7px;margin:22px 0 12px}#story-play{background:#ddb778;color:#162c40;border-color:#ddb778;font-weight:700}#story-progress{width:100%;accent-color:#ddb778;min-height:32px}.story-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#bacad6}.story-panel .story-check{display:flex;align-items:flex-start;gap:8px}.story-check input{width:18px;height:18px;flex-shrink:0}.story-chapters{border-top:1px solid #426078;padding-top:16px;margin:18px 0}.story-chapters summary{font-size:14px;cursor:pointer;min-height:32px}.story-chapters button{text-align:left;display:block;width:100%;margin:6px 0}#story-figure{margin:14px 0}#story-image{width:100%;max-height:240px;object-fit:contain;background:#fff}#story-caption{font-size:14px;line-height:1.5;color:#bacad6;margin-top:6px}.story-active .map-legend{display:none}.story-editor{width:min(740px,calc(100% - 24px));max-height:90dvh;padding:24px;border:1px solid #8ba0ae;border-radius:8px;color:#243e57;background:#fff}.story-editor::backdrop{background:#102335aa}.story-editor h2{font:28px Georgia,serif;margin:0}.story-editor p{font-size:16px;line-height:1.5}.story-editor label{display:flex;flex-direction:column;gap:6px;font-size:14px;margin:14px 0}.story-editor input,.story-editor select,.story-editor textarea{width:100%;min-width:0;padding:9px;border:1px solid #a4b7c5;border-radius:4px;font-size:16px}.story-editor textarea{resize:vertical}.story-editor button{padding:10px 12px;min-height:42px;border:1px solid #a4b7c5;border-radius:4px;background:#edf2f5;color:#243e57;font-size:14px}.story-edit-row{display:flex;gap:14px}.story-edit-row label{flex:1;min-width:0}.story-edit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.story-edit-actions button[type=submit]{background:#243e57;color:#fff}.story-editor .story-import{margin:0;padding:10px 12px;background:#edf2f5;border:1px solid #a4b7c5;border-radius:4px;max-width:100%}.story-import input{max-width:220px}#edit-status{color:#335d79}#story-speed{margin-left:8px}
@media(max-width:1100px){.story-active .workspace{grid-template-columns:340px minmax(0,1fr)}.story-panel{padding:20px}.header-meta{gap:12px}}
@media(max-width:760px){.story-active .workspace{display:flex;flex-direction:column}.story-active .map-section{min-height:440px}.story-panel{overflow:visible}.story-active .atlas{height:auto;min-height:100dvh}.story-active .story-panel{padding:22px 20px}.masthead .region{display:none}.masthead{padding-left:16px;padding-right:16px}.story-open{padding:8px 10px}.header-meta{gap:8px}.story-edit-row{flex-wrap:wrap}.story-edit-row label{flex-basis:40%}.story-active .timeline{position:static}}

.story-active #speed,.story-active .event-window-control{display:none}.story-active .timeline-bottom{display:none}
.story-audio{border-top:1px solid #426078;border-bottom:1px solid #426078;padding:16px 0;margin:18px 0}.story-audio-buttons{display:flex;gap:8px;flex-wrap:wrap}.story-audio>label{display:block;font-size:14px;color:#bacad6;margin:12px 0 6px}.story-audio .story-check{display:flex;gap:8px;align-items:flex-start}#story-voice{width:100%;min-width:0}#story-read-status{font-size:14px;line-height:1.5;color:#ddb778;margin-bottom:0}

.key.railway{color:#7865a7}#railway-section{margin-top:26px}.railway-train{background:transparent;border:0;border-radius:0;box-shadow:none}.railway-train img{display:block;width:46px;height:34px;transform-origin:23px 25px;filter:drop-shadow(0 1px 1px #ffffffcc)}.railway-train-label{font-size:14px;background:#fff;border:1px solid #a496c4;color:#243e57}.railway-line{border-top:1px solid #426078;padding:14px 0;margin-top:14px}.railway-line summary{font-size:16px;line-height:1.5;cursor:pointer}.railway-watch{padding:10px 12px;border:1px solid #7d8d95;border-radius:4px;background:#28465e;color:#f4f7f9;font-size:14px;min-height:42px;text-align:left}.railway-opening{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #426078;background:transparent;color:#edf4f7;padding:12px 0}.railway-opening strong{display:block;font-size:14px;font-weight:500}.railway-opening small{display:block;color:#bacad6;font-size:14px;margin-top:5px}.railway-future{opacity:.65}.railway-state{font-style:italic}.railway-popup p,.railway-detail p{font-size:14px;line-height:1.5}.railway-popup strong,.railway-detail strong{font-size:16px}.railway-popup a,.railway-detail a{display:block;margin:6px 0}@media(max-width:760px){#railway-section{grid-column:1/-1}}

.story-science{border-top:1px solid #426078;padding-top:12px;margin-top:18px}.story-science button{display:block;width:100%;text-align:left;margin:8px 0}.story-science-marker{border-color:#6757a5;background:#f5f1fb;color:#6757a5}

/* Transparent vessel silhouettes; grouped positions do not imply known individual tracks. */
.exploration-ship.historical-fleet{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:138px!important;height:60px!important;display:flex;align-items:center;justify-content:center}
.fleet-vessels{display:flex;align-items:end;gap:3px}.fleet-vessel{display:flex;flex-direction:column;align-items:center;width:43px}.vessel-art{display:block;width:42px;height:42px;background-image:url('assets/ship-marker-sprites.png');background-size:84px 42px;background-position:0 0;background-repeat:no-repeat;filter:drop-shadow(0 1px 1px #fff)}.vessel-art.nao{background-position:-42px 0}.historical-fleet[data-heading=west] .vessel-art{transform:scaleX(-1)}.vessel-name{font:600 9px/12px system-ui;color:#172b3d;white-space:nowrap;text-shadow:0 0 3px white,0 0 3px white}.fleet-vessel.detached{opacity:.48}.vessel-wreck{font-size:25px;color:#7f442f;text-shadow:0 0 3px white}.story-science{font-size:12px}

.exploration-ship.historical-vessel{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:56px!important;height:56px!important}.historical-vessel[data-heading=west] .vessel-art{transform:scaleX(-1)}

.event-window-control .keep-past-control{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:400;letter-spacing:0;cursor:pointer;min-height:40px}.keep-past-control input{width:18px;height:18px;accent-color:#243e57;margin:0}.object-marker.past-event{opacity:.5;filter:grayscale(.5);border-color:#aab8c1!important;color:#97a7b3!important}.past-event-tooltip{color:#6d8190!important}.event-past{opacity:.68}.past-status{display:block;font-size:12px;color:#b7c5cf;margin-top:4px}.war-map-label.past-event{filter:grayscale(.5)}

/* Layer menus combine visibility and subcategory selection. */
.map-toolbar{position:relative;z-index:4}.layer-controls{gap:8px 16px}.layer-option{display:flex;align-items:center;gap:6px;min-width:0}.layer-option>label{display:none}.layer-selector-name{font-weight:600;flex-shrink:0}.layer-subcategories{position:relative;min-width:0}.layer-subcategories>summary{position:relative;display:flex;align-items:center;gap:6px;list-style:none;font-size:14px;letter-spacing:0;color:#243e57;cursor:pointer;padding:8px 30px 8px 10px;min-height:40px;min-width:82px;max-width:210px;background:#fff;border:1px solid #b7c9d5;border-radius:4px}.layer-subcategories>summary::-webkit-details-marker{display:none}.layer-subcategories>summary:after{content:'';position:absolute;right:12px;top:calc(50% - 4px);width:6px;height:6px;border-right:2px solid #243e57;border-bottom:2px solid #243e57;transform:rotate(45deg)}.subcategory-selection{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-subcategories>summary:hover{border-color:#7893a7}.layer-subcategories[open]>summary{border-color:#7893a7;background:#edf2f5}.layer-subcategories>summary:focus-visible{outline:3px solid #c09242;outline-offset:2px}.subcategory-menu{position:absolute;left:0;top:calc(100% + 6px);width:min(310px,calc(100vw - 32px));max-height:min(460px,60dvh);overflow-y:auto;background:#fff;border:1px solid #b7c9d5;border-radius:4px;padding:16px;box-shadow:0 12px 30px #162c4033;z-index:10}.subcategory-menu.align-right{left:auto;right:0}.subcategory-heading{display:block;font-size:16px;margin-bottom:6px;color:#243e57}.layer-controls .subcategory-menu label{display:flex;white-space:normal;min-height:40px;font-size:14px;font-weight:400;gap:9px}.subcategory-menu input{flex-shrink:0}.subcategory-note{font-size:13px;line-height:1.5;color:#52697c;margin:9px 0 0}.story-active .layer-option{display:none}@media(max-width:760px){.layer-controls{display:flex;flex-wrap:wrap;gap:2px 12px}.layer-option{flex-wrap:nowrap}.layer-subcategories>summary{max-width:210px}.map-toolbar{align-items:flex-start}.map-reset{margin-top:4px}.subcategory-menu{position:fixed;left:16px;right:auto;top:150px;max-height:55dvh}.subcategory-menu.align-right{left:16px;right:auto}}
.story-editor .story-map-past{flex-direction:row;align-items:center}.story-editor .story-map-past input{width:18px;flex-shrink:0}.story-editor #edit-map-items{height:190px}

.country-group .state-picker{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;padding-left:25px}.state-picker select{min-width:0;width:100%;max-width:300px;min-height:40px;border:1px solid #b7c9d5;border-radius:4px;background:white;color:#243e57;padding:6px;font-size:14px}

.region-label{font-size:12px;font-weight:700;letter-spacing:.08em}.region-picker{position:relative;color:#243e57}.region-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:7px 12px;border:1px solid #b7c9d5;border-radius:4px;background:white;font-size:14px;cursor:pointer;min-width:145px;list-style:none}.region-picker>summary:after{content:'▾';font-size:12px}.region-picker summary::-webkit-details-marker{display:none}.region-picker summary:focus-visible,.region-popover button:focus-visible{outline:3px solid #c09242;outline-offset:-3px}.region-popover{position:absolute;left:0;top:calc(100% + 6px);width:min(340px,calc(100vw - 40px));max-height:60vh;overflow:auto;padding:8px;background:#fff;border:1px solid #b7c9d5;border-radius:5px;box-shadow:0 12px 30px #162c4033;z-index:1100}.region-branch>summary{display:flex;align-items:center;gap:8px;padding:8px;min-height:40px;font-size:14px;font-weight:600;cursor:pointer;list-style:none}.region-branch>summary:before{content:'▸';width:12px}.region-branch[open]>summary:before{content:'▾'}.region-children{margin-left:12px;padding-left:8px;border-left:1px solid #d9e2e9}.region-popover button{display:block;width:100%;min-height:38px;padding:8px;text-align:left;border:0;border-radius:3px;background:transparent;color:#243e57;font-size:14px;cursor:pointer}.region-popover button:hover,.region-branch>summary:hover{background:#edf2f5}.region-popover button[aria-pressed=true]{background:#e5edf4;font-weight:700}.geography-toolbar select[hidden]{display:none}
@media(max-width:760px){.region-picker{position:static}.region-popover{left:16px;top:100%;width:min(340px,calc(100% - 32px))}}

.region-country{display:flex;align-items:center;gap:9px;min-height:38px;padding:7px 8px;font-size:14px;cursor:pointer;border-radius:3px}.region-country:hover{background:#edf2f5}.region-country input{width:17px;height:17px;margin:0;accent-color:#243e57;flex-shrink:0}.region-country:focus-within{outline:3px solid #c09242;outline-offset:-3px}.region-actions{border-bottom:1px solid #d9e2e9;padding-bottom:5px}.region-actions button{width:auto;background:#edf2f5}.region-help{font-size:12px;line-height:1.4;color:#536b7d;margin:8px}

.region-picker>summary{max-width:260px}.region-picker>summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-country span{min-width:0;overflow-wrap:anywhere}

.land-expedition-art{display:block;width:56px;height:42px;object-fit:contain;filter:drop-shadow(0 1px 1px white)}.historical-vessel[data-heading=west] .land-expedition-art{transform:scaleX(-1)}

.story-reading-link{display:inline-block;margin:12px 0 2px;color:#a67a3c;font-size:13px;text-underline-offset:3px}.story-library-link{color:inherit;font-size:12px;white-space:nowrap;text-underline-offset:3px}

.story-view-options{display:flex;gap:5px;margin:12px 0 14px;padding:4px;background:#e9eef1;border-radius:6px}.story-view-options button,.story-view-options a{flex:1;text-align:center;font:12px Arial,sans-serif;padding:9px 5px;border-radius:4px;border:0;text-decoration:none;white-space:nowrap}.story-view-options button{background:#162c40;color:#fff}.story-view-options a{background:transparent;color:#345d84}.story-view-options a:hover{background:#dce4e9}

.story-selector-toolbar{display:none}.story-active .story-selector-toolbar{display:block}.story-active .geography-toolbar>.region-label,.story-active .geography-toolbar>#region-picker{display:none}.story-selector-toolbar label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.08em}.story-selector-toolbar select{min-width:180px;width:260px;max-width:100%;font-weight:400}@media(max-width:380px){.story-selector-toolbar select{min-width:0;width:210px}}

.geography-toolbar #story-select{height:40px;min-height:40px;margin:0;box-sizing:border-box}.story-selector-toolbar label{margin:0;min-height:40px}

.map-legend{flex-wrap:wrap;max-width:calc(100% - 90px);gap:8px 14px}.legend-entry{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.legend-entry svg{width:18px;height:18px}.legend-entry.city{color:#243e57}.legend-entry.battle,.legend-entry.war{color:#b45147}.legend-entry.landmark{color:#ad7922}.legend-entry.science{color:#6757a5}.legend-war-area{width:18px;height:12px;border:1px solid #b45147;background:#b4514733}.legend-route,.legend-railway,.legend-border{width:20px;height:0;border-top:2px dashed #345d84}.legend-railway{border-top:3px solid #6757a5}.legend-border{border-top:1px solid #819aa8}

.legend-entry.railway img{width:28px;height:22px;object-fit:contain}

.legend-tram-network{width:20px;height:0;border-top:3px dashed #427c5e}

.legend-high-speed{display:inline-block;width:22px;border-top:3px solid #087d9c;}

.legend-high-speed-symbol{display:inline-flex;align-items:center;gap:4px}.legend-high-speed-symbol img{width:36px;height:27px;object-fit:contain}

.legend-high-speed-connector{display:inline-block;width:22px;border-top:1px solid #7865a7;}

.terrain-control{display:flex;align-items:center;gap:6px;font-size:13px;color:#243e57;white-space:nowrap}.geography-toolbar .terrain-control select{font-family:inherit;font-size:14px;font-weight:400;line-height:normal;letter-spacing:0;height:40px;min-height:40px;min-width:145px;margin:0;border:1px solid #b7c9d5;border-radius:4px;padding:7px 12px;background:#fff;color:#243e57}.terrain-status{font-size:12px;color:#735a27}.terrain-credits{position:relative;font-size:11px;color:#526a7b}.terrain-credits summary{cursor:pointer;min-height:30px;display:flex;align-items:center}.terrain-credits>div{position:absolute;right:0;top:100%;width:min(320px,80vw);background:#fff;border:1px solid #a4b7c5;border-radius:5px;padding:12px;line-height:1.5;z-index:1100;box-shadow:0 3px 12px #162c4026}.terrain-credits a{display:block;margin-top:6px}#map{isolation:isolate}
/* Empires use a pane below cities, battles, routes and ship/train markers. */
.empire-map-label{font:600 13px/1.3 Georgia,serif;text-align:center;letter-spacing:.03em;white-space:normal;text-shadow:0 1px 3px #fff,0 -1px 3px #fff,1px 0 3px #fff,-1px 0 3px #fff;pointer-events:none}.empire-map-label span{display:block}.legend-empire{display:inline-block;width:18px;height:12px;border:1.5px solid;border-radius:2px}.legend-empire-dashed{display:inline-block;width:20px;border-top:2px dashed #536b70}.empire-card{border-left:3px solid var(--empire-color);padding:12px 10px;margin:12px 0;background:#ffffff08;border-radius:3px}.empire-card>summary{cursor:pointer;font-size:17px;line-height:1.4;color:#e4c592;padding:4px 0}.empire-period{font-size:12px;line-height:1.5;color:#c2d0db}.empire-stage-title{font-size:14px;line-height:1.5;display:block;color:#f0f5f8}.empire-actions{display:flex;flex-wrap:wrap;gap:6px}.empire-actions .railway-watch{flex:1;min-width:105px;font-size:12px;margin:3px 0}.empire-stages{margin:12px 0;font-size:13px;line-height:1.5}.empire-stages>summary{cursor:pointer;min-height:32px}.empire-stage{display:block;width:100%;text-align:left;line-height:1.5;padding:8px;margin:5px 0;border:1px solid #526b7e;background:transparent;border-radius:3px;color:#e1e9ee;font-size:13px}.empire-stage:hover,.empire-stage.active{background:#ffffff18;border-color:#ddb778}.empire-more{padding:7px 0;background:transparent;border:0;text-decoration:underline;color:#ddb778;font-size:13px}.empire-popup{font-size:13px;line-height:1.55}.empire-popup>strong{font:20px/1.3 Georgia,serif}.empire-popup a{display:block;margin:7px 0}.empire-popup .quiet-note{color:#52697c}#empire-section{margin-top:26px}#empire-section>h3{display:flex;justify-content:space-between;gap:8px}#empire-section>h3>span{font-size:12px;color:#bacad6;font-weight:400}@media(max-width:760px){#empire-section{grid-column:1/-1}.empire-map-label{font-size:11px}}

.empire-territories{margin:14px 0;font-size:13px;line-height:1.5}.empire-territories>summary{cursor:pointer;min-height:34px;color:#e4c592}.empire-territory-search{display:block;width:100%;padding:9px;margin:8px 0;background:#fff;border:1px solid #a4b7c5;border-radius:3px;font-size:14px;color:#243e57}.empire-territory{display:block;width:100%;text-align:left;padding:9px;margin:5px 0;border:1px solid #526b7e;border-radius:3px;background:transparent;color:#e1e9ee;line-height:1.5}.empire-territory strong,.empire-territory small{display:block}.empire-territory small{font-size:12px;color:#bacad6}.empire-territory:hover{background:#ffffff18}.empire-territory[hidden]{display:none}

.civilization-group{border:0;border-top:1px solid #d8e1e7;margin:10px 0 0;padding:8px 0 0;min-width:0}.civilization-group legend{font-size:12px;font-weight:700;color:#536b7d;padding:0 4px;max-width:100%}.story-active .map-legend[data-story-civilizations="true"]{display:flex}

/* Story illustrations share the map stage; atlas controls remain atlas-only. */
.story-active .map-toolbar{display:none}
.map-shell>#story-figure{display:none}
.story-active .map-shell>#story-figure:not([hidden]){display:block;position:absolute;left:24px;top:auto;bottom:24px;z-index:3;width:min(432px,40.8%);max-height:calc(100% - 48px);overflow:auto;margin:0;padding:8px;background:#162c40f5;border:1px solid #587085;border-radius:5px;box-shadow:0 5px 20px #162c4033;color:#f0f5f8}
.story-active .map-shell #story-image{display:block;width:100%;height:auto;max-height:336px;object-fit:contain;background:#162c40}
.story-active .map-shell #story-caption{font-size:12px;line-height:1.45;color:#d1dde6;margin:7px 2px 2px}
@media(max-width:1000px){.story-active .map-shell>#story-figure:not([hidden]){width:36%;left:24px;padding:5px}}
@media(max-width:760px){.story-active .map-shell{display:flex;flex-direction:column;min-height:600px}.story-active .map-shell>#story-figure:not([hidden]){position:relative;order:-1;top:auto;bottom:auto;left:auto;width:100%;max-height:none;border-radius:0;flex-shrink:0}.story-active .map-shell #story-image{max-height:240px}.story-active #map{position:relative;inset:auto;min-height:400px;flex:1}.story-active .map-date{top:auto;bottom:28px}}

.story-active .map-legend[data-story-civilizations="true"]{left:auto;right:18px;top:18px;bottom:auto;max-width:calc(100% - 144px);flex-wrap:wrap}

#story-text{white-space:pre-line}

/* Timeline dates and shortcuts follow the selected map layers. */
.presets{min-width:0;overflow-x:auto;justify-content:flex-start}.presets button{flex-shrink:0;max-width:210px}.presets button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.timeline-empty{font-size:13px;color:#617080}.war-marks button:focus-visible{outline:2px solid #243e57;outline-offset:2px}.story-active .war-marks{display:none}

/* A map-only story stage with touch controls and a native-fullscreen fallback. */
#story-fullscreen{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:800;font:14px Arial,sans-serif;border:1px solid #718494;border-radius:5px;background:#162c40f2;color:#fff;min-height:44px;min-width:44px;padding:8px 14px;cursor:pointer;box-shadow:0 2px 8px #162c4033;touch-action:manipulation}
.story-map-expanded>#story-fullscreen,#story-fullscreen[hidden],.story-focus-top[hidden],.story-focus-controls[hidden],.story-focus-text[hidden],.story-focus-voice-status[hidden]{display:none!important}
.story-focus-top,.story-focus-controls,.story-focus-text,.story-focus-voice-status{display:none}
body.story-map-expanded{overflow:hidden}
.story-active .map-shell.story-map-expanded{position:fixed;inset:0;z-index:10000;width:100%;height:100vh;height:100dvh;min-height:0;margin:0;border:0;border-radius:0;display:block;background:#dceaf1}
.story-active .map-shell.story-map-expanded #map{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.story-map-expanded .story-focus-top{display:flex;position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));z-index:800;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}
.story-focus-heading{min-width:0;max-width:70%;padding:9px 12px;border-radius:7px;background:#162c40ee;color:#fff;font:13px/1.4 Arial,sans-serif}.story-focus-heading strong,.story-focus-heading span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-focus-heading strong{color:#e8c68c;font-size:15px}.story-focus-top button{pointer-events:auto}
.story-map-expanded .story-focus-controls{display:flex;position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:800;align-items:center;justify-content:center;gap:7px;max-width:calc(100% - 24px);padding:8px;border:1px solid #587085;border-radius:9px;background:#162c40f5;color:white;font:13px Arial,sans-serif}
.story-focus-top button,.story-focus-controls button{min-width:44px;min-height:44px;border:1px solid #718494;background:#243e57;border-radius:5px;color:#fff;padding:7px 12px;font:14px Arial,sans-serif;cursor:pointer;touch-action:manipulation}.story-focus-controls button[aria-pressed=true],.story-focus-controls button[aria-expanded=true]{border-color:#ddb778;color:#ffe1ad}.story-focus-controls button:disabled{opacity:.4;cursor:default}.story-focus-count{white-space:nowrap;min-width:40px;text-align:center}.story-focus-controls button:focus-visible,.story-focus-top button:focus-visible,#story-fullscreen:focus-visible{outline:3px solid #ddb778;outline-offset:3px}
.story-active .map-shell.story-map-expanded>#story-figure:not([hidden]){position:absolute;order:0;left:max(16px,env(safe-area-inset-left));bottom:90px;top:auto;width:min(520px,40%);max-height:55%;overflow:auto;border-radius:5px;z-index:700}.story-active .map-shell.story-map-expanded #story-image{max-height:40vh}.story-active .map-shell.story-focus-image-hidden>#story-figure{display:none!important}
.story-map-expanded .map-date{top:90px;bottom:auto;left:20px;pointer-events:none}.story-map-expanded .leaflet-bottom{bottom:82px}.story-map-expanded .map-legend[data-story-civilizations=true]{top:90px;right:16px}
.story-map-expanded .story-focus-text{display:block;position:absolute;right:max(16px,env(safe-area-inset-right));bottom:90px;z-index:801;width:min(440px,calc(100% - 32px));max-height:55%;overflow:auto;padding:18px;border:1px solid #718494;border-radius:8px;background:#162c40f5;color:#f2f5f7;font:16px/1.65 Georgia,serif;overscroll-behavior:contain}.story-focus-text p{margin:0;white-space:pre-line}
.story-map-expanded .story-focus-voice-status{display:block;position:absolute;z-index:802;bottom:76px;right:16px;max-width:min(420px,calc(100% - 32px));padding:8px 12px;border-radius:5px;background:#fff5db;color:#5f4318;font:13px/1.4 Arial,sans-serif}
@media(max-width:760px){.story-focus-heading{max-width:calc(100% - 120px)}.story-focus-heading strong{font-size:13px}.story-focus-heading span{font-size:11px}.story-focus-top button{font-size:12px;padding:6px 9px}.story-map-expanded .story-focus-controls{width:calc(100% - 16px);max-width:none;gap:4px;padding:6px;flex-wrap:wrap}.story-focus-controls button{font-size:12px;padding:6px 8px}.story-focus-controls button:nth-last-child(-n+3){min-width:0;flex:1}.story-active .map-shell.story-map-expanded>#story-figure:not([hidden]){width:min(300px,48%);bottom:130px;max-height:40%;padding:4px}.story-active .map-shell.story-map-expanded #story-image{max-height:28vh}.story-map-expanded #story-caption{display:none}.story-map-expanded .leaflet-bottom{bottom:126px}.story-map-expanded .story-focus-text{bottom:130px}.story-map-expanded .story-focus-voice-status{bottom:118px}}
@media(max-height:450px){.story-active .map-shell.story-map-expanded>#story-figure:not([hidden]){width:32%;bottom:84px;max-height:48%}.story-active .map-shell.story-map-expanded #story-image{max-height:40vh}.story-map-expanded #story-caption{display:none}.story-focus-heading span{display:none}}

.border-control{display:flex;align-items:center;gap:7px;font:10px Arial,sans-serif;letter-spacing:.12em;color:#607782}.border-control select{font:12px Arial,sans-serif;letter-spacing:0;color:#233d4b;background:#fff;border:1px solid #bdcbd0;border-radius:4px;padding:7px 9px;min-height:32px}.border-status{font:10px/1.4 Arial,sans-serif;color:#5a737d;white-space:nowrap}.border-status[data-state=error]{color:#9c4d3c}.border-credits{position:relative;font:11px/1.5 Arial,sans-serif;color:#607782}.border-credits summary{cursor:pointer;white-space:nowrap}.border-credits>div{position:absolute;right:0;top:26px;width:min(410px,80vw);padding:14px 18px;background:#fff;color:#35505d;border:1px solid #c5d0d5;border-radius:7px;box-shadow:0 8px 25px #162c4020;z-index:1200;max-height:50vh;overflow:auto}.border-credits p{margin:0 0 10px}.border-credits a{color:#286184}.historical-country-label{white-space:normal!important;color:#5d7a85;font-size:10px;line-height:1.2;letter-spacing:.08em;text-shadow:0 1px 2px #fff,0 -1px 2px #fff}.historical-country-label span{display:block;max-width:156px}.border-control select:focus-visible,.border-credits summary:focus-visible{outline:2px solid #b88e47;outline-offset:2px}@media(max-width:700px){.border-status{white-space:normal;max-width:220px}.border-credits>div{left:auto;right:-30px}}
