: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;display:flex;place-items:center;min-width:320px;min-height:100vh}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{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.image-editor[data-v-77f825ec]{max-width:1200px;margin:0 auto}.upload-section[data-v-77f825ec]{margin-bottom:2rem}.upload-area[data-v-77f825ec]{border:2px dashed #c0c0c0;border-radius:8px;padding:2rem;text-align:center;background:#c0c0c00d;cursor:pointer;transition:all .3s ease;min-height:400px;display:flex;align-items:center;justify-content:center}.upload-area[data-v-77f825ec]:hover{border-color:#e0e0e0;background:#c0c0c01a}.upload-placeholder[data-v-77f825ec]{color:silver}.upload-icon[data-v-77f825ec]{opacity:.7;width:60px;height:60px;background-color:#0000004d;display:flex;align-items:center;justify-content:center;border-radius:12px}.upload-hint[data-v-77f825ec]{font-size:.9rem;opacity:.6;margin-top:.5rem}.image-container[data-v-77f825ec]{position:relative;display:inline-block;max-width:100%}.base-image[data-v-77f825ec]{max-width:100%;max-height:70vh;border-radius:4px;cursor:crosshair;position:relative}.remove-base-image-btn[data-v-77f825ec]{position:absolute;top:10px;right:10px;cursor:pointer}.box-delete-btn[data-v-77f825ec]{position:absolute;top:-8px;right:-8px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20;opacity:0;transition:opacity .2s ease}.box-delete-btn img[data-v-77f825ec]{width:12px;height:12px;filter:brightness(0) invert(1)}.detection-box:hover .box-delete-btn[data-v-77f825ec]{opacity:1}.box-delete-btn[data-v-77f825ec]:hover{background:#f66;transform:scale(1.1)}.box-text[data-v-77f825ec]{position:absolute;top:0;left:0;font-size:12px;color:#fff;text-align:center;pointer-events:none;max-width:calc(100% - 10px);word-wrap:break-word}.box-control-panel[data-v-77f825ec]{position:fixed;top:20px;right:20px;width:300px;background:#000000e6;border:2px solid #c0c0c0;border-radius:8px;padding:0;z-index:1000}.panel-header[data-v-77f825ec]{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid #c0c0c0;background:#c0c0c01a}.panel-header h3[data-v-77f825ec]{color:silver;margin:0;font-size:16px}.close-panel-btn[data-v-77f825ec]{background:transparent;border:1px solid #c0c0c0;color:silver;width:4px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.close-panel-btn[data-v-77f825ec]:hover{background:silver;color:#000}.panel-content[data-v-77f825ec]{padding:15px}.control-group[data-v-77f825ec]{margin-bottom:15px}.control-group[data-v-77f825ec]:last-child{margin-bottom:0}.control-group label[data-v-77f825ec]{display:block;color:silver;margin-bottom:5px;font-size:14px;font-weight:700}.control-group input[type=color][data-v-77f825ec]{width:100%;height:40px;border:1px solid #c0c0c0;background:transparent;cursor:pointer}.control-group input[type=text][data-v-77f825ec]{width:100%;padding:8px;background:#000c;border:1px solid #c0c0c0;color:silver;border-radius:4px;font-family:inherit}.control-group input[type=text][data-v-77f825ec]:focus{outline:none;box-shadow:0 0 5px silver}.control-group input[type=range][data-v-77f825ec]{width:100%;height:5px;background:#c0c0c033;outline:none;border-radius:5px;cursor:pointer}.control-group input[type=range][data-v-77f825ec]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;background:silver;border-radius:50%;cursor:pointer}.control-group input[type=range][data-v-77f825ec]::-moz-range-thumb{width:15px;height:15px;background:silver;border-radius:50%;cursor:pointer;border:none}.save-btn[data-v-77f825ec]{width:fit-content;padding:12px;background:linear-gradient(45deg,silver,#e0e0e0);color:#000;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.save-btn[data-v-77f825ec]:hover{background:linear-gradient(45deg,#e0e0e0,silver);transform:translateY(-2px);box-shadow:0 4px 12px #c0c0c066}.save-btn[data-v-77f825ec]:active{transform:translateY(0);box-shadow:0 2px 6px #c0c0c04d}.detection-box[data-v-77f825ec]{position:absolute;border:2px solid #c0c0c0;border-radius:4px;cursor:move;-webkit-user-select:none;user-select:none;min-width:50px;min-height:50px;transition:all .2s ease;z-index:2;background:transparent}.detection-box[data-v-77f825ec]:hover{background:#00000080;box-shadow:0 0 10px silver}.resize-handles[data-v-77f825ec]{position:absolute;inset:0;pointer-events:none}.resize-handle[data-v-77f825ec]{position:absolute;width:8px;height:8px;background:currentColor;border:1px solid #000;pointer-events:all;cursor:nw-resize}.resize-handle.nw[data-v-77f825ec]{top:-4px;left:-4px;cursor:nw-resize}.resize-handle.ne[data-v-77f825ec]{top:-4px;right:-4px;cursor:ne-resize}.resize-handle.sw[data-v-77f825ec]{bottom:-4px;left:-4px;cursor:sw-resize}.resize-handle.se[data-v-77f825ec]{bottom:-4px;right:-4px;cursor:se-resize}.box-image-upload[data-v-77f825ec]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;opacity:0;transition:opacity .2s ease}.detection-box:hover .box-image-upload[data-v-77f825ec]{opacity:1}.anchor-points[data-v-77f825ec]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.anchor-point[data-v-77f825ec]{position:absolute;width:12px;height:12px;background:silver;border:2px solid #000;border-radius:50%;cursor:pointer;pointer-events:all;transition:all .2s ease;z-index:10}.anchor-point[data-v-77f825ec]:hover{background:#fff;transform:scale(1.2);box-shadow:0 0 8px silver}.anchor-point.top[data-v-77f825ec]{top:-6px;left:50%;transform:translate(-50%)}.anchor-point.right[data-v-77f825ec]{right:-6px;top:50%;transform:translateY(-50%)}.anchor-point.bottom[data-v-77f825ec]{bottom:-6px;left:50%;transform:translate(-50%)}.anchor-point.left[data-v-77f825ec]{left:-6px;top:50%;transform:translateY(-50%)}.connection-lines[data-v-77f825ec]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.connection-line[data-v-77f825ec]{stroke:silver;stroke-width:2;fill:none;stroke-dasharray:none}.connection-line.dragging[data-v-77f825ec]{stroke:silver;stroke-width:2;stroke-dasharray:5,5;animation:dash-77f825ec 1s linear infinite}@keyframes dash-77f825ec{to{stroke-dashoffset:-10}}.upload-btn[data-v-77f825ec]{background:#000c;color:silver;padding:8px;border-radius:50%;cursor:pointer;font-family:inherit;font-size:20px;font-weight:700;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.upload-btn[data-v-77f825ec]:hover{background:silver;color:#000;transform:scale(1.1);box-shadow:0 0 10px silver}.box-image[data-v-77f825ec]{width:100%;height:100%;object-fit:cover;border-radius:2px}.scan-grid[data-v-77f825ec]{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(192,192,192,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(192,192,192,.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:1;animation:gridPulse-77f825ec 3s ease-in-out infinite}.scan-line[data-v-77f825ec]{position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#c0c0c0,transparent);pointer-events:none;z-index:3;box-shadow:0 0 10px silver}.scan-status-panel[data-v-77f825ec]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#000c;border:1px solid #c0c0c0;padding:10px 20px;display:flex;align-items:center;gap:15px;z-index:10;font-family:Courier New,monospace}.scan-text[data-v-77f825ec]{color:silver;font-size:12px;font-weight:700;letter-spacing:2px}.progress-bar[data-v-77f825ec]{width:100px;height:4px;background:#c0c0c033;border:1px solid #c0c0c0;position:relative;overflow:hidden}.progress-fill[data-v-77f825ec]{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,silver,#e0e0e0);width:60%}.scan-indicators[data-v-77f825ec]{display:flex;align-items:center;gap:8px}.indicator-dot[data-v-77f825ec]{width:8px;height:8px;background:silver;border-radius:50%}.indicator-lines[data-v-77f825ec]{width:20px;height:2px;background:repeating-linear-gradient(90deg,#c0c0c0 0px,#c0c0c0 2px,transparent 2px,transparent 4px)}.edge-rulers[data-v-77f825ec]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.ruler-left[data-v-77f825ec],.ruler-right[data-v-77f825ec]{position:absolute;top:0;width:20px;height:100%;border:1px solid rgba(192,192,192,.3)}.ruler-left[data-v-77f825ec]{left:0}.ruler-right[data-v-77f825ec]{right:0}.ruler-mark[data-v-77f825ec]{position:absolute;left:0;width:100%;height:1px;background:#c0c0c080}.ruler-left .ruler-mark[data-v-77f825ec]{left:15px;width:5px}.ruler-right .ruler-mark[data-v-77f825ec]{right:15px;width:5px}.corner-markers[data-v-77f825ec]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.corner-marker[data-v-77f825ec]{position:absolute;width:20px;height:20px;border:2px solid #c0c0c0}.corner-marker.top-left[data-v-77f825ec]{top:10px;left:10px;border-right:none;border-bottom:none}.corner-marker.top-right[data-v-77f825ec]{top:10px;right:10px;border-left:none;border-bottom:none}.corner-marker.bottom-left[data-v-77f825ec]{bottom:10px;left:10px;border-right:none;border-top:none}.corner-marker.bottom-right[data-v-77f825ec]{bottom:10px;right:10px;border-left:none;border-top:none}@keyframes gridPulse-77f825ec{0%,to{opacity:.3}50%{opacity:.6}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Courier New,monospace;background:#1a1a1a;color:#e0e0e0;overflow-x:hidden}.app{min-height:100vh;background:linear-gradient(45deg,#1a1a1a,#2a2a2a)}.header{text-align:center;padding:2rem;border-bottom:2px solid #c0c0c0;background:#c0c0c00d}.header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 0 10px #c0c0c0;letter-spacing:2px}.header p{font-size:1.2rem;opacity:.8;letter-spacing:1px}.main{padding:2rem;min-height:calc(100vh - 200px)}
