:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#193d3c;background:#a5abad;font-synthesis:none;--paper:#fafbf6;--line:#d9e0d9;--ink:#193d3c}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,select{font:inherit;color:inherit}button{cursor:pointer}button,select{touch-action:manipulation}button:focus-visible,select:focus-visible,#map:focus-visible{outline:3px solid #c87d3d;outline-offset:3px}button{border:0}main{position:relative;height:100svh;overflow:hidden}#map{position:absolute;inset:0;touch-action:none}.openseadragon-canvas{cursor:grab}.openseadragon-canvas:active{cursor:grabbing}.brand{position:absolute;left:24px;top:24px;display:flex;align-items:center;gap:13px;padding:14px 22px 14px 14px;background:var(--paper);border:1px solid #ffffff80;border-radius:12px;box-shadow:0 3px 22px #153d3920;pointer-events:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #a8bbb1;border-radius:50%;font:italic 31px Georgia,serif}.brand h1{font:500 27px/1 Georgia,serif;letter-spacing:-1px;margin:0 0 5px}.brand p{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#5e7770;margin:0}.place-picker{position:absolute;right:24px;top:24px}.place-picker select{width:205px;height:48px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--paper);box-shadow:0 2px 14px #153d3917;font-size:12px}.map-controls{position:absolute;right:24px;bottom:68px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 2px 18px #153d3920;background:var(--paper)}.map-controls button{width:46px;height:45px;background:transparent;border-bottom:1px solid var(--line);font-size:25px;line-height:1}.map-controls button:last-child{border-bottom:0;font-size:23px}.map-controls button:hover{background:#e9eee7}.scale{position:absolute;left:24px;bottom:24px;width:100px;font-size:10px;text-align:center;color:var(--ink);padding:7px 8px;background:#fafbf6e8;border-radius:4px;pointer-events:none}.scale i{display:block;height:5px;border:1px solid #39584c;border-top:0;margin-top:4px}footer{position:absolute;right:0;bottom:0;max-width:calc(100% - 136px);padding:6px 12px;background:#fafbf6ed;display:flex;align-items:center;gap:12px;font-size:10px;color:#465f58;border-radius:5px 0 0}footer button{font-size:10px;background:none;padding:3px 0;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.loading,.error{position:absolute;left:50%;top:112px;transform:translate(-50%);max-width:min(500px,calc(100% - 32px));padding:12px 17px;border-radius:8px;background:var(--paper);box-shadow:0 2px 18px #153d3920;font-size:13px;line-height:1.5}.error{background:#fff4df;color:#61431e}.error button{background:none;font-weight:600;text-decoration:underline;padding:4px}.loading[hidden],.error[hidden]{display:none}dialog{color:var(--ink);background:var(--paper);width:min(480px,calc(100% - 32px));border:1px solid var(--line);border-radius:16px;padding:38px;box-shadow:0 20px 80px #0d25234d;line-height:1.7;font-size:14px}dialog::backdrop{background:#193d3c55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog h2{font:30px/1.2 Georgia,serif}dialog a{color:inherit}dialog .small{font-size:11px;color:#657a70}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#6c8078}.dialog-close{position:absolute;right:14px;top:12px;background:none;font-size:25px;width:32px;height:32px}.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}@media(max-width:600px){.brand{left:12px;top:12px;padding:10px 13px 10px 10px;gap:9px}.brand-mark{width:34px;height:34px;font-size:25px}.brand h1{font-size:23px}.brand p{font-size:8px;letter-spacing:.8px}.place-picker{right:12px;top:12px}.place-picker select{width:150px;height:57px;font-size:11px;padding:0 8px}.map-controls{right:12px;bottom:76px}.scale{left:12px;bottom:20px}footer{max-width:calc(100% - 122px);font-size:8px;gap:7px;padding:5px 8px;flex-wrap:wrap;justify-content:flex-end}footer button{font-size:9px}dialog{padding:30px 24px}.loading,.error{top:90px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
