.node-board{--node-ink:var(--ink,#10100f);--node-raised:var(--ink-raised,#171716);--node-line:var(--line,rgba(242,239,231,0.14));--node-white:var(--warm-white,#f2efe7);--node-muted:var(--paper-muted,#918c83);--node-signal:var(--signal,#a4db58);--canvas-z-node-overlay:20;--node-edge-idle:rgba(242,239,231,0.22);--node-edge-active:rgba(242,239,231,0.52);position:relative;width:100%;height:100%;min-height:400px;overflow:hidden;overscroll-behavior:none;color:var(--node-white);background:var(--node-ink);outline:none;-webkit-user-select:none;user-select:none;font-family:var(--font-geist-sans),Geist,system-ui,sans-serif}.node-board [contenteditable=true],.node-board input,.node-board textarea{-webkit-user-select:text;user-select:text}.node-board .react-flow{--xy-node-background-color:transparent;--xy-node-border:none;--xy-node-boxshadow-hover:none;--xy-node-boxshadow-selected:none;--xy-selection-background-color:rgba(242,239,231,0.035);--xy-selection-border:1px solid rgba(242,239,231,0.4);--xy-edge-stroke-selected:var(--node-edge-active);--xy-resize-background-color-default:var(--node-signal);--xy-resize-line-color-default:var(--node-signal)}.node-board .react-flow__node-studio{padding:0;border:0;background:transparent;border-radius:8px}.node-studio-shell{position:relative;width:100%;height:100%;background:var(--node-raised);border:1px solid var(--node-line);border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.12)}.node-studio-shell.is-selected{border-color:rgba(242,239,231,.5)}.node-studio-heading{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;gap:7px;align-items:center;height:24px;max-width:270px;transform-origin:left bottom;font-size:13px;color:var(--node-muted);white-space:nowrap;pointer-events:auto}.node-studio-heading span:first-of-type{overflow:hidden;text-overflow:ellipsis}.node-studio-heading svg{width:15px;height:15px;flex-shrink:0}.node-studio-content{position:relative;height:100%;width:100%;border-radius:7px;overflow:hidden}.node-studio-content>*{max-width:100%}.node-studio-content img,.node-studio-content video{max-width:100%;max-height:100%;object-fit:contain}.node-studio-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%;font-size:13px;color:var(--node-muted)}.node-studio-empty svg{width:32px;height:32px;opacity:.6}.node-text-output{height:100%;padding:22px;overflow:clip;overflow-wrap:anywhere;font-size:16px;line-height:1.6;-webkit-user-select:none;user-select:none}.node-surface-state{position:absolute;left:10px;bottom:10px;border-radius:5px;padding:4px 8px;background:var(--node-ink);font-size:11px;color:var(--node-signal);pointer-events:none}.node-surface-state.is-failed{color:var(--record-red,#d64b3f)}.node-board .react-flow__handle.node-studio-handle{width:1px;height:1px;background:transparent;border:none;z-index:5}.node-port-zone{pointer-events:auto;position:absolute;left:50%;top:50%;display:grid;place-items:center;width:var(--node-port-hit-width,44px);height:var(--node-port-hit-height,64px);border:0;background:transparent;cursor:crosshair;touch-action:none;transform:translate(-50%,-50%) scale(var(--node-port-scale,1));transform-origin:center}.node-port-plus,.node-port-zone{padding:0;color:var(--node-muted)}.node-port-plus{display:flex;align-items:center;justify-content:center;width:var(--node-port-size,22px);height:var(--node-port-size,22px);border:1px solid var(--line-strong,rgba(242,239,231,.28));border-radius:50%;background:var(--node-ink);opacity:0;pointer-events:none;transition:opacity .12s,color .12s,border-color .12s}.node-port-zone:focus-visible .node-port-plus,.node-port-zone:hover .node-port-plus,.node-studio-shell.is-connection-target .node-port-plus,.node-studio-shell.is-selected .node-port-plus,.node-studio-shell:hover .node-port-plus{opacity:1}.node-port-zone:focus-visible .node-port-plus,.node-port-zone:hover .node-port-plus,.node-studio-shell.is-connection-target .node-port-plus{color:var(--warm-white);border-color:rgba(242,239,231,.55)}.node-port-plus svg{width:60%;height:60%;pointer-events:none}.node-board .react-flow__handle-left{left:0}.node-board .react-flow__handle-right{right:0}.node-group-output{position:absolute;z-index:var(--canvas-z-node-overlay);display:grid;place-items:center;width:var(--node-port-hit-width,66px);height:var(--node-port-hit-height,96px);padding:0;border:0;background:transparent;color:var(--node-muted);cursor:crosshair;touch-action:none;transform:translate(-50%,-50%)}.node-group-output .node-port-plus{opacity:1}.node-group-output:focus-visible .node-port-plus,.node-group-output:hover .node-port-plus{color:var(--warm-white);border-color:rgba(242,239,231,.55)}.node-group-output:focus-visible{outline:none}.node-connection-preview{position:absolute;inset:0;z-index:10;width:100%;height:100%;overflow:visible;pointer-events:none}.node-connection-preview path{fill:none;stroke:var(--node-edge-active);stroke-width:1.3;stroke-linecap:round}.node-studio-shell.is-connection-target{border-color:rgba(242,239,231,.65)}.node-resize-handle{width:12px!important;height:12px!important;opacity:0;background:transparent!important;border:none!important}.node-resize-line{border-color:transparent!important}.node-generation-panel.canvas-composer{position:absolute;top:0;left:0;z-index:var(--canvas-z-node-overlay);max-width:calc(100vw - 32px);max-height:none;height:auto;margin:0;overflow:visible;transform-origin:left top;pointer-events:auto}.node-board-controls button,.node-board-menu button,.node-editor-dialog button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--node-white);cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.node-board-controls button:hover,.node-board-menu button:hover,.node-editor-dialog button:hover{background:var(--graphite-soft,#2c2b28)}.node-board button:focus-visible,.node-board input:focus-visible,.node-board select:focus-visible,.node-board textarea:focus-visible{outline:1px solid rgba(242,239,231,.5);outline-offset:2px}.node-board button:disabled{opacity:.4;cursor:default}.node-board button:disabled:hover{background:transparent}.node-generation-panel.canvas-composer textarea{height:80px;min-height:64px;max-height:220px;resize:none;overflow:hidden;scrollbar-width:none}.node-generation-panel .node-generation-footer.canvas-composer-footer{position:static;inset:auto;min-width:0;flex-wrap:nowrap;gap:8px;margin:0}.node-generation-panel .canvas-composer-tools{flex:1 1 auto;gap:4px}.node-generation-panel .canvas-composer-actions{flex:0 0 auto;margin-left:auto}.node-generation-panel select{min-width:0;max-width:100%;height:32px;padding:0 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--paper-dim,#c7c1b6);font:520 .72rem var(--font-body)}.node-generation-panel select:hover:not(:disabled){background:var(--control-hover,rgba(242,239,231,.06))}.node-board select option{color:var(--node-white);background:var(--node-raised)}.node-editor-dialog button.node-generate-button{width:auto;height:auto;min-width:72px;border-radius:8px;font:550 13px var(--font-body);background:var(--node-signal);color:var(--node-ink);font-weight:550;border-color:var(--node-signal)}.node-editor-dialog button.node-generate-button:hover{background:var(--signal-soft,#c1eb87)}.node-generation-panel .canvas-run{flex-shrink:0}.node-generation-error,.node-generation-note{padding:0 8px;font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:var(--node-muted)}.node-generation-error{color:var(--record-red,#d64b3f)}.node-upload-retry{min-height:26px;padding:2px 8px;border:none;border-radius:6px;background:transparent;color:var(--paper-dim,#c7c1b6);font:500 11px var(--font-body);cursor:pointer}.node-board .node-board-controls.canvas-board-zoom{left:50%;bottom:12px;z-index:1002;transform:translateX(-50%);transition:none}.node-board-controls .node-board-add{margin:4px 6px 4px 4px;width:30px;height:30px;min-height:30px;min-width:30px;border-radius:8px;background:var(--warm-white);color:var(--ink)}.node-board-controls .node-board-add:hover{background:#fff;color:var(--ink)}.node-board-controls .node-board-add svg{width:18px;height:18px}.node-selection-toolbar.canvas-asset-toolbar{z-index:var(--canvas-z-node-overlay);top:auto;bottom:auto;max-width:calc(100% - 16px);margin:0;overflow-x:auto;transform:translateX(-50%);transform-origin:center bottom}.node-selection-toolbar-anchor{position:absolute;z-index:var(--canvas-z-node-overlay);width:100%;height:0;pointer-events:none}.node-selection-toolbar-anchor>.node-selection-toolbar.canvas-asset-toolbar{top:0;left:0;pointer-events:auto}.node-selection-toolbar>span{padding:0 8px;color:var(--node-muted);font-size:11px}.node-selection-toolbar>.canvas-asset-toolbar-trailing{display:flex;align-items:center;gap:4px;margin-left:auto;padding:0}.node-board-menu{position:absolute;z-index:1100;width:260px;max-height:calc(100% - 16px);overflow-y:auto;padding:7px;border:1px solid var(--line-strong,rgba(242,239,231,.28));border-radius:16px;background:var(--node-raised);box-shadow:0 12px 32px rgba(0,0,0,.32);font-size:14px}.node-board-menu button{justify-content:flex-start;width:100%;padding:11px;min-height:43px}.node-board-menu kbd{margin-left:auto;font-size:12px;font-family:inherit;color:var(--node-muted)}.node-board-menu svg{flex-shrink:0}.node-menu-title{font-size:11px;color:var(--node-muted);padding:9px 11px}.node-menu-divider{border-top:1px solid var(--node-line);margin:6px 4px}.node-existing-list{max-height:160px;overflow-y:auto}.node-existing-list button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.node-existing-list p{padding:0 11px;color:var(--node-muted);font-size:12px}.node-board-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--node-muted);text-align:center;font-size:14px;pointer-events:none;width:calc(100% - 48px)}.node-editor-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,5,4,.78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1300}.node-editor-dialog{display:flex;flex-direction:column;gap:16px;width:min(620px,100%);max-height:90%;border:1px solid var(--node-line);border-radius:20px;background:var(--node-raised);padding:24px}.node-editor-dialog input,.node-editor-dialog textarea{width:100%;border:none;background:transparent;color:var(--node-white);font:inherit}.node-editor-dialog input{font-size:17px}.node-editor-dialog textarea{height:300px;min-height:140px;line-height:1.6;resize:vertical}.node-editor-dialog>div{display:flex;gap:8px;justify-content:flex-end}@media (max-width:680px){.node-board{min-height:300px}.node-board-controls{bottom:8px}.node-selection-toolbar.canvas-asset-toolbar{max-width:calc(100% - 16px);overflow-x:auto}.node-editor-backdrop{padding:12px}}@media (prefers-reduced-motion:reduce){.node-board *{animation:none!important;transition:none!important}}.canvas-node-variant-media .canvas-asset,.node-studio-content .canvas-asset{position:relative;margin:0;width:100%;height:100%;background:transparent}.canvas-node-variant-media .canvas-asset iframe,.canvas-node-variant-media .canvas-asset img,.node-studio-content .canvas-asset iframe,.node-studio-content .canvas-asset img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}.canvas-node-variant-media .canvas-asset img,.node-studio-content .canvas-asset img{pointer-events:none;-webkit-user-drag:none}.node-generation-parameters{display:flex;flex-wrap:wrap;gap:4px 8px;padding:0 8px}.node-generation-parameters label{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--node-muted)}.node-generation-parameters select{max-width:none}.node-upload-retry:hover{background:var(--control-hover,rgba(242,239,231,.06));color:var(--node-white)}.node-generation-panel.canvas-composer textarea::-webkit-scrollbar{display:none}.node-generation-note button{min-height:26px;margin-left:5px;padding:2px 6px;border:0;border-radius:6px;background:transparent;color:var(--paper-dim,#c7c1b6);font:inherit;cursor:pointer}.node-generation-note button:hover:not(:disabled){background:var(--control-hover,rgba(242,239,231,.06));color:var(--node-white)}.node-board .react-flow__nodesselection-rect,.node-board .react-flow__selection{border-radius:16px}.node-board .react-flow__selection{border-style:dashed}.node-board-menu:focus{outline:none}.node-board-menu button:focus-visible{outline:none;background:rgba(242,239,231,.08);color:var(--warm-white);box-shadow:inset 0 0 0 1px rgba(242,239,231,.18)}.node-context-references{padding:0 8px;gap:6px;align-items:center}.node-generation-panel.canvas-composer textarea,.node-generation-panel.canvas-composer textarea:focus,.node-generation-panel.canvas-composer textarea:focus-visible{border:0;outline:none;box-shadow:none}.node-generation-panel .node-reference-add{display:grid;flex:0 0 38px;width:38px;height:38px;padding:0;place-items:center;border:1px dashed var(--node-line);border-radius:10px;background:transparent;color:var(--paper-dim);cursor:pointer;transition:background .12s ease,transform .12s cubic-bezier(.23,1,.32,1)}.node-reference-add:active{transform:scale(.97)}.node-model-loading{color:var(--node-muted);font-size:12px}.node-generation-panel,.node-selection-toolbar.canvas-asset-toolbar{opacity:1;transition:opacity .14s cubic-bezier(.23,1,.32,1)}.node-generation-panel[data-interaction-hidden=true],.node-selection-toolbar.is-interaction-hidden{opacity:0;visibility:hidden;pointer-events:none;transition-duration:0s}.node-board-menu{opacity:1;transform:scale(1);transition:opacity .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1)}.node-board-menu[data-instant]{transition:none}@starting-style{.node-board-menu:not([data-instant]){opacity:0;transform:scale(.98)}.node-generation-panel:not([data-interaction-hidden=true]),.node-selection-toolbar:not(.is-interaction-hidden){opacity:0}}@media (hover:hover) and (pointer:fine){.node-generation-panel .node-reference-add:hover{background:var(--control-hover)}}@media (prefers-reduced-motion:reduce){.node-board-menu,.node-generation-panel,.node-generation-panel .node-reference-add,.node-selection-toolbar.canvas-asset-toolbar{transition-duration:0s}}.node-board[data-keyboard-interaction=true] .node-board-menu,.node-board[data-keyboard-interaction=true] .node-generation-panel,.node-board[data-keyboard-interaction=true] .node-selection-toolbar.canvas-asset-toolbar{transition-duration:0s}.node-board:not([data-keyboard-interaction=true]) .node-board-menu button:active,.node-board:not([data-keyboard-interaction=true]) .node-selection-toolbar button:active{transform:scale(.97)}.node-board[data-keyboard-interaction=true] .node-reference-add:active{transform:none}.node-board input.node-name-editor{min-width:0;width:auto;max-width:100%;field-sizing:content;min-height:32px;padding:0 10px;border:0;border-radius:12px;outline:0;appearance:none;box-shadow:none;background-color:rgba(242,239,231,.09);background-image:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px);background-repeat:no-repeat;background-position:center calc(100% - 5px);background-size:calc(100% - 20px) 1px;color:var(--node-white);font:inherit;letter-spacing:-.015em}.node-board input.node-name-editor:focus,.node-board input.node-name-editor:focus-visible{outline:0;box-shadow:none}.node-name-trigger{position:relative;min-width:0;padding:4px 10px;margin-left:-10px;border-radius:12px;transition:background-color .12s var(--ease-out)}.node-name-trigger:after,button.canvas-node-group-label:after{position:absolute;right:10px;bottom:5px;left:10px;border-bottom:1px dashed;content:"";opacity:0;transition:opacity .12s var(--ease-out)}@media (hover:hover) and (pointer:fine){.node-name-trigger:hover,button.canvas-node-group-label:hover{background-color:rgba(242,239,231,.09)}.node-name-trigger:hover:after,button.canvas-node-group-label:hover:after{opacity:.72}}button.canvas-node-group-label:focus-visible:after{opacity:.72}.node-board-empty .canvas-board-empty-title{white-space:normal}.node-board[data-tool=hand] .react-flow__pane{cursor:grab}.canvas-graph-minimap{left:12px!important;right:auto!important;bottom:70px;width:180px;height:112px;border:1px solid var(--node-line);border-radius:12px;overflow:hidden}.canvas-node-group{background:rgba(242,239,231,.055);position:absolute;z-index:-1;border:1px solid var(--node-line);border-radius:16px;pointer-events:none}.canvas-node-group.is-selected{border-color:rgba(242,239,231,.35)}.node-studio-shell[data-color]{background:color-mix(in srgb,var(--node-accent) 22%,var(--node-raised));border-color:color-mix(in srgb,var(--node-accent) 55%,var(--node-line))}.node-studio-shell[data-color].is-connection-target,.node-studio-shell[data-color].is-selected{border-color:color-mix(in srgb,var(--node-accent) 20%,var(--node-white))}.canvas-node-group[data-color]{background:color-mix(in srgb,var(--group-accent) 12%,rgba(242,239,231,.055));border-color:color-mix(in srgb,var(--group-accent) 65%,var(--node-line))}.canvas-node-group[data-color].is-selected{border-color:color-mix(in srgb,var(--group-accent) 40%,var(--node-white))}.canvas-node-group[data-color] .canvas-node-group-label{color:color-mix(in srgb,var(--group-accent) 30%,var(--node-white))}.canvas-node-group-label{position:absolute;left:8px;top:-24px;padding:2px 8px;border:0;border-radius:6px;background:var(--node-ink);color:var(--node-muted);font:12px var(--font-body);cursor:grab;pointer-events:auto}.canvas-node-search{position:absolute;z-index:1400;top:84px;left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 24px));padding:8px;border:1px solid var(--node-line);border-radius:14px;background:var(--node-raised)}.canvas-node-search>div{display:flex;gap:6px}.canvas-node-search input{width:100%;min-width:0;font:inherit}.canvas-node-search button,.canvas-node-search input{border:0;background:transparent;padding:8px;color:var(--node-white)}.canvas-node-search button{border-radius:8px;cursor:pointer}.canvas-node-search button:hover{background:rgba(242,239,231,.07)}.canvas-node-search svg{width:18px;height:18px;flex:0 0 auto}.canvas-node-search section{max-height:min(280px,50vh);overflow-y:auto;scrollbar-width:thin}.canvas-node-search section button{display:flex;align-items:center;width:100%;gap:8px;text-align:left}.canvas-node-search section button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-graph-minimap .react-flow__minimap-svg{width:100%;height:100%;display:block}.canvas-graph-minimap{z-index:31}.node-board input.canvas-node-group-name{min-width:80px;max-width:260px;min-height:32px;padding:0 10px;border:0;border-radius:12px;outline:0;background-color:rgba(242,239,231,.09);background-image:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px);background-repeat:no-repeat;background-position:center calc(100% - 5px);background-size:calc(100% - 20px) 1px;color:var(--node-white);font:12px var(--font-body);letter-spacing:-.015em;appearance:none;box-shadow:none}.node-board input.canvas-node-group-name:focus,.node-board input.canvas-node-group-name:focus-visible{outline:0;box-shadow:none}button.canvas-node-group-label{min-height:32px;padding:0 10px;border-radius:12px;transition:background-color .12s var(--ease-out)}.canvas-node-group-label{max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-board[data-tool=select] .react-flow__pane{cursor:url(/canvas-select-cursor.svg) 3 3,default}.node-board .node-studio-content,.node-board .react-flow__node-studio{cursor:grab}.node-board .react-flow__node-studio.dragging,.node-board .react-flow__node-studio.dragging .node-studio-content,.node-board[data-tool=hand] .react-flow__pane:active{cursor:grabbing}.canvas-node-search input:focus,.canvas-node-search input:focus-visible{outline:none;box-shadow:none}.node-text-output>:first-child{margin-top:0}.node-text-output>:last-child{margin-bottom:0}.node-text-output h1{font-size:1.5em}.node-text-output h2{font-size:1.25em}.node-text-output h3{font-size:1.1em}.node-text-output ol,.node-text-output p,.node-text-output ul{margin:.65em 0}.node-text-output ol,.node-text-output ul{padding-left:1.5em}.node-text-output ul{list-style:disc}.node-text-output ol{list-style:decimal}.node-text-output pre{padding:10px;border-radius:6px;background:rgba(242,239,231,.04);white-space:pre-wrap}.node-text-output blockquote{margin:.65em 0;padding-left:12px;border-left:2px solid var(--node-line)}.node-text-output table{border-collapse:collapse;font-size:.9em}.node-text-output td,.node-text-output th{border:1px solid var(--node-line);padding:5px 8px}.node-text-output a{color:inherit;text-decoration:underline;pointer-events:none}.node-text-output img{max-width:100%}.node-document-status{color:var(--node-muted)}.node-board[data-tool=hand] .react-flow__pane.dragging{cursor:grabbing}.node-board[data-space-held=true] .react-flow__node-studio{cursor:grab}.node-board[data-whole-group-selected] .react-flow__nodesselection-rect{border-color:transparent;background:transparent}.node-board[data-whole-group-selected] .node-studio-shell[data-group-id].is-selected{border-color:var(--node-line)}.node-board[data-whole-group-selected] .node-studio-shell[data-group-id][data-color].is-selected{border-color:color-mix(in srgb,var(--node-accent) 55%,var(--node-line))}.node-board[data-whole-group-selected] .node-studio-shell[data-group-id].is-connection-target{border-color:rgba(242,239,231,.8)}.node-text-empty{display:flex;align-items:flex-start}.node-board .node-text-edit-entry{appearance:none;border:0;outline:0;border-radius:8px;padding:9px 13px;background:#30312e;color:var(--canvas-text-muted,#a09f98);font:inherit;cursor:pointer;box-shadow:none}@media (hover:hover) and (pointer:fine){.node-board .node-text-edit-entry:hover{background:#3c3d39;color:#f4f0e7}}.node-board .node-text-edit-entry:focus-visible{outline:1px dashed rgba(244,240,231,.5);outline-offset:3px}.node-board[data-group-hover=body] .react-flow__pane{cursor:grab}.node-board[data-group-hover=body].is-dragging .react-flow__pane{cursor:grabbing}.node-board[data-group-hover=nw] .react-flow__node,.node-board[data-group-hover=nw] .react-flow__pane,.node-board[data-group-hover=se] .react-flow__node,.node-board[data-group-hover=se] .react-flow__pane{cursor:nwse-resize}.node-board[data-group-hover=ne] .react-flow__node,.node-board[data-group-hover=ne] .react-flow__pane,.node-board[data-group-hover=sw] .react-flow__node,.node-board[data-group-hover=sw] .react-flow__pane{cursor:nesw-resize}.node-board[data-whole-group-selected] .react-flow__nodesselection-rect{pointer-events:none}.canvas-group-resize-bar{position:absolute;width:13px;height:13px;opacity:0;border:0 solid rgba(242,239,231,.85);pointer-events:none;transition:opacity .1s ease}.canvas-group-resize-bar.is-nw{left:-3px;top:-3px;border-left-width:2px;border-top-width:2px;border-top-left-radius:3px;transform-origin:top left}.canvas-group-resize-bar.is-ne{right:-3px;top:-3px;border-right-width:2px;border-top-width:2px;border-top-right-radius:3px;transform-origin:top right}.canvas-group-resize-bar.is-sw{left:-3px;bottom:-3px;border-left-width:2px;border-bottom-width:2px;border-bottom-left-radius:3px;transform-origin:bottom left}.canvas-group-resize-bar.is-se{right:-3px;bottom:-3px;border-right-width:2px;border-bottom-width:2px;border-bottom-right-radius:3px;transform-origin:bottom right}.canvas-node-group[data-hover-corner=ne] .is-ne,.canvas-node-group[data-hover-corner=nw] .is-nw,.canvas-node-group[data-hover-corner=se] .is-se,.canvas-node-group[data-hover-corner=sw] .is-sw{opacity:1}.node-upload-preview{position:relative;width:100%;height:100%;overflow:hidden;display:grid;place-items:center;background:rgba(242,239,231,.04)}.node-upload-preview>img,.node-upload-preview>video{width:100%;height:100%;object-fit:contain;opacity:.65;pointer-events:none}.node-upload-preview>svg{width:44px;height:44px;color:var(--node-muted)}.node-upload-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.node-upload-loading svg{width:26px;height:26px;color:var(--node-white)}.node-upload-progress{position:absolute;bottom:14px;left:18px;right:18px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--node-white);font-size:11px}.node-upload-progress progress{appearance:none;width:100%;height:3px;overflow:hidden;border:0;border-radius:4px;background:rgba(242,239,231,.15)}.node-upload-progress progress::-webkit-progress-bar{background:rgba(242,239,231,.15);border-radius:4px}.node-upload-progress progress::-webkit-progress-value{background:var(--node-white);border-radius:4px}.node-upload-progress progress::-moz-progress-bar{background:var(--node-white);border-radius:4px}.node-text-output{position:relative;padding-bottom:50px;min-height:100%}.node-board .node-text-edit-entry{position:absolute;right:14px;bottom:14px;font-size:12px}.node-document-shell{position:relative;height:100%;width:100%}.node-reference-drag{display:inline-flex;flex:0 0 auto}.node-reference-drag[draggable=true]{cursor:grab}.node-reference-drag[draggable=true]:active{cursor:grabbing}.node-frame-placeholder{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px dashed var(--node-line);border-radius:10px;color:var(--paper-muted)}.node-frame-placeholder>span{position:absolute;inset:0 0 auto;padding:1px 3px;font-size:8px;background:rgba(0,0,0,.4);border-radius:9px 9px 0 0}.node-frame-placeholder>svg{width:16px;height:16px;margin-top:8px}.node-generation-activity{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;background:var(--ink-raised);isolation:isolate}.node-generation-wave{position:absolute;inset:0;color:var(--paper-dim);background-image:radial-gradient(circle,currentColor 1.3px,transparent 1.4px);background-size:30px 30px;opacity:.22;animation:node-generation-wave 4.8s ease-in-out infinite}.node-generation-activity[data-animation-paused=true] .node-generation-wave{animation-play-state:paused}.node-generation-caption{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 32px);padding:8px 16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--ink);color:var(--warm-white);text-align:center;font-size:12px;line-height:1.5}@keyframes node-generation-wave{0%,to{opacity:.16}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.node-generation-wave{animation:none;opacity:.3}}.node-board .react-flow__node-studio,.node-studio-output[data-ready]{opacity:1;transition:opacity .14s var(--ease-out)}.node-studio-output{width:100%;height:100%}.canvas-node-search{transform-origin:center top}.canvas-graph-minimap,.canvas-node-search{opacity:1;transition:opacity .14s var(--ease-out),transform .14s var(--ease-out)}.canvas-graph-minimap{transform-origin:bottom right}.node-board-notice{opacity:1;transition:opacity .16s var(--ease-out),transform .16s var(--ease-out)}@starting-style{.node-board:not([data-keyboard-interaction=true]) .node-studio-output[data-ready],.node-board:not([data-keyboard-interaction=true]) .react-flow__node-studio{opacity:0}.node-board:not([data-keyboard-interaction=true]) .canvas-node-search{opacity:0;transform:translate(-50%,3px)}.node-board:not([data-keyboard-interaction=true]) .canvas-graph-minimap{opacity:0;transform:translateY(4px) scale(.99)}.node-board-notice{opacity:0;transform:translate(-50%,4px)}}.node-board[data-keyboard-interaction=true] .canvas-graph-minimap,.node-board[data-keyboard-interaction=true] .canvas-node-search,.node-board[data-keyboard-interaction=true] .node-studio-output,.node-board[data-keyboard-interaction=true] .react-flow__node-studio{transition:none}@media (prefers-reduced-motion:reduce){.canvas-graph-minimap,.canvas-node-search,.node-board .react-flow__node-studio,.node-board-notice,.node-studio-output{transition:none}@starting-style{.node-board-notice,.node-board:not([data-keyboard-interaction=true]) .canvas-graph-minimap,.node-board:not([data-keyboard-interaction=true]) .canvas-node-search,.node-board:not([data-keyboard-interaction=true]) .node-studio-output[data-ready],.node-board:not([data-keyboard-interaction=true]) .react-flow__node-studio{opacity:1}.node-board-notice,.node-board:not([data-keyboard-interaction=true]) .canvas-node-search{transform:translateX(-50%)}.node-board:not([data-keyboard-interaction=true]) .canvas-graph-minimap{transform:none}}}.node-text-output::-webkit-scrollbar{width:5px;height:5px}.node-text-output::-webkit-scrollbar-track{background:transparent}.node-text-output::-webkit-scrollbar-thumb{background:rgba(242,239,231,.25);border-radius:8px}.node-generation-panel .canvas-node-generation-cost.is-unavailable{color:var(--node-muted)}.canvas-node-variant{position:absolute;z-index:1;border:1px solid var(--node-line);border-radius:8px;background:var(--node-raised);overflow:hidden}.canvas-node-variant-media{width:100%;height:100%;overflow:hidden}.canvas-node-variant-media>*{width:100%;height:100%}.canvas-node-variant-media img,.canvas-node-variant-media video{width:100%;height:100%;object-fit:contain}.canvas-node-variant-actions,.canvas-node-variant-main-actions{position:absolute;top:8px;right:8px;z-index:9;display:flex;align-items:center;gap:6px}.canvas-node-primary-label,.canvas-node-variant-actions button,.canvas-node-variant-main-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:28px;padding:5px 8px;border:0;border-radius:7px;background:rgb(0 0 0/65%);color:var(--node-white);font:12px var(--font-body);white-space:nowrap}.canvas-node-variant-actions button,.canvas-node-variant-main-actions button{cursor:pointer}.canvas-node-variant-actions svg,.canvas-node-variant-main-actions svg{display:block;width:14px;height:14px}.canvas-node-variant-actions button:focus-visible,.canvas-node-variant-main-actions button:focus-visible{outline:2px solid var(--node-signal);outline-offset:2px}.canvas-node-variant-media[data-generating=true],.node-studio-output[data-generating=true]{filter:brightness(.34)}.node-generation-activity{z-index:3}