/* Canvas only. Geometry follows the supplied guide; light surface follows the recording. */
.canvas-workspace .canvas-node.cw-has-result:is([data-node-type=image],[data-node-type=video]),.canvas-workspace .canvas-node.cw-has-result:is([data-node-type=image],[data-node-type=video]) :is(.node-body,.live-node-result){min-height:0}
body.canvas-workspace{color-scheme:light;--canvas-bg:var(--cw-f4f4f4,#f4f4f4);--canvas-panel:var(--cw-ffffff,#fff);--canvas-border:var(--cw-e5e5e5,#e5e5e5);--canvas-muted:var(--cw-8c8c8c,#8c8c8c);--canvas-teal:var(--cw-353535,#353535);background:var(--cw-f4f4f4,#f4f4f4);color:var(--cw-333333,#333)}
.canvas-workspace .connection-flow{stroke:#97acb9;stroke-width:2;stroke-dasharray:none;filter:none;animation:none}
.canvas-workspace .cw-settings .live-param{width:100%;justify-content:stretch;grid-template-columns:minmax(0,1fr)}.canvas-workspace .cw-settings .live-param>span{max-width:100%}.canvas-workspace .cw-settings .live-dimensions{justify-content:stretch;grid-template-columns:minmax(0,1fr)}.canvas-workspace .cw-settings .live-dimensions>div{max-width:100%}.canvas-workspace .cw-settings .cw-native-select{clip-path:inset(50%);min-width:0!important;padding:0!important;border:0!important;appearance:none}
.canvas-workspace .text-editor-header{color:var(--cw-444444,#444);border-color:var(--cw-eeeeee,#eee)}.canvas-workspace .text-format-toolbar :is(button,select){color:var(--cw-666666,#666);background:transparent;border-color:var(--cw-dddddd,#ddd)}.canvas-workspace .text-format-toolbar button:hover{background:var(--cw-eeeeee,#eee);color:var(--cw-333333,#333)}
.canvas-workspace [hidden]{display:none!important}.canvas-workspace button,.canvas-workspace input,.canvas-workspace select{font-family:inherit}.canvas-workspace button:disabled{opacity:.42;cursor:not-allowed}.canvas-workspace button:focus-visible,.canvas-workspace a:focus-visible{outline:2px solid #53bcd3;outline-offset:2px}
.canvas-workspace .canvas-app{background:var(--cw-f4f4f4,#f4f4f4)}.canvas-workspace #canvas-viewport{inset:0!important;background:var(--cw-f4f4f4,#f4f4f4)!important;scrollbar-width:none}.canvas-workspace #canvas-world{background-image:none}.canvas-workspace .canvas-topbar{height:48px;padding:8px 12px;gap:12px;background:transparent;border:0;backdrop-filter:none;pointer-events:none}.canvas-workspace .canvas-brandline,.canvas-workspace .canvas-top-actions{pointer-events:auto;gap:6px}.canvas-workspace .canvas-brandline{padding:0 8px 0 3px;background:var(--cw-ffffff,#fff);border:1px solid var(--cw-ededed,#ededed);border-radius:7px;max-width:65%;height:32px}.canvas-workspace .cw-back{color:var(--cw-656565,#656565);font-size:23px;text-decoration:none;line-height:22px;padding:0 5px}.canvas-workspace .brand-mark{width:23px;height:23px;border:0;background:none;border-radius:3px}.canvas-workspace .brand-mark img{width:21px;height:21px;object-fit:contain}.canvas-workspace .project-menu>summary{padding:0;border:0;background:none;gap:3px}.canvas-workspace .project-menu-chevron{color:var(--cw-666666,#666)}.canvas-workspace .project-name-input{color:var(--cw-444444,#444);font-size:12px;font-weight:500;width:160px;max-width:28vw}.canvas-workspace .save-state{font-size:10px;color:var(--cw-999999,#999);white-space:nowrap}.canvas-workspace .save-state.is-saving{color:#986d35}.canvas-workspace .save-state.is-saved{color:var(--cw-748c80,#748c80)}.canvas-workspace .canvas-credit-balance,.canvas-workspace .canvas-user-avatar{color:var(--cw-555555,#555);background:var(--cw-ffffff,#fff);border:1px solid var(--cw-ededed,#ededed);border-radius:7px;min-height:30px}.canvas-workspace .canvas-credit-balance strong{color:var(--cw-444444,#444)}.canvas-workspace .canvas-user-avatar{width:30px;height:30px}.canvas-workspace .project-menu-dropdown{background:var(--cw-ffffff,#fff);color:var(--cw-444444,#444);border:1px solid var(--cw-e5e5e5,#e5e5e5);box-shadow:0 6px 24px #0001}.canvas-workspace .project-menu-dropdown :is(a,button){color:var(--cw-444444,#444)}.canvas-workspace .project-menu-dropdown :is(a,button):hover{background:var(--cw-f3f3f3,#f3f3f3)}
.canvas-workspace .canvas-node{width:264px;min-height:264px;border-radius:7px;background:var(--cw-ffffff,#fff);border:1px solid var(--cw-e9e9e9,#e9e9e9);box-shadow:none;overflow:visible}.canvas-workspace .canvas-node[data-node-type=image],.canvas-workspace .canvas-node[data-node-type=video],.canvas-workspace .canvas-node.material-node{width:468px}.canvas-workspace .canvas-node.selected{border-color:var(--cw-a8a8a8,#a8a8a8);box-shadow:0 0 0 1px #9991}.canvas-workspace .canvas-node.multi-selected{outline:1px solid #8bbad4;outline-offset:2px}.canvas-workspace .node-head{position:absolute;left:0;right:0;top:-28px;height:24px;padding:0;border:0;background:transparent;display:flex;align-items:center;cursor:grab}.canvas-workspace .node-kind-icon{width:16px;height:16px;background:none;color:var(--cw-7c7c7c,#7c7c7c);border-radius:0}.canvas-workspace .node-kind-icon svg{width:14px;height:14px}.canvas-workspace .node-number{display:none}.canvas-workspace .node-name-label{left:20px;top:-23px;max-width:calc(100% - 54px);color:var(--cw-777777,#777);font-size:12px;font-weight:400;line-height:18px}.canvas-workspace .node-title-input{color:var(--cw-444444,#444);background:var(--cw-ffffff,#fff);border:1px solid var(--cw-cccccc,#ccc)}.canvas-workspace .cw-node-more{margin-left:auto;width:25px;height:22px;padding:0;border:0;border-radius:4px;background:none;color:var(--cw-777777,#777);font-size:19px}.canvas-workspace .cw-node-more:hover{background:var(--cw-e7e7e7,#e7e7e7)}
.canvas-workspace .node-body{padding:18px;display:flex;flex-direction:column;gap:8px;min-height:262px}.canvas-workspace .node-footer{position:absolute;bottom:7px;right:10px;height:auto;border:0;padding:0;font-size:10px;background:none;color:var(--cw-888888,#888);pointer-events:none}.canvas-workspace .node-footer>span:first-child,.canvas-workspace .canvas-node:not(.cw-has-job) .node-footer{display:none}.canvas-workspace .canvas-node .node-port,.canvas-workspace .canvas-node .node-in-port{width:17px;height:17px;border:1px solid var(--cw-a6a6a6,#a6a6a6);background:var(--cw-f4f4f4,#f4f4f4);color:var(--cw-7d7d7d,#7d7d7d);box-shadow:none;border-radius:50%;font-size:13px;line-height:14px;padding:0;top:50%;bottom:auto;transform:translateY(-50%)}.canvas-workspace .canvas-node .node-port{left:auto;right:-21px}.canvas-workspace .canvas-node .node-in-port{left:-21px}.canvas-workspace .connection-path{stroke:var(--cw-bac5cc,#bac5cc);stroke-width:1.5}.canvas-workspace .connection-target{outline:2px solid #6bb7c4}.canvas-workspace .connection-invalid{outline:2px solid #db8585}
.canvas-workspace :is(.text-node-intro,.image-node-preview,.video-node-preview,.audio-node-preview,.script-node-illustration):not(.live-node-result){min-height:0;height:98px;aspect-ratio:auto!important;display:flex;justify-content:center;align-items:center;flex:none;padding:6px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--cw-999999,#999)}.canvas-workspace .text-node-intro :is(strong,p,small){display:none}.canvas-workspace .text-node-intro svg,.canvas-workspace .image-node-preview-icon svg,.canvas-workspace .script-node-icon svg{width:42px;height:42px;color:var(--cw-999999,#999)}.canvas-workspace .text-node-intro>span{background:none;color:var(--cw-999999,#999)}.canvas-workspace .image-node-preview>small,.canvas-workspace .video-node-preview>small{display:none}.canvas-workspace .video-node-play{font-size:38px;color:var(--cw-999999,#999);background:none}.canvas-workspace .image-node-try-label,.canvas-workspace .text-node-try-label,.canvas-workspace .cw-node-hints>small{font-size:11px;color:var(--cw-999999,#999);font-weight:400}.canvas-workspace .image-node-reference,.canvas-workspace .text-node-manual-button{width:100%;min-height:28px;height:auto;background:none!important;border:0!important;border-radius:4px;color:var(--cw-555555,#555);padding:5px 0;justify-content:flex-start;font-size:12px;box-shadow:none}.canvas-workspace .image-node-reference strong{font-weight:400;font-size:12px;color:var(--cw-555555,#555)}.canvas-workspace .image-node-reference small,.canvas-workspace .text-node-option-arrow{display:none}.canvas-workspace .cw-node-hints{display:grid;gap:7px}.canvas-workspace .cw-node-hints button{padding:4px 0;text-align:left;border:0;background:none;color:var(--cw-555555,#555);font-size:12px}.canvas-workspace .script-node-steps{padding:14px 0;color:var(--cw-777777,#777)}.canvas-workspace .script-node-step>span{background:var(--cw-f0f0f0,#f0f0f0);color:var(--cw-777777,#777);border:1px solid var(--cw-dddddd,#ddd)}.canvas-workspace .script-node-step>small{color:var(--cw-777777,#777)}.canvas-workspace .script-node-step-line{background:var(--cw-dddddd,#ddd)}.canvas-workspace .cw-has-result :is(.image-node-try-label,.image-node-reference,.text-node-try-label,.text-node-manual-button,.script-node-steps,.cw-node-hints){display:none}
.canvas-workspace .cw-has-result .node-body{padding:0;gap:0;min-height:262px}.canvas-workspace .live-node-result{display:block;min-height:262px;max-height:440px;overflow:auto;aspect-ratio:auto!important;border:0;border-radius:6px;background:var(--cw-ffffff,#fff);padding:0}.canvas-workspace .live-node-result :is(img,video){display:block;width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:6px;margin:0;background:var(--cw-fafafa,#fafafa)}.canvas-workspace .live-node-result pre{min-height:200px;max-height:320px;overflow:auto;padding:17px;margin:0;font-size:13px;line-height:1.75;white-space:pre-wrap;color:var(--cw-444444,#444);user-select:text}.canvas-workspace .result-actions{display:flex;gap:10px;flex-wrap:wrap;padding:8px 12px 24px;background:var(--cw-ffffff,#fff);color:var(--cw-777777,#777)}.canvas-workspace .result-actions :is(a,button){background:none;border:0;color:var(--cw-555555,#555);font-size:11px;padding:3px 0;text-decoration:none}.canvas-workspace .node-versions{max-width:100%;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);border:1px solid var(--cw-e4e4e4,#e4e4e4);margin:6px;padding:4px;border-radius:4px}.canvas-workspace .material-node .node-body{padding:0}.canvas-workspace .node-upload-preview{padding:0;border:0;background:none}.canvas-workspace .material-preview-content{height:262px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:var(--cw-fafafa,#fafafa)}.canvas-workspace .material-preview-content :is(img,video){width:100%;height:100%;max-height:262px;object-fit:contain;margin:0}.canvas-workspace .material-metadata{font-size:10px;text-align:center;padding:6px;color:var(--cw-888888,#888)}.canvas-workspace .text-inline-content{color:var(--cw-444444,#444);background:none;min-height:215px}.canvas-workspace .text-format-toolbar{background:var(--cw-f5f5f5,#f5f5f5);color:var(--cw-555555,#555)}
.canvas-workspace .cw-generator:not([hidden]){position:absolute;z-index:24;display:flex;flex-direction:column;gap:7px;min-height:176px;max-width:calc(100vw - 24px);height:auto;padding:12px 14px;border:1px solid var(--cw-ededed,#ededed);border-radius:12px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);box-shadow:0 3px 10px #00000012;overflow:visible;transform:none}.canvas-workspace .cw-prototype{display:none!important}.canvas-workspace .cw-generator-tools{display:flex;align-items:center;gap:5px;min-height:22px}.canvas-workspace .cw-generator-tools>button{height:24px;padding:2px 7px;white-space:nowrap;border:0;border-radius:5px;background:var(--cw-f7f7f7,#f7f7f7);color:var(--cw-666666,#666);font-size:11px}.canvas-workspace .cw-generator-tools .cw-expand{margin-left:auto;background:none}.canvas-workspace .cw-generator-tools .cw-close{background:none;font-size:18px;width:23px;padding:0}.canvas-workspace .cw-input-list{display:flex;flex:1;gap:4px;overflow:hidden;min-width:0}.canvas-workspace .cw-input-row{display:flex;align-items:center;gap:2px;border-radius:4px;background:var(--cw-f3f4f4,#f3f4f4);min-width:0;max-width:160px;font-size:10px;padding:1px 3px 1px 6px}.canvas-workspace .cw-input-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-workspace .cw-input-row .cw-close{width:18px;height:18px;font-size:14px;padding:0;flex:none}
.canvas-workspace .cw-generator>.canvas-prompt-editor{height:84px;min-height:84px;max-height:260px;width:100%;padding:8px 1px;background:none;border:0;outline:0;color:var(--cw-444444,#444);font-size:13px;line-height:1.7;overflow:auto}.canvas-workspace .canvas-prompt-editor:empty:before{color:var(--cw-aaaaaa,#aaa);font-size:12px}.canvas-workspace .cw-generator.is-expanded:not([hidden]){background:var(--cw-ffffff,#fff)}.canvas-workspace .cw-generator.is-expanded>.canvas-prompt-editor{height:auto;flex:1;max-height:none}.canvas-workspace .cw-generator-controls{display:flex;align-items:center;gap:7px;min-height:32px;flex-wrap:wrap}.canvas-workspace .cw-generator-controls>label{display:flex;align-items:center;gap:4px;border:0;background:none;min-width:0;padding:0;max-width:235px}.canvas-workspace .cw-generator-controls select{max-width:210px;min-width:0;color:var(--cw-555555,#555);background:var(--cw-ffffff,#fff);border:0;font-size:11px;padding:5px 0;outline:0}.canvas-workspace .cw-generator-controls label>span{color:var(--cw-888888,#888)}.canvas-workspace .cw-generator-controls>.cw-settings-trigger{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px;border:0;background:var(--cw-f8f8f8,#f8f8f8);border-radius:5px;color:var(--cw-666666,#666);font-size:11px}.canvas-workspace .cw-generator-controls>span{display:block!important;margin-left:auto;white-space:nowrap;font-size:10px;color:var(--cw-888888,#888)}.canvas-workspace .cw-generator-controls>.text-generate-button{width:32px;min-width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--cw-333333,#333);color:var(--cw-ffffff,#fff);font-size:20px;margin:0}.canvas-workspace .cw-generator-controls>.text-generate-button>span{display:none}.canvas-workspace .cw-generator-controls>.text-generate-button b{color:inherit;background:none;font-size:20px}
.canvas-workspace :is(.cw-settings,.cw-reference-picker){position:fixed;z-index:60;padding:14px;border:1px solid var(--cw-e8e8e8,#e8e8e8);border-radius:10px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);box-shadow:0 5px 24px #0002;overflow:auto;font-size:12px}.canvas-workspace .cw-settings>strong,.canvas-workspace .cw-reference-picker>strong{display:block;font-size:12px;font-weight:500;margin-bottom:13px}.canvas-workspace .live-canvas-params{max-height:none!important;overflow:visible!important;display:grid;gap:13px;padding:0}.canvas-workspace .live-param{display:grid;gap:7px;margin:0;font-size:11px;min-width:0}.canvas-workspace .live-param>span{color:var(--cw-888888,#888);font-size:11px}.canvas-workspace .live-param :is(input,select),.canvas-workspace .live-dimensions input,.canvas-workspace .live-more :is(input,select){min-width:0;max-width:100%;height:32px;border:1px solid var(--cw-e0e0e0,#e0e0e0);border-radius:5px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);padding:4px 7px}.canvas-workspace .cw-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;overflow:hidden}.canvas-workspace .cw-param-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.canvas-workspace .cw-param-grid.cw-ratios{grid-template-columns:repeat(5,minmax(0,1fr))}.canvas-workspace .cw-param-choice{min-height:32px;padding:7px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--cw-e8e8e8,#e8e8e8);border-radius:6px;background:var(--cw-ffffff,#fff);color:var(--cw-666666,#666);font-size:11px}.canvas-workspace .cw-param-choice i{display:block;border:1px solid var(--cw-999999,#999);border-radius:2px}.canvas-workspace .cw-param-choice[aria-pressed=true]{background:var(--cw-f1f1f1,#f1f1f1);border-color:var(--cw-888888,#888);color:var(--cw-333333,#333)}.canvas-workspace .live-dimensions{font-size:11px;color:var(--cw-888888,#888);display:grid;gap:7px}.canvas-workspace .live-dimensions>div{display:flex;gap:8px;align-items:center}.canvas-workspace .live-dimensions input{width:45%}.canvas-workspace .live-more{border-top:1px solid var(--cw-eeeeee,#eee);padding-top:10px;font-size:11px}.canvas-workspace .live-param-note,.canvas-workspace .cw-hint{font-size:10px;color:var(--cw-999999,#999);line-height:1.6}.canvas-workspace .cw-reference-row{display:block;width:100%;border:0;background:none;text-align:left;padding:10px 5px;color:var(--cw-555555,#555);font-size:12px}.canvas-workspace .cw-reference-row:hover{background:var(--cw-f4f4f4,#f4f4f4)}.canvas-workspace .canvas-linked-references{padding:2px 0;gap:7px;border:0;overflow-x:auto}.canvas-workspace .canvas-linked-reference{background:var(--cw-f4f4f4,#f4f4f4);color:var(--cw-555555,#555);border:1px solid var(--cw-dddddd,#ddd)}.canvas-workspace .canvas-reference-popover{background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);border:1px solid var(--cw-dddddd,#ddd)}.canvas-workspace .canvas-reference-option{color:var(--cw-555555,#555)}.canvas-workspace .canvas-reference-option:hover{background:var(--cw-eeeeee,#eee)}.canvas-workspace .canvas-prompt-mention{background:var(--cw-eaf4f6,#eaf4f6);color:#42747b;border-color:#bfdde1}
.canvas-workspace .canvas-dock{bottom:14px;height:44px;padding:5px 6px;gap:2px;border:1px solid var(--cw-e9e9e9,#e9e9e9);border-radius:10px;background:var(--cw-ffffff,#fff);box-shadow:0 2px 8px #00000008}.canvas-workspace .canvas-dock button{width:32px;height:32px;color:var(--cw-777777,#777);border-radius:6px;font-size:17px}.canvas-workspace .canvas-dock .dock-add{background:var(--cw-292929,#292929);color:var(--cw-ffffff,#fff);width:32px}.canvas-workspace .canvas-dock .tool-switch{border:0;background:none;padding:0;gap:2px}.canvas-workspace .canvas-dock .tool-switch .dock-tool{width:32px;min-width:32px;padding:0;background:none;color:var(--cw-777777,#777)}.canvas-workspace .canvas-dock .tool-switch .dock-tool.selected{background:var(--cw-f0f0f0,#f0f0f0);color:var(--cw-333333,#333);box-shadow:none}.canvas-workspace .tool-switch .dock-tool>span:last-child{display:none}.canvas-workspace .canvas-dock button:hover{background:var(--cw-f0f0f0,#f0f0f0);color:var(--cw-444444,#444)}.canvas-workspace .canvas-left-dock{bottom:14px;left:12px;background:transparent;border:0;border-radius:6px;padding:0;height:36px;box-shadow:none;gap:1px}.canvas-workspace .canvas-left-dock button{color:var(--cw-888888,#888);background:none;border:0;font-size:11px;padding:5px 7px;min-height:28px}.canvas-workspace #snap-toggle>span:last-child{display:none}.canvas-workspace .cw-workflow:not([hidden]){position:absolute;inset:auto auto 68px 50%;transform:translateX(-50%);width:260px;display:grid;gap:6px;padding:12px;background:var(--cw-ffffff,#fff);border:1px solid var(--cw-e5e5e5,#e5e5e5);border-radius:10px;box-shadow:0 4px 18px #0002;z-index:45}.canvas-workspace .cw-workflow button{background:var(--cw-f7f7f7,#f7f7f7);border:1px solid var(--cw-eeeeee,#eee);border-radius:5px;padding:9px;color:var(--cw-555555,#555);font-size:12px}.canvas-workspace .cw-workflow>span{color:var(--cw-888888,#888);font-size:10px;padding:4px}
.canvas-workspace .cw-start{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);text-align:center;z-index:2}.canvas-workspace .cw-start>p{font-size:14px;color:var(--cw-8c8c8c,#8c8c8c)}.canvas-workspace .cw-starters{display:flex;gap:10px;margin:24px 0}.canvas-workspace .cw-starters button{min-width:130px;padding:16px 20px;border:1px solid var(--cw-e7e7e7,#e7e7e7);border-radius:8px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);font-size:13px}.canvas-workspace .cw-start>small{font-size:11px;color:var(--cw-aaaaaa,#aaa)}.canvas-workspace .cw-button{border:0;background:none;color:var(--cw-666666,#666);font-size:12px;padding:7px 9px;border-radius:5px}.canvas-workspace .cw-button:hover{background:var(--cw-f1f1f1,#f1f1f1)}.canvas-workspace .cw-close{border:0;background:none;color:var(--cw-999999,#999);border-radius:4px;font-size:20px;cursor:pointer}.canvas-workspace .danger{color:#bd6666!important}
.canvas-workspace .cw-map{position:absolute;left:18px;bottom:58px;width:202px;height:112px;z-index:22;border:1px solid var(--cw-dddddd,#ddd);background:var(--cw-eaeaea,#eaeaea);border-radius:8px;overflow:hidden}.canvas-workspace .cw-map svg{width:200px;height:110px;cursor:crosshair;touch-action:none}.cw-map-node{fill:var(--cw-b5b5b5,#b5b5b5)}.cw-map-selected{fill:var(--cw-777777,#777)}.cw-map-view{fill:#ffffff66;stroke:var(--cw-999999,#999);stroke-width:1}.canvas-workspace .cw-search{position:absolute;left:12px;bottom:58px;width:300px;padding:12px;background:var(--cw-ffffff,#fff);border:1px solid var(--cw-e4e4e4,#e4e4e4);border-radius:9px;z-index:40;box-shadow:0 6px 20px #0001}.canvas-workspace .cw-search input{width:100%;background:var(--cw-f6f6f6,#f6f6f6);border:1px solid var(--cw-eeeeee,#eee);color:var(--cw-555555,#555);border-radius:6px;padding:9px;font-size:12px}.canvas-workspace .cw-search-list{max-height:330px;overflow:auto;margin-top:6px}.canvas-workspace .cw-search-row{width:100%;display:flex;align-items:center;gap:8px;border:0;background:none;padding:11px 3px;color:var(--cw-555555,#555);font-size:12px;text-align:left}.canvas-workspace .cw-search-row span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-workspace .cw-search-row small{font-size:10px;color:var(--cw-aaaaaa,#aaa)}
.canvas-workspace :is(.add-menu,.asset-drawer,.shortcut-modal,.text-editor-overlay){background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);border:1px solid var(--cw-e5e5e5,#e5e5e5);box-shadow:0 6px 25px #0001}.canvas-workspace .add-menu{width:205px;z-index:40;bottom:68px}.canvas-workspace .add-menu>button{color:var(--cw-555555,#555);height:34px;font-size:12px}.canvas-workspace .add-menu>button:hover{background:var(--cw-f4f4f4,#f4f4f4)}.canvas-workspace .add-menu>button span{color:var(--cw-666666,#666)}.canvas-workspace .add-menu>button span:last-child{width:auto;text-align:left;font-size:12px}.canvas-workspace .add-menu-heading{color:var(--cw-aaaaaa,#aaa)}.canvas-workspace .add-menu-divider{border-color:var(--cw-eeeeee,#eee);color:var(--cw-aaaaaa,#aaa)}.canvas-workspace .asset-drawer{inset:48px auto 58px 0;width:280px;border-radius:0;box-shadow:4px 0 16px #00000006}.canvas-workspace :is(.drawer-header,.drawer-tabs,.drawer-filter){border-color:var(--cw-eeeeee,#eee);color:var(--cw-777777,#777)}.canvas-workspace .drawer-header strong{color:var(--cw-444444,#444)}.canvas-workspace .drawer-search{background:var(--cw-fafafa,#fafafa);border-color:var(--cw-eeeeee,#eee)}.canvas-workspace .drawer-search input{color:var(--cw-555555,#555)}.canvas-workspace .drawer-tab.selected{background:var(--cw-eeeeee,#eee);color:var(--cw-555555,#555)}.canvas-workspace .drawer-item{color:var(--cw-555555,#555)}.canvas-workspace .drawer-item:hover{background:var(--cw-f4f4f4,#f4f4f4)}.canvas-workspace .drawer-item-icon{background:var(--cw-eeeeee,#eee);color:var(--cw-888888,#888)}.canvas-workspace .drawer-upload{background:var(--cw-fafafa,#fafafa);border-color:var(--cw-eeeeee,#eee);color:var(--cw-666666,#666)}.canvas-workspace .shortcut-modal :is(h2,h3,p,kbd){color:var(--cw-666666,#666);border-color:var(--cw-dddddd,#ddd);background:none}
.canvas-workspace .canvas-group{border:1px dashed var(--cw-c8c8c8,#c8c8c8);background:#e5e5e566;border-radius:6px}.canvas-workspace .canvas-group-name{color:var(--cw-777777,#777);background:none}.canvas-workspace .canvas-group-resize{background:var(--cw-aaaaaa,#aaa);border:1px solid var(--cw-eeeeee,#eee)}.canvas-workspace .selection-toolbar,.canvas-workspace .cw-result-tools{position:absolute;z-index:25;display:flex;align-items:center;gap:4px;background:var(--cw-ffffff,#fff);border:1px solid var(--cw-e5e5e5,#e5e5e5);border-radius:8px;padding:5px;box-shadow:0 3px 12px #0001}.canvas-workspace .selection-toolbar :is(button,span){font-size:11px;color:var(--cw-666666,#666);background:none;border-color:var(--cw-eeeeee,#eee)}.canvas-workspace .cw-result-tools a{font-size:12px;text-decoration:none;color:var(--cw-666666,#666);padding:7px}.canvas-workspace .cw-node-menu{position:fixed;z-index:65;width:210px;padding:6px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);border:1px solid var(--cw-e5e5e5,#e5e5e5);border-radius:9px;box-shadow:0 4px 20px #0002}.canvas-workspace .cw-node-menu button{display:block;width:100%;text-align:left;padding:9px 10px}.canvas-workspace .cw-preview{width:min(1100px,90vw);max-height:90vh;border:1px solid var(--cw-dddddd,#ddd);border-radius:12px;background:var(--cw-ffffff,#fff);color:var(--cw-444444,#444);padding:0;box-shadow:0 20px 70px #0005}.canvas-workspace .cw-preview::backdrop{background:#0007}.canvas-workspace .cw-preview header{padding:12px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cw-eeeeee,#eee);font-size:13px}.canvas-workspace .cw-preview-body{display:grid;place-items:center;padding:18px;max-height:78vh;overflow:auto}.canvas-workspace .cw-preview-body :is(img,video){max-width:100%;max-height:70vh;object-fit:contain}.canvas-workspace .cw-preview-body pre{white-space:pre-wrap;line-height:1.8;font-size:14px;width:100%}.canvas-workspace .canvas-toast{position:fixed;top:64px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);border:1px solid var(--cw-dddddd,#ddd);z-index:100}
@media(max-width:1100px){.canvas-workspace .save-state{display:none}.canvas-workspace .canvas-dock{left:auto;right:14px;transform:none}.canvas-workspace .cw-workflow:not([hidden]){left:auto;right:14px;transform:none}.canvas-workspace .cw-starts{flex-wrap:wrap}}
@media(max-width:600px){.canvas-workspace .canvas-topbar{padding:8px}.canvas-workspace .canvas-brandline{max-width:73%}.canvas-workspace .project-name-input{width:125px}.canvas-workspace .canvas-credit-balance small{display:none}.canvas-workspace .canvas-dock{right:8px;bottom:8px}.canvas-workspace .canvas-left-dock{left:8px;bottom:54px}.canvas-workspace .canvas-left-dock #snap-toggle{display:none}.canvas-workspace .cw-generator:not([hidden]){max-width:calc(100vw - 24px);padding:10px;min-height:180px}.canvas-workspace .cw-generator-controls>label{max-width:190px}.canvas-workspace .cw-generator-controls select{max-width:170px}.canvas-workspace .cw-generator-controls>.cw-settings-trigger{max-width:130px}.canvas-workspace .cw-start{width:calc(100% - 32px)}.canvas-workspace .cw-starters{display:grid;grid-template-columns:1fr 1fr}.canvas-workspace .cw-map,.canvas-workspace .cw-search{bottom:92px}.canvas-workspace .asset-drawer{width:260px;bottom:92px}.canvas-workspace .cw-generator-tools .cw-input-list{max-width:85px}.canvas-workspace .selection-toolbar{max-width:calc(100vw - 20px);flex-wrap:wrap}}
/* v14: shared visual language for creation, reuse, connections and storyboards. */
.canvas-refined .cv-icon{display:block;width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.canvas-refined .cv-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:5px;background:transparent;color:var(--cw-555555,#555);padding:7px 9px;font-size:12px;line-height:18px;white-space:nowrap;cursor:pointer}
.canvas-refined .cv-action:hover{background:var(--cw-f2f2f2,#f2f2f2)}.canvas-refined .cv-action:disabled{opacity:.4;cursor:not-allowed}.canvas-refined .cv-action[aria-pressed=true]{background:var(--cw-ededed,#ededed);color:var(--cw-222222,#222)}
.canvas-refined :is(.cv-popover,.cv-context){position:fixed;z-index:70;border:1px solid var(--cw-e5e5e5,#e5e5e5);border-radius:11px;padding:12px;background:var(--cw-ffffff,#fff);color:var(--cw-444444,#444);box-shadow:0 8px 30px #00000016;font-size:12px;overflow:auto;overscroll-behavior:contain}
.canvas-refined .cv-popover>strong{display:block;font-size:13px;font-weight:550;margin:2px 0 13px}.canvas-refined .cv-muted{display:block;color:var(--cw-999999,#999);font-size:11px;line-height:1.6;white-space:normal;margin:10px 0 6px}
.canvas-refined .cv-model-search{width:100%;border:1px solid var(--cw-e8e8e8,#e8e8e8);border-radius:6px;background:var(--cw-f7f7f7,#f7f7f7);color:var(--cw-444444,#444);font-size:12px;padding:9px 10px;margin-bottom:8px;outline:none}.canvas-refined .cv-model-search:focus{border-color:var(--cw-aaaaaa,#aaa)}
.canvas-refined .cv-model-list{display:grid;gap:3px}.canvas-refined .cv-model-row{justify-content:flex-start;text-align:left;white-space:normal;padding:10px 8px;min-height:58px;gap:10px;width:100%}.canvas-refined .cv-model-row[aria-selected=true]{background:var(--cw-f3f4f4,#f3f4f4);color:var(--cw-222222,#222)}.canvas-refined .cv-model-row>div{flex:1;min-width:0}.canvas-refined .cv-model-row strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.canvas-refined .cv-model-row small{font-size:10px;color:var(--cw-999999,#999);line-height:1.5}.canvas-refined .cv-model-row>span:empty{display:none}.canvas-refined .cv-model-mark{display:grid;place-items:center;width:28px;height:28px;flex:none;background:var(--cw-ededed,#ededed);color:var(--cw-777777,#777);border-radius:7px;font-size:12px}.canvas-refined .cv-check{color:var(--cw-444444,#444)!important}
.canvas-refined .cw-generator-controls>.cv-native-model{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}.canvas-refined .cv-native-model select{width:1px!important;height:1px!important;padding:0!important;border:0!important}
.canvas-refined .cw-generator-controls>.cv-model-trigger{max-width:235px;min-width:0;justify-content:flex-start;padding:5px 3px;font-size:11px;gap:5px}.canvas-refined .cv-model-trigger span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.canvas-refined .cv-model-trigger:after{content:'⌄';color:var(--cw-999999,#999);margin-left:2px}.canvas-refined .cv-model-trigger>.cv-icon{width:14px;height:14px}
.canvas-refined .cw-generator:not([hidden]){min-height:172px;padding:12px 14px;gap:5px;border-color:var(--cw-e5e5e5,#e5e5e5);box-shadow:0 5px 18px #0000000e}.canvas-refined .cw-generator>.canvas-prompt-editor{min-height:76px;height:76px;font-size:13px;line-height:1.75}.canvas-refined .cw-generator-controls{gap:6px;min-height:32px}.canvas-refined .cw-generator-controls>.cw-settings-trigger{max-width:175px;background:var(--cw-f5f5f5,#f5f5f5);padding:6px 8px}.canvas-refined .cv-generation-cost{font-size:10px!important}.canvas-refined .cw-generator-controls>.text-generate-button{width:30px;min-width:30px;height:30px;background:var(--cw-252525,#252525)}
.canvas-refined .cw-generator-tools>button{display:inline-flex;align-items:center;justify-content:center}.canvas-refined .cw-generator-tools .cw-expand{width:24px;padding:4px}.canvas-refined .cw-generator-tools .cv-icon{width:14px;height:14px}.canvas-refined .cv-video-modes{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--cw-eeeeee,#eee);padding-bottom:7px;margin-bottom:3px}.canvas-refined .cv-video-modes .cv-action{font-size:11px;padding:4px 8px;border-radius:5px;line-height:18px}
.canvas-refined .canvas-linked-references{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding:4px 2px}.canvas-refined .cv-reference-wrap{position:relative;display:inline-flex;width:54px;height:54px;flex:none}.canvas-refined .canvas-linked-reference{display:block;width:54px;height:54px;padding:0;border:1px solid var(--cw-e1e1e1,#e1e1e1);border-radius:5px;overflow:hidden;background:var(--cw-f1f1f1,#f1f1f1)}.canvas-refined .canvas-linked-reference img{width:100%;height:100%;object-fit:cover;max-height:none;display:block}.canvas-refined .canvas-linked-reference>span{display:none}.canvas-refined .cv-reference-remove{display:grid;place-items:center;position:absolute;right:-5px;top:-5px;width:17px;height:17px;border:1px solid var(--cw-ffffff,#fff);border-radius:50%;padding:2px;background:var(--cw-686868,#686868);color:var(--cw-ffffff,#fff);cursor:pointer;z-index:2}.canvas-refined .cv-reference-remove .cv-icon{width:11px;height:11px}.canvas-refined .cv-reference-remove:hover{background:var(--cw-333333,#333)}.canvas-refined .cv-reference-preview{position:fixed;z-index:85;width:228px;height:164px;padding:6px;border:1px solid var(--cw-dddddd,#ddd);border-radius:8px;background:var(--cw-ffffff,#fff);box-shadow:0 6px 26px #0002;pointer-events:none}.canvas-refined .cv-reference-preview img{width:100%;height:100%;object-fit:contain}
.canvas-refined .cv-context{width:242px;padding:6px;max-height:calc(100vh - 70px)}.canvas-refined .cv-context .cv-action{width:100%;justify-content:flex-start;padding:8px 10px;font-size:12px}.canvas-refined .cv-context kbd{margin-left:auto;font-size:10px;color:var(--cw-aaaaaa,#aaa);font-family:inherit;background:none;border:0}.canvas-refined .cv-context .cv-icon{color:var(--cw-888888,#888);width:15px;height:15px}
.canvas-refined .canvas-dock button,.canvas-refined .canvas-left-dock button,.canvas-refined .cw-node-more{display:grid;place-items:center}.canvas-refined .canvas-dock .cv-icon{width:17px;height:17px}.canvas-refined .canvas-dock .dock-add:hover{background:var(--cw-444444,#444);color:var(--cw-ffffff,#fff)}.canvas-refined .canvas-left-dock{gap:3px;align-items:center}.canvas-refined .canvas-left-dock .cv-icon{width:15px;height:15px}.canvas-refined .cw-starters button{display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 22px;transition:border-color .15s,box-shadow .15s}.canvas-refined .cw-starters button:hover{border-color:var(--cw-bcbcbc,#bcbcbc);box-shadow:0 3px 12px #00000008}.canvas-refined .cw-starters .cv-icon{width:19px;height:19px;color:var(--cw-999999,#999)}.canvas-refined :is(.video-node-play,.image-node-preview-icon,.text-node-illustration,.script-node-icon)>.cv-icon{width:42px;height:42px;stroke-width:1.25;color:var(--cw-b0b0b0,#b0b0b0)}
.canvas-refined .canvas-node.cw-has-result:is([data-node-type=image],[data-node-type=video]){min-height:0}.canvas-refined .canvas-node:is([data-node-type=image],[data-node-type=video]) .result-actions{display:none}.canvas-refined .canvas-node.cw-has-result:is([data-node-type=image],[data-node-type=video]) .live-node-result{overflow:visible;background:transparent}.canvas-refined .live-node-result :is(img,video){max-height:420px}.canvas-refined .canvas-node.cw-has-result:is([data-node-type=image],[data-node-type=video]) .node-footer{bottom:7px;right:8px;padding:2px 5px;border-radius:3px;color:var(--cw-ffffff,#fff);background:#0005;font-size:9px}.canvas-refined .cw-result-tools{padding:4px 5px;gap:2px;min-height:35px}.canvas-refined .cw-result-tools :is(button,a){display:flex;align-items:center;justify-content:center;font-size:11px;padding:5px 7px;min-width:27px;min-height:26px;line-height:16px}.canvas-refined .cw-result-tools .cv-icon{width:15px;height:15px}.canvas-refined .material-metadata{position:absolute;bottom:6px;left:8px;background:#ffffffd9;border-radius:4px;padding:2px 5px;max-width:85%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.canvas-refined .connection-hit{stroke:transparent;stroke-width:16;fill:none;pointer-events:stroke;cursor:pointer}.canvas-refined .connection-path.is-selected{stroke:#5e9bad;stroke-width:2.5}.canvas-refined .cv-wire-toolbar,.canvas-refined .cv-board-toolbar{position:absolute;z-index:30;display:flex;align-items:center;gap:3px;padding:5px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555);border:1px solid var(--cw-e4e4e4,#e4e4e4);border-radius:8px;box-shadow:0 3px 12px #0001;font-size:11px}.canvas-refined .cv-board-toolbar{max-width:calc(100vw - 24px);flex-wrap:wrap}.canvas-refined .cv-board-toolbar>strong{font-weight:500;padding:0 8px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-refined .cv-board-toolbar .cv-action{font-size:11px;padding:5px 7px}.canvas-refined.cv-board-active .selection-toolbar{display:none!important}.canvas-refined .cv-ratio-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:14px}.canvas-refined .cv-ratio-options .cv-action{border:1px solid var(--cw-e5e5e5,#e5e5e5);padding:10px 5px}.canvas-refined .cv-ratio-options .cv-action[aria-pressed=true]{border-color:var(--cw-999999,#999)}.canvas-refined .cv-board-dimensions{display:flex;gap:10px;margin:8px 0}.canvas-refined .cv-board-dimensions label{display:grid;gap:6px;flex:1;color:var(--cw-888888,#888);font-size:11px}.canvas-refined .cv-board-dimensions input{width:100%;min-width:0;border:1px solid var(--cw-dddddd,#ddd);padding:7px;border-radius:5px;background:var(--cw-ffffff,#fff);color:var(--cw-555555,#555)}.canvas-refined .cv-board-dimensions+.cv-action{background:var(--cw-333333,#333);color:var(--cw-ffffff,#fff);width:100%;margin-top:4px}
.canvas-refined .canvas-group.cv-storyboard-frame{border:1px solid var(--cw-d8d8d8,#d8d8d8);background:var(--cw-e9e9e9,#e9e9e9);border-radius:8px}.canvas-refined .cv-storyboard-frame .canvas-group-resize{display:none}.canvas-refined .canvas-node.cw-storyboard-cell{min-height:var(--cell-height)!important;height:var(--cell-height)!important;width:280px!important;border-radius:4px}.canvas-refined .cw-storyboard-cell :is(.node-body,.live-node-result,.material-preview-content,.node-upload-preview){min-height:0!important;height:100%!important;max-height:none!important;padding:0;overflow:hidden;border-radius:4px}.canvas-refined .cw-storyboard-cell :is(.live-node-result,.material-preview-content) :is(img,video){width:100%;height:100%;max-height:none;object-fit:cover;border-radius:4px}.canvas-refined .cw-storyboard-cell .node-versions{position:absolute;right:5px;bottom:5px;z-index:3;max-width:85%;font-size:10px;padding:3px;margin:0}.canvas-refined .cw-storyboard-cell .node-footer,.canvas-refined .cw-storyboard-cell .material-metadata{display:none}.canvas-refined .cw-storyboard-cell.cw-show-number:after{content:attr(data-shot);position:absolute;top:8px;left:8px;min-width:20px;padding:3px 5px;border-radius:4px;background:#0008;color:var(--cw-ffffff,#fff);font-size:11px;line-height:15px;text-align:center;pointer-events:none}.canvas-refined .cw-storyboard-cell .node-head{top:-23px;height:20px}.canvas-refined .cw-storyboard-cell .node-name-label{top:-21px;font-size:10px}.canvas-refined .cw-storyboard-cell .node-port,.canvas-refined .cw-storyboard-cell .node-in-port{width:13px;height:13px;font-size:10px;line-height:11px;opacity:0;z-index:4}.canvas-refined .cw-storyboard-cell .node-port{right:-8px}.canvas-refined .cw-storyboard-cell .node-in-port{left:-8px}.canvas-refined .cw-storyboard-cell:hover .node-port,.canvas-refined .cw-storyboard-cell:hover .node-in-port{opacity:1}.canvas-refined .cw-storyboard-cell.selected{outline:1px solid #9bb9c8;outline-offset:1px}
@media(max-width:600px){.canvas-refined .cw-generator-controls>.cv-model-trigger{max-width:155px}.canvas-refined .cw-generator-controls>.cw-settings-trigger{max-width:110px}.canvas-refined .cv-generation-cost{flex:1;order:3;text-align:right}.canvas-refined .cw-generator-controls>.text-generate-button{order:4}.canvas-refined .cv-video-modes{gap:2px}.canvas-refined .cv-video-modes .cv-action{font-size:10px;padding:4px 5px}.canvas-refined .cv-board-toolbar>strong{display:none}.canvas-refined .cv-board-toolbar .cv-action{padding:4px;font-size:10px}.canvas-refined .cv-board-toolbar .cv-icon{display:none}}
 .canvas-refined .canvas-linked-reference>.canvas-linked-reference-preview{display:grid;place-items:center;width:100%;height:100%;background:var(--cw-eeeeee,#eee)}.canvas-refined .canvas-linked-reference>b{position:absolute;bottom:3px;left:3px;font-size:9px;line-height:13px;min-width:13px;border-radius:3px;background:#0007;color:var(--cw-ffffff,#fff)}
 .canvas-refined .canvas-linked-references{height:auto;min-height:62px;overflow:visible}.canvas-refined .canvas-linked-reference{flex:0 0 54px}.canvas-refined .canvas-left-dock #snap-toggle[aria-pressed=true]{color:var(--cw-666666,#666);background:var(--cw-e9e9e9,#e9e9e9);border-radius:5px}
 .canvas-refined.cv-board-active .cw-result-tools{display:none!important}.canvas-refined .canvas-linked-reference>b{top:auto;right:auto}

/* v15: long-form editing and direct, capability-aware generation controls. */
.canvas-workspace .cw-expand-control{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.canvas-workspace .cw-expand-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.canvas-refined .cw-generator-tools .cw-expand{width:auto;min-width:62px;height:30px;padding:4px 8px;background:var(--cw-f5f5f5,#f5f5f5);border:1px solid var(--cw-e7e7e7,#e7e7e7);color:var(--cw-555555,#555);font-size:12px}
.canvas-workspace .cw-expand-control:hover{background:var(--cw-eaeaea,#eaeaea);color:var(--cw-222222,#222)}
.canvas-workspace .prompt-expand-scrim{position:fixed;inset:0;z-index:80;background:#10151c42;backdrop-filter:blur(3px)}
.canvas-workspace .cw-generator.is-expanded:not([hidden]){position:fixed!important;left:max(28px,calc((100vw - 1180px)/2))!important;top:28px!important;bottom:auto!important;width:min(1180px,calc(100vw - 56px))!important;max-width:none;height:calc(100dvh - 56px)!important;min-height:0;max-height:none;transform:none!important;z-index:90;padding:18px 22px;border-radius:16px;box-shadow:0 16px 70px #0002;transition:none;gap:12px}
.canvas-workspace .cw-generator.is-expanded>.canvas-prompt-editor{height:auto!important;flex:1 1 0;min-height:0;max-height:none;padding:14px 5px;font-size:16px;line-height:1.9;overscroll-behavior:contain;scrollbar-width:thin;white-space:pre-wrap;overflow-wrap:anywhere}
.canvas-workspace .cw-generator.is-expanded>.cw-generator-controls{flex-shrink:0;padding-top:12px;border-top:1px solid var(--cw-eeeeee,#eee);min-height:46px}
.canvas-workspace .cw-generator.is-expanded .cw-generator-tools{flex-shrink:0}
.canvas-workspace .cw-generator.is-expanded .cw-generator-controls>.text-generate-button{width:38px;height:38px}
.canvas-workspace .cw-settings,.canvas-workspace .cw-reference-picker{z-index:110}
.canvas-workspace .cv-popover{z-index:120}
.canvas-workspace:is(.cw-prompt-expanded,.cw-text-expanded) #canvas-viewport{overflow:hidden;pointer-events:none}
.canvas-workspace:is(.cw-prompt-expanded,.cw-text-expanded) :is(.canvas-topbar,.canvas-dock,.canvas-left-dock,.cw-result-tools,.cv-board-toolbar){visibility:hidden}
.canvas-workspace .canvas-node.text-manual{width:352px;min-height:200px}
.canvas-workspace .canvas-node.text-manual.selected{z-index:7}
.canvas-workspace .text-manual .text-manual-body{padding:0;min-height:198px;position:static}
.canvas-workspace .text-manual .text-inline-content{width:100%;min-height:198px;max-height:520px;margin:0;padding:15px 16px;border:0;border-radius:7px;background:var(--cw-ffffff,#fff);font-size:15px;line-height:1.8;scrollbar-width:thin;resize:vertical;box-sizing:border-box}
.canvas-workspace .rich-text-toolbar{padding:6px 8px;gap:2px;min-height:42px;border:1px solid var(--cw-e1e1e1,#e1e1e1);border-radius:10px;background:var(--cw-ffffff,#fff);box-shadow:0 5px 18px #0000000a;scrollbar-width:thin}
.canvas-workspace .text-manual .rich-text-toolbar{display:none;position:absolute;bottom:calc(100% + 38px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(590px,calc(100vw - 28px));z-index:8}
.canvas-workspace .text-manual.selected .rich-text-toolbar,.canvas-workspace .text-manual:focus-within .rich-text-toolbar{display:flex}
.canvas-workspace .rich-text-toolbar button{color:var(--cw-666666,#666);height:28px;min-width:28px;font-size:12px;padding:0 7px}
.canvas-workspace .rich-text-toolbar button:hover,.canvas-workspace .rich-text-toolbar button.active{background:var(--cw-efefef,#efefef);color:var(--cw-222222,#222)}
.canvas-workspace .rich-text-toolbar>i{background:var(--cw-e8e8e8,#e8e8e8);margin:0 2px}
.canvas-workspace .rich-text-color{color:var(--cw-666666,#666)}.canvas-workspace .rich-text-color:hover{background:var(--cw-eeeeee,#eee)}
.canvas-workspace .text-editor-overlay{position:fixed;inset:0;z-index:130;background:var(--cw-fafafa,#fafafa);display:flex;flex-direction:column}
.canvas-workspace .text-editor-header{height:54px;flex:none;padding:0 24px;background:var(--cw-ffffff,#fff);border-bottom:1px solid var(--cw-eeeeee,#eee)}
.canvas-workspace .text-editor-header button{color:var(--cw-555555,#555);border-radius:6px;background:var(--cw-f4f4f4,#f4f4f4);width:32px;height:32px}
.canvas-workspace .text-editor-workspace{width:min(880px,calc(100% - 48px));height:auto;flex:1;min-height:0;margin:24px auto 32px;gap:20px}
.canvas-workspace .text-editor-toolbar{align-self:center;max-width:100%;flex:none}
.canvas-workspace .text-expanded-content{width:100%;flex:1;min-height:0;padding:6px 12px 48px;color:var(--cw-444444,#444);font-size:17px;line-height:1.9;scrollbar-width:thin;overscroll-behavior:contain}
.canvas-workspace .cw-duration{display:flex;flex-direction:column;gap:9px;width:100%;font-size:11px;color:var(--cw-888888,#888);margin:0 0 12px}
.canvas-workspace .cw-duration-row{display:flex;align-items:center;gap:12px}
.canvas-workspace .cw-duration input[type=range]{appearance:none;width:100%;min-width:0;flex:1;height:5px;padding:0;margin:8px 0;background:linear-gradient(to right,var(--cw-555555,#555) var(--range-progress),var(--cw-e4e4e4,#e4e4e4) var(--range-progress));border:0;border-radius:20px;cursor:pointer;accent-color:var(--cw-555555,#555)}
.canvas-workspace .cw-duration input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border:2px solid var(--cw-ffffff,#fff);border-radius:50%;background:var(--cw-555555,#555);box-shadow:0 1px 4px #0004}
.canvas-workspace .cw-duration-value{min-width:52px;text-align:center;padding:4px 6px;border-radius:5px;background:var(--cw-f1f1f1,#f1f1f1);color:var(--cw-444444,#444);font-size:12px;font-variant-numeric:tabular-nums}
.canvas-workspace .cw-duration-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--cw-999999,#999);padding-right:65px}
.canvas-workspace .cw-audio{padding:0;margin:0 0 12px;border:0;min-width:0;width:100%}
.canvas-workspace .cw-audio legend{font-size:11px;color:var(--cw-888888,#888);padding:0;margin-bottom:8px}
.canvas-workspace .cw-audio .cw-param-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.canvas-workspace .cw-settings [data-param=videoResolution]~.cw-param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.canvas-workspace .cw-settings .live-param-note{white-space:normal;line-height:1.6}
@media(max-width:700px){.canvas-workspace .cw-generator.is-expanded:not([hidden]){left:10px!important;top:10px!important;width:calc(100vw - 20px)!important;height:calc(100dvh - 20px)!important;padding:12px 14px;border-radius:12px}.canvas-workspace .cw-generator.is-expanded>.canvas-prompt-editor{font-size:15px}.canvas-workspace .text-editor-workspace{width:calc(100% - 24px);margin:16px auto}.canvas-workspace .text-editor-header{padding:0 14px}.canvas-workspace .text-editor-toolbar .rich-text-toolbar{flex-wrap:wrap;justify-content:center}.canvas-workspace .rich-text-toolbar{gap:0}.canvas-workspace .rich-text-toolbar button{padding:0 5px}.canvas-workspace .canvas-node.text-manual{width:320px}.canvas-workspace .cw-generator.is-expanded>.cw-generator-controls{gap:5px}}

/* v16: media-sized nodes, explicit playback, reliable movement and continuous wires. */
.canvas-workspace .canvas-node.cm-media:not(.cw-storyboard-cell){width:var(--media-width,468px);min-height:0}
.canvas-workspace .canvas-node.cm-media:not(.cw-storyboard-cell) :is(.node-body,.live-node-result,.node-upload-preview,.material-preview-content){display:block;position:relative;min-height:0;height:auto;max-height:none;padding:0;margin:0;gap:0;border:0;overflow:hidden;border-radius:6px;aspect-ratio:auto!important;background:transparent}
.canvas-workspace .canvas-node.cm-media:not(.cw-storyboard-cell) :is(.live-node-result,.material-preview-content) :is(img,video){display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;background:transparent;margin:0;border:0}
.canvas-workspace .cm-video-frame{position:relative;width:100%;line-height:0}
.canvas-workspace .cm-media .node-versions{position:absolute;left:6px;top:6px;z-index:3;margin:0;max-width:calc(100% - 12px);background:#fffffff0}
.canvas-workspace .canvas-node :is(.node-name-label,.node-head,img,video){cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none}
.canvas-workspace .node-name-label{pointer-events:auto;min-height:20px}
.canvas-workspace.cm-moving,.canvas-workspace.cm-moving *{cursor:grabbing!important;user-select:none!important}
.canvas-workspace .text-inline-content{cursor:text;user-select:text}
.canvas-workspace .cm-play{position:absolute;left:10px;bottom:10px;z-index:4;display:grid;place-items:center;width:32px;height:32px;padding:8px;background:#202020c9;color:var(--cw-ffffff,#fff);border:1px solid #ffffff66;border-radius:8px;cursor:pointer;box-shadow:0 2px 5px #0002}
.canvas-workspace .cm-play:hover{background:var(--cw-151515,#151515)}
.canvas-workspace .cm-play svg{width:16px;height:16px;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.canvas-workspace .cm-play[aria-pressed=true] svg{fill:none}
.canvas-workspace .cw-node-more{width:26px;height:24px;background:var(--cw-ffffff,#fff);border:1px solid var(--cw-d9d9d9,#d9d9d9);color:var(--cw-444444,#444);border-radius:6px;opacity:1;z-index:5}
.canvas-workspace .cw-node-more .cv-icon{color:inherit;stroke:currentColor;stroke-width:2.5}
.canvas-workspace .canvas-node .node-port{left:auto;right:-1px;transform:translate(50%,-50%)}
.canvas-workspace .canvas-node .node-in-port{left:-1px;transform:translate(-50%,-50%)}
.canvas-workspace .connection-path{stroke:var(--cw-aeb9c0,#aeb9c0);stroke-width:1.5;animation:none}
.canvas-workspace .connection-path.is-active{stroke:#7c9caf}
.canvas-workspace .connection-flow{stroke:#48aef3;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:12 88;stroke-dashoffset:100;pointer-events:none;filter:drop-shadow(0 0 2px #7ecbff);animation:canvas-wire-flow 2.4s linear infinite;animation-delay:var(--flow-delay,0s)}
@keyframes canvas-wire-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
/* Reset the prototype's space-between alignment; a single icon must occupy the button centre. */
.canvas-workspace .cw-generator-controls>.text-generate-button{width:38px;min-width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;gap:0;padding:0;line-height:0;border-radius:10px;background:var(--cw-252525,#252525);color:var(--cw-ffffff,#fff);border:1px solid var(--cw-252525,#252525);box-shadow:0 1px 2px #0001;transition:background .15s}
.canvas-workspace .cw-generator-controls>.text-generate-button:hover:not(:disabled){background:var(--cw-444444,#444)}
.canvas-workspace .cw-generator-controls>.text-generate-button:disabled{background:var(--cw-e7e7e7,#e7e7e7);border-color:var(--cw-e7e7e7,#e7e7e7);color:var(--cw-999999,#999)}
.canvas-workspace .cw-send-icon{display:block;flex:0 0 20px;width:20px;height:20px;margin:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.canvas-workspace :is(.cm-play,.text-generate-button,.cw-node-more):focus-visible{outline:2px solid #48aef3;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.canvas-workspace .connection-flow{animation:none;stroke-dasharray:none;opacity:.7}}
/* Inline transport: controls remain visible in both uploaded and generated video nodes. */
.canvas-workspace .cm-video-controls{position:absolute;inset:auto 0 0;z-index:5;display:flex;align-items:center;gap:6px;padding:15px 8px 7px;min-height:40px;box-sizing:border-box;color:var(--cw-ffffff,#fff);background:linear-gradient(transparent,#000b);border-radius:0 0 8px 8px;line-height:1;font-size:11px;touch-action:none}
.canvas-workspace .cm-video-controls .cm-play{position:static;flex:0 0 24px;width:24px;height:26px;padding:5px;border:0;box-shadow:none;background:transparent;border-radius:5px}
.canvas-workspace .cm-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;flex:none}
.canvas-workspace .cm-seek{min-width:20px;width:0;flex:1;height:18px;margin:0;accent-color:var(--cw-ffffff,#fff);cursor:pointer}
.canvas-workspace .cm-mute{width:22px;min-width:22px;height:26px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--cw-ffffff,#fff);cursor:pointer;font-size:17px}
.canvas-workspace .cm-video-controls button:hover{background:#ffffff26}
.canvas-workspace .cm-video-controls :focus-visible{outline:2px solid #80caff;outline-offset:1px}
.canvas-workspace .canvas-node.cj-generating>.node-body{filter:blur(5px);opacity:.5;pointer-events:none}
.canvas-workspace .cj-state{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:12px;border-radius:inherit;box-sizing:border-box;background:#f2f2f247;pointer-events:none}
.canvas-workspace .cj-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;max-width:280px;padding:11px 13px;background:#24292ee8;color:var(--cw-ffffff,#fff);border:1px solid #ffffff80;box-shadow:0 3px 16px #0002;border-radius:9px;font-size:12px;line-height:1.5}
.canvas-workspace .cj-label{font-weight:600}.canvas-workspace .cj-cancel{pointer-events:auto;border:0;background:transparent;color:var(--cw-ffffff,#fff);font-size:12px;padding:0 0 0 10px;border-left:1px solid #ffffff40;cursor:pointer}
.canvas-workspace .cj-cancel:disabled{color:var(--cw-bbc0c3,#bbc0c3);cursor:default}.canvas-workspace .cj-detail{grid-column:1/-1;color:var(--cw-d3d8dc,#d3d8dc);font-size:10px}
.canvas-workspace .cj-progress{grid-column:1/-1;width:100%;height:3px;accent-color:#9bdaff;border:0}
.canvas-workspace .cs-frame{position:absolute;z-index:6;border:1px dashed var(--cw-92999f,#92999f);border-radius:10px;background:#71879908;box-sizing:border-box;pointer-events:none}
.canvas-workspace .cs-frame[hidden]{display:none}.canvas-workspace .cs-move{pointer-events:auto;position:absolute;left:12px;top:3px;height:22px;padding:2px 8px;border:0;border-radius:5px;background:var(--cw-f0f2f4,#f0f2f4);color:var(--cw-535960,#535960);font-size:11px;cursor:grab;touch-action:none}
.canvas-workspace .cs-move:active{cursor:grabbing}.canvas-workspace .cs-port{pointer-events:auto;position:absolute;right:-27px;top:calc(50% - 12px);width:24px;height:24px;padding:0;display:grid;place-items:center;border:1px solid var(--cw-7d858e,#7d858e);border-radius:50%;background:var(--cw-ffffff,#fff);color:var(--cw-454d55,#454d55);font-size:20px;line-height:1;cursor:crosshair;touch-action:none}
.canvas-workspace .cs-connecting{border-color:#399cde}.canvas-workspace .cs-wire{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:7;pointer-events:none}.canvas-workspace .cs-wire path{fill:none;stroke:#48aef3;stroke-width:2;stroke-dasharray:6 4}
.canvas-workspace .canvas-node.cs-target{outline:2px solid #399cde;outline-offset:3px}.canvas-workspace .canvas-node.cs-invalid{outline:2px solid #dd7373;outline-offset:3px}
.canvas-workspace .audio-node-preview audio,.canvas-workspace .material-preview-content audio{width:100%;min-width:0;max-width:100%}
.canvas-workspace .canvas-node[data-node-type=audio] .node-body{min-height:160px}.canvas-workspace .audio-node-preview:not(.live-node-result){font-size:40px}
/* Put the drag grip below the preview, clear of the floating selection toolbar. */
.canvas-workspace .cs-move{top:auto;bottom:3px}
/* Keep media metadata above the transport instead of overlapping its seek controls. */
.canvas-refined.canvas-workspace .canvas-node.cm-media:has(.cm-video-controls) :is(.node-footer,.material-metadata){bottom:44px}

/* Legible neutral node surfaces, including the live job overlay. */
.canvas-workspace .cj-box{background:#252525;color:#f4f4f4;border-color:#737373;font-size:13px;max-width:340px}.canvas-workspace .cj-cancel{color:#f4f4f4}.canvas-workspace .cj-detail{color:#cecece;font-size:12px}.canvas-workspace .cj-progress{accent-color:#ddd}.canvas-workspace .cj-state{background:#10101035}
body.canvas-workspace[data-account-theme=dark] .canvas-node{background:#252525;border-color:#626262}body.canvas-workspace[data-account-theme=dark] :is(.node-name-label,.node-kind-icon,.cw-node-more,.node-footer,.video-node-intro,.image-node-intro,.text-node-intro,.audio-node-intro){color:#c8c8c8}body.canvas-workspace[data-account-theme=dark] :is(.video-node-intro strong,.image-node-intro strong,.text-node-intro strong,.audio-node-intro strong){color:#ededed}body.canvas-workspace[data-account-theme=dark] .node-body{color:#d6d6d6}body.canvas-workspace[data-account-theme=dark] .cj-generating>.node-body{opacity:.35}body.canvas-workspace[data-account-theme=dark] .node-port{border-color:#969696;color:#dedede}

/* Keep the submit arrow legible against the dark canvas's light button. */
body.canvas-workspace[data-account-theme=dark] .cw-generator-controls>.text-generate-button{background:#f2f2f2!important;border-color:#f2f2f2!important;color:#202020!important;opacity:1}
body.canvas-workspace[data-account-theme=dark] .cw-generator-controls>.text-generate-button:hover:not(:disabled){background:#fff!important}
body.canvas-workspace[data-account-theme=dark] .cw-generator-controls>.text-generate-button:disabled{opacity:.6}
body.canvas-workspace[data-account-theme=dark] .text-generate-button :is(.cw-send-icon,.cw-send-icon path){color:#202020!important;stroke:#202020!important;fill:none!important}

.canvas-workspace .rich-text-toolbar [data-text-move]{cursor:grab;touch-action:none}.canvas-workspace .canvas-node:focus{outline:none}


.canvas-workspace .canvas-node.text-manual .text-node-cover{cursor:grab;user-select:none;overflow:hidden;max-height:100%;pointer-events:auto;resize:none}
.canvas-workspace .canvas-node.text-manual .text-node-cover:empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:160px;text-align:center}
.canvas-workspace .canvas-node.text-manual .text-node-cover:empty:before{content:attr(data-placeholder);position:static;color:var(--cw-888888,#888);font-size:14px}
.canvas-workspace .canvas-node.text-manual .text-node-cover:empty:after{content:'';width:44px;height:42px;background:repeating-linear-gradient(to bottom,currentColor 0 5px,transparent 5px 13px);opacity:.35;clip-path:polygon(0 0,100% 0,100% 70%,55% 70%,55% 100%,0 100%)}
.canvas-workspace .canvas-node.text-manual .text-node-cover>*{pointer-events:none}

/* Audio transport uses the original owned file and decoded waveform. */
.canvas-workspace .cm-audio .material-preview-content,.canvas-workspace .cm-audio .live-node-result{height:auto;min-height:0;max-height:none;display:block;overflow:visible;background:none}.canvas-workspace .cm-audio .node-body{min-height:0;padding:0}.canvas-workspace .cm-audio-player{position:relative;box-sizing:border-box;width:100%;min-width:240px;padding:16px;border:1px solid var(--cw-dddddd,#444);border-radius:24px;background:var(--cw-ffffff,#202020);color:var(--cw-444444,#ccc)}.canvas-workspace .cm-audio-player>audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cm-audio-wave{position:relative;height:94px;border-radius:14px;background:var(--cw-f0f0f0,#292929);overflow:hidden}.cm-audio-bars{display:flex;align-items:center;justify-content:center;gap:3px;height:100%;padding:0 10px;box-sizing:border-box}.cm-audio-bars>i{flex:1;min-width:1px;max-width:4px;border-radius:2px;background:var(--cw-888888,#777)}.cm-audio-needle{position:absolute;left:clamp(8px,var(--audio-progress,0%),calc(100% - 8px));top:8px;bottom:8px;width:2px;background:#df665d;pointer-events:none}.cm-audio-seek{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.cm-audio-wave:focus-within{outline:2px solid var(--cw-888888,#aaa);outline-offset:2px}.cm-audio-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;color:var(--cw-888888,#999);pointer-events:none}.cm-audio-loading[hidden]{display:none}.cm-audio-transport{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px 0}.cm-audio-time{font:12px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--cw-777777,#aaa)}.cm-audio-play{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--cw-444444,#eee);font-size:18px;cursor:pointer}.cm-audio-play:hover{background:var(--cw-f0f0f0,#353535)}
.canvas-workspace .canvas-linked-references{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.canvas-workspace .canvas-linked-reference{flex-shrink:0}

.canvas-workspace .canvas-node.cm-audio{height:auto!important;min-height:0;aspect-ratio:auto!important;border:0!important;background:transparent!important;box-shadow:none!important}.canvas-workspace .canvas-node.cm-audio :is(.node-body,.node-upload-preview,.material-preview-content,.live-node-result){height:auto!important;min-height:0!important;max-height:none;aspect-ratio:auto!important;padding:0;margin:0;border:0;border-radius:0;background:transparent;display:block}.canvas-workspace .cm-audio .material-metadata{display:none}

/* v72: fixed text covers, compact references and direct manipulation feedback. */
.canvas-workspace .canvas-node.text-manual .text-node-cover{height:208px;min-height:208px;max-height:208px;overflow:hidden;resize:none}
.canvas-workspace .canvas-node.text-manual .text-node-cover:empty{min-height:208px}
.canvas-refined .cw-generator:not(.is-expanded)>.canvas-prompt-editor{height:136px;min-height:136px;max-height:260px}
.canvas-workspace .canvas-linked-references{min-height:52px;padding:5px 3px;gap:8px;overflow-y:hidden}
.canvas-refined .cv-reference-wrap,.canvas-refined .canvas-linked-reference{width:44px;height:44px;flex:0 0 44px}
.canvas-refined .canvas-linked-reference>b,.canvas-refined .canvas-prompt-mention>b{color:#111;background:#fffffff0;font-size:11px;font-weight:700;line-height:16px;min-width:16px;text-align:center;box-shadow:0 0 0 1px #0003}
body[data-account-theme=dark].canvas-refined .canvas-linked-reference>b,body[data-account-theme=dark].canvas-refined .canvas-prompt-mention>b{color:#fff;background:#171717e8;box-shadow:0 0 0 1px #fff4}
.canvas-reference-search{position:sticky;top:0;width:100%;min-width:0;box-sizing:border-box;margin:0 0 8px;padding:8px 10px;border-radius:8px;border:1px solid var(--cw-dddddd,#ddd);color:inherit;background:var(--cw-ffffff,#fff)}
.canvas-reference-option>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.canvas-prompt-drop-caret{position:fixed;z-index:10000;width:3px;background:#49c8d9;box-shadow:0 0 0 1px #1114;pointer-events:none;border-radius:2px}
.canvas-prompt-drop-caret:before{content:'';position:absolute;top:-3px;left:-3px;border-top:5px solid #49c8d9;border-left:4px solid transparent;border-right:4px solid transparent}
.canvas-prompt-editor.is-drop-target{outline:2px solid #59a6b5;outline-offset:-2px;background:color-mix(in srgb,#59a6b5 8%,transparent)}
.canvas-alignment-guides{position:absolute;inset:0;pointer-events:none;z-index:12}
.canvas-alignment-guide{position:absolute;pointer-events:none;border-color:#62abd4;border-style:dashed;border-width:0}
.canvas-alignment-guide.x{width:0;border-left-width:calc(1px * var(--guide-scale,1))}
.canvas-alignment-guide.y{height:0;border-top-width:calc(1px * var(--guide-scale,1))}

/* v73: inline references retain a readable type/name, with a compact sequence. */
.canvas-refined .canvas-linked-reference>b,.canvas-refined .canvas-prompt-mention>b{width:14px;height:14px;min-width:14px;line-height:14px;padding:0;border-radius:50%;font-size:9px;display:grid;place-items:center}
.canvas-refined .canvas-prompt-mention{display:inline-flex;align-items:center;width:auto;height:28px;min-width:0;padding:2px 5px 2px 2px;gap:4px;vertical-align:middle;border-radius:5px}
.canvas-refined .canvas-prompt-mention-preview{position:relative;width:22px;height:22px;flex:0 0 22px;border-radius:3px;overflow:hidden}
.canvas-refined .canvas-prompt-mention-preview>img{width:100%;height:100%;object-fit:cover}
.canvas-refined .canvas-prompt-mention-label{font-size:12px;line-height:22px;white-space:nowrap;color:inherit}
.canvas-refined .canvas-prompt-mention>b{position:absolute;left:-4px;top:-6px;bottom:auto;right:auto}
.canvas-refined .canvas-prompt-mention-remove{display:none}
.canvas-refined .canvas-prompt-mention:hover .canvas-prompt-mention-remove{display:block}
.canvas-linked-reference[data-drop-side=before]{box-shadow:inset 3px 0 #69b5cc}
.canvas-linked-reference[data-drop-side=after]{box-shadow:inset -3px 0 #69b5cc}

/* v74: a real insertion slot, in-app pointer drag and stable loaded thumbnails. */
.canvas-linked-reference,.canvas-linked-reference img,.canvas-prompt-mention img{touch-action:none;-webkit-user-drag:none;user-select:none}
.canvas-reference-slot{position:relative;display:block;flex-shrink:0;height:44px;box-sizing:border-box;border:2px dashed #71b7c9;border-radius:6px;background:#71b7c91c}
.canvas-reference-slot[hidden]{display:none}
.canvas-reference-slot::before{content:'';position:absolute;left:-6px;top:0;bottom:0;width:3px;background:#71b7c9;border-radius:3px}
.canvas-refined .canvas-reference-drag-ghost{position:fixed!important;z-index:10000;pointer-events:none;opacity:.88;box-shadow:0 5px 18px #0006;transform:rotate(3deg);cursor:grabbing}
.is-reference-sorting{cursor:grabbing;user-select:none}
.is-reference-sorting .cv-reference-remove{visibility:hidden}
