{"version":3,"file":"static/css/main.9ffe15ed.css","mappings":"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HD;;OAIF,CACJ,sCACM,mBACF,CACJ,0CACQ,eACF,CACN,wCACI,kBACF,CACF,4BACE,iBACF,CACA,mEAEE,gBACF,CACA,mEAEE,gBACF,CACA,8EAEE,kBACF,CACA,8EAEE,kBACF,CAEA,mCAKE,0DAA8F,CAA9F,4FAA8F,CAF9F,qBAAsB,CACtB,iBAAkB,CAFlB,UAAW,CAIX,8BAAgC,CALhC,SAMF,CACA,wCACE,MAAO,CACP,OACF,CACA,yCACE,SAAU,CACV,OACF,CACA,uCACE,QAAS,CACT,KACF,CACA,0CACE,QAAS,CACT,QACF,CAIA,2FACE,MACF,CAIA,6FACE,SACF,CAEA,iCACE,wFAA0F,CAE1F,kBAAmB,CADnB,cAEF,CACA,6EAKE,WAAY,CADZ,KAAM,CADN,yBAA6B,CAD7B,SAIF,CACA,sCAEE,qBAAsB,CADtB,MAEF,CACA,uCAEE,sBAAuB,CADvB,SAEF,CACA,6EAEE,UAAW,CAEX,MAAO,CADP,0BAA6B,CAE7B,UACF,CACA,qCAEE,oBAAqB,CADrB,KAEF,CACA,wCACE,uBAAwB,CACxB,QACF,CACA,yBACE,kDAA0F,CAA1F,wFACF,CACA,uBACE,uCAAoE,CAApE,kEACF;;ACvlBA;;;;;EAKE,CACF,cACE,qBAAsB,CACtB,sCAAyC,CACzC,cAAe,CACf,WAAY,CACZ,QAAW,CACX,iBACF,CACA,sCACE,iBACF,CACA,gEACE,mBACF,CACA,cAEE,UAAW,CADX,cAAe,CAEf,iBAAkB,CAClB,iBAAkB,CAClB,OACF,CACA,gBACE,QAAS,CACT,SACF,CACA,WAWE,oBAAqB,CAVrB,qBAAsB,CAEtB,WAAY,CADZ,gBAAiB,CAEjB,YAAa,CACb,eAAgB,CAChB,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,eAAgB,CAChB,oBAEF,CACA,aACE,WACF,CACA,kKAaE,4EAA6E,CAF7E,QAAS,CACT,SAEF,CACA,4BAEE,kBACF,CACA,kCAEE,oBACF,CACA,wBACE,eACF,CACA,mEAEE,mBACF,CACA,6EAEE,kBACF,CACA,uFAEE,UAAW,CACX,cAAe,CACf,kBACF,CACA,2CACE,eACF,CACA,4CACE,eACF,CACA,qBACE,oBAAqB,CACrB,kBAAmB,CACnB,WACF,CACA,4CACE,kBAAmB,CACnB,iBAAmB,CACnB,gBACF,CACA,sCACE,gBAAkB,CAClB,mBACF,CACA,gFAEE,kBACF,CACA,oEAEE,mBACF,CACA,iBAEE,wBAAyB,CADzB,4EAEF,CACA,wBACE,oCACF,CACA,6BACE,wBACF,CACA,oCACE,wCACF,CACA,6BACE,qEACF,CACA,6BACE,wBACF,CACA,oCACE,wCACF,CACA,6BACE,8DACF,CACA,6BACE,wBACF,CACA,oCACE,oCACF,CACA,6BACE,uDACF,CACA,6BACE,wBACF,CACA,oCACE,wCACF,CACA,6BACE,gDACF,CACA,6BACE,wBACF,CACA,oCACE,wCACF,CACA,6BACE,yCACF,CACA,6BACE,wBACF,CACA,oCACE,oCACF,CACA,6BACE,kCACF,CACA,6BACE,wBACF,CACA,oCACE,wCACF,CACA,6BACE,2BACF,CACA,6BACE,wBACF,CACA,oCACE,wCACF,CACA,6BACE,oBACF,CACA,6BACE,wBACF,CACA,oCACE,oCACF,CACA,+CACE,gBACF,CACA,iDACE,kBACF,CACA,wDACE,iBACF,CACA,0DACE,mBACF,CACA,+CACE,gBACF,CACA,iDACE,kBACF,CACA,wDACE,iBACF,CACA,0DACE,mBACF,CACA,+CACE,gBACF,CACA,iDACE,mBACF,CACA,wDACE,iBACF,CACA,0DACE,oBACF,CACA,+CACE,iBACF,CACA,iDACE,mBACF,CACA,wDACE,kBACF,CACA,0DACE,oBACF,CACA,+CACE,iBACF,CACA,iDACE,mBACF,CACA,wDACE,kBACF,CACA,0DACE,oBACF,CACA,+CACE,iBACF,CACA,iDACE,mBACF,CACA,wDACE,kBACF,CACA,0DACE,oBACF,CACA,+CACE,iBACF,CACA,iDACE,mBACF,CACA,wDACE,kBACF,CACA,0DACE,oBACF,CACA,+CACE,iBACF,CACA,iDACE,mBACF,CACA,wDACE,kBACF,CACA,0DACE,oBACF,CACA,+CACE,iBACF,CACA,iDACE,mBACF,CACA,wDACE,kBACF,CACA,0DACE,oBACF,CACA,qBACE,aAAc,CACd,cACF,CACA,qCACE,aACF,CACA,oCACE,iBACF,CACA,wBACE,qBACF,CACA,sBACE,wBACF,CACA,yBACE,qBACF,CACA,yBACE,qBACF,CACA,wBACE,wBACF,CACA,uBACE,qBACF,CACA,yBACE,qBACF,CACA,2BACE,UACF,CACA,yBACE,aACF,CACA,4BACE,UACF,CACA,4BACE,UACF,CACA,2BACE,aACF,CACA,0BACE,UACF,CACA,4BACE,UACF,CACA,0BACE,yCACF,CACA,8BACE,wCACF,CACA,0BACE,eACF,CACA,0BACE,eACF,CACA,yBACE,eACF,CACA,6BACE,aAAc,CACd,kBACF,CACA,4BACE,iBACF,CACA,6BACE,kBACF,CACA,2BACE,gBACF,CACA,2BACE,WAAsB,CACtB,8BAA+B,CAC/B,iBAAkB,CAClB,SAAU,CACV,mBAAoB,CACpB,iBAAkB,CAClB,UACF,CACA,qDAEE,UAAW,CACX,UAAW,CACX,aACF,CACA,uDAEE,eAAgB,CAChB,WAAY,CACZ,cAAe,CACf,oBAAqB,CACrB,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,UACF,CACA,+DAEE,UAAW,CACX,WACF,CACA,iFAEE,YACF,CACA,6FAEE,YACF,CACA,6jBAcE,UACF,CACA,kgDA4BE,SACF,CACA,kgDA4BE,WACF,CACA,wBACE,mGAEE,UACF,CACA,8PAIE,SACF,CACA,8PAIE,WACF,CACF,CAIA,oBACE,qBACF,CACA,oBACE,YACF,CACA,6CAEE,iBACF,CACA,qBACE,iBAAkB,CAClB,0BACF,CACA,uBACE,cAAe,CACf,oBACF,CACA,6BACE,2BACF,CACA,qBACE,oBAAqB,CACrB,qBACF,CACA,2BACE,UAAW,CACX,UAAW,CACX,aACF,CACA,oBACE,SAAU,CACV,WAAY,CACZ,oBAAqB,CACrB,qBAAsB,CACtB,cACF,CACA,0BACE,SAAU,CACV,WAAY,CACZ,oBAAqB,CACrB,cACF,CACA,8CAEE,SACF,CACA,mBACE,SACF,CACA,kBACE,iBACF,CACA,8CAEE,cACF,CACA,yBACE,UACF,CACA,sCACE,YACF,CACA,gDACE,cACF,CACA,iDACE,YACF,CACA,uBACE,aACF,CACA,uBACE,eACF,CACA,uBACE,gBACF,CACA,uBACE,aACF,CACA,uBACE,eACF,CACA,uBACE,eACF,CACA,sBACE,yBACF,CACA,+BACE,0BAA2B,CAC3B,iBAAkB,CAClB,cAAe,CACf,iBACF,CACA,iDAEE,wBAAyB,CACzB,iBACF,CACA,wBAEE,iBAAkB,CAClB,cAAe,CACf,gBAAiB,CAHjB,oBAIF,CACA,yBACE,aAAc,CACd,eACF,CACA,kCACE,wBAAyB,CACzB,aAAc,CACd,gBACF,CACA,wBACE,cACF,CACA,oBACE,UAAW,CACX,oBAAqB,CACrB,UAAW,CACX,cAAe,CACf,eAAgB,CAChB,WAAY,CACZ,iBAAkB,CAClB,qBACF,CACA,0BACE,cAAe,CACf,oBAAqB,CACrB,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,iBAAkB,CAClB,UACF,CACA,iCACE,oBAAqB,CACrB,gBACF,CACA,4BACE,qBAAsB,CACtB,YAAa,CACb,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,kBACF,CACA,4CACE,cAAe,CACf,aAAc,CACd,kBAAmB,CACnB,eACF,CACA,iDACE,UAAW,CACX,SACF,CACA,0DACE,SACF,CACA,4DACE,WACF,CACA,mDACE,aAAc,CACd,eAAgB,CAChB,QAAS,CACT,SACF,CACA,mDAEE,UACF,CACA,qFAEE,eACF,CACA,6FAEE,SACF,CACA,4CACE,aACF,CACA,yCACE,WAAY,CAEZ,eAAgB,CADhB,UAEF,CACA,6CACE,eAAgB,CAChB,WACF,CACA,0CACE,sBAA6B,CAC7B,UAAW,CACX,WAAY,CACZ,UAAW,CACX,SAAY,CACZ,UACF,CACA,mEAEE,eAAgB,CADhB,iBAAkB,CAElB,OAAQ,CACR,OAAQ,CACR,UACF,CACA,+fAME,wBACF,CACA,8BACE,UACF,CACA,2GAEE,gBACF,CACA,2IAEE,mBACF,CACA,2IAEE,mBACF,CACA,2IAEE,mBACF,CACA,2IAEE,mBACF,CACA,2IAEE,mBACF,CACA,2IAEE,mBACF,CACA,qEACE,aACF,CACA,qEACE,eACF,CACA,qEACE,gBACF,CACA,qEACE,aACF,CACA,qEACE,eACF,CACA,qEACE,eACF,CACA,4BACE,WACF,CACA,uGAEE,oBACF,CACA,2IAEE,eACF,CACA,mJAEE,mBACF,CACA,qEACE,yCACF,CACA,yEACE,wCACF,CACA,4BACE,UACF,CACA,uGAEE,gBACF,CACA,2IAEE,eACF,CACA,2IAEE,eACF,CACA,yIAEE,cACF,CACA,qEACE,cACF,CACA,qEACE,cACF,CACA,oEACE,cACF,CACA,wDACE,qBACF,CACA,mDACE,qBACF,CACA,oBACE,qBAAsB,CACtB,qBAAsB,CACtB,qDAA+D,CAC/D,WACF,CACA,gCACE,iBACF,CACA,qCACE,sBACF,CACA,uCACE,sBAA6B,CAC7B,0BACF,CAIA,0HACE,iBACF,CACA,4HAEE,iBACF,CACA,0CACE,YACF,CACA,qBACE,qBAAsB,CACtB,qBAAsB,CACtB,uBAA4B,CAC5B,UAAW,CACX,gBAAiB,CACjB,kBACF,CACA,4BACE,oBAAqB,CACrB,gBAAiB,CACjB,gBACF,CACA,sCAEE,qBAAsB,CADtB,YAAa,CAEb,cAAe,CACf,WAAY,CACZ,QAAW,CACX,eAAgB,CAChB,WACF,CACA,kCACE,oBAAqB,CACrB,eAAgB,CAChB,iBAAkB,CAClB,sBAAuB,CACvB,kBACF,CACA,uCACE,2BAA4B,CAC5B,cAAe,CACf,gBAAiB,CACjB,iBACF,CACA,wCACE,gBAAiB,CACjB,eACF,CACA,uBACE,gBACF,CACA,yFAEE,YACF,CACA,iDACE,oBACF,CACA,kDACE,cAAiB,CACjB,cAAe,CACf,eACF,CACA,4CACE,qBACF,CACA,+CACE,wBACF,CACA,6CACE,sBACF,CACA,WACE,UACF,CACA,sBACE,qBACF,CC/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","sources":["index.css","../node_modules/@xyflow/react/dist/style.css","../node_modules/react-quill/dist/quill.snow.css","styles/GamifiedPromoBanner.css","styles/CustomNodeStyles.css","styles/chat.css","styles/workflow-viewer.css","styles/LockedNodeStyles.css","styles/SetupWizard.css"],"sourcesContent":["body {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n    sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n    monospace;\n}\n","/* this gets exported as style.css and can be used for the default theming */\n/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */\n.react-flow {\n  direction: ltr;\n\n  --xy-edge-stroke-default: #b1b1b7;\n  --xy-edge-stroke-width-default: 2;\n  --xy-edge-stroke-selected-default: #555;\n\n  --xy-connectionline-stroke-default: #b1b1b7;\n  --xy-connectionline-stroke-width-default: 2;\n\n  --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);\n\n  --xy-minimap-background-color-default: #fff;\n  --xy-minimap-mask-background-color-default: rgb(240, 240, 240, 0.6);\n  --xy-minimap-mask-stroke-color-default: transparent;\n  --xy-minimap-mask-stroke-width-default: 1;\n  --xy-minimap-node-background-color-default: #e2e2e2;\n  --xy-minimap-node-stroke-color-default: transparent;\n  --xy-minimap-node-stroke-width-default: 2;\n\n  --xy-background-color-default: transparent;\n  --xy-background-pattern-dots-color-default: #91919a;\n  --xy-background-pattern-lines-color-default: #eee;\n  --xy-background-pattern-cross-color-default: #e2e2e2;\n  background-color: var(--xy-background-color, var(--xy-background-color-default));\n  --xy-node-color-default: inherit;\n  --xy-node-border-default: 1px solid #1a192b;\n  --xy-node-background-color-default: #fff;\n  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);\n  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;\n  --xy-node-border-radius-default: 3px;\n\n  --xy-handle-background-color-default: #1a192b;\n  --xy-handle-border-color-default: #fff;\n\n  --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);\n  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);\n\n  --xy-controls-button-background-color-default: #fefefe;\n  --xy-controls-button-background-color-hover-default: #f4f4f4;\n  --xy-controls-button-color-default: inherit;\n  --xy-controls-button-color-hover-default: inherit;\n  --xy-controls-button-border-color-default: #eee;\n  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n  --xy-edge-label-background-color-default: #ffffff;\n  --xy-edge-label-color-default: inherit;\n  --xy-resize-background-color-default: #3367d9;\n}\n.react-flow.dark {\n  --xy-edge-stroke-default: #c083f3;\n  --xy-edge-stroke-width-default: 2;\n  --xy-edge-stroke-selected-default: #ab54f3;\n\n  --xy-connectionline-stroke-default: #c183f3d0;\n  --xy-connectionline-stroke-width-default: 2;\n\n  --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);\n\n  --xy-minimap-background-color-default: #141414;\n  --xy-minimap-mask-background-color-default: rgb(60, 60, 60, 0.6);\n  --xy-minimap-mask-stroke-color-default: transparent;\n  --xy-minimap-mask-stroke-width-default: 1;\n  --xy-minimap-node-background-color-default: #2b2b2b;\n  --xy-minimap-node-stroke-color-default: transparent;\n  --xy-minimap-node-stroke-width-default: 2;\n\n  --xy-background-color-default: #141414;\n  --xy-background-pattern-dots-color-default: #777;\n  --xy-background-pattern-lines-color-default: #777;\n  --xy-background-pattern-cross-color-default: #777;\n  --xy-node-color-default: #f8f8f8;\n  --xy-node-border-default: 1px solid #3c3c3c;\n  --xy-node-background-color-default: #1e1e1e;\n  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);\n  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);\n  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;\n\n  --xy-handle-background-color-default: #bebebe;\n  --xy-handle-border-color-default: #1e1e1e;\n\n  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);\n  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);\n\n  --xy-controls-button-background-color-default: #2b2b2b;\n  --xy-controls-button-background-color-hover-default: #3e3e3e;\n  --xy-controls-button-color-default: #f8f8f8;\n  --xy-controls-button-color-hover-default: #fff;\n  --xy-controls-button-border-color-default: #5b5b5b;\n  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n\n  --xy-edge-label-background-color-default: #141414;\n  --xy-edge-label-color-default: #f8f8f8;\n}\n.react-flow__background {\n  background-color: var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));\n  pointer-events: none;\n  z-index: -1;\n}\n.react-flow__container {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n}\n.react-flow__pane {\n  z-index: 1;\n}\n.react-flow__pane.draggable {\n    cursor: grab;\n  }\n.react-flow__pane.dragging {\n    cursor: grabbing;\n  }\n.react-flow__pane.selection {\n    cursor: pointer;\n  }\n.react-flow__viewport {\n  transform-origin: 0 0;\n  z-index: 2;\n  pointer-events: none;\n}\n.react-flow__renderer {\n  z-index: 4;\n}\n.react-flow__selection {\n  z-index: 6;\n}\n.react-flow__nodesselection-rect:focus,\n.react-flow__nodesselection-rect:focus-visible {\n  outline: none;\n}\n.react-flow__edge-path {\n  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));\n  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));\n  fill: none;\n}\n.react-flow__connection-path {\n  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));\n  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));\n  fill: none;\n}\n.react-flow .react-flow__edges {\n  position: absolute;\n}\n.react-flow .react-flow__edges svg {\n    overflow: visible;\n    position: absolute;\n    pointer-events: none;\n  }\n.react-flow__edge {\n  pointer-events: visibleStroke;\n}\n.react-flow__edge.selectable {\n    cursor: pointer;\n  }\n.react-flow__edge.animated path {\n    stroke-dasharray: 5;\n    animation: dashdraw 0.5s linear infinite;\n  }\n.react-flow__edge.animated path.react-flow__edge-interaction {\n    stroke-dasharray: none;\n    animation: none;\n  }\n.react-flow__edge.inactive {\n    pointer-events: none;\n  }\n.react-flow__edge.selected,\n  .react-flow__edge:focus,\n  .react-flow__edge:focus-visible {\n    outline: none;\n  }\n.react-flow__edge.selected .react-flow__edge-path,\n  .react-flow__edge.selectable:focus .react-flow__edge-path,\n  .react-flow__edge.selectable:focus-visible .react-flow__edge-path {\n    stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));\n  }\n.react-flow__edge-textwrapper {\n    pointer-events: all;\n  }\n.react-flow__edge .react-flow__edge-text {\n    pointer-events: none;\n    -webkit-user-select: none;\n       -moz-user-select: none;\n            user-select: none;\n  }\n.react-flow__connection {\n  pointer-events: none;\n}\n.react-flow__connection .animated {\n    stroke-dasharray: 5;\n    animation: dashdraw 0.5s linear infinite;\n  }\nsvg.react-flow__connectionline {\n  z-index: 1001;\n  overflow: visible;\n  position: absolute;\n}\n.react-flow__nodes {\n  pointer-events: none;\n  transform-origin: 0 0;\n}\n.react-flow__node {\n  position: absolute;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n  pointer-events: all;\n  transform-origin: 0 0;\n  box-sizing: border-box;\n  cursor: default;\n}\n.react-flow__node.selectable {\n    cursor: pointer;\n  }\n.react-flow__node.draggable {\n    cursor: grab;\n    pointer-events: all;\n  }\n.react-flow__node.draggable.dragging {\n      cursor: grabbing;\n    }\n.react-flow__nodesselection {\n  z-index: 3;\n  transform-origin: left top;\n  pointer-events: none;\n}\n.react-flow__nodesselection-rect {\n    position: absolute;\n    pointer-events: all;\n    cursor: grab;\n  }\n.react-flow__handle {\n  position: absolute;\n  pointer-events: none;\n  min-width: 5px;\n  min-height: 5px;\n  width: 6px;\n  height: 6px;\n  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));\n  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));\n  border-radius: 100%;\n}\n.react-flow__handle.connectingfrom {\n    pointer-events: all;\n  }\n.react-flow__handle.connectionindicator {\n    pointer-events: all;\n    cursor: crosshair;\n  }\n.react-flow__handle-bottom {\n    top: auto;\n    left: 50%;\n    bottom: 0;\n    transform: translate(-50%, 50%);\n  }\n.react-flow__handle-top {\n    top: 0;\n    left: 50%;\n    transform: translate(-50%, -50%);\n  }\n.react-flow__handle-left {\n    top: 50%;\n    left: 0;\n    transform: translate(-50%, -50%);\n  }\n.react-flow__handle-right {\n    top: 50%;\n    right: 0;\n    transform: translate(50%, -50%);\n  }\n.react-flow__edgeupdater {\n  cursor: move;\n  pointer-events: all;\n}\n.react-flow__panel {\n  position: absolute;\n  z-index: 5;\n  margin: 15px;\n}\n.react-flow__panel.top {\n    top: 0;\n  }\n.react-flow__panel.bottom {\n    bottom: 0;\n  }\n.react-flow__panel.left {\n    left: 0;\n  }\n.react-flow__panel.right {\n    right: 0;\n  }\n.react-flow__panel.center {\n    left: 50%;\n    transform: translateX(-50%);\n  }\n.react-flow__attribution {\n  font-size: 10px;\n  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));\n  padding: 2px 3px;\n  margin: 0;\n}\n.react-flow__attribution a {\n    text-decoration: none;\n    color: #999;\n  }\n@keyframes dashdraw {\n  from {\n    stroke-dashoffset: 10;\n  }\n}\n.react-flow__edgelabel-renderer {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  pointer-events: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n  left: 0;\n  top: 0;\n}\n.react-flow__viewport-portal {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n}\n.react-flow__minimap {\n  background: var(\n    --xy-minimap-background-color-props,\n    var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))\n  );\n}\n.react-flow__minimap-svg {\n    display: block;\n  }\n.react-flow__minimap-mask {\n    fill: var(\n      --xy-minimap-mask-background-color-props,\n      var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))\n    );\n    stroke: var(\n      --xy-minimap-mask-stroke-color-props,\n      var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))\n    );\n    stroke-width: var(\n      --xy-minimap-mask-stroke-width-props,\n      var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))\n    );\n  }\n.react-flow__minimap-node {\n    fill: var(\n      --xy-minimap-node-background-color-props,\n      var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))\n    );\n    stroke: var(\n      --xy-minimap-node-stroke-color-props,\n      var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))\n    );\n    stroke-width: var(\n      --xy-minimap-node-stroke-width-props,\n      var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))\n    );\n  }\n.react-flow__background-pattern.dots {\n    fill: var(\n      --xy-background-pattern-color-props,\n      var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))\n    );\n  }\n.react-flow__background-pattern.lines {\n    stroke: var(\n      --xy-background-pattern-color-props,\n      var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))\n    );\n  }\n.react-flow__background-pattern.cross {\n    stroke: var(\n      --xy-background-pattern-color-props,\n      var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))\n    );\n  }\n.react-flow__controls {\n  display: flex;\n  flex-direction: column;\n  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));\n}\n.react-flow__controls.horizontal {\n    flex-direction: row;\n  }\n.react-flow__controls-button {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    height: 26px;\n    width: 26px;\n    padding: 4px;\n    border: none;\n    background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));\n    border-bottom: 1px solid\n      var(\n        --xy-controls-button-border-color-props,\n        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))\n      );\n    color: var(\n      --xy-controls-button-color-props,\n      var(--xy-controls-button-color, var(--xy-controls-button-color-default))\n    );\n    cursor: pointer;\n    -webkit-user-select: none;\n       -moz-user-select: none;\n            user-select: none;\n  }\n.react-flow__controls-button svg {\n      width: 100%;\n      max-width: 12px;\n      max-height: 12px;\n      fill: currentColor;\n    }\n.react-flow__edge.updating .react-flow__edge-path {\n      stroke: #777;\n    }\n.react-flow__edge-text {\n    font-size: 10px;\n  }\n.react-flow__node.selectable:focus,\n  .react-flow__node.selectable:focus-visible {\n    outline: none;\n  }\n/*\n.react-flow__node-input,\n.react-flow__node-default,\n/*.react-flow__node-output,\n.react-flow__node-group {\n  padding: 10px;\n  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));\n  width: 150px;\n  font-size: 12px;\n  color: var(--xy-node-color, var(--xy-node-color-default));\n  text-align: center;\n  border: var(--xy-node-border, var(--xy-node-border-default));\n  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));\n}*/\n.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {\n      box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));\n    }\n.react-flow__node-input.selectable.selected,\n    .react-flow__node-input.selectable:focus,\n    .react-flow__node-input.selectable:focus-visible,\n    .react-flow__node-default.selectable.selected,\n    .react-flow__node-default.selectable:focus,\n    .react-flow__node-default.selectable:focus-visible,\n    .react-flow__node-output.selectable.selected,\n    .react-flow__node-output.selectable:focus,\n    .react-flow__node-output.selectable:focus-visible,\n    .react-flow__node-group.selectable.selected,\n    .react-flow__node-group.selectable:focus,\n    .react-flow__node-group.selectable:focus-visible {\n      box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));\n    }\n.react-flow__node-group {\n  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));\n}\n.react-flow__nodesselection-rect,\n.react-flow__selection {\n  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));\n  border: var(--xy-selection-border, var(--xy-selection-border-default));\n}\n.react-flow__nodesselection-rect:focus,\n  .react-flow__nodesselection-rect:focus-visible,\n  .react-flow__selection:focus,\n  .react-flow__selection:focus-visible {\n    outline: none;\n  }\n.react-flow__controls-button:hover {\n      background: var(\n        --xy-controls-button-background-color-hover-props,\n        var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))\n      );\n      color: var(\n        --xy-controls-button-color-hover-props,\n        var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))\n      );\n    }\n.react-flow__controls-button:disabled {\n      pointer-events: none;\n    }\n.react-flow__controls-button:disabled svg {\n        fill-opacity: 0.4;\n      }\n.react-flow__controls-button:last-child {\n    border-bottom: none;\n  }\n.react-flow__resize-control {\n  position: absolute;\n}\n.react-flow__resize-control.left,\n.react-flow__resize-control.right {\n  cursor: ew-resize;\n}\n.react-flow__resize-control.top,\n.react-flow__resize-control.bottom {\n  cursor: ns-resize;\n}\n.react-flow__resize-control.top.left,\n.react-flow__resize-control.bottom.right {\n  cursor: nwse-resize;\n}\n.react-flow__resize-control.bottom.left,\n.react-flow__resize-control.top.right {\n  cursor: nesw-resize;\n}\n/* handle styles */\n.react-flow__resize-control.handle {\n  width: 4px;\n  height: 4px;\n  border: 1px solid #fff;\n  border-radius: 1px;\n  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n  transform: translate(-50%, -50%);\n}\n.react-flow__resize-control.handle.left {\n  left: 0;\n  top: 50%;\n}\n.react-flow__resize-control.handle.right {\n  left: 100%;\n  top: 50%;\n}\n.react-flow__resize-control.handle.top {\n  left: 50%;\n  top: 0;\n}\n.react-flow__resize-control.handle.bottom {\n  left: 50%;\n  top: 100%;\n}\n.react-flow__resize-control.handle.top.left {\n  left: 0;\n}\n.react-flow__resize-control.handle.bottom.left {\n  left: 0;\n}\n.react-flow__resize-control.handle.top.right {\n  left: 100%;\n}\n.react-flow__resize-control.handle.bottom.right {\n  left: 100%;\n}\n/* line styles */\n.react-flow__resize-control.line {\n  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));\n  border-width: 0;\n  border-style: solid;\n}\n.react-flow__resize-control.line.left,\n.react-flow__resize-control.line.right {\n  width: 1px;\n  transform: translate(-50%, 0);\n  top: 0;\n  height: 100%;\n}\n.react-flow__resize-control.line.left {\n  left: 0;\n  border-left-width: 1px;\n}\n.react-flow__resize-control.line.right {\n  left: 100%;\n  border-right-width: 1px;\n}\n.react-flow__resize-control.line.top,\n.react-flow__resize-control.line.bottom {\n  height: 1px;\n  transform: translate(0, -50%);\n  left: 0;\n  width: 100%;\n}\n.react-flow__resize-control.line.top {\n  top: 0;\n  border-top-width: 1px;\n}\n.react-flow__resize-control.line.bottom {\n  border-bottom-width: 1px;\n  top: 100%;\n}\n.react-flow__edge-textbg {\n  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));\n}\n.react-flow__edge-text {\n  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));\n}\n","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n.ql-container {\n  box-sizing: border-box;\n  font-family: Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  height: 100%;\n  margin: 0px;\n  position: relative;\n}\n.ql-container.ql-disabled .ql-tooltip {\n  visibility: hidden;\n}\n.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {\n  pointer-events: none;\n}\n.ql-clipboard {\n  left: -100000px;\n  height: 1px;\n  overflow-y: hidden;\n  position: absolute;\n  top: 50%;\n}\n.ql-clipboard p {\n  margin: 0;\n  padding: 0;\n}\n.ql-editor {\n  box-sizing: border-box;\n  line-height: 1.42;\n  height: 100%;\n  outline: none;\n  overflow-y: auto;\n  padding: 12px 15px;\n  tab-size: 4;\n  -moz-tab-size: 4;\n  text-align: left;\n  white-space: pre-wrap;\n  word-wrap: break-word;\n}\n.ql-editor > * {\n  cursor: text;\n}\n.ql-editor p,\n.ql-editor ol,\n.ql-editor ul,\n.ql-editor pre,\n.ql-editor blockquote,\n.ql-editor h1,\n.ql-editor h2,\n.ql-editor h3,\n.ql-editor h4,\n.ql-editor h5,\n.ql-editor h6 {\n  margin: 0;\n  padding: 0;\n  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol,\n.ql-editor ul {\n  padding-left: 1.5em;\n}\n.ql-editor ol > li,\n.ql-editor ul > li {\n  list-style-type: none;\n}\n.ql-editor ul > li::before {\n  content: '\\2022';\n}\n.ql-editor ul[data-checked=true],\n.ql-editor ul[data-checked=false] {\n  pointer-events: none;\n}\n.ql-editor ul[data-checked=true] > li *,\n.ql-editor ul[data-checked=false] > li * {\n  pointer-events: all;\n}\n.ql-editor ul[data-checked=true] > li::before,\n.ql-editor ul[data-checked=false] > li::before {\n  color: #777;\n  cursor: pointer;\n  pointer-events: all;\n}\n.ql-editor ul[data-checked=true] > li::before {\n  content: '\\2611';\n}\n.ql-editor ul[data-checked=false] > li::before {\n  content: '\\2610';\n}\n.ql-editor li::before {\n  display: inline-block;\n  white-space: nowrap;\n  width: 1.2em;\n}\n.ql-editor li:not(.ql-direction-rtl)::before {\n  margin-left: -1.5em;\n  margin-right: 0.3em;\n  text-align: right;\n}\n.ql-editor li.ql-direction-rtl::before {\n  margin-left: 0.3em;\n  margin-right: -1.5em;\n}\n.ql-editor ol li:not(.ql-direction-rtl),\n.ql-editor ul li:not(.ql-direction-rtl) {\n  padding-left: 1.5em;\n}\n.ql-editor ol li.ql-direction-rtl,\n.ql-editor ul li.ql-direction-rtl {\n  padding-right: 1.5em;\n}\n.ql-editor ol li {\n  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n  counter-increment: list-0;\n}\n.ql-editor ol li:before {\n  content: counter(list-0, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-1 {\n  counter-increment: list-1;\n}\n.ql-editor ol li.ql-indent-1:before {\n  content: counter(list-1, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-1 {\n  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-2 {\n  counter-increment: list-2;\n}\n.ql-editor ol li.ql-indent-2:before {\n  content: counter(list-2, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-2 {\n  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-3 {\n  counter-increment: list-3;\n}\n.ql-editor ol li.ql-indent-3:before {\n  content: counter(list-3, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-3 {\n  counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-4 {\n  counter-increment: list-4;\n}\n.ql-editor ol li.ql-indent-4:before {\n  content: counter(list-4, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-4 {\n  counter-reset: list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-5 {\n  counter-increment: list-5;\n}\n.ql-editor ol li.ql-indent-5:before {\n  content: counter(list-5, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-5 {\n  counter-reset: list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-6 {\n  counter-increment: list-6;\n}\n.ql-editor ol li.ql-indent-6:before {\n  content: counter(list-6, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-6 {\n  counter-reset: list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-7 {\n  counter-increment: list-7;\n}\n.ql-editor ol li.ql-indent-7:before {\n  content: counter(list-7, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-7 {\n  counter-reset: list-8 list-9;\n}\n.ql-editor ol li.ql-indent-8 {\n  counter-increment: list-8;\n}\n.ql-editor ol li.ql-indent-8:before {\n  content: counter(list-8, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-8 {\n  counter-reset: list-9;\n}\n.ql-editor ol li.ql-indent-9 {\n  counter-increment: list-9;\n}\n.ql-editor ol li.ql-indent-9:before {\n  content: counter(list-9, decimal) '. ';\n}\n.ql-editor .ql-indent-1:not(.ql-direction-rtl) {\n  padding-left: 3em;\n}\n.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {\n  padding-left: 4.5em;\n}\n.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {\n  padding-right: 3em;\n}\n.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {\n  padding-right: 4.5em;\n}\n.ql-editor .ql-indent-2:not(.ql-direction-rtl) {\n  padding-left: 6em;\n}\n.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {\n  padding-left: 7.5em;\n}\n.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {\n  padding-right: 6em;\n}\n.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {\n  padding-right: 7.5em;\n}\n.ql-editor .ql-indent-3:not(.ql-direction-rtl) {\n  padding-left: 9em;\n}\n.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {\n  padding-left: 10.5em;\n}\n.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {\n  padding-right: 9em;\n}\n.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {\n  padding-right: 10.5em;\n}\n.ql-editor .ql-indent-4:not(.ql-direction-rtl) {\n  padding-left: 12em;\n}\n.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {\n  padding-left: 13.5em;\n}\n.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {\n  padding-right: 12em;\n}\n.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {\n  padding-right: 13.5em;\n}\n.ql-editor .ql-indent-5:not(.ql-direction-rtl) {\n  padding-left: 15em;\n}\n.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {\n  padding-left: 16.5em;\n}\n.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {\n  padding-right: 15em;\n}\n.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {\n  padding-right: 16.5em;\n}\n.ql-editor .ql-indent-6:not(.ql-direction-rtl) {\n  padding-left: 18em;\n}\n.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {\n  padding-left: 19.5em;\n}\n.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {\n  padding-right: 18em;\n}\n.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {\n  padding-right: 19.5em;\n}\n.ql-editor .ql-indent-7:not(.ql-direction-rtl) {\n  padding-left: 21em;\n}\n.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {\n  padding-left: 22.5em;\n}\n.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {\n  padding-right: 21em;\n}\n.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {\n  padding-right: 22.5em;\n}\n.ql-editor .ql-indent-8:not(.ql-direction-rtl) {\n  padding-left: 24em;\n}\n.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {\n  padding-left: 25.5em;\n}\n.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {\n  padding-right: 24em;\n}\n.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {\n  padding-right: 25.5em;\n}\n.ql-editor .ql-indent-9:not(.ql-direction-rtl) {\n  padding-left: 27em;\n}\n.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {\n  padding-left: 28.5em;\n}\n.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {\n  padding-right: 27em;\n}\n.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {\n  padding-right: 28.5em;\n}\n.ql-editor .ql-video {\n  display: block;\n  max-width: 100%;\n}\n.ql-editor .ql-video.ql-align-center {\n  margin: 0 auto;\n}\n.ql-editor .ql-video.ql-align-right {\n  margin: 0 0 0 auto;\n}\n.ql-editor .ql-bg-black {\n  background-color: #000;\n}\n.ql-editor .ql-bg-red {\n  background-color: #e60000;\n}\n.ql-editor .ql-bg-orange {\n  background-color: #f90;\n}\n.ql-editor .ql-bg-yellow {\n  background-color: #ff0;\n}\n.ql-editor .ql-bg-green {\n  background-color: #008a00;\n}\n.ql-editor .ql-bg-blue {\n  background-color: #06c;\n}\n.ql-editor .ql-bg-purple {\n  background-color: #93f;\n}\n.ql-editor .ql-color-white {\n  color: #fff;\n}\n.ql-editor .ql-color-red {\n  color: #e60000;\n}\n.ql-editor .ql-color-orange {\n  color: #f90;\n}\n.ql-editor .ql-color-yellow {\n  color: #ff0;\n}\n.ql-editor .ql-color-green {\n  color: #008a00;\n}\n.ql-editor .ql-color-blue {\n  color: #06c;\n}\n.ql-editor .ql-color-purple {\n  color: #93f;\n}\n.ql-editor .ql-font-serif {\n  font-family: Georgia, Times New Roman, serif;\n}\n.ql-editor .ql-font-monospace {\n  font-family: Monaco, Courier New, monospace;\n}\n.ql-editor .ql-size-small {\n  font-size: 0.75em;\n}\n.ql-editor .ql-size-large {\n  font-size: 1.5em;\n}\n.ql-editor .ql-size-huge {\n  font-size: 2.5em;\n}\n.ql-editor .ql-direction-rtl {\n  direction: rtl;\n  text-align: inherit;\n}\n.ql-editor .ql-align-center {\n  text-align: center;\n}\n.ql-editor .ql-align-justify {\n  text-align: justify;\n}\n.ql-editor .ql-align-right {\n  text-align: right;\n}\n.ql-editor.ql-blank::before {\n  color: rgba(0,0,0,0.6);\n  content: attr(data-placeholder);\n  font-style: italic;\n  left: 15px;\n  pointer-events: none;\n  position: absolute;\n  right: 15px;\n}\n.ql-snow.ql-toolbar:after,\n.ql-snow .ql-toolbar:after {\n  clear: both;\n  content: '';\n  display: table;\n}\n.ql-snow.ql-toolbar button,\n.ql-snow .ql-toolbar button {\n  background: none;\n  border: none;\n  cursor: pointer;\n  display: inline-block;\n  float: left;\n  height: 24px;\n  padding: 3px 5px;\n  width: 28px;\n}\n.ql-snow.ql-toolbar button svg,\n.ql-snow .ql-toolbar button svg {\n  float: left;\n  height: 100%;\n}\n.ql-snow.ql-toolbar button:active:hover,\n.ql-snow .ql-toolbar button:active:hover {\n  outline: none;\n}\n.ql-snow.ql-toolbar input.ql-image[type=file],\n.ql-snow .ql-toolbar input.ql-image[type=file] {\n  display: none;\n}\n.ql-snow.ql-toolbar button:hover,\n.ql-snow .ql-toolbar button:hover,\n.ql-snow.ql-toolbar button:focus,\n.ql-snow .ql-toolbar button:focus,\n.ql-snow.ql-toolbar button.ql-active,\n.ql-snow .ql-toolbar button.ql-active,\n.ql-snow.ql-toolbar .ql-picker-label:hover,\n.ql-snow .ql-toolbar .ql-picker-label:hover,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active,\n.ql-snow.ql-toolbar .ql-picker-item:hover,\n.ql-snow .ql-toolbar .ql-picker-item:hover,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected {\n  color: #06c;\n}\n.ql-snow.ql-toolbar button:hover .ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {\n  fill: #06c;\n}\n.ql-snow.ql-toolbar button:hover .ql-stroke,\n.ql-snow .ql-toolbar button:hover .ql-stroke,\n.ql-snow.ql-toolbar button:focus .ql-stroke,\n.ql-snow .ql-toolbar button:focus .ql-stroke,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow.ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow .ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {\n  stroke: #06c;\n}\n@media (pointer: coarse) {\n  .ql-snow.ql-toolbar button:hover:not(.ql-active),\n  .ql-snow .ql-toolbar button:hover:not(.ql-active) {\n    color: #444;\n  }\n  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,\n  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,\n  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,\n  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {\n    fill: #444;\n  }\n  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,\n  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {\n    stroke: #444;\n  }\n}\n.ql-snow {\n  box-sizing: border-box;\n}\n.ql-snow * {\n  box-sizing: border-box;\n}\n.ql-snow .ql-hidden {\n  display: none;\n}\n.ql-snow .ql-out-bottom,\n.ql-snow .ql-out-top {\n  visibility: hidden;\n}\n.ql-snow .ql-tooltip {\n  position: absolute;\n  transform: translateY(10px);\n}\n.ql-snow .ql-tooltip a {\n  cursor: pointer;\n  text-decoration: none;\n}\n.ql-snow .ql-tooltip.ql-flip {\n  transform: translateY(-10px);\n}\n.ql-snow .ql-formats {\n  display: inline-block;\n  vertical-align: middle;\n}\n.ql-snow .ql-formats:after {\n  clear: both;\n  content: '';\n  display: table;\n}\n.ql-snow .ql-stroke {\n  fill: none;\n  stroke: #444;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  stroke-width: 2;\n}\n.ql-snow .ql-stroke-miter {\n  fill: none;\n  stroke: #444;\n  stroke-miterlimit: 10;\n  stroke-width: 2;\n}\n.ql-snow .ql-fill,\n.ql-snow .ql-stroke.ql-fill {\n  fill: #444;\n}\n.ql-snow .ql-empty {\n  fill: none;\n}\n.ql-snow .ql-even {\n  fill-rule: evenodd;\n}\n.ql-snow .ql-thin,\n.ql-snow .ql-stroke.ql-thin {\n  stroke-width: 1;\n}\n.ql-snow .ql-transparent {\n  opacity: 0.4;\n}\n.ql-snow .ql-direction svg:last-child {\n  display: none;\n}\n.ql-snow .ql-direction.ql-active svg:last-child {\n  display: inline;\n}\n.ql-snow .ql-direction.ql-active svg:first-child {\n  display: none;\n}\n.ql-snow .ql-editor h1 {\n  font-size: 2em;\n}\n.ql-snow .ql-editor h2 {\n  font-size: 1.5em;\n}\n.ql-snow .ql-editor h3 {\n  font-size: 1.17em;\n}\n.ql-snow .ql-editor h4 {\n  font-size: 1em;\n}\n.ql-snow .ql-editor h5 {\n  font-size: 0.83em;\n}\n.ql-snow .ql-editor h6 {\n  font-size: 0.67em;\n}\n.ql-snow .ql-editor a {\n  text-decoration: underline;\n}\n.ql-snow .ql-editor blockquote {\n  border-left: 4px solid #ccc;\n  margin-bottom: 5px;\n  margin-top: 5px;\n  padding-left: 16px;\n}\n.ql-snow .ql-editor code,\n.ql-snow .ql-editor pre {\n  background-color: #f0f0f0;\n  border-radius: 3px;\n}\n.ql-snow .ql-editor pre {\n  white-space: pre-wrap;\n  margin-bottom: 5px;\n  margin-top: 5px;\n  padding: 5px 10px;\n}\n.ql-snow .ql-editor code {\n  font-size: 85%;\n  padding: 2px 4px;\n}\n.ql-snow .ql-editor pre.ql-syntax {\n  background-color: #23241f;\n  color: #f8f8f2;\n  overflow: visible;\n}\n.ql-snow .ql-editor img {\n  max-width: 100%;\n}\n.ql-snow .ql-picker {\n  color: #444;\n  display: inline-block;\n  float: left;\n  font-size: 14px;\n  font-weight: 500;\n  height: 24px;\n  position: relative;\n  vertical-align: middle;\n}\n.ql-snow .ql-picker-label {\n  cursor: pointer;\n  display: inline-block;\n  height: 100%;\n  padding-left: 8px;\n  padding-right: 2px;\n  position: relative;\n  width: 100%;\n}\n.ql-snow .ql-picker-label::before {\n  display: inline-block;\n  line-height: 22px;\n}\n.ql-snow .ql-picker-options {\n  background-color: #fff;\n  display: none;\n  min-width: 100%;\n  padding: 4px 8px;\n  position: absolute;\n  white-space: nowrap;\n}\n.ql-snow .ql-picker-options .ql-picker-item {\n  cursor: pointer;\n  display: block;\n  padding-bottom: 5px;\n  padding-top: 5px;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-label {\n  color: #ccc;\n  z-index: 2;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {\n  fill: #ccc;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {\n  stroke: #ccc;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-options {\n  display: block;\n  margin-top: -1px;\n  top: 100%;\n  z-index: 1;\n}\n.ql-snow .ql-color-picker,\n.ql-snow .ql-icon-picker {\n  width: 28px;\n}\n.ql-snow .ql-color-picker .ql-picker-label,\n.ql-snow .ql-icon-picker .ql-picker-label {\n  padding: 2px 4px;\n}\n.ql-snow .ql-color-picker .ql-picker-label svg,\n.ql-snow .ql-icon-picker .ql-picker-label svg {\n  right: 4px;\n}\n.ql-snow .ql-icon-picker .ql-picker-options {\n  padding: 4px 0px;\n}\n.ql-snow .ql-icon-picker .ql-picker-item {\n  height: 24px;\n  width: 24px;\n  padding: 2px 4px;\n}\n.ql-snow .ql-color-picker .ql-picker-options {\n  padding: 3px 5px;\n  width: 152px;\n}\n.ql-snow .ql-color-picker .ql-picker-item {\n  border: 1px solid transparent;\n  float: left;\n  height: 16px;\n  margin: 2px;\n  padding: 0px;\n  width: 16px;\n}\n.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {\n  position: absolute;\n  margin-top: -9px;\n  right: 0;\n  top: 50%;\n  width: 18px;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {\n  content: attr(data-label);\n}\n.ql-snow .ql-picker.ql-header {\n  width: 98px;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before {\n  content: 'Normal';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before {\n  content: 'Heading 1';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before {\n  content: 'Heading 2';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before {\n  content: 'Heading 3';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before {\n  content: 'Heading 4';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before {\n  content: 'Heading 5';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before {\n  content: 'Heading 6';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before {\n  font-size: 2em;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before {\n  font-size: 1.5em;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before {\n  font-size: 1.17em;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before {\n  font-size: 1em;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before {\n  font-size: 0.83em;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before {\n  font-size: 0.67em;\n}\n.ql-snow .ql-picker.ql-font {\n  width: 108px;\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before {\n  content: 'Sans Serif';\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {\n  content: 'Serif';\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {\n  content: 'Monospace';\n}\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {\n  font-family: Georgia, Times New Roman, serif;\n}\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {\n  font-family: Monaco, Courier New, monospace;\n}\n.ql-snow .ql-picker.ql-size {\n  width: 98px;\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before {\n  content: 'Normal';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {\n  content: 'Small';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {\n  content: 'Large';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {\n  content: 'Huge';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {\n  font-size: 10px;\n}\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {\n  font-size: 18px;\n}\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {\n  font-size: 32px;\n}\n.ql-snow .ql-color-picker.ql-background .ql-picker-item {\n  background-color: #fff;\n}\n.ql-snow .ql-color-picker.ql-color .ql-picker-item {\n  background-color: #000;\n}\n.ql-toolbar.ql-snow {\n  border: 1px solid #ccc;\n  box-sizing: border-box;\n  font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n  padding: 8px;\n}\n.ql-toolbar.ql-snow .ql-formats {\n  margin-right: 15px;\n}\n.ql-toolbar.ql-snow .ql-picker-label {\n  border: 1px solid transparent;\n}\n.ql-toolbar.ql-snow .ql-picker-options {\n  border: 1px solid transparent;\n  box-shadow: rgba(0,0,0,0.2) 0 2px 8px;\n}\n.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {\n  border-color: #ccc;\n}\n.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {\n  border-color: #ccc;\n}\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {\n  border-color: #000;\n}\n.ql-toolbar.ql-snow + .ql-container.ql-snow {\n  border-top: 0px;\n}\n.ql-snow .ql-tooltip {\n  background-color: #fff;\n  border: 1px solid #ccc;\n  box-shadow: 0px 0px 5px #ddd;\n  color: #444;\n  padding: 5px 12px;\n  white-space: nowrap;\n}\n.ql-snow .ql-tooltip::before {\n  content: \"Visit URL:\";\n  line-height: 26px;\n  margin-right: 8px;\n}\n.ql-snow .ql-tooltip input[type=text] {\n  display: none;\n  border: 1px solid #ccc;\n  font-size: 13px;\n  height: 26px;\n  margin: 0px;\n  padding: 3px 5px;\n  width: 170px;\n}\n.ql-snow .ql-tooltip a.ql-preview {\n  display: inline-block;\n  max-width: 200px;\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n  vertical-align: top;\n}\n.ql-snow .ql-tooltip a.ql-action::after {\n  border-right: 1px solid #ccc;\n  content: 'Edit';\n  margin-left: 16px;\n  padding-right: 8px;\n}\n.ql-snow .ql-tooltip a.ql-remove::before {\n  content: 'Remove';\n  margin-left: 8px;\n}\n.ql-snow .ql-tooltip a {\n  line-height: 26px;\n}\n.ql-snow .ql-tooltip.ql-editing a.ql-preview,\n.ql-snow .ql-tooltip.ql-editing a.ql-remove {\n  display: none;\n}\n.ql-snow .ql-tooltip.ql-editing input[type=text] {\n  display: inline-block;\n}\n.ql-snow .ql-tooltip.ql-editing a.ql-action::after {\n  border-right: 0px;\n  content: 'Save';\n  padding-right: 0px;\n}\n.ql-snow .ql-tooltip[data-mode=link]::before {\n  content: \"Enter link:\";\n}\n.ql-snow .ql-tooltip[data-mode=formula]::before {\n  content: \"Enter formula:\";\n}\n.ql-snow .ql-tooltip[data-mode=video]::before {\n  content: \"Enter video:\";\n}\n.ql-snow a {\n  color: #06c;\n}\n.ql-container.ql-snow {\n  border: 1px solid #ccc;\n}\n","/* src/components/GamifiedPromoBanner.css */\n.gamified-banner {\n  position: fixed !important;\n  bottom: 30px !important;\n  right: 30px !important;\n  left: auto !important;\n  width: 360px;\n  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n  border-radius: 12px;\n  box-shadow: 0 15px 30px rgba(102, 126, 234, 0.3);\n  padding: 20px;\n  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);\n  opacity: 0;\n  transform: translateY(30px) scale(0.9);\n  z-index: 1000;\n  overflow: hidden;\n  position: relative;\n  color: white !important;\n}\n\n.gamified-banner h3,\n.gamified-banner p,\n.gamified-banner span:not(.gamified-banner-badge) {\n  color: white !important;\n}\n\n.gamified-banner-visible {\n  opacity: 1;\n  transform: translateY(0) scale(1);\n}\n\n/* Email collection variant */\n.gamified-banner-email {\n  padding: 24px;\n}\n\n/* Close button */\n.gamified-banner-close {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  background: rgba(255, 255, 255, 0.2);\n  backdrop-filter: blur(10px);\n  border: 1px solid rgba(255, 255, 255, 0.3);\n  color: white;\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: all 0.3s;\n  font-size: 11px;\n  z-index: 2;\n}\n\n.gamified-banner-close:hover {\n  background: rgba(255, 255, 255, 0.3);\n  transform: rotate(90deg);\n}\n\n/* Header */\n.gamified-banner-header {\n  color: white;\n  margin-bottom: 16px;\n}\n\n.gamified-banner-title {\n  font-size: 17px;\n  font-weight: 700;\n  margin: 0 0 6px 0;\n  color: white !important;\n}\n\n.gamified-banner-subtitle {\n  font-size: 13px;\n  margin: 0;\n  opacity: 0.95;\n  color: white;\n}\n\n/* Progress bar */\n.gamified-banner-progress {\n  background: rgba(255, 255, 255, 0.2);\n  border-radius: 8px;\n  padding: 3px;\n  margin-bottom: 16px;\n  position: relative;\n}\n\n.progress-bar {\n  height: 6px;\n  background: rgba(255, 255, 255, 0.3);\n  border-radius: 4px;\n  overflow: hidden;\n}\n\n.progress-fill {\n  height: 100%;\n  background: linear-gradient(90deg, #52c41a 0%, #73d13d 100%);\n  border-radius: 4px;\n  transition: width 0.5s ease;\n  box-shadow: 0 0 8px rgba(82, 196, 26, 0.5);\n}\n\n.progress-text {\n  position: absolute;\n  right: 10px;\n  top: 50%;\n  transform: translateY(-50%);\n  font-size: 10px;\n  color: white;\n  font-weight: 600;\n}\n\n/* Tasks */\n.gamified-banner-tasks {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  margin-bottom: 14px;\n}\n\n.task-item {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  background: rgba(255, 255, 255, 0.15);\n  padding: 10px 14px;\n  border-radius: 8px;\n  transition: all 0.3s;\n  border: 2px solid transparent;\n}\n\n.task-item.active {\n  background: rgba(255, 255, 255, 0.25);\n  border-color: rgba(255, 255, 255, 0.4);\n  animation: glow 2s ease-in-out infinite;\n}\n\n.task-item > div:first-child {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n\n.task-help-text {\n  font-size: 11px;\n  color: rgba(255, 255, 255, 0.8);\n  margin-left: 30px;\n  line-height: 1.4;\n  font-style: italic;\n}\n\n@keyframes glow {\n  0%, 100% { box-shadow: 0 0 0 rgba(255, 255, 255, 0); }\n  50% { box-shadow: 0 0 15px rgba(255, 255, 255, 0.3); }\n}\n\n.task-item.completed {\n  background: rgba(82, 196, 26, 0.2);\n  border-color: rgba(82, 196, 26, 0.4);\n}\n\n.task-item.locked {\n  opacity: 0.6;\n}\n\n.task-icon {\n  flex-shrink: 0;\n  width: 20px;\n  height: 20px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.lock-icon {\n  font-size: 14px;\n  filter: grayscale(1);\n}\n\n.task-content {\n  flex: 1;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  color: white;\n}\n\n.task-title {\n  font-size: 13px;\n  font-weight: 500;\n  color: white;\n}\n\n.task-item.completed .task-title {\n  text-decoration: line-through;\n  opacity: 0.8;\n}\n\n.task-hint {\n  font-size: 11px;\n  opacity: 0.8;\n  margin-left: 6px;\n  color: white;\n}\n\n.task-action-button {\n  background: rgba(255, 255, 255, 0.25);\n  color: white;\n  border: 1px solid rgba(255, 255, 255, 0.4);\n  padding: 3px 10px;\n  border-radius: 12px;\n  font-size: 11px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.3s;\n}\n\n.task-action-button:hover {\n  background: rgba(255, 255, 255, 0.35);\n  transform: translateX(2px);\n}\n\n/* CTA Button */\n.gamified-banner-cta {\n  margin-top: 14px;\n}\n\n.cta-button {\n  width: 100%;\n  background: linear-gradient(135deg, #52c41a 0%, #73d13d 100%);\n  color: white;\n  border: none;\n  padding: 10px 20px;\n  border-radius: 8px;\n  font-size: 14px;\n  font-weight: 700;\n  cursor: pointer;\n  transition: all 0.3s;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  box-shadow: 0 4px 12px rgba(82, 196, 26, 0.4);\n  animation: pulse 2s ease-in-out infinite;\n}\n\n.cta-button:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 6px 16px rgba(82, 196, 26, 0.5);\n}\n\n.cta-note {\n  margin: 6px 0 0 0;\n  font-size: 11px;\n  color: rgba(255, 255, 255, 0.8);\n  text-align: center;\n}\n\n/* Animations */\n@keyframes pulse {\n  0%, 100% { transform: scale(1); }\n  50% { transform: scale(1.05); }\n}\n\n/* Confetti */\n.confetti-container {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n  pointer-events: none;\n  z-index: 10;\n}\n\n.confetti {\n  position: absolute;\n  width: 8px;\n  height: 8px;\n  background: #ffd700;\n  animation: confetti-fall 3s linear forwards;\n}\n\n.confetti-0 { left: 10%; background: #ff6b6b; animation-delay: 0s; }\n.confetti-1 { left: 20%; background: #4ecdc4; animation-delay: 0.2s; }\n.confetti-2 { left: 30%; background: #45b7d1; animation-delay: 0.4s; }\n.confetti-3 { left: 40%; background: #f9ca24; animation-delay: 0.6s; }\n.confetti-4 { left: 50%; background: #f0932b; animation-delay: 0.8s; }\n.confetti-5 { left: 60%; background: #eb4d4b; animation-delay: 1s; }\n\n@keyframes confetti-fall {\n  0% {\n    top: -10%;\n    transform: translateX(0) rotateZ(0deg);\n    opacity: 1;\n  }\n  100% {\n    top: 110%;\n    transform: translateX(100px) rotateZ(720deg);\n    opacity: 0;\n  }\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n  .gamified-banner {\n    right: 15px !important;\n    bottom: 15px !important;\n    left: 15px !important;\n    width: auto;\n  }\n  \n  .gamified-banner-title {\n    font-size: 16px;\n  }\n  \n  .task-item {\n    padding: 10px 12px;\n  }\n}\n\n/* Builder page adjustments */\n.gamified-banner.builder-page {\n  bottom: 80px !important;\n}\n\n.gamified-banner-minimized.builder-page {\n  bottom: 80px !important;\n}\n\n.email-title {\n  font-size: 18px;\n  font-weight: 700;\n  margin: 0 0 8px 0;\n  color: white !important;\n}\n\n.email-subtitle {\n  font-size: 13px;\n  opacity: 0.9;\n  margin: 0 0 16px 0;\n  color: white;\n}\n\n.email-form {\n  display: flex;\n  gap: 8px;\n}\n\n.email-input {\n  flex: 1;\n  padding: 10px 14px;\n  border-radius: 8px;\n  border: 1px solid rgba(255, 255, 255, 0.3);\n  background: rgba(255, 255, 255, 0.15);\n  color: white !important;\n  font-size: 13px;\n  transition: all 0.3s;\n}\n\n.email-input::placeholder {\n  color: rgba(255, 255, 255, 0.7) !important;\n}\n\n.email-input:focus {\n  outline: none;\n  background: rgba(255, 255, 255, 0.25);\n  border-color: rgba(255, 255, 255, 0.5);\n}\n\n.email-submit {\n  padding: 10px 16px;\n  border-radius: 8px;\n  background: rgba(255, 255, 255, 0.25);\n  border: 1px solid rgba(255, 255, 255, 0.4);\n  color: white;\n  font-size: 13px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.3s;\n  white-space: nowrap;\n}\n\n.email-submit:hover {\n  background: rgba(255, 255, 255, 0.35);\n}\n\n.email-privacy {\n  font-size: 10px;\n  color: rgba(255, 255, 255, 0.7);\n  margin-top: 8px;\n}\n\n.email-privacy a {\n  color: rgba(255, 255, 255, 0.9);\n  text-decoration: underline;\n}\n\n/* Minimized view */\n.gamified-banner-minimized {\n  position: fixed !important;\n  bottom: 30px !important;\n  right: 30px !important;\n  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n  border-radius: 25px;\n  padding: 8px 16px;\n  cursor: pointer;\n  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);\n  transition: all 0.3s;\n  z-index: 1000;\n}\n\n.gamified-banner-minimized:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 10px 25px rgba(102, 126, 234, 0.4);\n}\n\n.minimized-content {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  color: white;\n}\n\n.minimized-icon {\n  font-size: 16px;\n}\n\n.minimized-text {\n  font-size: 13px;\n  font-weight: 600;\n}\n\n.minimized-progress {\n  width: 80px;\n  height: 4px;\n  background: rgba(255, 255, 255, 0.3);\n  border-radius: 2px;\n  overflow: hidden;\n}\n\n.minimized-progress-fill {\n  height: 100%;\n  background: #52c41a;\n  transition: width 0.5s ease;\n}\n\n.minimized-count {\n  font-size: 11px;\n  opacity: 0.9;\n}","/* Variables for WordPress admin dimensions */\r\n:root {\r\n  --wp-admin-bar-height: 32px;\r\n  --wp-admin-sidebar-width: 160px;\r\n}\r\n\r\n/* WordPress admin overrides */\r\nbody.wp-admin #wpcontent {\r\n  padding-left: 0 !important;\r\n}\r\n\r\n#wpbody-content {\r\n  padding-bottom: 0;\r\n}\r\n\r\n.wrap {\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n\r\n/* Plugin root container */\r\n#wp-ai-workflows-root {\r\n  margin: 0;\r\n  height: calc(100vh - var(--wp-admin-bar-height));\r\n  overflow-y: auto;\r\n}\r\n\r\n/* Ant Design layout adjustments */\r\n.ant-layout {\r\n  min-height: calc(100vh - var(--wp-admin-bar-height)) !important;\r\n}\r\n\r\n/* Header styles */\r\n.ant-layout-header {\r\n  /* Remove position: sticky; */\r\n  display: flex;\r\n  align-items: center;\r\n  padding: 0 16px !important;\r\n  /* Remove top gap */\r\n  margin-top: 0px;\r\n}\r\n\r\n.ant-layout-header .ant-image {\r\n  height: 32px;\r\n  margin-right: 24px;\r\n}\r\n\r\n.ant-layout-header .ant-menu {\r\n  flex: 1;\r\n}\r\n\r\n/* Content area adjustments */\r\n.ant-layout-content {\r\n  padding-top: 16px;\r\n}\r\n\r\n.react-flow__handle {\r\n  width: 12px;\r\n  height: 12px;\r\n  background-color: #1890ff;\r\n  border: 2px solid white;\r\n  border-radius: 50%;\r\n}\r\n\r\n.react-flow__handle-left {\r\n  left: -4px;\r\n}\r\n\r\n.react-flow__handle-right {\r\n  right: -4px;\r\n}\r\n\r\n.react-flow__viewport {\r\n  z-index: 0;\r\n}\r\n\r\n.react-flow__node {\r\n  z-index: 1;\r\n}\r\n\r\n.react-flow__edge {\r\n  z-index: 2;\r\n}\r\n\r\n.react-flow__handle {\r\n  z-index: 3;\r\n}\r\n\r\n.react-flow-annotation {\r\n  z-index: -1 !important;\r\n}\r\n\r\n.react-flow__controls {\r\n  z-index: 999 !important; \r\n}\r\n\r\n.react-flow__controls-button {\r\n  pointer-events: all !important; /* Ensure clicks register */\r\n}\r\n\r\n.react-flow__minimap {\r\n  z-index: 2;\r\n}\r\n\r\n.react-flow__node.selected {\r\n  z-index: 2;\r\n}\r\n\r\n.ant-card {\r\n  z-index: 4;\r\n}\r\n\r\n.ant-modal {\r\n  z-index: 1000;\r\n}\r\n\r\n/* Card styles for nodes */\r\n.custom-node .ant-card {\r\n  background-color: #fff;\r\n  border-radius: 5px;\r\n  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);\r\n}\r\n\r\n.custom-node .ant-card-head {\r\n  border-bottom: none;\r\n}\r\n\r\n.custom-node .ant-card-body {\r\n  padding: 12px;\r\n}\r\n\r\n/* Responsive adjustments */\r\n@media screen and (max-width: 782px) {\r\n  :root {\r\n    --wp-admin-bar-height: 46px;\r\n  }\r\n  \r\n  .ant-layout-header {\r\n    margin-top: -46px;\r\n  }\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n  :root {\r\n    --wp-admin-bar-height: 0;\r\n  }\r\n  \r\n  .ant-layout-header {\r\n    margin-top: 0;\r\n  }\r\n}\r\n\r\n.field-collapse .ant-collapse-content {\r\n  max-height: 500px;\r\n  overflow-y: auto;\r\n}\r\n\r\n.ant-input.ant-input-textarea-show-count {\r\n  resize: vertical;\r\n  min-height: 32px;\r\n}\r\n\r\n.quill {\r\n  background: white;\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.quill .ql-container {\r\n  min-height: 100px;\r\n}\r\n\r\n/* Add to your CSS file */\r\n.workflow-generation-overlay {\r\n  position: fixed;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  background-color: rgba(0, 0, 0, 0.75);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  z-index: 2000;\r\n  backdrop-filter: blur(4px);\r\n}\r\n\r\n.workflow-generation-content {\r\n  background-color: rgba(255, 255, 255, 0.95);\r\n  padding: 40px;\r\n  border-radius: 16px;\r\n  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n  max-width: 500px;\r\n  width: 90%;\r\n  text-align: center;\r\n}\r\n\r\n.ant-modal-mask {\r\n  background-color: rgba(0, 0, 0, 0.65) !important;\r\n}\r\n\r\n.ant-modal-wrap {\r\n  z-index: 1050;\r\n}\r\n\r\n.workflow-generation-loader {\r\n  z-index: 2000;\r\n}\r\n\r\n.workflow-prompt-input {\r\n  border-radius: 8px;\r\n  border: 1px solid #d9d9d9;\r\n  transition: all 0.3s;\r\n}\r\n\r\n.workflow-prompt-input:hover {\r\n  border-color: #40a9ff;\r\n}\r\n\r\n.workflow-prompt-input:focus {\r\n  border-color: #40a9ff;\r\n  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\r\n  outline: none;\r\n}\r\n\r\n.ant-modal-content {\r\n  border-radius: 12px;\r\n  overflow: hidden;\r\n}\r\n\r\n.ant-modal-header {\r\n  border-radius: 12px 12px 0 0;\r\n}\r\n\r\n.generate-ai-button {\r\n  background: linear-gradient(45deg, #FF6B6B, #4ECDC4);\r\n  border: none;\r\n  color: white;\r\n  transition: all 0.3s;\r\n}\r\n\r\n.generate-ai-button:hover {\r\n  opacity: 0.9;\r\n  transform: translateY(-1px);\r\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n/* Chat Node specific styles */\r\n.chat-node.ai-workflows-node {\r\n  /* Base node styling */\r\n  .ant-card {\r\n      transition: box-shadow 0.3s ease;\r\n  }\r\n\r\n  .ant-card:hover {\r\n      box-shadow: 0 2px 8px rgba(0,0,0,0.15);\r\n  }\r\n\r\n  /* Design preview container */\r\n  .chat-preview-container {\r\n      background: #f5f5f5;\r\n      border-radius: 8px;\r\n      padding: 12px;\r\n      margin: 8px 0;\r\n      border: 1px solid #d9d9d9;\r\n      min-height: 200px;\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n  }\r\n\r\n  /* Color picker customization */\r\n  .ant-color-picker {\r\n      width: 100%;\r\n  }\r\n\r\n  /* Model selection dropdown customization */\r\n  .model-select-option {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n\r\n      .model-icon {\r\n          font-size: 16px;\r\n      }\r\n\r\n      .model-info {\r\n          flex: 1;\r\n      }\r\n  }\r\n\r\n  /* Settings tabs customization */\r\n  .ant-tabs-nav {\r\n      margin-bottom: 12px;\r\n  }\r\n\r\n  /* Collapse panel customization */\r\n  .ant-collapse-ghost {\r\n      background: transparent;\r\n  }\r\n\r\n  /* ReactQuill editor customization */\r\n  .quill {\r\n      background: white;\r\n      border: 1px solid #d9d9d9;\r\n      border-radius: 4px;\r\n      margin-bottom: 8px;\r\n\r\n      .ql-toolbar {\r\n          border-bottom: 1px solid #d9d9d9;\r\n          border-radius: 4px 4px 0 0;\r\n      }\r\n\r\n      .ql-container {\r\n          border-radius: 0 0 4px 4px;\r\n      }\r\n  }\r\n\r\n  /* Embedding instructions styling */\r\n  .embedding-code {\r\n      background: #f5f5f5;\r\n      padding: 8px;\r\n      border-radius: 4px;\r\n      font-family: monospace;\r\n      margin: 8px 0;\r\n  }\r\n\r\n  /* Node input handler customization */\r\n  .node-input-handler {\r\n      margin: 8px 0;\r\n  }\r\n\r\n  /* Parameter settings styling */\r\n  .parameter-setting {\r\n      margin-bottom: 12px;\r\n      \r\n      .parameter-label {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: space-between;\r\n          margin-bottom: 4px;\r\n      }\r\n\r\n      .parameter-input {\r\n          width: 100%;\r\n      }\r\n\r\n      .parameter-info {\r\n          color: #8c8c8c;\r\n          font-size: 12px;\r\n          margin-top: 2px;\r\n      }\r\n  }\r\n\r\n  /* Memory settings styling */\r\n  .memory-settings {\r\n      padding: 8px;\r\n      background: #fafafa;\r\n      border-radius: 4px;\r\n      margin-bottom: 12px;\r\n  }\r\n\r\n  /* Design settings preview */\r\n  .design-preview {\r\n      border: 1px solid #d9d9d9;\r\n      border-radius: 8px;\r\n      overflow: hidden;\r\n      margin: 12px 0;\r\n      \r\n      &.dark {\r\n          background: #141414;\r\n          color: white;\r\n      }\r\n\r\n      .preview-header {\r\n          padding: 8px;\r\n          background: var(--primary-color, #1677ff);\r\n          color: white;\r\n      }\r\n\r\n      .preview-content {\r\n          padding: 8px;\r\n          min-height: 100px;\r\n      }\r\n\r\n      .preview-input {\r\n          padding: 8px;\r\n          border-top: 1px solid #d9d9d9;\r\n      }\r\n  }\r\n}\r\n\r\n/* Contextual help tooltips */\r\n.chat-node-tooltip {\r\n  max-width: 300px;\r\n  font-size: 12px;\r\n}\r\n\r\n/* Modal customization for chat node */\r\n.chat-node-modal {\r\n  .ant-modal-body {\r\n      max-height: 70vh;\r\n      overflow-y: auto;\r\n  }\r\n\r\n  .ant-form-item-label {\r\n      font-weight: 500;\r\n  }\r\n}\r\n\r\n.trigger-node {\r\n  .ant-card-head {\r\n    min-height: 48px;\r\n    padding: 0 16px;\r\n    \r\n    .ant-card-head-title {\r\n      padding: 12px 0;\r\n    }\r\n  }\r\n\r\n  .ant-select-selector {\r\n    padding: 4px 12px !important;\r\n  }\r\n\r\n  .ant-form-item {\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  .ant-input-group-compact {\r\n    display: flex;\r\n    gap: 4px;\r\n  }\r\n\r\n  .ant-table {\r\n    margin: 8px 0;\r\n  }\r\n\r\n  .ant-table.ant-table-small {\r\n    font-size: 12px;\r\n    \r\n    .ant-table-thead > tr > th {\r\n      padding: 8px;\r\n    }\r\n    \r\n    .ant-table-tbody > tr > td {\r\n      padding: 6px 8px;\r\n    }\r\n  }\r\n\r\n  .ant-tag {\r\n    margin-right: 0;\r\n  }\r\n}\r\n\r\n.edge-delete-button {\r\n  opacity: 0;\r\n  transition: opacity 0.2s;\r\n  pointer-events: all;\r\n}\r\n\r\n.react-flow__edge:hover .edge-delete-button,\r\n.edge-delete-button.selected {\r\n  opacity: 1;\r\n}\r\n\r\n.edge-delete-button:hover {\r\n  opacity: 1;\r\n}\r\n\r\n.react-flow__edge {\r\n  cursor: pointer;\r\n}\r\n\r\n.react-flow__edge.selected {\r\n  z-index: 1000;\r\n}\r\n\r\n.edge-delete-button {\r\n  z-index: 1001;\r\n}\r\n\r\n.react-flow__edge-path {\r\n  transition: stroke 0.2s, stroke-width 0.2s;\r\n}\r\n\r\n.workflow-button.has-changes {\r\n  animation: pulse-border 2s infinite;\r\n}\r\n\r\n@keyframes pulse-border {\r\n  0% {\r\n    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4);\r\n  }\r\n  70% {\r\n    box-shadow: 0 0 0 6px rgba(255, 77, 79, 0);\r\n  }\r\n  100% {\r\n    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0);\r\n  }\r\n}\r\n\r\n/* Add this to make the pulsing less intense in dark mode */\r\n.workflow-button.has-changes.dark {\r\n  animation: pulse-border-dark 2s infinite;\r\n}\r\n\r\n@keyframes pulse-border-dark {\r\n  0% {\r\n    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.3);\r\n  }\r\n  70% {\r\n    box-shadow: 0 0 0 4px rgba(255, 77, 79, 0);\r\n  }\r\n  100% {\r\n    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0);\r\n  }\r\n}\r\n\r\n.assistant-added-node {\r\n  animation: highlight-pulse 2s ease-in-out;\r\n}\r\n\r\n@keyframes highlight-pulse {\r\n  0%, 100% {\r\n    box-shadow: 0 0 0 rgba(24, 144, 255, 0);\r\n  }\r\n  50% {\r\n    box-shadow: 0 0 15px rgba(24, 144, 255, 0.8);\r\n  }\r\n}\r\n\r\n/* Additional specific styles can be added here */","\n\n.wp-ai-workflows-chat-container {\n    --chat-primary: #1677ff;\n    --chat-bg: #ffffff;\n    --chat-text: #000000;\n    --chat-secondary: #f5f5f5;\n    --chat-radius: 12px;\n    --chat-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n}\n\n.wp-ai-workflows-chat-container.dark {\n    --chat-primary: #177ddc;\n    --chat-bg: #1f1f1f;\n    --chat-text: #ffffff;\n    --chat-secondary: #2f2f2f;\n}\n\n.wp-ai-workflows-chat-widget {\n    position: fixed;\n    z-index: 9999;\n    max-width: 400px;\n    width: 100%;\n    background: var(--chat-bg);\n    border-radius: var(--chat-radius);\n    box-shadow: var(--chat-shadow);\n    display: flex;\n    flex-direction: column;\n    transition: all 0.3s ease;\n    --chat-border-radius: 12px;\n    border-radius: var(--chat-border-radius);\n}\n\n/* Position variants */\n.wp-ai-workflows-chat-widget.bottom-right {\n    bottom: 20px;\n    right: 20px;\n}\n\n.wp-ai-workflows-chat-widget.bottom-left {\n    bottom: 20px;\n    left: 20px;\n}\n\n.wp-ai-workflows-chat-widget.top-right {\n    top: 20px;\n    right: 20px;\n}\n\n.wp-ai-workflows-chat-widget.top-left {\n    top: 20px;\n    left: 20px;\n}\n\n.chat-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 12px 16px;\n    background: var(--chat-primary);\n    color: #ffffff;\n    border-top-left-radius: var(--chat-border-radius);\n    border-top-right-radius: var(--chat-border-radius);\n}\n\n.wp-ai-workflows-chat-widget:not(.inline) .chat-header {\n    cursor: pointer;\n}\n\n\n.header-content {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n}\n  \n.bot-name {\n    font-weight: 500;\n}\n\n.header-actions {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n}\n\n.chat-messages {\n    flex: 1;\n    overflow-y: auto;\n    padding: 16px;\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n    max-height: var(--chat-messages-height, calc(100% - 120px));\n    height: var(--chat-messages-height, calc(100% - 120px));\n}\n\n.chat-message {\n    display: flex;\n    margin-bottom: 8px;\n}\n\n.chat-message .message-content {\n    border-radius: calc(var(--chat-border-radius) / 2);\n}\n\n.chat-message.user {\n    justify-content: flex-end;\n}\n\n.message-content {\n    padding: 8px 12px;\n    border-radius: 12px;\n    max-width: 80%;\n    word-wrap: break-word;\n}\n\n.chat-message.user .message-content {\n    background: var(--chat-primary);\n    color: #ffffff;\n}\n\n.chat-message.assistant .message-content {\n    background: var(--chat-secondary);\n    color: var(--chat-text);\n}\n\n.chat-input {\n    padding: 16px;\n    border-top: 1px solid var(--chat-secondary);\n    display: flex;\n    gap: 8px;\n}\n\n.chat-input input {\n    flex: 1;\n    padding: 8px 12px;\n    border: 1px solid var(--chat-secondary);\n    border-radius: 6px;\n    outline: none;\n    background: var(--chat-bg);\n    color: var(--chat-text);\n}\n\n.chat-input button {\n    padding: 8px 16px;\n    background: var(--chat-primary);\n    color: #ffffff;\n    border: none;\n    border-radius: 6px;\n    cursor: pointer;\n    transition: opacity 0.2s;\n}\n\n.chat-input button:hover {\n    opacity: 0.9;\n}\n\n/* Launcher button */\n.chat-launcher {\n    position: fixed;\n    z-index: 9998;\n    width: 56px;\n    height: 56px;\n    border-radius: 28px;\n    background: var(--chat-primary);\n    color: #ffffff;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: var(--chat-shadow);\n    transition: transform 0.3s ease;\n    border: none !important; /* Force no border regardless of theme */\n    outline: none !important; \n}\n\n.chat-launcher:hover {\n    transform: scale(1.05);\n}\n\n.chat-launcher.bottom-right {\n    bottom: 20px;\n    right: 20px;\n}\n\n.chat-launcher.bottom-left {\n    bottom: 20px;\n    left: 20px;\n}\n\n.chat-launcher.top-right {\n    top: 20px;\n    right: 20px;\n}\n\n.chat-launcher.top-left {\n    top: 20px;\n    left: 20px;\n}\n\n/* Mobile responsiveness */\n@media (max-width: 480px) {\n    .wp-ai-workflows-chat-widget:not(.inline) {\n        width: calc(100% - 32px); /* Full width minus margins */\n        max-width: none;\n        margin: 16px;\n        height: auto;\n        min-height: 400px;\n        max-height: calc(100vh - 32px); /* Full height minus margins */\n    }\n\n    /* Maintain position classes */\n    .wp-ai-workflows-chat-widget.bottom-right {\n        bottom: 0;\n        right: 0;\n    }\n\n    .wp-ai-workflows-chat-widget.bottom-left {\n        bottom: 0;\n        left: 0;\n    }\n\n    .wp-ai-workflows-chat-widget.top-right {\n        top: 0;\n        right: 0;\n    }\n\n    .wp-ai-workflows-chat-widget.top-left {\n        top: 0;\n        left: 0;\n    }\n\n    .chat-header {\n        border-top-left-radius: var(--chat-border-radius);\n        border-top-right-radius: var(--chat-border-radius);\n    }\n}\n\n@media (max-width: 360px) {\n    .wp-ai-workflows-chat-widget:not(.inline) {\n        width: 100%;\n        height: 100%;\n        margin: 0;\n        max-height: 100vh;\n        border-radius: 0;\n    }\n\n    .wp-ai-workflows-chat-widget:not(.inline) .chat-header {\n        border-radius: 0;\n    }\n}\n\n/* Animations */\n.chat-widget-enter {\n    opacity: 0;\n    transform: translateY(20px);\n}\n\n.chat-widget-enter-active {\n    opacity: 1;\n    transform: translateY(0);\n    transition: opacity 0.3s ease, transform 0.3s ease;\n}\n\n.chat-widget-exit {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n.chat-widget-exit-active {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.3s ease, transform 0.3s ease;\n}\n\n/* Typing indicator */\n.typing-indicator {\n    display: flex;\n    gap: 4px;\n    padding: 8px 12px;\n    background: var(--chat-secondary);\n    border-radius: 12px;\n    width: fit-content;\n}\n\n.typing-dot {\n    width: 6px;\n    height: 6px;\n    background: var(--chat-text);\n    border-radius: 50%;\n    opacity: 0.6;\n    animation: typingAnimation 1.4s infinite;\n}\n\n.typing-dot:nth-child(2) {\n    animation-delay: 0.2s;\n}\n\n.typing-dot:nth-child(3) {\n    animation-delay: 0.4s;\n}\n\n@keyframes typingAnimation {\n    0%, 100% {\n        transform: translateY(0);\n    }\n    50% {\n        transform: translateY(-4px);\n    }\n}\n\n/* Sound toggle button */\n.sound-toggle,\n.close-button {\n  background: transparent;\n  border: none;\n  color: rgba(255, 255, 255, 0.8);\n  cursor: pointer;\n  padding: 4px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: color 0.2s ease;\n}\n\n.sound-toggle:hover,\n.close-button:hover {\n  color: #ffffff;\n}\n\n/* Error message styles */\n.error-message {\n    padding: 8px 12px;\n    background: #fff2f0;\n    border: 1px solid #ffccc7;\n    border-radius: 6px;\n    color: #ff4d4f;\n    margin: 8px 0;\n}\n\n/* Custom scrollbar */\n.chat-messages::-webkit-scrollbar {\n    width: 6px;\n}\n\n.chat-messages::-webkit-scrollbar-track {\n    background: transparent;\n}\n\n.chat-messages::-webkit-scrollbar-thumb {\n    background: rgba(0, 0, 0, 0.2);\n    border-radius: 3px;\n}\n\n.dark .chat-messages::-webkit-scrollbar-thumb {\n    background: rgba(255, 255, 255, 0.2);\n}\n\n/* Code block styling */\n.message-content pre {\n    background: rgba(0, 0, 0, 0.05);\n    padding: 8px;\n    border-radius: 4px;\n    overflow-x: auto;\n}\n\n.dark .message-content pre {\n    background: rgba(255, 255, 255, 0.1);\n}\n\n/* Markdown styling */\n.message-content p {\n    margin: 0 0 8px 0;\n}\n\n.message-content p:last-child {\n    margin-bottom: 0;\n}\n\n.message-content ul, \n.message-content ol {\n    margin: 8px 0;\n    padding-left: 20px;\n}\n\n.message-content code {\n    background: rgba(0, 0, 0, 0.05);\n    padding: 2px 4px;\n    border-radius: 4px;\n    font-family: monospace;\n}\n\n.dark .message-content code {\n    background: rgba(255, 255, 255, 0.1);\n}\n\n/* Dark theme specific adjustments */\n.wp-ai-workflows-chat-widget.dark {\n    --chat-bg: #1f1f1f;\n    --chat-text: #ffffff;\n    --chat-secondary: #2f2f2f;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);\n}\n  \n/* Add smooth transitions for theme changes */\n.wp-ai-workflows-chat-widget {\n    transition: background-color 0.3s ease, width 0.3s ease, height 0.3s ease;\n}\n  \n.wp-ai-workflows-chat-widget * {\n    transition: background-color 0.3s ease, color 0.3s ease;\n}\n\n/* File upload area */\n.file-upload-area {\n    border: 2px dashed var(--chat-secondary);\n    border-radius: 8px;\n    padding: 16px;\n    text-align: center;\n    margin: 8px 0;\n    cursor: pointer;\n    transition: border-color 0.2s;\n}\n\n.file-upload-area:hover {\n    border-color: var(--chat-primary);\n}\n\n.file-upload-area.dragging {\n    background: rgba(var(--chat-primary-rgb), 0.1);\n    border-color: var(--chat-primary);\n}\n\n/* Accessibility */\n.sr-only {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    border: 0;\n}\n\n/* Focus styles */\n.chat-input input:focus,\n.chat-input button:focus,\n.sound-toggle:focus {\n    outline: 2px solid var(--chat-primary);\n    outline-offset: 2px;\n}\n\n/* CSS for minimized state */\n.wp-ai-workflows-chat-widget.minimized {\n    height: auto;\n    min-height: unset;\n}\n\n.wp-ai-workflows-chat-widget.minimized .chat-messages,\n.wp-ai-workflows-chat-widget.minimized .chat-input {\n    display: none;\n}\n\n.wp-ai-workflows-chat-widget .powered-by {\n    text-align: center;\n    padding: 6px;\n    font-size: 9px;\n    opacity: 0.7;\n    color: var(--chat-text, inherit);\n    border-top: 1px solid var(--chat-secondary, #f0f0f0);\n    transition: opacity 0.2s ease;\n}\n\n.wp-ai-workflows-chat-widget .powered-by a {\n    color: inherit;\n    text-decoration: none;\n    display: inline-flex;\n    align-items: center;\n    gap: 4px;\n}\n\n.wp-ai-workflows-chat-widget .powered-by a:hover {\n    opacity: 1;\n    text-decoration: underline;\n}\n\n/* Dark theme specific styles */\n.wp-ai-workflows-chat-widget.dark .powered-by {\n    opacity: 0.5;\n}\n\n.wp-ai-workflows-chat-widget.dark .powered-by a {\n    color: rgba(255, 255, 255, 0.8);\n}\n\n/* Remove any background/border-radius from all themes */\n.wp-ai-workflows-chat-widget.dark .powered-by,\n.wp-ai-workflows-chat-widget.custom .powered-by {\n    background: none;\n    border-radius: 0;\n}\n\n\n\n/* Base styles for inline widget */\n.wp-ai-workflows-chat-widget.inline {\n    position: relative;\n    width: 100%;\n    max-width: 100%;\n    height: auto !important; /* Override fixed height */\n    min-height: 400px;\n    margin: 20px 0;\n    border: none;\n    border-radius: var(--chat-border-radius, 12px);\n    background-color: var(--chat-bg, #ffffff);\n    box-shadow: none !important; /* Remove floating widget shadow */\n    font-family: var(--chat-font-family);\n    font-size: var(--chat-font-size);\n    display: flex;\n    flex-direction: column;\n    overflow: hidden;\n}\n\n/* Header styling for inline widget */\n.wp-ai-workflows-chat-widget.inline .chat-header {\n    position: relative;\n    border-top-left-radius: var(--chat-border-radius, 12px);\n    border-top-right-radius: var(--chat-border-radius, 12px);\n    background-color: var(--chat-primary, #1677ff);\n    padding: 12px 16px;\n    z-index: 2;\n    flex: 0 0 auto;\n}\n\n/* Messages container for inline widget */\n.wp-ai-workflows-chat-widget.inline .chat-messages {\n    height: var(--chat-messages-height, 400px);\n    max-height: var(--chat-messages-height, 400px);\n    min-height: 200px;\n    overflow-y: auto;\n    background-color: var(--chat-bg, #ffffff);\n    padding: 16px;\n    flex: 1 1 auto;\n    overflow-y: auto;\n}\n\n/* Input area for inline widget */\n.wp-ai-workflows-chat-widget.inline .chat-input {\n    position: relative;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    background-color: var(--chat-bg, #ffffff);\n    border-bottom-left-radius: var(--chat-border-radius, 12px);\n    border-bottom-right-radius: var(--chat-border-radius, 12px);\n    border-top: 1px solid var(--chat-secondary, #f0f0f0);\n    padding: 16px;\n    flex: 0 0 auto;\n}\n\n.wp-ai-workflows-chat-widget.inline::before,\n.wp-ai-workflows-chat-widget.inline::after {\n  display: none !important;\n}\n\n/* Theme-specific styles */\n.wp-ai-workflows-chat-widget.inline.dark {\n    background-color: #1f1f1f;\n    border-color: none;\n    flex: 0 0 auto;\n}\n\n.wp-ai-workflows-chat-widget.inline.dark .chat-messages,\n.wp-ai-workflows-chat-widget.inline.dark .chat-input {\n    background-color: #1f1f1f;\n}\n\n/* Custom theme support */\n.wp-ai-workflows-chat-widget.inline.custom {\n    background-color: var(--chat-bg);\n    border-color: var(--chat-secondary);\n}\n\n.wp-ai-workflows-chat-widget.inline.custom .chat-messages,\n.wp-ai-workflows-chat-widget.inline.custom .chat-input {\n    background-color: var(--chat-bg);\n}\n\n.wp-ai-workflows-chat-widget.inline .powered-by {\n    background: var(--chat-bg, #ffffff);\n    border-top: 1px solid var(--chat-secondary, #f0f0f0);\n    margin: 0;\n    padding: 6px;\n    font-size: 9px;\n    opacity: 0.7;\n    border-bottom-left-radius: var(--chat-border-radius);\n    border-bottom-right-radius: var(--chat-border-radius);\n}  \n\n/* Dark theme adjustments */\n.wp-ai-workflows-chat-widget.inline.dark .powered-by {\n    border-top-color: rgba(255, 255, 255, 0.1);\n}\n\n/* Custom theme adjustments */\n.wp-ai-workflows-chat-widget.inline.custom .powered-by {\n    border-top-color: var(--chat-secondary);\n}\n\n/* Fix link color inheritance */\n.wp-ai-workflows-chat-widget.inline .powered-by a {\n    color: inherit;\n    opacity: 0.7;\n}\n\n/* Remove any conflicting styles */\n.wp-ai-workflows-chat-widget.inline .powered-by,\n.wp-ai-workflows-chat-widget.inline.dark .powered-by,\n.wp-ai-workflows-chat-widget.inline.custom .powered-by {\n    background: none !important;\n    color: inherit !important;\n}\n\n\n/* Responsive styles */\n@media screen and (max-width: 768px) {\n    .wp-ai-workflows-chat-widget.inline {\n        margin: 10px 0;\n        min-height: 400px;\n    }\n\n    .wp-ai-workflows-chat-widget.inline .chat-messages {\n        height: 300px;\n        max-height: calc(100vh - 200px);\n    }\n\n    .wp-ai-workflows-chat-widget.inline .chat-header {\n        padding: 8px 12px;\n    }\n\n    .wp-ai-workflows-chat-widget.inline .chat-input {\n        padding: 12px;\n    }\n}\n\n@media screen and (max-width: 480px) {\n    .wp-ai-workflows-chat-widget.inline {\n        margin: 5px 0;\n        min-height: 350px;\n    }\n\n    .wp-ai-workflows-chat-widget.inline .chat-messages {\n        height: 250px;\n        padding: 12px;\n    }\n\n    .wp-ai-workflows-chat-widget.inline .bot-name {\n        font-size: 14px;\n    }\n\n    .wp-ai-workflows-chat-widget.inline .message-content {\n        max-width: 90%;\n        padding: 6px 10px;\n    }\n}\n\n/* Font size inheritance */\n.wp-ai-workflows-chat-widget.inline * {\n    font-size: inherit;\n}\n\n.wp-ai-workflows-chat-widget.inline .chat-header {\n    font-size: var(--chat-header-font-size);\n}\n\n@media (min-width: 768px) {\n    .wp-ai-workflows-chat-widget:not(.inline) {\n        max-width: 90vw;\n    }\n}\n\n.markdown-content {\n    /* General styles */\n    line-height: 1.5;\n    overflow-wrap: break-word;\n}\n\n.markdown-content code {\n    background-color: rgba(0, 0, 0, 0.05);\n    padding: 2px 4px;\n    border-radius: 3px;\n    font-family: monospace;\n    font-size: 0.9em;\n}\n\n.markdown-content pre {\n    background-color: rgba(0, 0, 0, 0.05);\n    padding: 1em;\n    border-radius: 4px;\n    overflow-x: auto;\n    margin: 0.5em 0;\n}\n\n.markdown-content pre code {\n    background-color: transparent;\n    padding: 0;\n    border-radius: 0;\n}\n\n.markdown-content strong {\n    font-weight: 600;\n}\n\n.markdown-content em {\n    font-style: italic;\n}\n\n.markdown-content ul, \n.markdown-content ol {\n    margin: 0.5em 0;\n    padding-left: 1.5em;\n}\n\n.markdown-content li {\n    margin: 0.25em 0;\n}\n\n.markdown-content h1,\n.markdown-content h2,\n.markdown-content h3 {\n    margin: 0.5em 0;\n    font-weight: 600;\n    line-height: 1.3;\n}\n\n.markdown-content h1 { font-size: 1.5em; }\n.markdown-content h2 { font-size: 1.3em; }\n.markdown-content h3 { font-size: 1.1em; }\n\n.markdown-content a {\n    color: #1677ff;\n    text-decoration: none;\n}\n\n.markdown-content a:hover {\n    text-decoration: underline;\n}\n\n/* Adjust spacing */\n.markdown-content > *:first-child { margin-top: 0; }\n.markdown-content > *:last-child { margin-bottom: 0; }\n\n.quick-responses-container {\n    position: relative;\n    padding: 12px 16px;\n    max-height: 70px;\n    overflow: hidden;\n    transition: max-height 0.3s ease, padding 0.3s ease;\n    background-color: var(--chat-bg, #ffffff); /* Explicitly set background color */\n  }\n  \n  /* Only show border when there are buttons */\n  .quick-responses-container:empty {\n    padding: 0;\n    max-height: 0;\n    border-top-width: 0;\n  }\n  \n  /* Horizontal scrolling container for buttons */\n  .quick-response-buttons {\n    display: flex;\n    flex-wrap: nowrap;\n    gap: 8px;\n    overflow-x: auto;\n    padding: 4px 0;\n    scrollbar-width: none; /* Firefox */\n    -ms-overflow-style: none; /* IE and Edge */\n    scroll-behavior: smooth;\n    position: relative; /* Ensure positioned relative to container */\n    z-index: 1; /* Lower z-index than scroll buttons */\n  }\n  \n  /* Hide scrollbar for Chrome, Safari and Opera */\n  .quick-response-buttons::-webkit-scrollbar {\n    display: none;\n  }\n  \n  /* Button styling */\n  .quick-response-button {\n    background-color: var(--chat-secondary, #f5f5f5);\n    border: 1px solid rgba(0, 0, 0, 0.1);\n    border-radius: 18px;\n    padding: 8px 16px;\n    font-size: 14px;\n    cursor: pointer;\n    transition: background-color 0.2s, transform 0.1s;\n    color: var(--chat-text, #000000);\n    white-space: nowrap;\n    flex-shrink: 0;\n  }\n  \n  .quick-response-button:hover {\n    background-color: var(--chat-primary, #1677ff);\n    color: #ffffff;\n    transform: translateY(-1px);\n  }\n  \n  /* Dark theme adjustments */\n  .wp-ai-workflows-chat-widget.dark .quick-response-button {\n    background-color: #2f2f2f;\n    border-color: rgba(255, 255, 255, 0.1);\n    color: #ffffff;\n  }\n  \n  .wp-ai-workflows-chat-widget.dark .quick-response-button:hover {\n    background-color: var(--chat-primary, #177ddc);\n  }\n  \n  /* Custom theme support */\n  .wp-ai-workflows-chat-widget.custom .quick-response-button {\n    background-color: var(--chat-secondary);\n    color: var(--chat-text);\n    border-color: rgba(0, 0, 0, 0.1);\n  }\n  \n  .wp-ai-workflows-chat-widget.custom .quick-response-button:hover {\n    background-color: var(--chat-primary);\n    color: #ffffff;\n  }\n  \n  /* Fade indicators for overflow */\n  .quick-responses-container.has-overflow::before,\n  .quick-responses-container.has-overflow::after {\n    content: \"\";\n    position: absolute;\n    top: 12px;\n    bottom: 12px;\n    width: 50px; /* Increased width for better visibility */\n    pointer-events: none;\n    z-index: 5; /* Higher z-index to ensure visibility */\n  }\n  \n  .quick-responses-container.has-overflow::before {\n    left: 16px;\n    background: linear-gradient(to right, var(--chat-bg, #ffffff) 0%, transparent 100%);\n    opacity: 1; /* Always show for testing */\n    transition: opacity 0.2s;\n  }\n  \n  .quick-responses-container.has-overflow::after {\n    right: 16px;\n    background: linear-gradient(to left, var(--chat-bg, #ffffff) 0%, transparent 100%);\n    opacity: 1; /* Always show for testing */\n  }\n  \n  .quick-responses-container.scroll-start::before {\n    opacity: 0;\n  }\n  \n  .quick-responses-container.scroll-end::after {\n    opacity: 0;\n  }\n  \n  /* Dark theme fade adjustments */\n  .wp-ai-workflows-chat-widget.dark .quick-responses-container::before {\n    background: linear-gradient(to right, #1f1f1f 0%, transparent 100%);\n  }\n  \n  .wp-ai-workflows-chat-widget.dark .quick-responses-container::after {\n    background: linear-gradient(to left, #1f1f1f 0%, transparent 100%);\n  }\n  \n  /* Custom theme fade adjustments */\n  .wp-ai-workflows-chat-widget.custom .quick-responses-container::before {\n    background: linear-gradient(to right, var(--chat-bg) 0%, transparent 100%) !important;\n  }\n  \n  .wp-ai-workflows-chat-widget.custom .quick-responses-container::after {\n    background: linear-gradient(to left, var(--chat-bg) 0%, transparent 100%) !important;\n  }\n  \n  /* Scroll buttons */\n  .quick-response-scroll-button {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 22px;\n    height: 22px;\n    border-radius: 50%;\n    background-color: rgba(255, 255, 255, 0.9);\n    color: var(--chat-primary, #1677ff);\n    border: 1px solid var(--chat-primary, #1677ff);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    z-index: 10;\n    opacity: 0.8;\n    transition: all 0.2s ease;\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n    font-size: 10px;\n  }\n  \n  .quick-response-scroll-button:hover {\n    opacity: 1;\n    transform: translateY(-50%) scale(1.1);\n    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);\n  }\n  \n  .quick-response-scroll-left {\n    left: 4px;\n  }\n  \n  .quick-response-scroll-right {\n    right: 4px;\n  }\n  \n  \n  .quick-response-scroll-button.hidden {\n    display: none;\n  }\n\n  /* Dark theme adjustments */\n.wp-ai-workflows-chat-widget.dark .quick-response-scroll-button {\n    background-color: rgba(50, 50, 50, 0.9);\n    color: var(--chat-primary, #177ddc);\n    border-color: var(--chat-primary, #177ddc);\n  }\n  \n  /* Custom theme adjustments */\n  .wp-ai-workflows-chat-widget.custom .quick-response-scroll-button {\n    background-color: rgba(255, 255, 255, 0.9);\n    color: var(--chat-primary);\n    border-color: var(--chat-primary);\n  }\n\n  .quick-response-scroll-button:focus {\n    outline: none;\n    box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.3);\n  }\n  \n  /* Mobile responsiveness */\n  @media (max-width: 480px) {\n    /* Adjust container padding on smaller screens */\n    .quick-responses-container {\n      padding: 8px 12px;\n    }\n    \n    /* Make buttons more touch-friendly */\n    .quick-response-button {\n      padding: 8px 14px;\n      font-size: 13px;\n      min-height: 36px;\n      /* Ensure minimum touch target size */\n      min-width: 60px;\n    }\n    \n    /* Adjust scroll buttons position and size */\n    .quick-response-scroll-button {\n        width: 24px;\n        height: 24px;\n        font-size: 12px;\n    }\n    \n    .quick-response-scroll-left {\n      left: 2px;\n    }\n    \n    .quick-response-scroll-right {\n      right: 2px;\n    }\n    \n    /* Increase fade gradient width */\n    .quick-responses-container.has-overflow::before,\n    .quick-responses-container.has-overflow::after {\n      width: 50px;\n      z-index: 5;\n    }\n  }\n  \n  /* Very small screens */\n  @media (max-width: 360px) {\n    .quick-responses-container {\n      padding: 6px 10px;\n    }\n    \n    .quick-response-buttons {\n      gap: 6px;\n    }\n    \n    .quick-response-button {\n      padding: 6px 12px;\n      font-size: 12px;\n    }\n    \n  }\n  \n  /* Address accessibility concerns for mobile touch */\n  @media (pointer: coarse) {\n    .quick-response-button {\n      min-height: 44px; /* Minimum recommended touch target size */\n    }\n    \n    .quick-response-scroll-button {\n      min-width: 34px;\n      min-height: 34px;\n    }\n  }\n  \n  /* Debug helper classes */\n  .debug-outline {\n    outline: 2px solid red !important;\n  }\n  \n  .debug-overflow::after {\n    content: attr(data-debug);\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    background: rgba(255, 0, 0, 0.7);\n    color: white;\n    font-size: 10px;\n    padding: 2px 4px;\n    z-index: 100;\n  }\n\n  .wp-ai-workflows-chat-widget.inline .quick-responses-area {\n    height: 70px; /* Fixed height for quick responses area */\n    min-height: 70px; /* Ensure minimum height */\n    flex: 0 0 70px; /* Don't grow or shrink */\n    position: relative;\n    background-color: var(--chat-bg, #ffffff); \n    overflow: hidden;\n    transition: opacity 0.3s ease;\n  }\n  \n  /* Style the container itself - needs to be a separate element from buttons */\n  .wp-ai-workflows-chat-widget.inline .quick-responses-container {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    transition: opacity 0.3s ease;\n  }\n  \n  /* When there are no buttons (container is empty), make it invisible but preserve space */\n  .wp-ai-workflows-chat-widget.inline .quick-responses-container:empty {\n    opacity: 0;\n    visibility: hidden;\n  }\n  \n  /* Input and footer areas should be fixed height */\n  .wp-ai-workflows-chat-widget.inline .chat-input {\n    flex: 0 0 auto;\n  }\n  \n  .wp-ai-workflows-chat-widget.inline .powered-by {\n    flex: 0 0 auto;\n  }\n  \n  /* Media queries for responsive behavior */\n  @media screen and (max-width: 768px) {\n    .wp-ai-workflows-chat-widget.inline .quick-responses-area {\n      height: 60px;\n      min-height: 60px;\n      flex: 0 0 60px;\n    }\n  }\n  \n  @media screen and (max-width: 480px) {\n    .wp-ai-workflows-chat-widget.inline .quick-responses-area {\n      height: 50px;\n      min-height: 50px;\n      flex: 0 0 50px;\n    }\n  }\n\n  \n  /* Simple blinking cursor for streaming messages */\n  .chat-message.assistant.streaming .message-content::after {\n    content: '|';\n    display: inline;\n    color: var(--chat-primary, #1677ff);\n    animation: simpleBlink 0.8s infinite;\n    margin-left: 2px;\n  }\n  \n  @keyframes simpleBlink {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0; }\n  }\n  \n  /* Ensure paragraphs in streaming messages don't break cursor display */\n  .chat-message.assistant.streaming .message-content p:last-child {\n    display: inline;\n    margin-bottom: 0;\n  }\n\n  .chat-message .chat-image {\n    max-width: 100%;\n    height: auto;\n    border-radius: 8px;\n    margin: 8px 0;\n    display: block;\n}\n","/**\n * WP AI Workflows - Workflow Viewer Styles\n */\n\n/* Container styles */\n.wp-ai-workflows-viewer-container {\n  position: relative;\n  min-height: 300px;\n  border: 1px solid #e0e0e0;\n  border-radius: 15px;\n  overflow: hidden;\n  margin: 0px 0;\n  background-color: #f9f9f9;\n}\n\n/* Loading indicator */\n.workflow-viewer-loading {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255, 255, 255, 0.9);\n  z-index: 10;\n}\n\n.loading-spinner {\n  width: 40px;\n  height: 40px;\n  border: 4px solid #f3f3f3;\n  border-top: 4px solid #1677ff;\n  border-radius: 50%;\n  animation: spin 1.5s linear infinite;\n  margin-bottom: 10px;\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n.loading-text {\n  font-size: 14px;\n  color: #666;\n}\n\n/* Error display */\n.workflow-viewer-error {\n  padding: 20px;\n  text-align: center;\n  color: #721c24;\n  background-color: #f8d7da;\n  border: 1px solid #f5c6cb;\n  border-radius: 4px;\n  margin: 10px 0;\n}\n\n/* Make sure ReactFlow fills the container */\n.wp-ai-workflows-viewer-container .react-flow {\n  width: 100%;\n  height: 100%;\n}\n\n/* Dark mode adjustments */\n.wp-ai-workflows-viewer-container.dark-mode {\n  border-color: #333;\n  background-color: #1f1f1f;\n}\n\n.wp-ai-workflows-viewer-container.dark-mode .workflow-viewer-loading {\n  background: rgba(31, 31, 31, 0.9);\n}\n\n.wp-ai-workflows-viewer-container.dark-mode .loading-text {\n  color: #ccc;\n}\n\n.wp-ai-workflows-viewer-container.dark-mode .loading-spinner {\n  border-color: #333;\n  border-top-color: #1677ff;\n}\n\n/* Download button styles */\n.workflow-download-button {\n  position: absolute !important;\n  top: 10px !important;\n  right: 10px !important;\n  z-index: 1000 !important; /* Ensure it's above other elements */\n  display: flex !important;\n  background: rgba(255, 255, 255, 0.8) !important;\n  padding: 8px !important;\n  border-radius: 4px !important;\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;\n  transition: all 0.2s ease !important;\n  pointer-events: auto !important;\n}\n\n.workflow-download-button:hover {\n  background: rgba(255, 255, 255, 0.95) !important;\n  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2) !important;\n}\n\n.dark-mode .workflow-download-button {\n  background: rgba(40, 40, 40, 0.8) !important;\n}\n\n.dark-mode .workflow-download-button:hover {\n  background: rgba(50, 50, 50, 0.95) !important;\n}\n\n.workflow-download-button button {\n  cursor: pointer !important;\n  pointer-events: auto !important;\n}\n\n/* Toolbar styles */\n.workflow-viewer-toolbar {\n  position: absolute !important;\n  top: 10px !important;\n  right: 10px !important;\n  z-index: 1000 !important;\n  display: flex !important;\n  gap: 8px !important;\n  background: rgba(255, 255, 255, 0.8) !important;\n  padding: 6px !important;\n  border-radius: 4px !important;\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;\n  pointer-events: auto !important;\n}\n\n/* If both toolbar and download button are present, position download below toolbar */\n.workflow-viewer-toolbar + .workflow-download-button {\n  top: 60px !important;\n}\n\n/* Make node buttons non-interactive in the viewer */\n.workflow-viewer-container .react-flow__node button {\n  pointer-events: none !important;\n  cursor: default !important;\n}\n\n/* Override ReactFlow styles */\n.wp-ai-workflows-viewer-container .react-flow__minimap {\n  bottom: 10px;\n  right: 10px;\n}\n\n.wp-ai-workflows-viewer-container .react-flow__controls {\n  bottom: 10px;\n  left: 10px;\n  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);\n}\n\n/* Ensure download button is visible on all backgrounds */\n.workflow-download-button button {\n  min-width: 100px !important;\n  padding: 5px 15px !important;\n  font-weight: 500 !important;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n  .wp-ai-workflows-viewer-container {\n    height: 400px !important; /* Force reasonable height on mobile */\n  }\n  \n  .workflow-download-button {\n    top: 10px !important;\n    right: 10px !important;\n  }\n}","/* frontend/src/styles/LockedNodeStyles.css */\n\n/* ==== NEW LOCKED NODE CONTAINER STYLES ==== */\n\n.locked-node-container {\n  position: relative;\n  margin: 4px;\n}\n\n/* Pro Feature Banner */\n.pro-feature-banner {\n  position: absolute;\n  top: -45px;\n  left: 0;\n  right: 0;\n  z-index: 15;\n  background: linear-gradient(135deg, #ff4d4f, #ff7875);\n  border-radius: 8px 8px 0 0;\n  box-shadow: 0 2px 8px rgba(255, 77, 79, 0.3);\n  animation: slideDown 0.3s ease-out;\n}\n\n.pro-banner-content {\n  display: flex;\n  align-items: center;\n  padding: 8px 12px;\n  gap: 8px;\n  color: white;\n}\n\n.pro-banner-icon {\n  font-size: 18px;\n  color: #fff;\n  flex-shrink: 0;\n}\n\n.pro-banner-text {\n  flex: 1;\n  min-width: 0;\n}\n\n.pro-banner-title {\n  display: block;\n  color: white !important;\n  font-size: 12px;\n  font-weight: 600;\n  line-height: 1.2;\n  margin-bottom: 2px;\n}\n\n.pro-banner-description {\n  display: block;\n  color: rgba(255, 255, 255, 0.9) !important;\n  font-size: 11px;\n  line-height: 1.3;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.pro-banner-button {\n  flex-shrink: 0;\n  height: 28px !important;\n  padding: 0 12px !important;\n  font-size: 11px !important;\n  font-weight: 600 !important;\n  background: rgba(255, 255, 255, 0.2) !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  border-radius: 4px !important;\n  color: white !important;\n  transition: all 0.2s ease !important;\n}\n\n.pro-banner-button:hover {\n  background: rgba(255, 255, 255, 0.3) !important;\n  border-color: rgba(255, 255, 255, 0.5) !important;\n  transform: translateY(-1px) !important;\n}\n\n/* Locked Node Content */\n.locked-node-content {\n  position: relative;\n  border: 2px solid #ff4d4f;\n  border-radius: 8px;\n  background: rgba(255, 77, 79, 0.02);\n  margin-top: 0;\n  overflow: hidden;\n}\n\n/* Remove handles from locked nodes */\n.locked-node-content .react-flow__handle {\n  display: none !important;\n}\n\n/* Only disable form inputs and workflow-related controls, not navigation/UI controls */\n.locked-node-content .ant-input,\n.locked-node-content .ant-select,\n.locked-node-content .ant-textarea,\n.locked-node-content .ant-input-number,\n.locked-node-content .ant-checkbox,\n.locked-node-content .ant-radio,\n.locked-node-content .ant-switch,\n.locked-node-content .ant-slider,\n.locked-node-content .ant-color-picker,\n.locked-node-content .ant-upload,\n.locked-node-content .ant-form-item-control {\n  pointer-events: none !important;\n  opacity: 0.6;\n}\n\n/* Keep these interactive elements working */\n.locked-node-content .ant-card-head,\n.locked-node-content .ant-card-head *,\n.locked-node-content .ant-tabs-nav,\n.locked-node-content .ant-tabs-nav *,\n.locked-node-content .ant-tabs-tab,\n.locked-node-content .ant-collapse-header,\n.locked-node-content .ant-collapse-header *,\n.locked-node-content .ant-btn[class*=\"delete\"],\n.locked-node-content .ant-btn[class*=\"close\"],\n.locked-node-content .anticon-delete,\n.locked-node-content .anticon-close,\n.locked-node-content .ant-popconfirm,\n.locked-node-content .ant-tooltip {\n  pointer-events: auto !important;\n  opacity: 1 !important;\n}\n\n/* Specifically ensure delete and close buttons work */\n.locked-node-content .ant-card-extra,\n.locked-node-content .ant-card-extra * {\n  pointer-events: auto !important;\n  opacity: 1 !important;\n}\n\n/* Add subtle overlay only to form areas, not the entire node */\n.locked-node-content .ant-card-body::after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: rgba(255, 77, 79, 0.02);\n  pointer-events: none;\n  z-index: 0;\n  border-radius: 0 0 6px 6px;\n}\n\n/* Ensure card body is positioned for the overlay */\n.locked-node-content .ant-card-body {\n  position: relative;\n}\n\n/* Make sure content stays above the overlay */\n.locked-node-content .ant-card-body > * {\n  position: relative;\n  z-index: 1;\n}\n\n/* Animation for the banner */\n@keyframes slideDown {\n  from {\n    opacity: 0;\n    transform: translateY(-10px);\n  }\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n/* ==== SIMPLE MENU ITEM STYLES ==== */\n\n/* No special styling needed - just let the (PRO) text show normally */\n.ant-menu-item {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n\n/* ==== LOCKED FEATURE STYLES (Unchanged) ==== */\n\n.locked-feature-block {\n  position: relative;\n  margin: 8px 0;\n  border-radius: 6px;\n  overflow: hidden;\n}\n\n.locked-feature-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: rgba(255, 255, 255, 0.9);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-direction: column;\n  z-index: 5;\n  border-radius: 4px;\n  border: 1px dashed #d9d9d9;\n  min-height: 60px;\n  gap: 4px;\n}\n\n.locked-feature-content {\n  opacity: 0.4;\n  pointer-events: none;\n}\n\n.locked-feature-text {\n  font-size: 12px;\n  text-align: center;\n  padding: 0 8px;\n  color: #666;\n  margin: 4px 0;\n}\n\n/* ==== INLINE LOCKED FEATURES (Unchanged) ==== */\n\n.locked-feature-inline {\n  color: #999;\n  cursor: not-allowed;\n  display: inline-flex;\n  align-items: center;\n}\n\n.inline-lock-icon {\n  font-size: 12px;\n  margin-right: 4px;\n  color: #1890ff;\n}\n\n.locked-text {\n  text-decoration: line-through;\n  opacity: 0.6;\n}\n\n/* ==== PRO ONLY CONFIG STYLES (Unchanged) ==== */\n\n.pro-only-config {\n  background: linear-gradient(135deg, #f0f8ff 0%, #e6f4ff 100%);\n  padding: 16px;\n  border-radius: 6px;\n  border: 1px dashed #1890ff;\n  text-align: center;\n  margin: 12px 0;\n}\n\n.pro-only-config .anticon {\n  font-size: 24px;\n  color: #1890ff;\n  margin-bottom: 8px;\n  display: block;\n}\n\n/* ==== RESPONSIVE STYLES ==== */\n\n@media (max-width: 768px) {\n  .pro-feature-banner {\n    top: -40px;\n  }\n  \n  .pro-banner-content {\n    padding: 6px 10px;\n    gap: 6px;\n  }\n  \n  .pro-banner-icon {\n    font-size: 16px;\n  }\n  \n  .pro-banner-title {\n    font-size: 11px;\n  }\n  \n  .pro-banner-description {\n    font-size: 10px;\n  }\n  \n  .pro-banner-button {\n    height: 24px !important;\n    padding: 0 8px !important;\n    font-size: 10px !important;\n  }\n}\n\n@media (max-width: 480px) {\n  .pro-feature-banner {\n    top: -35px;\n  }\n  \n  .pro-banner-content {\n    padding: 5px 8px;\n    gap: 4px;\n  }\n  \n  .pro-banner-description {\n    display: none; /* Hide description on very small screens */\n  }\n}\n\n/* ==== DARK MODE SUPPORT ==== */\n\n@media (prefers-color-scheme: dark) {\n  .locked-node-content {\n    background: rgba(255, 77, 79, 0.05);\n  }\n  \n  .locked-node-content::after {\n    background: rgba(255, 77, 79, 0.08);\n  }\n  \n  .pro-only-config {\n    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);\n    border-color: #4a90e2;\n  }\n}",".api-key-card .ant-space-item {\n  width: 100%;\n}\n\n.api-key-card .ant-btn-link {\n  padding-left: 0;\n  height: auto;\n  line-height: 1.5;\n}.api-key-card h5 {\n  font-weight: 600;\n  color: #262626;\n}/* src/styles/SetupWizard.css */\n.setup-wizard-modal .ant-modal-content {\n  border-radius: 16px;\n  overflow: hidden;\n  position: relative;\n}\n\n.setup-wizard-modal .ant-modal-body {\n  padding: 0;\n  position: relative;\n  overflow: hidden;\n}\n\n.setup-wizard-container {\n  padding: 40px;\n  position: relative;\n  z-index: 2;\n}\n\n/* Animated background */\n.animated-nodes-bg {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0.06;\n  z-index: 1;\n  overflow: hidden;\n  pointer-events: none;\n}\n\n.floating-node {\n  position: absolute;\n  width: 60px;\n  height: 60px;\n  border-radius: 12px;\n  background: #fff;\n  border: 2px solid;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  animation: float 6s ease-in-out infinite;\n}\n\n.node-content {\n  font-size: 28px;\n}\n\n.node-1 {\n  top: 15%;\n  left: 10%;\n  border-color: #1890ff;\n  animation-delay: 0s;\n}\n\n.node-2 {\n  top: 25%;\n  right: 20%;\n  border-color: #52c41a;\n  animation-delay: 1s;\n}\n\n.node-3 {\n  bottom: 30%;\n  left: 15%;\n  border-color: #ff4d4f;\n  animation-delay: 2s;\n}\n\n.node-4 {\n  top: 10%;\n  right: 10%;\n  border-color: #722ed1;\n  animation-delay: 3s;\n}\n\n.node-5 {\n  bottom: 20%;\n  left: 40%;\n  border-color: #13c2c2;\n  animation-delay: 4s;\n}\n\n.node-6 {\n  bottom: 15%;\n  right: 25%;\n  border-color: #fa8c16;\n  animation-delay: 5s;\n}\n\n@keyframes float {\n  0%, 100% {\n    transform: translateY(0px) rotate(0deg);\n  }\n  33% {\n    transform: translateY(-10px) rotate(3deg);\n  }\n  66% {\n    transform: translateY(5px) rotate(-3deg);\n  }\n}\n\n.connection-lines {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  pointer-events: none;\n}\n\n.connection-line {\n  stroke: #1890ff;\n  stroke-width: 1;\n  stroke-dasharray: 5, 5;\n  opacity: 0.3;\n  animation: dashMove 10s linear infinite;\n}\n\n@keyframes dashMove {\n  to {\n    stroke-dashoffset: -10;\n  }\n}\n\n.wizard-steps {\n  margin-bottom: 48px;\n}\n\n.wizard-steps .ant-steps-item-icon {\n  width: 40px;\n  height: 40px;\n  line-height: 40px;\n  font-size: 20px;\n}\n\n.wizard-step-content {\n  text-align: center;\n  max-width: 520px;\n  margin: 0 auto;\n}\n\n/* Welcome Step */\n.welcome-step .welcome-icon {\n  margin-bottom: 24px;\n  animation: float 3s ease-in-out infinite;\n}\n\n@keyframes float {\n  0%, 100% { transform: translateY(0px); }\n  50% { transform: translateY(-10px); }\n}\n\n.welcome-step h2 {\n  margin-bottom: 8px;\n  font-weight: 600;\n}\n\n.welcome-subtitle {\n  font-size: 18px;\n  color: #666;\n  margin-bottom: 32px;\n}\n\n.feature-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 16px;\n  margin-bottom: 40px;\n}\n\n.feature-card {\n  padding: 20px;\n  border-radius: 12px;\n  background: #f8f9fa;\n  transition: all 0.3s ease;\n  min-height: 80px;\n}\n\n.feature-card:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);\n}\n\n.feature-card .ant-space {\n  width: 100%;\n}\n\n/* API Step */\n.api-step {\n  text-align: center;\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.api-header {\n  margin-bottom: 32px;\n}\n\n.api-header .ant-typography-secondary {\n  font-size: 16px;\n  font-weight: 400;\n}\n\n.api-main-content {\n  text-align: left;\n}\n\n.existing-key-alert {\n  margin-bottom: 20px;\n  border-radius: 8px;\n}\n\n.existing-key-alert.ant-alert-success {\n  background-color: #f6ffed;\n  border: 1px solid #b7eb8f;\n}\n\n.existing-key-alert .ant-alert-message {\n  font-weight: 500;\n}\n\n.api-header .ant-space-item {\n  text-align: center;\n}\n\n.api-key-card {\n  background: #f8f9fa;\n  border-radius: 12px;\n  margin-bottom: 20px;\n  padding: 20px !important;\n  border: 2px solid transparent;\n  transition: all 0.3s ease;\n}\n\n.api-key-card:hover {\n  border-color: #1890ff;\n  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.1);\n}\n\n.api-key-card .ant-input-password {\n  font-family: 'Monaco', 'Consolas', monospace;\n}\n\n.api-key-card .ant-input-affix-wrapper:focus,\n.api-key-card .ant-input-affix-wrapper-focused {\n  border-color: #40a9ff;\n  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\n}\n\n.api-key-card .ant-card-body {\n  padding: 0 !important;\n}\n\n.api-info-row {\n  margin-bottom: 24px;\n}\n\n.info-box {\n  display: flex;\n  align-items: flex-start;\n  gap: 12px;\n  padding: 16px;\n  background: white;\n  border: 1px solid #f0f0f0;\n  border-radius: 8px;\n  min-height: 80px;\n  transition: all 0.2s ease;\n}\n\n.info-box:hover {\n  border-color: #d9d9d9;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n.info-box .anticon {\n  flex-shrink: 0;\n  margin-top: 2px;\n}\n\n.additional-models-note {\n  text-align: center;\n  padding: 16px 20px;\n  background: #e6f7ff;\n  border-radius: 8px;\n  margin-bottom: 32px;\n  border: 1px solid #91d5ff;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);\n}\n\n/* Success Step */\n.success-header {\n  text-align: center;\n  margin-bottom: 20px;\n}\n\n.success-header .anticon {\n  animation: scaleIn 0.5s ease-out;\n}\n\n@keyframes scaleIn {\n  0% { transform: scale(0); }\n  100% { transform: scale(1); }\n}\n\n.success-subtitle {\n  font-size: 16px;\n  color: #666;\n  margin-bottom: 20px !important;\n}\n\n.first-workflow-card {\n  background: linear-gradient(135deg, #f5f7fa 0%, #e9ecef 100%);\n  border-radius: 16px;\n  margin-bottom: 20px;\n  text-align: left;\n  padding: 20px !important;\n}\n\n.first-workflow-card .ant-card-body {\n  padding: 0 !important;\n}\n\n.finish-button {\n  height: 48px;\n  font-size: 18px;\n  border-radius: 8px;\n  background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);\n  border: none;\n  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.3);\n  transition: all 0.3s ease;\n}\n\n.finish-button:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 6px 20px rgba(24, 144, 255, 0.4);\n}\n\n/* Common */\n.step-actions {\n  margin-top: 32px;\n  display: flex;\n  justify-content: center;\n  gap: 16px;\n  flex-wrap: wrap;\n}\n\n.step-actions .ant-btn-lg {\n  min-width: 120px;\n  height: 44px;\n  font-size: 16px;\n}\n\n/* Responsive styles */\n@media (max-width: 768px) {\n  .setup-wizard-container {\n    padding: 24px 20px;\n  }\n  \n  .wizard-steps {\n    margin-bottom: 24px;\n  }\n  \n  .feature-grid {\n    grid-template-columns: 1fr !important;\n    gap: 12px !important;\n  }\n  \n  .feature-item {\n    padding: 16px !important;\n  }\n  \n  .feature-icon-wrapper {\n    width: 40px;\n    height: 40px;\n  }\n  \n  .feature-content h4 {\n    font-size: 15px;\n  }\n  \n  .feature-content p {\n    font-size: 13px;\n  }\n  \n  .api-step {\n    max-width: 100%;\n  }\n  \n  .api-info-row {\n    margin-bottom: 16px;\n  }\n  \n  .info-box {\n    margin-bottom: 8px;\n    animation: slideIn 0.3s ease-out;\n  }\n  \n  @keyframes slideIn {\n    from {\n      opacity: 0;\n      transform: translateY(10px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n  \n  .welcome-step h2 {\n    font-size: 24px !important;\n  }\n  \n  .welcome-subtitle {\n    font-size: 16px !important;\n  }\n  \n  .step-actions {\n    flex-direction: column;\n    width: 100%;\n  }\n  \n  .step-actions .ant-btn-lg {\n    width: 100%;\n  }\n  \n  .wizard-steps .ant-steps-item-title {\n    display: none !important;\n  }\n  \n  .wizard-steps .ant-steps-item-icon {\n    width: 28px;\n    height: 28px;\n    line-height: 28px;\n    font-size: 14px;\n  }\n}\n\n@media (max-width: 480px) {\n  .setup-wizard-container {\n    padding: 20px 12px;\n  }\n  \n  .api-header h3 {\n    font-size: 20px !important;\n  }\n  \n  .success-step h2 {\n    font-size: 22px !important;\n  }\n  \n  .animated-nodes-bg {\n    display: none; /* Hide on very small screens */\n  }\n}\n\n/* Ensure modal is responsive */\n.setup-wizard-modal {\n  margin: 16px;\n}\n\n.setup-wizard-modal .ant-modal {\n  max-width: calc(100vw - 32px);\n}"],"names":[],"sourceRoot":""}