.canvas{background-color:#fff;border:2px solid #ddd;box-shadow:0 2px 8px #0000001a;display:block;height:calc(100vh - 120px);position:relative;width:100%}.canvas-draw,.canvas-magnet{cursor:crosshair}.canvas-edit{cursor:pointer}.canvas-erase{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-2.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"/></svg>') 12 12,auto}.canvas-navigate{cursor:grab}.canvas-navigate:active{cursor:grabbing}.canvas:hover{border-color:#007bff}.point{transition:all .2s ease-in-out}.point:hover{transform:scale(1.5)}.dimension-text{fill:#333;text-anchor:middle;dominant-baseline:central;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;font-weight:500}.line{stroke:#000;stroke-width:2}.dimension-label{fill:#000;text-anchor:middle;font-size:12px}[data-theme=dark] .canvas{background-color:#2d3748;border-color:#4a5568;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .canvas:hover{border-color:#007bff}[data-theme=dark] .dimension-label,[data-theme=dark] .dimension-text{fill:#f8f9fa}.dimension-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.dimension-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:480px;overflow-y:auto;padding:32px;width:90%}.dimension-modal-header{margin-bottom:24px;text-align:center}.dimension-modal-header h3{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 12px}.dimension-modal-header p{color:#6b7280;font-size:16px;line-height:1.5;margin:0}.dimension-form{display:flex;flex-direction:column;gap:24px}.dimension-input-group{display:flex;flex-direction:column;gap:8px}.dimension-input-group label{color:#374151;font-size:14px;font-weight:500}.input-with-unit{align-items:center;display:flex;position:relative}.dimension-number-input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:16px;outline:none;padding:12px 16px;transition:border-color .2s ease}.dimension-number-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-unit{color:#6b7280;font-size:14px;font-weight:500;pointer-events:none;position:absolute;right:16px}.dimension-modal-actions{display:flex;justify-content:center}.submit-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s ease}.submit-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.dimension-number-input::-webkit-inner-spin-button,.dimension-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dimension-number-input[type=number]{appearance:textfield}.dimension-editor{align-items:center;background:#fff;border:2px solid #007bff;border-radius:4px;box-shadow:0 2px 10px #0003;display:flex;gap:4px;padding:8px;z-index:1000}.dimension-input{background:#0000;border:none;font-size:14px;font-weight:700;outline:none;text-align:center;width:60px}.dimension-unit{color:#666;font-size:12px;font-weight:400}.dimension-input::-webkit-inner-spin-button,.dimension-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dimension-input[type=number]{appearance:textfield}.toolbar{align-items:center;border-bottom:2px solid #e1e5e9;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:10px;padding:20px}.toolbar-section{align-items:center;display:flex;gap:8px}.toolbar-separator{background-color:#e1e5e9;height:30px;margin:0 5px;width:1px}.toolbar button{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:40px;padding:10px 20px;transition:all .2s ease}.toolbar button:hover{background-color:#0056b3;transform:translateY(-1px)}.tool-button{align-items:center!important;background-color:#f8f9fa!important;border:2px solid #e9ecef!important;border-radius:8px!important;color:#333!important;display:flex!important;font-size:18px!important;height:40px!important;justify-content:center!important;padding:8px!important;width:40px!important}.tool-button:hover{background-color:#e9ecef!important;border-color:#007bff!important;color:#007bff!important;transform:none!important}.tool-button.active{background-color:#007bff!important;border-color:#007bff!important;color:#fff!important}.tool-button.active:hover{background-color:#0056b3!important;border-color:#0056b3!important}.zoom-indicator{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#333;font-size:12px;font-weight:500;min-width:50px;padding:8px 12px;text-align:center}[data-theme=dark] .toolbar{background-color:#343a40;border-bottom-color:#495057;box-shadow:0 2px 4px #0000004d}[data-theme=dark] .toolbar-separator{background-color:#495057}[data-theme=dark] .toolbar button{background-color:#007bff;color:#fff}[data-theme=dark] .toolbar button:hover{background-color:#0056b3}[data-theme=dark] .tool-button{background-color:#495057!important;border-color:#6c757d!important;color:#f8f9fa!important}[data-theme=dark] .tool-button:hover{background-color:#6c757d!important;border-color:#007bff!important;color:#007bff!important}[data-theme=dark] .tool-button.active{background-color:#007bff!important;border-color:#007bff!important;color:#fff!important}[data-theme=dark] .tool-button.active:hover{background-color:#0056b3!important;border-color:#0056b3!important}[data-theme=dark] .zoom-indicator{background-color:#495057;border-color:#6c757d;color:#f8f9fa}.settings-container{display:inline-block;position:relative}.settings-button{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;font-size:16px;height:44px;justify-content:center;min-width:44px;padding:8px 12px;transition:all .2s ease}.settings-button:hover{background:#e9ecef;border-color:#007bff;box-shadow:0 2px 8px #007bff33;transform:translateY(-1px)}.settings-dropdown{animation:settingsDropdownFadeIn .2s ease;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 16px #0000001a;margin-top:4px;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes settingsDropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-item{align-items:center;background:#0000;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.settings-item:hover{background:#f8f9fa}.settings-item:active{background:#e9ecef}.settings-separator{background:#e9ecef;height:1px;margin:4px 0}.version-modal-overlay{align-items:center;animation:modalOverlayFadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.version-modal{animation:modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:80vh;max-width:500px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.version-modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px 16px}.version-modal-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.version-modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:18px;padding:4px;transition:all .2s ease}.version-modal-close:hover{background:#f8f9fa;color:#333}.version-modal-content{overflow-y:auto;padding:24px}.version-info{margin-bottom:24px}.version-info p{color:#555;font-size:14px;margin:8px 0}.version-features h4,.version-info strong{color:#333;font-weight:600}.version-features h4{font-size:16px;margin:0 0 12px}.version-features ul{color:#555;margin:0;padding-left:20px}.version-features li{font-size:14px;line-height:1.4;margin:6px 0}.version-modal-footer{border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding:16px 24px 20px}.version-modal-button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s ease}.version-modal-button:hover{background:#0056b3;transform:translateY(-1px)}.version-modal-button:active{transform:translateY(0)}[data-theme=dark] .settings-button{background:#343a40;border-color:#495057;color:#fff}[data-theme=dark] .settings-button:hover{background:#495057;border-color:#007bff}[data-theme=dark] .settings-dropdown{background:#343a40;border-color:#495057}[data-theme=dark] .settings-item{color:#f8f9fa}[data-theme=dark] .settings-item:hover,[data-theme=dark] .settings-separator{background:#495057}[data-theme=dark] .version-modal{background:#343a40;color:#f8f9fa}[data-theme=dark] .version-modal-header{border-bottom-color:#495057}[data-theme=dark] .version-modal-header h3{color:#f8f9fa}[data-theme=dark] .version-modal-close{color:#adb5bd}[data-theme=dark] .version-modal-close:hover{background:#495057;color:#f8f9fa}[data-theme=dark] .version-info p{color:#adb5bd}[data-theme=dark] .version-features h4,[data-theme=dark] .version-info strong{color:#f8f9fa}[data-theme=dark] .version-features ul{color:#adb5bd}[data-theme=dark] .version-modal-footer{border-top-color:#495057}.app{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;transition:background-color .3s ease,color .3s ease}[data-theme=dark] .app,[data-theme=dark] body{background-color:#1a1a1a;color:#f8f9fa}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:0}.canvas-container{background-color:#fff;border:1px solid #ccc;height:500px;position:relative;width:80%}.toolbar{margin-bottom:20px}.dimension-input{align-items:center;display:flex;flex-direction:column;margin-top:20px}.dimension-input input{margin:5px;padding:10px;width:100px}body{background-color:#f0f0f0;font-family:Arial,sans-serif;margin:0}canvas{border:1px solid #ccc;cursor:crosshair}.toolbar,canvas{background-color:#fff}.toolbar{box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;padding:10px}.dimension-input{margin:10px 0}.line-dimension{color:#555;font-size:12px}
/*# sourceMappingURL=main.499dc1fb.css.map*/