:root{--fg:#14181b;--bg:#fff;--muted:#5b6268;--line:#d3d8dc;--surface-2:#f1f3f2;--shadow:0 6px 24px #1018202e, 0 1px 3px #1018201f;--primary:#1f6b3a;--primary-fg:#fff;--danger:#b3261e;--red:#d7261e;--orange:#f08a00;--green:#1f9d3a;--radius:14px;--tap:52px;color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:17px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:2px;outline:3px solid #2b7cff}html,body{overscroll-behavior:none;height:100%;margin:0}html{touch-action:pan-x pan-y}.no-gesture{touch-action:none}button,input,select,textarea{font:inherit;color:inherit}label{flex-direction:column;gap:6px;font-weight:600;display:flex}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--tap);border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;padding:10px 12px;font-weight:400}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:3px solid #2b7cff}.btn{min-height:var(--tap);border-radius:var(--radius);border:1.5px solid var(--line);cursor:pointer;color:var(--fg);background:#fff;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:650;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.btn.danger{color:var(--danger)}.btn:active:not(:disabled){transform:scale(.98)}.btn.big{width:100%;min-height:60px;font-size:19px}.btn.small{min-height:40px;padding:0 12px;font-size:15px}.btn:disabled{opacity:.5;cursor:default}.error{color:var(--danger);margin:0;font-weight:600}.muted{color:var(--muted)}.row{align-items:center;gap:10px;display:flex}.row>.grow{flex:1}.tree-marker{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.tree-marker:before{content:"";border:3px solid #fff;border-radius:50%;width:24px;height:24px;position:absolute;box-shadow:0 2px 6px #0000008c}.tree-marker.red:before{background:var(--red)}.tree-marker.orange:before{background:var(--orange)}.tree-marker.green:before{background:var(--green)}.tree-marker.dimmed:before{background:#9aa0a6;border-color:#e8eaed;box-shadow:0 1px 3px #0006}.tree-marker.dimmed span{background:#14181b73}.tree-marker.selected:before{border-width:4px;width:32px;height:32px;box-shadow:0 0 0 3px #2b7cff}.tree-marker.moving:before{box-shadow:0 0 0 4px #ffe14d}.tree-marker span{color:#fff;white-space:nowrap;pointer-events:none;background:#14181bc7;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:700;position:absolute;top:38px}.new-pin{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232b7cff' stroke='white' stroke-width='1.5' d='M12 2C8 2 5 5 5 9c0 5 7 13 7 13s7-8 7-13c0-4-3-7-7-7z'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='white'/%3E%3C/svg%3E") 50%/contain no-repeat;width:48px;height:48px}.leaflet-control-attribution{border-radius:8px 0 0;font-size:10px;background:#ffffffb3!important}.leaflet-control-scale-line{background:#ffffffbf;border-radius:4px}
