:root{color-scheme:light;--paper:#f7f6f2;--ink:#283c37;--muted:#69716b;--teal:#28776d;--line:#dedfd8;--land:#d9ddd4;--footer-height:100px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--teal);outline-offset:5px}button:disabled{opacity:.45;cursor:default}svg{display:block}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}
.atlas{height:100vh;height:100dvh;min-height:380px;display:flex;flex-direction:column;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));overflow:hidden}
.map-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:30px 10px 0}#map{width:100%;opacity:0;transition:opacity .45s;position:relative}.map-stage.ready #map{opacity:1}.map-loading{position:absolute;color:var(--muted);font-size:13px;letter-spacing:.025em}.map-stage.ready .map-loading{display:none}
#map-frame{width:100%;max-width:100%}
.status-bar{position:relative;z-index:5;flex:none;min-height:var(--footer-height);padding:22px 18px max(22px,env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.visited-toggle{background:none;border:0;display:flex;align-items:center;gap:14px;padding:0;text-align:left}.visit-number{font-size:46px;line-height:1;letter-spacing:-.06em;font-weight:500;color:var(--teal);font-variant-numeric:tabular-nums}.visit-caption{font-size:12px;line-height:1.6;font-weight:500}.visit-caption>span{display:block;color:var(--muted);font-weight:400}.list-arrow{width:19px!important;color:var(--muted);margin-left:9px;transition:transform .2s}.visited-toggle:hover .list-arrow{transform:translateY(-3px)}
.legend{display:flex;gap:24px;font-size:11px;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-dot.visited{background:var(--teal)}.legend-dot.unvisited{background:#c9cfc4}.footer-end{display:flex;align-items:center;gap:28px}.signature{font-size:11px;color:var(--muted);white-space:nowrap}.reset-button{background:none;border:0;display:flex;align-items:center;gap:8px;font-size:11px;padding:8px 0}.reset-button svg{width:19px;height:19px}.reset-button:hover{color:var(--teal)}
dialog{padding:28px 28px 20px;position:fixed;left:24px;right:auto;bottom:116px;top:auto;margin:0;width:370px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 150px);border:1px solid var(--line);border-radius:16px;background:#fbfaf7;box-shadow:0 16px 60px #283c3720;color:var(--ink)}dialog::backdrop{background:#283c371a;backdrop-filter:blur(2px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.eyebrow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.dialog-heading h2{font-size:23px;font-weight:500;letter-spacing:-.04em;margin:0;display:flex;align-items:center;gap:12px}.dialog-heading h2 span{color:var(--teal);font-size:14px;letter-spacing:0}.close-button{border:0;background:none;padding:0;color:var(--muted)}.close-button svg{width:20px;height:20px}.places-list{padding:0;list-style:none;margin:22px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.places-list button{border:0;border-bottom:1px solid #e6e6df;background:none;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;padding:10px 0;font-size:12px}.places-list button svg{width:14px;height:14px;color:var(--teal);opacity:0;flex-shrink:0}.places-list button:hover,.places-list button:focus-visible{color:var(--teal)}.places-list button:hover svg,.places-list button:focus-visible svg{opacity:1}.dialog-note{font-size:10px;color:var(--muted);margin:18px 0 0}.map-fallback{flex:1;overflow:auto;max-width:600px;width:100%;align-self:center;padding:40px 0}.map-fallback h1{font-size:24px;font-weight:500}.map-fallback p{color:var(--muted);font-size:14px}.map-fallback ul,.no-script ul{columns:2;line-height:2;font-size:14px}.no-script{position:absolute;inset:0 20px 120px;overflow:auto;background:var(--paper);padding:30px;z-index:4}.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}
/* The vendor generates its own popup and navigation nodes; style them without changing its source. */
.tt_sm{font-family:inherit!important;max-width:230px}.tt_sm .tt_name_sm{font-size:14px;font-weight:500;color:var(--ink)}.tt_sm .map-status{display:block;font-size:11px;color:var(--muted);margin-top:5px}.tt_sm .map-status.is-visited{color:var(--teal)}
@media(min-width:1600px){.atlas{padding-left:60px;padding-right:60px}.map-stage{padding-top:40px}.status-bar{padding-left:12px;padding-right:12px}}
@media(max-width:760px){:root{--footer-height:118px}.atlas{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.map-stage{padding:12px 0 0}.status-bar{padding:18px 2px max(18px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:14px}.visited-toggle{gap:10px}.visit-number{font-size:40px}.visit-caption{font-size:11px}.list-arrow{margin-left:0}.legend{order:3;width:100%;justify-content:space-between;gap:12px;font-size:10px}.footer-end{gap:0}.signature{display:none}.reset-button>span{display:none}.reset-button{padding:8px}.reset-button svg{width:22px;height:22px}dialog{left:16px;bottom:138px;max-width:calc(100vw - 32px);width:390px;max-height:calc(100dvh - 170px);padding:24px}.places-list{gap:2px 14px}}
@media(max-height:540px) and (min-width:600px){:root{--footer-height:74px}.map-stage{padding-top:8px}.status-bar{min-height:74px;padding:12px 0;flex-wrap:nowrap}.visit-number{font-size:32px}.legend{order:initial;width:auto}.signature{display:none}.reset-button>span{display:inline}dialog{bottom:88px;max-height:calc(100dvh - 108px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}dialog::backdrop{backdrop-filter:none}}
