.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.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{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;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{position:absolute;z-index:5;margin:15px}.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:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.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-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,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.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 rgba(0,89,220,.8)}.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{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.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.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.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.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__handle{width:14px!important;height:14px!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.4)!important;background:linear-gradient(135deg,#8b5cf6e6,#8b5cf6)!important;box-shadow:0 0 8px #8b5cf680,inset 0 1px 2px #fff3!important;opacity:.75!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;cursor:crosshair!important}.react-flow__handle.source{background:linear-gradient(135deg,#34d399e6,#10b981)!important;box-shadow:0 0 8px #10b98180,inset 0 1px 2px #fff3!important}.react-flow__handle.target{background:linear-gradient(135deg,#a78bfae6,#8b5cf6)!important;box-shadow:0 0 8px #8b5cf680,inset 0 1px 2px #fff3!important}.react-flow__handle:hover{width:18px!important;height:18px!important;opacity:1!important;border-color:#ffffffb3!important;transform:scale(1.15)!important}.react-flow__handle.source:hover{box-shadow:0 0 16px #10b981cc,0 0 28px #10b98166,inset 0 1px 3px #ffffff4d!important}.react-flow__handle.target:hover{box-shadow:0 0 16px #8b5cf6cc,0 0 28px #8b5cf666,inset 0 1px 3px #ffffff4d!important}.react-flow__connection-line{stroke:#8b5cf6;stroke-width:3px;filter:drop-shadow(0 0 4px rgba(139,92,246,.6))}.react-flow__handle.connectingto,.react-flow__handle.valid{width:20px!important;height:20px!important;border-color:#ffffffe6!important;background:linear-gradient(135deg,#00e676e6,#00c864)!important;box-shadow:0 0 20px #00e676e6,0 0 40px #00e67680,inset 0 2px 4px #ffffff4d!important;opacity:1!important;animation:handlePulse 1s ease-in-out infinite!important}@keyframes handlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.react-flow__background{background-color:#f8f9fa}@media(prefers-color-scheme:dark){.react-flow__background{background-color:#0f172a}}.react-flow__controls,.react-flow__minimap{box-shadow:0 8px 32px #0000001f,0 0 0 1px #ffffff1a;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.react-flow__controls{padding:6px;background:linear-gradient(135deg,#ffffffe6,#fffc)}.react-flow__controls-button{background:transparent;border:none;border-radius:10px;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:2px}.react-flow__controls-button:hover{background:#8b5cf61a;transform:scale(1.05)}.react-flow__minimap{background:linear-gradient(135deg,#ffffffe6,#ffffffd9)}.dark .react-flow__controls,.dark .react-flow__minimap{background:linear-gradient(135deg,#1e293bf2,#0f172ae6);border-color:#ffffff1a;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d}.dark .react-flow__controls-button{fill:#e2e8f0}.dark .react-flow__controls-button:hover{background:#8b5cf633;fill:#a78bfa}.react-flow__resize-control.line{border-color:#8b5cf680}.react-flow__resize-control.handle{background-color:#8b5cf6;border-color:#fff}.react-flow__node.dragging{box-shadow:0 20px 60px #0003,0 8px 24px #00000026,0 0 0 2px #8b5cf64d;z-index:1000!important;filter:brightness(1.02)}.react-flow__selection{background:linear-gradient(135deg,#8b5cf614,#3b82f614);border:2px dashed rgba(139,92,246,.5);border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.react-flow__edge-path{transition:stroke .2s cubic-bezier(.4,0,.2,1),stroke-width .2s cubic-bezier(.4,0,.2,1),filter .2s ease}.react-flow__edge:hover .react-flow__edge-path{stroke-width:3px;filter:drop-shadow(0 0 4px currentColor)}.react-flow__pane{cursor:default}.react-flow__pane.dragging,.react-flow-panning .react-flow__pane{cursor:grabbing!important}.react-flow-pan-mode .react-flow__pane{cursor:grab!important}.react-flow-pan-mode .react-flow__pane.dragging{cursor:grabbing!important}.pan-mode-indicator{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#6366f1e6;color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;box-shadow:0 4px 12px #6366f14d;display:flex;align-items:center;gap:8px;z-index:1000;pointer-events:none;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.react-flow-snap-mode .react-flow__background pattern circle{fill:#6366f14d}.react-flow__controls{box-shadow:0 4px 20px #0000001f}.react-flow__controls-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.react-flow__controls-button:active{transform:scale(.95)}.react-flow__node:hover:not(.dragging){z-index:100}.react-flow__node.selected{box-shadow:0 0 0 2px #8b5cf6e6,0 0 20px #8b5cf64d,0 8px 24px #00000026}.react-flow__node.selected:after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid transparent;background:linear-gradient(135deg,#8b5cf680,#3b82f680) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.react-flow__nodesselection-rect{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:2px solid rgba(139,92,246,.6);border-radius:12px;box-shadow:0 0 20px #8b5cf633}@keyframes contextGlow{0%,to{box-shadow:0 0 8px #10b98166,0 0 16px #10b98133,0 8px 24px -8px #0006}50%{box-shadow:0 0 16px #10b98199,0 0 32px #10b9814d,0 8px 24px -8px #0006}}@keyframes contextPulse{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}@keyframes flowPulse{0%{stroke-dashoffset:0}to{stroke-dashoffset:-20}}.react-flow__edge.context-active .react-flow__edge-path{stroke:#10b981!important;stroke-width:3px!important;stroke-dasharray:5,5;animation:flowPulse .5s linear infinite}.react-flow__edge.context-inactive .react-flow__edge-path{stroke:#64748b!important;stroke-width:1px!important;opacity:.3}.context-preview-panel{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#0f172af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:12px 20px;color:#e2e8f0;font-size:13px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #10b98133;z-index:1000;max-width:500px;animation:fadeIn .2s ease}.context-preview-panel h4{margin:0 0 8px;color:#10b981;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.context-preview-panel ul{margin:0;padding:0 0 0 16px;list-style:none}.context-preview-panel li{position:relative;padding:2px 0;color:#94a3b8}.context-preview-panel li:before{content:"";position:absolute;left:-12px;top:50%;width:4px;height:4px;border-radius:50%;background:#10b981;transform:translateY(-50%)}.context-preview-panel .token-count{color:#10b981;font-weight:600;margin-left:8px}.context-preview-panel .total-tokens{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-weight:600}.context-preview-panel .total-tokens .value{color:#10b981}html{font-size:clamp(14px,1vw + .5rem,18px);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{line-height:1.6;letter-spacing:.01em;overflow-x:hidden}.container-responsive{max-width:min(100% - 2rem,1200px);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}@media(hover:none)and (pointer:coarse){.MuiButton-root{min-height:44px!important;min-width:44px!important;padding:clamp(12px,3vw,16px) clamp(20px,5vw,32px)!important}.MuiIconButton-root{min-height:44px!important;min-width:44px!important;padding:clamp(10px,2.5vw,12px)!important}}.text-responsive-sm{font-size:clamp(.75rem,2vw,.875rem)}.text-responsive-base{font-size:clamp(.875rem,2.5vw,1rem)}.text-responsive-lg{font-size:clamp(1rem,3vw,1.25rem)}.text-responsive-xl{font-size:clamp(1.25rem,4vw,1.5rem)}.text-responsive-2xl{font-size:clamp(1.5rem,5vw,2rem)}.spacing-responsive-sm{margin:clamp(.5rem,2vw,1rem)}.spacing-responsive-md{margin:clamp(1rem,3vw,1.5rem)}.spacing-responsive-lg{margin:clamp(1.5rem,4vw,2rem)}.grid-responsive{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1rem,3vw,2rem)}.grid-responsive-sm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(.75rem,2vw,1.25rem)}.MuiButton-root:focus-visible,.MuiIconButton-root:focus-visible,.MuiTextField-root:focus-within{outline:2px solid #667eea;outline-offset:2px}.MuiCard-root{margin:clamp(.5rem,2vw,1rem) 0}.MuiCardContent-root{padding:clamp(1rem,4vw,1.5rem)!important}.MuiDialog-paper{margin:clamp(1rem,4vw,2rem);max-height:calc(100vh - clamp(2rem,8vw,4rem))}@media(max-width:600px){.MuiTabs-root{min-height:44px}.MuiTab-root{min-height:44px;padding:clamp(8px,2vw,12px) clamp(12px,3vw,16px)}}.MuiTableContainer-root{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#667eea rgba(0,0,0,.1)}.MuiTableContainer-root::-webkit-scrollbar{height:8px}.MuiTableContainer-root::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.MuiTableContainer-root::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.MuiTableContainer-root::-webkit-scrollbar-thumb:hover{background:#4d5fb7}.image-responsive{max-width:100%;height:auto;object-fit:cover;border-radius:8px}.loading-skeleton{background:linear-gradient(90deg,#667eea1a 25%,#667eea33,#667eea1a 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-contrast:high){.MuiButton-root,.MuiIconButton-root{border:2px solid currentColor}.MuiCard-root{border:1px solid rgba(0,0,0,.2)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100%}#root{height:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}html{scroll-behavior:smooth}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #667eeab3}50%{transform:scale(1.02);box-shadow:0 0 0 8px #667eea00}}@keyframes glow{0%,to{box-shadow:0 0 5px #667eea80,0 0 10px #667eea4d}50%{box-shadow:0 0 10px #667eeacc,0 0 20px #667eea80}}*:focus-visible{outline:2px solid #667eea;outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible{outline:2px solid #667eea;outline-offset:2px}.ocr-language-menu-high-z,.MuiPopover-root,.MuiMenu-paper{z-index:9999!important}
