.map-panel{margin-top:26px;border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--panel)}.map-panel h2{margin:0;font-size:24px;letter-spacing:-.025em}.map-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.map-select-wrap{min-width:190px}.map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.map-toolbar button,.calibration button{width:auto;margin:0;padding:11px 15px;min-height:44px}.map-toolbar .secondary,.calibration .secondary{background:#26303d;color:#fff;border:1px solid #58677a}.map-toolbar button[aria-pressed="false"]{background:#26303d;color:#fff;border:1px solid #58677a}.map-toolbar .grid-control{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;color:#fff;font-size:14px}.grid-control input{width:18px;height:18px;padding:0;accent-color:var(--accent)}#map-canvas{width:100%;height:600px;display:block;background:#10151c;touch-action:none;cursor:crosshair;border:1px solid #566170;border-radius:6px}.map-help,.map-notice{font-size:14px;color:var(--muted)}.map-notice{padding:12px 16px;border-left:3px solid #efba61;background:#26251e;color:#ecdbb8}.map-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:10px 0}.map-warning,#bounds-error{color:#ffb4a9;font-size:14px}.map-warning:empty,#bounds-error:empty{display:none}.map-key{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;margin:12px 0}.map-key span:before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;background:#48acff}.map-key span+span:before{background:#ff6672}.calibration{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.calibration summary{cursor:pointer;min-height:35px}.bounds-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.map-panel a{color:var(--muted)}@media(max-width:720px){.map-panel{padding:16px}.bounds-inputs{grid-template-columns:1fr 1fr}#map-canvas{height:430px}.map-toolbar .grid-control{margin-left:0}.map-head{align-items:stretch}.map-select-wrap{width:100%}}
