@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{min-height:100%;margin:0;line-height:1.5;text-size-adjust:100%}ul,ol{list-style:none;padding:0}h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit}button,input,select,textarea{font:inherit}button{background:none;border:none;padding:0;cursor:pointer}a{text-decoration:none;color:inherit}input,textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}img,picture,video,canvas,svg{display:block;max-width:100%}img{border-style:none}table{border-collapse:collapse;border-spacing:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}button::-moz-focus-inner{border-style:none;padding:0}button,input,select,textarea{line-height:inherit}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-active: #1e40af;--destructive: #dc2626;--destructive-hover: #b91c1c;--accent: #059669;--warning: #f59e0b;--warning-contrast: #ffffff;--neutral-50: #fafafa;--neutral-100: #f5f5f5;--neutral-200: #e5e5e5;--neutral-300: #d4d4d4;--neutral-400: #a3a3a3;--neutral-500: #737373;--neutral-600: #525252;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--color-background: var(--neutral-50);--color-surface: #ffffff;--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-muted: var(--neutral-400);--color-border: var(--neutral-200);--color-border-hover: var(--neutral-300);--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--text-display: clamp(14px, 1vw + 12px, 16px);--text-body: clamp(12px, .5vw + 11px, 13px);--text-small: clamp(10px, .5vw + 10px, 11px);--text-tiny: clamp(9px, .5vw + 9px, 10px);--font-normal: 400;--font-medium: 500;--font-semibold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-sharp: cubic-bezier(.4, 0, .6, 1);--transition-fast: var(--duration-fast) var(--ease-standard);--transition-normal: var(--duration-normal) var(--ease-standard);--transition-slow: var(--duration-slow) var(--ease-standard);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-toast: 2000;--z-tooltip: 3000}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--transition-fast: 0ms;--transition-normal: 0ms;--transition-slow: 0ms}}[data-theme=dark]{--primary: #3b82f6;--primary-hover: #60a5fa;--primary-active: #2563eb;--destructive: #ef4444;--destructive-hover: #f87171;--accent: #10b981;--warning: #fbbf24;--warning-contrast: #000000;--neutral-50: #0a0a0a;--neutral-100: #141414;--neutral-200: #1f1f1f;--neutral-300: #2a2a2a;--neutral-400: #525252;--neutral-500: #737373;--neutral-600: #a3a3a3;--neutral-700: #d4d4d4;--neutral-800: #e5e5e5;--neutral-900: #fafafa;--color-background: var(--neutral-50);--color-surface: var(--neutral-100);--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-muted: var(--neutral-400);--color-border: var(--neutral-200);--color-border-hover: var(--neutral-300);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .7)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--primary: #3b82f6;--primary-hover: #60a5fa;--primary-active: #2563eb;--destructive: #ef4444;--destructive-hover: #f87171;--accent: #10b981;--warning: #fbbf24;--warning-contrast: #000000;--neutral-50: #0a0a0a;--neutral-100: #141414;--neutral-200: #1f1f1f;--neutral-300: #2a2a2a;--neutral-400: #525252;--neutral-500: #737373;--neutral-600: #a3a3a3;--neutral-700: #d4d4d4;--neutral-800: #e5e5e5;--neutral-900: #fafafa;--color-background: var(--neutral-50);--color-surface: var(--neutral-100);--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-muted: var(--neutral-400);--color-border: var(--neutral-200);--color-border-hover: var(--neutral-300);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .7)}}html{font-size:16px;font-family:var(--font-family-base)}body{font-size:var(--text-body);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--transition-normal),color var(--transition-normal)}h1{font-size:var(--text-display);font-weight:var(--font-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);transition:color var(--transition-normal)}h2{font-size:var(--text-body);font-weight:var(--font-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0;transition:color var(--transition-normal)}h3{font-size:var(--text-small);font-weight:var(--font-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0;transition:color var(--transition-normal)}h4{font-size:var(--text-small);font-weight:var(--font-medium);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0;transition:color var(--transition-normal)}.text-display{font-size:var(--text-display);font-weight:var(--font-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.text-body{font-size:var(--text-body);font-weight:var(--font-normal);line-height:var(--line-height-normal)}.text-small{font-size:var(--text-small);font-weight:var(--font-medium);line-height:var(--line-height-normal)}.text-tiny{font-size:var(--text-tiny);font-weight:var(--font-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;line-height:var(--line-height-normal)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.text-primary{color:var(--neutral-900)}.text-secondary{color:var(--neutral-600)}.text-muted{color:var(--neutral-400)}.text-accent{color:var(--primary)}.text-destructive{color:var(--destructive)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.btn{padding:6px 12px;font-size:var(--text-body);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal);display:inline-flex;align-items:center;gap:var(--space-1);border:none;position:relative;overflow:hidden}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:scale(1.02);transition:background-color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-primary:disabled{background:var(--neutral-300);cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--neutral-700);border:1px solid var(--neutral-200)}.btn-ghost:hover{background:var(--neutral-100);border-color:var(--neutral-300);transition:background-color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-ghost:disabled{border-color:var(--neutral-200);background:transparent;color:var(--neutral-400);cursor:not-allowed;opacity:.6}.btn-icon{padding:6px;background:transparent;color:var(--neutral-600)}.btn-icon:hover{background:var(--neutral-100);color:var(--neutral-900);transition:background-color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-icon:disabled{color:var(--neutral-300);background:transparent;cursor:not-allowed;opacity:.6}.btn-icon:disabled:hover{background:transparent}.btn-destructive{background:var(--destructive);color:#fff}.btn-destructive:hover{background:var(--destructive-hover);transform:scale(1.02);transition:background-color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-secondary{background:var(--neutral-100);color:var(--neutral-700);border:none;position:relative;overflow:hidden}.btn-secondary:hover{background:var(--neutral-200);color:var(--neutral-900);transform:scale(1.02);transition:background-color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-secondary:disabled{background:var(--neutral-100);color:var(--neutral-400);cursor:not-allowed;transform:none}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);height:56px;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.toolbar-right{position:relative}.toolbar h1{font-size:var(--text-display);font-weight:var(--font-semibold);margin:0;color:var(--color-text-primary);letter-spacing:-.02em;transition:color var(--transition-normal)}.user-badge{font-size:var(--text-body);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);background:var(--neutral-100);border-radius:var(--radius-md);transition:background-color var(--transition-normal),color var(--transition-normal)}.menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-1);z-index:var(--z-dropdown);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.menu-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);width:100%;background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal);text-align:left}.menu-item:hover{background:var(--neutral-100);transition:background-color var(--transition-normal),color var(--transition-normal)}.menu-item svg{color:var(--neutral-600);width:14px;height:14px}.menu-divider{height:1px;background:var(--neutral-200);margin:var(--space-1) 0}.menu-item .badge{margin-left:auto;font-size:var(--text-tiny);font-weight:var(--font-semibold);padding:2px 6px;background:var(--primary);color:#fff;border-radius:var(--radius-sm);text-transform:none}.share-button{position:relative;overflow:hidden}.share-button svg{transition:transform var(--transition-normal),color var(--transition-normal)}.share-button span{transition:color var(--transition-normal)}.share-button-success{background:linear-gradient(135deg,#05966926,#10b98126)!important;animation:shareButtonPulse .8s ease-out}.share-button-success svg{color:var(--accent)!important;transform:scale(1.3);animation:shareIconCheck .8s cubic-bezier(.68,-.55,.265,1.55)}.share-button-success span{color:var(--accent)!important;font-weight:var(--font-semibold)}.share-icon-success{color:var(--accent)!important;transform:scale(1.3);animation:shareIconCheck .8s cubic-bezier(.68,-.55,.265,1.55)}.share-text-success{color:var(--accent)!important;font-weight:var(--font-semibold)}@keyframes shareButtonPulse{0%{transform:scale(1);box-shadow:0 0 #10b98100}50%{transform:scale(1.03);box-shadow:0 0 0 4px #10b98133}to{transform:scale(1);box-shadow:0 0 #10b98100}}@keyframes shareIconCheck{0%{transform:scale(.7) rotate(-180deg);opacity:.3}30%{transform:scale(1.4) rotate(15deg);opacity:1}60%{transform:scale(1.1) rotate(-5deg)}to{transform:scale(1.3) rotate(0);opacity:1}}.flow-tabs{display:flex;gap:2px;padding:0 var(--space-3);background:var(--color-background);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.flow-tab{padding:var(--space-2) var(--space-4);font-size:var(--text-body);font-weight:var(--font-medium);background:transparent;color:var(--color-text-secondary);border:none;border-bottom:2px solid transparent;cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.flow-tab:hover{color:var(--color-text-primary);background:var(--color-surface);transition:background-color var(--transition-normal),color var(--transition-normal)}.flow-tab.active{color:var(--primary);background:var(--color-surface);border-bottom-color:var(--primary)}.status-toast{position:fixed;bottom:var(--space-4);right:var(--space-4);padding:10px 14px;background:var(--neutral-900);color:#fff;font-size:var(--text-body);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideIn var(--transition-normal);z-index:var(--z-toast)}.status-toast.success{background:var(--accent)}.status-toast.error{background:var(--destructive)}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.node-palette{position:fixed;left:var(--space-4);top:50%;transform:translateY(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-2);z-index:100;width:48px;transition:width var(--transition-normal),background-color var(--transition-normal),border-color var(--transition-normal)}.node-palette.expanded,.node-palette:hover{width:180px}.node-button{display:flex;align-items:center;gap:var(--space-2);padding:10px;width:100%;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal)}.node-button:hover{background:var(--neutral-100);transition:background-color var(--transition-normal),color var(--transition-normal)}.node-button svg{width:16px;min-width:16px;color:var(--color-text-secondary);transition:color var(--transition-normal)}.node-label{font-size:var(--text-body);white-space:nowrap;opacity:0;transition:opacity var(--transition-fast)}.node-palette.expanded .node-label,.node-palette:hover .node-label{opacity:1}.sidebar{width:320px;background:var(--color-background);border-left:1px solid var(--color-border);overflow-y:auto;display:flex;flex-direction:column;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.sidebar:empty{display:none}.sidebar-section{border-bottom:1px solid var(--color-border);transition:border-color var(--transition-normal)}.sidebar-section:last-child{border-bottom:none}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:transparent;border:none;width:100%;cursor:pointer;transition:background-color var(--transition-normal)}.section-header:hover{background:var(--color-surface);transition:background-color var(--transition-normal)}.section-header h3{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;transition:color var(--transition-normal)}.section-header svg{color:var(--color-text-secondary);width:12px;height:12px;transition:transform var(--transition-normal),color var(--transition-normal)}.section-header.collapsed svg{transform:rotate(-90deg)}.section-content{padding:0 var(--space-3) var(--space-3) var(--space-3);transition:background-color var(--transition-normal)}.section-content.collapsed{display:none}.node-info{display:flex;flex-direction:column;gap:var(--space-3)}.node-info label{font-size:var(--text-small);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-1);transition:color var(--transition-normal)}.node-info .value{font-size:var(--text-body);color:var(--color-text-primary);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.node-info .value.mono{font-family:Monaco,Courier New,monospace;font-size:11px}.node-info .input{background:var(--color-surface);border-color:var(--color-border)}.help-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#dbeafe,#bfdbfe 50%);border-radius:var(--radius-md);font-size:var(--text-body);color:var(--primary);font-weight:var(--font-semibold);margin-bottom:var(--space-3);border:1px solid rgba(37,99,235,.2);transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}[data-theme=dark] .help-badge{background:linear-gradient(135deg,#2563eb33,#3b82f626 50%);border-color:#3b82f64d}.alert-box{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-body);margin-bottom:var(--space-3);border:2px solid}.alert-box svg{width:16px;height:16px;color:inherit;flex-shrink:0}.alert-box-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.alert-box-title{font-size:var(--text-body);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.alert-box-text{font-size:var(--text-small);line-height:var(--line-height-normal);opacity:.9}.alert-box.info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd;color:#0369a1;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.alert-box.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;color:#065f46;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.alert-box.warning{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fb923c;color:#ea580c;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.alert-box.error{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#dc2626;color:#7f1d1d;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}[data-theme=dark] .alert-box.info{background:linear-gradient(135deg,#2563eb33,#3b82f626);border-color:#60a5fa66;color:#93c5fd}[data-theme=dark] .alert-box.success{background:linear-gradient(135deg,#05966933,#10b98126);border-color:#10b98166;color:#6ee7b7}[data-theme=dark] .alert-box.warning{background:linear-gradient(135deg,#fb923c33,#fbbf2426);border-color:#fbbf2466;color:#fbbf24}[data-theme=dark] .alert-box.error{background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444466;color:#fca5a5}.simulator-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.simulator-header svg{color:var(--primary);width:16px;height:16px}.simulator-header h3{margin:0;font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--neutral-900)}.current-node{padding:var(--space-4);background:linear-gradient(135deg,#fef3c7,#fed7aa 50%);border-radius:var(--radius-md);border:2px solid var(--primary);margin-top:var(--space-5)}.current-node-title{font-weight:var(--font-semibold);font-size:var(--text-display);color:var(--neutral-900)}.current-node-label{font-size:var(--text-body);color:var(--neutral-600);margin-top:var(--space-1)}.current-node-choices{margin-top:var(--space-3);font-size:var(--text-small)}.current-node-choices-title{font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--neutral-900)}.choice-item{padding:var(--space-2) var(--space-3);margin:var(--space-1) 0;background:#fff;border-radius:var(--radius-md);color:var(--neutral-900);font-weight:var(--font-semibold);border:1px solid rgba(249,115,22,.3)}.choice-item-key{color:var(--primary);font-weight:var(--font-semibold)}.call-path{margin-top:var(--space-5)}.call-path-label{font-size:var(--text-body);color:var(--neutral-600);margin-bottom:var(--space-3);font-weight:var(--font-semibold)}.call-path-content{font-size:var(--text-small);color:var(--neutral-600);font-family:Monaco,Courier New,monospace;line-height:1.8;padding:var(--space-3);background:#fff;border-radius:var(--radius-md);border:1px solid var(--neutral-200)}.media-editor{margin-top:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4);background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:var(--radius-md);border:2px solid var(--neutral-300)}.media-editor-header{font-size:var(--text-body);color:var(--neutral-600);margin-bottom:var(--space-3);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2)}.media-editor-header svg{width:14px;height:14px}.file-info{padding:var(--space-3);background:#e0f2fe;border-radius:var(--radius-md);margin-bottom:var(--space-2);font-size:var(--text-small);color:#0369a1}.char-count{font-size:var(--text-tiny);color:var(--neutral-500);margin-top:var(--space-1);text-align:right}.delete-confirm{margin-top:var(--space-3);padding:var(--space-3);background:#fee2e2;border:2px solid var(--destructive);border-radius:var(--radius-md)}.delete-confirm-title{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--destructive);margin-bottom:var(--space-2)}.delete-confirm-text{font-size:var(--text-small);color:#7f1d1d;margin-bottom:var(--space-3)}.btn-group{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.btn-group .btn{flex:1}.annotation-display{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-5);margin-bottom:var(--space-5)}.annotation-header{margin-bottom:var(--space-3)}.annotation-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.annotation-title svg{font-size:16px;color:var(--primary)}.annotation-title h4{margin:0;font-size:var(--text-display);font-weight:var(--font-semibold);color:var(--neutral-900)}.annotation-meta{display:flex;gap:var(--space-3);font-size:var(--text-small);color:var(--neutral-600)}.annotation-author{font-weight:var(--font-medium)}.annotation-date{color:var(--neutral-500)}.annotation-content{font-size:var(--text-body);line-height:var(--line-height-normal);color:var(--neutral-900)}.annotation-content h1{margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:var(--font-semibold);font-size:18px}.annotation-content h2{margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:var(--font-semibold);font-size:16px}.annotation-content h3{margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-display)}.annotation-content p{margin:var(--space-2) 0}.annotation-content ul,.annotation-content ol{margin:var(--space-2) 0;padding-left:var(--space-6)}.annotation-content li{margin:var(--space-1) 0}.annotation-content code{background:var(--neutral-100);padding:2px 6px;border-radius:var(--radius-sm);font-family:Monaco,Courier New,monospace;font-size:var(--text-small)}.annotation-content pre{background:var(--neutral-100);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-3) 0}.annotation-content blockquote{border-left:4px solid var(--neutral-300);padding-left:var(--space-4);margin:var(--space-3) 0;color:var(--neutral-600)}.annotation-content a{color:var(--primary);text-decoration:none;transition:text-decoration var(--transition-fast)}.annotation-content a:hover{text-decoration:underline}.annotation-content strong{font-weight:var(--font-semibold)}.annotation-content em{font-style:italic}.btn:focus-visible,.menu-item:focus-visible,.flow-tab:focus-visible,.node-button:focus-visible,.input:focus-visible,.tooltip-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.badge:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.input-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.input-label{font-size:var(--text-small);font-weight:var(--font-semibold);color:var(--neutral-700);margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);font-family:inherit}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:hover:not(:focus){border-color:var(--color-border-hover)}.input::placeholder{color:var(--neutral-400);opacity:1}.input:disabled{background:var(--neutral-50);color:var(--neutral-400);border-color:var(--neutral-200);cursor:not-allowed;opacity:.6}.input.error{border-color:var(--destructive)}.input.error:focus{box-shadow:0 0 0 3px #dc26261a}.input-helper{font-size:var(--text-small);color:var(--neutral-600);margin-top:var(--space-1);line-height:var(--line-height-normal)}.input-error-message{font-size:var(--text-small);color:var(--destructive);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1);font-weight:var(--font-medium)}.input-field.floating{position:relative}.input-field.floating .input-label{position:absolute;top:50%;left:var(--space-3);transform:translateY(-50%);margin-bottom:0;transition:transform var(--transition-normal),background var(--transition-normal),padding var(--transition-normal),color var(--transition-normal);pointer-events:none;background:transparent}.input-field.floating .input:focus~.input-label,.input-field.floating .input:not(:placeholder-shown)~.input-label{transform:translateY(-150%) scale(.85);background:var(--color-surface);padding:2px 4px;color:var(--primary)}.input-field.floating .input:focus~.input-label{color:var(--primary)}.input.textarea{min-height:80px;resize:vertical;line-height:var(--line-height-normal)}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--neutral-400);width:14px;height:14px;pointer-events:none}.input-with-icon .input{padding-left:var(--space-8)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-tiny);font-weight:var(--font-semibold);border-radius:var(--radius-sm);line-height:1.2;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap}.badge-primary{background:var(--primary);color:#fff}.badge-success{background:var(--accent);color:#fff}.badge-warning{background:var(--warning);color:var(--warning-contrast)}.badge-danger{background:var(--destructive);color:#fff}.badge-neutral{background:var(--neutral-200);color:var(--neutral-700)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);display:inline-block;background:currentColor}.badge-dot.badge-neutral:before{background:var(--neutral-700)}.badge-count{padding:2px 6px;min-width:18px;text-align:center;border-radius:var(--radius-full)}.badge-outline{background:transparent;border:1px solid currentColor}.badge-outline.badge-primary{color:var(--primary)}.badge-outline.badge-success{color:var(--accent)}.badge-outline.badge-warning{color:var(--warning)}.badge-outline.badge-danger{color:var(--destructive)}.badge-outline.badge-neutral{color:var(--neutral-700);border-color:var(--neutral-400)}.tooltip{position:relative;display:inline-block}.tooltip-trigger{cursor:help}.tooltip-content{position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%);background:var(--neutral-900);color:#fff;padding:var(--space-2) var(--space-3);font-size:var(--text-small);border-radius:var(--radius-md);box-shadow:var(--shadow-md);white-space:normal;text-align:center;z-index:var(--z-tooltip);opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal);pointer-events:none;max-width:200px}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--neutral-900)}.tooltip:hover .tooltip-content,.tooltip-trigger:focus+.tooltip-content,.tooltip-trigger:focus-visible+.tooltip-content{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--transition-normal)}.tooltip-bottom .tooltip-content{top:calc(100% + var(--space-2));bottom:auto}.tooltip-bottom .tooltip-content:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--neutral-900)}.tooltip-left .tooltip-content{right:calc(100% + var(--space-2));left:auto;top:50%;transform:translateY(-50%);bottom:auto}.tooltip-left .tooltip-content:after{top:50%;left:100%;right:auto;transform:translateY(-50%);border-top-color:transparent;border-left-color:var(--neutral-900)}.tooltip-right .tooltip-content{left:calc(100% + var(--space-2));right:auto;top:50%;transform:translateY(-50%);bottom:auto}.tooltip-right .tooltip-content:after{top:50%;right:100%;left:auto;transform:translateY(-50%);border-top-color:transparent;border-right-color:var(--neutral-900)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-contrast: high){.btn{border:2px solid currentColor}.btn-ghost,.input{border-width:2px}.input:focus{outline:3px solid var(--primary);outline-offset:2px}.btn:focus-visible,.menu-item:focus-visible,.flow-tab:focus-visible,.node-button:focus-visible,.input:focus-visible,.tooltip-trigger:focus-visible,.badge:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.badge{border:1px solid currentColor}.badge-outline{border-width:2px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);transition:background-color var(--transition-normal)}[data-theme=dark] .modal-overlay{background:#000000b3}.modal-container{background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);outline:none;transition:background-color var(--transition-normal),box-shadow var(--transition-normal)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.modal-header h3{margin:0;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-display);font-weight:var(--font-semibold);color:var(--color-text-primary);transition:color var(--transition-normal)}.modal-content{margin-bottom:var(--space-6)}.modal-footer{display:flex;gap:var(--space-2);justify-content:flex-end}.theme-toggle{position:relative;width:48px;height:24px;background:var(--neutral-200);border:none;border-radius:var(--radius-full);cursor:pointer;padding:0;transition:background-color var(--transition-normal);outline:none;overflow:visible}.theme-toggle:hover{background:var(--neutral-300)}.theme-toggle:active{transform:scale(.95);transition:transform var(--duration-fast),background-color var(--transition-normal)}.theme-toggle-track{position:relative;width:100%;height:100%;border-radius:var(--radius-full)}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal) cubic-bezier(.4,0,.2,1),background-color var(--transition-normal),box-shadow var(--transition-normal);transform:translate(0)}.theme-toggle-thumb.dark{transform:translate(24px);background:var(--neutral-800)}.theme-toggle-thumb.light{transform:translate(0);background:#fff}.theme-toggle-icon{font-size:10px;color:var(--warning);transition:transform var(--transition-normal) cubic-bezier(.68,-.55,.265,1.55),color var(--transition-normal),opacity var(--transition-normal);animation:themeIconSpin .4s cubic-bezier(.68,-.55,.265,1.55)}.theme-toggle-thumb.dark .theme-toggle-icon{color:var(--warning);transform:rotate(360deg)}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes themeIconSpin{0%{transform:rotate(0) scale(.8);opacity:.5}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1);opacity:1}}[data-theme=dark] .theme-toggle{background:var(--neutral-300)}[data-theme=dark] .theme-toggle:hover{background:var(--neutral-400)}[data-theme=dark] .theme-toggle-thumb.light{background:var(--neutral-700)}[data-theme=dark] .theme-toggle-thumb.dark{background:var(--neutral-800)}
