@font-face{font-family:Inter;src:url('./fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ui:#f4f4f4;--paper:#fbfbfb;--ink:#202020;--muted:#646464;--line:#cecece;--hover:#e9e9e9;--side:336px}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body,button,input,select,textarea,.maplibregl-map{font-family:Inter,sans-serif}body{font-size:13px;line-height:1.45;font-weight:400;color:var(--ink);background:var(--ui)}button,input{font-size:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-underline-offset:3px}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #444;outline-offset:3px}[hidden]{display:none!important}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.topbar{height:45px;background:var(--ui);border-bottom:1px solid #bdbdbd;display:flex;align-items:center;gap:22px;padding:0 16px;position:relative;z-index:20}.brand{font-size:13px;font-weight:550;letter-spacing:0;text-decoration:none;margin-right:9px}.toolbar-button{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;line-height:1;color:#333;height:29px}.toolbar-button:hover{color:#000}.toolbar-button svg{width:16px;height:16px}.toolbar-button[aria-expanded=true]{text-decoration:underline;text-underline-offset:5px}.toolbar-button span{margin-left:4px}.top-spacer{flex:1}.search-launch{height:29px;width:264px;display:flex;align-items:center;gap:8px;border:1px solid #c8c8c8;background:#fff;border-radius:2px;padding:0 9px;color:#646464;text-align:left}.search-launch:hover{border-color:#8a8a8a}.search-launch svg{width:14px;height:14px;color:#555}.search-launch span{font-size:12px}.search-launch kbd{display:none}
#main{height:calc(100% - 121px);position:relative;overflow:hidden}#map{position:absolute;inset:0 var(--side) 0 0;background:#dce6e8}#map-labels{position:absolute;inset:0 var(--side) 0 0;overflow:hidden;pointer-events:none}.records-hidden #map,.records-hidden #map-labels{right:0}.polity-label{position:absolute;transform:translate(-50%,-50%);font-size:12px;font-weight:450;line-height:1.25;max-width:155px;text-align:center;color:#3d483b;text-shadow:0 1px 1px #f9f7e9,1px 0 1px #f9f7e9,-1px 0 1px #f9f7e9,0 -1px 1px #f9f7e9}.polity-label.large{font-size:13px}.map-status{position:absolute;top:12px;left:calc((100% - var(--side))/2);transform:translateX(-50%);background:#fbfbfb;border:1px solid #bcbcbc;padding:8px 12px;z-index:5;font-size:12px}.records-hidden .map-status{left:50%}
.panel{background:var(--paper);color:var(--ink);border:1px solid #bcbcbc;box-shadow:none;border-radius:0}.panel-heading{height:43px;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);flex-shrink:0}.panel-heading h2{font-size:13px;font-weight:550;line-height:1.4;margin:0}.icon-button{width:19px;height:19px;font-size:23px;line-height:1;color:#666;display:grid;place-items:center}.icon-button:hover{color:#000}.layers-panel{position:absolute;left:12px;top:12px;width:244px;max-height:calc(100% - 54px);overflow:auto;z-index:12;scrollbar-width:thin;scrollbar-color:#bbb transparent}.layer-list{padding:6px 0}.layer-row{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:6px 14px;font-size:12px;gap:12px;cursor:pointer}.layer-row:hover{background:#eee}.layer-row>span:first-child{display:flex;align-items:center;gap:8px}.layer-count{font-size:11px;color:#777}.switch{display:inline-block;position:relative;width:29px;height:17px;flex-shrink:0}.switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}.switch-track{position:absolute;inset:0;background:#c5c5c5;border-radius:10px;transition:background .15s}.switch-track:after{content:'';position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:white;transition:transform .15s}.switch input:checked+.switch-track{background:#333}.switch input:checked+.switch-track:after{transform:translateX(12px)}.switch input:focus-visible+.switch-track{outline:2px solid #333;outline-offset:3px}.panel-section{padding:12px 14px;border-top:1px solid var(--line)}.field-label{font-size:11px;color:#5e5e5e;margin-bottom:8px}.data-note{font-size:11px!important;line-height:1.6!important;color:#666!important;margin-top:9px}.dropdown{position:relative;min-width:0}.dropdown-trigger{height:31px;display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:6px 9px;text-align:left;background:#fff;border:1px solid #bfbfbf;border-radius:2px;font-size:12px;color:#222;white-space:nowrap}.dropdown-trigger:hover{border-color:#888}.dropdown-trigger svg{width:12px;height:12px;flex-shrink:0;color:#555}.dropdown-menu{position:fixed;background:#fff;border:1px solid #a7a7a7;min-width:185px;padding:3px;max-height:310px;overflow:auto;z-index:100;box-shadow:0 3px 8px #0002;border-radius:2px}.dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:33px;padding:7px 9px;font-size:12px;color:#333;border-radius:1px}.dropdown-option:hover,.dropdown-option:focus-visible{background:#e7e7e7;outline:none;color:#111}.dropdown-option[aria-selected=true]{background:#efefef;color:#111}.dropdown-option span{font-size:12px}.gradient{height:6px;background:linear-gradient(90deg,#eff3f5,#abd1de,#427d95,#173c54);margin-top:12px}.legend-values{display:flex;justify-content:space-between;font-size:10px;color:#555;margin-top:5px}.world-stats{padding:10px 14px;border-top:1px solid var(--line)}.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px;color:#555}.stat-value{font-size:13px;color:#222;font-variant-numeric:tabular-nums}.stat-year{font-size:10px;color:#777;margin-left:5px}.coverage-button{display:block;width:100%;padding:11px 14px;border-top:1px solid var(--line);text-align:left;font-size:10px;color:#666}.coverage-button:hover{text-decoration:underline}.text-button{font-size:11px;color:#222;white-space:nowrap}.text-button:hover{text-decoration:underline}#journey-start{display:block;margin-top:11px}
.feed-panel,.detail-panel{position:absolute;right:0;top:0;bottom:0;width:var(--side);border:0;border-left:1px solid #aaa;max-height:none;z-index:6;display:flex;flex-direction:column;overflow:hidden}.feed-filters{display:flex;align-items:center;gap:10px;padding:10px 13px 6px;flex-shrink:0}.feed-filters>div:first-child{flex:1;min-width:0}.feed-filters>div:last-child{width:115px}.feed-filters .dropdown-trigger{font-size:11px;height:29px;padding:5px 7px}.viewport-filter{display:flex;align-items:center;gap:7px;padding:6px 14px 10px;font-size:11px;color:#555;cursor:pointer}.viewport-filter input{appearance:none;width:12px;height:12px;border:1px solid #909090;border-radius:1px;margin:0;background:#fff;cursor:pointer;display:grid;place-items:center}.viewport-filter input:checked{background:#333;border-color:#333}.viewport-filter input:checked:after{content:'✓';font-size:10px;color:#fff}.feed-range{padding:8px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#666;font-variant-numeric:tabular-nums}.feed-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#bbb transparent}.record{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px 14px;text-align:left;border-bottom:1px solid #dedede;cursor:pointer}.record:hover{background:#ededed}.record.selected{background:#e6e6e6;box-shadow:inset 2px 0 #333}.record-meta{display:contents}.record-meta time{grid-column:1;grid-row:1;color:#666;font-size:10px;line-height:1.6;white-space:normal;font-variant-numeric:tabular-nums}.record-meta span{display:none}.record h3{grid-column:2;grid-row:1;font-size:12px;font-weight:450;line-height:1.6;color:#222;margin:0}.record p{font-size:12px;line-height:1.65;color:#555;margin:8px 0 0}.feed-bottom{padding:11px 14px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#666;flex-shrink:0}.load-more{width:100%;padding:13px;font-size:12px;color:#444}.load-more:hover{background:#eee}.empty{padding:20px 15px;font-size:12px;color:#666;line-height:1.7}.detail-panel{z-index:9;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bbb transparent}.detail-panel .panel-heading{position:sticky;top:0;background:var(--paper);z-index:2}.back-button{font-size:12px;color:#333}.back-button:hover{text-decoration:underline}.detail-kind{font-size:11px;color:#666}.detail-body{padding:16px 14px}.detail-date{font-size:11px;line-height:1.6;color:#666;margin-bottom:10px}.detail-body h2{font-size:18px;font-weight:550;line-height:1.4;letter-spacing:0;margin:0 0 15px}.detail-body p{font-size:12px;line-height:1.8;color:#444;margin:0 0 15px}.record-field{padding:10px 0;border-bottom:1px solid #d5d5d5;display:flex;justify-content:space-between;gap:14px;font-size:12px}.record-field>span{color:#666}.record-field>strong{font-weight:450;text-align:right;color:#222}.source-links{padding-top:15px;display:flex;flex-direction:column;gap:10px}.source-links a{font-size:11px}.detail-image{width:100%;max-height:240px;object-fit:contain;background:#eee;display:block;margin:0 0 10px}.image-credit{font-size:10px!important;color:#666!important;line-height:1.6!important}.detail-related{margin-top:18px;padding-top:15px;border-top:1px solid #ccc}.detail-related h3{font-size:12px;font-weight:550;margin:0 0 12px}.detail-related>a{display:block;font-size:12px;line-height:1.7;margin-bottom:10px}.battle-field{padding:12px 0;border-bottom:1px solid #d5d5d5}.battle-field h4{font-size:11px;font-weight:500;color:#666;margin:0 0 7px}.battle-field p{font-size:12px;line-height:1.75;color:#333;margin:0}.panel-reopen{display:none!important}
.map-controls{display:flex;position:absolute;left:12px;bottom:32px;background:#f8f8f8;border:1px solid #aaa;border-radius:2px;z-index:4;overflow:hidden}.map-controls button{height:29px;width:29px;font-size:20px;color:#222;display:grid;place-items:center;border-right:1px solid #c5c5c5}.map-controls button:last-child{border:0}.map-controls button:hover{background:#e3e3e3}.map-controls svg{height:16px;width:16px}.map-credit{position:absolute;left:12px;bottom:10px;color:#43564d;font-size:9px;pointer-events:none;text-shadow:0 1px #f9faf5}.journey-caption{position:absolute;bottom:12px;left:calc((100% - var(--side))/2);transform:translateX(-50%);padding:8px 11px;background:#fafafa;border:1px solid #aaa;border-radius:2px;font-size:11px;line-height:1.5;color:#333;max-width:400px;text-align:center;z-index:4}.records-hidden .journey-caption{left:50%}.maplibregl-marker svg{width:31px;height:31px;fill:#333;stroke:#fff;stroke-width:1.2;filter:drop-shadow(0 1px 1px #fff)}.maplibregl-canvas:focus{outline:0}.maplibregl-ctrl-bottom-right{display:none}.maplibregl-popup-content{font:12px Inter,sans-serif;background:#fff;color:#222;border:1px solid #aaa;padding:8px 10px;border-radius:2px;box-shadow:none}.maplibregl-popup-tip,.maplibregl-popup-close-button{display:none}
.timeline{height:76px;padding:7px 15px 6px;border-top:1px solid #aaa;background:var(--ui);position:relative;z-index:15}.timeline-controls{height:27px;display:flex;align-items:center;gap:8px}.play-button{display:grid;place-items:center;height:27px;width:27px;flex-shrink:0;background:#333;color:#fff;border-radius:2px}.play-button:hover{background:#111}.play-button svg{width:15px;height:15px;stroke:none;fill:currentColor}.step-button{height:27px;width:18px;font-size:24px;color:#555}.step-button:hover{color:#000}#year-form{display:flex;align-items:center;gap:4px}#year-input{width:65px;padding:1px 3px;border:0;border-radius:0;background:transparent;text-align:center;font-size:19px;font-weight:450;font-variant-numeric:tabular-nums;letter-spacing:0;outline:none}#year-input:focus{background:#fff;box-shadow:0 0 0 1px #999}#era-button{padding:4px 2px;font-size:10px;color:#555}#speed-dropdown{width:111px;margin-left:14px}.timeline .dropdown-trigger{height:27px;background:transparent;border:1px solid transparent;border-radius:2px;padding:4px 7px;font-size:11px}.timeline .dropdown-trigger:hover{border-color:#b8b8b8;background:#fff}.timeline-spacer{flex:1}#range-dropdown{width:135px}.small-control{height:26px;width:26px;border:1px solid #bbb;border-radius:2px;font-size:17px;color:#444}.small-control:hover{background:#fff}.date-label{font-size:10px;color:#555;min-width:31px;margin-left:6px}.scrubber{height:31px;margin-top:2px;position:relative}#histogram{display:none}#year-slider{display:block;appearance:none;width:100%;height:15px;background:transparent;margin:0;position:relative;top:1px;cursor:pointer;z-index:2}#year-slider::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#444 0%,#444 var(--progress,88%),#b8b8b8 var(--progress,88%),#b8b8b8 100%)}#year-slider::-webkit-slider-thumb{appearance:none;width:7px;height:13px;margin-top:-5.5px;border:1px solid #333;background:#f5f5f5;border-radius:1px}#year-slider::-moz-range-track{height:2px;background:#888}#year-slider::-moz-range-thumb{width:7px;height:13px;border:1px solid #333;border-radius:1px;background:#fff}#time-ticks{position:relative;margin-top:1px;height:12px}#time-ticks button{position:absolute;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:#626262;font-variant-numeric:tabular-nums}#time-ticks button:first-child{transform:none}#time-ticks button:last-child{transform:translateX(-100%)}#time-ticks button:hover{color:#000}
dialog{background:var(--paper);color:#222;border:1px solid #999;border-radius:3px;padding:0;max-height:80vh;box-shadow:0 8px 35px #0002}dialog::backdrop{background:#0003}.search-dialog{width:min(640px,calc(100vw - 28px));margin-top:78px}.search-input-row{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.search-input-row svg{width:19px;height:19px;color:#555;flex-shrink:0}.search-input-row input{width:100%;background:none;border:0;outline:none;font-size:16px;font-weight:400;letter-spacing:0}.search-input-row input::placeholder{color:#777}.search-input-row button{font-size:10px;color:#666;border:1px solid #bbb;padding:3px 5px;border-radius:2px}.search-tabs{display:flex;gap:24px;padding:0 17px;border-bottom:1px solid var(--line)}.search-tabs button{font-size:12px;color:#666;padding:13px 0;border-bottom:2px solid transparent}.search-tabs button[aria-selected=true]{color:#111;border-bottom-color:#333}.search-results{max-height:460px;min-height:130px;overflow:auto;padding:4px;scrollbar-width:thin;scrollbar-color:#bbb transparent}.search-result{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:13px 12px;border-radius:1px;line-height:1.5}.search-result:hover,.search-result.focused{background:#e7e7e7}.search-result>div{flex:1;min-width:0}.search-result strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:450}.search-result small{display:block;font-size:11px;color:#666;margin-top:4px}.search-result>span{font-size:11px;color:#666;white-space:nowrap}.search-result>svg{width:14px;height:14px;color:#666}.search-status{padding:10px 17px;border-top:1px solid var(--line);font-size:10px;color:#666;min-height:34px}.sources-dialog{width:min(660px,calc(100vw - 28px))}.sources-content{padding:4px 20px 20px;max-height:65vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#bbb transparent}.sources-content h3{font-size:13px;font-weight:550;margin:21px 0 10px}.sources-content p,.sources-content li{font-size:12px;line-height:1.8;color:#555}.source-record{padding:13px 0;border-bottom:1px solid #d5d5d5;display:grid;grid-template-columns:1fr auto;gap:8px}.source-record strong{font-size:13px;font-weight:500}.source-record small{display:block;font-size:11px;color:#666;margin-top:5px;line-height:1.6}.toast{position:fixed;bottom:89px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #999;padding:10px 14px;font-size:12px;color:#222;border-radius:2px;z-index:100}
@media(max-width:1000px){:root{--side:300px}.topbar{gap:17px}.search-launch{width:230px}.feed-filters{gap:8px}.feed-filters>div:last-child{width:105px}.record{grid-template-columns:60px 1fr;padding:11px 12px}.record h3{font-size:12px}}
@media(max-width:700px){html,body{height:100dvh}.topbar{height:43px;padding:0 11px;gap:16px}.brand{font-size:12px;margin:0}.toolbar-button{font-size:11px;gap:5px}.toolbar-button svg{width:14px;height:14px}#world-button,#share-button{display:none}.search-launch{width:30px;padding:5px;border:0;background:none}.search-launch span{display:none}#main{height:calc(100dvh - 119px)}#map,#map-labels{right:0}.feed-panel{top:auto;left:0;right:0;bottom:0;width:100%;height:34%;border:0;border-top:1px solid #999}.feed-panel .panel-heading{height:34px;padding:8px 12px}.feed-filters{padding:6px 12px 5px}.feed-filters .dropdown-trigger{height:26px;font-size:10px}.viewport-filter{position:absolute;top:11px;right:39px;padding:0;font-size:10px}.feed-range{display:none}.feed-bottom{padding:9px 12px}.record{padding:10px 12px;grid-template-columns:65px 1fr}.record h3{font-size:11px}.detail-panel{top:0;bottom:0;right:0;width:min(360px,100%);height:100%;border-left:1px solid #aaa}.layers-panel{left:10px;top:10px;width:238px;max-height:calc(100% - 20px)}.map-controls{left:10px;bottom:calc(34% + 12px)}.map-credit{bottom:calc(34% + 13px);left:auto;right:10px;font-size:8px}.records-hidden .map-controls{bottom:32px}.records-hidden .map-credit{bottom:10px;left:10px;right:auto}.journey-caption{left:50%;bottom:calc(34% + 12px);font-size:10px;max-width:75%}.records-hidden .journey-caption{bottom:12px}.polity-label{font-size:11px;max-width:130px}.polity-label.large{font-size:12px}.timeline{padding:7px 11px 6px}.timeline-controls{gap:5px}#year-input{width:56px;font-size:18px}#era-button{font-size:9px}#speed-dropdown{width:87px;margin-left:4px}.timeline .dropdown-trigger{font-size:10px;padding:4px 5px;gap:5px}#range-dropdown{width:101px}.small-control{display:none}.date-label{display:none}.step-button{width:15px}.timeline-spacer{flex:1}#time-ticks button{font-size:8px}.map-status{left:50%;font-size:11px;max-width:85%;top:12px}.search-dialog{margin-top:60px}.search-input-row{padding:14px}.search-input-row input{font-size:15px}.search-tabs{gap:20px}.search-tabs button{font-size:11px}.search-results{max-height:55vh}.sources-content{padding:4px 15px 18px}.toast{bottom:89px;max-width:90%;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* A cartographic workspace, with a compact tool rail and an unframed time strip. */
:root{--side:340px}.toolrail{position:fixed;left:0;top:0;bottom:0;width:58px;display:flex;flex-direction:column;align-items:center;background:#191919;color:#ddd;border-right:1px solid #333;padding:8px 5px;z-index:40}.rail-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:48px;height:57px;margin:2px 0;color:#bdbdbd;border-radius:3px;outline-offset:0}.rail-tool svg{width:20px;height:20px;stroke-width:1.35}.rail-tool span{font-size:9px;font-weight:450;line-height:1.1}.rail-tool:hover{background:#303030;color:#fff}.rail-tool[aria-expanded=true]{background:#353535;color:#fff}.rail-tool:focus-visible{outline:1px solid #aaa}.rail-space{flex:1}#main{position:absolute;top:0;left:58px;right:0;bottom:72px;height:auto}#map,#map-labels{right:var(--side)}.records-hidden #map,.records-hidden #map-labels{right:0}.timeline{position:fixed;left:58px;right:0;bottom:0;height:72px;padding:8px 18px 6px;background:#191919;border-top:1px solid #444;color:#efefef}.timeline-controls{height:25px;gap:10px}.play-button{width:24px;height:24px;background:transparent;border-radius:2px;color:#f5f5f5}.play-button:hover{background:#353535}.play-button svg{height:13px;width:13px}.step-button{font-size:20px;color:#bcbcbc;height:24px;width:16px;line-height:24px}.step-button:hover{color:white}#year-input{font-size:17px;font-weight:450;width:61px;padding:0;color:#f5f5f5;letter-spacing:0}#year-input:focus{background:#333;box-shadow:none}#era-button{font-size:10px;color:#bbb}#speed-dropdown{margin-left:17px;width:111px}.timeline .dropdown-trigger{font-size:11px;color:#d4d4d4;height:26px;padding:4px 6px;background:none;border-color:transparent}.timeline .dropdown-trigger svg{color:#aaa}.timeline .dropdown-trigger:hover{background:#303030;border-color:transparent}.timeline .dropdown-option{color:#333}.timeline .dropdown-option span{color:#333}.small-control{width:23px;height:23px;font-size:15px;color:#bbb;border-color:#484848;border-radius:2px}.small-control:hover{background:#333;color:white}.date-label{font-size:10px;color:#aaa}.scrubber{margin-top:2px}.timeline #time-ticks button{font-size:9px;color:#b0b0b0}.timeline #time-ticks button:hover{color:white}#year-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#d5d5d5 0%,#d5d5d5 var(--progress,88%),#666 var(--progress,88%),#666 100%)}#year-slider::-webkit-slider-thumb{height:11px;width:6px;margin-top:-4.5px;border:1px solid #ccc;background:#242424}.layers-panel{left:12px;top:12px;width:235px;background:#242424;color:#eee;border:1px solid #4c4c4c;border-radius:3px;max-height:calc(100% - 53px)}.layers-panel .panel-heading{height:40px;border-color:#424242;padding:10px 13px}.layers-panel .panel-heading h2{font-size:13px;font-weight:500}.layers-panel .icon-button{color:#b5b5b5}.layer-list{padding:7px 0}.layer-row{min-height:33px;font-size:12px;padding:6px 13px;color:#e0e0e0;flex-direction:row-reverse;justify-content:flex-end;gap:11px}.layer-row:hover{background:#303030}.switch{width:14px;height:14px}.switch-track{border:1px solid #7b7b7b;border-radius:2px;background:none}.switch-track:after{content:'✓';font-size:11px;line-height:11px;text-align:center;top:0;left:0;width:12px;height:12px;background:none;border-radius:0;color:#1b1b1b;display:none;transition:none}.switch input:checked+.switch-track{background:#e3e3e3;border-color:#e3e3e3}.switch input:checked+.switch-track:after{display:block;transform:none}.layers-panel .panel-section,.layers-panel .world-stats,.layers-panel .coverage-button{border-color:#424242}.layers-panel .field-label{font-size:11px;color:#aaa}.layers-panel .dropdown-trigger{background:none;border:0;border-bottom:1px solid #666;border-radius:0;color:#eee;font-size:12px;padding:5px 0;height:29px}.layers-panel .dropdown-trigger svg{color:#bbb}.layers-panel .data-note{font-size:10px!important;color:#b6b6b6!important}.layers-panel .stat-row{font-size:11px;color:#c2c2c2}.layers-panel .stat-value{font-size:13px;color:#fff}.layers-panel .stat-year{color:#aaa}.layers-panel .coverage-button{font-size:10px;color:#aaa}.layers-panel .text-button{font-size:11px;color:#eee}.feed-panel,.detail-panel{background:#f7f7f5;color:#232323;border-left:1px solid #9e9e9e}.feed-panel .panel-heading,.detail-panel .panel-heading{height:49px;padding:14px 18px;border-bottom:1px solid #c6c6c6;background:#f7f7f5}.feed-panel .panel-heading h2{font-size:16px;font-weight:500}.feed-filters{gap:20px;padding:9px 18px 5px}.feed-filters .dropdown-trigger{background:none;border:0;border-bottom:1px solid transparent;border-radius:0;padding:4px 0;height:28px;font-size:11px}.feed-filters .dropdown-trigger:hover{border-bottom-color:#666}.viewport-filter{padding:5px 18px 11px;font-size:10px}.feed-range{padding:9px 18px;font-size:11px;border-color:#c6c6c6;color:#555}.record{display:block;padding:15px 18px 16px;border-bottom:1px solid #d5d5d5;background:none}.record-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.record-meta time{font-size:10px;line-height:1.4;color:#666;white-space:nowrap}.record-meta span{display:block;font-size:10px;line-height:1.4;color:#666;text-transform:capitalize}.record h3{font-size:14px;line-height:1.45;font-weight:480;color:#202020;letter-spacing:0}.record p{font-size:12px;line-height:1.65;color:#555;margin:8px 0 0}.record:hover{background:#ececea}.record.selected{background:#e4e4e2;box-shadow:inset 2px 0 #333}.feed-bottom{padding:12px 18px;border-color:#c6c6c6;font-size:10px}.detail-body{padding:18px}.detail-body h2{font-size:21px;font-weight:500;line-height:1.3;margin-bottom:17px}.detail-body p{font-size:13px;line-height:1.75;color:#393939}.detail-date{font-size:11px;margin-bottom:12px}.record-field{font-size:12px;padding:11px 0}.source-links{gap:11px}.source-links a{font-size:11px}.detail-related h3{font-size:13px}.battle-field h4{font-size:11px;color:#626262}.battle-field p{font-size:12px;line-height:1.8}.detail-panel .back-button{font-size:12px}.map-controls{left:12px;bottom:32px;border-radius:2px;background:#fff}.map-credit{left:12px;bottom:10px}.map-status{background:#f7f7f5}.search-dialog{margin-top:60px;background:#f9f9f7;border:1px solid #888;border-radius:3px;box-shadow:0 6px 30px #0002}.search-input-row{padding:19px 20px}.search-input-row input{font-size:17px}.search-tabs{padding:0 20px;gap:24px}.search-tabs button{padding:13px 0;font-size:12px}.search-result{padding:14px 15px}.search-result strong{font-size:14px;font-weight:450}.search-result small{font-size:11px}.search-status{font-size:10px}.toast{bottom:84px;left:calc(50% + 29px)}@media(max-width:1000px){:root{--side:312px}.record{padding:13px 16px}.record h3{font-size:13px}.record p{font-size:12px}.feed-panel .panel-heading,.detail-panel .panel-heading{padding-left:16px;padding-right:16px}.detail-body{padding:16px}}@media(max-width:700px){.toolrail{width:47px;padding:5px 3px}.rail-tool{width:40px;height:51px;gap:5px;margin:1px 0}.rail-tool svg{width:18px;height:18px}.rail-tool span{font-size:8px}.rail-space{min-height:20px}#main{left:47px;top:0;bottom:72px;height:auto}#map,#map-labels{right:0}.timeline{left:47px;height:72px;padding:8px 10px 6px}.timeline-controls{gap:4px}#year-input{font-size:16px;width:53px}#era-button{font-size:9px}#speed-dropdown{width:82px;margin-left:4px}.timeline .dropdown-trigger{font-size:9px;padding:4px 3px;gap:4px}#range-dropdown{width:89px}.timeline .dropdown-trigger svg{width:10px;height:10px}.feed-panel{left:auto;right:0;top:0;bottom:0;width:min(340px,100%);height:100%;max-height:none;border-top:0;border-left:1px solid #aaa}.feed-panel .panel-heading{height:45px}.feed-panel .panel-heading h2{font-size:15px}.feed-filters{padding:8px 16px 5px}.feed-filters .dropdown-trigger{font-size:11px}.viewport-filter{position:static;padding:5px 16px 11px;font-size:10px}.feed-range{display:block;padding:8px 16px;font-size:10px}.record{padding:14px 16px}.record h3{font-size:13px}.record-meta time,.record-meta span{font-size:10px}.detail-panel{width:min(360px,100%)}.detail-body h2{font-size:19px}.detail-body p{font-size:12px}.layers-panel{left:10px;top:10px;width:min(235px,calc(100% - 20px));max-height:calc(100% - 20px)}.map-controls,.records-hidden .map-controls{bottom:32px;left:10px}.map-credit,.records-hidden .map-credit{bottom:10px;left:10px;right:auto}.journey-caption,.records-hidden .journey-caption{bottom:12px;left:50%;max-width:75%}.toast{bottom:84px;left:calc(50% + 23px)}.date-label{display:none}}
.map-tooltip{position:absolute;z-index:8;pointer-events:none;background:#fff;border:1px solid #999;border-radius:2px;padding:9px 12px;font:12px/1.45 Inter,sans-serif;color:#222;box-shadow:0 1px 3px #0001;white-space:normal}.map-controls button,.small-control{display:grid;place-items:center;padding:0;line-height:1}.map-controls button svg,.small-control svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;margin:0}.small-control svg{width:13px;height:13px;stroke-width:1.5}
:root{color-scheme:light;--chrome:#f3f3f3;--chrome-ink:#303030;--chrome-muted:#606060;--chrome-line:#c8c8c8;--panel-bg:#fafafa;--panel-ink:#262626;--panel-muted:#626262;--panel-line:#d0d0d0;--panel-hover:#ebebeb;--shadow:0 3px 14px #00000014;--radius:10px}
:root[data-theme=dark]{color-scheme:dark;--ui:#1b1b1b;--paper:#242424;--ink:#ededed;--muted:#b4b4b4;--line:#464646;--hover:#303030;--chrome:#181818;--chrome-ink:#ededed;--chrome-muted:#b7b7b7;--chrome-line:#414141;--panel-bg:#242424;--panel-ink:#ededed;--panel-muted:#b7b7b7;--panel-line:#454545;--panel-hover:#303030;--shadow:0 3px 16px #0000002b}
.toolrail{background:var(--chrome);color:var(--chrome-ink);border-color:var(--chrome-line)}.rail-tool{color:var(--chrome-muted);border-radius:7px}.rail-tool:hover,.rail-tool[aria-expanded=true]{background:var(--panel-hover);color:var(--chrome-ink)}.timeline{background:var(--chrome);color:var(--chrome-ink);border-color:var(--chrome-line)}.play-button{color:var(--chrome-ink)}.play-button:hover{background:var(--panel-hover)}.step-button,#era-button{color:var(--chrome-muted)}.step-button:hover{color:var(--chrome-ink)}#year-input{color:var(--chrome-ink)}#year-input:focus{background:var(--panel-hover)}.timeline .dropdown-trigger{color:var(--chrome-ink);border-radius:6px}.timeline .dropdown-trigger:hover{background:var(--panel-hover)}.timeline .dropdown-trigger svg{color:var(--chrome-muted)}.small-control{color:var(--chrome-muted);border-color:var(--chrome-line);border-radius:5px}.small-control:hover{color:var(--chrome-ink);background:var(--panel-hover)}.timeline #time-ticks button{color:var(--chrome-muted)}.timeline #time-ticks button:hover{color:var(--chrome-ink)}#year-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#555 0%,#555 var(--progress,88%),#b8b8b8 var(--progress,88%),#b8b8b8 100%)}#year-slider::-webkit-slider-thumb{background:#f4f4f4;border-color:#444}:root[data-theme=dark] #year-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#d5d5d5 0%,#d5d5d5 var(--progress,88%),#666 var(--progress,88%),#666 100%)}:root[data-theme=dark] #year-slider::-webkit-slider-thumb{background:#242424;border-color:#ccc}
.panel,dialog{background:var(--panel-bg);color:var(--panel-ink);border:1px solid var(--panel-line);border-radius:var(--radius);box-shadow:var(--shadow)}.feed-panel,.detail-panel{top:10px;right:10px;bottom:10px;width:calc(var(--side) - 20px);max-height:calc(100% - 20px);border:1px solid var(--panel-line);border-radius:var(--radius);box-shadow:var(--shadow)}.layers-panel{top:var(--layers-top,70px);max-height:calc(100% - var(--layers-top,70px) - 46px);background:var(--panel-bg);color:var(--panel-ink);border-color:var(--panel-line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading,.layers-panel .panel-heading,.feed-panel .panel-heading,.detail-panel .panel-heading{height:46px;min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-color:var(--panel-line);background:var(--panel-bg)}.panel-heading h2,.layers-panel .panel-heading h2{margin:0;line-height:22px;font-size:14px;font-weight:550}.icon-button,.layers-panel .icon-button{width:24px;height:24px;line-height:1;display:grid;place-items:center;color:var(--panel-muted);padding:0;flex-shrink:0}.icon-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;display:block;fill:none}.icon-button:hover{color:var(--panel-ink);background:var(--panel-hover);border-radius:5px}.layer-row{flex-direction:row;justify-content:space-between;align-items:center;min-height:35px;padding:7px 15px;color:var(--panel-ink)}.layer-row:hover{background:var(--panel-hover)}.switch{width:29px;height:17px}.switch-track{border:0;border-radius:10px;background:#bdbdbd}.switch-track:after{content:'';display:block;position:absolute;top:3px;left:3px;width:11px;height:11px;border:0;border-radius:50%;background:#fff;transform:none;transition:transform .16s ease}.switch input:checked+.switch-track{background:#333;border:0}.switch input:checked+.switch-track:after{display:block;transform:translateX(12px);background:#fff}:root[data-theme=dark] .switch-track{background:#555}:root[data-theme=dark] .switch input:checked+.switch-track{background:#d8d8d8}:root[data-theme=dark] .switch input:checked+.switch-track:after{background:#252525}.layers-panel .panel-section{padding:12px 15px;border-color:var(--panel-line)}.layers-panel .field-label{color:var(--panel-muted)}.layers-panel .dropdown-trigger{color:var(--panel-ink);border-bottom-color:var(--panel-line);border-radius:0}.layers-panel .dropdown-trigger svg{color:var(--panel-muted)}.layers-panel .data-note{color:var(--panel-muted)!important}.layers-panel .text-button{color:var(--panel-ink)}.coverage-button{display:none!important}
.world-stats.stats-unit{position:absolute;left:12px;top:12px;width:235px;max-width:calc(100% - 24px);padding:10px 13px;border:1px solid var(--panel-line);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow);z-index:6;color:var(--panel-ink)}.stats-unit .stat-row{padding:3px 0;font-size:10px;color:var(--panel-muted);gap:12px}.stats-unit .stat-value{font-size:13px;color:var(--panel-ink);font-weight:500}.stats-unit .stat-year{font-size:9px;color:var(--panel-muted)}.stats-unit .data-note{margin:5px 0 0;font-size:9px!important;line-height:1.4!important;color:var(--panel-muted)!important}
.dropdown-trigger,.dropdown-option{border-radius:5px}.dropdown-menu{background:var(--panel-bg);color:var(--panel-ink);border-color:var(--panel-line);border-radius:8px;box-shadow:var(--shadow);padding:4px}.dropdown-option,.timeline .dropdown-option,.timeline .dropdown-option span{color:var(--panel-ink)}.dropdown-option:hover,.dropdown-option:focus-visible,.dropdown-option[aria-selected=true]{background:var(--panel-hover);color:var(--panel-ink)}.feed-filters .dropdown-trigger{color:var(--panel-ink)}.feed-filters .dropdown-trigger svg{color:var(--panel-muted)}.viewport-filter,.feed-range,.record-meta time,.record-meta span,.feed-bottom{color:var(--panel-muted);border-color:var(--panel-line)}.record{border-color:var(--panel-line)}.record h3{color:var(--panel-ink)}.record p{color:var(--panel-muted)}.record:hover{background:var(--panel-hover)}.record.selected{background:var(--panel-hover);box-shadow:inset 2px 0 var(--panel-ink)}.feed-bottom .text-button,.back-button{color:var(--panel-ink)}.detail-kind,.detail-date{color:var(--panel-muted)}.detail-body{padding:16px}.detail-body h2{margin:0 0 14px;color:var(--panel-ink);line-height:1.35}.detail-body p{color:var(--panel-ink);margin:0 0 12px;line-height:1.75}.detail-body .record-field{padding:10px 0;border-color:var(--panel-line);align-items:baseline}.record-field>span{color:var(--panel-muted)}.record-field>strong{color:var(--panel-ink)}.detail-body .record-field+.data-note{margin:10px 0 0!important;line-height:1.6!important}.detail-body .source-links{padding-top:12px;gap:8px}.detail-body>.data-note{color:var(--panel-muted)!important;margin-bottom:0}.detail-body .detail-related{border-color:var(--panel-line);margin-top:16px;padding-top:14px}.detail-related h3,.battle-field h4{color:var(--panel-muted)}.battle-field{border-color:var(--panel-line)}.battle-field p{color:var(--panel-ink)}#record-image:empty,#related-documents:empty,#battle-enrichment:empty{display:none}.image-credit{color:var(--panel-muted)!important}.detail-body .data-note+.source-links{padding-top:12px}.source-links a{line-height:1.5}.map-tooltip{border-radius:7px;background:var(--panel-bg);color:var(--panel-ink);border-color:var(--panel-line);box-shadow:var(--shadow)}.map-controls{border-radius:7px;box-shadow:0 2px 8px #00000012;background:var(--panel-bg);border-color:var(--panel-line)}.map-controls button{color:var(--panel-ink);border-color:var(--panel-line)}.map-controls button:hover{background:var(--panel-hover)}
dialog{border-radius:12px}.search-dialog,.sources-dialog{background:var(--panel-bg);border-color:var(--panel-line);border-radius:12px;box-shadow:0 8px 40px #00000026}.search-input-row,.search-tabs,.search-status,.source-record{border-color:var(--panel-line)}.search-input-row input{color:var(--panel-ink)}.search-input-row svg,.search-input-row input::placeholder,.search-input-row button{color:var(--panel-muted)}.search-tabs button{color:var(--panel-muted)}.search-tabs button[aria-selected=true]{color:var(--panel-ink);border-color:var(--panel-ink)}.search-result{border-radius:7px;color:var(--panel-ink)}.search-result:hover,.search-result.focused{background:var(--panel-hover)}.search-result small,.search-result>span,.search-result>svg,.search-status{color:var(--panel-muted)}.sources-content p,.sources-content li,.source-record small{color:var(--panel-muted)}.sources-content h3,.source-record strong{color:var(--panel-ink)}.toast{border-radius:8px;box-shadow:var(--shadow);background:var(--panel-bg);color:var(--panel-ink);border-color:var(--panel-line)}.journey-caption{border-radius:8px;background:var(--panel-bg);color:var(--panel-ink);box-shadow:var(--shadow);border-color:var(--panel-line)}
@keyframes surface-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.panel:not([hidden]){animation:surface-in .18s cubic-bezier(.2,.7,.2,1)}dialog[open]{animation:modal-in .2s cubic-bezier(.2,.7,.2,1)}.dropdown-menu:not([hidden]){animation:surface-in .12s ease-out}.panel,.dropdown-menu,dialog{transition:background-color .16s ease,color .16s ease,border-color .16s ease}.detail-body{animation:surface-in .16s ease-out}
@media(max-width:700px){.feed-panel,.detail-panel{top:8px;right:8px;bottom:8px;left:auto;width:min(340px,calc(100% - 16px));height:calc(100% - 16px);max-height:calc(100% - 16px);border:1px solid var(--panel-line);border-radius:10px}.world-stats.stats-unit{left:10px;top:10px;width:220px;padding:9px 12px}.layers-panel{left:10px;top:var(--layers-top,68px);width:min(235px,calc(100% - 20px));max-height:calc(100% - var(--layers-top,68px) - 15px)}.stats-unit .stat-row{font-size:10px}.stats-unit .stat-value{font-size:12px}.toolrail{overflow-y:auto;scrollbar-width:none}.rail-tool{flex-shrink:0}.rail-space{min-height:10px}.map-tooltip{font-size:11px}}@media(prefers-reduced-motion:reduce){.panel,dialog,.dropdown-menu,.detail-body{animation:none!important;transition:none!important}}
@media(max-width:500px){.feed-panel,.detail-panel{top:var(--layers-top,70px);height:calc(100% - var(--layers-top,70px) - 8px);max-height:calc(100% - var(--layers-top,70px) - 8px);width:calc(100% - 16px)}.world-stats.stats-unit{width:calc(100% - 20px);display:flex;flex-wrap:wrap;gap:1px 16px;padding:9px 12px}.stats-unit .stat-row{gap:9px;flex:1;min-width:120px}.stats-unit .data-note{width:100%;margin-top:2px}}
.layers-panel{max-height:calc(100% - var(--layers-top,70px) - 76px)}.layers-panel .panel-heading{position:sticky;top:0;z-index:3}.stats-unit:not([hidden]){animation:surface-in .18s cubic-bezier(.2,.7,.2,1)}.viewport-filter input{background:var(--panel-bg);border-color:#888}.viewport-filter input:checked{background:#333;border-color:#333}:root[data-theme=dark] .viewport-filter input:checked{background:#ddd;border-color:#ddd}:root[data-theme=dark] .viewport-filter input:checked:after{color:#222}.search-input-row input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}@media(max-width:700px){.layers-panel{max-height:calc(100% - var(--layers-top,70px) - 76px)}}
