*{box-sizing:border-box}body{margin:0;font:14px system-ui,sans-serif;color:#24302a;background:#f8faf8}header{display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:70px;background:#fff;border-bottom:1px solid #d6ddd6;position:relative;z-index:1001;flex-wrap:wrap}header strong{font-size:18px;color:#245b39;margin-right:auto}.header-group{display:flex;align-items:center;gap:10px;padding:3px 12px;border-left:1px solid #d6ddd6}label{display:block}header label{white-space:nowrap}select,button,input{font:inherit}select,input[type=text],input[type=number],#search{border:1px solid #b9c9be;border-radius:5px;padding:5px;max-width:220px}button,.import{cursor:pointer;border:1px solid #a6bbaa;background:#fff;border-radius:5px;padding:6px 9px;color:#205238}button:hover,.import:hover{background:#e8f3eb}.import input{display:none}main{display:flex;height:calc(100vh - 70px);min-height:450px}.map-wrap{position:relative;flex:1;min-width:0}#map{height:100%;background:#e8eee9}aside{width:340px;overflow:auto;background:white;border-right:1px solid #d6ddd6;padding:16px;z-index:500;box-shadow:2px 0 7px #0001}aside section{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid #ddd}aside h2{font-size:15px;margin:0 0 10px}aside label{font-weight:600}.inline{display:flex;gap:5px;margin:6px 0 12px}#search{width:100%;min-width:0}#info,#metrics,#progress{line-height:1.6}#predict{background:#267746;color:white;border:0;padding:9px 14px;margin-bottom:8px}#predict:disabled{background:#a4b3a6;cursor:default}.toggles label{margin:8px 0}.legend{position:absolute;top:12px;right:12px;z-index:500;width:170px;background:#fff;padding:10px 12px;border-radius:6px;box-shadow:0 1px 8px #0004}.gradient{height:12px;margin:8px 0 3px;background:linear-gradient(90deg,#f0eff9,#54278f)}.ends{display:flex;justify-content:space-between}#developerPanel{color:#596b5c;line-height:1.4}#downloads a{display:block;margin:4px 0;color:#245b39}.cluster{background:#267746;color:white;border:2px solid white;border-radius:50%;min-width:32px;height:32px;text-align:center;line-height:28px;box-shadow:0 1px 6px #0006;font-weight:bold}dialog{border:1px solid #aaa;border-radius:9px;box-shadow:0 8px 30px #0004;max-width:min(440px,90vw)}dialog::backdrop{background:#17251db0}dialog label{display:block;margin:15px 0}#busy{text-align:center;min-width:280px}#busy p{overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:800px){main{flex-direction:column;height:auto}.map-wrap{height:60vh;flex:none}aside{width:100%;min-height:40vh}header{gap:8px}.header-group{flex-wrap:wrap}}
