@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body{color:#333;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}:focus{outline:2px solid #4dabf7;outline-offset:2px}button{cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.react-flow,.react-flow__edge,.react-flow__node{transform:translateZ(0);will-change:transform}.react-flow__edge,.react-flow__node{transition:all .3s ease!important}.flowchart-canvas-container{contain:paint}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#343a40;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background-color:#fff;border-bottom:1px solid #dee2e6;box-shadow:0 2px 8px #0000000d;padding:1.5rem 2rem;text-align:center}.App-header h1{color:#495057;font-size:2rem;margin:0}.App-subtitle{color:#6c757d;font-size:1.125rem;margin:.5rem 0 0}.App-main{display:flex;flex:1 1;flex-direction:column;padding:1rem}@media (min-width:992px){.App-main{flex-direction:row}}.voice-section{flex:0 0 100%;margin-bottom:1.5rem}.flowchart-section{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;flex:1 1;min-height:400px;overflow:hidden}@media (min-width:992px){.voice-section{flex:0 0 350px;margin-bottom:0;margin-right:1.5rem}}.voice-recorder{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease}.microphone-button,.voice-recorder{align-items:center;display:flex;flex-direction:column}.microphone-button{background-color:#f8f9fa;border:2px solid #6c757d;border-radius:50%;box-shadow:0 2px 6px #0000001a;color:#6c757d;cursor:pointer;font-size:.75rem;font-weight:600;height:80px;justify-content:center;line-height:1.2;margin-bottom:1rem;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:80px}.microphone-button:hover{background-color:#e9ecef}.microphone-button.listening{background-color:#fa5252;border-color:#fa5252;box-shadow:0 0 0 4px #fa52524d;color:#fff}.microphone-button svg{height:28px;margin-bottom:.25rem;width:28px}.recording-indicator{align-items:center;display:flex;flex-direction:column;margin-top:.5rem}.pulse-ring{background-color:#fa5252;border-radius:50%;height:16px;margin-bottom:.5rem;position:relative;width:16px}.pulse-ring:after,.pulse-ring:before{animation:pulse 1.8s linear infinite;border:2px solid #fa5252;border-radius:50%;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0}.pulse-ring:after{animation-delay:.6s}@keyframes pulse{0%{opacity:0;transform:scale(1)}50%{opacity:.5}to{opacity:0;transform:scale(1.8)}}.recording-indicator p{color:#fa5252;font-size:.875rem;font-weight:600;margin:0}.transcript-preview{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:1rem;max-height:120px;overflow-y:auto;padding:.75rem;width:100%}.transcript-preview p{color:#495057;font-size:.9375rem;line-height:1.5;margin:0 0 .5rem}.transcript-preview p:last-child{margin-bottom:0}.interim-transcript{font-style:italic;opacity:.7}.instructions{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.instructions h3{color:#495057;font-size:1.25rem;margin-bottom:1rem;margin-top:0}.instructions ol,.instructions ul{margin:0 0 1rem;padding-left:1.5rem}.instructions li{font-size:.9375rem;line-height:1.5;margin-bottom:.5rem}.tips{border-top:1px solid #dee2e6;margin-top:1rem;padding-top:1rem}.tips h4{color:#495057;font-size:1rem;margin:0 0 .75rem}.flowchart-canvas-container{height:100%;min-height:400px;width:100%}.export-controls{background-color:#fff;border:1px solid #dee2e6;border-radius:4px;box-shadow:0 2px 8px #0000001a;padding:.5rem}.export-buttons{display:flex;gap:.5rem}.export-buttons button{background-color:#f8f9fa;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:.875rem;line-height:1.5;padding:.375rem .75rem;transition:all .2s ease}.export-buttons button:hover{background-color:#e9ecef;border-color:#ced4da}.processing-indicator{align-items:center;background-color:#f1f3f5;border-radius:4px;display:flex;justify-content:center;margin:1rem 0;padding:1rem}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#4dabf7;height:24px;margin-right:.75rem;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.processing-indicator p{color:#495057;font-size:.9375rem;margin:0}.App-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:1.5rem;text-align:center}.App-footer p{color:#6c757d;font-size:.875rem;margin:0}.status-message{background-color:#e9ecef;border-radius:4px;color:#495057;font-size:.9rem;margin:10px 0;padding:10px}.status-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.browser-instructions{background-color:#e9ecef;border-radius:4px;font-size:.875rem;margin-top:1rem;padding:.75rem}.browser-instructions p{color:#495057;margin-bottom:.5rem;margin-top:0}.browser-instructions ul{margin:0;padding-left:1.25rem}.browser-instructions li{margin-bottom:.25rem}.interim-label,.transcript-label{color:#6c757d;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.empty-transcript{color:#adb5bd;font-style:italic}.permission-request{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1rem;padding:1rem;text-align:center}.permission-request p{color:#495057;margin-bottom:1rem;margin-top:0}.permission-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.permission-button:hover{background-color:#0069d9}.mic-test-button{margin:10px 0;text-align:center}.mic-test-button button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.mic-test-button button:hover{background-color:#5a6268}
/*# sourceMappingURL=main.5b3e1f58.css.map*/