.controls-row{display:flex;gap:18px;flex-wrap:wrap}.control{flex:1 1 220px}.control .field{margin-top:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{padding:10px 16px;font-size:15px;border:0;background:var(--card);color:var(--muted);cursor:pointer}.seg button.active{background:var(--accent);color:var(--accent-ink)}.status{margin:10px 0 0;font-size:14px;color:var(--muted)}.map-card{padding:10px}.map-toolbar{display:flex;gap:8px;margin-bottom:8px}.map-toolbar button{padding:6px 12px;font-size:13px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);cursor:pointer}.map-toolbar button.active{border-color:var(--accent);color:var(--accent);font-weight:600}#clear-btn{margin-left:auto}#map-viewport{overflow:auto;-webkit-overflow-scrolling:touch}#map-stage{position:relative;width:720px;height:720px;transform-origin:0 0;background:#fff}#map-img{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#overlay span{position:absolute}.dot{width:16px;height:16px;margin:-3px 0 0 -3px;border-radius:50%;cursor:pointer}.dot.origin{border:3px solid #ff2d78;background:#ff2d7840;box-shadow:0 0 0 3px #ff2d784d;margin:-6px 0 0 -6px}.val{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;cursor:pointer;color:#111;visibility:hidden}.showing-values .val{visibility:visible;background:#ffffffeb;border-radius:4px;outline:1px solid #c8cdd4}.showing-values .val.na{color:#98a1ab;font-weight:400}.showing-values .val.origin{background:#ff2d78;color:#fff;outline:none;font-size:10px;overflow:hidden;white-space:nowrap}
