@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#111d1b;--panel:#172320;--line:#b89b6350;--gold:#c9aa70;--paper:#eee4ce;--muted:#b1b6a6;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,system-ui,sans-serif;color-scheme:dark;font-family:var(--sans);color:var(--paper);background:var(--ink)}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{opacity:.35;cursor:default}button{border:0;background:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.atlas{height:100dvh;min-height:560px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 40% 30%,#24352e55,transparent 75%),var(--ink)}.masthead{height:104px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 36px;gap:24px}.brand{display:flex;align-items:center;gap:17px;font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:6px}.brand small{display:block;margin-top:4px;font-family:var(--sans);font-size:8px;font-weight:500;letter-spacing:2.2px;color:var(--gold)}.brand-seal{font-size:35px;letter-spacing:0;width:45px;height:54px;display:grid;place-items:center;border:1px solid var(--gold);clip-path:polygon(50% 0,100% 15%,100% 85%,50% 100%,0 85%,0 15%);background:#c9aa7010}.header-note{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--muted)}.outline-button{border:1px solid var(--line);padding:12px 16px;font-size:11px;letter-spacing:.4px;display:flex;gap:10px;align-items:center;min-height:44px}.outline-button:hover{border-color:var(--gold);background:#c9aa700a}.outline-button>span:first-child{font-size:22px;color:var(--gold)}.workspace{display:flex;flex:1;min-height:0}.index-panel{width:310px;flex:none;border-right:1px solid var(--line);padding:32px 25px 18px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;background:#17232066}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:600;color:var(--gold)}h1,h2,p{margin:0}h1{font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:-.5px;margin:8px 0 11px;text-wrap:balance}.index-heading p{font-size:11px;line-height:1.9;color:var(--muted)}.search-label{display:block;font-size:10px;margin-top:25px;margin-bottom:9px;color:var(--muted)}.search-box{display:flex;align-items:center;border:1px solid var(--line);padding:0 10px;height:43px;gap:8px}.search-box:focus-within{border-color:var(--gold)}.search-box>span{font-size:25px;color:var(--gold)}.search-box input{min-width:0;width:100%;border:0;background:none;color:var(--paper);font-size:11px;outline:none}.search-box kbd{font:11px var(--sans);padding:0 5px;color:var(--muted);border:1px solid #ffffff20}.search-results{padding:10px 0;border-bottom:1px solid var(--line)}.result{display:block;text-align:left;width:100%;padding:10px 8px;font-family:var(--serif);font-size:20px}.result small{display:block;font:9px var(--sans);color:var(--muted);margin-top:4px}.result:hover{background:#c9aa7010}.empty-search{font-size:12px;padding:15px 0;color:var(--muted)}#map-list{margin-top:23px}.map-entry{display:flex;width:100%;gap:13px;align-items:center;text-align:left;padding:13px 8px;border-top:1px solid #c9aa7020;position:relative}.map-entry:last-child{border-bottom:1px solid #c9aa7020}.map-entry:hover{background:#c9aa7009}.map-entry[aria-current=page]{background:linear-gradient(90deg,#c9aa7018,transparent)}.map-entry[aria-current=page]:before{content:'';position:absolute;left:-25px;top:12px;bottom:12px;width:2px;background:var(--gold)}.map-entry .number{font-family:var(--serif);font-size:16px;color:var(--gold);width:22px}.map-entry .entry-text{flex:1}.map-entry strong{display:block;font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.1}.map-entry small{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:5px}.entry-arrow{font-size:17px;color:var(--gold);opacity:.6}.index-foot{display:flex;align-items:center;gap:12px;margin-top:26px;color:var(--muted)}.small-compass{font-size:34px;color:var(--gold)}.index-foot p{font-family:var(--serif);font-size:14px;line-height:1.3}.edition{margin-left:auto;text-align:center;color:var(--gold);font-family:var(--serif);font-size:24px}.edition small{display:block;font:7px var(--sans);letter-spacing:1.3px}.map-main{flex:1;min-width:0;position:relative;padding:0 35px 64px;display:flex;flex-direction:column;overflow:hidden}.sheet-bar{height:58px;flex:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;letter-spacing:.5px;color:var(--muted)}.breadcrumb{display:flex;align-items:center;gap:10px;min-width:0}.breadcrumb button{font-size:10px;color:var(--gold);padding:8px 0;min-height:36px}.breadcrumb>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-bar>span{font-size:8px;letter-spacing:2px;white-space:nowrap}.map-viewport{flex:1;min-height:120px;position:relative;overflow:hidden;touch-action:none;cursor:grab;isolation:isolate;background:#0d1715;border:1px solid var(--line);box-shadow:0 20px 45px #0004}.map-viewport.dragging{cursor:grabbing}.map-stage{position:absolute;transform-origin:0 0;will-change:transform}.map-stage>img{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}.markers{position:absolute;inset:0}.map-marker{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%) scale(var(--inverse,1));transform-origin:center;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1;padding:8px;min-width:44px;min-height:44px}.pin-symbol{width:25px;height:25px;display:grid;place-items:center;transform:rotate(45deg);background:#14251ef2;border:1px solid #e7c88d;box-shadow:0 1px 9px #0009}.pin-symbol:after{content:'';width:6px;height:6px;background:#e7c88d;border:1px solid #fff5}.pin-label{white-space:nowrap;font-size:10px;font-weight:600;padding:5px 9px;background:#14251ef2;border:1px solid var(--line);box-shadow:0 3px 8px #0003;color:#f5ebd4}.map-marker:hover .pin-symbol,.map-marker:focus-visible .pin-symbol{background:#826b3e}.map-marker:hover{z-index:2}.map-caption{display:flex;justify-content:space-between;align-items:center;padding-top:22px;min-height:120px;flex:none;gap:15px}.map-caption h2{font-family:var(--serif);font-size:36px;font-weight:500;line-height:1.05;margin:7px 0 8px;text-wrap:balance}.map-caption p{font-size:10px;line-height:1.7;color:var(--muted);max-width:640px}.caption-flourish{font-size:50px;color:var(--gold);opacity:.7;padding:0 15px}.map-tools{position:absolute;bottom:21px;right:35px;display:flex;align-items:center;gap:2px;border:1px solid var(--line);background:var(--panel);height:40px}.map-tools button{width:40px;height:38px;font-size:22px;display:grid;place-items:center}.map-tools button:hover{background:#c9aa7018}.map-tools output{font-size:9px;color:var(--muted);min-width:40px;text-align:center}.tool-divider{width:1px;height:18px;background:var(--line);margin:0 4px}.map-tools button[aria-pressed=false]{color:#717e70}.map-hint{position:absolute;bottom:33px;left:35px;font-size:9px;color:var(--muted);display:flex;align-items:center;gap:8px}.map-hint>span:first-child{color:var(--gold);font-size:17px}.colophon{height:34px;flex:none;border-top:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:7px;letter-spacing:1.6px;color:#929f8e}.colophon #status{letter-spacing:.3px;font-size:9px}.journal{position:absolute;right:52px;top:80px;width:290px;padding:28px 25px 22px;color:#3b3525;background:#e8ddc0;box-shadow:0 12px 35px #0006;border:1px solid #bba572;z-index:5;max-height:calc(100% - 110px);overflow:auto}.journal:before{content:'';position:absolute;inset:7px;border:1px solid #8f794a50;pointer-events:none}.journal .eyebrow{color:#76603a;font-size:8px}.journal-rule{width:28px;border-top:1px solid #8f794a;margin:15px 0}.journal h2{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.1}.journal p{font-size:11px;line-height:1.9;margin-top:13px}.journal #journal-region{font-family:var(--serif);font-style:italic;font-size:17px;margin-top:8px}.journal-bottom{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.3px;border-top:1px solid #8f794a50;margin-top:25px;padding-top:16px}.journal-bottom>span{font-size:16px}.journal>button{position:absolute;right:10px;top:9px;width:38px;height:38px;font-size:25px;color:#66542f;z-index:1}.map-loading{position:absolute;inset:0;display:grid;place-items:center;background:#14211ae8;font-family:var(--serif);font-size:25px;z-index:4}.map-error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:var(--ink);z-index:6}.map-error button{padding:12px 22px;border:1px solid var(--gold)}.index-collapsed .index-panel{display:none}body:has(.atlas:fullscreen) .atlas{height:100vh}
@media(min-width:1600px){.index-panel{width:340px;padding-top:40px}.map-main{padding-left:48px;padding-right:48px}.map-caption{min-height:140px}.map-caption h2{font-size:43px}.map-caption p{font-size:12px}.map-entry{padding-top:17px;padding-bottom:17px}.map-entry strong{font-size:21px}.map-entry small{font-size:9px}}
@media(max-height:800px) and (min-width:901px){.masthead{height:85px}.index-panel{padding-top:22px}.index-heading p{display:none}.search-label{margin-top:18px}.map-entry{padding-top:10px;padding-bottom:10px}.index-foot{margin-top:18px}.map-caption{min-height:110px}.map-caption h2{font-size:31px}}
@media(max-width:1100px){.header-note{display:none}.index-panel{width:270px;padding-left:20px;padding-right:20px}.map-main{padding-left:22px;padding-right:22px}.map-hint{left:22px;font-size:8px}.map-hint .hint-separator,.hint-separator~*{display:none}.map-tools{right:22px}.caption-flourish{display:none}.map-caption h2{font-size:29px}.map-tools button{width:35px}.map-hint{max-width:170px;line-height:1.5}.index-heading h1{font-size:28px}}
@media(max-width:900px){.atlas{min-height:540px}.masthead{height:82px;padding:0 20px}.brand{font-size:25px;letter-spacing:4px;gap:12px}.brand small{font-size:6px;letter-spacing:1.5px}.brand-seal{width:35px;height:44px;font-size:29px}.outline-button{padding:8px 12px}.index-panel{position:absolute;top:82px;bottom:34px;left:0;width:310px;max-width:88vw;z-index:10;background:#172320;box-shadow:10px 0 40px #0008}.map-main{padding:0 20px 76px}.map-caption{padding-top:20px;min-height:135px;align-items:flex-start}.map-caption h2{font-size:35px}.map-caption p{font-size:11px}.map-tools{bottom:22px;right:20px;height:44px}.map-tools button{width:42px;height:42px}.map-hint{left:20px;bottom:37px;max-width:none}.map-hint{font-size:8px}.map-hint .hint-separator{display:none}.colophon{padding:0 20px}.colophon #status{max-width:47%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}.colophon>span:first-child{font-size:6px;letter-spacing:.8px}.journal{right:30px;top:72px}.sheet-bar{height:50px}}
@media(max-width:600px){.masthead{height:76px;padding:0 14px}.brand{font-size:24px}.brand small{max-width:145px;font-size:5.5px}.outline-button{padding:8px 10px;font-size:10px}.outline-button>span:first-child{font-size:19px}.index-panel{top:76px}.map-main{padding:0 12px 88px}.sheet-bar{font-size:8px;gap:8px}.sheet-bar>span{font-size:7px;letter-spacing:1px}.breadcrumb{gap:6px}.breadcrumb button{font-size:9px}.map-caption{min-height:145px;padding-top:21px}.map-caption h2{font-size:32px;max-width:95%}.map-caption p{font-size:10px;line-height:1.7}.map-caption .eyebrow{font-size:8px;letter-spacing:1.8px}.map-tools{right:12px;left:12px;justify-content:center;bottom:31px}.map-tools button{width:46px}.map-hint{bottom:7px;left:0;right:0;justify-content:center;max-width:none;font-size:8px}.map-hint>span:first-child{font-size:12px}.journal{top:65px;right:22px;left:22px;width:auto;max-height:calc(100% - 90px)}.colophon{height:30px;padding:0 14px}.colophon>span:first-child{letter-spacing:.3px;font-size:6px}.colophon #status{font-size:7px}.pin-label{font-size:9px;padding:4px 6px}.map-marker{gap:2px}.pin-symbol{width:22px;height:22px}}
.outgoing-sheet{pointer-events:none;z-index:3}.outgoing-sheet img{pointer-events:none}
@media(max-width:600px){.map-viewport{flex:none;height:clamp(120px,calc(100dvh - 415px),430px)}.map-caption{flex:1}.map-hint{gap:5px}}
@media(prefers-reduced-motion:no-preference){.map-entry,.outline-button,.map-tools button{transition:background .18s,border-color .18s}.journal{animation:journal-in .2s ease-out}@keyframes journal-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

/* One world, one camera. The atlas controls float above the landscape. */
.atlas{height:100dvh;min-height:480px;background:#182b28}.masthead{position:absolute;inset:0 0 auto;height:100px;padding:0 36px;z-index:12;border:0;background:linear-gradient(#0c1715f5,#0c1715aa,transparent);pointer-events:none}.masthead>*{pointer-events:auto}.brand-seal{background:#14221cbb}.header-note{color:#eee4cec0;text-shadow:0 1px 5px #000}.outline-button{background:#13231de6;border-color:#c9aa7060;backdrop-filter:blur(12px)}.workspace{position:absolute;inset:0}.index-panel{position:absolute;top:100px;bottom:50px;left:24px;width:300px;max-width:calc(100vw - 48px);z-index:10;background:#14241ef5;border:1px solid var(--line);box-shadow:0 16px 50px #0006;padding:25px;backdrop-filter:blur(18px)}.map-main{position:absolute;inset:0;padding:0;overflow:hidden}.sheet-bar{position:absolute;top:94px;left:38px;right:38px;z-index:3;height:32px;pointer-events:none;text-shadow:0 1px 6px #000}.sheet-bar .breadcrumb{pointer-events:auto;background:#10231dc9;padding:0 12px;border:1px solid #c9aa7030;backdrop-filter:blur(8px)}.sheet-bar>span{display:none}.map-viewport{position:absolute;inset:0;min-height:0;width:100%;height:100%;border:0;background:radial-gradient(ellipse,#47766b,#172c29);box-shadow:none}.map-viewport:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 110px #0c18194d;z-index:2}.map-stage{backface-visibility:hidden}.map-caption{position:absolute;bottom:88px;left:38px;right:auto;padding:20px 26px;min-height:0;max-width:470px;background:linear-gradient(110deg,#10231df5,#10231ddc);border-left:2px solid var(--gold);box-shadow:0 10px 40px #0003;z-index:3;pointer-events:none;backdrop-filter:blur(10px)}.map-caption h2{font-size:36px}.map-caption p{font-size:11px;line-height:1.8}.caption-flourish{display:none}.map-tools{z-index:5;bottom:48px;right:35px;height:46px;background:#13231de8;backdrop-filter:blur(12px)}.map-tools button{height:44px;width:44px}.map-hint{z-index:4;bottom:43px;left:38px;color:#eee4ce;text-shadow:0 1px 6px #000;font-size:10px}.colophon{position:absolute;bottom:0;left:0;right:0;z-index:4;height:28px;background:#10231dd9;border:0;pointer-events:none}.journal{z-index:9;top:145px;right:38px;max-height:calc(100dvh - 230px)}.detail-sheet{position:absolute;z-index:5;bottom:103px;right:35px;padding:11px 15px;background:#13231de8;border:1px solid var(--line);font-size:10px;backdrop-filter:blur(12px)}.detail-sheet:hover{border-color:var(--gold)}.detail-dialog{position:absolute;inset:0;background:#0d1917f5;z-index:30;display:flex;flex-direction:column;padding:22px;overflow:auto}.detail-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.detail-dialog-bar h2{font-family:var(--serif);font-weight:500;font-size:28px}.detail-dialog-bar button{border:1px solid var(--line);padding:12px 15px;font-size:12px;flex:none}.detail-dialog>img{width:100%;height:calc(100% - 65px);object-fit:contain}.place-marker{opacity:0;visibility:hidden;pointer-events:none}.region-marker .pin-label{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.4px;background:#14251ebf}.region-marker .pin-symbol{width:30px;height:30px;background:#14251ecf}.map-viewport[data-detail=true] .place-marker{opacity:1;visibility:visible;pointer-events:auto}.map-viewport[data-detail=true] .region-marker{opacity:0;visibility:hidden;pointer-events:none}.map-marker{transition:opacity .2s}.map-marker:focus-visible{visibility:visible;opacity:1}.map-viewport[data-detail=true] .place-marker .pin-label{font-size:11px}.map-loading{background:#14211a9e;backdrop-filter:blur(4px)}
@media(max-width:900px){.masthead{height:86px;padding:0 22px}.index-panel{top:90px;bottom:45px;left:18px}.sheet-bar{top:87px;left:22px;right:22px}.map-caption{left:22px;bottom:92px;max-width:380px;padding:17px 20px}.map-caption h2{font-size:31px}.map-tools{right:22px;bottom:39px}.map-hint{left:22px;bottom:40px;font-size:9px}.journal{top:130px;right:22px}.detail-sheet{right:22px;bottom:96px}.colophon{padding:0 22px}.map-viewport{height:100%;flex:initial}}
@media(max-width:600px){.masthead{height:80px;padding:0 14px}.index-panel{top:84px;left:12px;bottom:36px;max-width:calc(100vw - 24px)}.sheet-bar{top:82px;left:14px;right:14px}.sheet-bar .breadcrumb{max-width:100%;padding:0 10px}.map-viewport{height:100%;min-height:0}.map-caption{left:14px;right:14px;bottom:125px;max-width:none;padding:13px 16px;min-height:0;flex:none}.map-caption h2{font-size:29px;margin:5px 0;max-width:none}.map-caption p{display:none}.map-caption .eyebrow{font-size:7px;letter-spacing:1.4px}.map-tools{left:14px;right:14px;bottom:42px;height:44px;justify-content:center}.map-tools button{width:44px;height:42px}.map-hint{bottom:24px;left:0;right:0;justify-content:center;font-size:7px;gap:6px}.detail-sheet{right:14px;bottom:91px;font-size:9px;padding:8px 12px}.colophon{height:20px;padding:0 14px}.colophon #status{font-size:6px}.journal{left:22px;right:22px;top:125px;max-height:calc(100dvh - 270px)}.region-marker .pin-label{font-size:15px}.detail-dialog{padding:15px}.detail-dialog-bar h2{font-size:22px}.detail-dialog-bar button{font-size:10px;padding:10px}.header-note{display:none}}
@media(prefers-reduced-motion:reduce){.map-marker{transition:none}}
.relief-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.map-stage{z-index:1}.relief-active #map-image{visibility:hidden}.relief-active .map-stage{pointer-events:none}.relief-active .map-marker{pointer-events:auto}.map-viewport .markers{pointer-events:none}.map-viewport .map-marker{pointer-events:auto}.map-tools #relief-toggle[aria-pressed=true]{color:#e4c383;background:#c9aa701a}
.cartographic-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.detail-art{position:relative;flex:1;min-height:0}.detail-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.detail-art>.cartographic-labels{inset:auto}.admin-link{display:block;padding:16px 8px;color:var(--gold);font-size:10px;letter-spacing:.5px}.admin-link:hover{text-decoration:underline}
