:root{font-family:Segoe UI,Arial,sans-serif;color:#173f36;font-size:16px}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;background:#f2f5f3}header{background:#123e33;color:white;padding:12px 18px;display:flex;align-items:center;gap:10px;z-index:1100}header strong{margin-right:auto;letter-spacing:.04em}small{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:3px}button,input{font:inherit;border:1px solid #c2ccc7;border-radius:6px;padding:9px 11px}button{background:white;color:#173f36;cursor:pointer}button:hover{background:#ebf1ec}button:focus-visible,input:focus-visible{outline:3px solid #e6b94e}form{display:flex;gap:5px}input{width:210px}main{flex:1;position:relative;min-height:0}#map{height:100%;background:#e5ece5}footer{padding:6px 14px;font-size:12px;background:#fff}aside{position:absolute;z-index:1050;background:white;border:1px solid #cad5ce;border-radius:10px;box-shadow:0 6px 30px #123e3326;padding:20px;width:310px;max-height:80%;overflow:auto}#layers{top:12px;right:12px}#detail{bottom:36px;right:12px}aside h2{margin:0 0 12px;font-size:22px}aside p{margin:8px 0}label.layer{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:15px}label.layer input{width:auto}.muted{color:#64786f;font-size:13px;line-height:1.5}.area{font-size:25px;font-weight:700}dl{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:15px}dt,dd{margin:0}#notice{position:absolute;bottom:30px;left:55px;z-index:700;background:#ffffffed;padding:7px 10px;font-size:12px;border-radius:5px;pointer-events:none}.lot-label,.zone-label{background:transparent;border:0;box-shadow:none;font-weight:700;color:#143f32;text-shadow:0 0 3px white,1px 1px 2px white,-1px -1px 2px white;font-size:13px;padding:0;white-space:nowrap}.zone-label{font-size:17px}.leaflet-tooltip:before{display:none}.sr{position:absolute;left:-10000px}.close{float:right;padding:3px 8px}.leaflet-control-attribution{font-size:11px}.leaflet-interactive:focus{outline:2px solid #df9225}
@media(max-width:700px){header{padding:8px;gap:6px;flex-wrap:wrap}header strong{width:100%;font-size:17px}header small{display:inline;margin-left:8px;font-size:11px}form{flex:1;min-width:210px}input{min-width:0;width:100%}button{font-size:13px;padding:8px}#regionView{display:block}aside{width:calc(100% - 24px);max-height:50%;padding:15px}#detail{bottom:28px}#notice{left:48px;bottom:32px;max-width:calc(100% - 60px);font-size:11px}footer{font-size:10px;line-height:1.3}.area{font-size:22px}}
