:root{--ink:#17333c;--muted:#647477;--green:#315f53;--line:#e1e7e2;--cream:#fafbf7;--gold:#c3a76a;--shadow:0 5px 22px #12332918;color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--cream)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,#map:focus-visible{outline:3px solid #cb9a48;outline-offset:3px}button{color:inherit}button:hover{filter:brightness(.95)}[hidden]{display:none!important}.topbar{height:76px;background:#17333c;color:#f5f8f1;display:flex;align-items:center;gap:28px;padding:0 30px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px;white-space:nowrap;font-family:'DM Sans',system-ui;font-size:22px;font-weight:400}.brand strong{font-weight:800}.brand svg{width:39px;height:35px;fill:none;stroke:#d6dcbf;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.tagline{font-size:12px;color:#bbccc9}.topbar nav{display:flex;gap:9px;margin-left:auto}.nav-button{border:0;background:transparent;color:#c7d5d1;padding:12px 14px;border-radius:6px;font-size:13px}.nav-button.active{background:#ffffff15;color:white}.preview-badge{font-size:10px;letter-spacing:.02em;border:1px solid #718681;border-radius:5px;padding:6px 8px;white-space:nowrap}.workspace{display:grid;grid-template-columns:388px 1fr;height:calc(100dvh - 76px);min-height:520px}#sidebar{background:var(--cream);overflow:auto;border-right:1px solid var(--line);padding:28px 26px 18px;scrollbar-width:thin}.intro h1{font-family:'DM Sans',system-ui;font-size:31px;line-height:1.2;font-weight:800;letter-spacing:-1.1px;margin:0 0 12px}.intro p{line-height:1.6;color:var(--muted);font-size:13px;margin:0 0 24px}#search-form>label,.filters>label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.search-row{display:flex;box-shadow:0 2px 7px #183a2610;border-radius:7px;background:white;border:1px solid #cbd7cf;overflow:hidden}.search-row input{width:100%;min-width:0;border:none;background:none;padding:13px 12px;font-size:12px;color:var(--ink);outline-offset:-3px}.search-row button{background:var(--green);color:white;border:none;font-size:24px;width:43px;flex-shrink:0}#search-kind{border:none;background:transparent;color:var(--muted);font-size:11px;padding:9px 0;width:auto;max-width:100%}.filters{margin:21px 0 13px}select{border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;color:var(--ink);width:100%;font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 12px}.section-title h2{font-size:15px;font-weight:700;margin:0}.text-button{background:none;border:0;color:var(--green);font-size:11px;font-weight:600;padding:5px}.filter-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}.filter-pair label{font-size:10px;color:var(--muted)}.filter-pair select{margin-top:5px;font-size:11px;padding:8px}.small{font-size:11px;line-height:1.6}.muted{color:var(--muted)}.empty{background:#f0f4ed;border:1px solid #dde5d9;border-radius:8px;padding:19px;margin-top:15px}.empty h3{font-size:14px;margin:0 0 8px}.empty p{font-size:12px;line-height:1.6;margin:6px 0 12px;color:var(--muted)}.action-link{font-size:12px;font-weight:700;display:inline-block;text-decoration:none}.retry{border:1px solid #bdcec5;background:white;border-radius:5px;padding:8px 13px;margin-top:7px}.record-card{background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left;width:100%;padding:16px;margin:0 0 9px;transition:border-color .15s,box-shadow .15s}.record-card:hover{border-color:#8eaa9b;box-shadow:0 2px 9px #2343320d}.record-top{display:flex;justify-content:space-between;align-items:center;gap:7px}.record-id{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.status-pill{font-size:9px;border-radius:4px;background:#edf3ee;padding:4px 6px;color:#365d48;max-width:55%;text-align:right;overflow-wrap:anywhere}.record-card h3{font-size:13px;line-height:1.5;margin:10px 0 9px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-meta{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.office-card{background:#edf2ea;padding:14px;border-radius:7px;line-height:1.5}.office-card strong{display:block;font-size:12px}.office-card p{font-size:11px;color:var(--muted);margin:5px 0 8px}.office-card a{font-size:11px;font-weight:700;text-decoration:none}.agency-card{border:1px solid var(--line);border-radius:8px;padding:16px;background:white;margin:10px 0}.agency-card h3{font-size:14px;margin:0 0 4px}.agency-card p{font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0 10px}.agency-card .badge{font-size:9px;color:#677a6a}.agency-card a{font-size:12px;font-weight:600;text-decoration:none}.sidebar-footer{margin:24px 0 0;padding-top:15px;color:#73817a;font-size:10px;line-height:1.7}.map-shell{position:relative;overflow:hidden;isolation:isolate;background:#e7ece3}#map{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;outline-offset:-4px}#map.dragging{cursor:grabbing}#tiles,#markers,#geometry{position:absolute;inset:0;width:100%;height:100%}#tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}#geometry{pointer-events:none;overflow:visible}#markers{pointer-events:none}.map-marker{position:absolute;pointer-events:auto;width:16px;height:16px;margin:-8px;border-radius:50%;background:#315f53;border:2px solid white;box-shadow:0 1px 5px #16332b55;padding:0}.map-marker:hover,.map-marker:focus{background:#b68635;transform:scale(1.25);z-index:2}.map-top{position:absolute;left:23px;right:23px;top:23px;display:flex;justify-content:space-between;align-items:start;gap:12px;pointer-events:none}.map-top>*{pointer-events:auto}.place-pills{display:flex;background:#fffffff2;border:1px solid #dfe5dc;border-radius:8px;padding:4px;gap:2px;box-shadow:var(--shadow)}.place-pills button{white-space:nowrap;font-size:11px;padding:10px 12px;border:0;background:none;border-radius:5px;color:#60726b}.place-pills button.selected{background:#e8eee2;color:#254f43;font-weight:700}.floating{background:#fffffff5;border:1px solid #dce3d9;border-radius:8px;box-shadow:var(--shadow)}#layers-button{font-size:12px;padding:14px 16px;white-space:nowrap}.layer-panel{position:absolute;right:23px;top:80px;width:270px;padding:20px;z-index:5}.layer-panel h2{margin:0 0 14px;font-size:15px}.layer-panel label{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:12px}.layer-panel input{accent-color:var(--green);width:16px;height:16px}.line-key{display:inline-block;border-top:2px dashed #a77936;width:22px}.zoom-controls{position:absolute;right:23px;bottom:85px;display:flex;flex-direction:column;overflow:hidden}.zoom-controls button{border:0;background:none;width:41px;height:41px;font-size:23px}.zoom-controls button+button{border-top:1px solid var(--line)}.map-caption{position:absolute;left:23px;bottom:45px;padding:14px 16px;display:flex;gap:13px;align-items:center;max-width:calc(100% - 100px);pointer-events:none}.dot{background:#416956;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px #e8eee3;flex-shrink:0}.map-caption strong{display:block;font-size:12px;margin-bottom:4px}.map-caption span:not(.dot){font-size:10px;color:var(--muted)}.map-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;align-items:end;padding:7px 10px;pointer-events:none}.attribution{background:#ffffffed;font-size:9px;line-height:1.5;padding:3px 5px;pointer-events:auto}.attribution a{color:#385b50}#scale{font-size:10px;white-space:nowrap;background:#ffffffd9;border-bottom:2px solid #425749;padding:2px 9px;min-width:60px}.map-notice{position:absolute;top:86px;left:23px;max-width:min(460px,calc(100% - 46px));padding:12px 15px;background:#fff8e8ed;border:1px solid #dfc78d;color:#655532;border-radius:7px;font-size:11px;line-height:1.6;pointer-events:none}.detail{position:absolute;right:23px;top:85px;bottom:45px;width:345px;max-width:calc(100% - 46px);padding:27px 23px;overflow:auto;z-index:4}.close{position:absolute;right:12px;top:9px;font-size:25px;border:0;background:transparent;width:30px;height:30px;color:var(--muted)}.detail h2{font-family:'DM Sans',system-ui;font-size:21px;line-height:1.3;padding-right:12px;margin:15px 0;overflow-wrap:anywhere}.detail p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.detail dt{font-size:10px;color:var(--muted);margin-top:13px}.detail dd{font-size:12px;margin:5px 0;overflow-wrap:anywhere}.detail .primary-link{display:block;background:var(--green);color:white;text-align:center;padding:12px;border-radius:6px;text-decoration:none;font-size:12px;margin-top:22px}.detail h3{font-size:14px;margin:25px 0 12px}dialog{border:1px solid var(--line);border-radius:13px;padding:35px;max-width:650px;width:calc(100% - 28px);max-height:85dvh;color:var(--ink)}dialog::backdrop{background:#102f3870;backdrop-filter:blur(4px)}dialog h2{font:700 26px 'DM Sans',system-ui;margin:0 0 20px}dialog p{font-size:13px;line-height:1.7}#source-list a{font-size:12px;display:block;margin:10px 0}.skip{position:absolute;left:10px;top:-50px;z-index:50;background:white;padding:12px}.skip:focus{top:10px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.noscript{position:fixed;inset:100px 20px auto;background:white;padding:20px;border:1px solid}.loading-line{height:10px;background:#e5ebe1;border-radius:4px;margin:13px 0;animation:pulse 1.6s infinite}.loading-line:nth-child(2){width:80%}.loading-line:nth-child(3){width:55%}@keyframes pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1600px){.workspace{grid-template-columns:420px 1fr}#sidebar{padding:32px}.intro h1{font-size:36px}}
@media(max-width:1100px){.tagline{display:none}.topbar{gap:18px;padding:0 22px}.workspace{grid-template-columns:345px 1fr}.place-pills button{padding:9px 8px}.map-top{left:15px;right:15px}.place-pills{flex-wrap:wrap;max-width:285px}.preview-badge{display:none}.detail{width:310px}.map-notice{top:122px}}
@media(max-width:740px){.topbar{height:66px;padding:0 15px;gap:10px}.brand{font-size:18px;gap:6px}.brand svg{width:30px}.topbar nav{gap:0}.nav-button{padding:9px 7px;font-size:10px}#about-button{font-size:0}#about-button span{font-size:19px}.workspace{height:auto;min-height:0;display:flex;flex-direction:column}.map-shell{order:-1;height:46dvh;min-height:320px;max-height:520px;border-bottom:1px solid var(--line)}#sidebar{overflow:visible;border:0;padding:24px 20px}.intro h1{font-size:27px;letter-spacing:-.9px}.intro h1 br{display:none}.intro h1 br:after{content:' '}.intro p{margin-bottom:20px}.map-top{top:12px;left:12px;right:12px;gap:7px}.place-pills{max-width:none;flex-wrap:nowrap}.place-pills button{font-size:9px;padding:9px 7px}#layers-button{font-size:10px;padding:13px 8px}.map-caption{display:none}.map-bottom{flex-direction:column;align-items:start;gap:3px}.attribution{font-size:8px;max-width:100%}.zoom-controls{bottom:62px;right:12px}.zoom-controls button{height:34px;width:35px;font-size:21px}.layer-panel{top:62px;right:12px;padding:13px 18px;max-height:calc(100% - 104px);overflow:auto}.map-notice{top:68px;left:12px;max-width:calc(100% - 66px);font-size:10px;padding:10px}.detail{top:63px;left:12px;right:12px;bottom:44px;width:auto;max-width:none;padding:20px}.detail h2{font-size:18px}.detail .primary-link{margin-top:12px}dialog{padding:28px 23px}.filter-pair{grid-template-columns:1fr 1fr}.sidebar-footer{margin-top:20px}}
