:root{--ink:#243b31;--muted:#657269;--paper:#faf9f5;--line:#d8ddd3;--green:#35634e;--gold:#ad8a49}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:14px/1.45 system-ui,-apple-system,sans-serif;color:var(--ink);display:flex;flex-direction:column;background:var(--paper)}a{color:var(--green)}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd9d50;outline-offset:3px}header{height:80px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}header>a:last-child{font-size:13px;text-decoration:none}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font:28px/1.1 Georgia,serif}.brand small{display:block;font:9px/1.2 system-ui,sans-serif;letter-spacing:2.4px;margin-top:7px;color:var(--muted)}.brandmark{font:46px Georgia,serif;color:var(--gold)}.toolbar{display:flex;gap:14px;padding:14px 30px;align-items:end;flex-shrink:0;box-shadow:0 3px 9px #243b3109;z-index:3}.toolbar label{display:flex;flex-direction:column;min-width:120px;flex:1}.toolbar label>span{font-size:10px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;color:var(--muted)}.toolbar .search{flex:1.8}input,select{border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px;min-width:0;width:100%;height:41px}.toolbar select{font-size:12px}button{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:10px 12px}.quiet{border-color:transparent;font-size:12px}#map-wrap{position:relative;flex:1;min-height:360px;overflow:hidden}#map{position:absolute;inset:0}.map-instructions{position:absolute;top:16px;left:18px;border:1px solid #e1e4dc;background:#faf9f5ee;max-width:330px;padding:13px 17px;box-shadow:0 3px 14px #20382c14;border-radius:8px;pointer-events:none}.map-instructions b{display:block;font:20px Georgia,serif;margin-bottom:5px}.map-instructions span{display:block;font-size:12px;color:#56675b;line-height:1.5}.map-tools{position:absolute;left:18px;bottom:42px;display:flex;align-items:center;gap:7px;padding:7px;background:#faf9f5f5;border:1px solid var(--line);border-radius:8px;box-shadow:0 3px 14px #20382c12}.map-tools label{font-size:11px;padding-left:5px;display:flex;align-items:center;gap:8px}.map-tools select{width:98px;font-size:12px;height:34px;padding:5px}.map-tools button{font-size:11px;background:white;padding:8px}#status{position:absolute;bottom:0;left:10px;margin:0 0 5px;padding:3px 7px;background:#faf9f5d9;border-radius:4px;font-size:10px;pointer-events:none;max-width:65%}footer{height:32px;display:flex;justify-content:space-between;padding:7px 24px;font-size:10px;color:var(--muted);flex-shrink:0}footer a{text-decoration:none}.query-pin{width:18px;height:18px;background:var(--ink);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--ink),0 3px 8px #0005}.spot-panel{position:absolute;width:365px;max-width:calc(100% - 24px);z-index:4;border-radius:11px;box-shadow:0 12px 45px #18362b35;background:var(--paper);border:1px solid #cbd5c9;overflow:hidden}.panel-head{padding:16px 42px 12px 17px;border-bottom:1px solid var(--line);position:relative}.panel-head h2{margin:0 0 5px;font:23px/1.15 Georgia,serif}.panel-head p{font-size:11px;color:var(--muted);margin:0}.panel-close{position:absolute;top:6px;right:6px;border:0;background:transparent;font-size:23px;line-height:1;padding:6px}.panel-scroll{max-height:min(390px,45vh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.entry{padding:14px 17px;border-bottom:1px solid var(--line);cursor:pointer}.entry:hover,.entry.selected{background:#edf1e7}.entry h3{font:19px/1.2 Georgia,serif;margin:0 0 5px}.entry .place{font-size:11px;font-weight:650;display:flex;justify-content:space-between;gap:10px}.entry .date{font-size:10px;color:var(--muted);margin-top:4px}.entry p{font:13px/1.5 system-ui,sans-serif;margin:9px 0}.entry nav{font-size:10px;display:flex;justify-content:space-between;gap:10px}.entry nav a{text-decoration:none}.entry .select-entry{font:inherit;background:transparent;border:0;text-align:left;border-radius:0;padding:0;width:100%}.empty{padding:20px;line-height:1.7;color:var(--muted)}.panel-foot{font-size:10px;padding:9px 17px;color:var(--muted);display:flex;justify-content:space-between}.panel-foot button{font-size:10px;padding:0;border:0;background:transparent;text-decoration:underline}.leaflet-control-zoom{border-radius:7px!important;box-shadow:0 2px 12px #243b3125!important}#route-legend{position:absolute;right:10px;bottom:39px;background:#faf9f5e8;padding:7px 10px;border-radius:5px;font-size:9px;max-width:250px}#route-legend span{display:inline-block;width:26px;border-top:2px dashed #975c38;margin-right:5px;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:800px){header{height:67px;padding:0 16px}.brand{font-size:24px}.brandmark{font-size:38px}.toolbar{padding:10px 14px;gap:8px;flex-wrap:wrap}.toolbar .search{flex:1 0 calc(100% - 60px)}.toolbar label{flex:1;min-width:0}.toolbar .search{order:-2}.toolbar #reset{order:-1}.toolbar label>span{font-size:8px}.toolbar input{height:35px}.toolbar select{font-size:10px;padding:7px;height:33px}.map-instructions{padding:9px 12px;max-width:270px;top:12px;left:12px}.map-instructions b{font-size:18px}.map-instructions span{font-size:10px}.map-tools{left:8px;bottom:42px;gap:3px;padding:4px}.map-tools label{font-size:9px}.map-tools button{font-size:9px;padding:8px 5px}.spot-panel{width:325px}.panel-scroll{max-height:min(330px,42vh)}.panel-head{padding:12px 40px 10px 14px}.panel-head h2{font-size:21px}.entry{padding:12px 14px}.entry h3{font-size:18px}.entry p{font-size:12px}footer{padding:6px 12px;height:29px;font-size:8px}.leaflet-control-attribution{font-size:8px!important}#route-legend{bottom:84px;max-width:180px;font-size:8px}}

.leaflet-container{font-family:system-ui,sans-serif;background:#dce7e4}.map-instructions,.map-tools,#status,#route-legend{z-index:500}.spot-panel{z-index:700}.leaflet-tooltip{font:12px system-ui,sans-serif}.leaflet-control-attribution{font-size:9px}

.maplibregl-control-container{font-family:system-ui,sans-serif}.maplibregl-ctrl-attrib{font-size:9px!important}
.spot-panel{max-height:calc(100% - 20px);display:flex;flex-direction:column}.panel-head,.panel-foot{flex-shrink:0}.panel-scroll{min-height:0;flex:1}
