:root{--bg:#0B0E11;--bg2:#141820;--bg3:#1C2230;--border:rgba(167,139,250,0.12);--t1:#F0ECF6;--t2:#A8A3C0;--t3:#6E698A;--agent:#A78BFA;--tool:#38BDF8;--memory:#4ADE80;--router:#FBBF24;--r:10px;--tr:0.2s ease;--f:'Inter',-apple-system,sans-serif;--m:'SF Mono','Fira Code',monospace}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--f);background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh}
.app-container{display:flex;flex-direction:column;height:100vh}
.app-header{padding:12px 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:rgba(20,24,32,0.8);backdrop-filter:blur(16px);z-index:10}
.header-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.logo-group{display:flex;align-items:center;gap:12px}
.logo-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,rgba(167,139,250,0.12),rgba(56,189,248,0.08));border-radius:var(--r);border:1px solid var(--border)}
h1{font-size:1.05rem;font-weight:700;background:linear-gradient(135deg,var(--agent),var(--tool));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.header-actions{display:flex;gap:6px}
.btn{padding:8px 14px;border:none;border-radius:8px;font-family:var(--f);font-size:0.8rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.btn-secondary{background:var(--bg3);color:var(--t2);border:1px solid var(--border)}
.btn-accent{background:linear-gradient(135deg,var(--agent),var(--tool));color:#fff}
.btn-ghost{background:transparent;color:var(--t3)}
.main-content{flex:1;display:flex;flex-direction:column;position:relative}
.toolbar{display:flex;gap:6px;padding:10px 20px;background:var(--bg2);border-bottom:1px solid var(--border);z-index:5}
.node-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg3);color:var(--t1);font-family:var(--f);font-size:0.78rem;font-weight:600;cursor:pointer;transition:all var(--tr)}
.node-btn:hover{transform:translateY(-1px)}
.agent-btn:hover{border-color:var(--agent);color:var(--agent)}
.tool-btn:hover{border-color:var(--tool);color:var(--tool)}
.memory-btn:hover{border-color:var(--memory);color:var(--memory)}
.router-btn:hover{border-color:var(--router);color:var(--router)}
canvas{flex:1;display:block;cursor:crosshair}
.mermaid-output{position:absolute;bottom:20px;left:20px;right:20px;max-height:200px;overflow:auto;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px;z-index:5}
.mermaid-output pre{font-family:var(--m);font-size:0.78rem;color:var(--t2);white-space:pre-wrap}
