:root{--palette-paper-50: #fefdfa;--palette-paper-100: #faf8f3;--palette-paper-200: #f4efe4;--palette-paper-300: #f0ead9;--palette-paper-400: #e8e0cc;--palette-ink-50: #ffffff;--palette-ink-100: #f5f5f5;--palette-ink-300: #bdbdbd;--palette-ink-400: #8a8a8a;--palette-ink-600: #3a3a3a;--palette-ink-700: #2a2a2a;--palette-ink-900: #1a1a1a;--palette-blue-100: #dbeafe;--palette-blue-300: #93c5fd;--palette-blue-500: #3b82f6;--palette-blue-700: #1d4ed8;--palette-red-100: #fee2e2;--palette-red-300: #fca5a5;--palette-red-500: #ef4444;--palette-red-700: #b91c1c;--palette-amber-100: #fef3c7;--palette-amber-200: #fff091;--palette-amber-300: #fde68a;--palette-amber-500: #f59e0b;--palette-amber-700: #b45309;--palette-green-100: #d1fae5;--palette-green-300: #6ee7b7;--palette-green-500: #10b981;--palette-green-700: #047857;--palette-purple-100: #f3eaff;--palette-purple-300: #d8b4fe;--palette-purple-500: #a855f7;--palette-purple-700: #7e22ce;--palette-teal-500: #0ea5a4;--palette-teal-700: #0f766e;--palette-teal-50: #f0fdfa}:root,[data-theme=sketch]{--theme-name: "sketch";--color-scheme: light;--bg-base: var(--palette-paper-100);--bg-surface: var(--palette-paper-50);--bg-subtle: var(--palette-paper-200);--bg-muted: var(--palette-paper-300);--bg-inverted: var(--palette-ink-900);--bg-overlay: rgba(26, 26, 26, .42);--fg-default: var(--palette-ink-900);--fg-soft: var(--palette-ink-600);--fg-faint: var(--palette-ink-400);--fg-inverted: var(--palette-paper-50);--fg-on-accent: #ffffff;--border-strong: var(--palette-ink-900);--border-default: var(--palette-ink-700);--border-soft: var(--palette-ink-400);--border-faint: rgba(0, 0, 0, .12);--accent-primary: var(--palette-blue-500);--accent-primary-fg: #ffffff;--accent-primary-bg: var(--palette-blue-100);--accent-secondary: var(--palette-purple-500);--accent-secondary-fg: #ffffff;--accent-secondary-bg: var(--palette-purple-100);--accent-warning: var(--palette-amber-500);--accent-warning-fg: var(--palette-ink-900);--accent-warning-bg: var(--palette-amber-100);--accent-danger: var(--palette-red-500);--accent-danger-fg: #ffffff;--accent-danger-bg: var(--palette-red-100);--accent-success: var(--palette-green-500);--accent-success-fg: #ffffff;--accent-success-bg: var(--palette-green-100);--accent-info: var(--palette-teal-500);--accent-info-fg: #ffffff;--accent-info-bg: var(--palette-teal-50);--state-running: var(--palette-blue-500);--state-thinking: var(--palette-purple-500);--state-waiting: var(--palette-amber-500);--state-blocked: var(--palette-red-500);--state-done: var(--palette-green-500);--state-excluded: var(--palette-ink-400);--state-dirty: var(--palette-red-500);--state-dormant: var(--palette-ink-300);--knowledge-constraint: var(--palette-amber-500);--knowledge-goal: var(--palette-blue-500);--knowledge-insight: var(--palette-purple-500);--knowledge-decision: var(--palette-green-500);--knowledge-risk: var(--palette-red-500);--knowledge-file: var(--palette-teal-500);--font-hand: "Kalam", "Caveat", system-ui, sans-serif;--font-title: "Caveat", "Kalam", system-ui, sans-serif;--font-body: "Kalam", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 26px;--text-4xl: 34px;--text-5xl: 56px;--leading-tight: 1.2;--leading-normal: 1.45;--leading-relaxed: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--radius-none: 0;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 14px;--radius-pill: 999px;--stroke-hair: 1px;--stroke-thin: 1.2px;--stroke-base: 1.3px;--stroke-thick: 1.5px;--stroke-bold: 2px;--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-8: 16px;--space-10: 20px;--space-12: 24px;--space-16: 32px;--space-20: 40px;--shadow-none: none;--shadow-card: 4px 5px 0 rgba(0, 0, 0, .08), 8px 10px 0 rgba(0, 0, 0, .04);--shadow-pop: 3px 4px 0 rgba(0, 0, 0, .1);--shadow-hover: 2px 3px 0 rgba(0, 0, 0, .12);--shadow-inset: inset 0 1px 0 rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .25);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--motion-ease: cubic-bezier(.2, .7, .2, 1);--motion-spring: cubic-bezier(.34, 1.56, .64, 1);--texture-paper: radial-gradient(circle at 20% 30%, rgba(0,0,0,.015) 0, transparent 40%), radial-gradient(circle at 80% 70%, rgba(0,0,0,.015) 0, transparent 40%), repeating-linear-gradient(0deg, transparent 0 24px, rgba(0,0,0,.01) 24px 25px);--texture-dirty: repeating-linear-gradient(-35deg, rgba(239, 68, 68, .05) 0 8px, rgba(239, 68, 68, .1) 8px 16px);--texture-dormant: repeating-linear-gradient(-45deg, rgba(0, 0, 0, .04) 0 6px, transparent 6px 12px);--z-base: 1;--z-sticky: 50;--z-dropdown: 100;--z-overlay: 500;--z-modal: 800;--z-toast: 900;--z-tooltip: 1000;--btn-height-sm: 24px;--btn-height-md: 28px;--btn-height-lg: 34px;--btn-padding-x: 10px;--btn-radius: var(--radius-md);--btn-border: var(--stroke-base) solid var(--border-default);--btn-font: var(--font-hand);--btn-font-size: var(--text-sm);--btn-default-bg: var(--bg-surface);--btn-default-fg: var(--fg-default);--btn-default-hover: var(--bg-subtle);--btn-primary-bg: var(--accent-primary);--btn-primary-fg: var(--accent-primary-fg);--btn-primary-hover: var(--palette-blue-700);--btn-danger-bg: var(--accent-danger);--btn-danger-fg: var(--accent-danger-fg);--btn-danger-hover: var(--palette-red-700);--btn-ghost-bg: transparent;--btn-ghost-fg: var(--fg-soft);--btn-ghost-hover: var(--bg-subtle);--card-bg: var(--bg-surface);--card-border: var(--stroke-thick) solid var(--border-default);--card-radius: var(--radius-xl);--card-padding: var(--space-8) var(--space-10);--card-shadow: var(--shadow-card);--input-bg: var(--bg-surface);--input-border: var(--stroke-base) solid var(--border-default);--input-radius: var(--radius-md);--input-padding: 6px 10px;--input-font: var(--font-hand);--input-focus-ring: var(--shadow-focus);--chip-bg: var(--bg-subtle);--chip-border: var(--stroke-thin) solid var(--border-default);--chip-radius: var(--radius-pill);--chip-padding: 2px 9px;--chip-font-size: var(--text-sm);--node-bg: var(--bg-surface);--node-border: var(--stroke-thick) solid var(--border-default);--node-radius: var(--radius-xl);--node-padding: var(--space-5) var(--space-6);--node-shadow: var(--shadow-pop);--node-min-width: 120px;--node-running-bg: rgba(59, 130, 246, .06);--node-done-bg: rgba(16, 185, 129, .06);--node-blocked-bg: rgba(239, 68, 68, .08);--node-waiting-bg: rgba(245, 158, 11, .1);--sticky-bg: var(--palette-amber-200);--sticky-tape-bg: var(--palette-purple-300);--sticky-rotate: -1.2deg;--sticky-shadow: 3px 4px 6px rgba(0, 0, 0, .1);--chat-user-bg: var(--palette-blue-100);--chat-user-fg: var(--fg-default);--chat-agent-bg: var(--bg-subtle);--chat-agent-fg: var(--fg-default);--chat-system-bg: transparent;--chat-system-fg: var(--fg-faint);--chat-bubble-radius: var(--radius-lg);--monitor-bg: #0f1419;--monitor-fg: #c8d1dc;--monitor-fg-faint: #6b7684;--monitor-accent: var(--palette-green-500);--monitor-border: #1f2937;--monitor-font: var(--font-mono);--edge-default: var(--border-default);--edge-active: var(--accent-primary);--edge-derived: var(--accent-secondary);--edge-merge: var(--accent-success);--edge-knowledge: var(--accent-secondary);--edge-dashed-gap: "4 3";--tweaks-bg: var(--bg-surface);--tweaks-border: var(--stroke-bold) solid var(--border-strong);--tweaks-shadow: var(--shadow-card)}[data-theme=clean]{--theme-name: "clean";--color-scheme: light;--bg-base: #ffffff;--bg-surface: #ffffff;--bg-subtle: #f7f7f8;--bg-muted: #efeff1;--fg-default: #111827;--fg-soft: #4b5563;--fg-faint: #9ca3af;--border-strong: #111827;--border-default: #d1d5db;--border-soft: #e5e7eb;--border-faint: rgba(0, 0, 0, .06);--font-hand: system-ui, -apple-system, "Segoe UI", sans-serif;--font-title: system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif;--stroke-base: 1px;--stroke-thick: 1px;--stroke-bold: 1.5px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);--shadow-pop: 0 2px 6px rgba(0,0,0,.08);--shadow-hover: 0 1px 3px rgba(0,0,0,.08);--texture-paper: none;--sticky-rotate: 0deg;--sticky-bg: #fef3c7;--sticky-shadow: 0 1px 3px rgba(0,0,0,.08)}[data-theme=dark]{--theme-name: "dark";--color-scheme: dark;--bg-base: #0d1117;--bg-surface: #161b22;--bg-subtle: #1c2229;--bg-muted: #252b33;--bg-inverted: #f0f6fc;--bg-overlay: rgba(0, 0, 0, .6);--fg-default: #f0f6fc;--fg-soft: #c9d1d9;--fg-faint: #8b949e;--fg-inverted: #0d1117;--border-strong: #f0f6fc;--border-default: #30363d;--border-soft: #21262d;--border-faint: rgba(255, 255, 255, .08);--accent-primary: #58a6ff;--accent-primary-bg: rgba(88, 166, 255, .15);--accent-secondary: #d2a8ff;--accent-secondary-bg: rgba(210, 168, 255, .15);--accent-warning: #f0883e;--accent-warning-bg: rgba(240, 136, 62, .15);--accent-danger: #ff7b72;--accent-danger-bg: rgba(255, 123, 114, .15);--accent-success: #3fb950;--accent-success-bg: rgba(63, 185, 80, .15);--accent-info: #39c5cf;--accent-info-bg: rgba(57, 197, 207, .15);--state-running: #58a6ff;--state-thinking: #d2a8ff;--state-waiting: #f0883e;--state-blocked: #ff7b72;--state-done: #3fb950;--shadow-card: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);--shadow-pop: 0 4px 12px rgba(0,0,0,.4);--shadow-hover: 0 2px 6px rgba(0,0,0,.3);--shadow-focus: 0 0 0 3px rgba(88, 166, 255, .35);--texture-paper: none;--monitor-bg: #010409;--monitor-fg: #c9d1d9;--monitor-border: #30363d;--chat-user-bg: rgba(88,166,255,.18);--chat-agent-bg: #1c2229;--sticky-bg: #3a3420;--sticky-tape-bg: rgba(210, 168, 255, .4)}[data-theme=print]{--theme-name: "print";--color-scheme: light;--bg-base: #ffffff;--bg-surface: #ffffff;--bg-subtle: #f5f5f5;--bg-muted: #ebebeb;--shadow-card: none;--shadow-pop: none;--shadow-hover: none;--shadow-focus: none;--texture-paper: none;--sticky-rotate: 0deg;--stroke-base: 1px;--stroke-thick: 1px;--stroke-bold: 1.5px}html{color-scheme:var(--color-scheme)}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--fg-default);background-color:var(--bg-base);background-image:var(--texture-paper);transition:background-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}::selection{background:var(--accent-primary);color:var(--accent-primary-fg)}html,body{margin:0;padding:0;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--fg-default);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-title);font-weight:600;letter-spacing:.01em;margin:0}button,input,textarea{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}code,pre,.mono{font-family:var(--font-mono)}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(0,0,0,.015) 1px,transparent 1px);background-size:6px 6px;z-index:0}#root{position:relative;z-index:1}.app-frame{border:2px solid var(--border-default);border-radius:14px;background:var(--bg-base);height:100%;display:grid;position:relative;overflow:hidden;box-shadow:4px 5px #00000014,8px 10px #0000000a;grid-template-columns:260px 1fr 340px;grid-template-rows:44px 1fr;transition:grid-template-rows .25s,grid-template-columns .25s}.app-frame.ws-collapsed{grid-template-columns:260px 1fr 36px}.app-frame:before{content:"";position:absolute;inset:4px;border:1px solid rgba(0,0,0,.25);border-radius:10px;pointer-events:none}.app-topbar{grid-column:1 / -1;grid-row:1;border-bottom:1.5px solid var(--border-default);padding:10px 16px;display:flex;align-items:center;gap:12px;background:var(--bg-subtle);font-family:var(--font-body);font-size:13px}.app-topbar .dots{display:flex;gap:5px}.app-topbar .dots span{width:10px;height:10px;border:1.2px solid var(--border-default);border-radius:50%;background:var(--bg-base);display:inline-block}.app-topbar .app-title{font-family:var(--font-title);font-weight:700;font-size:18px;color:var(--fg-default)}.app-topbar .app-crumb{font-size:13px;color:var(--fg-faint)}.app-topbar .right{margin-left:auto;display:flex;gap:4px;align-items:center}.avatar{width:26px;height:26px;border-radius:50%;border:1.3px solid var(--border-default);background:var(--bg-base);font-family:var(--font-title);font-size:14px;font-weight:700;display:grid;place-items:center;margin-left:-6px;color:var(--fg-default)}.avatar.a1{background:#ffd3b6}.avatar.a2{background:#c9e4ff}.avatar.a3{background:#d4f0cf}.avatar.bot{background:var(--fg-default);color:var(--bg-base);font-size:11px;font-family:var(--font-body)}.avatar.tiny{width:20px;height:20px;font-size:10px}.panel{position:relative;overflow:hidden}.panel+.panel{border-left:1.5px solid var(--border-default)}.panel-head{padding:9px 12px;border-bottom:1.5px dashed var(--fg-faint);display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;color:var(--fg-soft);background:#f4efe480;height:44px;box-sizing:border-box}.panel-head .title{font-family:var(--font-title);font-size:16px;font-weight:700;color:var(--fg-default)}.panel-head .grow{flex:1}.panel-head .icon-btn{width:24px;height:24px;border:1.3px solid var(--fg-default);border-radius:5px;display:grid;place-items:center;background:var(--bg-base);cursor:pointer;font-size:12px;font-family:var(--font-body);padding:0;color:var(--fg-default)}.panel-body{padding:12px;height:calc(100% - 44px);overflow:auto;box-sizing:border-box}.chat-panel{grid-column:1;display:flex;flex-direction:column;min-height:0}.chat-panel .panel-body{display:flex;flex-direction:column}.chat{display:flex;flex-direction:column;gap:10px;flex:1}.chat-msg{display:flex;gap:7px;align-items:flex-start}.bubble{background:var(--bg-subtle);border:1.3px solid var(--border-default);border-radius:10px;padding:6px 9px;font-family:var(--font-body);font-size:13px;line-height:1.4;max-width:85%;color:var(--fg-default)}.bubble.agent{background:var(--accent-primary-bg)}.bubble.agent-2{background:var(--accent-secondary-bg)}.bubble.agent-3{background:var(--accent-success-bg)}.bubble.system{background:var(--accent-warning-bg);border-style:dashed;font-size:12px}.bubble .who{font-family:var(--font-title);font-weight:700;font-size:13px;margin-right:6px}.bubble .who .tag{font-family:var(--font-body);font-size:9px;padding:1px 5px;border:1px solid var(--fg-default);border-radius:8px;margin-left:3px;vertical-align:1px}.tag-bot{background:var(--fg-default);color:var(--bg-base)}.tag-human{background:var(--bg-base)}.mention{display:inline-block;background:#e8e8ff;border:1px solid var(--accent-secondary);color:var(--accent-secondary);border-radius:5px;padding:0 4px;font-size:11px;font-family:var(--font-mono)}.chat-compose{position:sticky;bottom:0;background:var(--bg-base);border-top:1.5px dashed var(--fg-faint);padding:8px;display:flex;gap:6px;margin:8px -12px -12px}.chat-compose .input{flex:1;border:1.3px solid var(--border-default);border-radius:8px;padding:5px 8px;font-family:var(--font-body);font-size:13px;background:var(--bg-subtle);color:var(--fg-default);resize:none;min-height:32px;outline:none}.chat-compose .input::placeholder{color:var(--fg-faint)}.chat-compose .btn{padding:5px 12px;border:1.3px solid var(--border-default);border-radius:8px;background:var(--fg-default);color:var(--bg-base);font-family:var(--font-title);font-weight:700;font-size:14px;cursor:pointer;flex-shrink:0}.chat-compose .btn:disabled{opacity:.5;cursor:not-allowed}.canvas-panel{grid-column:2;display:flex;flex-direction:column;min-height:0}.canvas{position:relative;flex:1;background-color:var(--bg-base);background-image:radial-gradient(circle at 20px 20px,rgba(0,0,0,.15) 1.2px,transparent 1.8px);background-size:24px 24px;overflow:auto}.canvas-toolbar{position:sticky;top:10px;margin:10px 12px;z-index:3;display:flex;gap:6px;align-items:center;pointer-events:none}.canvas-toolbar>*{pointer-events:auto}.canvas-toolbar .pill{background:var(--bg-base);border:1.3px solid var(--border-default);border-radius:20px;padding:4px 10px;font-size:12px;font-family:var(--font-body);display:flex;gap:6px;align-items:center;color:var(--fg-default)}.canvas-toolbar .pill.live{background:var(--fg-default);color:var(--bg-base)}.canvas-toolbar .pill.live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-danger);animation:aiw-blink 1.2s infinite}@keyframes aiw-blink{0%,to{opacity:1}50%{opacity:.3}}.node{position:relative;border:1.5px solid var(--border-default);background:var(--bg-base);border-radius:10px;padding:7px 9px;font-family:var(--font-body);font-size:12px;min-width:130px;box-shadow:2px 3px #0000001a;transform:rotate(-.5deg);cursor:pointer;display:inline-flex;flex-direction:column;color:var(--fg-default)}.node:nth-child(2n){transform:rotate(.5deg)}.node .node-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}.node .node-title{font-family:var(--font-title);font-size:15px;font-weight:700;line-height:1.1}.node .node-meta{font-size:10px;color:var(--fg-faint);display:flex;align-items:center;gap:5px;margin-top:3px}.node .dot-type{width:9px;height:9px;border-radius:50%;border:1.2px solid var(--fg-default);background:var(--bg-muted);flex-shrink:0}.node.dormant .dot-type{background:var(--bg-muted)}.node.running{background:var(--accent-warning-bg)}.node.running .dot-type{background:var(--accent-warning);animation:aiw-pulse 1.2s infinite}.node.thinking{background:var(--accent-primary-bg)}.node.thinking .dot-type{background:var(--accent-primary);animation:aiw-pulse 1.2s infinite}.node.waiting{background:var(--accent-warning-bg)}.node.waiting .dot-type{background:var(--accent-warning)}.node.blocked{background:var(--accent-danger-bg)}.node.blocked .dot-type{background:var(--accent-danger)}.node.done{background:var(--accent-success-bg)}.node.done .dot-type{background:var(--accent-success)}.node.excluded{opacity:.42;filter:grayscale(.5)}.node.dirty{background:var(--accent-danger-bg);border-style:dashed}.node.dirty .dot-type{background:var(--accent-danger)}.node.selected{outline:3px dashed var(--accent-warning);outline-offset:3px}@keyframes aiw-pulse{0%,to{opacity:1}50%{opacity:.35}}.node .owner{font-size:9px;font-family:var(--font-body);padding:1px 5px;border:1px solid var(--fg-default);border-radius:8px}.node .owner.agent{background:var(--fg-default);color:var(--bg-base)}.node .owner.human{background:var(--bg-base)}.node.knowledge{background:#fff6a8;border:1px solid rgba(0,0,0,.25);border-radius:2px 10px;box-shadow:2px 3px 5px #00000026;transform:rotate(-2deg);padding:8px 10px 9px;min-width:140px;max-width:190px}.node.knowledge:nth-child(2n){transform:rotate(1.6deg)}.node.knowledge:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(-4deg);width:24px;height:10px;background:#a855f759;border:1px solid rgba(168,85,247,.5);border-radius:2px}.legend{position:absolute;bottom:12px;left:12px;background:var(--bg-base);border:1.3px solid var(--border-default);border-radius:10px;padding:6px 10px;font-size:11px;font-family:var(--font-body);display:grid;grid-template-columns:repeat(3,auto);gap:2px 8px;z-index:2;color:var(--fg-default)}.legend .row{display:flex;align-items:center;gap:5px}.legend .sw{width:10px;height:10px;border-radius:3px;border:1.2px solid var(--fg-default)}.ws-panel{grid-column:3;display:flex;flex-direction:column;overflow:hidden;min-height:0}.ws-panel .panel-body{font-family:var(--font-body);color:var(--fg-soft)}.ws-empty{display:flex;flex-direction:column;gap:8px;text-align:center;padding:20px 8px;color:var(--fg-faint);font-size:12px;font-family:var(--font-body)}.artifact-card{display:inline-flex;flex-direction:column;gap:4px;background:#e8f4ff;border:1px solid rgba(0,0,0,.25);border-radius:2px 2px 10px 10px;box-shadow:2px 3px 5px #00000026;padding:8px 10px;min-width:160px;max-width:240px;transform:rotate(.6deg);font-family:var(--font-body);color:var(--fg-default)}.artifact-card:nth-child(2n){transform:rotate(-1deg)}.artifact-card .ac-name{font-family:var(--font-title);font-size:14px;font-weight:700;line-height:1.2;word-break:break-word}.artifact-card .ac-path{font-family:var(--font-mono);font-size:10px;color:var(--fg-soft);word-break:break-all}.artifact-card .ac-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--fg-faint);border-top:1px dashed rgba(0,0,0,.2);padding-top:4px;margin-top:2px}.artifact-card .ac-btn{font-family:var(--font-body);font-size:11px;padding:2px 8px;background:var(--accent-primary);color:var(--accent-primary-fg);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;font-weight:600}.artifact-card .ac-btn:disabled{opacity:.55;cursor:not-allowed}.artifact-card .ac-error{font-size:10px;color:var(--accent-danger);word-break:break-word}.mention-popover{position:absolute;bottom:100%;left:8px;right:8px;margin-bottom:6px;background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:10px;box-shadow:3px 4px #0000001a;padding:6px;display:flex;flex-direction:column;gap:2px;font-family:var(--font-body);z-index:10;max-height:220px;overflow-y:auto}.mention-popover .mp-head{font-family:var(--font-body);font-size:10px;color:var(--fg-faint);padding:2px 6px 4px;border-bottom:1px dashed var(--border-soft);text-transform:uppercase;letter-spacing:.05em}.mention-popover .mp-item{text-align:left;padding:6px 8px;border:1.2px solid transparent;background:transparent;border-radius:6px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;font-family:var(--font-body);cursor:pointer;color:var(--fg-default)}.mention-popover .mp-item:hover,.mention-popover .mp-item.active{background:var(--accent-secondary-bg);border-color:var(--accent-secondary)}.mention-popover .mp-id{grid-column:1;grid-row:1 / span 2;align-self:center;font-family:var(--font-mono);font-size:12px;color:var(--accent-secondary);font-weight:600}.mention-popover .mp-display{grid-column:2;grid-row:1;font-family:var(--font-title);font-size:14px;font-weight:700;line-height:1.1}.mention-popover .mp-hint{grid-column:2;grid-row:2;font-size:11px;color:var(--fg-soft)}.chat-compose{position:relative}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{display:inline-block;font-family:var(--font-body);font-size:12px;padding:2px 9px;background:var(--bg-base);border:1.3px solid var(--border-default);border-radius:999px;color:var(--fg-default)}.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))}
