.canvas-workbench{--canvas-ink:#e7ebec;--canvas-muted:#929c9e;--canvas-line:#2b3334;--canvas-panel:#121718;--canvas-stage:#0d1112;--canvas-gold:#d5b15e;background:var(--canvas-stage);width:100%;min-height:calc(100dvh - 64px);color:var(--canvas-ink);grid-template-columns:minmax(0,1fr);font-family:Microsoft YaHei UI,Microsoft YaHei,sans-serif;display:grid;overflow:hidden}.canvas-project-rail{background:var(--canvas-panel);border-right:1px solid var(--canvas-line);flex-direction:column;min-width:0;display:flex}.canvas-project-rail>header{border-bottom:1px solid var(--canvas-line);flex-direction:column;justify-content:center;min-height:68px;padding:14px 16px;display:flex}.canvas-project-rail>header strong{font-size:15px;line-height:1.4}.canvas-project-rail>header span{color:var(--canvas-muted);margin-top:2px;font-size:11px}.canvas-project-gallery{--canvas-ink:#e7ebec;--canvas-muted:#929c9e;--canvas-line:#2b3334;--canvas-stage:#0d1112;--canvas-gold:#d5b15e;background-color:var(--canvas-stage);min-height:calc(100dvh - 64px);color:var(--canvas-ink);background-image:radial-gradient(circle,#273031 1px,#0000 1px);background-size:24px 24px;padding:clamp(28px,5vw,72px);font-family:Microsoft YaHei UI,Microsoft YaHei,sans-serif;overflow-y:auto}.canvas-project-gallery>header{border-bottom:1px solid var(--canvas-line);justify-content:space-between;align-items:end;max-width:1320px;margin:0 auto 24px;display:flex}.canvas-project-gallery h1{letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(24px,3vw,34px)}.canvas-project-gallery header p{color:var(--canvas-muted);margin:0 0 20px;font-size:12px}.canvas-gallery-notice{color:#f0b2ad;background:#24191b;border:1px solid #704d48;max-width:1320px;margin:0 auto 16px;padding:10px 12px;font-size:11px}.canvas-project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;max-width:1320px;margin:0 auto;display:grid}.canvas-create-project-card,.canvas-project-card{min-height:284px;color:var(--canvas-ink);background:#121718;border:1px solid #354041;border-radius:10px}.canvas-create-project-card{text-align:center;border-style:dashed;place-content:center;gap:12px;padding:28px;display:grid}.canvas-create-project-card>span{font-size:42px;font-weight:200;line-height:1}.canvas-create-project-card>strong{font-size:17px}.canvas-create-project-card input{width:min(240px,70vw);min-height:38px;color:var(--canvas-ink);font:inherit;background:#0c1011;border:1px solid #3b4647;border-radius:5px;outline:none;padding:0 10px}.canvas-create-project-card input:focus{border-color:var(--canvas-gold);box-shadow:0 0 0 2px #d5b15e26}.canvas-create-project-card button{color:#15130d;cursor:pointer;background:#d5b15e;border:1px solid #d5b15e;border-radius:5px;min-height:38px;font-weight:700}.canvas-project-card{cursor:pointer;text-align:left;grid-template-rows:minmax(0,1fr) auto auto;min-width:0;padding:0;display:grid;overflow:hidden}.canvas-project-card:hover:not(:disabled){border-color:#52cbd1;transform:translateY(-2px);box-shadow:0 18px 42px #00000047}.canvas-project-card:focus-visible{outline-offset:3px;outline:2px solid #52cbd1}.canvas-project-preview{background-color:#0d1112;background-image:radial-gradient(circle,#303a3b 1px,#0000 1px);background-size:18px 18px;border:1px solid #293334;border-radius:6px;place-items:center;margin:10px;display:grid;position:relative;overflow:hidden}.canvas-project-preview:before,.canvas-project-preview i{content:"";background:#182022;border:1px solid #4c5b5d;border-radius:4px;width:54px;height:30px;position:absolute}.canvas-project-preview:before{transform:translate(-48px)}.canvas-project-preview i:first-child{transform:translate(48px)}.canvas-project-preview i:nth-child(2){background:#58696b;border:0;width:70px;height:1px;transform:rotate(-12deg)}.canvas-project-preview i:nth-child(3){background:#52cbd1;border:0;border-radius:50%;width:8px;height:8px}.canvas-project-card>strong{text-overflow:ellipsis;white-space:nowrap;padding:3px 16px 0;font-size:14px;overflow:hidden}.canvas-project-card>small{color:var(--canvas-muted);font-variant-numeric:tabular-nums;padding:7px 16px 16px;font-size:10px}.canvas-new-project{border-bottom:1px solid var(--canvas-line);grid-template-columns:minmax(0,1fr) 54px;gap:6px;padding:12px;display:grid}.canvas-new-project input,.canvas-project-title input,.canvas-inspector input,.canvas-inspector textarea,.canvas-inspector select{min-width:0;color:var(--canvas-ink);font:inherit;background:#0c1011;border:1px solid #394344;border-radius:5px;outline:none}.canvas-new-project input{min-height:34px;padding:0 9px;font-size:12px}.canvas-new-project input:focus,.canvas-project-title input:focus,.canvas-inspector input:focus,.canvas-inspector textarea:focus,.canvas-inspector select:focus{border-color:var(--canvas-gold);box-shadow:0 0 0 2px #d5b15e26}.canvas-new-project button,.canvas-command-actions button,.canvas-empty-state button{color:#15130d;cursor:pointer;background:#d5b15e;border:1px solid #665731;border-radius:5px;font-weight:700}.canvas-project-rail nav{scrollbar-color:#4c5657 #121718;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.canvas-project-rail nav button{min-height:62px;color:var(--canvas-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #222a2b;flex-direction:column;justify-content:center;align-items:flex-start;padding:11px 14px;display:flex}.canvas-project-rail nav button:hover{background:#171e1f}.canvas-project-rail nav button.is-active{box-shadow:inset 2px 0 var(--canvas-gold);background:#202526}.canvas-project-rail nav strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12px;overflow:hidden}.canvas-project-rail nav span{color:var(--canvas-muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:10px}.canvas-project-rail nav p{color:var(--canvas-muted);margin:20px 16px;font-size:12px;line-height:1.7}.canvas-project-rail>footer{border-top:1px solid var(--canvas-line);color:var(--canvas-muted);padding:12px 14px;font-size:11px}.canvas-online-dot{background:#4bbf91;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 8px #4bbf9180}.canvas-main-stage{grid-template-rows:68px auto auto 44px minmax(0,1fr);min-width:0;display:grid}.canvas-command-bar{border-bottom:1px solid var(--canvas-line);background:#111617;grid-row:1;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.canvas-project-title{align-items:center;gap:10px;min-width:0;display:flex}.canvas-project-title>button{max-width:min(52vw,520px);color:var(--canvas-ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;font-size:15px;font-weight:700;overflow:hidden}.canvas-project-title input{width:min(52vw,520px);min-height:34px;padding:0 9px;font-size:14px;font-weight:700}.save-state{color:var(--canvas-muted);flex:none;font-size:10px}.save-state.is-saving,.save-state.is-dirty{color:#d5b15e}.save-state.is-saved{color:#58b88f}.save-state.is-conflict,.save-state.is-error{color:#e3766f}.canvas-command-actions{gap:7px;display:flex}.canvas-project-title .canvas-back-to-projects{color:#b9c2c4;cursor:pointer;background:#171d1e;border:1px solid #3b4647;border-radius:4px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700}.canvas-project-title .canvas-back-to-projects:hover:not(:disabled){color:#7ce0e5;border-color:#52cbd1}.canvas-command-actions button{color:#cbd1d2;background:0 0;border-color:#394344;min-height:32px;padding:0 11px;font-size:11px}.canvas-command-actions button:first-child{color:var(--canvas-gold);border-color:#665731}.canvas-command-actions button:hover:not(:disabled){border-color:var(--canvas-gold);color:#f0d48f}.canvas-command-actions .canvas-preflight-button{color:#78d9dd;border-color:#3b6769}.canvas-command-actions .canvas-start-workflow-button{color:#17140d;background:#d5b15e;border-color:#d5b15e;font-weight:800}.canvas-command-actions .canvas-start-workflow-button:hover:not(:disabled){color:#17140d;background:#e0c06e}button:disabled{cursor:not-allowed;opacity:.38}.canvas-notice{color:#f0b2ad;background:#24191b;border-bottom:1px solid #49373a;grid-row:2;padding:8px 14px;font-size:11px;line-height:1.5}.canvas-notice.is-warning{color:#e8cc83;background:#262113;border-color:#615229}.canvas-template-library{border-bottom:1px solid var(--canvas-line);background:#101516;grid-row:3;grid-auto-columns:minmax(152px,1fr);grid-auto-flow:column;gap:6px;padding:5px 10px;display:grid;overflow:auto hidden}.canvas-template-library button{min-width:152px;min-height:40px;color:var(--canvas-ink);cursor:pointer;text-align:left;background:#171d1e;border:1px solid #354041;border-radius:6px;gap:2px;padding:5px 8px;display:grid}.canvas-template-library button:hover:not(:disabled){border-color:var(--canvas-gold)}.canvas-template-library button.is-ready{border-color:#3f806a}.canvas-template-library button.is-blocked{border-color:#6e5734}.canvas-template-library strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.canvas-template-library small{color:var(--canvas-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.canvas-node-palette{border-bottom:1px solid var(--canvas-line);background:#141a1b;grid-row:4;align-items:center;gap:5px;padding:6px 10px;display:flex;overflow-x:auto}.canvas-node-palette button{color:#c7cecf;cursor:pointer;background:#101516;border:1px solid #384142;border-radius:4px;min-width:72px;min-height:30px;padding:0 9px;font-size:11px}.canvas-node-palette button:before{background:var(--node-color);content:"";border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.canvas-node-palette button:hover:not(:disabled){border-color:var(--node-color);color:#fff}.canvas-node-palette .canvas-structure-button{color:#b8c1c2;background:#192021;border-color:#4b5658;min-width:max-content}.canvas-node-palette .canvas-structure-button:hover:not(:disabled),.canvas-node-palette .canvas-structure-button.is-active{border-color:var(--canvas-gold);color:#f0d48f}.canvas-node-palette .canvas-structure-button:before{display:none}.canvas-node-palette .canvas-template-button{color:#f0d48f;background:#2b2415;border-color:#8b7138;min-width:118px;font-weight:700}.canvas-node-palette .canvas-template-button:before{background:var(--canvas-gold);box-shadow:0 0 7px #d5b15e8c}.canvas-flow-stage{background:#0d1112;grid-row:5;min-height:0;position:relative}.canvas-flow-stage.is-select .react-flow__pane{cursor:crosshair}.canvas-flow-stage.is-move .react-flow__pane{cursor:grab}.canvas-flow-stage.is-move .react-flow__pane:active{cursor:grabbing}.canvas-flow-stage.is-locked:after{z-index:4;color:#dbc679;content:"画布结构已锁定";pointer-events:none;background:#211d14;border:1px solid #655a3c;border-radius:4px;padding:5px 8px;font-size:10px;position:absolute;inset:10px 10px auto auto}.canvas-flow-stage .react-flow__background{background:#0d1112}.canvas-flow-stage .react-flow__background-pattern{fill:#2a3233}.canvas-flow-stage .react-flow__controls{border:1px solid #364041;border-radius:6px;overflow:hidden;box-shadow:0 6px 18px #0000003d}.canvas-flow-stage .react-flow__controls-button{fill:#cbd1d2;background:#171d1e;border-bottom-color:#303839}.canvas-flow-stage .react-flow__minimap{background:#151b1c;border:1px solid #364041;border-radius:5px}.canvas-flow-stage .react-flow__edge-path{stroke:#697879;stroke-width:1.5px}.canvas-tool-rail{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#13191af5;border:1px solid #364041;border-radius:9px;flex-direction:column;gap:3px;width:58px;padding:7px 5px;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%);box-shadow:0 14px 32px #00000057}.canvas-tool-rail button{color:#aeb8b9;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;gap:3px;min-height:50px;padding:6px 3px;display:grid}.canvas-tool-rail button:hover:not(:disabled){color:#e4e9ea;background:#192224;border-color:#3b4a4c}.canvas-tool-rail button.is-active{color:#71d9df;background:#123b40;border-color:#235d63}.canvas-tool-rail button>span{font-family:Segoe UI Symbol,Microsoft YaHei UI,sans-serif;font-size:20px;line-height:1}.canvas-tool-rail button>small{font-size:10px;font-weight:600;line-height:1}.canvas-tool-rail>i{background:#30393a;height:1px;margin:5px 3px}.canvas-add-menu{z-index:19;background:#151b1c;border:1px solid #3d4849;border-radius:7px;width:252px;position:absolute;top:50%;left:78px;overflow:hidden;transform:translateY(-50%);box-shadow:0 18px 46px #00000070}.canvas-add-menu>header{border-bottom:1px solid #303839;justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;display:flex}.canvas-add-menu>header strong{font-size:12px}.canvas-add-menu>header button{color:#9ca6a8;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:18px}.canvas-add-menu>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px;display:grid}.canvas-add-menu>div button{color:#c5cccd;cursor:pointer;text-align:left;background:#101516;border:1px solid #354041;border-radius:4px;align-items:center;gap:8px;min-height:34px;padding:0 9px;font-size:11px;display:flex}.canvas-add-menu>div button:hover{border-color:var(--node-color);color:#fff}.canvas-add-menu>div button span{background:var(--node-color);border-radius:50%;flex:none;width:7px;height:7px}.canvas-context-menu{z-index:900;background:#171d1e;border:1px solid #414c4d;border-radius:6px;width:190px;display:grid;position:fixed;overflow:hidden;box-shadow:0 18px 48px #00000080}.canvas-context-menu header{color:#818c8e;letter-spacing:.06em;border-bottom:1px solid #303839;padding:9px 11px 7px;font-size:9px;font-weight:700}.canvas-context-menu button{color:#cbd1d2;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #252d2e;min-height:34px;padding:0 11px;font-size:11px}.canvas-context-menu button:hover:not(:disabled){color:#fff;background:#202829}.canvas-context-menu button.is-danger{color:#e28a82}.canvas-generate-menu{z-index:920;background:#171c1e;border:1px solid #3b4547;border-radius:10px;grid-template-columns:repeat(5,minmax(62px,1fr));width:min(430px,100vw - 24px);animation:.14s ease-out both canvas-menu-enter;display:grid;position:fixed;overflow:hidden;box-shadow:0 18px 52px #0000008c}.canvas-generate-menu header{color:#a9b2b4;border-bottom:1px solid #2b3335;grid-column:1/-1;padding:9px 12px 7px;font-size:10px;font-weight:700}.canvas-generate-menu button{color:#dce2e3;cursor:pointer;background:0 0;border:0;border-right:1px solid #293133;place-items:center;gap:3px;min-height:56px;padding:7px 4px;font-size:10px;display:grid}.canvas-generate-menu button:last-child{border-right:0}.canvas-generate-menu button span{color:#27d7e5;font-size:16px;line-height:1}.canvas-generate-menu button:hover{color:#fff;background:#222a2c}@keyframes canvas-menu-enter{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.canvas-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.react-flow__node-matrixsail-node{width:230px}.react-flow__node-matrixsail-node:has(.canvas-group-node){z-index:-1!important}.canvas-node{color:#e7ebec;background:#171d1e;border:1px solid #3a4546;border-radius:6px;flex-direction:column;min-height:132px;padding:12px;display:flex;position:relative;overflow:hidden;box-shadow:0 9px 24px #00000038}.canvas-node:before{background:var(--node-color);content:"";width:2px;position:absolute;inset:0 auto 0 0}.canvas-node.is-selected{border-color:var(--node-color);box-shadow:0 0 0 1px var(--node-color), 0 12px 28px #00000047}.canvas-node header{color:var(--node-color);justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.canvas-node header small{color:#9aa4a6;font-weight:500}.canvas-node strong{text-overflow:ellipsis;white-space:nowrap;margin-top:13px;font-size:14px;overflow:hidden}.canvas-node-preview{aspect-ratio:3/4;object-fit:cover;border:1px solid #364041;width:100%;margin-top:10px}.canvas-node p{color:#aab2b3;margin:6px 0 12px;font-size:11px;line-height:1.55}.canvas-node footer{color:#727e80;margin-top:auto;font-family:Consolas,monospace;font-size:9px}.canvas-node .react-flow__handle{background:var(--node-color);border:2px solid #171d1e;width:9px;height:9px}.canvas-generation-node{background:#13191a;min-height:170px;padding:0}.canvas-generation-node header{min-height:28px;padding:0 10px}.canvas-generation-node .canvas-node-preview{aspect-ratio:16/9;border:0;border-radius:0;height:auto;margin:0}.canvas-generation-node.is-video .canvas-node-preview,.canvas-generation-node.is-video .canvas-generation-placeholder{aspect-ratio:9/16}.canvas-generation-placeholder{aspect-ratio:16/9;color:#899496;background:#1a2021;place-items:center;min-height:150px;display:grid}.canvas-generation-placeholder span{font-size:24px}.canvas-generation-node.is-generating .canvas-generation-placeholder{color:#fff;background:linear-gradient(135deg,#315ea8,#6434ad,#315ea8) 0 0/240% 240%;animation:1.8s ease-in-out infinite canvas-generation-shift}.canvas-generation-node.is-generating .canvas-generation-placeholder span{animation:1s ease-in-out infinite alternate canvas-generation-pulse}.canvas-generation-node.is-generating{border-color:#63d6e5;box-shadow:0 0 0 2px #44cee03d,0 0 34px #2c95cb5c}.canvas-node-live-state{z-index:3;color:#eafcff;background:#0c171ceb;border:1px solid #68dcea8c;border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:7px 10px;display:flex;position:absolute;inset:36px 10px auto;box-shadow:0 8px 24px #00000057}.canvas-node-live-state i{border:2px solid #81e6f057;border-top-color:#81e6f0;border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite canvas-live-spin}.canvas-node-live-state span{font-size:11px;font-weight:700}.canvas-node-failure-state{z-index:3;color:#ffd9dc;background:#2a1417f0;border:1px solid #874d52;border-radius:7px;gap:2px;min-height:42px;padding:7px 10px;display:grid;position:absolute;inset:36px 10px auto;box-shadow:0 8px 24px #00000057}.canvas-node-failure-state span{font-size:11px;font-weight:800}.canvas-node-failure-state small{color:#dbaeb2;font-size:9px}@keyframes canvas-generation-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes canvas-generation-pulse{0%{opacity:.55;transform:scale(.82)rotate(0)}to{opacity:1;transform:scale(1.08)rotate(18deg)}}@keyframes canvas-live-spin{to{transform:rotate(360deg)}}.canvas-note-node{background:#262116;border-color:#665731;min-height:118px}.canvas-note-node p{color:#d7cba9}.canvas-note-node footer{display:none}.canvas-group-node{width:100%;height:100%;min-height:0;box-shadow:none;pointer-events:auto;background:#3640422e;border:1px dashed #657173}.canvas-group-node:before{opacity:.72;width:3px}.canvas-group-node strong{color:#aab4b5;margin-top:5px;font-size:12px}.canvas-empty-state{text-align:center;place-content:center;justify-items:center;padding:28px;display:grid;position:absolute;inset:0}.canvas-empty-state strong{font-size:20px}.canvas-empty-state p{max-width:480px;color:var(--canvas-muted);margin:10px 0 20px;font-size:12px;line-height:1.75}.canvas-empty-state button{min-height:38px;padding:0 16px}.canvas-inspector{z-index:45;background:#121718;border:1px solid #465052;border-radius:12px;flex-direction:column;width:min(420px,100vw - 24px);max-height:calc(100dvh - 108px);display:flex;position:fixed;top:96px;right:16px;overflow:hidden;box-shadow:0 22px 64px #00000085}.canvas-inspector.is-generation{background:#191b20;border-radius:14px;width:min(980px,100vw - 32px);max-height:330px;overflow:visible}.canvas-inspector.is-media{width:min(560px,100vw - 24px);max-height:min(760px,100dvh - 108px)}.canvas-inspector>header{border-bottom:1px solid var(--canvas-line);flex:none;justify-content:space-between;align-items:center;min-height:58px;padding:10px 12px 10px 16px;display:flex}.canvas-inspector>header>div{gap:2px;display:grid}.canvas-inspector>header strong{font-size:14px;line-height:1.4}.canvas-inspector>header span{color:var(--canvas-muted);font-size:10px}.canvas-inspector>header button{color:#9ca6a8;cursor:pointer;background:0 0;border:0;border-radius:4px;width:34px;height:34px;font-size:20px}.canvas-inspector>header button:hover{color:#fff;background:#202829}.canvas-inspector-fields{scrollbar-color:#4c5657 #121718;flex-direction:column;gap:15px;min-height:0;padding:16px;display:flex;overflow-y:auto}.canvas-inspector.is-generation .canvas-inspector-fields{gap:10px;padding:14px 16px 16px;overflow:visible}.canvas-inspector label{color:#9ca6a8;flex-direction:column;gap:7px;font-size:11px;display:flex}.canvas-inspector input,.canvas-inspector select{min-height:36px;padding:0 9px;font-size:12px}.canvas-inspector textarea{resize:vertical;min-height:104px;padding:9px;font-size:12px;line-height:1.6}.canvas-provider-bind{color:#e4ca80;cursor:pointer;background:#211d14;border:1px solid #7d6a3d;border-radius:4px;min-height:36px;font-size:11px;font-weight:700}.canvas-provider-bind:hover:not(:disabled){background:#292317;border-color:#d5b15e}.canvas-provider-bind:disabled{cursor:not-allowed;opacity:.45}.canvas-inspector dl{border-top:1px solid var(--canvas-line);margin:4px 0 0}.canvas-inspector dl div{border-bottom:1px solid var(--canvas-line);grid-template-columns:72px minmax(0,1fr);padding:10px 0;font-size:10px;display:grid}.canvas-inspector dt{color:var(--canvas-muted)}.canvas-inspector dd{overflow-wrap:anywhere;color:#cbd1d2;min-width:0;margin:0;font-family:Consolas,monospace}.canvas-generation-editor{grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:8px 14px;display:grid}.canvas-generation-editor>header{justify-content:space-between;align-items:center;display:flex}.canvas-generation-editor>header strong{color:#eef3f3;font-size:12px}.canvas-generation-editor>header span{color:var(--canvas-muted);font-size:10px}.canvas-generation-inputs{gap:7px;min-width:0;display:flex}.canvas-generation-inputs span{color:#c8d0d1;grid-template-rows:50px auto;gap:4px;width:68px;min-width:0;font-size:9px;display:grid;overflow:hidden}.canvas-generation-inputs img,.canvas-generation-inputs video,.canvas-generation-inputs i{object-fit:cover;background:#1a2021;border:1px solid #394344;border-radius:7px;width:50px;height:50px}.canvas-generation-inputs i{color:#8c989a;place-items:center;font-size:18px;font-style:normal;display:grid}.canvas-generation-inputs b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.canvas-generation-editor>label{grid-area:1/2}.canvas-generation-editor textarea{resize:none;background:0 0;border:0;height:96px;min-height:96px;max-height:96px;font-size:13px;line-height:1.65}.canvas-generation-editor textarea:disabled{color:#aeb7b8;opacity:.82}.canvas-generation-live-state{color:#dffbff;background:#12262a;border:1px solid #315f66;border-radius:8px;grid-column:1/-1;align-items:center;gap:10px;min-height:42px;padding:8px 12px;display:flex}.canvas-generation-live-state i{border:2px solid #81e6f04d;border-top-color:#81e6f0;border-radius:50%;flex:none;width:15px;height:15px;animation:.8s linear infinite canvas-live-spin}.canvas-generation-live-state strong{font-size:12px}.canvas-generation-live-state span{color:#95bfc4;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.canvas-generation-live-state.is-failed{color:#ffdadd;background:#291719;border-color:#81474c}.canvas-generation-live-state.is-failed span{color:#d8a7ac}.canvas-media-editor{min-height:0;display:grid}.canvas-media-preview{background:#0d1112;border:1px solid #353d3f;border-radius:8px;place-items:center;min-height:180px;max-height:min(480px,48dvh);display:grid;overflow:hidden}.canvas-media-preview img,.canvas-media-preview video{object-fit:contain;width:100%;max-height:min(480px,48dvh);display:block}.canvas-media-preview audio{width:calc(100% - 24px)}.canvas-media-preview>span{color:#7f898b;font-size:12px}.canvas-media-replace{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;display:grid}.canvas-media-replace>span{color:#eef2f2;cursor:pointer;background:#1a2021;border:1px solid #42484b;border-radius:18px;grid-area:1/1/span 2;place-items:center;min-height:36px;padding:0 16px;display:inline-grid}.canvas-media-replace input{grid-area:1/2;min-height:34px;padding:4px}.canvas-media-replace small{color:#818b8d;grid-area:2/2;font-size:10px}.canvas-media-advanced{border-top:1px solid #303739;padding-top:10px}.canvas-media-advanced summary{cursor:pointer;color:#9da7a9;font-size:11px}.canvas-media-advanced label{margin-top:10px}.canvas-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.canvas-inspector-empty{color:var(--canvas-muted);padding:18px 16px;font-size:12px;line-height:1.75}.canvas-run-panel{background:#17191a;border-top:1px solid #34373d;align-items:end;gap:8px;min-width:0;padding:8px;display:flex}.canvas-run-panel>strong{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.canvas-run-panel>label{flex:0 138px;gap:4px;min-width:104px}.canvas-run-panel>.canvas-model-picker{flex:260px;min-width:210px}.canvas-run-panel>label small{display:none}.canvas-run-panel>button{color:#151718;cursor:pointer;background:#f2f3ef;border:1px solid #d5b15e;border-radius:18px;flex:none;min-width:132px;min-height:36px;font-weight:800}.canvas-run-panel>.canvas-generate-arrow{color:#17191a;background:#f4f5f2;border:0;border-radius:50%;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;font-size:22px;line-height:1}.canvas-run-panel>small{display:none}.canvas-run-panel .canvas-capability-state{align-self:stretch;min-width:150px;max-width:190px}.canvas-run-panel .canvas-capability-state.is-ready{display:none}.canvas-model-picker{color:#9ca6a8;flex-direction:column;gap:4px;font-size:11px;display:flex;position:relative}.canvas-model-picker>small{display:none}.canvas-model-picker-trigger{color:#e8eeee;cursor:pointer;text-align:left;background:#101415;border:1px solid #42484b;border-radius:4px;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:8px;min-height:36px;padding:0 10px;display:grid}.canvas-model-picker-trigger:hover,.canvas-model-picker-trigger[aria-expanded=true]{background:#151819;border-color:#7d6a3d}.canvas-model-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #d5b15e}.canvas-model-picker-trigger b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.canvas-model-picker-trigger small{color:#7f898b;white-space:nowrap;font-size:9px}.canvas-model-picker-trigger i{color:#9aa4a6;font-size:13px;font-style:normal}.canvas-model-picker-menu{z-index:90;color:#e7ebec;background:#1b1d20;border:1px solid #3d4245;border-radius:10px;grid-template-columns:180px minmax(260px,1fr);width:min(520px,100vw - 48px);min-height:224px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 18px 42px #0000006b}.canvas-model-picker-menu nav{background:#17191c;border-right:1px solid #303438;flex-direction:column;gap:3px;padding:8px;display:flex}.canvas-model-picker-menu button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0}.canvas-model-picker-menu nav button{color:#aeb6b8;border-radius:6px;justify-content:space-between;align-items:center;min-height:42px;padding:0 10px;font-size:12px;display:flex}.canvas-model-picker-menu nav button:hover,.canvas-model-picker-menu nav button.is-active{color:#f2f5f5;background:#25282c}.canvas-model-picker-menu [role=listbox]{flex-direction:column;gap:4px;padding:8px;display:flex}.canvas-model-picker-menu [role=option]{border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;min-height:54px;padding:8px 10px;display:flex}.canvas-model-picker-menu [role=option]:hover{background:#24272a}.canvas-model-picker-menu [role=option].is-selected{background:#1c2a2d;border-color:#315f66}.canvas-model-picker-menu [role=option] span{gap:4px;display:grid}.canvas-model-picker-menu [role=option] b{color:#eef2f2;font-size:12px}.canvas-model-picker-menu [role=option] small{color:#818b8d;font-size:9px}.canvas-model-picker-menu [role=option] i{color:#66c7d5;font-size:14px;font-style:normal}.canvas-capability-state{background:#14201b;border:1px solid #315947;border-radius:6px;gap:3px;padding:9px 10px;font-size:10px;line-height:1.5;display:grid}.canvas-capability-state strong{color:#78c7a5;font-size:11px}.canvas-capability-state span{color:#a8b4b0}.canvas-capability-state.is-blocked{background:#211c14;border-color:#755d35}.canvas-capability-state.is-blocked strong{color:#e0be75}.canvas-capability-state.is-blocked span{color:#c9b98f}.canvas-prompt-modules{gap:8px;padding-top:2px;display:grid}.canvas-prompt-modules>header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.canvas-prompt-modules>header strong{color:#cbd1d2;font-size:11px}.canvas-prompt-modules>header span{color:#758083;font-size:9px}.canvas-prompt-modules>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.canvas-prompt-modules button{color:#cbd1d2;cursor:pointer;text-align:left;background:#111617;border:1px solid #394344;border-radius:4px;gap:2px;min-width:0;min-height:44px;padding:7px 8px;display:grid}.canvas-prompt-modules button:hover{border-color:var(--canvas-gold)}.canvas-prompt-modules button strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.canvas-prompt-modules button small{color:#7f8a8c;font-size:8px}.canvas-modal-backdrop{z-index:1000;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.canvas-help-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.canvas-approval-modal{background:#14191a;border:1px solid #655a3c;border-radius:6px;width:min(560px,100%);overflow:hidden;box-shadow:0 28px 80px #0000007a}.canvas-approval-modal>header{border-top:2px solid var(--canvas-gold);color:#aeb7b8;border-bottom:1px solid #303738;justify-content:space-between;align-items:center;min-height:54px;padding:0 22px;font-size:11px;display:flex}.canvas-approval-modal>header strong{color:#e3c676}.canvas-approval-modal>div{padding:26px 28px 22px}.canvas-approval-modal h2{color:#eff2ee;letter-spacing:0;margin:0;font-family:SimSun,serif;font-size:25px;font-weight:700}.canvas-approval-modal p{color:#939d9f;margin:9px 0 20px;font-size:12px;line-height:1.75}.canvas-approval-modal dl{border-top:1px solid #303738;margin:0}.canvas-approval-modal dl div{border-bottom:1px solid #303738;grid-template-columns:96px 1fr;padding:13px 0;font-size:12px;display:grid}.canvas-approval-modal dt{color:#858f91}.canvas-approval-modal dd{color:#e7ebec;margin:0;font-weight:700}.canvas-approval-modal dd.is-cost{color:#edcd76;font-size:18px}.canvas-approval-modal aside{border-left:2px solid var(--canvas-gold);background:#1c201e;grid-template-columns:72px 1fr;gap:12px;margin-top:18px;padding:12px 14px;font-size:11px;line-height:1.65;display:grid}.canvas-approval-modal aside strong{color:#e2c675}.canvas-approval-modal aside span{color:#a5adae}.canvas-approval-modal>footer{border-top:1px solid #303738;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.canvas-approval-modal>footer button{color:#d5dcdd;cursor:pointer;background:0 0;border:1px solid #4a5455;border-radius:4px;min-height:40px;padding:0 18px;font-weight:700}.canvas-approval-modal>footer button:last-child{color:#17140d;background:#d5b15e;border-color:#d5b15e}.canvas-preflight-dialog{background:#14191a;border:1px solid #465052;border-radius:7px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(760px,100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0000007a}.canvas-preflight-dialog>header{border-top:2px solid #58cbd0;border-bottom:1px solid #303738;justify-content:space-between;align-items:center;min-height:64px;padding:10px 18px;display:flex}.canvas-preflight-dialog>header div{gap:2px;display:grid}.canvas-preflight-dialog>header span{color:#67cdd1;letter-spacing:.08em;font-size:10px;font-weight:800}.canvas-preflight-dialog h2{color:#eff2ee;margin:0;font-size:18px}.canvas-preflight-dialog>header button,.canvas-preflight-dialog>footer button{color:#cbd1d2;cursor:pointer;background:0 0;border:1px solid #465052;border-radius:4px;min-height:34px;padding:0 14px;font-weight:700}.canvas-preflight-summary{background:#111617;border-bottom:1px solid #303738;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:11px;display:flex}.canvas-preflight-summary strong{color:#e2c675}.canvas-preflight-summary span{color:#899395}.canvas-preflight-dialog ol{gap:8px;margin:0;padding:14px 18px;list-style:none;display:grid;overflow:auto}.canvas-preflight-dialog li{background:#171d1e;border:1px solid #333c3d;border-radius:5px;grid-template-columns:28px 1fr;gap:10px;padding:11px 12px;display:grid}.canvas-preflight-dialog li>span{color:#aeb7b8;background:#2a3334;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.canvas-preflight-dialog li div{gap:4px;display:grid}.canvas-preflight-dialog li strong{color:#e7ebec;font-size:12px}.canvas-preflight-dialog li small{color:#98a2a4;font-size:11px;line-height:1.55}.canvas-preflight-dialog li.is-ready{border-color:#3d7779}.canvas-preflight-dialog li.is-ready>span{color:#96edf0;background:#24575a}.canvas-preflight-dialog li.is-blocked{border-color:#5e3e40}.canvas-preflight-dialog li.is-blocked>span{color:#f0aba7;background:#4d2d2f}.canvas-preflight-dialog li.is-completed>span{color:#9ad9bb;background:#28513f}.canvas-preflight-dialog>footer{border-top:1px solid #303738;justify-content:flex-end;gap:10px;padding:13px 18px;display:flex}.canvas-preflight-dialog>footer button:last-child{color:#17140d;background:#d5b15e;border-color:#d5b15e}.canvas-log-dialog{background:#14191a;border:1px solid #465052;border-radius:7px;grid-template-rows:auto auto minmax(0,1fr);width:min(680px,100%);max-height:min(760px,100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0000007a}.canvas-log-dialog>header{border-top:2px solid var(--canvas-gold);border-bottom:1px solid #303738;justify-content:space-between;align-items:center;min-height:64px;padding:10px 18px;display:flex}.canvas-log-dialog>header div{gap:2px;display:grid}.canvas-log-dialog>header span{color:#8f999b;font-size:10px}.canvas-log-dialog h2{color:#edf0f1;margin:0;font-size:17px}.canvas-log-dialog>header button,.canvas-log-list article>button{color:#cbd1d2;cursor:pointer;background:0 0;border:1px solid #465052;border-radius:4px;min-height:32px;padding:0 11px;font-size:11px}.canvas-log-dialog>header button:hover,.canvas-log-list article>button:hover{border-color:var(--canvas-gold);color:#f0d48f}.canvas-history-summary{background:#111617;border-bottom:1px solid #293132;gap:8px;padding:10px 18px;display:flex}.canvas-history-summary span{color:#9fa9ab;border:1px solid #354041;border-radius:999px;padding:4px 8px;font-size:10px}.canvas-log-list{min-height:0;padding:10px;overflow-y:auto}.canvas-log-list article{background:#171d1e;border-bottom:1px solid #293132;gap:7px;padding:13px 14px;display:grid}.canvas-log-list article+article{margin-top:7px}.canvas-log-list article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.canvas-log-list article strong{font-size:12px}.canvas-log-list article span{color:#aab3b5;font-size:10px}.canvas-log-list article span.is-completed{color:#65c197}.canvas-log-list article span.is-failed{color:#e27c74}.canvas-log-list article p{color:#c5cccd;margin:0;font-size:11px;line-height:1.5}.canvas-log-list article small{color:#818c8e;font-size:10px}.canvas-log-list article aside{color:#e1a09b;background:#211718;border-left:2px solid #b5605a;padding:8px 10px;font-size:10px;line-height:1.55}.canvas-log-list article>button{justify-self:start}.canvas-dialog-empty{color:#8f999b;text-align:center;padding:36px 24px;font-size:12px;line-height:1.7}.canvas-help-dialog{background:#151a1c;border:1px solid #465052;border-radius:9px;grid-template-rows:auto auto minmax(0,1fr);width:min(720px,100%);max-height:min(820px,100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 28px 80px #00000085}.canvas-help-dialog>header{border-bottom:1px solid #303839;justify-content:space-between;align-items:center;min-height:60px;padding:0 18px;display:flex}.canvas-help-dialog h2{margin:0;font-size:18px}.canvas-help-dialog>header button{color:#9ca6a8;cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:21px}.canvas-help-mode{color:#cbd1d2;background:#20262f;border-radius:6px;align-items:center;gap:7px;min-height:40px;margin:12px 16px 0;padding:0 12px;font-size:11px;display:flex}.canvas-help-mode>span{color:#49cbd2;font-size:18px}.canvas-help-mode small{color:#9aa4a6}.canvas-help-mode strong{font-size:11px}.canvas-help-mode em{color:#ddc678;margin-left:auto;font-size:10px;font-style:normal}.canvas-help-scroll{scrollbar-color:#4c5657 #151a1c;min-height:0;padding:12px 16px 18px;overflow:auto}.canvas-help-scroll section+section{margin-top:18px}.canvas-help-scroll h3{color:#7f898b;margin:0 0 8px;font-size:11px;font-weight:500}.canvas-help-scroll dl{margin:0}.canvas-help-scroll dl div{border-bottom:1px solid #242c2d;grid-template-columns:minmax(170px,42%) minmax(0,1fr);align-items:center;gap:14px;min-height:32px;display:grid}.canvas-help-scroll dt,.canvas-help-scroll dd{margin:0;font-size:11px}.canvas-help-scroll dt{color:#e3e7e8;font-weight:700}.canvas-help-scroll dd{color:#8f999b}.canvas-help-scroll kbd{color:#e0e5e6;background:#20262b;border:1px solid #465052;border-radius:4px;align-items:center;min-width:148px;min-height:26px;padding:0 8px;font:700 11px/1 Microsoft YaHei UI,sans-serif;display:inline-flex;box-shadow:inset 0 -1px #111617}@media (max-width:1180px){.canvas-workbench{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.canvas-workbench{grid-template-columns:minmax(0,1fr);overflow:hidden}.canvas-node-palette{display:none}.canvas-main-stage{grid-template-rows:68px auto auto minmax(0,1fr)}.canvas-flow-stage{grid-row:4}.canvas-inspector{width:auto;bottom:8px;max-height:min(64dvh,560px)!important;top:auto!important;left:8px!important;right:8px!important}.canvas-inspector.is-generation .canvas-inspector-fields{overflow-y:auto}.canvas-generation-editor{grid-template-columns:1fr}.canvas-generation-editor>label{grid-area:auto}.canvas-run-panel{flex-wrap:wrap;align-items:stretch}.canvas-model-picker-menu{grid-template-columns:150px minmax(220px,1fr);width:min(520px,100vw - 32px);left:auto;right:0}.canvas-run-panel>small{color:#8e9798;width:100%;font-size:10px;line-height:1.5;display:block}}@media (max-width:620px){.canvas-workbench{min-height:calc(100dvh - 56px);display:block;overflow:hidden}.canvas-project-rail{display:none}.canvas-main-stage{grid-template-rows:58px auto auto minmax(0,1fr);height:calc(100dvh - 56px)}.canvas-command-bar{padding-inline:10px}.canvas-command-actions button:not(:first-child){display:none}.canvas-project-title>button{max-width:52vw;font-size:13px}.save-state{display:none}.react-flow__node-matrixsail-node{width:210px}.canvas-tool-rail{flex-direction:row;width:auto;padding:4px;top:auto;bottom:12px;left:50%;transform:translate(-50%)}.canvas-tool-rail button{width:46px;min-height:44px}.canvas-tool-rail button>span{font-size:17px}.canvas-tool-rail>i{width:1px;height:36px;margin:4px 2px}.canvas-add-menu{width:auto;inset:auto 8px 70px;transform:none}.canvas-inspector{bottom:68px}.canvas-help-scroll dl div{grid-template-columns:1fr;gap:5px;padding:8px 0}.canvas-project-gallery{min-height:calc(100dvh - 56px);padding:22px 14px}.canvas-project-grid{grid-template-columns:1fr}.canvas-create-project-card,.canvas-project-card{min-height:240px}}@media (prefers-reduced-motion:reduce){.canvas-workbench *,.canvas-workbench :before,.canvas-workbench :after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
