:root{--bg:#f1e8d6;--ink:#1f1810;--mute:#5e4f3d;--line:#c7b697;--accent:#6e2a1b;--wash:#e8dec7;--panel:#f6efe1;--font:"Source Serif 4",Georgia,serif;--display:"IM Fell English",Georgia,serif;--sc:"IM Fell English SC",Georgia,serif;--mono:"Courier Prime",ui-monospace,monospace}html[data-theme=dark]{--bg:#1a1510;--ink:#ece1c8;--mute:#b3a288;--line:#3f3527;--accent:#dda57c;--wash:#231d16;--panel:#201a14}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--font)}.atlas{display:grid;grid-template-rows:auto 1fr;height:100%}.atlas-bar{display:flex;align-items:center;gap:18px;padding:10px 16px;border-bottom:1px solid var(--ink);background:var(--bg)}.atlas-bar .title{font:400 1.35rem/1 var(--display)}.atlas-bar .kicker{font:400 .7rem/1 var(--sc);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}.atlas-bar .legend{display:flex;gap:12px;margin-left:auto;font:400 .72rem/1 var(--mono);letter-spacing:.06em;color:var(--mute)}.atlas-bar .legend span{display:inline-flex;align-items:center;gap:5px}.atlas-bar .legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.atlas-bar .zoomrule{font:400 .72rem/1 var(--mono);color:var(--mute);letter-spacing:.04em}.atlas-bar a{color:var(--accent)}.atlas-body{position:relative;min-height:0}.atlas-map,.atlas-map.maplibregl-map{position:absolute;inset:0}.atlas-map .maplibregl-ctrl-attrib{font:400 .62rem/1.4 var(--mono);background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--mute)}.atlas-map .maplibregl-ctrl-group{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:2px}.atlas-map .maplibregl-ctrl-group button{color:var(--ink)}.atlas-panel{position:absolute;top:14px;right:14px;width:300px;max-height:calc(100% - 28px);overflow:auto;background:var(--panel);border:1px solid var(--ink);padding:16px 18px;z-index:5}.atlas-panel .kicker{font:400 .66rem/1 var(--sc);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}.atlas-panel h2{font:400 1.6rem/1.05 var(--display);margin:6px 0 2px}.atlas-panel .sub{font:400 .74rem/1.4 var(--mono);color:var(--mute);letter-spacing:.06em;text-transform:uppercase}.atlas-panel .row{display:flex;gap:14px;align-items:flex-start;margin-top:12px}.atlas-panel .fig{width:64px;flex:0 0 64px}.atlas-panel .fig img{width:100%;display:block}.atlas-panel .fig .svgmask{width:64px;height:64px;background:var(--ink);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.atlas-panel dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:.9rem}.atlas-panel dt{font:400 .62rem/1.8 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.atlas-panel dd{margin:0}.atlas-panel .close{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--mute);font:400 1rem var(--mono);cursor:pointer}.atlas-panel .open{display:inline-block;margin-top:14px;font:400 .8rem/1 var(--sc);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:8px 12px;text-decoration:none}.atlas-hover{position:absolute;pointer-events:none;z-index:6;background:var(--panel);border:1px solid var(--ink);padding:5px 9px;font:400 .8rem/1.3 var(--font);white-space:nowrap;transform:translate(12px,-50%)}.atlas-hover small{display:block;font:400 .62rem/1.4 var(--mono);color:var(--mute);letter-spacing:.08em;text-transform:uppercase}.atlas-status{position:absolute;left:14px;bottom:30px;z-index:5;font:400 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);background:color-mix(in srgb,var(--bg) 85%,transparent);padding:6px 8px;border:1px solid var(--line)}.atlas-bar .level{display:inline-flex;border:1px solid var(--ink);border-radius:2px;overflow:hidden}.atlas-bar .level button{font:400 .74rem/1 var(--sc);letter-spacing:.12em;text-transform:uppercase;background:transparent;color:var(--ink);border:0;padding:7px 12px;cursor:pointer}.atlas-bar .level button.on{background:var(--ink);color:var(--bg)}.atlas.bare{grid-template-rows:1fr}.atlas.bare .atlas-status{display:none}.atlas.paper .atlas-map .maplibregl-ctrl-attrib{background:transparent}.atlas-city{pointer-events:none;display:flex;align-items:center;gap:5px;font:400 .68rem/1 var(--sc);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.atlas-city i{width:5px;height:5px;border-radius:50%;background:var(--ink);opacity:.75;flex:none}.atlas-map[data-z="3"] .atlas-city.r2,.atlas-map[data-z="3"] .atlas-city.r3,.atlas-map[data-z="4"] .atlas-city.r3{display:none}.atlas-piece{display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:4}.atlas-piece .plate{position:absolute;top:100%;left:50%;transform:translate(-50%,3px)}.atlas-piece[data-plate=left] .plate{top:50%;left:auto;right:100%;transform:translate(-6px,-50%)}.atlas-piece[data-plate=right] .plate{top:50%;left:100%;transform:translate(6px,-50%)}.atlas-piece .fig{height:64px;width:auto;display:block;filter:drop-shadow(1px 2px 0 color-mix(in srgb,var(--ink) 35%,transparent))}.atlas-piece .bust{width:40px;height:40px;border-radius:50%;background:#f1e8d6;border:2.5px solid var(--pc);box-shadow:1px 2px color-mix(in srgb,var(--ink) 35%,transparent);display:grid;place-items:end center;overflow:hidden}.atlas-piece .bust span{display:block;width:34px;height:34px;background:#1f1810;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:bottom;mask-position:bottom}.atlas-piece .plate{background:var(--panel);border:1px solid var(--ink);border-left:3px solid var(--pc);padding:3px 7px 4px;text-align:left;line-height:1.15;box-shadow:1px 2px color-mix(in srgb,var(--ink) 25%,transparent)}.atlas-piece .plate b{display:block;font:400 .8rem/1.1 var(--display);color:var(--ink);white-space:nowrap}.atlas-piece .plate small{display:block;font:400 .56rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.atlas-map[data-z="3"] .atlas-piece .bust{width:30px;height:30px;border-width:2px}.atlas-map[data-z="3"] .atlas-piece .bust span{width:26px;height:26px}.atlas-map[data-z="3"] .atlas-piece .plate{padding:2px 5px 3px}.atlas-map[data-z="3"] .atlas-piece .plate b{font-size:.7rem}.atlas-map[data-z="3"] .atlas-piece .plate small{display:none}.atlas-piece:hover .plate{background:var(--ink);color:var(--bg)}.atlas-piece:hover .plate b,.atlas-piece:hover .plate small{color:var(--bg)}html,body{height:100%}body{margin:0}
