*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f4f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#map{width:100vw;height:100vh;overflow:hidden}#map svg:active{cursor:grabbing}#controls{backdrop-filter:blur(8px);z-index:10;background:rgba(255,255,255,.92);border-radius:8px;width:252px;padding:16px;font-size:13px;position:fixed;top:12px;left:12px;box-shadow:0 2px 12px rgba(0,0,0,.15)}#controls h3{color:#333;margin:0 0 8px;font-size:14px}#controls h3:not(:first-child){border-top:1px solid #e0e0e0;margin-top:12px;padding-top:12px}#controls label{color:#555;margin:8px 0 4px;font-weight:600;display:block}#controls .field-header{justify-content:space-between;align-items:center;gap:8px;display:flex}#controls select,#controls input[type=number]{background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:6px 8px;font-size:13px}#controls .hint{color:#888;margin:8px 0;font-size:12px}.icon-text-btn{color:#44627f;cursor:pointer;background:#fff;border:1px solid #c7d4e2;border-radius:999px;padding:3px 8px;font-size:11px;line-height:1.2}.icon-text-btn:hover{background:#eef5fb}.btn{cursor:pointer;color:#fff;background:#4a90d9;border:none;border-radius:4px;width:100%;margin-top:6px;padding:8px;font-size:13px;transition:background .2s;display:block}.btn:hover{background:#3a7bc8}.btn.btn-danger{background:#d9534f}.btn.btn-danger:hover{background:#c9302c}#buffer-list{max-height:200px;margin:6px 0;font-size:12px;overflow-y:auto}#buffer-list .buffer-item{color:#555;border-bottom:1px solid #eee;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:6px 4px;display:flex}#buffer-list .buffer-item .buffer-label{word-break:break-word;flex:1;min-width:0}#buffer-list .buffer-item .buffer-actions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}#buffer-list .buffer-item .align-buffer,#buffer-list .buffer-item .remove-buffer{cursor:pointer;border:none;border-radius:4px;font-size:11px;line-height:1}#buffer-list .buffer-item .align-buffer{color:#2f6fad;background:rgba(74,144,217,.12);justify-content:center;align-items:center;width:24px;height:24px;padding:2px;display:inline-flex}#buffer-list .buffer-item .align-buffer:hover{background:rgba(74,144,217,.22)}#buffer-list .buffer-item .align-buffer img{object-fit:contain;width:12px;height:12px;display:block}#buffer-list .buffer-item .remove-buffer{color:#d9534f;background:0 0;width:24px;height:24px;padding:2px 4px;font-weight:700}#buffer-list .buffer-item .remove-buffer:hover{color:#c9302c}#coords{color:#fff;z-index:10;background:rgba(0,0,0,.6);border-radius:4px;padding:6px 12px;font-family:monospace;font-size:12px;position:fixed;bottom:12px;left:12px}#buffer-info{backdrop-filter:blur(8px);color:#444;z-index:10;background:rgba(255,255,255,.92);border-radius:8px;width:min(320px,100vw - 24px);padding:14px 16px;font-size:12px;line-height:1.6;position:fixed;bottom:12px;right:12px;box-shadow:0 2px 12px rgba(0,0,0,.15)}#buffer-info[hidden]{display:none}#buffer-info .panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}#buffer-info h3{color:#333;margin:0;font-size:14px}#buffer-info h3:not(:first-child){border-top:1px solid #e0e0e0;margin-top:10px;padding-top:10px}#buffer-info .operation-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}#buffer-info .operation-list li{color:#666;grid-template-columns:24px 1fr;align-items:center;gap:10px;display:grid}#buffer-info .operation-list .operation-icon{color:#2f6fad;background:rgba(74,144,217,.1);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}#buffer-info .operation-list .text-icon{letter-spacing:.02em;font-size:10px;font-weight:700}#buffer-info .operation-list .image-icon img{object-fit:contain;width:12px;height:12px;display:block}#buffer-info button{color:#666;cursor:pointer;background:0 0;border:none;padding:0;font-size:20px;line-height:1}#buffer-info button:hover{color:#222}#buffer-info p+p{margin-top:8px}#buffer-info code{background:rgba(74,144,217,.08);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}#buffer-info .formula{color:#1f4f7a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
