@font-face{font-family:AtlasHand;src:url('fonts/atlas-hand.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:AtlasSimplified;src:url('fonts/atlas-simplified.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:AtlasSerif;src:url('fonts/atlas-serif.woff') format('woff');font-weight:400;font-display:swap}
:root{--paper:#f3efe5;--ink:#35372f;--red:#924c3c;--rule:#cfc6b6;--muted:#777567;--map-font:AtlasHand;--map-size:29px;color-scheme:light}:root[data-script=sc]{--map-font:AtlasSimplified;--map-size:24px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}body{font-family:AtlasSerif,'Noto Serif CJK SC','Songti SC',serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:hover,a:hover{color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}.atlas-shell{height:100vh;height:100svh;min-height:590px;display:grid;grid-template-rows:86px minmax(0,1fr) 130px;overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23554b39' opacity='.035' filter='url(%23p)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.masthead{display:flex;align-items:center;gap:25px;padding:0 34px;border-bottom:1px solid var(--rule);z-index:2}.brand{font-size:38px;line-height:1;letter-spacing:5px;white-space:nowrap}.site-title{font-size:22px;letter-spacing:2px;border-left:1px solid #aaa18e;padding-left:26px;white-space:nowrap}.art-filters{margin-left:auto;display:flex;align-items:center;gap:26px;height:100%}.art-filters button{position:relative;font-size:17px;height:100%;padding:0 1px;white-space:nowrap}.art-filters button:after{content:'';position:absolute;bottom:16px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(0);transition:transform .2s}.art-filters button.active:after{transform:scaleX(1)}.script-switch{display:flex;align-items:center;gap:9px;font-size:15px;margin-left:13px;white-space:nowrap}.script-switch button{padding:8px 0;color:#8d8778}.script-switch button.active{color:var(--red)}.script-switch>span{color:#a69b86;font-size:11px}
.atlas-main{display:grid;grid-template-columns:minmax(0,1fr) 342px;min-height:0}.map-area{position:relative;min-width:0;min-height:0;overflow:hidden}#atlas-map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#atlas-map.dragging{cursor:grabbing}.base-land{fill:#e8e2d5;fill-opacity:.24;stroke:#7e7c6c;stroke-opacity:.3;stroke-width:.75;vector-effect:non-scaling-stroke;filter:url(#pen-line)}.revealed-land{fill:#bdad8b;fill-opacity:.16;stroke:#6b6c5d;stroke-width:.85;vector-effect:non-scaling-stroke;filter:url(#pen-line)}.mountain-line{fill:none;stroke:#81785f;stroke-width:.7;stroke-opacity:.44;vector-effect:non-scaling-stroke}.mountain-hatch{fill:none;stroke:#8b826b;stroke-width:.55;stroke-opacity:.28;vector-effect:non-scaling-stroke}.spread-field{transition:opacity .28s ease,r .28s ease}.place-marker{cursor:pointer;outline:none}.place-dot{fill:var(--red);stroke:var(--paper);stroke-width:2}.selection-ring{fill:none;stroke:var(--red);stroke-width:1.1;opacity:0}.place-marker.selected .selection-ring{opacity:1}.arrival-ring{fill:none;stroke:#a85b40;stroke-width:1.7;opacity:0;transform-box:fill-box;transform-origin:center}.arrival-ring.arriving{animation:arrival .8s ease-out 1}.place-marker:focus-visible .selection-ring{opacity:1;stroke-width:2.5}@keyframes arrival{0%{opacity:0;transform:scale(.45)}25%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}.place-label{cursor:pointer;font-family:var(--map-font),AtlasSimplified,serif;font-size:var(--map-size);font-weight:400;fill:#45483d;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;transition:fill .2s;user-select:none}.place-label.selected{fill:var(--red)}.label-leader{stroke:#8f8977;stroke-width:.6;stroke-opacity:.55;fill:none;pointer-events:none}.map-controls{position:absolute;bottom:24px;left:26px;display:flex;flex-direction:column;gap:4px}.map-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #b9b09d;background:#f3efe5e8;font:23px/1 Georgia,serif}.map-controls button:last-child{font-size:21px}.sources-link{position:absolute;right:25px;bottom:27px;font-size:13px;color:var(--muted);border-bottom:1px solid #c7beaa;padding:0 0 2px}
.art-panel{border-left:1px solid var(--rule);min-height:0;overflow:hidden}.panel-scroll{height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#c8bfad transparent;padding:22px 22px 23px}.art-image{margin:0;aspect-ratio:1/1.12;overflow:hidden;background:#e0d8c8;position:relative}.art-image img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .18s}.art-image.portrait img{object-position:center 23%}.art-copy{padding:20px 4px 0}.art-copy h1{font-size:27px;font-weight:400;margin:0 0 12px;line-height:1.45;letter-spacing:1px}.art-date{margin:0 0 7px;font-size:15px;color:#6c6758}.art-location{font-size:15px;margin:0;color:#6c6758;line-height:1.8}.art-body{font-size:15.5px;line-height:2.05;letter-spacing:.3px;margin:21px 0 0}.art-foot{display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding-top:15px;border-top:1px solid var(--rule)}.art-foot>a{font-size:13px;color:var(--muted)}.art-paging{display:flex;gap:19px}.art-paging button{font:22px/1 Georgia;padding:5px 0;min-width:25px}.empty-state{font-size:17px;line-height:2;padding:35px 8px}
.time-axis{display:flex;align-items:center;gap:27px;border-top:1px solid var(--rule);padding:35px 40px 23px 28px;z-index:2}.play-button{border:1px solid #b8ac94;display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:50%;margin-top:-4px}.play-button svg{width:17px;height:17px;fill:var(--ink);stroke:var(--ink);stroke-width:1}.time-track{position:relative;flex:1;padding-top:22px;padding-bottom:26px;min-width:0}#year-output{position:absolute;top:-12px;left:40%;font-size:21px;line-height:1.3;color:var(--red);transform:translateX(-50%);white-space:nowrap;font-variant-numeric:tabular-nums}#year-slider{appearance:none;-webkit-appearance:none;width:100%;display:block;height:24px;margin:0;background:transparent;cursor:ew-resize;position:relative;z-index:2}#year-slider::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,var(--red) 0%,var(--red) var(--progress,40%),#a89f8d var(--progress,40%),#a89f8d 100%)}#year-slider::-moz-range-track{height:1px;background:#a89f8d}#year-slider::-moz-range-progress{height:2px;background:var(--red)}#year-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin-top:-6.5px;border:1.5px solid var(--red);border-radius:50%;background:var(--paper);box-shadow:0 0 0 4px #f3efe580}#year-slider::-moz-range-thumb{width:12px;height:12px;border:1.5px solid var(--red);border-radius:50%;background:var(--paper)}.year-ticks{position:absolute;top:34px;left:7px;right:7px;height:29px;pointer-events:none}.year-ticks>span{position:absolute;top:0;transform:translateX(-50%);font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:11px}.year-ticks>span:before{content:'';position:absolute;width:1px;height:9px;top:-5px;left:50%;background:#a89f8d}.year-ticks>span:first-child{transform:none}.year-ticks>span:first-child:before{left:0}.year-ticks>span:last-child{transform:translateX(-100%)}.year-ticks>span:last-child:before{left:100%}
 dialog{max-width:760px;width:calc(100% - 40px);max-height:85svh;overflow:auto;padding:38px 42px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-size:15px;line-height:1.95}dialog::backdrop{background:#2e312b88;backdrop-filter:blur(3px)}dialog h2{font-weight:400;font-size:27px;margin:0 0 22px}.dialog-close{position:absolute;right:15px;top:8px;font-size:28px}.font-credit{font-size:13px;border-top:1px solid var(--rule);padding-top:15px}.font-credit a,dialog li a{color:var(--red);text-decoration:underline;text-underline-offset:4px}#selected-note{color:var(--red)}#source-list{padding-left:21px}#source-list li{margin:13px 0}#source-list .image-credit{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.noscript-note{position:fixed;top:100px;left:30px;background:var(--paper);padding:20px;border:1px solid}
@media(min-width:1600px){.atlas-main{grid-template-columns:minmax(0,1fr) 390px}.panel-scroll{padding:26px}.art-copy h1{font-size:30px}.art-body{font-size:17px}.masthead{padding-inline:42px}.atlas-shell{grid-template-rows:94px minmax(0,1fr) 142px}}
@media(max-width:1050px){.masthead{padding-inline:24px;gap:18px}.brand{font-size:32px}.site-title{font-size:19px;padding-left:18px;letter-spacing:1px}.art-filters{gap:18px}.art-filters button{font-size:15px}.script-switch{margin-left:4px}.atlas-main{grid-template-columns:minmax(0,1fr) 290px}.panel-scroll{padding:16px}.art-copy h1{font-size:24px}.art-body{font-size:14px}.art-copy{padding-top:17px}.art-image{aspect-ratio:1/1.1}}
@media(max-width:740px){.atlas-shell{height:auto;min-height:100svh;overflow:visible;display:flex;flex-direction:column}.masthead{height:auto;min-height:100px;flex-wrap:wrap;gap:0;padding:16px 20px 0}.brand{font-size:30px}.site-title{font-size:18px;margin-left:17px;padding-left:17px}.script-switch{margin-left:auto;font-size:15px;gap:8px}.art-filters{width:100%;height:38px;justify-content:center;margin-left:0;gap:37px;margin-top:8px}.art-filters button{font-size:14px}.art-filters button:after{bottom:0}.atlas-main{display:flex;flex-direction:column}.map-area{height:52svh;min-height:350px;max-height:550px;order:0}.map-controls{bottom:16px;left:17px}.map-controls button{width:29px;height:29px}.sources-link{bottom:18px;right:18px}.art-panel{border-left:0;border-top:1px solid var(--rule);order:2;margin-bottom:104px}.panel-scroll{display:grid;grid-template-columns:38% minmax(0,1fr);gap:20px;overflow:visible;height:auto;padding:25px 20px}.art-image{aspect-ratio:1/1.3;margin-top:3px;position:sticky;top:20px}.art-copy{padding:0}.art-copy h1{font-size:23px}.art-date,.art-location{font-size:13px}.art-body{font-size:14px;margin-top:15px;line-height:1.95}.art-foot{margin-top:18px;padding-top:10px}.empty-state{grid-column:1/-1}.time-axis{position:fixed;bottom:0;left:0;right:0;height:104px;padding:24px 21px 16px 18px;gap:17px;background:var(--paper);box-shadow:0 -7px 20px #f3efe566;z-index:10}.play-button{width:31px;height:31px}.play-button svg{width:14px;height:14px}#year-output{font-size:18px;top:-8px}.year-ticks>span{font-size:11px}.year-ticks>span[data-year="1"]{display:none}.time-track{padding-top:23px}dialog{padding:30px 24px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep artwork and interpretation in view together on shorter desktop screens. */
@media(min-width:741px){.art-image{aspect-ratio:1/1;max-height:40svh}.art-image.portrait img{transform:scale(1.38);transform-origin:50% 22%}}
/* Exchange corridors, country references, and an engraved chronological ruler. */
:root[data-script=sc]{--map-size:30px}.place-label{font-family:var(--map-font),AtlasSerif,serif}.revealed-land{fill-opacity:.085;stroke:#777766;stroke-width:.65}.mountain-line{stroke-opacity:.28}.mountain-hatch{stroke-opacity:.2}
.route-controls{position:absolute;left:26px;top:18px;display:flex;align-items:center;gap:20px;padding:6px 2px 8px;background:#f3efe5eb;border-bottom:1px solid #cfc6b6aa}.route-controls button{display:flex;align-items:center;gap:8px;font-size:14px;padding:3px 0;color:#9c9688;white-space:nowrap}.route-controls button.active{color:var(--ink)}.route-controls button[data-layer=showCountries]{border-left:1px solid var(--rule);padding-left:18px}.line-sample{display:block;width:23px;border-top:1.5px solid #985d49;opacity:.4}.line-sample.sea{border-top:1.5px dashed #607b78}.active .line-sample{opacity:1}.country-label{font-family:AtlasSerif,serif;fill:#807d6b;letter-spacing:2px;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;pointer-events:none;opacity:.82;transition:opacity .15s}.country-label.country-muted{opacity:.28}.route-line,.route-arrow{stroke:#985d49;stroke-width:1.25;opacity:.5;stroke-linecap:round;stroke-linejoin:round;transition:opacity .14s}.sea .route-line,.sea .route-arrow{stroke:#607b78}.sea .route-line{stroke-dasharray:4 5}.route-current .route-line,.route-current .route-arrow{opacity:.85}.exchange-route.selected .route-line,.exchange-route.selected .route-arrow{opacity:1;stroke-width:2}.exchange-route.route-muted .route-line,.exchange-route.route-muted .route-arrow{opacity:.14}.exchange-route:hover .route-line{opacity:1}.route-hit{stroke:transparent;stroke-width:13;cursor:pointer;pointer-events:stroke}.route-hit:focus-visible{outline:none;stroke:#a7a08a55}.place-marker.place-muted,.place-label.place-muted{opacity:.3}
.atlas-shell{grid-template-rows:86px minmax(0,1fr) 154px}.time-axis{padding:16px 36px 17px 28px;gap:28px;background:linear-gradient(180deg,#f0ebdf33,#e9e1d133)}.time-track{height:112px;padding:0}.play-button{margin-top:12px}.time-ruler{position:absolute;top:47px;left:12px;width:calc(100% - 24px);height:32px;overflow:visible;pointer-events:none}.ruler-baseline{stroke:#b4a991;stroke-width:.8;vector-effect:non-scaling-stroke}.ruler-major{stroke:#8e8269;stroke-width:1;vector-effect:non-scaling-stroke}.ruler-minor{stroke:#b9ae98;stroke-width:.65;vector-effect:non-scaling-stroke}.time-progress{position:absolute;left:12px;top:63px;height:1px;background:var(--red);pointer-events:none}.time-cursor{position:absolute;top:36px;width:24px;height:54px;transform:translateX(-50%);pointer-events:none;z-index:3}.time-cursor svg{display:block;width:24px;height:54px;overflow:visible}.cursor-diamond{stroke:var(--red);stroke-width:1.1;fill:var(--paper)}.cursor-needle{stroke:var(--red);stroke-width:1.3;fill:none}#year-output{top:-3px;padding:6px 15px 7px;border:1px solid #b9a98c;background:var(--paper);font-size:22px;letter-spacing:1px;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);line-height:1.3}#year-slider{position:absolute;top:43px;height:40px;background:transparent;cursor:ew-resize}#year-slider::-webkit-slider-runnable-track{height:1px;background:transparent}#year-slider::-webkit-slider-thumb{width:24px;height:40px;margin-top:-19.5px;border:0;border-radius:0;background:transparent;box-shadow:none}#year-slider::-moz-range-track,#year-slider::-moz-range-progress{height:1px;background:transparent}#year-slider::-moz-range-thumb{width:24px;height:40px;border:0;border-radius:0;background:transparent}.year-ticks{top:77px;left:12px;right:12px}.year-ticks>span{font-size:13px;padding-top:9px;letter-spacing:.5px}.year-ticks>span:before{display:none}.time-track:focus-within .cursor-diamond{fill:#e9c9b6}
@media(min-width:1600px){.atlas-shell{grid-template-rows:94px minmax(0,1fr) 162px}}
@media(max-width:740px){.atlas-shell{display:flex;height:auto}.route-controls{left:17px;top:10px;gap:15px}.route-controls button{font-size:12px;gap:6px}.route-controls button[data-layer=showCountries]{padding-left:13px}.line-sample{width:18px}.country-label{letter-spacing:1px}.time-axis{height:122px;padding:9px 18px 10px;gap:16px;background:var(--paper)}.time-track{height:101px}.play-button{margin-top:16px}.time-ruler{top:40px}.time-progress{top:56px}.time-cursor{top:29px}#year-slider{top:36px}#year-output{font-size:17px;padding:5px 10px;top:-3px;letter-spacing:0}.year-ticks{top:70px}.year-ticks>span{font-size:11px}.art-panel{margin-bottom:122px}.panel-scroll.no-art-image{display:block}}

/* Dated history stays within the shared artwork panel. */
.art-context{margin-top:16px!important}
.event-links{margin-top:27px;border-top:1px solid var(--rule);padding-top:12px}
.event-links button{display:block;width:100%;text-align:left;padding:9px 0;color:var(--ink);font-family:inherit;line-height:1.8}
.event-links button span{display:block}
.event-links button span:first-child{color:var(--red);font-size:12px}
.event-links button span:last-child{font-size:15px}
.event-links button:hover span:last-child{color:var(--red)}
.exchange-route.style .route-line{stroke:#9c743c;stroke-dasharray:2 6;stroke-width:1.7}
.exchange-route.style .route-arrow{stroke:#9c743c}
.exchange-route.style.selected .route-line{stroke:#875e25;stroke-width:2.5}

.route-waypoint-dot{fill:var(--paper);stroke:var(--red);stroke-width:1.3;pointer-events:none}.route-waypoint-label{font-family:var(--map-font),AtlasSerif,serif;fill:#6d4937;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;pointer-events:none}
