:root{--ink:#21362f;--green:#1d5b49;--light:#edf3ef;--muted:#79877e;--line:#e4e9e3;--amber:#a66b25;--paper:#fbfcf9;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #9bc7b2;outline-offset:3px}[hidden]{display:none!important}.header{height:82px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:800}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:24px;font-weight:750;letter-spacing:2px}.brand:hover{text-decoration:none}.brand-mark{width:39px;height:43px;border-radius:13px 13px 13px 3px;display:grid;place-items:center;color:#fff;background:var(--green);font-size:21px;letter-spacing:0}.brand-sub{font-size:11px;display:block;color:var(--muted);letter-spacing:1.4px;margin-top:4px;font-weight:400}.header-right{display:flex;gap:15px;align-items:center;font-size:12px;color:var(--muted)}.live-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#5b9477;box-shadow:0 0 0 4px #eef5ee;flex-shrink:0}.plain{border:0;background:none;color:var(--green);padding:6px;font-size:12px}.button{border:1px solid #d4ded4;background:#fff;border-radius:7px;padding:9px 14px;color:var(--green);font-size:12px;font-weight:600}.button:hover{background:#edf3ed}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#174936}.workspace{display:grid;grid-template-columns:410px 1fr;height:calc(100dvh - 82px);min-height:400px}.sidebar{display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line);min-height:0;z-index:600;box-shadow:8px 0 26px #1b37260a}.sidebar-intro{padding:24px 26px 14px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#8b9a88}.sidebar-intro h1{font-size:25px;line-height:1.5;font-weight:650;letter-spacing:1px;margin:10px 0}.sidebar-intro p{font-size:11px;color:var(--muted);margin:8px 0;line-height:1.7}.filters{padding:0 26px 17px;border-bottom:1px solid var(--line)}.label-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:8px}.label-row span{font-size:10px;color:var(--muted)}input,select,textarea{min-width:0;border:1px solid #dee5db;border-radius:7px;background:#fff;padding:10px 11px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#69a184;box-shadow:0 0 0 3px #1d5b490e}select{cursor:pointer}.filters>select{width:100%;font-size:14px;font-weight:600}.search-wrap{display:flex;align-items:center;gap:7px;margin:10px 0;border:1px solid #dee5db;border-radius:7px;background:white;padding-left:12px}.search-wrap span{font-size:22px;color:#899b8b}.search-wrap input{width:100%;border:none;box-shadow:none!important;background:transparent;font-size:12px}.filter-row{display:flex;gap:8px;margin:8px 0}.filter-row>*{flex:1;width:0;font-size:11px}.filter-row select{padding-left:8px}.check-row{display:flex;gap:15px;margin-top:12px;font-size:10px;color:#67796a}.check-row label,.map-note label{display:flex;gap:4px;align-items:center;cursor:pointer}input[type=checkbox]{accent-color:var(--green);margin:0;width:12px;height:12px}.hint{color:var(--amber);font-size:11px;line-height:1.5;margin:7px 0}.results-head{padding:14px 26px 10px;display:flex;justify-content:space-between;align-items:center;color:#667b6a;font-size:11px}.results-head b{color:var(--ink);font-size:15px;margin-right:3px}.results-head small{font-size:10px;color:#96a294}.results-head select{border:0;background:transparent;padding:2px;font-size:10px;color:var(--muted);max-width:140px}.result-list{overflow:auto;flex:1;padding:0 16px 12px;scrollbar-width:thin;scrollbar-color:#c5d2c6 transparent}.project-card{border:1px solid #e2e8df;background:#fff;border-radius:10px;padding:15px;margin:7px 0 10px;cursor:pointer;transition:box-shadow .15s,border-color .15s;outline:none}.project-card:hover,.project-card:focus-visible{border-color:#a1b9a4;box-shadow:0 5px 15px #2743310b}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.district-tag{font-size:9px;color:#719179;background:#eef4ec;padding:3px 7px;border-radius:4px}.favorite{border:0;background:none;font-size:19px;line-height:1;color:#9caca0;padding:1px 2px}.favorite.on{color:#a77b31}.project-card h3{font-size:14px;line-height:1.6;margin:9px 0 6px;font-weight:650}.address{color:#8b978e;font-size:10px;line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:13px}.price{color:#345b45;font-size:18px;font-weight:650;letter-spacing:-.2px}.price small{font-size:9px;font-weight:400;margin-left:4px;color:#8e9b8e}.price.unknown{font-size:12px;font-weight:400;color:#a1aba0}.status-tag{font-size:9px;border:1px solid #e5e9e1;border-radius:4px;padding:3px 6px;color:#889580;white-space:nowrap}.status-tag.warning{background:#fdf7ed;border-color:#f0e7d5;color:#9e7d43}.card-evidence{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px;font-size:9px;color:#8f9c8d}.card-evidence span+span:before{content:'·';margin-right:7px}.sidebar-foot{padding:11px 20px;display:flex;align-items:center;justify-content:space-between;background:#f3f6ef;border-top:1px solid var(--line);font-size:9px;color:#8b9986}.sidebar-foot .plain{font-size:10px}.empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:12px;line-height:2}.map-panel{position:relative;min-width:0;background:#e7eee5;overflow:hidden}#map{height:100%;width:100%;background:#e7eee5}.leaflet-container{font:inherit}.map-toolbar{position:absolute;left:22px;top:22px;right:22px;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.map-toolbar>*{pointer-events:auto}.map-heading{display:flex;gap:10px;align-items:center;box-shadow:0 3px 16px #21432c09;border:1px solid #fff;background:#fffffff0;padding:12px 16px;border-radius:8px;font-size:12px}.map-heading small{font-size:9px;color:#8e9c90;margin-left:12px}.map-note{position:absolute;left:22px;bottom:127px;display:flex;gap:7px;align-items:center;z-index:500;background:#fffffff0;border:1px solid #fff;border-radius:7px;padding:11px 14px;font-size:9px;color:#7c8b7d}.map-note label{border-left:1px solid #dce3d9;padding-left:9px;margin-left:3px}.solid-dot{width:8px;height:8px;background:#387a57;border-radius:50%;display:inline-block}.ring-dot{width:9px;height:9px;border:1px dashed #889a84;border-radius:50%;display:inline-block;margin-left:5px}.map-bottom{position:absolute;left:22px;right:22px;bottom:20px;z-index:500;display:flex;gap:15px;align-items:center;justify-content:space-between;background:#fcfdf9f5;border:1px solid #fff;border-radius:10px;padding:17px 21px;box-shadow:0 6px 24px #24422d09}.map-bottom>div{display:flex;flex-direction:column;gap:6px}.map-bottom b{font-size:14px;font-weight:600;letter-spacing:.3px}.map-bottom div>span:last-child{font-size:9px;color:#8c9786}.map-bottom .plain{white-space:nowrap;font-size:10px}.leaflet-control-zoom{border:1px solid #d9e2d5!important;box-shadow:0 3px 10px #203f2608!important;margin:90px 22px 0 0!important}.leaflet-control-zoom a{color:#3b5c43!important}.leaflet-control-attribution{font-size:8px!important}.map-error{position:absolute;top:90px;left:22px;z-index:500;background:#fff9e9;padding:12px;border-radius:6px;font-size:11px;color:#966e26;max-width:80%}.marker-cluster{border-radius:50%;background:#fff;border:3px solid #3a775a;color:#27593d;box-shadow:0 2px 8px #1b442f30;display:grid;place-items:center;font-size:11px;font-weight:700}.approx-marker{border-radius:50%;border:2px dashed #809477;background:#edf3e8aa}.mobile-toggle{display:none}dialog{border:1px solid #dde5d8;border-radius:14px;box-shadow:0 20px 100px #0d291f38;padding:26px;max-height:88dvh;width:500px;max-width:calc(100vw - 30px);overflow:auto;color:var(--ink)}dialog::backdrop{background:#142a244d;backdrop-filter:blur(3px)}.wide-dialog{width:920px}.detail-dialog{width:660px;padding:0}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.dialog-heading h2{font-size:21px;line-height:1.6;margin:8px 0 0}.close{border:1px solid #e2e7df;border-radius:50%;width:30px;height:30px;background:#fff;color:#68816d;font-size:21px;flex-shrink:0}.detail-head{padding:27px;background:#f3f6ee;border-bottom:1px solid #e4e9df}.detail-head h2{font-size:22px;line-height:1.6;margin:10px 0}.detail-body{padding:23px 27px}.detail-status{font-size:11px;line-height:1.9;padding:13px 15px;background:#fdf8ed;color:#977140;border-radius:7px;margin-bottom:18px}.detail-price{font-size:27px;color:#315c41;font-weight:650}.detail-price small{font-size:12px;color:#8a9a86;font-weight:400}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:23px 0}.detail-grid div{min-width:0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.detail-grid .full{grid-column:1/-1}.detail-grid dt{font-size:10px;color:#91a08c;margin-bottom:5px}.detail-grid dd{margin:0}.section-title{font-size:13px;margin:23px 0 13px}.source-link{display:block;padding:11px;border:1px solid #e4eade;border-radius:6px;margin-bottom:7px;font-size:11px;line-height:1.8}.source-link small{display:block;color:#8d9a86;font-size:9px}.muted{font-size:11px;line-height:1.9;color:#8a9885}.action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.action-row a{text-align:center}.commute-box{padding:15px;background:#f4f7f1;border-radius:8px}.commute-box input{width:100%;font-size:12px}.commute-box .filter-row>*{width:auto;flex:initial}.place-option{display:block;border:1px solid #e1e8dc;background:#fff;color:#526c53;border-radius:5px;padding:8px 10px;width:100%;text-align:left;font-size:11px;margin:5px 0}.route-result{font-size:11px;line-height:1.9;margin-top:13px}.route-result strong{font-size:17px;color:var(--green)}.coverage-intro{background:#f4f7f1;border-radius:8px;padding:17px;font-size:12px;line-height:2}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;margin:18px 0}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid #e5eadf;white-space:nowrap}th{color:#87977f;font-weight:500}.gaps{font-size:11px;color:#829078;line-height:2}.gaps p{margin:7px 0}form>label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#6d806a;margin:12px 0}form .filter-row label{display:flex;flex-direction:column;gap:6px}form input,form select,form textarea{width:100%;font-size:12px}form button[type=submit]{width:100%;margin-top:10px}.honey{position:absolute;left:-9999px;visibility:hidden}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:2000;color:#fff;background:#274b37;padding:12px 22px;border-radius:8px;box-shadow:0 4px 20px #0002;font-size:12px;max-width:90vw}.load-more{display:block;margin:15px auto}.loading{opacity:.5;pointer-events:none}@media(min-width:1550px){.workspace{grid-template-columns:440px 1fr}.sidebar-intro{padding-top:30px}.sidebar-intro h1{font-size:29px}}@media(max-height:830px) and (min-width:761px){.sidebar-intro{padding-top:14px;padding-bottom:8px}.sidebar-intro h1{font-size:22px;margin:6px 0}.sidebar-intro h1 br{display:none}.sidebar-intro p{margin:3px 0}.filters{padding-bottom:12px}.header{height:70px}.workspace{height:calc(100dvh - 70px)}}@media(max-width:1000px){.workspace{grid-template-columns:360px 1fr}.header{padding:0 20px}.map-heading small{display:none}.sidebar-intro,.filters{padding-left:20px;padding-right:20px}.map-bottom .plain{display:none}.header-right{gap:8px}.map-bottom{padding:14px}.map-bottom div>span:last-child{line-height:1.7}}@media(max-width:760px){.header{height:68px;padding:0 16px}.brand{font-size:20px;gap:9px}.brand-sub{font-size:8px}.brand-mark{height:35px;width:33px;font-size:18px}.header-right{gap:5px}.header-right>.live-dot,.header-right>#global-stats{display:none}.header-right .button{padding:7px 9px;font-size:10px}.header-right .plain{font-size:10px}.workspace{height:calc(100dvh - 68px);display:block}.sidebar{height:100%;border:0}.sidebar-intro{padding:19px 20px 9px}.sidebar-intro h1{font-size:24px;margin:5px 0}.sidebar-intro h1 br{display:none}.sidebar-intro .eyebrow{font-size:8px}.sidebar-intro p{font-size:10px;margin:5px 0}.filters{padding-bottom:12px}.check-row{margin-top:10px}.results-head{padding:12px 20px 8px}.result-list{padding:0 13px 70px}.sidebar-foot{padding-right:120px}.map-panel{display:none;height:100%}.map-mode .sidebar{display:none}.map-mode .map-panel{display:block}.mobile-toggle{display:block;position:fixed;right:18px;bottom:34px;z-index:900;border:0;border-radius:22px;background:#235741;color:white;padding:12px 18px;font-size:12px;box-shadow:0 4px 18px #17382625}.map-toolbar{left:14px;right:14px;top:14px}.map-heading{padding:11px;font-size:11px}.map-toolbar .button{font-size:10px}.map-bottom{left:14px;right:14px;bottom:92px;padding:13px 15px}.map-bottom b{font-size:13px}.map-note{left:14px;bottom:200px;font-size:8px;padding:9px}.detail-head{padding:23px 20px}.detail-body{padding:20px}.detail-head h2{font-size:20px}.detail-grid{gap:16px}.detail-dialog{max-height:90dvh}.detail-price{font-size:23px}dialog{padding:20px}.coverage-intro{padding:12px}.dialog-heading h2{font-size:19px}}
