:root{color:#1c2630;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#1c2630;--muted:#69757d;--faint:#97a1a7;--brand:#b3382a;--brand-deep:#8f2017;--green:#2d715c;--paper:#fffefb;--pane:#f7f9f3;--line:#e2e6dd;--line-strong:#d3d9cf;--shadow-soft:0 1px 2px #1c26300d, 0 8px 24px #1c26300f;--shadow-lift:0 2px 4px #1c26300f, 0 16px 40px #1c26301f;--radius:14px;--radius-sm:10px;background:#eff1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--paper);outline:none;font-size:13.5px;transition:border-color .14s,box-shadow .14s}input:hover,select:hover,textarea:hover{border-color:#b9c2b4}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2d715c24}input::placeholder,textarea::placeholder{color:var(--faint)}input{height:40px;padding:0 12px}select{height:40px;padding:0 32px 0 12px}textarea{resize:vertical;min-height:100px;padding:10px 12px}h1,h2,h3,p{margin:0}label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.login-screen{background:radial-gradient(640px 320px at 18% 0,#b3382a12,#0000 64%),radial-gradient(720px 380px at 86% 100%,#2d715c17,#0000 64%),#eff1ea;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--paper);width:min(410px,100%);box-shadow:var(--shadow-lift);border-radius:20px;gap:22px;padding:34px;display:grid}.login-panel h1{letter-spacing:-.02em;font-size:26px}.brand-mark{color:#fffefb;width:54px;height:54px;box-shadow:var(--shadow-soft);background:linear-gradient(140deg,#2c4145 0%,#1d2f33 100%);border-radius:16px;place-items:center;display:grid}.login-form,.chat-form{gap:12px;display:grid}.eyebrow{color:var(--brand);letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800}.error{border-radius:var(--radius-sm);color:var(--brand-deep);background:#fff0ed;border:1px solid #f1b9b0;padding:10px 12px;font-size:13px}.primary-button,.ghost-button,.icon-button,.new-workflow-button{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;height:38px;font-weight:700;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex}.primary-button{color:#fffefb;background:linear-gradient(160deg, #c2493a 0%, var(--brand) 55%, #a02e21 100%);border:0;box-shadow:0 1px 2px #8f20174d,0 6px 16px #8f201738}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #8f20174d,0 10px 22px #8f201742}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.ghost-button,.icon-button,.new-workflow-button{color:#2c3a40;border:1px solid var(--line-strong);background:var(--paper)}.ghost-button:hover:not(:disabled),.icon-button:hover,.new-workflow-button:hover{box-shadow:var(--shadow-soft);background:#fbfcf7;border-color:#b9c2b4}.ghost-button,.new-workflow-button{padding:0 13px}.ghost-button.danger{color:var(--brand-deep)}.ghost-button.danger:hover:not(:disabled){background:#fff4f1;border-color:#d9a79f}.icon-button{width:38px}.icon-button.compact{border-radius:8px;width:30px;height:30px}.app-shell{grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#fffefbeb;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:8px 20px;display:flex}.topbar-brand{color:var(--brand);align-items:center;gap:10px;display:flex}.topbar h1{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:800}.top-actions{align-items:center;gap:12px;display:flex}.status-text{color:var(--muted);font-size:12px;font-weight:650}.status-text.error{color:var(--brand-deep)}.workflow-shell{background:#eff1ea;grid-template-columns:252px minmax(0,1fr) clamp(290px,26vw,375px);min-height:0;display:grid}.workflow-shell.workflow-pane-collapsed{grid-template-columns:0 minmax(0,1fr) clamp(290px,26vw,375px)}.workflow-shell.norton-pane-collapsed{grid-template-columns:252px minmax(0,1fr) 0}.workflow-shell.workflow-pane-collapsed.norton-pane-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.workflow-list-pane,.norton-pane{background:var(--pane);min-height:0;padding:16px 14px;overflow:auto}.workflow-list-pane{border-right:1px solid var(--line)}.norton-pane{border-left:1px solid var(--line)}.workflow-builder-pane{flex-direction:column;gap:12px;min-width:0;min-height:0;padding:16px;display:flex}.pane-title{color:#2c3a40;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.pane-title span{align-items:center;gap:8px;min-width:0;display:inline-flex}.pane-title h2{letter-spacing:-.01em;font-size:14px;font-weight:800}.workflow-pane-collapsed .workflow-list-pane,.norton-pane-collapsed .norton-pane{border:0;padding:0;overflow:hidden}.workflow-pane-collapsed .workflow-list-pane>*,.norton-pane-collapsed .norton-pane>*{display:none}.workflow-list-pane{align-content:start;gap:12px;display:grid}.workflow-list{gap:7px;display:grid}.workflow-list-item,.empty{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;gap:6px;padding:11px 12px;transition:background .14s,border-color .14s;display:grid}.workflow-list-item:hover{border-color:var(--line);background:#fffefbe6}.workflow-list-item.active{border-color:var(--line);background:var(--paper);box-shadow:inset 3px 0 0 var(--green), var(--shadow-soft)}.workflow-list-item strong{font-size:13.5px;font-weight:700;line-height:1.3}.workflow-list-item span,.empty{color:var(--muted);font-size:12px;line-height:1.35}.workflow-list-item span{align-items:center;gap:5px;display:inline-flex}.empty{border:1px dashed var(--line-strong)}.rail-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:#2c3a40;background:var(--paper);align-items:center;gap:7px;min-height:36px;padding:8px 11px;font-size:12px;font-weight:750;transition:border-color .14s,box-shadow .14s;display:inline-flex}.rail-button:hover{box-shadow:var(--shadow-soft);border-color:#b9c2b4}.canvas-workbench{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.canvas-overlay-top{pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.canvas-overlay-top>*{pointer-events:auto}.canvas-overlay-spacer{flex:1;pointer-events:none!important}.canvas-title-input{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:clamp(170px,18vw,280px);height:44px;box-shadow:var(--shadow-soft);background:#fffefbe0;border-color:#0000;flex-shrink:1;font-size:15px;font-weight:750}.canvas-title-input:hover{border-color:var(--line-strong)}.canvas-title-input:focus{background:var(--paper)}.canvas-toolbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:0;box-shadow:var(--shadow-soft);background:#fffefbeb;border-radius:12px;align-items:center;gap:9px;padding:5px 9px;display:flex;overflow-x:auto}.toolbar-divider{background:var(--line);flex-shrink:0;align-self:stretch;width:1px}.node-buttons,.edge-controls{flex-shrink:0}.node-buttons{flex-wrap:nowrap;gap:7px;display:flex}.node-buttons .ghost-button,.edge-controls .ghost-button{border-radius:9px;height:33px;font-size:13px}.edge-controls{color:var(--faint);flex-wrap:nowrap;align-items:center;gap:7px;display:flex}.edge-controls select,.edge-controls input{border-radius:9px;width:auto;height:33px;font-size:13px}.edge-controls select{max-width:148px}.edge-controls input{width:126px}.process-canvas{cursor:default;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(#1c26301a 1px,#0000 1.2px) 0 0/22px 22px,linear-gradient(#fdfdf9 0%,#f8faf3 100%) 0 0/100% 100%;flex:1;min-height:0;position:relative;overflow:auto;box-shadow:inset 0 1px 3px #1c26300a}.canvas-lines{pointer-events:none;width:1600px;height:1000px;position:absolute;inset:0}.canvas-lines line{stroke:#9aa79e;stroke-width:1.6px;marker-end:url(#arrowhead)}.canvas-lines polygon{fill:#9aa79e}.canvas-lines text{paint-order:stroke;stroke:#fbfcf6;stroke-width:5px;fill:#5d6a64;font-size:11.5px;font-weight:700}.canvas-lines .edge-hit{stroke:#0000;stroke-width:16px;marker-end:none;pointer-events:stroke;cursor:pointer}.canvas-lines g.selected line:not(.edge-hit){stroke:var(--green);stroke-width:2.2px}.canvas-lines g.selected polygon,.canvas-lines g.selected text{fill:var(--green)}.empty-canvas-state{border:1px dashed var(--line-strong);border-radius:var(--radius);color:#5d6a64;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center;background:#fffefbd9;justify-items:center;gap:9px;width:min(340px,100% - 48px);padding:26px 22px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-canvas-state svg{color:var(--brand)}.empty-canvas-state strong{color:#2c3a40;font-size:15px}.empty-canvas-state span{font-size:13px;line-height:1.45}.canvas-node{border:1px solid var(--line);width:172px;min-height:88px;color:var(--ink);background:var(--paper);cursor:grab;text-align:left;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:13px;align-content:start;gap:5px;padding:11px 12px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid;position:absolute;box-shadow:0 1px 2px #1c26300f,0 10px 24px #1c263012}.canvas-node:active{cursor:grabbing}.canvas-node:hover{transform:translateY(-2px);box-shadow:0 2px 4px #1c263012,0 16px 32px #1c26301f}.canvas-node.selected{border-color:var(--green);box-shadow:0 0 0 3px #2d715c29,0 10px 24px #1c263014}.canvas-node.dragging{opacity:.6}.canvas-node .node-type{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:2px 7px;font-size:9.5px;font-weight:800;display:inline-flex}.canvas-node strong{letter-spacing:-.01em;font-size:13.5px;font-weight:750;line-height:1.25}.canvas-node small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.35}.canvas-node.person,.canvas-node.role,.canvas-node.actor{background:linear-gradient(#f3faf6 0%,#ecf5f0 100%);border-color:#c4dad0}.canvas-node.person .node-type,.canvas-node.role .node-type,.canvas-node.actor .node-type{color:#245c4b;background:#2d715c1f}.canvas-node.tool,.canvas-node.system{background:linear-gradient(#fffbef 0%,#fbf4dd 100%);border-color:#e3d6a4}.canvas-node.tool .node-type,.canvas-node.system .node-type{color:#79621a;background:#aa8a2324}.canvas-node.agent{background:linear-gradient(#f6f4fc 0%,#efecf8 100%);border-color:#cfc8e6}.canvas-node.agent .node-type{color:#4d4178;background:#5d4e9421}.canvas-node.process,.canvas-node.object{background:linear-gradient(#fff7f1 0%,#fbefe6 100%);border-color:#e4cabb}.canvas-node.process .node-type,.canvas-node.object .node-type{color:#8a4a26;background:#a65c3121}.node-editor{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:252px;box-shadow:var(--shadow-lift);background:#fffefbf5;gap:10px;padding:14px;display:grid;position:absolute;top:62px;right:12px}.node-editor-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.node-editor-head .eyebrow{margin-bottom:0}.node-editor textarea{min-height:84px}.edge-summary{color:#2c3a40;font-size:13px;font-weight:700}.norton-pane{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.message-list{flex-direction:column;gap:10px;min-height:280px;padding-right:3px;display:flex;overflow:auto}.message{border:1px solid var(--line);background:var(--paper);border-radius:14px;max-width:94%;padding:10px 13px;box-shadow:0 1px 2px #1c26300a}.message.assistant{border-bottom-left-radius:5px;align-self:flex-start}.message.user{background:linear-gradient(#f0f8f4 0%,#e9f3ed 100%);border-color:#c8ddd4;border-bottom-right-radius:5px;align-self:flex-end}.message p{color:#43525b;white-space:pre-wrap;font-size:13px;line-height:1.5}.message.thinking p{color:var(--faint);font-style:italic}.message-role{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800}.message.assistant .message-role{color:var(--brand)}.chat-form{margin-top:12px}.chat-form textarea{border-radius:var(--radius);min-height:88px;font-size:13px;line-height:1.5}.attachment-list,.queued-attachments,.chat-actions{flex-wrap:wrap;gap:8px;display:flex}.attachment-list{margin-top:10px}.attachment-chip{border:1px solid var(--line-strong);color:#2c3a40;background:var(--paper);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:5px 9px;font-size:12px;font-weight:650;display:inline-flex}.attachment-chip.removable{cursor:pointer}.attachment-chip.removable:hover{color:var(--brand-deep);border-color:#d9a79f}.file-button{cursor:pointer}.file-button input{display:none}.file-button.disabled{cursor:not-allowed;opacity:.55}.chat-actions{justify-content:space-between}.view-toggle{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);background:#fffefbeb;border-radius:12px;flex-shrink:0;align-items:center;gap:3px;padding:4px;display:inline-flex}.view-toggle button{height:33px;color:var(--muted);letter-spacing:.03em;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:800;transition:background .14s,color .14s,box-shadow .14s;display:inline-flex}.view-toggle button:hover:not(:disabled){color:var(--ink)}.view-toggle button.active{color:#4d4178;background:#efecf8;box-shadow:inset 0 0 0 1px #cfc8e6}.view-toggle button:disabled{cursor:not-allowed;opacity:.45}.regenerate-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffefbeb;flex-shrink:0;height:43px}svg.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.canvas-node.automation{background:linear-gradient(#f7f4ff 0%,#eee9fb 100%);border:1.6px dashed #9d8fd4}.canvas-node.automation .node-type{color:#4d4178;background:#5d4e9421}.canvas-node.automation.selected{border-color:#5d4e94;box-shadow:0 0 0 3px #5d4e942e,0 10px 24px #1c263014}.automation-kind-badge{color:#fffefb;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(160deg,#7a68bd 0%,#5d4e94 100%);border-radius:999px;align-items:center;gap:4px;width:fit-content;margin-top:2px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.modal-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c263066;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--paper);width:min(520px,100%);max-height:min(640px,100vh - 40px);box-shadow:var(--shadow-lift);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, #f7f4ff 0%, var(--paper) 100%);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 14px;display:flex}.modal-head .eyebrow{color:#5d4e94}.modal-head h2{letter-spacing:-.01em;margin:4px 0 6px;font-size:19px}.modal-subtitle{color:var(--muted);font-size:13px;line-height:1.45}.modal-body{gap:16px;padding:18px 20px 20px;display:grid;overflow-y:auto}.modal-body h3{color:#2c3a40;align-items:center;gap:7px;margin-bottom:6px;font-size:13px;font-weight:800;display:inline-flex}.modal-body h3 svg{color:#5d4e94}.modal-body p,.modal-body li{color:var(--muted);font-size:13.5px;line-height:1.55}.modal-body ul{gap:4px;padding-left:18px;display:grid}@media (width<=1160px){.app-shell{height:auto;overflow:visible}.workflow-shell{grid-template-columns:1fr}.workflow-list-pane{border-right:0;border-bottom:1px solid var(--line)}.norton-pane{border-left:0;border-top:1px solid var(--line);min-height:560px}.message-list{max-height:420px}.process-canvas{min-height:520px}}@media (width<=760px){.canvas-overlay-top{flex-wrap:wrap}.canvas-toolbar{width:100%}.edge-controls select,.edge-controls input{max-width:120px}.canvas-title-input{width:100%}.process-canvas{min-height:480px}.node-editor{width:calc(100% - 24px)}}
