:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;height:100vh;margin:0;padding:0}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.action-button[data-v-819c5134]{width:100%;padding:10px;font-size:14px;font-weight:700;border:2px solid;border-radius:4px;cursor:pointer;transition:all .3s}.action-button.primary[data-v-819c5134]{border-color:#2196f3;background-color:#2196f3;color:#fff}.action-button.primary[data-v-819c5134]:hover:not(:disabled){background-color:#1976d2;border-color:#1976d2}.action-button.primary.active[data-v-819c5134]{background-color:#4caf50;border-color:#4caf50}.action-button.primary.active[data-v-819c5134]:hover:not(:disabled){background-color:#45a049;border-color:#45a049}.action-button.success[data-v-819c5134]{border-color:#4caf50;background-color:#4caf50;color:#fff}.action-button.success[data-v-819c5134]:hover:not(:disabled){background-color:#45a049;border-color:#45a049}.action-button.danger[data-v-819c5134]{border-color:#f44336;background-color:#f44336;color:#fff}.action-button.danger[data-v-819c5134]:hover:not(:disabled){background-color:#d32f2f;border-color:#d32f2f}.action-button[data-v-819c5134]:disabled{background-color:#ccc;border-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.action-button[data-v-819c5134]:disabled:hover{background-color:#ccc;border-color:#ccc}.panel-section[data-v-70bbc418]{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #ddd}.panel-section h3[data-v-70bbc418]{margin-top:0;margin-bottom:15px;font-size:14px;font-weight:700;color:#333}.form-group[data-v-70bbc418]{margin-bottom:15px}.form-group label[data-v-70bbc418]{display:block;margin-bottom:5px;font-size:12px;color:#666}.text-input[data-v-70bbc418]{width:100%;padding:8px 10px;font-size:13px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.text-input[data-v-70bbc418]:focus{outline:none;border-color:#4caf50}.button-group[data-v-70bbc418]{display:flex;gap:8px}.button-group[data-v-70bbc418]>*{flex:1}.marker-table-container[data-v-5b7f60ac]{width:100%;overflow-x:auto}.marker-table[data-v-5b7f60ac]{width:100%;border-collapse:collapse;font-size:12px}.marker-table th[data-v-5b7f60ac],.marker-table td[data-v-5b7f60ac]{padding:8px 4px;text-align:center;border:1px solid #ddd}.marker-table th[data-v-5b7f60ac]{background-color:#e0e0e0;font-weight:700;color:#333}.marker-table td[data-v-5b7f60ac]{background-color:#fff;color:#666}.marker-table tr:hover td[data-v-5b7f60ac]{background-color:#f5f5f5}.delete-button[data-v-5b7f60ac]{padding:4px 8px;font-size:11px;border:1px solid #f44336;border-radius:3px;background-color:#f44336;color:#fff;cursor:pointer;transition:background-color .2s}.delete-button[data-v-5b7f60ac]:hover{background-color:#d32f2f}.value-input[data-v-5b7f60ac]{width:50px;padding:4px;font-size:12px;border:1px solid #ddd;border-radius:3px;text-align:center;background-color:#fff;color:#333}.value-input[data-v-5b7f60ac]:focus{outline:none;border-color:#4caf50;background-color:#f0fff0}.label-input[data-v-5b7f60ac]{width:80px;padding:4px;font-size:12px;border:1px solid #ddd;border-radius:3px;text-align:center;background-color:#fff;color:#333}.label-input[data-v-5b7f60ac]:focus{outline:none;border-color:#2196f3;background-color:#f0f8ff}.coord-cell[data-v-5b7f60ac]{padding:4px!important;line-height:1.2}.coord-line[data-v-5b7f60ac]{font-size:11px;color:#666;white-space:nowrap}.color-picker-item[data-v-bd63902e]{margin-bottom:12px}.slider-label[data-v-bd63902e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:600;color:#333}.color-picker[data-v-bd63902e]{width:60px;height:32px;border:2px solid #ddd;border-radius:4px;cursor:pointer;transition:border-color .2s}.color-picker[data-v-bd63902e]:hover{border-color:#2196f3}.color-picker[data-v-bd63902e]::-webkit-color-swatch-wrapper{padding:0}.color-picker[data-v-bd63902e]::-webkit-color-swatch{border:none;border-radius:2px}.color-picker[data-v-bd63902e]::-moz-color-swatch{border:none;border-radius:2px}.slider-item[data-v-382f5843]{margin-bottom:12px}.slider-item[data-v-382f5843]:last-child{margin-bottom:0}.slider-label[data-v-382f5843]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:600;color:#333}.slider-value[data-v-382f5843]{font-size:13px;font-weight:700;color:#2196f3;background-color:#e3f2fd;padding:2px 8px;border-radius:3px}.slider[data-v-382f5843]{width:100%;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none;cursor:pointer}.slider[data-v-382f5843]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#2196f3;cursor:pointer;transition:all .2s}.slider[data-v-382f5843]::-webkit-slider-thumb:hover{background:#1976d2;transform:scale(1.1)}.slider[data-v-382f5843]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#2196f3;cursor:pointer;border:none;transition:all .2s}.slider[data-v-382f5843]::-moz-range-thumb:hover{background:#1976d2;transform:scale(1.1)}.toggle-item[data-v-63b15012]{margin-top:12px}.toggle-label[data-v-63b15012]{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#333}.switch[data-v-63b15012]{position:relative;display:inline-block;width:44px;height:24px}.switch input[data-v-63b15012]{opacity:0;width:0;height:0}.switch-slider[data-v-63b15012]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.switch-slider[data-v-63b15012]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.switch input:checked+.switch-slider[data-v-63b15012]{background-color:#2196f3}.switch input:checked+.switch-slider[data-v-63b15012]:before{transform:translate(20px)}.switch-slider[data-v-63b15012]:hover{opacity:.9}.info-section[data-v-8afc58f7]{margin-bottom:30px}.info-section h3[data-v-8afc58f7]{font-size:16px;font-weight:700;margin-bottom:10px;color:#333}.grid-info[data-v-8afc58f7]{margin-top:10px;padding:10px;background-color:#e8f4f8;border-radius:4px;font-size:13px}.grid-info p[data-v-8afc58f7]{margin:5px 0;color:#333}.slider-container[data-v-8afc58f7]{margin-top:12px;padding:12px;background-color:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0}.threshold-container[data-v-351f2fc6]{margin-top:12px;padding:10px;background-color:#fff3cd;border-radius:4px;border:1px solid #ffc107}.slider-label[data-v-351f2fc6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:600;color:#333}.threshold-inputs[data-v-351f2fc6]{display:flex;gap:16px;margin-top:6px;width:172px}.threshold-input-group[data-v-351f2fc6]{flex:1;display:flex;flex-direction:column;gap:4px}.threshold-input-group label[data-v-351f2fc6]{font-size:11px;font-weight:600;color:#666}.threshold-input[data-v-351f2fc6]{width:100%;padding:4px;font-size:12px;border:1px solid #ddd;border-radius:3px;text-align:center;background-color:#fff;color:#333}.threshold-input[data-v-351f2fc6]:focus{outline:none;border-color:#ffc107;background-color:#fffef5}.info-section[data-v-f1f94419]{margin-bottom:30px}.info-section h3[data-v-f1f94419]{font-size:16px;font-weight:700;margin-bottom:10px;color:#333}.slider-container[data-v-f1f94419]{margin-top:12px;padding:12px;background-color:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0}.select-item[data-v-f1f94419]{margin-bottom:12px}.slider-label[data-v-f1f94419]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:600;color:#333}.blending-select[data-v-f1f94419]{width:100%;padding:8px;font-size:13px;font-weight:500;border:2px solid #ddd;border-radius:4px;background-color:#fff;color:#333;cursor:pointer;transition:border-color .2s;margin-top:6px}.blending-select[data-v-f1f94419]:hover{border-color:#2196f3}.blending-select[data-v-f1f94419]:focus{outline:none;border-color:#2196f3;background-color:#f5f9ff}.grid-info[data-v-f1f94419]{margin-top:10px;padding:10px;background-color:#e8f4f8;border-radius:4px;font-size:13px}.grid-info p[data-v-f1f94419]{margin:5px 0;color:#333}.info-section[data-v-56158888]{margin-bottom:30px}.info-section h3[data-v-56158888]{font-size:16px;font-weight:700;margin-bottom:10px;color:#333}.left-panel[data-v-03269368]{width:288px;min-width:256px;background-color:#f5f5f5;padding:8px;overflow-y:auto;border-right:1px solid #ddd;font-size:11px}.left-panel[data-v-03269368] h3{font-size:1.27em}.left-panel[data-v-03269368] label,.left-panel[data-v-03269368] input,.left-panel[data-v-03269368] button,.left-panel[data-v-03269368] select{font-size:1em}.left-panel[data-v-03269368] .grid-info{font-size:1.09em}.left-panel[data-v-03269368] p{font-size:1em}.map-container[data-v-d3c05c8a]{flex:1;position:relative}.map[data-v-d3c05c8a]{width:100%;height:100%}.dialog-overlay[data-v-07dad8eb]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-content[data-v-07dad8eb]{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.dialog-header[data-v-07dad8eb]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ddd}.dialog-header h2[data-v-07dad8eb]{margin:0;font-size:18px;font-weight:700;color:#333}.close-button[data-v-07dad8eb]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;line-height:1}.close-button[data-v-07dad8eb]:hover{color:#333}.dialog-body[data-v-07dad8eb]{padding:20px;overflow-y:auto;flex:1}.loading-message[data-v-07dad8eb],.error-message[data-v-07dad8eb],.empty-message[data-v-07dad8eb]{text-align:center;padding:40px 20px;color:#666}.error-message[data-v-07dad8eb]{color:#d32f2f}.project-table[data-v-07dad8eb]{width:100%;border-collapse:collapse}.project-table th[data-v-07dad8eb]{background-color:#f5f5f5;padding:12px 8px;text-align:left;font-size:13px;font-weight:700;color:#333;border-bottom:2px solid #ddd}.project-table td[data-v-07dad8eb]{padding:12px 8px;border-bottom:1px solid #eee;font-size:13px}.project-title[data-v-07dad8eb]{color:#2196f3;text-decoration:none;cursor:pointer}.project-title[data-v-07dad8eb]:hover{text-decoration:underline}.text-center[data-v-07dad8eb]{text-align:center}.delete-button[data-v-07dad8eb]{background-color:#f44336;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.delete-button[data-v-07dad8eb]:hover{background-color:#d32f2f}.dialog-footer[data-v-07dad8eb]{padding:15px 20px;border-top:1px solid #ddd;text-align:right}.cancel-button[data-v-07dad8eb]{background-color:#9e9e9e;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:13px}.cancel-button[data-v-07dad8eb]:hover{background-color:#757575}.hamburger-button[data-v-7b446f3b]{position:absolute;top:6px;left:6px;z-index:1000;width:30px;height:30px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;box-shadow:0 2px 4px #0000001a;transition:background-color .2s}.hamburger-button[data-v-7b446f3b]:hover{background-color:#f0f0f0}.bar[data-v-7b446f3b]{width:100%;height:3px;background-color:#333;border-radius:2px}.container[data-v-f66cd594]{display:flex;width:100vw;height:100vh;overflow:hidden}.container[data-v-f66cd594] .control-panel{transition:margin-left .3s ease-in-out;margin-left:0}.container[data-v-f66cd594] .control-panel.panel-hidden{margin-left:-300px}
