*{box-sizing:border-box} :root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213b35;background:#eef2ec;font-synthesis:none}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:#245e4c;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #df9b35;outline-offset:3px}button{color:inherit}button,select,input{border:1px solid #cdd9d1;border-radius:10px;background:white}button{min-height:44px}button:hover{border-color:#668477}input,select{width:100%;min-width:0;min-height:46px;padding:10px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#2a624e;flex:0 0 auto}h1,h2,h3,p{margin-top:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:650;text-decoration:none;border:1px solid #cdd9d1;border-radius:10px;background:#fff;white-space:nowrap}.primary{background:#245645;color:white;border-color:#245645}.icon-button{width:44px;height:44px;flex:0 0 44px;font-size:23px;display:inline-grid;place-items:center;padding:0}.text-button{border:0;background:transparent;padding:6px 8px;font-weight:650;color:#2b624e;min-height:44px;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:16px;top:-80px;z-index:9999;background:white;padding:16px}.skip:focus{top:10px}[hidden]{display:none!important}.mobile-only{display:none}
.map-header{height:72px;background:#fffdf7;border-bottom:1px solid #dce3db;display:flex;align-items:center;gap:24px;padding:0 24px;position:relative;z-index:1001}.brand{font-size:25px;font-weight:800;display:flex;align-items:center;text-decoration:none;color:#244b3c;letter-spacing:-1.4px;gap:8px}.brand>span:last-child{margin-left:-8px;color:#b77f37}.brandmark{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#275441;color:#fff;font-size:19px;letter-spacing:-2px}.map-title{border-left:1px solid #d7dfd7;padding-left:24px;display:flex;flex-direction:column;gap:2px}.map-title strong{font-size:16px}.map-title span{font-size:12px;color:#67766b}.map-header nav{margin-left:auto;display:flex;gap:10px;align-items:center}.map-workspace{height:calc(100dvh - 72px);min-height:440px;position:relative;overflow:hidden}.map-workspace:before{content:"";position:absolute;inset:0;background:linear-gradient(#80948415 1px,transparent 1px),linear-gradient(90deg,#80948415 1px,transparent 1px);background-size:40px 40px}#map{position:absolute;inset:0 0 0 380px;background:#e1e7dc;z-index:1}.map-sidebar{position:absolute;left:0;top:0;bottom:0;width:380px;background:#fbfcf8;z-index:500;display:flex;flex-direction:column;border-right:1px solid #d1dad0;box-shadow:3px 0 16px #203d3510}.sidebar-tools{padding:18px 18px 12px;background:#fffdf8;border-bottom:1px solid #e0e5dc;flex:0 0 auto}.search-row{display:flex;gap:8px;align-items:center}.searchbox{display:flex;align-items:center;background:white;border:1px solid #b8c9be;border-radius:11px;padding-left:12px;min-width:0;flex:1}.searchbox>span{font-size:26px;color:#557160}.searchbox input{border:0;background:transparent;padding-left:8px;font-size:14px}.filter-count{font-size:11px;background:#fff;color:#234f3d;min-width:20px;border-radius:20px;padding:2px}.weekday-heading{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;min-height:22px}.weekday-heading>span{color:#748074;font-size:11px}.weekday-heading .text-button{margin-left:auto;min-height:24px;padding:2px;font-size:12px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:7px 0 11px;padding:0;border:0}.weekdays label{position:relative;cursor:pointer;min-width:0}.weekdays input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.weekdays span{display:grid;place-items:center;height:40px;border:1px solid #d3ded4;border-radius:8px;background:white;font-size:12px;font-weight:650}.weekdays input:checked+span{background:#275d4a;color:white;border-color:#275d4a}.weekdays input:focus-visible+span{outline:3px solid #dfa33c;outline-offset:1px}.category-row{display:flex;gap:8px}.category-row select{background:#f3f5ee;font-size:14px;flex:1}.category-row .icon-button{background:#f7f6ef}.category-row .icon-button[aria-pressed=true]{background:#dfebdf;border-color:#3b7458;color:#245b43}.active-filters{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-top:5px;color:#67786b}.active-filters .text-button{font-size:11px;min-height:30px}.results-panel{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:0 18px 20px;scrollbar-width:thin}.results-intro{display:flex;align-items:center;justify-content:space-between;margin:17px 0 3px;gap:10px}.results-intro h1{font-size:20px;margin:0 0 3px;letter-spacing:-.5px}.results-intro p{font-size:11px;color:#6b786e;margin:0}.results-intro .text-button{font-size:12px}.check-field{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4;margin:16px 0;cursor:pointer}.area-filter{font-size:12px;margin:10px 0 14px}.area-filter input{width:18px;height:18px}.map-result{background:#fff;border:1px solid #dce4d9;border-radius:13px;margin:0 0 10px;overflow:hidden;transition:border .1s}.map-result.is-selected{border-color:#396f53;box-shadow:0 0 0 2px #d5e4d5}.result-select{display:block;width:100%;border:0;border-radius:0;text-align:left;padding:14px;background:transparent;min-height:110px}.result-select .result-location{color:#687d6d;font-size:10px;text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:6px;margin-bottom:7px}.category-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--category-color);flex-shrink:0}.result-select h2{font-size:15px;line-height:1.35;margin:0 0 8px;color:#253e33}.result-select .result-meta{font-size:11px;line-height:1.6;color:#5b6c5e}.result-actions{display:flex;border-top:1px solid #edf0e8;padding:0 6px;justify-content:space-between}.result-actions button{font-size:12px;background:none;border:0;padding:8px;min-height:38px}.point-label{font-size:10px;display:inline-flex;border-radius:5px;padding:3px 6px;background:#edf2e8;color:#587152;margin-top:8px}.point-label.approx{background:#fbf0dc;color:#8d6731}.point-label.missing{background:#f1eeec;color:#7b6a61}.empty{padding:25px 10px;text-align:center}.empty h2{font-size:17px}.empty p{font-size:14px}.more{width:100%;font-size:13px}.sidebar-foot{font-size:11px;line-height:1.7;color:#7b857a;margin:22px 0 0}.group-note{background:#edf1e4;padding:10px;border-radius:8px;font-size:12px;line-height:1.5}.group-note button{font-size:12px;min-height:30px}
.map-controls{position:absolute;z-index:450;top:18px;right:18px;display:flex;gap:10px}.style-switch{display:flex;background:#fff;border:1px solid #bccfc0;border-radius:11px;padding:3px;box-shadow:0 2px 7px #2c443318}.style-switch button{border:0;min-height:36px;padding:6px 13px;background:transparent;font-size:12px;font-weight:650}.style-switch button[aria-pressed=true]{background:#e6ede0;color:#244d38}.map-controls>.button{box-shadow:0 2px 7px #2c443318;font-size:13px}.leaflet-control-zoom{margin-top:84px!important;margin-right:18px!important;box-shadow:0 2px 7px #2c443318!important;border:1px solid #b9c9b7!important;border-radius:10px!important;overflow:hidden}.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;color:#345241!important}.leaflet-bottom.leaflet-right{max-width:calc(100% - 10px)}.leaflet-control-attribution{font-size:10px!important;padding:4px 7px!important;background:#fffffff0!important;color:#334337!important}.leaflet-control-attribution a{color:#245a44!important}.dark-map #map{background:#17272a}.dark-map .leaflet-tile-pane{filter:invert(.92) hue-rotate(170deg) saturate(.55) brightness(.88)}.dark-map .style-switch{background:#172c2e;border-color:#526566}.dark-map .style-switch button{color:#cfdfd8}.dark-map .style-switch button[aria-pressed=true]{background:#415959;color:white}.dark-map .leaflet-control-attribution{background:#172a2eea!important;color:#c9d9d0!important}.dark-map .leaflet-control-attribution a{color:#dfebdf!important}.map-pin{background:transparent;border:0}.pin-face{display:grid;place-items:center;width:34px;height:34px;border:2px solid white;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:var(--category-color);box-shadow:0 2px 6px #18332960;color:white}.pin-face>span{transform:rotate(45deg);font-size:16px;line-height:1;font-weight:800}.map-pin.is-approx .pin-face{border-style:dashed;border-width:2px}.map-pin.is-selected .pin-face{width:42px;height:42px;border-width:3px;outline:3px solid #f6c96c;box-shadow:0 4px 12px #112b4b70}.map-cluster{border-radius:50%;display:grid;place-items:center;border:3px solid white;background:#2f5e4c;color:white;font-size:14px;font-weight:750;box-shadow:0 2px 8px #18332950}.map-cluster:focus-visible,.map-pin:focus-visible{outline:3px solid #ffb72c;outline-offset:5px}.tile-error{position:absolute;z-index:450;top:142px;right:70px;max-width:350px;background:#fff7df;color:#634a20;border:1px solid #dbb464;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.4}.tile-error button{font-size:12px;min-height:30px}.selected-card{position:absolute;z-index:600;left:402px;bottom:36px;max-width:410px;width:calc(100% - 492px);background:#fffdf8;border-radius:17px;box-shadow:0 5px 28px #223c3540;border:1px solid #c6d6c3;padding:20px}.selected-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.selected-top p{font-size:11px;margin:0 0 6px;color:#6c7c6b;display:flex;align-items:center;gap:7px}.selected-top h2{font-size:20px;line-height:1.25;letter-spacing:-.4px;margin:0 0 5px}.selected-top .icon-button{width:36px;height:36px;min-height:36px;flex-basis:36px;font-size:23px;background:none;border:0}.selected-meta{font-size:12px;color:#627363;line-height:1.5;margin:9px 0 4px}.selected-opening{font-size:12px;line-height:1.4;color:#526c52;margin:6px 0 12px}.selected-actions{display:flex;gap:8px}.selected-actions .primary{flex:1}.selected-actions button{font-size:13px}.selected-actions [aria-pressed=true]{background:#e2eddb}.list-toggle{position:absolute;z-index:650;bottom:30px;left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:24px;background:#254f3e;color:white;box-shadow:0 3px 20px #0e302c55;border:1px solid #fff7;font-size:14px;font-weight:650;align-items:center;gap:8px;white-space:nowrap}
dialog{border:1px solid #cfdbcf;border-radius:20px;background:#fffdf7;color:#263d32;max-width:720px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 20px 100px #112c3350;overscroll-behavior:contain}dialog::backdrop{background:#122c35a3;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 18px;position:sticky;top:0;background:#fffdf7;z-index:3;border-bottom:1px solid #e5e9dd}.dialog-head h2{font-size:24px;letter-spacing:-.7px;margin:3px 0 0}.dialog-head .icon-button{background:#f3f3e9}.eyebrow{font-size:10px;font-weight:750;color:#65816a;letter-spacing:1.6px;margin:0}.filter-fields{padding:22px 24px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.field-grid label{font-size:13px;font-weight:600}.field-grid select{margin-top:7px;background:white;font-size:14px}.field-help{font-size:12px;line-height:1.6;color:#74806f}.dialog-foot{position:sticky;bottom:0;background:#fffdf7;padding:16px 24px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e2e7d9;z-index:3}.detail-body{padding:24px}.detail-body>h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin-bottom:13px}.detail-location{font-size:12px;color:#6b7d68;line-height:1.5}.detail-description{font-size:15px;line-height:1.7;color:#586d57}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.detail-stats>div{padding:12px;background:#edf1e4;border-radius:10px;font-size:13px;line-height:1.45}.detail-stats strong{display:block;font-size:10px;color:#73856b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.detail-section{margin:24px 0}.detail-section h3,.help-body h3{font-size:17px;letter-spacing:-.3px;margin-bottom:8px}.detail-section p,.help-body p{font-size:14px;line-height:1.75;color:#5d705b;margin-bottom:9px;overflow-wrap:anywhere}.detail-section .source{font-size:11px;color:#7d8976}.opening-table{width:100%;font-size:12px;border-collapse:collapse;margin:12px 0}.opening-table td,.opening-table th{padding:9px 0;text-align:left;border-bottom:1px solid #e3e9da;vertical-align:top}.opening-table th{width:35%;font-weight:600}.detail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.detail-links .button{font-size:13px;white-space:normal}.legend{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.legend>span{font-size:12px;display:flex;align-items:center;gap:8px}.toast{position:fixed;z-index:3000;left:50%;bottom:40px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#244b38;color:white;padding:12px 20px;border-radius:10px;font-size:13px;max-width:90vw;transition:opacity .15s,transform .15s}.toast.visible{opacity:1;transform:translate(-50%,0)}.no-script{position:absolute;top:80px;left:20px;z-index:9999;background:white;padding:20px}
@media(min-width:1500px){.map-sidebar{width:410px}#map{left:410px}.selected-card{left:432px}}
@media(max-width:760px){.mobile-only{display:inline-flex}.map-header{height:60px;padding:0 12px;gap:12px}.brand{font-size:22px}.brandmark{width:30px;height:30px;font-size:17px}.map-title{border:0;padding:0;margin-left:1px}.map-title strong{font-size:13px}.map-title span{display:none}.map-header nav{gap:6px}.map-header .list-link{font-size:12px;min-height:38px;padding:7px 9px}.map-header .icon-button{width:36px;height:38px;min-height:38px;flex-basis:36px;font-size:18px}.map-workspace{height:calc(100dvh - 60px);min-height:390px}#map{inset:0}.map-sidebar{top:10px;left:10px;right:10px;width:auto;bottom:auto;max-height:calc(100% - 36px);border:1px solid #d0dacc;border-radius:15px;box-shadow:0 3px 18px #16372e25;overflow:hidden}.sidebar-tools{padding:10px 10px 9px;border:0}.search-row{gap:6px}.searchbox input{font-size:13px;height:43px;min-height:43px;padding-top:8px;padding-bottom:8px}.search-row>.button{min-height:44px;font-size:12px;padding:8px 10px}.search-row #list-close{display:none}.weekday-heading{margin-top:9px;min-height:16px;font-size:11px}.weekday-heading>span{font-size:10px}.weekday-heading .text-button{font-size:11px;min-height:18px}.weekdays{margin:5px 0 8px;gap:5px}.weekdays span{height:36px;font-size:12px}.category-row select{min-height:40px;height:40px;padding:7px 9px;font-size:12px;background:#f3f5ec}.category-row .icon-button{width:40px;height:40px;min-height:40px;flex-basis:40px;font-size:22px}.active-filters{font-size:10px;margin-top:5px;min-height:24px}.active-filters .text-button{font-size:10px;min-height:24px}.map-sidebar>.results-panel{display:none}.list-open .map-sidebar{bottom:32px;max-height:none}.list-open .results-panel{display:block;border-top:1px solid #e0e7d7;padding:0 12px 18px}.list-open #list-close{display:inline-grid}.list-open .list-toggle{display:none}.list-open .map-controls{display:none}.list-open .selected-card{display:none}.list-open .weekday-heading,.list-open .weekdays{display:none}.map-controls{top:var(--map-controls-top,210px);right:10px;left:10px;justify-content:space-between;pointer-events:none;gap:5px}.map-controls>*{pointer-events:auto}.style-switch{padding:2px;border-radius:9px;box-shadow:0 1px 6px #25382a20}.style-switch button{font-size:11px;min-height:34px;padding:5px 11px}.map-controls>.button{font-size:12px;min-height:40px;padding:7px 11px}.leaflet-control-zoom{margin-top:var(--map-zoom-top,268px)!important;margin-right:10px!important}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;font-size:21px!important}.leaflet-control-attribution{font-size:9px!important;padding:3px 5px!important;line-height:1.3!important}.selected-card{left:10px;right:10px;bottom:88px;max-width:none;width:auto;border-radius:14px;padding:14px;max-height:calc(100% - var(--map-controls-top,210px) - 100px);overflow:auto}.selected-top h2{font-size:17px;letter-spacing:-.3px;margin-bottom:3px}.selected-top p{font-size:10px;margin-bottom:5px}.selected-top .icon-button{height:30px;min-height:30px;width:30px;flex-basis:30px}.selected-meta{font-size:11px;margin-top:7px}.selected-card .point-label{font-size:10px;margin:5px 0}.selected-opening{font-size:11px;margin:5px 0 8px}.selected-actions .button{font-size:12px;min-height:42px;padding:8px 12px}.list-toggle{bottom:29px;min-height:44px;font-size:12px;padding:10px 17px}.tile-error{top:var(--map-zoom-top,268px);left:10px;right:58px;max-width:none;font-size:11px}.results-intro h1{font-size:21px}.result-select h2{font-size:16px}.result-select .result-meta{font-size:12px}.result-actions button{min-height:42px}.dialog-head{padding:16px}.dialog-head h2{font-size:22px}.detail-body,.filter-fields{padding:18px}.detail-body>h2{font-size:25px}.detail-stats{gap:6px}.detail-stats>div{padding:10px;font-size:12px}.detail-stats strong{font-size:9px}.dialog-foot{padding:12px 16px}.dialog-foot .button{font-size:13px}.field-grid{gap:16px 12px}.field-grid label{font-size:12px}.field-grid select{font-size:13px}.help-body p,.detail-section p{font-size:13px}.toast{bottom:30px}}
@media(max-width:370px){.map-title{display:none}.map-header{gap:6px}.brand{font-size:22px}.field-grid{grid-template-columns:1fr}.selected-opening{display:none}.map-controls>.button span{display:none}.map-header nav{gap:5px}.searchbox{padding-left:8px}.searchbox>span{font-size:23px}.searchbox input{font-size:12px;padding-left:5px}.detail-stats{grid-template-columns:1fr}.detail-stats>div{display:flex;align-items:center;gap:10px}.detail-stats strong{margin:0}}
.point-evidence summary{font-size:12px;padding:10px 0;min-height:44px;cursor:pointer;color:#4e7158}.point-evidence p{font-size:12px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:371px) and (max-width:760px){.map-title span{display:block;font-size:9px;letter-spacing:-.1px}}
