:root{font-family:system-ui,"PingFang TC",sans-serif;color:#182e29;background:#f6f5ee;line-height:1.5}
*{box-sizing:border-box}
body{margin:0}
header{background:#123e35;color:#fff;padding:24px max(20px,calc((100vw - 1320px)/2));border-bottom:5px solid #e8bb65}
.eyebrow{font-size:.82rem;letter-spacing:.13em;color:#f5cd84}
h1{font-size:clamp(1.7rem,4vw,2.7rem);margin:2px 0}
p{margin:4px 0}
main{max-width:1360px;margin:auto;padding:18px;display:grid;grid-template-columns:minmax(290px,375px) 1fr;gap:16px}
.panel,.map-panel{background:#fff;border:1px solid #d9e1da;border-radius:16px;overflow:hidden}
.controls,.results{padding:16px}
.controls{background:#edf5ed}
label{display:block;font-size:.88rem;font-weight:650}
input,select,button{font:inherit;border:1px solid #789388;border-radius:8px;padding:8px 10px;min-height:42px;background:#fff;color:inherit}
input,select{display:block;width:100%;margin:4px 0 8px}
.filters{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}
button{cursor:pointer;color:#fff;background:#17614f}
button:disabled{opacity:.55}
[hidden]{display:none!important}
a{color:#155d4d}
h2{margin:0 0 8px;font-size:1rem}
ol{list-style:none;padding:0;margin:0 0 10px;max-height:420px;overflow:auto}
li{padding:12px 0;border-bottom:1px solid #e0e7e1}
li p,.map-caption,#location-status{font-size:.84rem}
li strong{display:block}
li button{background:#fff;color:#155d4d;min-height:36px;padding:4px 9px;margin:6px 10px 0 0}
#map{height:clamp(460px,72vh,790px);background:#dce8dd}
.map-caption,footer{padding:10px 16px}
footer{max-width:1360px;margin:auto;font-size:.8rem}
@media(max-width:680px){
 main{display:flex;flex-direction:column;position:relative;padding:10px;gap:10px}
 .panel{display:contents}
 .controls,.results{background:#fff;border:1px solid #d9e1da;border-radius:14px;padding:12px}
 .controls{order:0;background:#edf5ed}
 .map-panel{order:1}
 .results{order:2}
 #map{height:36vh;min-height:220px}
 ol{max-height:none}
}
