:root{--paper:#f3f0e7;--paper2:#ece8da;--ink:#181610;--ink2:#5a574b;--line:#d9d4c3;--sig:#e8490c}*{box-sizing:border-box;margin:0}body{background:var(--paper);color:var(--ink);padding-bottom:48px;font-family:system-ui,sans-serif;line-height:1.55}.mono{font-family:ui-monospace,monospace}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:26px clamp(16px,4vw,48px);display:flex}.brand{color:var(--sig);letter-spacing:.05em;font-family:ui-monospace,monospace;font-size:20px;font-weight:700}.tagline{color:var(--ink2);max-width:70ch;font-size:13.5px}.gh{color:var(--ink);border:1px solid var(--line);white-space:nowrap;padding:8px 14px;font-family:ui-monospace,monospace;font-size:13px;text-decoration:none}.gh:hover{border-color:var(--sig);color:var(--sig)}main{max-width:980px;margin-inline:auto;padding:20px clamp(16px,4vw,48px)}.panel{border:1px solid var(--line);background:#fff8;margin-top:18px;padding:20px}h2{text-transform:uppercase;letter-spacing:.12em;color:var(--ink2);margin-bottom:14px;font-family:ui-monospace,monospace;font-size:12px}textarea,input[type=text],input[type=number]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:10px 12px;font-family:ui-monospace,monospace;font-size:14px}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--sig);outline-offset:1px}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.inline{color:var(--ink2);align-items:center;gap:8px;font-size:13px;display:flex}.inline input{width:70px}button{background:var(--ink);color:var(--paper);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:0;padding:11px 22px;font-family:ui-monospace,monospace;font-size:13px}button:hover{background:var(--sig)}button:disabled{opacity:.5;cursor:wait}.status{color:var(--ink2);margin-top:12px;font-size:13px}#map{border:1px solid var(--ink);background:var(--paper2);width:100%;height:auto}.legend{flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12px;display:flex}.legend i{border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.hits{gap:6px;font-size:13px;display:grid}.foot{max-width:980px;color:var(--ink2);margin:24px auto 0;padding:0 clamp(16px,4vw,48px);font-size:12px}.foot a{color:var(--ink2)}
