
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#20392f;background:#f3f5f1;font-synthesis:none;--green:#21765b;--muted:#7c8981;--border:#e1e7df}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}header{height:82px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 4%;gap:38px;background:#fafbf8}.brand{display:flex;align-items:center;gap:7px;color:#243d32;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.5px}.brand>span:last-child{font-weight:400}.logo{background:#244b3c;color:#e2f5b1;width:34px;height:34px;text-align:center;font-size:31px;border-radius:9px;margin-right:5px}.tag{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.local{margin-left:auto;font-size:12px;color:#557362;display:flex;align-items:center;gap:8px}.local i,.live-dot{width:7px;height:7px;background:#76a37a;border-radius:50%;display:inline-block}main{max-width:1530px;margin:auto;padding:32px 4% 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7b8b76;font-weight:700}h1{font-size:36px;letter-spacing:-1.3px;margin:10px 0}p{line-height:1.6}.intro p:last-child{font-size:13px;color:#7b877f;margin:10px 0}.quiet{border:1px solid #dce3d9;background:#fbfcf9;color:#42634d;padding:11px 16px;border-radius:8px;font-size:12px}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.panel{background:#fdfefa;border:1px solid var(--border);border-radius:12px;padding:21px;margin-bottom:16px}h2{font-size:11px;color:#96a393;font-weight:600;letter-spacing:.5px;margin:0 0 20px}h2 span{color:#354d3e;font-size:14px;margin-left:10px;letter-spacing:0}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.section-title>span{font-size:11px;background:#edf1e8;border-radius:5px;padding:3px 7px}.drop{border:1px dashed #bacbb5;border-radius:9px;display:flex;align-items:center;flex-direction:column;padding:18px 5px;cursor:pointer;background:#f7f9f2;gap:7px}.drop.drag{background:#e3efcf}.drop input{display:none}.drop strong{font-size:12px}.drop small{font-size:10px;color:#8b9689}.upload{font-size:27px;color:#71896a}.textbutton{background:none;border:0;color:#62836b;font-size:11px;padding:10px 0 0}.file{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid transparent;border-radius:7px;padding:10px;margin-top:8px;width:100%;background:#f4f6ef;color:#526d57}.file.active{border-color:#a5bea0;background:#edf3e4}.file>span{min-width:0;flex:1}.file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.file small{font-size:10px;color:#84907e}.settings h2{margin-bottom:25px}.setting-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}h3{font-size:13px;margin:0}.settings label{display:flex;justify-content:space-between;font-size:11px;margin:19px 0 10px;color:#748171}output{font-weight:600;color:#355a40}input[type=range]{width:100%;accent-color:#35775b;height:4px;cursor:pointer}input[type=checkbox]{accent-color:#34775a;cursor:pointer}.ends{display:flex;justify-content:space-between;color:#a0aa9a;font-size:9px;margin-top:7px}.hint{font-size:11px;color:#899383;line-height:1.6;margin:12px 0 0}hr{border:0;border-top:1px solid var(--border);margin:23px 0}.segmented{display:flex;background:#edf1e8;border-radius:7px;padding:3px}.segmented button{flex:1;font-size:10px;border:0;border-radius:5px;background:none;color:#85917d;padding:8px 2px}.segmented button.active{background:white;color:#355e42;box-shadow:0 1px 3px #0001}.privacy{color:#8c9787;font-size:10px;line-height:1.8;padding:2px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fcfdf9;border:1px solid var(--border);border-radius:12px;padding:20px 0;margin-bottom:18px}.stats>div{padding:0 22px;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stats span{font-size:10px;color:#85917e;display:block}.stats strong{font-size:28px;font-weight:500;letter-spacing:-1px;display:block;margin-top:8px}.stats .accent strong{color:#348060}.map-panel{border:1px solid var(--border);background:#fdfefa;border-radius:12px;overflow:hidden;margin-bottom:18px}.mapbar{padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.mapbar strong{font-size:12px;font-weight:500;margin-left:8px}.small{padding:7px 10px;font-size:10px}.map-wrap{height:420px;position:relative;background:#edf1e5}.map-wrap canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.map-wrap canvas:active{cursor:grabbing}.map-controls{position:absolute;top:16px;right:16px;display:grid;box-shadow:0 2px 12px #30462515}.map-controls button{width:32px;height:32px;border:1px solid #dde5d4;background:#fffef9;font-size:19px;color:#58714b}.map-controls button:first-child{border-radius:7px 7px 0 0}.map-controls button:last-child{border-radius:0 0 7px 7px}.legend{position:absolute;bottom:16px;left:16px;background:#fffffff0;display:flex;gap:15px;padding:10px 12px;border-radius:7px;font-size:10px;box-shadow:0 2px 12px #30462510}.legend label{display:flex;align-items:center;gap:5px}.legend input{width:11px;margin:0}.legend i{width:16px;height:3px;display:inline-block}.original{background:#d59b65}.result{background:#258269}.legend i.stop{width:8px;height:8px;background:#cda252;border-radius:50%}.scale{position:absolute;right:16px;bottom:20px;font-size:10px;border-bottom:2px solid #6a7d5e;padding-bottom:3px;text-align:center}.mapfooter{display:flex;justify-content:space-between;align-items:center;padding:10px 17px;font-size:9px;color:#94a08c;gap:10px}.mapfooter label{display:flex;align-items:center;gap:5px}.mapfooter a{color:#698467}.results h2{margin-bottom:5px}.results .hint{margin:6px 0}.primary{background:#285f47;border:0;border-radius:8px;color:#f2f7e9;font-size:12px;padding:12px 18px;white-space:nowrap}.primary:hover{background:#1d4c37}#status{font-size:11px;color:#66805b;margin-top:15px}#warnings{font-size:11px;color:#ae7836;line-height:1.6}.stop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;border-top:1px solid var(--border);padding:12px 0;color:#70816a}.stop-row button{border:0;background:#f0f3e7;border-radius:5px;color:#617d45;font-size:10px;padding:5px 9px}.stop-row span:last-child{color:#4a6949}#stopList{max-height:210px;overflow:auto;margin-top:15px}#empty{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;pointer-events:none;text-align:center;padding:20px}#empty>span{font-size:60px;color:#98aa89}#empty h2{font-size:17px;color:#6a7d5a;margin:10px 0}#empty p{font-size:12px;color:#93a085}footer{border-top:1px solid var(--border);margin-top:35px;padding:20px 0;display:flex;gap:20px;font-size:9px;color:#a2ad99;letter-spacing:1px}footer span:last-child{margin-left:auto}button:focus-visible,a:focus-visible{outline:3px solid #a1bc7a;outline-offset:2px}@media(max-width:1000px){.workspace{grid-template-columns:270px minmax(0,1fr)}.stats>div{padding:0 12px}.stats strong{font-size:23px}.tag{display:none}.legend{gap:7px}.map-wrap{height:400px}}@media(max-width:760px){header{height:65px}.local{font-size:10px}.intro{align-items:flex-start;gap:10px}h1{font-size:28px}.intro .quiet{max-width:110px}.workspace{display:flex;flex-direction:column}.mainpane{display:contents}.stats{order:-2}.map-panel{order:-1}.stats>div{padding:0 10px}.stats strong{font-size:22px}.stats span{font-size:9px}.workspace aside{display:grid;grid-template-columns:1fr}.map-wrap{height:360px}.mapfooter{flex-wrap:wrap}footer span:last-child{display:none}.results .section-title{flex-wrap:wrap}}

