*{box-sizing:border-box}body{margin:0;background:#f7f8f3;color:#263b32;font:14px/1.5 Arial,sans-serif}main{max-width:1100px;margin:auto;padding:20px}header{border-bottom:1px solid #dce3d7;padding-bottom:12px}.eyebrow{font-size:10px;letter-spacing:2px;color:#5d765e}h1{font:normal 30px Georgia,serif;margin:6px 0}header p{margin:6px 0;color:#627364}.filters{display:flex;gap:14px;padding:16px 0}.filters label{display:grid;gap:4px;font-size:12px;flex:1}.filters input,.filters select{height:36px;padding:6px 10px;background:white;border:1px solid #bac9b6;border-radius:4px;color:#263b32;font:14px Arial}#legend{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}#legend button{border:1px solid #d1dccb;background:white;border-radius:20px;padding:5px 10px;color:#314b39;cursor:pointer}#legend button[aria-pressed=true]{background:#dce9d6;border-color:#668960}.swatch{width:10px;height:10px;display:inline-block;border-radius:50%;margin-right:6px;border:1px solid #0002}.layout{display:grid;grid-template-columns:minmax(0,670px) minmax(190px,1fr);gap:14px}.map-area{position:relative;border:1px solid #c7d2be;overflow:hidden;background:#eef1e7;align-self:start}#map{display:block;width:100%;height:auto;touch-action:pan-y}.road{fill:none;stroke:#c2bda7;stroke-width:1.4}.motorway,.trunk{stroke:#d3ab72;stroke-width:3}.primary{stroke:#c9ad87;stroke-width:2}.river{fill:none;stroke:#82b2c5;stroke-width:2}.town text{font:9px Arial;fill:#5c6854;paint-order:stroke;stroke:#eef1e7;stroke-width:2.5px}.town.big text{font:bold 13px Arial;fill:#3c5242}.town circle{fill:#76856a}.marker{cursor:pointer}.marker circle{stroke:white;stroke-width:1.5;transition:r .16s ease,stroke-width .16s ease;filter:drop-shadow(0 1px 1px #263b3260)}.marker:hover circle,.marker:focus circle,.marker.active circle{r:8;stroke:#253d2e;stroke-width:2}.marker[hidden]{display:none}.zoom{position:absolute;top:10px;left:10px;z-index:2;display:flex;gap:3px}.zoom button{padding:5px 9px;background:white;border:1px solid #b8c6ad;border-radius:3px;cursor:pointer;color:#264631}.north{position:absolute;top:12px;right:12px;font-weight:bold;color:#35563a}.attribution{position:absolute;bottom:0;right:0;background:#ffffffec;color:#354f40;font-size:9px;padding:2px 5px}#tooltip{position:absolute;left:10px;right:10px;bottom:26px;padding:9px 12px;background:#fffef5;border:1px solid #a2b495;box-shadow:0 2px 8px #263b3220;pointer-events:none;font-weight:bold}.layout aside{background:white;border:1px solid #d7e0d1;padding:12px}#count{margin:0 0 8px;color:#5d725d;font-size:12px}#results{list-style:none;margin:0;padding:0;max-height:620px;overflow:auto}#results li{padding:9px 0;border-bottom:1px solid #edf0e7}#results a{color:#294e3a;text-decoration:none;font-weight:bold;font-size:13px}#results a:hover{text-decoration:underline}#results small{display:block;font-size:11px;color:#77816d;margin-left:16px}footer{font-size:11px;color:#697862;padding-top:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ae7a20;outline-offset:2px}@media(max-width:700px){main{padding:12px}.layout{grid-template-columns:1fr}#results{max-height:260px}.filters{flex-wrap:wrap}.filters label{min-width:190px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
