:root{--ink:#213b35;--muted:#65746c;--teal:#126454;--amber:#bb7628;--line:#dce2d8;--paper:#f7f8f2}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;padding:10px 14px;border-radius:6px;color:var(--ink)}button:hover{background:#e9eee4}button:focus-visible,a:focus-visible{outline:3px solid #c28639;outline-offset:3px}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:2px;font-size:17px}.brandmark{background:var(--ink);color:#fff;font-size:34px;width:44px;height:44px;text-align:center;border-radius:50%;line-height:37px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:6px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:20px}.pill{font-size:10px;letter-spacing:1.3px;color:var(--muted)}main{display:grid;grid-template-columns:365px 1fr;height:calc(100dvh - 80px)}aside{overflow:auto;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper)}.intro{padding:28px 25px 20px}.eyebrow{font-size:9px;font-weight:bold;letter-spacing:1.6px;color:var(--teal)}h1{font-family:Georgia,serif;font-size:31px;font-weight:normal;line-height:1.15;letter-spacing:-.8px;margin:16px 0 12px}p{font-size:13px;line-height:1.65;color:var(--muted);margin:10px 0}nav{display:flex;margin:0 22px;border-bottom:1px solid var(--line)}nav button{flex:1;padding:13px 0;font-size:12px;border:0;border-radius:0;background:transparent;color:var(--muted)}nav button.active{border-bottom:2px solid var(--teal);color:var(--teal);font-weight:bold}.panel{padding:22px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-head span{font-size:11px;color:var(--muted)}h2{font-size:17px;margin:0 0 5px}h3{font-size:15px;margin:10px 0 6px}.source-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:12px}.source-card p{font-size:12px}.source-card button{font-size:12px;width:100%}.badge{font-size:9px;font-weight:bold;letter-spacing:.7px}.teal{color:var(--teal)}.tealbg{background:var(--teal)}.amberbg{background:var(--amber)}.item{display:block;width:100%;text-align:left;margin:9px 0;padding:14px;background:white;border:1px solid var(--line)}.item strong{display:block;font-size:13px;margin-bottom:6px}.item small{font-size:11px;line-height:1.6;color:var(--muted)}.item .badge{float:right}.wide{width:100%;margin:8px 0;background:#e9eee4;border-color:#d4decc;font-size:13px}.hint{font-size:11px;line-height:1.6}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:14px 22px;display:flex;align-items:center;justify-content:space-between}.sidebar-bottom button{padding:0;border:0;background:none;font-size:11px}.sidebar-bottom span{font-size:9px;color:var(--muted)}.maparea{position:relative;min-height:400px}#map{height:100%;width:100%;background:#dce5d5}.maptop,.demobanner,.legend,.home,#instruction,#basemaperror{position:absolute;z-index:500;background:#fffdf8;box-shadow:0 4px 20px #20302515;border:1px solid #dce2d8}.maptop{top:20px;left:22px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:7px;font-size:12px}.maptop span:last-child{font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}.live-dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.demobanner{top:78px;left:22px;right:22px;border-radius:6px;padding:10px 12px;font-size:9px;font-weight:bold;color:#8c5b23;display:flex;align-items:center;gap:12px}.demobanner span{font-size:11px;font-weight:normal;flex:1}.demobanner button{font-size:10px;padding:6px 9px}.legend{bottom:28px;left:22px;border-radius:8px;padding:15px;display:flex;flex-direction:column;gap:12px;font-size:11px}.legend b{font-size:9px;letter-spacing:1px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:10px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.line{display:inline-block;width:19px;border-top:3px dashed #8c619b}.green{border-top:4px solid #168964}.home{right:20px;bottom:35px;font-size:12px}#instruction{top:140px;left:22px;right:22px;background:#213b35;color:white;padding:13px;border-radius:6px;font-size:12px}#instruction button{float:right;padding:2px 7px}.leaflet-control-zoom{margin-top:150px!important}.leaflet-popup-content{line-height:1.7}label{display:block;font-size:12px;color:var(--ink);margin:15px 0}label strong{float:right}input:not([type=range]),select,textarea{width:100%;padding:9px;border:1px solid #cdd7cd;border-radius:5px;margin-top:6px;background:#fff;color:var(--ink)}input[type=range]{width:100%;accent-color:var(--teal);margin-top:15px}.travel-result{background:var(--ink);color:white;border-radius:8px;padding:20px;margin:22px 0 12px}.travel-result span{font-size:9px;letter-spacing:1.1px;display:block}.travel-result strong{display:block;font-family:Georgia,serif;font-size:35px;font-weight:normal;margin:10px 0}.travel-result small{font-size:11px;line-height:1.5;display:block;color:#c2d3c5}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;width:460px;max-width:94vw;max-height:90vh;overflow:auto;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#142e2666;backdrop-filter:blur(3px)}dialog h2{font-family:Georgia,serif;font-size:26px;margin-top:12px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.danger{color:#a34c35;margin-right:auto}.primary{background:var(--teal);color:white;border:0}.primary:hover{background:#0c4c3e}a{color:var(--teal)}#basemaperror{bottom:5px;left:240px;right:15px;font-size:10px;padding:8px}.marker{width:28px;height:28px;border:3px solid white;border-radius:50%;box-shadow:0 2px 7px #0005;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:bold}.draftmarker{background:var(--amber)}.existingmarker{background:var(--teal)}.originmarker{background:#344e66}.sampletag{font-size:10px;color:#98692b} [hidden]{display:none!important}@media(max-width:850px){main{grid-template-columns:310px 1fr}.intro{padding:22px}h1{font-size:27px}.maptop span:last-child{display:none}.demobanner{align-items:flex-start;flex-wrap:wrap}.demobanner span{flex-basis:100%;order:2}.pill{display:none}}@media(max-width:620px){header{height:65px;padding:0 14px}.brand{font-size:13px}.header-right button{font-size:11px;padding:8px}.brandmark{width:34px;height:34px;line-height:29px;font-size:28px}main{height:auto;display:flex;flex-direction:column}.maparea{height:58dvh;order:-1;min-height:360px}aside{overflow:visible}.intro{padding:20px 22px 10px}h1 br{display:none}h1{font-size:26px}.intro p{margin:6px 0}.maptop{top:12px;left:12px}.demobanner{top:64px;left:12px;right:12px}.legend{bottom:25px;left:12px;padding:10px;gap:8px;font-size:10px}.home{right:12px;bottom:28px}#instruction{top:145px;left:12px;right:12px}.panel{padding-top:18px}#basemaperror{left:12px;bottom:0;right:12px}.sidebar-bottom{padding-bottom:22px}}
nav{margin:0 12px}nav button{font-size:11px}.purple{color:#74508e}.purplebg{background:#8057a0}.clusterbg{background:#587da2}.candidatemarker{background:#8057a0;border-radius:6px;transform:rotate(-8deg)}.clustermarker{background:#587da2}.planning-card{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}.planning-card .item{margin-bottom:4px}.planning-card p{padding:0 5px}summary{font-size:12px;font-weight:bold;cursor:pointer;margin:14px 0}details{border-bottom:1px solid var(--line);margin-bottom:20px}.empty{background:#edf0e7;padding:14px;border-radius:6px}#storage .section-head{margin-top:20px}#planning{width:500px}#planning label{margin:12px 0}
.studycontrols{position:absolute;z-index:600;right:20px;bottom:95px;width:220px;max-width:48%;background:#fffdf8;border:1px solid var(--line);padding:0 13px;border-radius:7px;box-shadow:0 4px 20px #20302515;margin:0}.studycontrols summary{font-size:11px;margin:13px 0}.studycontrols label{font-size:11px;display:flex;align-items:center;gap:7px}.studycontrols input[type=checkbox]{width:14px;margin:0;accent-color:var(--teal)}.boundary-actions{display:flex;gap:6px}.boundary-actions button{font-size:10px;padding:7px;flex:1}.studycontrols .hint{font-size:10px}.roadreference{margin-top:20px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;line-height:1.5}td,th{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:9px 5px}th{color:var(--teal)}td:first-child{font-weight:bold}#studycounts{padding-bottom:10px;border-bottom:1px solid var(--line);margin-top:0;font-size:10px}@media(max-width:620px){.studycontrols{right:12px;bottom:90px;width:180px;padding:0 10px}.studycontrols[open]{max-height:230px;overflow:auto}}
.building-evidence{border:1px solid var(--line);padding:0 13px 8px;border-radius:7px;background:#fffdf8}.building-evidence summary{color:#845230}.building-evidence .wide{font-size:11px}.studycontrols[open]{max-height:300px;overflow:auto}.studycontrols #buildingstatus{font-size:9px;color:#845230}
.building-key{display:inline-block;width:11px;height:8px;background:#b38650;border:1px solid #845230}
#ornlist{max-height:300px;overflow:auto}#ornlist .item{padding:10px;margin:6px 0}#ornlist .item strong{font-size:11px}#ornlist .item small{font-size:10px}.roadfacts{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:11px;line-height:1.4}.roadfacts dt{color:var(--muted)}.roadfacts dd{margin:0;overflow-wrap:anywhere}.ornscenario{background:#fffdf8;border:1px solid var(--line);padding:0 12px 8px;border-radius:7px}.ornscenario label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:7px}.ornscenario input[type=checkbox]{width:14px;margin:0}.orn-key{display:inline-block;width:19px;border-top:3px solid #a98958}
nav button{font-size:10px}.route-warning{background:#f6eddb;color:#835b28;padding:13px;font-size:11px;line-height:1.6;border:1px solid #e9d7b3;border-radius:6px;margin:12px 0}.evaluation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.evaluation-stats div{background:#e9eee4;padding:12px 7px;border-radius:6px}.evaluation-stats strong{display:block;font-size:20px;font-family:Georgia,serif}.evaluation-stats span{display:block;font-size:9px;line-height:1.3;margin-top:5px;color:var(--muted)}.evaluation-building-row{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%;font-size:11px;text-align:left;border-radius:0;border-width:0 0 1px;padding:11px 7px}.evaluation-building-row i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.evaluation-pages,.evaluation-downloads{display:flex;gap:7px;align-items:center;justify-content:space-between;margin:12px 0}.evaluation-pages button,.evaluation-downloads button,#exportbuildingcsv{font-size:10px;padding:7px 10px}.evaluation-pages span{font-size:10px}.evaluation-group-pin{display:block;background:#74558e;color:white;border:2px solid white;box-shadow:0 2px 6px #0003;border-radius:7px;font-size:11px;text-align:center;line-height:15px;font-weight:bold}.evaluation-group-pin small{display:block;font-size:9px;font-weight:normal}.compact-check{display:flex;align-items:center;gap:8px;font-size:11px}.compact-check input{width:14px!important;margin:0!important}.evalkey{font-size:10px;display:flex;flex-wrap:wrap;gap:7px}#evalclusterlist{max-height:330px;overflow:auto}#evalclusterlist .item{padding:11px}#evalclusterselected .source-card,#evalbuildingselected .source-card{border-color:#c7d6c9}#evaluate .section-head{margin-top:22px}#evaluate .source-card .hint{overflow-wrap:anywhere}

.travel-result[data-tone="green"]{background:#168964}.travel-result[data-tone="yellow"]{background:#f2cc4d;color:#302600}.travel-result[data-tone="red"]{background:#c33f38}.travel-result[data-tone] small{color:inherit}

.dialog-closebar{position:sticky;top:-28px;z-index:10;display:flex;justify-content:flex-end;background:var(--paper);margin:-28px -28px 12px;padding:8px 8px 0}.dialog-close{display:grid;place-items:center;width:36px;height:36px;padding:0;font-size:26px;line-height:1;border-radius:50%}.dialog-close:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
