.canvas-page,.canvas-editor-v2{--bg:var(--canvas);--panel2:var(--chip);--text:var(--ink);--muted:var(--ink-muted);--accent:#16869c}.asset-eyebrow{color:#16869c;letter-spacing:.14em;margin:0 0 8px;font-size:11px;font-weight:700}.canvas-toast{z-index:10000;color:#fff;background:#111827;border-radius:8px;padding:10px 14px;font-size:13px;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #0003}.canvas-zoom-bar{z-index:5;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:4px;padding:5px;display:flex;position:absolute;bottom:22px;right:22px;box-shadow:0 8px 24px #00000018}.canvas-zoom-bar button{min-width:30px;height:30px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 7px;font-size:11px;display:flex}.canvas-zoom-bar button:hover,.canvas-zoom-bar button.is-active{background:color-mix(in srgb, var(--accent) 12%, var(--panel));color:var(--accent)}.canvas-interaction-mode-trigger span{white-space:nowrap}.canvas-zoom-divider{background:var(--line);width:1px;height:20px;margin:0 3px}.canvas-zoom-slider{width:84px;accent-color:var(--accent)}.canvas-zoom-value-menu{position:relative}.canvas-zoom-presets{border:1px solid var(--line);background:var(--panel);border-radius:10px;min-width:110px;padding:5px;display:grid;position:absolute;bottom:38px;right:0;box-shadow:0 10px 25px #0003}.canvas-zoom-presets button{justify-content:flex-start;width:100%}.react-flow__minimap{border:1px solid var(--line);background:var(--panel);border-radius:10px;bottom:70px;right:18px;overflow:hidden}.react-flow__controls{border:1px solid var(--line);bottom:22px;left:20px;box-shadow:0 6px 18px #0002}.react-flow__controls-button{background:var(--panel);border-color:var(--line);color:var(--text)}.create-canvas-card{border:1px dashed color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--panel));cursor:pointer;border-radius:18px;align-items:center;gap:14px;max-width:620px;margin:48px auto 0;padding:20px 22px;transition:all .2s;display:flex}.create-canvas-card:hover{border-style:solid;transform:translateY(-2px);box-shadow:0 12px 28px #00000012}.create-canvas-icon{background:var(--accent);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.create-canvas-card strong{color:var(--text);font-size:15px}.create-canvas-card p{color:var(--muted);margin:4px 0 0;font-size:12px}.create-canvas-card>span{color:var(--accent);margin-left:auto;font-size:25px}.editor-page{z-index:3;background:var(--bg);color:var(--text);flex-direction:column;display:flex;position:fixed;inset:0 0 0 88px}.editor-header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.editor-title,.editor-actions,.editor-title>div,.editor-actions button{align-items:center;display:flex}.editor-title{gap:12px}.editor-title>button{width:32px;height:32px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.editor-title>button:hover{background:var(--panel2);color:var(--text)}.editor-title p{color:var(--muted);margin:0 0 2px;font-size:11px}.editor-title h1{margin:0;font-size:16px}.editor-actions{gap:12px}.editor-actions span{color:var(--muted);font-size:11px}.editor-actions button{border:1px solid var(--line);color:var(--muted);border-radius:9px;gap:6px;padding:8px 12px;font-size:12px}.editor-actions button:hover{color:var(--text);border-color:var(--accent)}.editor-actions .editor-generate{background:var(--accent);color:#fff;border-color:#0000}.editor-body{flex:1;min-height:0;display:flex}.editor-toolbar{z-index:4;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 90%, transparent);border-radius:13px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:88px;left:24px;box-shadow:0 10px 25px #00000016}.editor-toolbar button{min-width:90px;color:var(--muted);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.editor-toolbar button:hover{background:color-mix(in srgb, var(--accent) 10%, var(--panel));color:var(--accent)}.flow-canvas{flex:1;position:relative}.flow-canvas .react-flow{background:var(--bg)}.flow-canvas .react-flow__node{background:var(--panel);min-width:170px;color:var(--text);white-space:pre-line;border:1px solid #9edce5;border-radius:13px;padding:16px;box-shadow:0 6px 18px #00000012}.flow-canvas .react-flow__node.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flow-canvas .react-flow__edge-path{stroke:var(--accent);stroke-width:2px}.flow-hint{background:var(--panel);color:var(--muted);border-radius:8px;padding:8px 11px;font-size:11px;position:absolute;bottom:18px;right:24px;box-shadow:0 4px 15px #0002}.canvas-page{background-image:radial-gradient(color-mix(in srgb, var(--muted) 22%, transparent) 1px, transparent 1px);background-size:24px 24px;max-width:1420px;min-height:calc(100vh - 70px);margin:42px auto 0;padding:0 28px 80px;position:relative}.canvas-top{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.canvas-top h1{letter-spacing:-.04em;margin:0;font-size:34px}.canvas-top p:not(.asset-eyebrow){color:var(--muted);margin:8px 0 0;font-size:13px}.canvas-switch{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:4px;display:flex;box-shadow:0 5px 18px #0000000d}.canvas-switch button{color:var(--muted);border-radius:10px;padding:10px 18px;font-size:13px}.canvas-switch button.active{background:var(--text);color:var(--bg);box-shadow:0 3px 10px #0002}.canvas-search{border:1px solid var(--line);background:var(--panel);max-width:490px;height:46px;color:var(--muted);border-radius:13px;align-items:center;gap:10px;margin:35px auto 24px;padding:0 6px 0 15px;display:flex;box-shadow:0 5px 18px #00000009}.canvas-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.canvas-search button{background:var(--text);height:34px;color:var(--bg);border-radius:9px;padding:0 15px;font-size:12px}.canvas-categories{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:34px;display:flex}.canvas-categories button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:9px 15px;font-size:12px;box-shadow:0 4px 12px #00000008}.canvas-categories button:hover,.canvas-categories button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel));color:var(--accent)}.canvas-workspace{grid-template-columns:145px 1fr;gap:18px;display:grid}.unlock-panel{border:1px solid var(--line);background:var(--panel);border-radius:15px;align-self:start;padding:15px 10px;box-shadow:0 7px 20px #0000000a}.unlock-panel p{color:var(--muted);margin:0 8px 10px;font-size:12px}.unlock-panel button{width:100%;color:var(--muted);text-align:left;border-radius:9px;padding:10px 8px;font-size:12px}.unlock-panel button:hover,.unlock-panel button.active{background:var(--text);color:var(--bg)}.unlock-panel hr{border:0;border-top:1px solid var(--line);margin:10px 5px}.template-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.template-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 8px 20px #0000000c}.template-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0000001c}.template-video{aspect-ratio:.72;background:var(--panel2);position:relative;overflow:hidden}.template-video video{object-fit:cover;width:100%;height:100%}.template-video:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0009);position:absolute;inset:45% 0 0}.template-tag,.template-cost{z-index:1;color:#fff;border-radius:7px;padding:5px 8px;font-size:10px;position:absolute;top:11px}.template-tag{background:#ff6e2f;left:11px}.template-cost{background:#111b;right:11px}.template-preview{z-index:2;color:#fff;background:#0005;border:1px solid #fff8;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.template-preview:hover{background:var(--accent)}.template-info{padding:12px}.template-info>span{color:var(--accent);font-size:10px}.template-info h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:6px 0 10px;font-size:14px;overflow:hidden}.template-info button{color:var(--muted);align-items:center;gap:3px;font-size:11px;display:flex}.template-info button:hover{color:var(--accent)}.canvas-empty{color:var(--muted);justify-items:center;gap:10px;padding:80px 0;display:grid}.canvas-empty strong{color:var(--text);font-size:14px}.canvas-empty span{font-size:12px}.canvas-help,.canvas-spark{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:11px;align-items:center;gap:6px;display:flex;position:fixed;bottom:24px;box-shadow:0 6px 18px #0002}.canvas-help{padding:10px 13px;font-size:12px;right:26px}.canvas-spark{width:38px;height:38px;color:var(--accent);justify-content:center;left:108px}.canvas-help:hover{color:var(--text)}.canvas-editor-v2{z-index:40;color:#edf3f5;background:#090d10;inset:0}.canvas-editor-v2 .editor-header{z-index:10;background:#0d1216;border-color:#242c32;flex:0 0 68px;height:68px;padding:0 18px;position:relative}.canvas-editor-v2 .editor-title{gap:10px;min-width:0}.canvas-editor-v2 .editor-title>button{color:#9ba9b1;border:1px solid #283138;border-radius:7px;flex:0 0 34px;width:34px;height:34px}.canvas-editor-v2 .editor-brand-logo{object-fit:contain;flex:none;width:88px;height:29px;display:block}.canvas-editor-v2 .editor-title-input{color:#f3f7f8;border:1px solid #0000;border-radius:7px;width:auto;max-width:min(360px,38vw);height:36px;padding:0 10px;font-size:15px;font-weight:600}.editor-save-state{color:#829098;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.editor-save-state.is-saved{color:#72b999}.editor-save-state.is-error{color:#ff857b}.canvas-editor-v2 .editor-actions{gap:7px}.canvas-editor-v2 .editor-actions button{color:#aeb9bf;border-color:#293239;border-radius:7px;justify-content:center;gap:6px;min-width:34px;height:34px;padding:0 10px}.canvas-editor-v2 .editor-body{z-index:20;position:relative}.canvas-editor-v2 .flow-canvas{background:#090d10;width:100%}.canvas-editor-v2 .flow-canvas .react-flow{background:#090d10}.canvas-editor-v2 .flow-canvas.mode-pan .react-flow__pane{cursor:grab}.canvas-editor-v2 .flow-canvas.mode-pan .react-flow__pane:active{cursor:grabbing}.canvas-editor-v2 .editor-toolbar{background:#11171c;border-color:#2a343b;border-radius:8px;gap:2px;width:62px;padding:6px;transition:opacity .18s,transform .22s,visibility .18s;top:50%;left:14px;transform:translateY(-50%);box-shadow:0 12px 32px #0008}.canvas-editor-v2 .editor-toolbar.is-collapsed{visibility:hidden;opacity:0;pointer-events:none;transform:translate(calc(-100% - 18px))}.canvas-editor-v2 .editor-toolbar-toggle{z-index:5;color:#6bcddd;opacity:1;visibility:visible;background:#11171cf2;border:1px solid #2a343b;border-left:0;border-radius:0 7px 7px 0;place-items:center;width:22px;height:44px;padding:0;transition:opacity .18s,transform .22s,background .18s,color .18s;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:5px 0 18px #0006}.canvas-editor-v2 .editor-toolbar-toggle.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-8px,-50%)}.canvas-editor-v2 .editor-toolbar-toggle:focus-visible{outline-offset:2px;outline:2px solid #45bfd5}.canvas-editor-v2 .editor-toolbar:after{display:none}.canvas-editor-v2 .editor-toolbar button{color:#89969e;border:0;border-radius:6px;gap:4px;width:48px;min-width:48px;min-height:46px;padding:5px 2px;font-size:10px}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock{color:#7d8b93;min-height:30px}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock.is-pinned{color:#5ed3e7;background:#17313a}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock:hover{color:#b0f3fc;background:#20343b}.canvas-editor-v2 .editor-toolbar button:nth-child(4){border:0;border-radius:6px;margin:0;padding:5px 2px}.canvas-editor-v2 .editor-toolbar button:hover,.canvas-editor-v2 .editor-toolbar button.active{color:#5ed3e7;background:#17313a}.canvas-editor-v2 .editor-mode-group{gap:2px;display:grid}.canvas-editor-v2 .editor-tool-divider{background:#273038;height:1px;margin:4px 2px}.canvas-editor-v2 .editor-add-menu{z-index:6;background:#14191f;border:1px solid #303a42;border-radius:8px;width:190px;padding:10px;position:absolute;top:50%;left:84px;transform:translateY(-50%);box-shadow:0 18px 45px #000a}.canvas-editor-v2 .editor-add-menu p{color:#8e9aa3;margin:2px 6px 8px;font-size:12px;font-weight:600}.canvas-editor-v2 .editor-add-menu button{color:#c7d0d5;text-align:left;border-radius:6px;grid-template-columns:28px 1fr;align-items:center;width:100%;height:44px;padding:0 10px;display:grid}.canvas-editor-v2 .editor-add-menu button:hover,.canvas-editor-v2 .editor-add-menu button:focus-visible{color:#64d3e5;background:#1b3038;outline:0}.canvas-editor-v2 .editor-add-menu button svg{color:#89969e}.canvas-editor-v2 .editor-add-menu button:hover svg,.canvas-editor-v2 .editor-add-menu button:focus-visible svg{color:#64d3e5}.canvas-editor-v2 .flow-canvas .react-flow__node{min-width:0;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.canvas-editor-v2 .flow-canvas .react-flow__node.selected{box-shadow:none;border:0}.canvas-content-node{background:#151b20;border:1px solid #354149;border-radius:7px;flex-direction:column;width:100%;min-width:220px;height:100%;min-height:140px;display:flex;position:relative;overflow:visible;box-shadow:0 9px 24px #0007}.react-flow__node.selected .canvas-content-node{border-color:#45bfd5;box-shadow:0 0 0 2px #2499ad55,0 12px 30px #0009}.canvas-content-node.tone-yellow{background:#211e15;border-color:#6d5a2f}.canvas-content-node.tone-cyan{background:#132025;border-color:#285762}.canvas-node-header{background:#11171b;border-bottom:1px solid #2a333a;border-radius:6px 6px 0 0;grid-template-columns:auto minmax(0,1fr) 24px 24px 24px;align-items:center;gap:4px;min-height:36px;padding:5px 6px 5px 9px;display:grid}.canvas-node-header>span{color:#53c4d8;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:flex}.canvas-node-header input{color:#d9e2e6;width:100%;min-width:0;height:25px;font:inherit;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:4px;outline:0;padding:0 6px;font-size:11px}.canvas-node-header input:focus{background:#1b242a;border-color:#34434b}.canvas-node-title{color:#d9e2e6;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 6px;font-size:11px;font-weight:500;line-height:25px;overflow:hidden}.canvas-node-header button{color:#74828a;opacity:0;border-radius:4px;place-items:center;width:24px;height:24px;display:grid}.canvas-content-node:hover .canvas-node-header button,.react-flow__node.selected .canvas-node-header button{opacity:1}.canvas-node-header button:hover{color:#d8e4e8;background:#263138}.canvas-node-header button.danger:hover{color:#ff857b}.canvas-node-body{border-radius:0 0 6px 6px;flex:1;min-height:0;position:relative;overflow:hidden}.canvas-node-body textarea{resize:none;color:#cbd5da;width:100%;height:100%;font:inherit;background:0 0;border:0;outline:0;padding:14px;font-size:12px;line-height:1.65;display:block}.canvas-node-body img,.canvas-node-body video{object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#080b0d;width:100%;height:100%;display:block}.canvas-content-node.is-audio .canvas-node-body{background:#080b0d;place-items:center;padding:16px;display:grid}.canvas-content-node.is-audio .canvas-node-body audio{width:100%;height:38px}.node-media-empty{color:#63737c;place-content:center;justify-items:center;gap:5px;width:100%;height:100%;display:grid}.node-media-empty:hover{color:#58c8dc}.node-media-empty strong{color:inherit;font-size:12px;font-weight:600}.node-media-empty span{font-size:10px}.app-node-placeholder{color:#718087;place-content:center;justify-items:center;gap:5px;width:100%;height:100%;display:grid}.app-node-placeholder svg{color:#168da7}.app-node-placeholder strong{color:#344148;font-size:12px}.app-node-placeholder span{font-size:9px}.canvas-node-footer{opacity:0;position:absolute;bottom:7px;right:7px}.canvas-content-node:hover .canvas-node-footer{opacity:1}.canvas-node-footer button{color:#c2ced3;background:#11171ddd;border:1px solid #38444b;border-radius:5px;padding:5px 8px;font-size:10px}.canvas-hd-button{z-index:9;color:#fff;white-space:nowrap;cursor:pointer;opacity:0;background:#000a;border:1px solid #ffffff2e;border-radius:6px;height:26px;padding:0 12px;font-size:13px;line-height:1;transition:opacity .15s,background .15s;position:absolute;top:44px;right:8px}.canvas-content-node:hover .canvas-hd-button,.react-flow__node.selected .canvas-hd-button{opacity:1}.canvas-hd-button:hover{background:#000d}.hd-popover-backdrop{z-index:9999;cursor:default;background:0 0;position:absolute;inset:0}.canvas-hd-popover{z-index:10000;color:#111827;background:#fff;border:1px solid #e0e3e5;border-radius:14px;width:268px;padding:16px 16px 14px;position:absolute;box-shadow:0 22px 54px #17212633}.canvas-hd-popover>header{gap:3px;padding:0 2px 13px;display:grid}.canvas-hd-popover>header>strong{font-size:15px;font-weight:650}.canvas-hd-popover>header>span{color:#747984;font-size:12px}.canvas-hd-popover>section+section{margin-top:14px}.hd-popover-label{color:#747984;margin-bottom:9px;font-size:13px;font-weight:600;display:block}.canvas-hd-model-row,.canvas-hd-res-grid{gap:8px;display:grid}.canvas-hd-res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-hd-model-row button,.canvas-hd-res-grid button{color:#151b23;cursor:pointer;background:#f4f4f3;border:1px solid #dcdfe1;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:46px;font-size:14px;font-weight:500;transition:border-color .12s,background .12s;display:flex;position:relative}.canvas-hd-model-row button:hover,.canvas-hd-res-grid button:hover{background:#fff;border-color:#9da4aa}.canvas-hd-model-row button.is-active,.canvas-hd-res-grid button.is-active{background:#fff;border-color:#111827;box-shadow:0 0 0 1px #111827,0 3px 8px #17212616}.canvas-hd-model-row button i,.canvas-hd-res-grid button i{color:#fff;background:#111827;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-9px;right:-8px;box-shadow:0 2px 6px #17212635}.canvas-hd-model-row button:disabled,.canvas-hd-res-grid button:disabled{cursor:default;opacity:.8}.canvas-hd-popover>footer{grid-template-columns:1fr auto;gap:10px;margin-top:16px;display:grid}.canvas-hd-confirm{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:42px;font-size:14px;font-weight:600;transition:background .12s;display:flex}.canvas-hd-confirm:hover:not(:disabled){background:#000}.canvas-hd-confirm:disabled{cursor:default;opacity:.7}.canvas-hd-confirm .text-node-spinner{width:16px;height:16px}.canvas-hd-cancel{color:#435159;cursor:pointer;background:#fff;border:1px solid #dcdfe1;border-radius:10px;height:42px;padding:0 16px;font-size:14px;transition:background .12s}.canvas-hd-cancel:hover:not(:disabled){background:#f4f4f3}.canvas-hd-cancel:disabled{cursor:default;opacity:.7}.canvas-frame-actions{z-index:9;opacity:0;gap:6px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.canvas-content-node:hover .canvas-frame-actions,.react-flow__node.selected .canvas-frame-actions{opacity:1}.canvas-frame-button{color:#fff;white-space:nowrap;cursor:pointer;background:#000a;border:1px solid #ffffff2e;border-radius:6px;height:26px;padding:0 10px;font-size:13px;line-height:1;transition:background .15s}.canvas-frame-button:hover{background:#000d}.canvas-node-handle{z-index:8;background:#3ab7cc;border:2px solid #0d1216;width:11px;height:11px}.canvas-content-node .node-add-handle{color:#172126;opacity:0;background:#fff;border:1px solid #d5dde0;border-radius:50%;width:34px;height:34px;transition:opacity .16s,box-shadow .16s;box-shadow:0 0 0 11px #dfe3e6b8,0 8px 22px #53676f38}.canvas-content-node:hover .node-add-handle,.react-flow__node.selected .canvas-content-node .node-add-handle{opacity:1}.canvas-content-node .node-add-handle:hover{box-shadow:0 0 0 13px #d9dee1d1,0 10px 28px #53676f42}.canvas-content-node .node-add-handle:after{content:"+";place-items:center;font-size:25px;font-weight:650;line-height:1;display:grid;position:absolute;inset:0}.node-insert-preview-line{z-index:9997;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node-insert-preview-line path{fill:none;stroke:#5d6267;stroke-width:2.5px;stroke-dasharray:10 10}.node-insert-menu{z-index:9998;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e0e4e6;border-radius:12px;width:220px;padding:20px 18px 16px;position:absolute;box-shadow:0 18px 46px #53676f2b}.node-insert-menu:active{cursor:grabbing}.node-insert-menu>strong{color:#747984;margin:0 4px 11px;font-size:15px;font-weight:650;display:block}.node-insert-menu>button{color:#161b23;cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:36px 1fr;align-items:center;width:100%;height:52px;padding:0 14px;font-size:17px;display:grid}.node-insert-menu>button svg{color:#858b94}.node-insert-menu>button:hover{color:#087f94;background:#edf8fa}.node-insert-menu>button:hover svg{color:#168da7}.canvas-editor-v2 .react-flow__edge.selected .react-flow__edge-path{stroke:#13a8bd;stroke-width:2.5px}.node-resize-line{border-color:#3ab7cc!important}.node-resize-handle{background:#57c9dd!important;border:1px solid #0d1216!important;border-radius:2px!important;width:8px!important;height:8px!important}.canvas-editor-v2 .react-flow__edge-path{stroke:#63727b;stroke-width:1.5px}.canvas-editor-v2 .react-flow__edge.selected .react-flow__edge-path{stroke:#45bfd5}.canvas-editor-v2 .canvas-zoom-bar{background:#11171cf2;border-color:#2b353c;border-radius:8px;min-height:40px;padding:4px;bottom:14px;left:14px;right:auto;box-shadow:0 10px 28px #0009}.canvas-editor-v2 .canvas-zoom-bar button{color:#8c9aa2;border-radius:5px;min-width:30px;height:30px;padding:0 7px}.canvas-editor-v2 .canvas-zoom-bar button:disabled{cursor:not-allowed;opacity:.42}.canvas-editor-v2 .canvas-zoom-bar button.is-arranging svg{animation:.42s both canvas-arrange-pulse}@keyframes canvas-arrange-pulse{0%{transform:scale(.82)rotate(-12deg)}55%{transform:scale(1.14)rotate(8deg)}to{transform:scale(1)rotate(0)}}.canvas-editor-v2 .canvas-zoom-slider{accent-color:#3ab7cc;width:92px}.canvas-editor-v2 .canvas-zoom-presets{background:#151c21;border-color:#303b42;border-radius:7px;bottom:40px;right:0;box-shadow:0 12px 30px #000a}.canvas-editor-v2 .canvas-minimap-shell{isolation:isolate;background:#101519;border:2px solid #303a41;border-radius:0 12px 12px 0;width:min(280px,100vw - 28px);height:min(220px,100vh - 180px);position:fixed;bottom:100px;left:14px;overflow:hidden;box-shadow:0 14px 38px #0009;z-index:9999!important}.canvas-editor-v2 .canvas-minimap-shell.is-large{width:min(280px,100vw - 28px);height:min(220px,100vh - 180px)}.canvas-editor-v2 .canvas-minimap-header{color:#aab5bb;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;height:42px;padding:0 12px 0 14px;font-size:14px;display:flex}.canvas-editor-v2 .canvas-minimap-header:active{cursor:grabbing}.canvas-editor-v2 .canvas-minimap-header span{align-items:center;gap:4px;display:flex}.canvas-editor-v2 .canvas-minimap-header strong{font-size:14px;font-weight:650}.canvas-editor-v2 .canvas-minimap-actions{align-items:center;gap:5px;display:flex}.canvas-editor-v2 .canvas-minimap-actions small{color:#74838b;font-size:11px}.canvas-editor-v2 .canvas-minimap-header button{color:#84929a;cursor:pointer;border-radius:5px;place-items:center;width:24px;height:24px;display:grid}.canvas-editor-v2 .canvas-minimap-shell .react-flow__minimap{background-color:#101519;background-image:radial-gradient(#354149 1px,#0000 1px);background-size:14px 14px;border:1px solid #303a41;border-radius:8px;width:calc(100% - 32px);height:calc(100% - 68px);margin:0 16px 16px;position:static;overflow:hidden}.canvas-editor-v2 .canvas-minimap-shell .react-flow__minimap-svg{width:100%;height:100%}.canvas-editor-v2{color:#182126;background:#f3f6f7}.canvas-editor-v2 .editor-header{background:#fff;border-color:#d8e0e3}.canvas-editor-v2 .editor-title>button{color:#65747b;border-color:#d6dfe2}.canvas-editor-v2 .editor-title>button:hover{color:#172126;background:#eef3f4}.canvas-editor-v2 .editor-title-input{color:#172126}.canvas-editor-v2 .editor-title-input:hover,.canvas-editor-v2 .editor-title-input:focus{background:#f5f8f9;border-color:#cad6da}.canvas-editor-v2 .editor-actions button{color:#617078;border-color:#d6dfe2}.canvas-editor-v2 .editor-actions button:hover{color:#177f93;background:#e9f6f8;border-color:#4aaabd}.canvas-editor-v2 .editor-actions .editor-save{color:#fff;background:#16869c;border-color:#18879d}.canvas-editor-v2 .editor-toolbar{background:#fff;border-color:#ced9dd;box-shadow:0 12px 30px #60727b24}.canvas-editor-v2 .editor-toolbar-toggle{color:#168ca2;background:#fff;border-color:#cbd7db;box-shadow:5px 0 16px #60727b22}.canvas-editor-v2 .editor-toolbar-toggle:hover{color:#08768b;background:#eaf6f8}.canvas-editor-v2 .editor-toolbar button{color:#68777e}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock.is-pinned,.canvas-editor-v2 .editor-toolbar button:hover,.canvas-editor-v2 .editor-toolbar button.active{color:#07849a;background:#dff3f6}.canvas-editor-v2 .editor-tool-divider{background:#dde5e7}.canvas-editor-v2 .editor-add-menu{background:#fff;border-color:#d3dde0;box-shadow:0 18px 42px #53676f2b}.canvas-editor-v2 .editor-add-menu p{color:#68777e}.canvas-editor-v2 .editor-add-menu button{color:#263238}.canvas-editor-v2 .editor-add-menu button:hover,.canvas-editor-v2 .editor-add-menu button:focus-visible{color:#087f94;background:#e6f5f7}.canvas-editor-v2 .canvas-content-node{background:#fff;border-color:#c8d3d7;box-shadow:0 9px 24px #54697020}.canvas-editor-v2 .react-flow__node.selected .canvas-content-node{border-color:#20a6bd;box-shadow:0 0 0 2px #25a9bf35,0 12px 28px #53676f29}.canvas-editor-v2 .canvas-content-node.tone-yellow{background:#fffbed;border-color:#dac584}.canvas-editor-v2 .canvas-content-node.tone-cyan{background:#f0fbfc;border-color:#9bcfd8}.canvas-editor-v2 .canvas-node-header{background:#f8fafb;border-color:#dce4e6}.canvas-editor-v2 .canvas-node-header input{color:#253137}.canvas-editor-v2 .canvas-node-header input:focus{background:#fff;border-color:#bdd0d5}.canvas-editor-v2 .canvas-node-header button{color:#74838a}.canvas-editor-v2 .canvas-node-header button:hover{color:#253137;background:#e8eff1}.canvas-editor-v2 .canvas-node-body textarea{color:#3e4b51}.canvas-editor-v2 .canvas-node-body img,.canvas-editor-v2 .canvas-node-body video,.canvas-editor-v2 .canvas-content-node.is-audio .canvas-node-body{background:#edf2f3}.canvas-editor-v2 .node-media-empty{color:#718087}.canvas-editor-v2 .node-media-empty:hover{color:#078ca3}.canvas-editor-v2 .canvas-node-footer button{color:#435159;background:#fffffff0;border-color:#cad6da}.canvas-editor-v2 .canvas-node-handle{border-color:#fff}.canvas-editor-v2 .react-flow__edge-path{stroke:#7a8b92}.canvas-editor-v2 .canvas-zoom-bar{background:#fffffff2;border-color:#ccd8dc;box-shadow:0 10px 26px #53676f29}.canvas-editor-v2 .canvas-zoom-bar button{color:#66757c}.canvas-editor-v2 .canvas-zoom-bar button:hover,.canvas-editor-v2 .canvas-zoom-bar button.is-active{color:#087f94;background:#dff2f5}.canvas-editor-v2 .canvas-zoom-divider{background:#d5dfe2}.canvas-editor-v2 .canvas-zoom-presets{background:#fff;border-color:#cedadd;box-shadow:0 12px 28px #53676f2e}.canvas-editor-v2 .canvas-minimap-shell{background:#fff;border-color:#c9d5d9;box-shadow:0 10px 26px #53676f29}.canvas-editor-v2 .canvas-minimap-header{color:#253137}.canvas-editor-v2 .canvas-minimap-actions small{color:#87949a}.canvas-editor-v2 .canvas-minimap-header button{color:#65747b}.canvas-editor-v2 .canvas-minimap-header button:hover{color:#087f94;background:#dff2f5}.canvas-editor-v2 .canvas-minimap-shell .react-flow__minimap{background-color:#f8fafb;background-image:radial-gradient(#d5dee1 1px,#0000 1px);border-color:#d6dfe2}@media (max-width:760px){body{min-width:320px}.canvas-editor-v2 .editor-header{padding:0 10px}.canvas-editor-v2 .editor-brand-logo{width:68px;height:22px}.canvas-editor-v2 .editor-title-input{width:auto;max-width:min(210px,40vw)}.editor-save-state,.canvas-editor-v2 .editor-actions .editor-export{display:none}.canvas-editor-v2 .editor-actions button{padding:0 8px}.canvas-editor-v2 .editor-toolbar{grid-auto-flow:column;width:auto;display:grid;top:auto;bottom:62px;left:10px;transform:none}.canvas-editor-v2 .editor-toolbar.is-collapsed{transform:translate(calc(-100% - 18px))}.canvas-editor-v2 .editor-toolbar-toggle{top:auto;bottom:69px;transform:none}.canvas-editor-v2 .editor-toolbar-toggle.is-hidden{transform:translate(-8px)}.canvas-editor-v2 .editor-add-menu{width:184px;top:auto;bottom:118px;left:10px;transform:none}.canvas-editor-v2 .editor-mode-group{grid-auto-flow:column}.canvas-editor-v2 .editor-tool-divider{width:1px;height:auto;margin:2px 3px}.canvas-editor-v2 .editor-toolbar button{width:42px;min-width:42px;min-height:42px}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock{min-height:42px}.canvas-editor-v2 .editor-toolbar button span{display:none}.canvas-editor-v2 .canvas-minimap-shell{border-radius:0 10px 10px 0;width:min(280px,100vw - 28px);height:220px;bottom:120px;left:14px}.canvas-editor-v2 .canvas-zoom-slider{width:58px}}.editor-title-input{width:min(340px,34vw);color:var(--text);font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:16px;font-weight:650}.editor-title-input:focus{border-bottom:1px solid var(--accent)}.my-canvas-toolbar{justify-content:space-between;align-items:center;margin:34px 0 18px;display:flex}.my-canvas-count{color:var(--muted);font-size:13px}.my-canvas-count strong{color:var(--text);margin-left:6px;font-size:18px}.canvas-filter{border:1px solid var(--line);background:var(--panel);border-radius:11px;gap:4px;padding:4px;display:flex}.canvas-filter button{color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;display:flex}.canvas-filter button.active{background:var(--text);color:var(--bg)}.canvas-project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.canvas-project-grid>.create-canvas-card{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;width:auto;max-width:none;min-height:220px;margin:0;padding:22px;position:relative}.create-canvas-card>span{margin-left:0}.create-canvas-card .create-canvas-icon{margin-bottom:8px}.create-canvas-card small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.create-canvas-plus{position:absolute;bottom:18px;right:22px;margin:0!important}.canvas-project-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 8px 20px #0000000b}.canvas-project-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));transform:translateY(-3px);box-shadow:0 15px 30px #00000016}.project-preview{aspect-ratio:1.55;border:0;border-bottom:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--panel2)), var(--panel2));width:100%;display:block;position:relative;overflow:hidden}.project-preview:before{content:"";opacity:.45;background-image:radial-gradient(color-mix(in srgb, var(--muted) 35%, transparent) 1px, transparent 1px);background-size:15px 15px;position:absolute;inset:0}.preview-node{z-index:1;border:1px solid color-mix(in srgb, var(--accent) 65%, var(--line));background:var(--panel);border-radius:6px;width:68px;height:30px;position:absolute;box-shadow:0 3px 8px #0002}.preview-node-a{top:38%;left:17%}.preview-node-b{top:23%;left:57%}.preview-node-c{top:59%;left:57%}.preview-line{z-index:0;background:var(--accent);transform-origin:0;height:1px;position:absolute}.preview-line-a{width:25%;top:48%;left:36%;transform:rotate(-20deg)}.preview-line-b{width:25%;top:50%;left:36%;transform:rotate(20deg)}.project-preview-label{z-index:2;color:var(--muted);font-size:10px;position:absolute;bottom:10px;left:13px}.project-card-info{justify-content:space-between;align-items:flex-start;min-height:66px;padding:13px 14px;display:flex}.project-card-info h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.project-card-info p{color:var(--muted);margin:6px 0 0;font-size:11px}.project-favorite{color:#e0a72d}.project-hover-actions{opacity:0;background:#172027d9;border:1px solid #ffffff38;border-radius:9px;gap:4px;padding:4px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-4px)}.canvas-project-card:hover .project-hover-actions,.canvas-project-card:focus-within .project-hover-actions{opacity:1;transform:translateY(0)}.project-hover-actions button{color:#dbe7e9;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.project-hover-actions button:hover,.project-hover-actions button.active{color:var(--accent);background:#ffffff1c}.project-hover-actions button.danger:hover{color:#ff8b82}@media (max-width:1050px){.canvas-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.canvas-top,.my-canvas-toolbar{flex-direction:column;align-items:flex-start}.canvas-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-actions>span{display:none}.editor-title-input{width:190px}}.asset-preview{width:100%;min-height:150px;color:var(--muted);cursor:zoom-in;background:linear-gradient(135deg,#d9f5f7,#dce9fb);border:0;place-items:center;display:grid;position:relative;overflow:hidden}.canvas-editor-v2 .editor-header{display:flex}.canvas-editor-v2 .editor-body{position:absolute;inset:68px 0 0}.canvas-editor-v2 .flow-canvas,.canvas-editor-v2 .flow-canvas .react-flow{background:#fafafa}.canvas-editor-v2 .flow-canvas .react-flow__background pattern circle{fill:#cfcfcf}.canvas-editor-v2 .canvas-content-node.is-note{color:#20252b;background:#fffef1;border:5px solid #f2c635;border-radius:23px;width:100%;min-width:0;height:100%;min-height:0;box-shadow:0 4px 9px #5552}.canvas-editor-v2 .canvas-content-node.is-note .canvas-node-header{display:none}.canvas-editor-v2 .canvas-content-node.is-note .canvas-node-body{height:100%;padding:24px 25px}.canvas-editor-v2 .canvas-content-node.is-note .canvas-node-body textarea{height:100%;color:inherit;resize:none;padding:0;font-size:20px;line-height:1.55}.canvas-editor-v2 .canvas-content-node.is-note .canvas-node-body textarea::placeholder{color:#0000}.canvas-editor-v2 .canvas-content-node.is-note .canvas-node-handle{opacity:0}.canvas-editor-v2 .note-format-bar{z-index:12;color:#374151;transform-origin:0 0;box-sizing:border-box;white-space:nowrap;background:#fff;border:1px solid #e0e3e8;border-radius:9px 9px 15px 15px;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:0;width:820px;height:120px;padding:6px 16px;transition:left .12s,top .12s;display:flex;position:absolute;overflow:hidden;transform:scale(.65);box-shadow:0 15px 30px #38445218}.canvas-editor-v2 .note-format-bar button{color:#3f4b5b;border-radius:0;flex:none;place-items:center;width:34px;height:42px;font-size:18px;display:grid}.canvas-editor-v2 .note-format-bar button:hover,.canvas-editor-v2 .note-format-bar button.is-active{color:#1f5f5d;background:#a7e8e2}.canvas-editor-v2 .note-format-bar .format-choice{border-right:1px solid #d8dce2;width:70px;font-size:16px}.canvas-editor-v2 .note-format-bar .format-choice:first-child{border:1px solid #e0e3e8;border-radius:9px 0 0 9px}.canvas-editor-v2 .note-format-bar .format-choice.is-active{border-radius:0 9px 9px 0}.canvas-editor-v2 .note-format-bar i{background:#e2e5e9;width:2px;height:44px;margin:0 13px}.canvas-editor-v2 .format-colors{gap:5px;display:flex}.canvas-editor-v2 .format-color-row{flex:0 0 100%;align-items:center;height:44px;display:flex}.canvas-editor-v2 .format-colors button{border:2px solid #fff;border-radius:50%;width:25px;height:25px;box-shadow:0 0 0 2px #bdc5d0}.canvas-editor-v2 .format-background-label{color:#64748b;flex:none;margin:0 6px 0 9px;font-size:16px}.canvas-editor-v2 .note-format-bar .format-swatch{border:2px solid #d6d9de;border-radius:50%;width:24px;height:24px;margin:0 2px}.canvas-editor-v2 .canvas-content-node textarea.is-bold{font-weight:700}.canvas-editor-v2 .canvas-content-node textarea.is-italic{font-style:italic}.canvas-editor-v2 .canvas-content-node textarea.is-underline{text-decoration:underline}.canvas-editor-v2 .canvas-content-node textarea.is-strike{text-decoration:line-through}.canvas-editor-v2 .canvas-markdown-content{height:100%;color:inherit;cursor:text;padding:0;font-size:20px;line-height:1.55;overflow:auto}.canvas-editor-v2 .canvas-markdown-content p{margin:0 0 .55em}.canvas-editor-v2 .canvas-markdown-content ul,.canvas-editor-v2 .canvas-markdown-content ol{margin:.35em 0 .55em;padding-left:1.35em}.canvas-editor-v2 .canvas-markdown-content a{color:#2563eb;text-decoration:underline}@media (max-width:980px){.canvas-editor-v2 .note-format-bar{max-width:820px;overflow:visible}}.asset-preview img,.asset-preview video{object-fit:cover;width:100%;height:100%;min-height:150px;display:block}.asset-preview:after{content:"点击预览";color:#fff;opacity:0;background:#18252dbd;border-radius:6px;padding:4px 7px;font-size:10px;transition:opacity .18s;position:absolute;bottom:8px;right:9px}.asset-preview:hover:after{opacity:1}.asset-audio-preview{color:#168da7;place-items:center;gap:9px;display:grid}.asset-audio-preview svg:last-child{background:#fff;border-radius:50%;width:28px;height:28px;padding:5px;position:absolute;bottom:11px;right:12px}.asset-preview-modal{z-index:30}.asset-preview-dialog{border:1px solid var(--line);background:var(--panel);border-radius:18px;width:min(900px,92vw);max-height:88vh;overflow:hidden;box-shadow:0 25px 80px #0008}.asset-preview-dialog header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:54px;padding:0 18px;display:flex}.asset-preview-dialog header strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.asset-preview-dialog header button{width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.asset-preview-dialog header button:hover{background:var(--panel2);color:var(--text)}.asset-preview-dialog>img,.asset-preview-dialog>video{object-fit:contain;background:#10181d;width:100%;max-height:calc(88vh - 54px);display:block}.asset-preview-dialog>audio{width:calc(100% - 36px);margin:60px 18px;display:block}.canvas-page{width:100%;max-width:none}.editor-page.canvas-editor-v2{width:100%;height:100vh;min-height:640px;position:fixed;inset:0}@media (max-width:1023px){.editor-page.canvas-editor-v2{height:100vh}}@media (min-width:761px){.canvas-editor-v2 .editor-toolbar{background:#fff;border:1px solid #e2e7ea;border-radius:18px;gap:4px;width:96px;padding:8px;top:88px;left:12px;transform:none;box-shadow:0 18px 46px #53676f24}.canvas-editor-v2 .editor-toolbar.is-collapsed{transform:translate(calc(-100% - 18px))}.canvas-editor-v2 .editor-toolbar button,.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock{color:#7a7f89;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:78px;min-width:78px;min-height:56px;padding:7px 5px;font-size:13px;line-height:1;display:flex}.canvas-editor-v2 .editor-toolbar button svg{width:19px;height:19px}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock{background:#f7fcfd;border:1px solid #d7e5e8;min-height:60px}.canvas-editor-v2 .editor-toolbar .editor-toolbar-lock.is-pinned,.canvas-editor-v2 .editor-toolbar button:hover,.canvas-editor-v2 .editor-toolbar button.active{color:#00b9d5;background:#e4f7f9}.canvas-editor-v2 .editor-tool-divider{background:#e3e6e9;width:100%;height:1px;margin:6px 0}.canvas-editor-v2 .editor-mode-group{gap:4px}.canvas-editor-v2 .editor-add-menu{background:#fff;border-color:#e1e5e8;border-radius:16px;width:368px;padding:18px;top:166px;left:124px;transform:none;box-shadow:0 22px 55px #53676f2b}.canvas-editor-v2 .editor-add-menu p{color:#757b85;margin:3px 2px 13px;font-size:14px}.canvas-editor-v2 .editor-add-menu button{color:#151922;border-radius:10px;grid-template-columns:38px 1fr;height:58px;padding:0 19px;font-size:16px}.canvas-editor-v2 .editor-add-menu button svg{color:#7c828c;width:19px;height:19px}}.canvas-editor-v2 .canvas-content-node.is-text{background:#fff;border:1px solid #08bcd1;border-radius:8px;overflow:visible;box-shadow:0 8px 22px #53676f20}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-header,.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-body{overflow:hidden}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-body{border-radius:0 0 7px 7px}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-header{background:0 0;border:0;grid-template-columns:1fr;min-height:31px;padding:8px 12px 2px}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-header>span{color:#0bb481;font-size:11px;font-weight:600}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-header>span svg{width:13px;height:13px}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-header input,.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-header button{display:none}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-body textarea{color:#313844;cursor:pointer;padding:7px 12px 12px;font-size:12px;line-height:1.6}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-body textarea::placeholder{color:#a5abb5}.canvas-editor-v2 .canvas-content-node.is-text .canvas-markdown-content{color:#313844;padding:7px 12px 12px;font-size:12px;line-height:1.6}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-handle{color:#111827;background:#fff;border:0;border-radius:50%;width:22px;height:22px;box-shadow:0 0 0 7px #dfe3e6cc,0 5px 14px #53676f3d}.canvas-editor-v2 .canvas-content-node.is-text .canvas-node-handle:after{content:"+";place-items:center;font-size:20px;font-weight:600;line-height:1;display:grid;position:absolute;inset:0}.canvas-editor-v2 .canvas-content-node.is-text .node-add-handle,.canvas-editor-v2 .canvas-content-node.is-note .node-add-handle{opacity:1;width:34px;height:34px;box-shadow:0 0 0 11px #dfe3e6b8,0 8px 22px #53676f38}.canvas-editor-v2 .canvas-content-node.is-text .node-add-handle:after,.canvas-editor-v2 .canvas-content-node.is-note .node-add-handle:after{font-size:25px}.text-node-composer{z-index:10000;top:var(--composer-top);left:var(--composer-left);background:#fff;border:1px solid #e2e5e8;border-radius:11px;flex-direction:column;width:min(960px,100% - 24px);height:345px;padding:14px 16px 12px;display:flex;position:absolute;box-shadow:0 16px 42px #53676f2e}.text-node-composer-topbar{grid-template-columns:70px minmax(0,1fr) 34px;align-items:start;gap:10px;min-width:0;display:grid}.text-node-reference-list{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cbd6da transparent;align-items:flex-start;gap:7px;min-width:0;margin-top:-12px;padding:12px 12px 6px 2px;display:flex;overflow-x:auto}.text-node-reference{color:#fff;scroll-snap-align:start;background:#edf2f3;border:1px solid #d9e1e4;border-radius:8px;flex:0 0 70px;width:70px;height:70px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:visible;box-shadow:0 5px 12px #53676f24}.text-node-reference:hover{border-color:#9bcfd7;transform:translateY(-1px);box-shadow:0 7px 16px #53676f32}.text-node-reference-preview{border-radius:inherit;color:#168da7;background:#edf2f3;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.text-node-reference-preview img,.text-node-reference-preview video{object-fit:cover;width:100%;height:100%}.text-node-reference-preview.is-text{color:#078f79;background:#d9fff5}.text-node-reference-preview.is-audio{color:#7952a5;background:#efe7fa}.text-node-reference-type{z-index:2;color:#4b535ccc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-overflow:ellipsis;white-space:nowrap;background:#ffffffad;border:1px solid #ffffff80;border-radius:5px;max-width:calc(100% - 8px);padding:2px 5px;font-size:8px;font-weight:500;line-height:1.15;position:absolute;top:4px;left:50%;overflow:hidden;transform:translate(-50%)}.text-node-reference-name{z-index:2;color:#fff;text-overflow:ellipsis;text-align:center;text-shadow:0 1px 2px #0008;white-space:nowrap;background:linear-gradient(#0000 0%,#172126d9 40%,#172126f2 100%);border-radius:0 0 7px 7px;min-width:0;padding:10px 4px 4px;font-size:10px;font-weight:750;line-height:1.15;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.text-node-reference>button{z-index:3;color:#dce4e7;opacity:0;background:#111a1ec7;border-radius:5px;place-items:center;width:15px;height:15px;transition:opacity .16s,background .16s,color .16s;display:grid;position:absolute;bottom:3px;right:4px}.text-node-reference:hover>button,.text-node-reference>button:focus-visible{opacity:1}.text-node-reference>button:hover{color:#fff;background:#d63a3a}.text-node-reference.is-image>button,.text-node-reference.is-video>button{color:#fff;background:#303744e8;border:2px solid #ffffffc7;border-radius:50%;width:30px;height:30px;top:-10px;bottom:auto;right:-10px;box-shadow:0 5px 14px #1821264d}.text-node-reference.is-image>button:hover,.text-node-reference.is-video>button:hover{background:#d63a3a}@media (hover:none){.text-node-reference>button{opacity:1}}.text-node-reference-hover-preview{z-index:10020;pointer-events:none;background:#0f1417;border:2px solid #303841;border-radius:13px;position:fixed;overflow:hidden;box-shadow:0 22px 55px #1721264d}.text-node-reference-hover-preview img,.text-node-reference-hover-preview video{object-fit:contain;width:100%;height:100%;display:block}.text-node-add-button{color:#008fa8;background:#f1fcfe;border:1px solid #18c7dc;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:70px;height:70px;font-size:11px;font-weight:600;display:flex}.text-node-add-button:hover{background:#e9f9fb;border-color:#079bb0}.text-node-add-button:disabled{color:#a0a8ae;cursor:not-allowed;background:#f5f7f8;border-color:#d6dfe2}.text-node-add-button>svg{width:24px;height:24px}.text-node-composer-close{color:#89909a;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.text-node-composer-close:hover{color:#2d3540;background:#f1f3f5}.text-node-composer-textarea-wrap{flex:1;min-height:0;position:relative}.text-node-composer-textarea-wrap>textarea{z-index:1;resize:none;color:#222833;width:100%;height:100%;font:inherit;overflow-wrap:break-word;background:0 0;border:0;outline:0;padding:12px 2px 8px;font-size:13px;line-height:1.55;display:block;position:relative}.text-node-composer-textarea-wrap>textarea::placeholder{color:#a8adb7;opacity:1}.text-node-mention-highlight{color:#0000;font:inherit;white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none;-webkit-user-select:none;user-select:none;padding:12px 2px 8px;font-size:13px;line-height:1.55;position:absolute;inset:0;overflow:hidden}.text-node-mention-hl{background:#e8eef1;border-radius:4px}.text-node-mention-hl.is-image{background:#d2ecff}.text-node-mention-hl.is-video{background:#e9dcf8}.text-node-mention-hl.is-text{background:#c8f6e9}.text-node-mention-hl.is-audio{background:#ffe8c7}.text-node-mention-hl.is-pending{background:#eaf8fa;box-shadow:inset 0 0 0 1px #a5dfe9}.text-node-composer-side-icons{color:#a4aab3;gap:14px;display:grid;position:absolute;top:48%;right:20px}.text-node-mention-popover{z-index:30;scrollbar-width:thin;scrollbar-color:#cbd6da transparent;background:#fff;border:1px solid #d9e1e4;border-radius:10px;flex-direction:column;width:340px;max-width:calc(100% - 32px);max-height:260px;padding:6px;display:flex;position:absolute;bottom:52px;left:16px;overflow-y:auto;box-shadow:0 14px 34px #53676f38}.text-node-mention-header{color:#8a929c;border-bottom:1px solid #eef1f3;padding:6px 8px 7px;font-size:11px;font-weight:500}.text-node-mention-popover>button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:7px 8px;display:flex}.text-node-mention-popover>button.is-active,.text-node-mention-popover>button:hover{background:#eaf8fa}.text-node-mention-token{color:#0d8bd1;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:84px;font-size:12px;font-weight:650;overflow:hidden}.text-node-mention-title{color:#454d57;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.text-node-mention-empty{color:#98a0aa;text-align:center;padding:14px 10px;font-size:12px}.text-node-composer-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.text-node-composer-options{align-items:center;gap:5px;min-width:0;display:flex}.text-node-composer-options button{color:#6f7580;white-space:nowrap;background:#f5f6f7;border-radius:7px;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:11px;font-weight:600;display:flex}.text-node-composer-options button:hover,.text-node-composer-options button.is-active{color:#078da3;background:#eaf8fa}.text-node-composer-options .text-node-model{background:0 0;padding-left:8px}.text-node-video-model,.text-node-composer-options .text-node-video-settings-trigger,.text-node-composer-options .text-node-text-model-trigger{color:#737984;white-space:nowrap;background:0 0;align-items:center;gap:7px;height:34px;padding:0 7px;font-size:14px;font-weight:500;display:flex}.text-node-video-model>span,.text-node-video-settings-trigger>span,.text-node-text-model-trigger>span{text-overflow:ellipsis;overflow:hidden}.text-node-video-model svg,.text-node-video-settings-trigger svg,.text-node-text-model-trigger svg{flex:none}.text-node-composer-options .text-node-video-settings-trigger:hover,.text-node-composer-options .text-node-video-settings-trigger.is-active,.text-node-composer-options .text-node-video-model-trigger:hover,.text-node-composer-options .text-node-video-model-trigger.is-active,.text-node-composer-options .text-node-text-model-trigger:hover,.text-node-composer-options .text-node-text-model-trigger.is-active{color:#303943;background:#f1f5f6}.text-node-composer-options button.text-node-video-model-trigger{color:#737984;background:0 0;border:0}.text-node-composer-options button.text-node-video-model-trigger:hover,.text-node-composer-options button.text-node-video-model-trigger.is-active{color:#303943;background:#f1f5f6}.text-node-video-settings-popover{z-index:6;color:#111827;background:#fff;border:1px solid #e0e3e5;border-radius:12px;width:360px;max-height:calc(100vh - 96px);padding:18px;position:absolute;bottom:54px;left:190px;overflow-y:auto;box-shadow:0 18px 45px #1721262e}.text-node-video-settings-section+.text-node-video-settings-section{border-top:1px solid #e6e9eb;margin-top:18px;padding-top:18px}.text-node-video-settings-section>strong{color:#747a84;margin-bottom:13px;font-size:14px;font-weight:700;display:block}.text-node-video-ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.text-node-video-ratio-grid button,.text-node-video-resolution-grid button{color:#151b23;background:#f4f4f3;border:1px solid #dcdfe1;border-radius:10px;justify-content:center;align-items:center;gap:7px;height:48px;font-size:14px;font-weight:500;display:flex;position:relative}.text-node-video-ratio-grid button:hover,.text-node-video-resolution-grid button:hover{background:#fff;border-color:#9da4aa}.text-node-video-ratio-grid button.is-active,.text-node-video-resolution-grid button.is-active{background:#fff;border-color:#111827;box-shadow:0 0 0 1px #111827,0 3px 8px #17212616}.text-node-video-ratio-grid button i,.text-node-video-resolution-grid button i{color:#fff;background:#111827;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-9px;right:-8px;box-shadow:0 2px 6px #17212635}.text-node-video-settings-section>input[type=range]{accent-color:#111827;width:100%;margin:5px 0 14px;display:block}.text-node-video-duration-labels{color:#747a84;grid-template-columns:1fr auto 1fr;align-items:center;font-size:13px;display:grid}.text-node-video-duration-labels b{color:#111827;background:#f2f2f1;border-radius:7px;padding:4px 8px;font-size:13px}.text-node-video-duration-labels span:last-child{text-align:right}.text-node-video-resolution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.text-node-image-settings-popover{z-index:6;color:#111827;background:#fff;border:1px solid #e0e3e5;border-radius:12px;width:570px;max-width:calc(100% - 220px);max-height:calc(100vh - 96px);padding:20px;position:absolute;bottom:54px;left:190px;overflow-y:auto;box-shadow:0 18px 45px #1721262e}.text-node-image-settings-section+.text-node-image-settings-section{border-top:1px solid #e6e9eb;margin-top:20px;padding-top:20px}.text-node-image-settings-section>strong{color:#747a84;margin-bottom:14px;font-size:14px;font-weight:700;display:block}.text-node-image-ratio-grid,.text-node-image-resolution-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.text-node-image-ratio-grid button,.text-node-image-resolution-grid button{color:#151b23;background:#f4f4f3;border:1px solid #dcdfe1;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:0;height:54px;font-size:15px;font-weight:500;display:flex;position:relative}.text-node-image-ratio-grid button:hover,.text-node-image-resolution-grid button:hover{background:#fff;border-color:#9da4aa}.text-node-image-ratio-grid button.is-active,.text-node-image-resolution-grid button.is-active{background:#fff;border-color:#111827;box-shadow:0 0 0 1px #111827,0 3px 8px #17212616}.text-node-image-ratio-grid button i,.text-node-image-resolution-grid button i{color:#fff;background:#111827;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-9px;right:-8px;box-shadow:0 2px 6px #17212635}.text-node-image-ratio-icon{width:clamp(7px, calc(18px * var(--image-ratio)), 30px);border:2px solid #61656a;border-radius:2px;flex:none;height:18px;display:block}.text-node-text-model-popover{z-index:6;color:#111827;background:#fff;border:1px solid #e0e3e5;border-radius:10px;width:270px;padding:12px;position:absolute;bottom:54px;left:18px;box-shadow:0 18px 45px #1721262e}.text-node-text-model-popover>strong{color:#747a84;padding:2px 6px 10px;font-size:12px;font-weight:700;display:block}.text-node-text-model-popover>button{color:#4e5661;text-align:left;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;height:42px;padding:0 10px;font-size:13px;display:grid}.text-node-text-model-popover>button:hover,.text-node-text-model-popover>button.is-active{color:#202832;background:#f1f5f6}.text-node-text-model-popover>button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-node-text-model-popover>button svg:last-child{color:#078da3}.text-node-setting{color:#6f7580;height:28px;font:inherit;background:#f5f6f7;border:0;border-radius:7px;outline:0;padding:0 24px 0 9px;font-size:11px;font-weight:600}.text-node-send{color:#7a828c;background:#e9edf1;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.text-node-send:not(:disabled){color:#fff;background:#168da7}.text-node-send:disabled{cursor:not-allowed;opacity:.72}.text-node-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite text-node-spin}.text-node-spinner.is-dark{border-color:#168da7 #168da733 #168da733;width:17px;height:17px}@keyframes text-node-spin{to{transform:rotate(360deg)}}.canvas-node-generating{z-index:3;color:#16869c;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f7fbfce8;place-content:center;justify-items:center;gap:7px;display:grid;position:absolute;inset:31px 0 0}.canvas-node-generating strong{font-size:12px}.canvas-node-generating small{color:#77868d;max-width:150px;font-size:9px}.canvas-node-generating .text-node-spinner{border-color:#168da7 #168da733 #168da733}.canvas-node-generation-error{z-index:3;color:#bb3030;text-overflow:ellipsis;white-space:nowrap;background:#fff2f2ed;border:1px solid #efb7b7;border-radius:5px;padding:5px 7px;font-size:9px;position:absolute;bottom:6px;left:6px;right:6px;overflow:hidden}.canvas-editor-v2 .react-flow__edge-path.canvas-reference-edge{fill:none;stroke:#5860706b;stroke-width:2px;transition:stroke .16s,stroke-width .16s,opacity .16s}.canvas-editor-v2 .react-flow__edge-path.canvas-reference-edge.is-related{stroke:#5860704d}.canvas-editor-v2 .react-flow__edge-path.canvas-reference-edge.is-selected{stroke:#111111b8;stroke-width:3px;opacity:1}.canvas-editor-v2 .react-flow__edge:hover .react-flow__edge-path.canvas-reference-edge:not(.is-selected){stroke:#111111b8}.canvas-reference-edge-flow{fill:none;stroke:#00cae0;stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:10 34;filter:drop-shadow(0 0 4px #00cae099);pointer-events:none;animation:1.35s linear infinite canvas-edge-flow}@keyframes canvas-edge-flow{to{stroke-dashoffset:-68px}}.canvas-edge-delete{z-index:60;color:#dc3545;pointer-events:all;background:#fff;border:1px solid #11111124;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:fixed;transform:translate(-50%,-50%);box-shadow:0 9px 24px #0f172a21,0 0 0 4px #ffffff7a}.canvas-edge-delete:hover{color:#fff;background:#dc3545}.canvas-context-menu{z-index:9999;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e0e4e6;border-radius:9px;gap:2px;min-width:150px;padding:6px;display:grid;position:fixed;box-shadow:0 18px 46px #53676f2b}.canvas-context-menu button{color:#161b23;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:24px 1fr;align-items:center;width:100%;height:40px;padding:0 10px;font-size:13px;font-weight:500;display:grid}.canvas-context-menu button svg{color:#858b94}.canvas-context-menu button:hover:not(:disabled),.canvas-context-menu button:focus-visible{color:#087f94;background:#edf8fa;outline:0}.canvas-context-menu button:hover:not(:disabled) svg{color:#168da7}.canvas-context-menu button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:900px){.text-node-composer{width:calc(100% - 24px);height:330px;padding:14px}.text-node-composer-topbar{grid-template-columns:70px minmax(0,1fr) 32px;gap:7px}.text-node-add-button{width:70px}.text-node-reference{flex-basis:70px;width:70px;height:70px}.text-node-composer-options{overflow-x:auto}.text-node-composer-options button{height:40px;padding:0 12px}.text-node-composer-options .text-node-model span{text-overflow:ellipsis;max-width:170px;overflow:hidden}.text-node-video-model{max-width:230px}.text-node-video-settings-popover{width:auto;bottom:62px;left:12px;right:12px}.text-node-image-settings-popover{width:auto;max-width:none;bottom:62px;left:12px;right:12px}}.flow-canvas .react-flow__node{will-change:transform}.flow-canvas .react-flow__node.dragging .canvas-content-node{box-shadow:0 4px 12px #54697018}.flow-canvas.is-node-dragging .canvas-reference-edge-flow{filter:none;animation-play-state:paused}.project-preview-inner{position:absolute;inset:0}.project-preview-lines{z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.project-preview-line{fill:none;stroke:#1595b0;stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.project-preview .preview-node{z-index:1;background:#fff;border-color:#1595b0;min-width:0;min-height:0}.project-preview .preview-node-text{border-color:#08bcd1}.project-preview .preview-node-image{border-color:#f2a65a}.project-preview .preview-node img,.project-preview .preview-node video{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.project-preview .preview-node-copy{color:#26343a;text-align:left;flex-direction:column;justify-content:center;gap:4px;height:100%;padding:8px 10px;display:flex;overflow:hidden}.project-preview .preview-node-copy b{color:#172333;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(7px,1.1vw,12px);overflow:hidden}.project-preview .preview-node-copy small{color:#60717a;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:clamp(6px,.9vw,10px);line-height:1.35;display:-webkit-box;overflow:hidden}.project-preview .preview-node-note{background:#fffbed;border-color:#d9bc55}
