@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ll-bg: #F7F8FB;--ll-surface: #FFFFFF;--ll-surface-2: #F1F3F8;--ll-border: #E6E9F0;--ll-border-strong: #D5DAE4;--ll-text: #1A2236;--ll-text-2: #4A5578;--ll-text-3: #7A849B;--ll-text-muted: #A0A8BD;--ll-sidebar-bg: #1E2A4A;--ll-sidebar-bg-2: #18213A;--ll-sidebar-text: #B8C0D9;--ll-sidebar-text-active:#FFFFFF;--ll-sidebar-hover: #28345A;--ll-accent: #14B8A6;--ll-accent-soft: #CCFBF1;--ll-accent-text: #0F766E;--ll-accent-2: #3B82F6;--ll-type-email: #14B8A6;--ll-type-email-bg: #CCFBF1;--ll-type-email-text: #0D6B63;--ll-type-announce: #8B5CF6;--ll-type-announce-bg: #EDE4FE;--ll-type-announce-text: #5B3BA8;--ll-type-note: #F59E0B;--ll-type-note-bg: #FEF3C7;--ll-type-note-text: #92540C;--ll-type-landing: #EC4899;--ll-type-landing-bg: #FCE7F3;--ll-type-landing-text: #9D1D5C;--ll-stage-warmup: #3B82F6;--ll-stage-sales: #14B8A6;--ll-stage-close: #F59E0B;--ll-success: #059669;--ll-warn: #D97706;--ll-danger: #DC2626;--ll-danger-bg: #FEE2E2;--ll-shadow-sm: 0 1px 2px rgba(26, 34, 54, .04);--ll-shadow-md: 0 2px 8px rgba(26, 34, 54, .06), 0 1px 2px rgba(26, 34, 54, .04);--ll-shadow-lg: 0 10px 30px rgba(26, 34, 54, .08), 0 4px 8px rgba(26, 34, 54, .04);--ll-shadow-drag: 0 16px 40px rgba(20, 184, 166, .22), 0 4px 12px rgba(26, 34, 54, .08);--ll-radius-sm: 6px;--ll-radius: 10px;--ll-radius-lg: 14px;--ll-radius-xl: 20px;--ll-radius-pill: 999px;--ll-space-1: 4px;--ll-space-2: 6px;--ll-space-3: 8px;--ll-space-4: 10px;--ll-space-5: 12px;--ll-space-6: 14px;--ll-space-7: 16px;--ll-space-8: 20px;--ll-space-9: 24px;--ll-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ll-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ll-fs-xs: 10.5px;--ll-fs-sm: 11.5px;--ll-fs-base: 13px;--ll-fs-md: 13.5px;--ll-fs-lg: 15px;--ll-fs-h2: 22px;--ll-fs-h1: 28px;--ll-fs-hero: 30px;--ll-lh-tight: 1.2;--ll-lh-snug: 1.3;--ll-lh-body: 1.45;--ll-lh-prose: 1.65;--ll-track-tight: -.02em;--ll-track-snug: -.01em;--ll-track-loose: .08em;--ll-track-kbd: .04em}html,body{margin:0;padding:0;font-family:var(--ll-font-sans);font-size:var(--ll-fs-base);line-height:var(--ll-lh-body);color:var(--ll-text);background:var(--ll-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,.ll-h1{font-size:var(--ll-fs-h1);font-weight:700;letter-spacing:var(--ll-track-snug);line-height:var(--ll-lh-tight);margin:0}h2,.ll-h2{font-size:var(--ll-fs-h2);font-weight:600;letter-spacing:var(--ll-track-tight);line-height:var(--ll-lh-snug);margin:0}h3,.ll-h3{font-size:var(--ll-fs-lg);font-weight:600;letter-spacing:var(--ll-track-snug);margin:0}p,.ll-body{font-size:var(--ll-fs-base);line-height:var(--ll-lh-body);color:var(--ll-text);margin:0}.ll-body-2{font-size:var(--ll-fs-base);color:var(--ll-text-2);line-height:var(--ll-lh-body)}.ll-muted{color:var(--ll-text-3)}.ll-eyebrow,.ll-label{font-size:var(--ll-fs-xs);font-weight:600;letter-spacing:var(--ll-track-loose);text-transform:uppercase;color:var(--ll-text-3)}.ll-mono,code,kbd,samp{font-family:var(--ll-font-mono);font-size:.92em}.ll-card{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:var(--ll-radius);box-shadow:var(--ll-shadow-sm)}*{box-sizing:border-box}:root{--sidebar-w: 232px;--topbar-h: 56px;--cat-trigger: #F59E0B;--cat-trigger-bg: #FEF3C7;--cat-trigger-text: #92540C;--cat-llm: #14B8A6;--cat-llm-bg: #CCFBF1;--cat-llm-text: #0D6B63;--cat-video: #EC4899;--cat-video-bg: #FCE7F3;--cat-video-text: #9D1D5C;--cat-image: #8B5CF6;--cat-image-bg: #EDE4FE;--cat-image-text: #5B3BA8;--cat-publish: #3B82F6;--cat-publish-bg: #DBEAFE;--cat-publish-text: #1D4ED8;--cat-data: #0EA5E9;--cat-data-bg: #E0F2FE;--cat-data-text: #075985;--cat-logic: #64748B;--cat-logic-bg: #EEF2F7;--cat-logic-text: #334155;--cat-human: #F97066;--cat-human-bg: #FEE4E2;--cat-human-text: #B42318}html,body,#root{height:100%}body{overflow:hidden}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;transition:grid-template-columns .18s ease}.app.sidebar-collapsed{grid-template-columns:60px 1fr}.sidebar{background:var(--ll-sidebar-bg);color:var(--ll-sidebar-text);display:flex;flex-direction:column;padding:14px 10px 10px;border-right:1px solid rgba(255,255,255,.04);overflow:visible;transition:padding .18s ease}.sidebar-scroll{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -10px;padding:0 10px}.sidebar.collapsed{padding:14px 6px 10px}.sidebar.collapsed .sidebar-scroll{margin:0 -6px;padding:0 6px}.sidebar.collapsed .sb-section{display:none}.sidebar.collapsed .sb-item{justify-content:center;gap:0;padding:9px 0}.sidebar.collapsed .sb-item>span{display:none}.sidebar.collapsed .sb-foot{padding:10px 0;justify-content:center}.sidebar.collapsed .sb-brand{justify-content:center;padding:6px 0 16px}.sidebar.collapsed .sb-brand-text{display:none}.sb-brand-text{min-width:0;flex:1}.sidebar{position:relative}.sb-toggle{position:absolute;top:26px;right:-11px;width:22px;height:22px;display:grid;place-items:center;background:var(--ll-surface, #fff);border:1px solid var(--ll-border, #E6E9F0);border-radius:50%;color:var(--ll-text-2, #4A5578);cursor:pointer;box-shadow:var(--ll-shadow-sm, 0 1px 2px rgba(26, 34, 54, .04));transition:all .12s ease;z-index:5;padding:0}.sb-toggle:hover{color:var(--ll-text, #1A2236);border-color:var(--ll-border-strong, #D5DAE4);box-shadow:var(--ll-shadow-md, 0 4px 12px rgba(26, 34, 54, .08))}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.sb-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px}.sb-brand .mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--ll-accent),var(--ll-accent-2));display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;box-shadow:0 2px 8px #14b8a640}.sb-brand .name{color:#fff;font-weight:600;font-size:13.5px;letter-spacing:-.01em}.sb-brand .sub{color:#ffffff73;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;margin-top:1px}.sb-section{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff61;padding:14px 10px 6px}.sb-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ll-sidebar-text);cursor:pointer;font-size:13px;position:relative;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s}.sb-item:hover{background:var(--ll-sidebar-hover);color:#fff}.sb-item.active{color:#fff;background:linear-gradient(90deg,rgba(20,184,166,.18),transparent);box-shadow:inset 2px 0 0 var(--ll-accent)}.sb-item .sb-badge{margin-left:auto;font-family:var(--ll-font-mono);font-size:10.5px;color:#ffffff8c;background:#ffffff0f;padding:1px 6px;border-radius:999px}.sb-item.active .sb-badge{color:#fff;background:#14b8a640}.sb-proj{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;color:var(--ll-sidebar-text);cursor:pointer;font-size:12.5px;margin:1px 0;transition:background .12s}.sb-proj:hover,.sb-proj.active{background:var(--ll-sidebar-hover);color:#fff}.sb-proj .dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.sb-proj .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-proj .count{font-family:var(--ll-font-mono);font-size:10.5px;color:#fff6}.sb-new{margin:10px 8px 4px;padding:8px 10px;border:1px dashed rgba(255,255,255,.16);border-radius:8px;color:#ffffffa6;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .12s}.sb-new:hover{background:#ffffff0a;color:#fff;border-color:#ffffff47}.sb-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid rgba(255,255,255,.06)}.sb-foot .avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600}.sb-foot .meta{font-size:12px;line-height:1.3}.sb-foot .meta b{color:#fff;font-weight:600;display:block}.sb-foot .meta span{color:#ffffff80;font-size:10.5px}.sb-foot .cog{margin-left:auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#ffffff8c;cursor:pointer}.sb-foot .cog:hover{background:var(--ll-sidebar-hover);color:#fff}.main{display:flex;flex-direction:column;min-width:0;background:var(--ll-bg);overflow:hidden}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--ll-border);background:var(--ll-surface);display:flex;align-items:center;padding:0 20px;gap:14px;flex-shrink:0}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ll-text-3)}.crumbs .cur{color:var(--ll-text);font-weight:600}.crumbs .link{color:var(--ll-text-3);cursor:pointer}.crumbs .link:hover{color:var(--ll-text)}.crumbs .sep{color:var(--ll-text-muted)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.search{display:flex;align-items:center;gap:8px;background:var(--ll-surface-2);border:1px solid transparent;border-radius:8px;padding:6px 10px;width:280px;transition:all .12s}.search:focus-within{background:var(--ll-surface);border-color:var(--ll-accent);box-shadow:0 0 0 3px var(--ll-accent-soft)}.search input{border:0;background:transparent;outline:0;font-size:13px;flex:1;min-width:0;color:var(--ll-text);font-family:var(--ll-font-sans)}.search input::placeholder{color:var(--ll-text-muted)}.search .kbd{font-family:var(--ll-font-mono);font-size:10.5px;color:var(--ll-text-3);padding:1px 5px;border:1px solid var(--ll-border);border-radius:4px;background:var(--ll-surface)}.icon-btn{width:34px;height:34px;border-radius:8px;background:transparent;border:1px solid transparent;display:grid;place-items:center;cursor:pointer;color:var(--ll-text-2);transition:all .12s;position:relative}.icon-btn:hover{background:var(--ll-surface-2);color:var(--ll-text);border-color:var(--ll-border)}.icon-btn.has-dot:after{content:"";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--ll-accent);border:2px solid var(--ll-surface)}.btn{font-family:var(--ll-font-sans);font-size:13px;font-weight:500;padding:7px 12px;border-radius:8px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .12s;line-height:1}.btn-primary{background:var(--ll-accent);color:#fff;box-shadow:inset 0 1px #ffffff26,0 1px 2px #14b8a640}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--ll-text-2);border-color:var(--ll-border)}.btn-ghost:hover{background:var(--ll-surface-2);color:var(--ll-text);border-color:var(--ll-border-strong)}.btn-danger{background:transparent;color:var(--ll-danger)}.btn-danger:hover{background:var(--ll-danger-bg)}.btn-sm{padding:5px 10px;font-size:12px}.page{flex:1;overflow:auto;padding:28px 32px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:16px}.page-head h1{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ll-text)}.page-head .sub{color:var(--ll-text-3);font-size:13px;margin-top:4px}.eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-text-3)}.tabs{display:inline-flex;background:var(--ll-surface-2);border-radius:8px;padding:3px;gap:2px}.tab{font-size:12.5px;padding:6px 12px;border-radius:6px;cursor:pointer;color:var(--ll-text-2);font-weight:500;transition:all .12s}.tab:hover{color:var(--ll-text)}.tab.active{background:var(--ll-surface);color:var(--ll-text);box-shadow:var(--ll-shadow-sm)}.grid-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.pcard{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:12px;padding:16px;cursor:pointer;transition:all .14s;position:relative;overflow:hidden}.pcard:hover{border-color:var(--ll-border-strong);box-shadow:var(--ll-shadow-md);transform:translateY(-1px)}.pcard .row1{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pcard .emoji{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:var(--ll-surface-2)}.pcard .title{font-size:14.5px;font-weight:600;letter-spacing:-.01em;flex:1}.pcard .desc{color:var(--ll-text-3);font-size:12.5px;line-height:1.5;margin-bottom:14px;min-height:36px}.pcard .stats{display:flex;gap:12px;padding-top:12px;border-top:1px dashed var(--ll-border);font-size:11.5px;color:var(--ll-text-3)}.pcard .stats b{color:var(--ll-text);font-weight:600;font-family:var(--ll-font-mono);margin-right:3px}.pcard .avatars{display:flex;margin-left:auto}.pcard .avatars .a{width:20px;height:20px;border-radius:50%;border:2px solid var(--ll-surface);display:grid;place-items:center;font-size:9.5px;color:#fff;font-weight:600;margin-left:-5px}.status{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.status-active{background:var(--ll-accent-soft);color:var(--ll-accent-text)}.status-paused{background:var(--ll-surface-2);color:var(--ll-text-2)}.status-draft{background:#fef3c7;color:#92540c}.status-error{background:var(--ll-danger-bg);color:var(--ll-danger)}.status .d{width:6px;height:6px;border-radius:50%;background:currentColor}.status-running .d{background:var(--ll-accent);animation:livePulse 1.6s ease-in-out infinite}@keyframes livePulse{0%,to{box-shadow:0 0 #14b8a680}50%{box-shadow:0 0 0 5px #14b8a600}}.auto-list{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:12px;overflow:hidden}.auto-row{display:grid;grid-template-columns:1fr 160px 140px 160px 90px 40px;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--ll-border);cursor:pointer;transition:background .12s}.auto-row:last-child{border-bottom:0}.auto-row:hover{background:var(--ll-surface-2)}.auto-row .nm{font-size:13.5px;font-weight:600;letter-spacing:-.01em}.auto-row .desc{color:var(--ll-text-3);font-size:11.5px;margin-top:2px}.auto-row .mono{font-family:var(--ll-font-mono);font-size:11.5px;color:var(--ll-text-2)}.auto-row .sparkline{display:flex;align-items:flex-end;gap:2px;height:22px}.auto-row .sparkline i{display:block;width:3px;border-radius:1px;background:var(--ll-accent-soft)}.auto-row .sparkline i.ok{background:var(--ll-accent)}.auto-row .sparkline i.err{background:var(--ll-danger)}.switch{width:32px;height:18px;border-radius:999px;background:var(--ll-surface-2);position:relative;cursor:pointer;border:1px solid var(--ll-border);transition:all .15s}.switch:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:var(--ll-shadow-sm);transition:all .15s}.switch.on{background:var(--ll-accent);border-color:var(--ll-accent)}.switch.on:after{left:15px}.editor-wrap{flex:1;display:grid;grid-template-columns:260px 1fr 320px;min-height:0;position:relative}.editor-wrap.no-inspector{grid-template-columns:260px 1fr}.editor-wrap.no-library{grid-template-columns:1fr 320px}.np{border-right:1px solid var(--ll-border);background:var(--ll-surface);display:flex;flex-direction:column;min-height:0;overflow:hidden}.np-head{padding:14px 14px 10px;border-bottom:1px solid var(--ll-border)}.np-head h3{font-size:13px;font-weight:600;margin:0 0 8px}.np-search{display:flex;align-items:center;gap:6px;background:var(--ll-surface-2);border-radius:7px;padding:5px 8px;border:1px solid transparent}.np-search:focus-within{background:var(--ll-surface);border-color:var(--ll-accent);box-shadow:0 0 0 3px var(--ll-accent-soft)}.np-search input{border:0;background:transparent;outline:0;font-size:12.5px;flex:1;min-width:0;color:var(--ll-text);font-family:var(--ll-font-sans)}.np-list{padding:8px 10px 16px;overflow-y:auto;flex:1}.np-cat{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-text-3);padding:10px 6px 4px}.np-item{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:7px;cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid transparent;transition:all .1s}.np-item:hover{background:var(--ll-surface-2);border-color:var(--ll-border)}.np-item:active{cursor:grabbing}.np-item .ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.np-item .t{font-size:12.5px;font-weight:500;color:var(--ll-text);line-height:1.2}.np-item .s{font-size:10.5px;color:var(--ll-text-3)}.canvas-wrap{position:relative;overflow:hidden;background:radial-gradient(circle,rgba(26,34,54,.08) 1px,transparent 1px);background-size:24px 24px;background-color:#f3f5fa}.canvas-wrap.zl2{background-size:16px 16px}.canvas-toolbar{position:absolute;top:12px;left:12px;display:flex;gap:6px;background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:10px;padding:4px;box-shadow:var(--ll-shadow-sm);z-index:5}.canvas-toolbar .tbtn{padding:5px 9px;font-size:12px;border-radius:6px;border:0;background:transparent;color:var(--ll-text-2);cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:var(--ll-font-sans)}.canvas-toolbar .tbtn:hover{background:var(--ll-surface-2);color:var(--ll-text)}.canvas-toolbar .tbtn.active{background:var(--ll-accent-soft);color:var(--ll-accent-text)}.canvas-zoom{position:absolute;bottom:16px;left:12px;display:flex;align-items:center;gap:4px;background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:10px;padding:4px 6px;box-shadow:var(--ll-shadow-sm);z-index:5}.canvas-zoom button{width:22px;height:22px;border:0;background:transparent;border-radius:4px;cursor:pointer;color:var(--ll-text-2);display:grid;place-items:center;font-family:var(--ll-font-mono);font-size:13px}.canvas-zoom button:hover{background:var(--ll-surface-2);color:var(--ll-text)}.canvas-zoom .z{font-family:var(--ll-font-mono);font-size:11px;color:var(--ll-text-2);padding:0 6px;min-width:44px;text-align:center}.run-ctrl{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:5}.canvas-tx{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:0 0}.edges{position:absolute;top:0;left:0;width:4000px;height:4000px;pointer-events:none;overflow:visible}.edge-path{fill:none;stroke:var(--ll-text-muted);stroke-width:1.6;transition:stroke .15s}.edge-path.running{stroke:var(--ll-accent);stroke-width:2;stroke-dasharray:5 4;animation:dashflow 1s linear infinite}@keyframes dashflow{to{stroke-dashoffset:-18}}.edge-path.done{stroke:var(--ll-accent);stroke-width:2}.edge-path.err{stroke:var(--ll-danger)}.edge-path.selected{stroke:var(--ll-danger);stroke-width:3;filter:drop-shadow(0 0 4px rgba(239,68,68,.5))}.edge-dot{fill:var(--ll-text-muted)}.edge-dot.done{fill:var(--ll-accent)}.edge-ghost{fill:none;stroke:var(--ll-accent);stroke-width:2;stroke-dasharray:4 3}.node{position:absolute;width:300px;background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:var(--ll-radius);box-shadow:var(--ll-shadow-sm);cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .14s,border-color .14s,transform .12s;overflow:hidden}.node:hover{box-shadow:var(--ll-shadow-md);border-color:var(--ll-border-strong)}.node.selected{border-color:var(--ll-accent);box-shadow:0 0 0 3px var(--ll-accent-soft),var(--ll-shadow-md)}.node.flashing{animation:nodeFlash .7s ease-out}.node.pulsing{animation:nodePulse 1.1s ease-in-out infinite;border-color:var(--ll-accent)}@keyframes nodeFlash{0%{box-shadow:0 0 0 0 var(--ll-accent-soft),var(--ll-shadow-md)}40%{box-shadow:0 0 0 8px var(--ll-accent-soft),var(--ll-shadow-md);border-color:var(--ll-accent)}to{box-shadow:0 0 0 0 transparent,var(--ll-shadow-md)}}@keyframes nodePulse{0%,to{box-shadow:0 0 0 0 var(--ll-accent-soft),var(--ll-shadow-md)}50%{box-shadow:0 0 0 10px var(--ll-accent-soft),var(--ll-shadow-md)}}.node.dragging{cursor:grabbing;box-shadow:var(--ll-shadow-drag);transform:rotate(.5deg);z-index:10}.node.running{border-color:var(--ll-accent);box-shadow:0 0 0 3px var(--ll-accent-soft),0 8px 24px #14b8a62e}.node.done:before{background:var(--ll-accent)!important}.node.err{border-color:var(--ll-danger)}.node:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--node-color, var(--ll-text-3))}.node-shape-rounded{border-radius:14px}.node-shape-sharp{border-radius:4px}.node-shape-pill{border-radius:20px}.node-head{display:flex;align-items:center;gap:10px;padding:13px 14px 10px 16px}.node-head .ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.node-head .tl{flex:1;min-width:0}.node-head .cat{font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--node-color, var(--ll-text-3));line-height:1}.node-head .nm{font-size:13px;font-weight:600;color:var(--ll-text);letter-spacing:-.01em;line-height:1.25;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-head .sp{font-family:var(--ll-font-mono);font-size:10px;color:var(--ll-text-3)}.node-head .node-id{font-family:var(--ll-font-mono);font-size:10px;color:var(--ll-text-3);background:var(--ll-surface-2);padding:2px 6px;border-radius:4px;cursor:pointer;-webkit-user-select:all;user-select:all;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.node-head .node-id:hover{background:var(--ll-accent-soft);color:var(--ll-accent-text)}.node-body{padding:12px 16px 14px;font-size:11.5px;color:var(--ll-text-3);line-height:1.5;border-top:1px dashed var(--ll-border);margin-top:4px}.node-body .kv{display:grid;grid-template-columns:68px 1fr;gap:10px;align-items:baseline;margin-bottom:5px}.node-body .kv:last-child{margin-bottom:0}.node-body .kv b{color:var(--ll-text-2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-body .kv span{font-family:var(--ll-font-mono);color:var(--ll-text);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.node-foot{display:flex;align-items:center;gap:8px;padding:10px 16px 11px;font-size:10.5px;color:var(--ll-text-3);border-top:1px dashed var(--ll-border)}.node-foot .av{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9.5px;font-weight:600}.node-foot .ms{margin-left:auto;font-family:var(--ll-font-mono);font-size:10px;color:var(--ll-text-muted)}.node-foot .ms.ok{color:var(--ll-accent-text)}.node-foot .ms.err{color:var(--ll-danger)}.handle{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--node-color, var(--ll-text-muted));transform:translateY(-50%);cursor:crosshair;z-index:2;transition:all .12s}.handle:hover{transform:translateY(-50%) scale(1.25);border-color:var(--ll-accent);background:var(--ll-accent-soft)}.handle.h-in{left:-7px}.handle.h-out{right:-7px}.ip{border-left:1px solid var(--ll-border);background:var(--ll-surface);display:flex;flex-direction:column;min-height:0;overflow:hidden}.ip-head{padding:14px 16px 12px;border-bottom:1px solid var(--ll-border);display:flex;align-items:center;gap:10px}.ip-head .ic{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.ip-head .nm{font-weight:600;font-size:14px;letter-spacing:-.01em}.ip-head .cat{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-text-3)}.ip-body{flex:1;overflow-y:auto;padding:10px 16px 20px}.ip-sec{padding:12px 0 10px;border-bottom:1px solid var(--ll-border)}.ip-sec:last-child{border-bottom:0}.ip-sec h4{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-text-3);margin:0 0 10px}.field{margin-bottom:10px}.field label{display:block;font-size:11.5px;color:var(--ll-text-2);margin-bottom:4px;font-weight:500}.field input,.field textarea,.field select{width:100%;border:1px solid var(--ll-border);border-radius:7px;padding:7px 9px;font-size:12.5px;font-family:var(--ll-font-sans);color:var(--ll-text);background:var(--ll-surface);outline:0;transition:all .12s;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ll-accent);box-shadow:0 0 0 3px var(--ll-accent-soft)}.field textarea{min-height:64px;font-family:var(--ll-font-mono);font-size:12px}.field .hint{font-size:10.5px;color:var(--ll-text-3);margin-top:3px}.chip-ref{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:var(--ll-accent-soft);color:var(--ll-accent-text);font-family:var(--ll-font-mono);font-size:10.5px;font-weight:500}.kv-row{display:flex;justify-content:space-between;padding:5px 0;font-size:12px}.kv-row b{font-weight:500;color:var(--ll-text-2)}.kv-row span{color:var(--ll-text);font-family:var(--ll-font-mono);font-size:11.5px}.logdrawer{position:absolute;left:0;right:0;bottom:0;background:var(--ll-surface);border-top:1px solid var(--ll-border);box-shadow:0 -8px 24px #1a223614;max-height:320px;display:flex;flex-direction:column;z-index:10;transform:translateY(calc(100% - 40px));transition:transform .22s cubic-bezier(.2,.8,.2,1)}.logdrawer.open{transform:translateY(0)}.logdrawer-head{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--ll-border);cursor:pointer}.logdrawer-head .title{font-size:13px;font-weight:600}.logdrawer-head .prog{flex:1;height:4px;background:var(--ll-surface-2);border-radius:2px;overflow:hidden;max-width:260px}.logdrawer-head .prog i{display:block;height:100%;background:var(--ll-accent);transition:width .3s}.logdrawer-head .ch{margin-left:auto;color:var(--ll-text-3);font-family:var(--ll-font-mono);font-size:12px}.log-lines{flex:1;overflow-y:auto;padding:8px 16px 16px;font-family:var(--ll-font-mono);font-size:11.5px;line-height:1.55}.log-line{display:flex;gap:10px;padding:2px 0}.log-line .ts{color:var(--ll-text-muted);flex-shrink:0}.log-line .nd{color:var(--ll-text-2);width:140px;flex-shrink:0}.log-line .msg{color:var(--ll-text);flex:1}.log-line.ok .msg{color:var(--ll-accent-text)}.log-line.err .msg{color:var(--ll-danger)}.log-line.info .msg{color:var(--ll-text-2)}.runs-table{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:12px;overflow:hidden}.runs-table .hdr,.runs-table .row{display:grid;grid-template-columns:20px 1fr 180px 120px 140px 120px;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--ll-border)}.runs-table .hdr{background:var(--ll-surface-2);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-text-3);padding-top:8px;padding-bottom:8px}.runs-table .row{cursor:pointer;transition:background .12s}.runs-table .row:hover{background:var(--ll-surface-2)}.runs-table .row:last-child{border-bottom:0}.runs-table .nm{font-size:13px;font-weight:500}.runs-table .sub{font-size:11px;color:var(--ll-text-3);margin-top:1px}.runs-table .mono{font-family:var(--ll-font-mono);font-size:11.5px;color:var(--ll-text-2)}.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.tmpl-card{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:12px;padding:16px;cursor:pointer;transition:all .14s;position:relative;overflow:hidden}.tmpl-card:hover{border-color:var(--ll-border-strong);box-shadow:var(--ll-shadow-md);transform:translateY(-1px)}.tmpl-card .mini{background:linear-gradient(180deg,#fafbfd,#f1f3f8);border:1px solid var(--ll-border);border-radius:8px;padding:10px;margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;height:92px;overflow:hidden;position:relative}.mini-node{padding:5px 8px;border-radius:6px;font-size:10px;font-weight:500;background:var(--ll-surface);border:1px solid var(--ll-border);display:inline-flex;align-items:center;gap:4px;position:relative}.mini-node .mn-dot{width:5px;height:5px;border-radius:50%}.mini-arrow{color:var(--ll-text-muted);font-size:10px}.tmpl-card h3{font-size:14px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}.tmpl-card p{font-size:12px;color:var(--ll-text-3);line-height:1.45;margin:0 0 10px}.tmpl-card .foot{display:flex;gap:6px;font-size:10.5px;color:var(--ll-text-3);align-items:center}.tmpl-card .chip{padding:2px 7px;border-radius:999px;background:var(--ll-surface-2);color:var(--ll-text-2);font-size:10.5px;font-weight:500}.int-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.int-card{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px}.int-card .logo{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-weight:700;color:#fff;font-size:14px}.int-card .b{flex:1;min-width:0}.int-card h4{font-size:14px;font-weight:600;margin:0 0 2px;letter-spacing:-.01em}.int-card .desc{font-size:11.5px;color:var(--ll-text-3);line-height:1.45;margin-bottom:10px}.int-card .meta{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--ll-text-3)}.tweaks{position:fixed;right:16px;bottom:16px;width:280px;background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:12px;box-shadow:var(--ll-shadow-lg);z-index:100;overflow:hidden;font-size:12.5px}.tweaks-head{padding:10px 14px;border-bottom:1px solid var(--ll-border);display:flex;align-items:center;gap:8px;font-weight:600}.tweaks-head .close{margin-left:auto;cursor:pointer;color:var(--ll-text-3);padding:2px 4px}.tweaks-body{padding:12px 14px}.tw-group{margin-bottom:14px}.tw-group:last-child{margin-bottom:0}.tw-group label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-text-3);margin-bottom:6px}.tw-row{display:flex;gap:6px;flex-wrap:wrap}.tw-sw{width:26px;height:26px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .12s}.tw-sw.active{border-color:var(--ll-text);transform:scale(1.06)}.tw-opt{padding:5px 10px;border-radius:6px;font-size:11.5px;border:1px solid var(--ll-border);cursor:pointer;background:var(--ll-surface);color:var(--ll-text-2);transition:all .12s}.tw-opt:hover{border-color:var(--ll-border-strong);color:var(--ll-text)}.tw-opt.active{background:var(--ll-text);color:#fff;border-color:var(--ll-text)}body[data-density=compact] .node{width:260px;font-size:12px}body[data-density=compact] .node-head{padding:10px 12px 7px 14px}body[data-density=compact] .node-body{padding:9px 13px 11px;font-size:11px}body[data-density=compact] .node-foot{padding:8px 12px 9px 14px}body[data-density=spacious] .node{width:340px}body[data-density=spacious] .node-head{padding:16px 18px 12px 20px}body[data-density=spacious] .node-body{padding:15px 18px 17px}body[data-density=spacious] .node-foot{padding:12px 18px 14px 20px}.np-list::-webkit-scrollbar,.ip-body::-webkit-scrollbar,.log-lines::-webkit-scrollbar,.page::-webkit-scrollbar{width:8px;height:8px}.np-list::-webkit-scrollbar-thumb,.ip-body::-webkit-scrollbar-thumb,.log-lines::-webkit-scrollbar-thumb,.page::-webkit-scrollbar-thumb{background:var(--ll-border-strong);border-radius:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141b3061;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:grid;place-items:center;animation:fadeIn .14s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--ll-surface);border:1px solid var(--ll-border);border-radius:14px;box-shadow:var(--ll-shadow-lg);width:min(520px,92vw);max-height:86vh;overflow:auto;animation:popIn .16s cubic-bezier(.2,.8,.2,1)}@keyframes popIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:18px 20px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ll-border)}.modal-head h3{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0;flex:1}.modal-body{padding:16px 20px}.modal-foot{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--ll-border)}.row{display:flex;align-items:center;gap:8px}.spacer{flex:1}
