@layer tokens{:root{--color-border-primary: #3d3d5c;--color-border-subtle: rgba(255, 255, 255, .15);--color-brand-accent: #ff6b6b;--color-brand-primary: #00c6ff;--color-brand-secondary: #0072ff;--color-intent-error: #f44336;--color-intent-success: #4caf50;--color-intent-warning: #ff9800;--color-legacy-bg-button: #2c2c40;--color-legacy-bg-button-hover: #3d3d5c;--color-legacy-bg-dark: #252535;--color-legacy-bg-darker: #1f1f2e;--color-legacy-bg-hover: #32324a;--color-surface-card: #2d2d44;--color-surface-overlay: rgba(255, 255, 255, .05);--color-surface-page: #0a0a0f;--color-surface-primary: #2d2d44;--color-surface-secondary: #1a1a2e;--color-surface-section: #1a1a2e;--color-surface-tertiary: #252535;--color-text-muted: rgba(255, 255, 255, .45);--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--component-body-font-size: var(--font-size-base);--component-body-line-height: var(--font-line-height-default);--component-button-font-size: var(--font-size-sm);--component-button-font-weight: var(--font-weight-medium);--component-button-padding-x: var(--space-lg);--component-button-padding-y: var(--space-sm);--component-dashboard-actions-column-width: 120px;--component-dashboard-table-cell-padding: 12px;--component-toolbar-font-size: var(--font-size-sm);--component-toolbar-gap: var(--space-xs);--component-toolbar-padding-x: var(--space-md);--component-toolbar-padding-y: var(--space-xs);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;--font-line-height-default: 1.4;--font-line-height-relaxed: 1.6;--font-line-height-tight: 1.2;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-size-4xl: 2rem;--font-size-5xl: 4rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-md: .9375rem;--font-size-sm: .8125rem;--font-size-xl: 1.125rem;--font-size-xs: .75rem;--font-weight-bold: 700;--font-weight-medium: 500;--font-weight-regular: 400;--font-weight-semibold: 600;--motion-duration-fast: .15s;--motion-duration-normal: .3s;--motion-duration-slow: .5s;--motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--radius-full: 9999px;--radius-lg: 12px;--radius-md: 8px;--radius-sm: 4px;--radius-xl: 20px;--shadow-lg: 0 8px 16px rgba(0, 0, 0, .2);--shadow-md: 0 4px 8px rgba(0, 0, 0, .15);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--space-2xl: 48px;--space-lg: 24px;--space-md: 16px;--space-sm: 8px;--space-xl: 32px;--space-xs: 4px;--z-index-canvas: 10;--z-index-overlay: 1000;--z-index-toolbar: 20;--accent: var(--color-brand-accent);--actions-column-width: var(--component-dashboard-actions-column-width);--bg-button: var(--color-legacy-bg-button);--bg-button-hover: var(--color-legacy-bg-button-hover);--bg-dark: var(--color-legacy-bg-dark);--bg-darker: var(--color-legacy-bg-darker);--bg-hover: var(--color-legacy-bg-hover);--border-color: var(--color-border-primary);--border-primary: var(--color-border-primary);--border-subtle: var(--color-border-subtle);--color-danger: var(--color-intent-error);--color-error: var(--color-intent-error);--color-neutral: var(--color-text-secondary);--color-primary: var(--color-brand-primary);--color-success: var(--color-intent-success);--color-warning: var(--color-intent-warning);--dark: var(--color-surface-page);--dark-card: var(--color-surface-card);--dark-lighter: var(--color-surface-section);--error: var(--color-intent-error);--primary: var(--color-brand-primary);--secondary: var(--color-brand-secondary);--spacing-2xl: var(--space-2xl);--spacing-lg: var(--space-lg);--spacing-md: var(--space-md);--spacing-sm: var(--space-sm);--spacing-xl: var(--space-xl);--spacing-xs: var(--space-xs);--success: var(--color-intent-success);--surface-overlay: var(--color-surface-overlay);--surface-primary: var(--color-surface-primary);--surface-secondary: var(--color-surface-secondary);--surface-tertiary: var(--color-surface-tertiary);--table-cell-padding: var(--component-dashboard-table-cell-padding);--text: var(--color-text-primary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--transition-fast: var(--motion-duration-fast);--transition-normal: var(--motion-duration-normal);--transition-slow: var(--motion-duration-slow);--warning: var(--color-intent-warning);--z-canvas: var(--z-index-canvas);--z-overlay: var(--z-index-overlay);--z-toolbar: var(--z-index-toolbar)}}@layer base{body{margin:0;padding:0;font-family:var(--font-family-base);background-color:var(--color-surface-page);font-size:var(--font-size-base);line-height:var(--component-body-line-height);color:var(--color-text-primary)}.modal-select{width:100%;padding:12px 36px 12px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border-primary);background-color:var(--color-surface-section);color:var(--color-text-primary);font-family:inherit;margin-bottom:15px;box-sizing:border-box;font-size:var(--font-size-md);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bdc3c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6,9 12,15 18,9'></polyline></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.modal-select:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 5px #64ffda80}.modal-select option{background:var(--color-legacy-bg-dark);color:var(--color-text-primary);padding:8px}}.run-btn.running{pointer-events:none;animation:spin 1s linear infinite}.run-btn.success{color:#6bff92}.run-btn.failed{color:#ff4e4e}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hidden,[hidden]{display:none!important}.ml-4{margin-left:4px}.mt-6{margin-top:6px}.mt-12{margin-top:12px}.btn-primary{align-self:flex-start;background-color:var(--color-brand-primary);border:none;padding:var(--component-button-padding-y) var(--component-button-padding-x);font-size:var(--component-button-font-size);font-weight:var(--component-button-font-weight);border-radius:var(--radius-md);color:var(--color-surface-page);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.btn-primary:hover{background-color:var(--color-brand-secondary);transform:translateY(-1px)}.btn,.btn-secondary{background-color:var(--color-surface-card);color:var(--color-text-primary);border:1px solid var(--color-border-subtle);padding:var(--component-button-padding-y) var(--component-button-padding-x);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.btn:hover,.btn-secondary:hover{background-color:var(--color-surface-section);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-brand-primary);border:1px solid var(--color-brand-primary);padding:var(--component-button-padding-y) var(--component-button-padding-x);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-brand-primary) 12%,transparent);transform:translateY(-1px)}.btn:active,.btn-primary:active,.btn-secondary:active,.btn-ghost:active{transform:scale(.97)}.btn:hover:active,.btn-primary:hover:active,.btn-secondary:hover:active,.btn-ghost:hover:active{transform:scale(.97) translateY(-1px)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.form-control,input[type=text],input[type=email],input[type=password],textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-fast) var(--motion-easing-standard);box-sizing:border-box}input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}input:focus,textarea:focus,select:focus,.profile-input:focus,.modal textarea:focus,.modal input[type=text]:focus,.scope-select:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #64ffda40}.input-error{border-color:var(--color-intent-error)!important}.input-error:focus{border-color:var(--color-intent-error)!important;box-shadow:0 0 0 2px #f4433640}.form-row{margin-top:12px}.form-row-sm{margin-top:8px}.profile-form{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:420px}.profile-form label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.profile-input{padding:10px 12px;font-size:var(--font-size-base);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background-color:var(--color-legacy-bg-dark);color:var(--color-text-primary)}#sched-summary{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.header{position:relative;left:0;right:0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--text);padding:10px 20px;box-shadow:var(--shadow-md);z-index:var(--z-toolbar)}.header h1{margin:0;font-weight:300}#shelf-toggle-btn{display:none}@media (max-width: 767px){#shelf-toggle-btn{display:inline-flex;position:absolute;left:max(12px,env(safe-area-inset-left));top:8px;width:40px;height:40px;border-radius:20px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.35);align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#shelf-toggle-btn:focus{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}.header h1{margin-left:52px}}.tabs-container{background:linear-gradient(135deg,var(--secondary),var(--primary));padding:0 20px;display:flex;z-index:var(--z-toolbar)}.tabs-container .tab-button{background-color:transparent;color:#ffffffb3;border:none;padding:12px 20px;margin:0;font-size:14px;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.tabs-container .tab-button:hover{color:#fff;background-color:#ffffff1a}.tabs-container .tab-button.active{color:#fff;border-bottom:3px solid white;font-weight:500}.tabs-container .tab-button{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:#ffffff4d;animation:ripple-effect .6s ease-out;pointer-events:none}@keyframes ripple-effect{to{transform:scale(4);opacity:0}}.status-bar{background:linear-gradient(135deg,var(--secondary),var(--primary));padding:5px 15px;font-size:12px;color:var(--text);border-top:1px solid rgba(0,0,0,.15);display:flex;align-items:center;justify-content:space-between;z-index:var(--z-toolbar);min-height:24px}.status-bar .packet-counter{font-family:Courier New,Monaco,monospace;opacity:.7;transition:opacity .2s ease;min-width:90px;text-align:center}.status-bar .packet-counter.flash{opacity:1;background-color:#fff3;border-radius:3px;padding:1px 4px}.user-menu-container{position:absolute;right:15px;top:12px;transform:none;display:flex;align-items:center;z-index:20}.avatar-badge{width:36px;height:36px;border-radius:50%;background:#2c3e50;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;font-size:16px;overflow:hidden;flex-shrink:0;border:2px solid transparent;transition:border-color .2s}.avatar-badge:hover{border-color:var(--primary)}.avatar-badge.small{width:32px;height:32px;font-size:14px}.avatar-img{width:100%;height:100%;object-fit:cover}.user-dropdown{position:absolute;top:45px;right:0;background:#fff;border-radius:4px;box-shadow:0 2px 10px #0003;overflow:hidden;z-index:25}.user-dropdown.hidden{display:none}.user-menu-item{padding:10px 15px;color:#333;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .2s}.user-menu-item:hover{background:#f1f1f1}#agent-shelf{width:260px;flex-shrink:0;background:linear-gradient(to bottom,#2a2a3a,#252535);border-right:1px solid #3d3d5c;padding:16px;box-sizing:border-box;display:block;overflow-y:auto;height:100%;box-shadow:2px 0 8px #0000001a}.agent-shelf-section{display:flex;flex-direction:column;gap:12px}.agent-shelf-section+.agent-shelf-section{margin-top:24px;padding-top:16px;border-top:1px solid rgba(61,61,92,.8)}.agent-shelf-heading{font-size:16px;font-weight:600;color:#f0f0f0;margin:0 0 16px}.shelf-search-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#f0f0f099}.shelf-search-input{width:100%;padding:8px 12px;border:1px solid rgba(226,232,240,.35);border-radius:6px;background:#0f172a99;color:#f8fafc;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.shelf-search-input::placeholder{color:#94a3b8cc}.shelf-search-input:focus{border-color:#3b82f6b3;box-shadow:0 0 0 1px #3b82f64d}.shelf-section-toggle{width:100%;display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:none;color:#f8fafc;font-size:14px;font-weight:600;cursor:pointer;text-align:left}.shelf-section-toggle:hover{color:#fff}.shelf-section-toggle .caret{width:16px;display:inline-flex;justify-content:center}.shelf-section-toggle .count{margin-left:auto;padding:2px 8px;border-radius:999px;background:#3b82f626;font-size:12px;font-weight:500;color:#94a3b8e6}.shelf-list{display:flex;flex-direction:column;gap:8px}.recent-list .agent-pill,.recent-list .tool-palette-item{margin-bottom:0}.shelf-empty{margin:0;font-size:13px;color:#e2e8f0b3}.tool-palette-content{display:flex;flex-direction:column;gap:8px}.tool-palette-item{cursor:grab;padding:10px 12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;transition:all .2s ease;display:flex;align-items:center;font-weight:500;-webkit-user-select:none;user-select:none;touch-action:none}.tool-palette-item:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.tool-palette-item .tool-icon{font-size:16px;margin-right:8px}.tool-palette-item .tool-name{flex:1}.agent-shelf-header{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.palette-header h3{font-size:16px;font-weight:600;color:#f0f0f0;margin:0 0 16px}.palette-search-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;margin-bottom:16px;font-size:14px;outline:none}.palette-category-header{margin:0 0 8px;font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.palette-node-icon{font-size:16px;margin-right:8px}.palette-node-name{font-size:14px;font-weight:500;color:#1e293b}.palette-node-description{font-size:12px;color:#64748b;margin-top:2px}.palette-node{display:flex;align-items:center;padding:8px 12px;margin-bottom:4px;border:1px solid #e2e8f0;border-radius:6px;cursor:grab;transition:all .2s ease;background:#f8fafc}.palette-node.hover{border:1px solid #3b82f6;background:#eff6ff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.agent-pill{cursor:grab;margin-bottom:10px;background:linear-gradient(135deg,#2e2e3e,#2a2a3a);border:1px solid #3d3d5c;border-radius:var(--radius-lg);font-size:14px;color:#e0e0e0;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);padding:12px 14px 12px 40px;display:flex;align-items:center;font-weight:500;touch-action:none}.agent-pill:before{content:"🤖";position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.7}.agent-pill:hover{background:linear-gradient(135deg,#3a3a4a,#363646);border-color:#4d4d6c;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.agent-pill.disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#1e1e2e,#1a1a2a);border-color:#2d2d3c}.agent-pill.disabled:before{content:"⏸️"}.agent-pill.disabled:hover{background:linear-gradient(135deg,#1e1e2e,#1a1a2a);transform:none;box-shadow:var(--shadow-sm)}.agent-shelf-loading,.agent-shelf-empty{text-align:center;padding:20px;color:var(--text-secondary);font-size:14px;opacity:.7}.agent-pill.dragging{opacity:.92;background:linear-gradient(135deg,var(--secondary) 0%,var(--primary) 100%);box-shadow:var(--shadow-lg);transform:scale(1.05) rotate(-2deg);border:2px dashed var(--primary);cursor:grabbing;z-index:1000}#canvas-container.canvas-drop-target{outline:2px dashed #7f8ec0;outline-offset:-2px;background-color:#7f8ec01a}@media (max-width: 767px){#agent-shelf{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);transition:transform var(--transition-normal);width:240px;box-shadow:var(--shadow-lg);z-index:1500}#agent-shelf.open{transform:translate(0)}}.shelf-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1400;display:none}.shelf-scrim--visible{opacity:1;pointer-events:none;display:block}body.shelf-open .shelf-scrim{opacity:1;pointer-events:none}@media (prefers-reduced-motion: reduce){#agent-shelf,.shelf-scrim{transition:none}}@media (max-width: 767px){.shelf-scrim{display:block}}#app-container.canvas-view{flex-direction:row;overflow:visible}#app-container.canvas-view>#agent-shelf{flex:0 0 260px;min-width:260px;max-width:320px;width:auto;height:100%}#app-container.canvas-view>#canvas-container{flex:1 1 auto;min-width:0;width:auto;height:100%}#canvas-container{flex:1;min-height:0;display:flex;background:var(--dark-lighter);position:relative;padding:0}.main-content-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}#canvas-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}#node-canvas{width:100%;height:100%;position:relative;z-index:var(--z-canvas);background-color:#33334a!important}#canvas-input-panel{display:flex;align-items:center;padding:var(--spacing-md);background:var(--dark-card);border-bottom:1px solid var(--border-color);z-index:5;gap:var(--spacing-sm);flex-shrink:0}#user-input{width:300px;padding:8px;margin-right:10px;border-radius:var(--radius-sm);border:1px solid #ccc}#send-button{background-color:var(--success)}#center-button{background-color:var(--primary);color:var(--dark)}#center-button:disabled{background-color:#bbb;color:#fff;opacity:.7;cursor:not-allowed}#clear-button{background-color:var(--error)}#model-select{padding:8px;margin-left:10px;border-radius:var(--radius-sm);border:1px solid #ccc}#workflow-bar{display:flex;align-items:center;justify-content:flex-start;height:40px;background:var(--dark-card);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-md);overflow-x:auto;flex-shrink:0;position:relative;z-index:var(--z-toolbar)}.workflow-tab-list{display:flex;list-style:none;margin:0;padding:0;align-items:center;gap:var(--spacing-xs);flex:1 1 auto;min-width:0}.workflow-tab-list .tab{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500;background:transparent;color:var(--text-secondary);border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;min-height:28px;display:flex;align-items:center}.workflow-tab-list .tab:hover{background:var(--bg-hover);color:var(--text)}.workflow-tab-list .tab.active{background:var(--bg-button);color:var(--text);border-color:var(--border-color)}.workflow-tab-list .plus-tab{font-weight:700;color:var(--primary);font-size:16px;min-width:32px;justify-content:center}.workflow-tab-list .plus-tab:hover{background:#64ffda1a;color:var(--primary)}body.space-pan #node-canvas{cursor:grab!important}.toolbar-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.toolbar-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:0 6px;font:500 15px/1 system-ui,sans-serif;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;height:28px;min-width:28px;position:relative}.toolbar-btn:hover{background:#ffffff1a;color:var(--text);border-color:#64ffda4d;transform:translateY(-1px)}.toolbar-btn:active{background:#ffffff14;transform:translateY(0)}.toolbar-btn:after{content:attr(title);position:absolute;bottom:-32px;left:50%;transform:translate(-50%);background:var(--dark-card);color:var(--text);padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);border:1px solid var(--border-color);z-index:100}.toolbar-btn:hover:after{opacity:1}.dropdown-container{position:relative;display:inline-block}.dropdown-toggle{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:6px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;height:28px;min-width:28px;-webkit-user-select:none;user-select:none}.dropdown-toggle:hover{background:#ffffff1a;color:var(--text);border-color:#64ffda4d;transform:translateY(-1px)}.dropdown-toggle.active{background:#ffffff14;color:var(--text);border-color:#64ffda80}.dropdown-menu{position:absolute;background:var(--dark-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:4px 0;min-width:120px;box-shadow:0 4px 12px #0000004d;z-index:var(--z-overlay);opacity:0;transform:translateY(-4px);transition:all var(--transition-fast);pointer-events:none}.dropdown-menu.show{opacity:1;transform:translateY(0);pointer-events:auto}.dropdown-item{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-secondary);font-size:12px;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.dropdown-item:hover{background:#ffffff0d;color:var(--text)}.dropdown-item.danger:hover{background:#ef44441a;color:var(--error)}.toggle-container{display:inline-flex;align-items:center;margin-left:10px}.toggle-label{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label:before{content:"Auto-Fit";margin-right:8px;font-size:14px;color:#ccc}.toggle-checkbox{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:relative;display:inline-block;width:40px;height:20px;background-color:#ccc;border-radius:20px;transition:.1s}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.1s}.toggle-checkbox:checked+.toggle-slider{background-color:var(--success)}.toggle-checkbox:checked+.toggle-slider:before{transform:translate(20px)}@media (max-width: 768px){#app-container.canvas-view{flex-direction:column}.main-content-area{min-width:0}}.run-history-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-sm);font-size:14px}.run-history-table th,.run-history-table td{padding:2px 6px;line-height:1.3em}.run-history-table th{text-align:left;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.run-history-table td{color:var(--text-primary)}.run-history-table td:nth-child(5),.run-history-table td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums}.kebab-menu-btn{cursor:pointer;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.run-kebab-cell{width:22px;text-align:center}.run-toggle-link{display:inline-block;margin-top:var(--spacing-xs);font-size:11px;color:var(--primary);cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none}.run-toggle-link:hover{text-decoration:underline}.agents-table{width:100%;border-collapse:collapse;color:var(--text-primary);margin-top:var(--spacing-md)}.agents-table th,.agents-table td{padding:var(--table-cell-padding);text-align:left;border-bottom:1px solid var(--border-color);font-size:13px;line-height:1.5}.agents-table th{font-weight:600;color:var(--text-secondary)}.agents-table td{color:var(--text-primary)}.agents-table tr:hover{background:#ffffff0a}.owner-cell{text-align:center;vertical-align:middle}.owner-wrapper{display:inline-flex;align-items:center}.owner-avatar{width:22px;height:22px;border-radius:50%;margin-right:6px}#create-agent-button,.create-agent-button,.create-agent-btn{background:var(--primary);color:var(--dark);border:none;border-radius:var(--radius-sm);padding:10px 18px;min-height:40px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}#create-agent-button:hover,.create-agent-btn:hover{background:var(--secondary)}.create-agent-button.loading{opacity:.65;cursor:progress}.reset-db-btn{background:var(--error)!important;color:#fff;border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}.reset-db-btn:hover{background:#c0392b!important}.dashboard-container{flex:1;padding:20px;width:100%;max-width:1200px;margin:0 auto;background:var(--dark-lighter);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow-y:auto;min-height:0;box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.button-container{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.search-container{display:flex;align-items:center;background:var(--bg-dark);border-radius:var(--radius-sm);padding:8px 16px;width:min(100%,300px);flex-shrink:0}.search-icon{margin-right:8px;color:#aaa}#agent-search{background:transparent;border:none;color:#fff;outline:none;width:100%;font-size:14px}#agent-search::placeholder{color:#777}.search-clear{cursor:pointer;color:#aaa;font-size:18px;line-height:1;padding:2px;margin-left:4px;-webkit-user-select:none;user-select:none;flex-shrink:0}.search-clear:hover{color:#fff}.scope-wrapper{display:flex;flex-direction:column;align-items:center;margin-right:var(--spacing-md)}.scope-text-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px;text-align:center;line-height:1}.scope-toggle{position:relative;display:inline-block;width:80px;height:32px;-webkit-user-select:none;user-select:none}.scope-toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-full);transition:background .3s,border-color .3s}.slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;top:50%;transform:translateY(-50%);background:var(--primary);border-radius:50%;transition:transform .3s}.scope-toggle input:checked+.slider:before{transform:translate(52px,-50%)}.scope-toggle input:focus+.slider{box-shadow:0 0 0 2px #64ffda66;border-color:var(--primary)}.view-tabs{display:flex;background:var(--bg-dark);border-bottom:1px solid var(--border-color);margin-bottom:10px;padding:0 10px}.view-tab-button{background:transparent;border:none;color:var(--text-secondary);padding:12px 20px;margin-right:4px;cursor:pointer;font-size:14px;transition:color .3s;border-bottom:3px solid transparent;position:relative}.view-tab-button:hover{color:#fff}.view-tab-button.active{color:var(--primary);border-bottom:3px solid var(--primary)}.agents-table th.actions-header{position:sticky;right:0;background:var(--bg-dark);box-shadow:-2px 0 5px #0003;min-width:var(--actions-column-width);z-index:2}.actions-cell{white-space:nowrap;text-align:right;position:sticky;right:0;background:var(--dark-lighter);box-shadow:-2px 0 5px #0003;min-width:var(--actions-column-width);vertical-align:middle}.actions-cell-inner{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs)}.card{padding:var(--spacing-sm);border:1px solid var(--border-color);margin-top:var(--spacing-sm);border-radius:var(--radius-sm);background:var(--bg-dark)}.actions-row{display:flex;gap:8px;margin-top:var(--spacing-sm)}.action-btn{background:transparent;border:none;font-size:16px;line-height:1;padding:4px 6px;cursor:pointer;border-radius:var(--radius-sm);color:inherit}.action-btn:hover{background:#ffffff14}.overview-list{list-style:none;padding-left:0;margin:0;color:var(--text-primary)}.overview-list li{margin-bottom:var(--spacing-sm)}.raw-json{background:var(--bg-darker);color:var(--text-primary);padding:var(--spacing-sm);border-radius:var(--radius-sm);overflow-x:auto;font-size:.85rem;white-space:pre-wrap;word-break:break-word}.tab-body{margin-top:var(--spacing-md)}.agent-detail-container{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.error-block{background:#e74c3c1a;border-left:3px solid var(--error);color:var(--text-primary);padding:var(--spacing-md);overflow-x:auto;font-family:monospace;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word}.detail-actions{display:flex;gap:var(--spacing-md);justify-content:flex-start}.detail-btn{background:var(--bg-button);color:var(--text-primary);border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .2s,transform .1s;font-size:14px;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.detail-btn:hover{background:var(--bg-button-hover);transform:translateY(-2px)}.last-run-indicator{margin-left:5px;font-size:.8em}.last-run-success{color:var(--success)}.last-run-failure{color:var(--error)}.schedule-summary{font-size:.9em;color:#555;margin-top:6px}.triggers-list{margin-top:var(--spacing-md)}.summary-text{font-size:.9em;color:#555}.mcp-intro-text,.mcp-custom-intro{margin-bottom:var(--spacing-md);color:var(--text-secondary)}.text-success{color:var(--success)}@media (max-width: 992px){.dashboard-container{overflow-x:auto;padding-bottom:var(--spacing-md)}.agents-table th,.agents-table td{padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.agents-table tr:hover .actions-cell{background:var(--bg-hover)}}@media (max-width: 768px){.dashboard-container{padding:12px}.dashboard-header{flex-direction:column;align-items:stretch}.search-container,.button-container{width:100%}.agents-table{display:block;width:100%;overflow:hidden}.agents-table thead{display:none}.agents-table tr{display:block;background:var(--bg-darker);margin-bottom:var(--spacing-sm);border-radius:6px;padding:var(--spacing-sm) var(--spacing-md)}.agents-table td{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.agents-table td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary)}.agents-table td.actions-cell{justify-content:flex-end}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-secondary);min-height:400px;width:100%}.empty-state-illustration{font-size:64px;margin-bottom:var(--spacing-md)}.empty-state-text{margin:0 0 var(--spacing-md) 0;font-size:18px;text-align:center}#toast-container{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:2000}.toast{min-width:240px;max-width:320px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--dark-card);color:var(--text);font-size:14px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-sm);border-left:4px solid var(--primary);opacity:0;transform:translate(100%);animation:toast-enter .4s forwards,toast-exit .4s forwards 4.6s}.toast-success{border-left-color:var(--success)}.toast-warning{border-left-color:var(--warning)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--primary)}@keyframes toast-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{to{opacity:0;transform:translate(100%)}}#status{padding:5px 10px;border-radius:var(--radius-sm);color:#fff;font-weight:500}#status.red{background-color:var(--error)}#status.green{background-color:var(--success)}#status.yellow{background-color:#f1c40f;color:#2c3e50}#layout-status.red{color:var(--error)}#layout-status.green{color:var(--success)}#layout-status.yellow{color:#f1c40f}#api-status{padding:5px 10px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;font-weight:500;font-family:monospace}#api-status:before{content:"";width:6px;height:6px;border-radius:50%;background-color:#2c3e50;box-shadow:0 0 2px #2c3e50;transition:all .05s ease}#api-status.flash:before{background-color:#27ae60;box-shadow:0 0 4px #2ecc71}.status-indicator{padding:4px 10px;border-radius:12px;font-size:.9em;font-weight:500}.status-running{color:var(--success)}.status-idle{color:var(--color-neutral)}.status-error{color:var(--error)}.status-scheduled{color:var(--primary)}.status-paused{color:var(--warning)}#ops-hud{margin-left:auto;display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius-sm);background:#ffffff1f;color:#fff;font:500 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer;border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#ops-hud .ops-hud-inner{display:inline-flex;gap:12px}#ops-hud .ops-hud-inner.green{color:var(--success)}#ops-hud .ops-hud-inner.amber{color:var(--warning)}#ops-hud .ops-hud-inner.red{color:var(--error)}.ops-dashboard-container{padding:var(--spacing-md) var(--spacing-lg)}.ops-dashboard{display:grid;gap:var(--spacing-md)}.ops-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.ops-head .title{font-size:18px;font-weight:600;color:var(--text);letter-spacing:.2px}.ops-head .subtle{color:var(--text-secondary);font-size:12px}.ops-head .status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-weight:600;font-size:12px}.ops-head .status-chip.healthy{background:#4caf5026;color:var(--success);border:1px solid rgba(76,175,80,.35)}.ops-head .status-chip.degraded{background:#ff980026;color:var(--warning);border:1px solid rgba(255,152,0,.35)}.ops-head .status-chip.down{background:#f4433626;color:var(--error);border:1px solid rgba(244,67,54,.35)}.ops-head .ops-range{display:inline-flex;gap:4px;background:var(--dark-lighter);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:2px}.ops-head .ops-range button{background:transparent;color:var(--text-secondary);border:none;padding:6px 10px;border-radius:var(--radius-full);cursor:pointer;font-size:12px;transition:background var(--transition-fast),color var(--transition-fast)}.ops-head .ops-range button:hover{background:#ffffff14;color:var(--text)}.ops-head .ops-range button.active{background:#ffffff29;color:var(--text)}.ops-dashboard .kpi-row{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:var(--spacing-sm)}.ops-dashboard .kpi-row .card{background:var(--dark-lighter);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-sm)}.ops-dashboard .kpi-row .card .label{color:var(--text-secondary);font-size:12px;margin-bottom:6px}.ops-dashboard .kpi-row .card .value{color:var(--text);font-weight:700;font-size:18px}.ops-dashboard .gauges-row{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:var(--spacing-sm)}.ops-dashboard .gauge{background:var(--dark-lighter);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-sm)}.ops-dashboard .gauge>div:first-child{color:var(--text-secondary);font-size:12px;margin-bottom:6px}.ops-dashboard .gauge .bar{position:relative;height:10px;background:var(--bg-hover);border-radius:6px;overflow:hidden}.ops-dashboard .gauge .bar span{position:absolute;left:0;top:0;bottom:0;background:var(--success)}.ops-dashboard .gauge.green .bar span{background:var(--success)}.ops-dashboard .gauge.amber .bar span{background:var(--warning)}.ops-dashboard .gauge.red .bar span{background:var(--error)}.ops-dashboard .gauge .pct{margin-top:6px;font-weight:600;color:var(--text)}.ops-dashboard .charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-sm)}.ops-dashboard .spark{background:var(--dark-lighter);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px;box-shadow:var(--shadow-sm)}.ops-dashboard .spark .label{color:var(--text-secondary);font-size:12px;margin-bottom:6px}.ops-dashboard .spark svg{display:block}.ops-dashboard .admin-card{margin-top:var(--spacing-sm);background:var(--dark-lighter);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-sm)}.ops-dashboard .admin-card .label{color:var(--text-secondary);font-size:12px;margin-bottom:8px;font-weight:600}.ops-dashboard .admin-card .admin-row{display:grid;grid-template-columns:max-content 1fr;gap:var(--spacing-sm);align-items:start}.ops-dashboard .admin-card .btn-danger{background:var(--error);color:#fff;border:none;padding:8px 10px;border-radius:6px;cursor:pointer}.ops-dashboard .admin-card .btn-danger[aria-busy=true]{opacity:.7;pointer-events:none}.ops-dashboard .ops-reset-summary,.ops-dashboard pre.ops-reset-summary{background:var(--bg-dark);border:1px dashed var(--border-color);border-radius:6px;padding:8px;margin:0;white-space:pre-wrap;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.ops-dashboard table.top-agents{width:100%;border-collapse:collapse;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.ops-dashboard table.top-agents th,.ops-dashboard table.top-agents td{padding:10px 12px;border-bottom:1px solid var(--border-color);text-align:left;font-size:13px;color:var(--text)}.ops-dashboard table.top-agents th{padding:10px 12px;border-bottom:1px solid var(--border-color);text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--dark-lighter)}.ops-dashboard table.top-agents tbody tr:last-child td{border-bottom:none}.ops-dashboard table.top-agents tbody tr:hover{background:#ffffff0a}#ops-ticker{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-dark);padding:8px 10px;max-height:220px;overflow:auto;box-shadow:var(--shadow-sm)}#ops-ticker .ticker-list{display:flex;flex-direction:column;gap:6px}#ops-ticker .tick{font:500 12px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:6px 8px;border-radius:6px;background:var(--dark-lighter);color:var(--text);border:1px solid var(--border-color)}#ops-ticker .tick.green{border-left:4px solid var(--success)}#ops-ticker .tick.amber{border-left:4px solid var(--warning)}#ops-ticker .tick.red{border-left:4px solid var(--error)}#ops-ticker .tick.gray{border-left:4px solid #94a3b8}@media (min-width: 1200px){.ops-dashboard .kpi-row .card .value{font-size:22px}}@media (min-width: 1400px){.ops-dashboard .kpi-row .card .value{font-size:24px}}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;animation:modal-fade var(--transition-normal)}.modal.hidden{display:none}.modal-content{background:var(--dark-card);border-radius:var(--radius-md);padding:var(--spacing-lg);width:min(95vw,480px);box-shadow:var(--shadow-lg);animation:modal-pop var(--transition-normal);min-height:580px;overflow-y:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-buttons{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}@keyframes modal-pop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-weight:500;color:var(--text);margin-bottom:var(--spacing-xs)}.form-group small{display:block;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.form-group .input,.form-group select{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--dark-lighter);color:var(--text);font-size:.875rem;transition:border-color var(--transition-fast)}.form-group .input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #64ffda1a}.form-group .input::placeholder{color:var(--text-secondary)}.form-group .input[readonly]{background:var(--dark-card);color:var(--text-secondary);cursor:not-allowed}.modal-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.modal-tabs .tab-button{background:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-bottom-color var(--transition-fast);border-bottom:2px solid transparent}.modal-tabs .tab-button.active{color:var(--primary);border-bottom-color:var(--primary)}.modal-tabs .tab-button:hover{color:var(--text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:2000;display:flex;align-items:center;justify-content:center}.schedule-modal{background:var(--dark-card);border-radius:var(--radius-md);padding:var(--spacing-lg);width:min(95vw,500px);box-shadow:var(--shadow-lg);animation:modal-pop var(--transition-normal);max-height:90vh;overflow-y:auto}.template-gallery-modal{background:var(--dark-card);border-radius:var(--radius-md);padding:var(--spacing-lg);width:min(95vw,900px);box-shadow:var(--shadow-lg);animation:modal-pop var(--transition-normal);max-height:90vh;overflow-y:auto}.modal-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text);font-size:1.25rem;font-weight:600}.modal-body{margin-bottom:var(--spacing-md)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.help-text{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--dark-lighter);border-radius:var(--radius-sm);border-left:3px solid var(--primary)}.help-text p{margin:0 0 var(--spacing-xs) 0;color:var(--text-secondary);font-size:.875rem;font-weight:500}.help-text ul{margin:0;padding-left:var(--spacing-md);list-style:none}.help-text li{margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.help-text code{background:var(--dark-card);color:var(--accent);padding:2px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem}.tool-config-modal .modal-content{width:min(95vw,600px)}.tool-config-modal .modal-body{max-height:60vh;overflow-y:auto;padding:20px}.tool-config-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1e293b}.tool-config-modal .close{cursor:pointer;font-size:24px;color:#64748b}.tool-config-modal .close:hover{color:#1e293b}.tool-config-modal .description-section{margin-bottom:24px}.tool-config-modal .description-section p{color:#64748b;font-size:14px;margin:0 0 16px}.tool-config-modal .description-section .divider{border-bottom:1px solid #e2e8f0;margin-bottom:20px}.tool-config-modal .inputs-section{margin-bottom:24px}.tool-config-modal .inputs-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1e293b}.tool-config-modal .input-row{margin-bottom:16px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.tool-config-modal .input-row label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.tool-config-modal .input-row .required{color:#ef4444}.tool-config-modal .mapping-type-selector{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;margin-bottom:8px;background:#fff}.tool-config-modal .static-value-input,.tool-config-modal .node-output-selector{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit}.tool-config-modal .auto-execute-section{margin-bottom:24px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.tool-config-modal .auto-execute-section label{display:flex;align-items:center;cursor:pointer}.tool-config-modal .auto-execute-section input[type=checkbox]{margin-right:8px}.tool-config-modal .auto-execute-section span{font-weight:500;color:#374151}.tool-config-modal .modal-buttons{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #e2e8f0}.mcp-header{font-size:1.1em;font-weight:700;margin-bottom:16px}.mcp-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:16px}.mcp-tab{padding:8px 16px;background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;color:var(--text-primary)}.mcp-tab.active{border-bottom-color:var(--primary);color:var(--primary)}.builtin-tools-section{margin-bottom:24px;padding:12px;background:var(--bg-darker);border-radius:6px}.builtin-tools-title{margin:0 0 8px;color:var(--success)}.builtin-tools-list{margin:0;padding-left:20px;color:var(--text-secondary)}.mcp-presets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.mcp-preset-card{border:1px solid var(--border-color);border-radius:6px;padding:12px;background:var(--bg-darker);cursor:pointer;transition:border-color .2s}.mcp-preset-card:hover{border-color:var(--primary)}.mcp-preset-card-header{display:flex;align-items:center;margin-bottom:8px}.mcp-preset-icon{margin-right:8px;font-size:1.2em}.mcp-preset-description{color:var(--text-secondary);font-size:.9em;margin-bottom:12px}.mcp-preset-connect-btn{width:100%;padding:6px}.mcp-custom-form{display:flex;flex-direction:column;gap:12px}.mcp-custom-buttons{display:flex;gap:8px}.mcp-connected-section{margin-top:24px}.mcp-section-separator{margin:16px 0;border:none;border-top:1px solid var(--border-color)}.mcp-connected-title{margin:0 0 12px}.mcp-connected-empty{color:var(--text-secondary);font-style:italic}.mcp-server-card{border:1px solid var(--border-color);border-radius:6px;padding:12px;margin-bottom:8px;background:var(--bg-darker)}.mcp-server-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mcp-server-details{font-size:.9em;color:var(--text-secondary)}.mcp-server-actions{display:flex;gap:8px}.mcp-remove-btn{padding:4px 8px;font-size:.9em}.particle-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--dark, #000);background-image:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 40%),radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 40%);background-size:3px 3px,3px 3px;background-position:0 0,1.5px 1.5px;animation:particle-drift 60s linear infinite}@keyframes particle-drift{0%{background-position:0 0,1.5px 1.5px}to{background-position:1000px 500px,1001.5px 501.5px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;min-height:2.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;border:1px solid transparent;background:none;cursor:pointer;text-decoration:none;font-family:inherit;transition:all .15s ease}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--color-primary);color:var(--color-primary-fg, white);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){opacity:.9}.btn--secondary{background:var(--surface-secondary);color:var(--text);border-color:var(--border-primary)}.btn--secondary:hover:not(:disabled){background:var(--surface-tertiary)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){opacity:.9}.btn--sm{padding:.375rem .75rem;min-height:2rem;font-size:.75rem}.btn--lg{padding:.75rem 1.5rem;min-height:3rem;font-size:1rem}.modal{padding:0;border:none;border-radius:1rem;background:var(--surface-primary);color:var(--text);box-shadow:0 25px 50px -12px #00000040;max-width:min(90vw,32rem);max-height:90vh;overflow:hidden;container-type:inline-size;container-name:modal}.modal::backdrop{background:color-mix(in srgb,black 50%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}@supports (view-transition-name: modal-transition){.modal{view-transition-name:modal-transition}}@supports not (view-transition-name: modal-transition){.modal[open]{animation:modal-fade-in .2s ease forwards}.modal::backdrop{animation:backdrop-fade-in .2s ease forwards}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 0}.modal__header h2,.modal__header h3{margin:0;font-size:1.25rem;font-weight:600;line-height:1.75rem;color:var(--text)}.modal__body{padding:1.5rem;overflow-y:auto;max-height:60vh;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.modal__body::-webkit-scrollbar{width:6px}.modal__body::-webkit-scrollbar-track{background:transparent}.modal__body::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;border-top:1px solid var(--border-subtle);margin-top:auto}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.modal__close:hover{background:var(--surface-tertiary);color:var(--text)}.modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal--sm{max-width:min(90vw,20rem)}.modal--md{max-width:min(90vw,32rem)}.modal--lg{max-width:min(90vw,48rem)}.modal--xl{max-width:min(90vw,64rem)}.modal--fullscreen{max-width:95vw;max-height:95vh;border-radius:.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,black 50%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;cursor:pointer}.modal-overlay .modal{cursor:default}.modal--confirm .modal__header{padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.modal--confirm .modal__header h3{display:flex;align-items:center;gap:.5rem;color:var(--color-warning, var(--text))}.modal--confirm .modal__body{padding-top:1rem}.modal--danger .modal__header h3{color:var(--color-danger)}.modal--form .modal__body{padding-bottom:0}.modal--form .form-group{margin-bottom:1rem}.modal--form .form-group:last-child{margin-bottom:0}.modal--form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.modal--form input,.modal--form textarea,.modal--form select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-primary);border-radius:.375rem;background:var(--surface-secondary);color:var(--text);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.modal--form input:focus,.modal--form textarea:focus,.modal--form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.modal--form input:invalid,.modal--form textarea:invalid,.modal--form select:invalid{border-color:var(--color-danger)}.modal--form textarea{resize:vertical;min-height:4rem}@container modal (max-width: 400px){.modal__header,.modal__body,.modal__footer{padding-left:1rem;padding-right:1rem}.modal__header h2,.modal__header h3{font-size:1.125rem}.modal__footer{flex-direction:column-reverse}.modal__footer .btn{width:100%}}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.modal{animation:none!important;transition:none!important}.modal::backdrop{animation:none!important;transition:none!important}.modal__close{transition:none}}@media (max-width: 640px){.modal{max-width:95vw;max-height:95vh;border-radius:.75rem;margin:.5rem}.modal--fullscreen{max-width:100vw;max-height:100vh;border-radius:0;margin:0}.modal-overlay{padding:.5rem}}@media (prefers-contrast: high){.modal{border:2px solid var(--border-primary)}.modal__header,.modal__body,.modal__footer{border-color:var(--border-primary);border-width:2px}}.disclosure{border-left:2px solid var(--border-subtle, #d1d5db);background:#c8c8c80d;border-radius:.5rem;margin:.25rem 0 .75rem .75rem}.disclosure[open]{background:#c8c8c814}.disclosure__summary{list-style:none;cursor:pointer;padding:.5rem .75rem;color:var(--text-secondary);display:flex;align-items:center;gap:.375rem}.disclosure__summary:hover{background:#c8c8c81a}.disclosure__content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease;overflow:hidden}.disclosure__content>*{min-height:0;padding:.75rem;padding-top:0;font-family:monospace;font-size:.875rem;overflow:hidden}@media (prefers-reduced-motion: reduce){.disclosure__content{transition:none}}.execution-results-panel{position:fixed;top:0;right:0;bottom:0;width:min(30vw,400px);background:var(--dark-card);border:1px solid var(--border-subtle);border-left:none;border-radius:0 0 0 12px;box-shadow:-4px 0 20px #0000004d;z-index:100;transition:width .3s ease,view-transition-name .3s ease;container-type:inline-size;container-name:results-panel}.execution-results-panel .disclosure__summary{padding:12px 20px;background:var(--surface-secondary);border-radius:12px 12px 0 0}.execution-results-panel .disclosure__summary:hover{background:color-mix(in srgb,var(--surface-secondary) 90%,var(--color-primary) 10%)}.results-panel-header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.results-panel-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}.results-panel-status{padding:4px 12px;border-radius:20px;font-size:.875rem;font-weight:500;background:var(--surface-tertiary);color:var(--text-secondary);transition:all .2s ease}.results-panel-status.running{background:color-mix(in srgb,#3b82f6 20%,transparent);color:#3b82f6;animation:pulse 2s infinite}.results-panel-status.success{background:color-mix(in srgb,#22c55e 20%,transparent);color:#22c55e}.results-panel-status.failed{background:color-mix(in srgb,#ef4444 20%,transparent);color:#ef4444}.results-panel-status.starting{background:color-mix(in srgb,#a855f7 20%,transparent);color:#a855f7}.execution-results-panel .disclosure__content>.results-panel-content{max-height:300px;overflow-y:auto;padding:0 20px 20px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.execution-results-panel .disclosure__content>.results-panel-content::-webkit-scrollbar{width:6px}.execution-results-panel .disclosure__content>.results-panel-content::-webkit-scrollbar-track{background:transparent}.execution-results-panel .disclosure__content>.results-panel-content::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}:is():hover{background:var(--border-primary)}.results-list{display:flex;flex-direction:column;gap:12px;container-type:inline-size}.no-results{text-align:center;padding:40px 20px;color:var(--text-secondary);font-style:italic}.result-item{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:16px;transition:all .2s ease}.result-item:has(.result-output){border-left-width:3px;border-left-color:var(--color-primary)}.result-item:hover{border-color:var(--border-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.result-item-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.result-icon{font-size:18px;width:24px;text-align:center}.result-icon.running{animation:pulse 2s infinite}.result-node-name{font-weight:600;color:var(--text);flex:1}.result-output{background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;margin-top:12px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto}.result-output.running{background:color-mix(in srgb,#3b82f6 10%,var(--surface-secondary));border-color:color-mix(in srgb,#3b82f6 30%,var(--border-subtle));color:var(--text-secondary);font-style:italic;text-align:center}.result-output pre{margin:0;white-space:pre-wrap;word-wrap:break-word;color:var(--text)}@container results-panel (max-width: 300px){.results-panel-header-content{flex-direction:column;align-items:flex-start;gap:8px}.results-panel-status{align-self:flex-end}}@container results-list (max-width: 250px){.result-item{padding:12px}.result-item-header{flex-wrap:wrap}}@media (max-width: 768px){.execution-results-panel{width:95vw;left:2.5vw;right:2.5vw}.execution-results-panel .disclosure__summary{padding:10px 16px}.execution-results-panel .disclosure__content>.results-panel-content{padding:0 16px 16px}}@supports (view-transition-name: panel-transition){.execution-results-panel{view-transition-name:results-panel-transition}}@media (prefers-reduced-motion: reduce){.execution-results-panel,.result-item,.results-panel-status{transition:none;animation:none}.result-item:hover{transform:none}}.chat-view-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--bg-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--text-primary)}.disclosure{border-left:2px solid #888;background:#c8c8c80d;border-radius:6px;margin:4px 0 12px 12px}.disclosure__summary{list-style:none;cursor:pointer;padding:6px 8px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.disclosure__summary::-webkit-details-marker{display:none}.disclosure[open] .disclosure__summary{background:#c8c8c814}.disclosure__summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.disclosure__content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.disclosure[open] .disclosure__content{grid-template-rows:1fr}.disclosure__content>*{overflow:hidden;padding:8px;font-family:monospace;font-size:.85em}.tool-detail-row{margin-bottom:4px}.tool-detail-row pre{margin:4px 0;white-space:pre-wrap;word-break:break-all}.output-row{position:relative}.show-more{color:var(--color-primary);cursor:pointer;font-size:.8em;position:absolute;bottom:4px;right:8px}.copy-btn{font-size:.8em;margin-left:8px;cursor:pointer}.chat-header{display:flex;align-items:center;padding:15px;background-color:var(--bg-darker);border-bottom:1px solid var(--border-color);height:70px}.back-button{font-size:24px;cursor:pointer;margin-right:20px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;color:var(--text-primary);background-color:#ffffff1a}.back-button:hover{background-color:var(--bg-hover)}.agent-info{display:flex;flex-direction:column;flex:1}.chat-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.chat-settings-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background-color:#ffffff1a;border:none;color:var(--text-primary);cursor:pointer;font-size:14px;transition:background-color .2s ease}.chat-settings-btn:hover{background-color:#fff3}.chat-settings-btn svg{width:16px;height:16px}.agent-name{font-size:16px;font-weight:500;color:var(--text-secondary)}.thread-title-label{font-size:16px;font-weight:500;color:var(--text-secondary);margin-top:4px}.thread-title-text{font-size:18px;font-weight:600;margin-top:4px;padding:2px 4px;color:var(--text-primary)}.chat-body{display:flex;flex:1;overflow:hidden}.thread-sidebar{width:300px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background-color:var(--bg-darker)}.sidebar-header{padding:15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.sidebar-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.new-thread-btn{background-color:var(--color-primary);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.new-thread-btn:hover{background-color:#0069d9}.thread-list{flex:1;overflow-y:auto}.thread-item{padding:15px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;position:relative}.thread-item:hover,.thread-item.selected{background-color:var(--bg-hover)}.thread-item-title{font-weight:600;margin-bottom:5px;font-size:14px;color:var(--text-primary)}.thread-edit-button{position:absolute;top:15px;right:15px;font-size:14px;color:var(--text-secondary);opacity:0;transition:opacity .2s;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent}.thread-item:hover .thread-edit-button{opacity:1}.thread-edit-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.thread-edit-button:disabled{opacity:.4;cursor:not-allowed}.thread-edit-form{padding:0}.thread-title-input{width:100%;padding:8px 12px;background-color:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-weight:600}.thread-title-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff1a}.thread-title-input:disabled{opacity:.6;cursor:not-allowed}.thread-item-time{font-size:12px;color:var(--text-secondary);margin-bottom:5px}.thread-item-preview{font-size:13px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.conversation-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-dark)}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.chat-row{display:flex;align-items:flex-end;gap:8px;width:100%;margin-bottom:4px}.chat-row:has(.user-message){flex-direction:row-reverse}.chat-row .avatar-badge{flex-shrink:0;width:32px;height:32px;font-size:14px;margin-bottom:2px}.chat-row .avatar-badge.small{width:32px;height:32px}.message{max-width:70%;padding:12px 16px;border-radius:18px;position:relative;word-wrap:break-word;box-shadow:0 1px 2px #00000014;transition:box-shadow .2s ease}.message:hover{box-shadow:0 2px 4px #0000001f}.user-message{background-color:var(--color-primary);color:#080202;border-bottom-right-radius:4px;margin-left:auto}.user-message:after{content:"";position:absolute;bottom:0;right:-6px;width:0;height:0;border-left:6px solid #E0E0E0;border-right:6px solid transparent;border-bottom:6px solid transparent}.assistant-message{background-color:var(--bg-button);color:var(--text-primary);border-bottom-left-radius:4px;margin-right:auto}.assistant-message:after{content:"";position:absolute;bottom:0;left:-6px;width:0;height:0;border-right:6px solid var(--bg-button);border-left:6px solid transparent;border-bottom:6px solid transparent}.message.pending{opacity:.7}@keyframes pulse{0%{opacity:.7}50%{opacity:.9}to{opacity:.7}}.message.pending{animation:pulse 1.5s infinite ease-in-out}.message.pending .message-time:before{content:"• ";color:var(--color-primary)}.message-content{font-size:14px;line-height:1.5}.message.streaming{position:relative}.streaming-cursor{display:inline-block;width:2px;height:1.2em;background-color:var(--color-primary);margin-left:2px;animation:blink 1s infinite;vertical-align:baseline}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.message-footer{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.message-time{font-size:11px;opacity:.7}.message-actions{display:flex;gap:4px}.message-action-btn{background:transparent;border:none;padding:4px 8px;cursor:pointer;font-size:14px;opacity:.6;border-radius:var(--radius-sm);transition:opacity var(--transition-fast),background-color var(--transition-fast)}.message-action-btn:hover{opacity:1;background-color:#ffffff1a}.user-message .message-time{text-align:left}.chat-input-wrapper{border-top:1px solid var(--border-color);background-color:var(--bg-darker);z-index:5}.chat-tools{display:flex;gap:8px;padding:8px 15px;border-bottom:1px solid rgba(255,255,255,.05)}.tool-btn{background-color:var(--color-surface-overlay);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);padding:var(--component-toolbar-padding-y) var(--component-toolbar-padding-x);border-radius:var(--radius-md);cursor:pointer;font-size:var(--component-toolbar-font-size);transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard);display:flex;align-items:center;gap:var(--component-toolbar-gap)}.tool-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-surface-overlay) 70%,#ffffff 30%);border-color:color-mix(in srgb,var(--color-border-subtle) 70%,#ffffff 30%)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.workflow-panel{border-bottom:1px solid rgba(255,255,255,.05);padding:12px 15px;background-color:#ffffff05}.workflow-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.workflow-panel-header h4{margin:0;font-size:14px;font-weight:500;color:var(--text-primary)}.close-panel-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:2px 6px;transition:color var(--transition-fast)}.close-panel-btn:hover{color:var(--text-primary)}.workflow-panel-content{display:flex;flex-direction:column;gap:10px}.workflow-selector{display:flex;flex-direction:column;gap:6px}.workflow-selector label{font-size:12px;color:var(--text-secondary)}.workflow-selector select{background-color:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-md);font-size:13px;cursor:pointer}.workflow-selector select:focus{outline:none;border-color:var(--color-primary)}.execute-workflow-btn{background-color:var(--color-primary);border:none;color:#fff;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;transition:background-color var(--transition-fast)}.execute-workflow-btn:hover:not(:disabled){background-color:#0069d9}.execute-workflow-btn:disabled{opacity:.6;cursor:not-allowed}.no-workflows{text-align:center;padding:12px;color:var(--text-secondary)}.no-workflows p{margin:0 0 4px;font-size:13px}.no-workflows small{font-size:11px;opacity:.7}.chat-input-area{display:flex;padding:15px;position:relative;gap:10px;margin-bottom:30px}.chat-input{flex:1;padding:12px 20px;border:1px solid var(--border-color);border-radius:24px;font-size:14px;outline:none;transition:all .2s;background-color:var(--bg-dark);color:var(--text-primary)}.chat-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a}.chat-input:disabled{opacity:.6;cursor:not-allowed}.send-button{min-width:64px;height:44px;border-radius:22px;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;padding:0 20px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s}.send-button:hover:not(:disabled){background-color:#0069d9;transform:scale(1.05)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.5;cursor:not-allowed}.message.tool-message{background-color:#f5f5f5;border-left:3px solid #007acc;margin-left:40px;margin-right:80px;font-family:monospace;padding:12px 15px;color:#333}.tool-header{font-weight:700;color:#007acc;margin-bottom:8px;font-size:.9em;padding-bottom:4px;border-bottom:1px solid rgba(0,122,204,.2)}.thread-loading,.thread-list-empty{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}@media (max-width: 768px){.thread-sidebar{position:absolute;left:-300px;top:140px;bottom:0;z-index:10;transition:left .3s ease;width:80%;max-width:300px}.thread-sidebar.active{left:0}.back-button{display:block}.chat-input-area{padding:10px}.status-bar{display:none}.message{max-width:85%}.messages-container{padding:15px}}.thread-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100;display:none}.thread-scrim--visible{opacity:1;pointer-events:auto;display:block}@media (max-width: 768px){.thread-scrim{display:block}}.automation-history{border-top:2px solid var(--border-color);background-color:#ffffff05;display:flex;flex-direction:column;max-height:50vh}.automation-history-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-color);transition:background-color .2s}.automation-history-header:hover{background-color:#ffffff08}.automation-history-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.automation-collapse-icon{font-size:12px;transition:transform .2s ease;color:var(--text-secondary)}.automation-collapse-icon.collapsed{transform:rotate(-90deg)}.automation-runs-list{overflow-y:auto;flex:1}.automation-runs-list.collapsed{display:none}.automation-run-item{padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background-color .2s;position:relative}.automation-run-item:hover{background-color:var(--bg-hover)}.automation-run-item.selected{background-color:var(--bg-hover);border-left:3px solid var(--color-primary)}.automation-run-title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.automation-run-time{font-size:11px;color:var(--text-secondary);margin-bottom:6px}.automation-run-type{display:flex;align-items:center}.run-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:12px;font-weight:500}.run-badge-scheduled{background-color:#007bff26;color:#4da3ff;border:1px solid rgba(0,123,255,.3)}.run-badge-manual{background-color:#28a74526;color:#5dd589;border:1px solid rgba(40,167,69,.3)}.automation-history-count{font-size:12px;color:var(--text-secondary);background-color:#ffffff1a;padding:2px 8px;border-radius:10px;font-weight:500}.profile-container{max-width:800px;margin:0 auto;padding:32px;background:var(--dark-lighter, #33334a);min-height:calc(100vh - 120px)}.profile-content h2{color:var(--text, #ffffff);font-size:24px;font-weight:600;margin-bottom:32px;border-bottom:2px solid var(--border-color, #3d3d5c);padding-bottom:12px}.profile-form{display:flex;flex-direction:column;gap:32px}.form-section{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-lg, 8px);padding:24px}.form-section h3{color:var(--text, #ffffff);font-size:18px;font-weight:600;margin:0 0 16px;border-bottom:1px solid var(--border-color, #3d3d5c);padding-bottom:8px}.avatar-section{display:flex;align-items:center;gap:24px}.current-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid var(--border-color, #3d3d5c);background:var(--dark-lighter, #33334a);display:flex;align-items:center;justify-content:center}.avatar-preview{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:32px;font-weight:600;color:var(--text-secondary, #e0e0e0)}.avatar-upload{display:flex;flex-direction:column;gap:8px}.avatar-upload input[type=file]{display:none}.upload-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:8px 16px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;border:none;display:inline-block}.upload-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.avatar-upload small{color:var(--text-secondary, #e0e0e0);font-size:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:var(--text, #ffffff);font-size:14px;font-weight:500}.form-input{background:var(--dark-lighter, #33334a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-sm, 4px);padding:10px 12px;color:var(--text, #ffffff);font-size:14px;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary, #64ffda);box-shadow:0 0 0 2px #64ffda1a}.form-input.disabled{background:var(--dark-card, #2a2a3a);color:var(--text-secondary, #e0e0e0);cursor:not-allowed}.form-input::placeholder{color:var(--text-secondary, #e0e0e0);opacity:.6}.form-group small{color:var(--text-secondary, #e0e0e0);font-size:12px;margin-top:4px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.info-label{color:var(--text-secondary, #e0e0e0);font-size:14px}.info-value{color:var(--text, #ffffff);font-size:14px;font-weight:500;font-family:Monaco,Menlo,monospace}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border-color, #3d3d5c)}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:10px 20px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.btn-primary:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);color:var(--text-secondary, #e0e0e0);padding:10px 20px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:var(--dark-lighter, #33334a);color:var(--text, #ffffff);border-color:#4d4d6c}.admin-page{padding:32px;background:var(--dark-lighter, #33334a);max-width:1600px;margin:0 auto;width:100%;height:100%;min-height:0;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;flex:1 1 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;border-bottom:2px solid var(--border-color, #3d3d5c);padding-bottom:16px}.admin-header h1{color:var(--text, #ffffff);font-size:28px;font-weight:600;margin:0}.window-selector{display:flex;align-items:center;gap:8px}.window-selector label{color:var(--text-secondary, #e0e0e0);font-size:14px;font-weight:500}.window-selector select{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);color:var(--text, #ffffff);padding:6px 12px;border-radius:var(--radius-sm, 4px);font-size:14px;cursor:pointer}.metrics-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:32px}@media (min-width: 640px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1400px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}.metric-card{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-lg, 8px);padding:20px;text-align:center;transition:all .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.metric-header h4{font-size:14px;font-weight:600;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:28px;font-weight:700;color:var(--text, #ffffff);margin:8px 0;font-family:Monaco,Menlo,monospace}.metric-subtitle{font-size:12px;color:var(--text-secondary, #e0e0e0);margin-top:4px}.admin-section{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-lg, 8px);padding:24px;margin-bottom:24px}.admin-section h3{color:var(--text, #ffffff);font-size:18px;font-weight:600;margin:0 0 16px;border-bottom:1px solid var(--border-color, #3d3d5c);padding-bottom:8px}.top-agents-table{max-height:400px;overflow-y:auto;overflow-x:auto}.top-agents-table table{width:100%;border-collapse:collapse}.top-agents-table th,.top-agents-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color, #3d3d5c)}.top-agents-table th{position:sticky;top:0;background:var(--dark-lighter, #33334a);color:var(--text-secondary, #e0e0e0);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;z-index:1}.top-agents-table td{color:var(--text, #ffffff);font-size:14px}.agent-name{font-weight:500;color:var(--primary, #64ffda)!important}.runs-count{font-family:Monaco,Menlo,monospace}.success-rate .rate{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.rate--good{background:#10b98133;color:#10b981}.rate--ok{background:#f59e0b33;color:#f59e0b}.rate--poor{background:#ef444433;color:#ef4444}.avg-cost{font-family:Monaco,Menlo,monospace}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center}.loading-state{color:var(--text-secondary, #e0e0e0);font-size:16px}.error-state{color:var(--text, #ffffff)}.error-state p{color:#ef4444;font-size:16px;margin-bottom:16px}.error-state button{background:var(--primary, #64ffda);color:var(--dark-card, #2a2a3a);border:none;padding:8px 16px;border-radius:var(--radius-sm, 4px);font-weight:500;cursor:pointer}.admin-section .empty-state{text-align:center;padding:24px;color:var(--text-secondary, #e0e0e0);font-style:italic;min-height:0;font-size:14px}.system-info{padding:16px 0}@media (max-width: 768px){.profile-container,.admin-page{padding:16px}.metrics-grid{grid-template-columns:1fr}.avatar-section,.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.info-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}}.metric-card:hover .metric-value{color:var(--primary, #64ffda)}.top-agents-table tr:hover{background:#ffffff0d}.admin-actions{display:flex;gap:24px;flex-wrap:wrap}.action-group{flex:1;min-width:280px;display:flex;flex-direction:column;gap:8px}.action-description{color:var(--text-secondary, #e0e0e0);font-size:13px;margin:0;line-height:1.4}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;padding:12px 24px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.btn-warning:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff;padding:12px 24px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.btn-danger:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-lg, 8px);padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{color:var(--text, #ffffff);font-size:20px;font-weight:600;margin:0 0 16px}.modal-content p{color:var(--text-secondary, #e0e0e0);font-size:14px;line-height:1.6;margin:0 0 24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.metric-card,.admin-section,.form-section{animation:fadeIn .3s ease}.agent-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0d0d66;display:none;align-items:stretch;justify-content:flex-end;z-index:2000}.agent-settings-backdrop.open{display:flex}.agent-settings-drawer{width:min(520px,100%);background:#111;color:#f5f5f5;height:100%;transform:translate(100%);transition:transform .24s ease-in-out;display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000073;overflow-y:auto;overflow-x:hidden}.agent-settings-drawer.open{transform:translate(0)}.agent-settings-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.agent-settings-footer{padding:24px;border-top:1px solid rgba(255,255,255,.08);border-bottom:none;gap:16px;position:sticky;bottom:0;background:#111;z-index:100;display:flex;align-items:center;justify-content:flex-end}.agent-settings-header h2{margin:0;font-size:1.25rem}.agent-settings-header p{margin:4px 0 0;color:#ffffffa3}.close-btn{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer}.agent-settings-section{padding:24px;border-bottom:1px solid rgba(255,255,255,.08)}.agent-settings-section h3{margin:0 0 8px;font-size:1.1rem}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-description{margin:0 0 16px;color:#ffffffb3;font-size:.9rem}.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0}.policy-grid div{padding:8px 12px;background:#ffffff0a;border-radius:8px}.policy-grid dt{font-size:.75rem;color:#fff9;margin-bottom:4px}.policy-grid dd{margin:0;font-size:.95rem;font-weight:600}.status-enabled{color:#4ade80}.status-disabled{color:#f87171}.muted{color:#fff9}.tools-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:16px}.tool-option{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0a;border-radius:8px;font-size:.9rem}.tool-option input{width:16px;height:16px}.tool-badge{margin-left:auto;padding:2px 6px;border-radius:999px;background:#ffffff1a;font-size:.7rem;text-transform:uppercase}.custom-tool-input{display:flex;gap:8px;margin-bottom:16px}.custom-tool-input input{flex:1;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#00000059;color:inherit}.custom-tool-input button{padding:8px 14px;border-radius:6px;border:none;background:#ffffff1f;color:inherit;cursor:pointer}.tool-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-tertiary{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-weight:600;font-size:.9rem}.btn-primary{background:#2563eb;color:#fff}.btn-secondary{background:#ffffff1f;color:#fff}.btn-tertiary{background:#ffffff0d;color:#ffffffd9}.btn-primary:disabled,.btn-secondary:disabled,.btn-tertiary:disabled{opacity:.6;cursor:not-allowed}.mcp-server-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:16px}.mcp-server-item{padding:16px;border-radius:10px;background:#ffffff0d;display:flex;flex-direction:column;gap:12px}.mcp-server-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.server-name{font-weight:600;font-size:1rem}.server-url{font-size:.85rem;color:#fff9;word-break:break-all}.status-pill{padding:4px 10px;border-radius:999px;font-size:.75rem;text-transform:uppercase}.status-pill.online{background:#4ade8026;color:#4ade80}.status-pill.offline{background:#f8717126;color:#f87171}.server-tools ul{margin:4px 0 0;padding-left:16px;font-size:.85rem}.server-actions{display:flex;justify-content:flex-end}.mcp-add-form{display:flex;flex-direction:column;gap:16px;background:#ffffff0a;padding:16px;border-radius:10px}.form-row{display:flex;gap:12px}.form-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.form-field input{padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#00000059;color:inherit}.form-actions{display:flex;justify-content:flex-end;gap:12px}.saving-indicator{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;color:#f59e0b;font-size:.7rem;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 640px){.agent-settings-drawer{width:100%}}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-column{display:flex;flex-direction:column}.spacer{flex:1 1 auto}html,body{height:100%}body{margin:0;overflow-y:auto}#react-root{display:grid;grid-template-rows:auto auto 1fr auto;height:100%;min-height:100vh;min-height:100dvh;width:100%}.header{grid-row:1}.tabs-container{grid-row:2}.status-bar{grid-row:4}#app-container{grid-row:3;min-height:0;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;position:relative}#app-container>*{flex:1 1 auto;min-height:0;width:100%}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.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:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{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:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.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.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@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;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.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-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.react-flow,.react-flow__background{background:#33334a!important}.canvas-workspace{flex:1;min-height:0;display:flex;background:var(--dark-lighter);position:relative;padding:0}.canvas-workspace.logs-open{gap:0}.canvas-stage{flex:1 1 auto;min-width:0;position:relative;min-height:600px}.execution-logs-drawer{flex:0 0 clamp(320px,30vw,400px);height:100%;background:var(--dark-card, #2a2a3a);border-left:1px solid var(--border-color, #3d3d5c);display:flex;flex-direction:column;box-shadow:-12px 0 24px #0d132166;animation:drawerSlideIn .18s ease;z-index:150}@keyframes drawerSlideIn{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}.agent-node{background:linear-gradient(135deg,#2e2e3e,#2a2a3a);border:1px solid #3d3d5c;border-radius:var(--radius-lg, 8px);padding:12px 14px;color:#e0e0e0;font-size:14px;font-weight:500;min-width:120px;box-shadow:0 2px 4px #0003;display:flex;align-items:center;transition:all .2s ease}.agent-node:hover{background:linear-gradient(135deg,#3a3a4a,#363646);border-color:#4d4d6c;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.agent-node .agent-icon{font-size:16px;margin-right:8px;opacity:.7}.tool-node{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;color:#1e293b;font-size:14px;font-weight:500;min-width:120px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;transition:all .2s ease}.tool-node:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.tool-node .tool-icon{font-size:16px;margin-right:8px}.trigger-node{background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #f59e0b;border-radius:6px;padding:10px 12px;color:#92400e;font-size:14px;font-weight:500;min-width:120px;box-shadow:0 2px 4px #f59e0b33;display:flex;align-items:center;transition:all .2s ease}.trigger-node:hover{background:#fef3c7;border-color:#d97706;transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b4d}.trigger-node .trigger-icon{font-size:16px;margin-right:8px}.canvas-drag-preview{z-index:200;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.drag-preview-node{pointer-events:none;opacity:.95;transition:none;width:100%;height:100%;box-sizing:border-box}.react-flow__controls{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-sm, 4px)}.react-flow__controls-button{background:transparent;border:none;color:var(--text-secondary, #e0e0e0);transition:all .2s ease}.react-flow__controls-button:hover{background:#ffffff1a;color:var(--text, #ffffff)}.react-flow__minimap{background:var(--dark-card, #2a2a3a);border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-sm, 4px)}.canvas-save-banner{position:absolute;top:16px;right:16px;padding:10px 16px;border-radius:8px;background:#1e40afe6;color:#e0f2fe;font-size:13px;font-weight:600;box-shadow:0 10px 20px #0f172a59;border:1px solid rgba(59,130,246,.4);display:inline-flex;align-items:center;gap:8px;letter-spacing:.01em;animation:bannerPop .18s ease}.canvas-save-banner:before{content:"•";font-size:20px;line-height:1;color:#bae6fd}@keyframes bannerPop{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.canvas-container{display:flex;flex-direction:row;height:100%;background:var(--dark-lighter, #33334a)}.react-flow__edge-path{stroke:#64748b;stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--primary, #64ffda);stroke-width:3}.react-flow__handle{background:var(--primary, #64ffda);border:2px solid #ffffff;width:8px;height:8px}.react-flow__handle.connecting{background:var(--secondary, #ff6b6b)}.react-flow__handle.valid{background:var(--success, #4ecdc4)}.execution-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--dark-card, #2a2a3a);border-bottom:1px solid var(--border-color, #3d3d5c);margin-bottom:0}.execution-buttons{display:flex;gap:8px;align-items:center}.canvas-mode-toggles{display:inline-flex;gap:6px;margin-left:16px}.canvas-toggle-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(148,163,184,.4);background:#1e293b99;color:#e2e8f0d9;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:14px}.canvas-toggle-btn:hover{border-color:#63b3edb3;color:#f8fafc}.canvas-toggle-btn[aria-pressed=true]{background:#3b82f633;border-color:#3b82f6cc;color:#e0f2fe;box-shadow:0 0 0 1px #3b82f640}.run-button{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:8px 16px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.run-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.run-button:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.run-button.loading{background:#f59e0b;cursor:wait}.cancel-button{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff;padding:8px 16px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.logs-button{background:var(--dark-lighter, #33334a);border:1px solid var(--border-color, #3d3d5c);color:var(--text-secondary, #e0e0e0);padding:8px 16px;border-radius:var(--radius-sm, 4px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.logs-button:hover{background:var(--dark-card, #2a2a3a);color:var(--text, #ffffff)}.execution-status{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;padding:6px 12px;border-radius:var(--radius-sm, 4px);border:1px solid}.execution-status--waiting{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.execution-status--running{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6;animation:pulse 2s infinite}.execution-status--finished{background:#10b9811a;border-color:#10b981;color:#10b981}.execution-status--cancelled{background:#ef44441a;border-color:#ef4444;color:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.execution-id{font-size:12px;opacity:.7;font-family:Monaco,Menlo,monospace}.logs-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--dark-lighter, #33334a);border-bottom:1px solid var(--border-color, #3d3d5c)}.logs-header h4{margin:0;font-size:16px;font-weight:600;color:var(--text, #ffffff)}.close-logs{background:none;border:none;color:var(--text-secondary, #e0e0e0);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm, 4px);transition:all .2s ease}.close-logs:hover{background:#ffffff1a;color:var(--text, #ffffff)}.logs-content{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.execution-info{display:flex;gap:24px;font-size:14px;color:var(--text-secondary, #e0e0e0);font-family:Monaco,Menlo,monospace}.execution-info>div{min-width:0}.execution-info pre{background:#0003;padding:8px;border-radius:var(--radius-sm, 4px);font-size:12px;max-width:400px;overflow:auto}.logs-output h5{margin:0 0 8px;font-size:14px;font-weight:500;color:var(--text, #ffffff)}.logs-text{background:#0000004d;border:1px solid var(--border-color, #3d3d5c);border-radius:var(--radius-sm, 4px);padding:12px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.5;color:var(--text-secondary, #e0e0e0);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;margin:0}@media (max-width: 1200px){.execution-logs-drawer{position:absolute;top:64px;right:16px;bottom:16px;left:16px;flex:none;width:auto;max-width:none;border-left:1px solid var(--border-color, #3d3d5c);border-radius:12px;overflow:hidden}.logs-header{border-radius:12px 12px 0 0}}.canvas-context-menu{position:fixed;z-index:220;background:var(--dark-card, #2a2a3a);border:1px solid rgba(61,61,92,.9);border-radius:8px;min-width:180px;box-shadow:0 12px 24px #0f172a73;padding:4px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-context-menu button{width:100%;background:none;border:none;text-align:left;padding:10px 16px;color:#e2e8f0d9;font-size:13px;cursor:pointer;display:block}.canvas-context-menu button:hover{background:#3b82f626;color:#f8fafc}.shortcut-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f19a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:240;padding:24px}.shortcut-help-panel{background:var(--dark-card, #2a2a3a);border:1px solid rgba(61,61,92,.9);border-radius:12px;padding:20px 24px;width:min(420px,100%);box-shadow:0 20px 40px #080b1373;display:flex;flex-direction:column;gap:12px}.shortcut-help-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.shortcut-help-header h3{margin:0;font-size:18px;font-weight:600;color:#f8fafc}.shortcut-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;color:#e2e8f0d9;font-size:14px}.shortcut-help-list kbd{display:inline-block;padding:2px 6px;border-radius:6px;background:#0f172abf;border:1px solid rgba(148,163,184,.45);font-size:12px;font-family:Monaco,Menlo,monospace;color:#e2e8f0;margin-right:6px}.shortcut-help-hint{margin:0;font-size:12px;color:#94a3b8cc;text-align:right}@media (max-width: 767px){.react-flow__controls,.react-flow__minimap{display:none}.execution-controls{flex-direction:column;gap:12px;padding:10px 12px}.execution-buttons{flex-direction:column;width:100%;gap:10px}.run-button,.cancel-button,.logs-button{width:100%;padding:12px 14px;font-size:15px;min-height:48px;display:flex;align-items:center;justify-content:center}.canvas-mode-toggles{flex-direction:column;width:100%;margin:0;gap:8px}.canvas-toggle-btn{width:100%;height:44px;min-height:44px;font-size:13px}.execution-status{font-size:13px;padding:8px 10px;width:100%}}@media (max-width: 1024px) and (orientation: landscape){.execution-controls{flex-wrap:wrap;padding:10px 12px}.execution-buttons{gap:6px}.run-button,.cancel-button,.logs-button{padding:8px 12px;font-size:13px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.execution-logs-drawer,.canvas-save-banner,.execution-status--running{animation:none!important}.execution-controls,.canvas-toggle-btn,.react-flow__controls-button,.run-button,.cancel-button,.logs-button,.agent-pill,.tool-palette-item,.react-flow__edge,.react-flow__node{transition:none!important}.agent-pill:hover{transform:none!important;box-shadow:0 4px 8px #0003}.tool-palette-item:hover{transform:none!important;box-shadow:0 2px 4px #0000001a}.run-button:hover:not(:disabled){transform:none!important;box-shadow:0 4px 8px #10b9814d}.cancel-button:hover:not(:disabled){transform:none!important;box-shadow:0 4px 8px #ef44444d}.agent-shelf-item:hover{transform:none!important}}
