:root{font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#111827;background:#f3f6fb}*{box-sizing:border-box}button,input,textarea,select{font:inherit}button{cursor:pointer}#free-image-canvas-root{min-height:calc(100vh - 72px)}.image-canvas-app{position:relative;min-height:calc(100vh - 72px);overflow:hidden;background:#f3f6fb}.hidden-file{position:fixed;left:-9999px;width:1px;height:1px;opacity:0}.canvas-main{position:absolute;inset:0}.react-flow{background:radial-gradient(rgba(100,116,139,.26) 1px,transparent 1px),linear-gradient(180deg,#f8fafc,#eef3f8);background-size:24px 24px,auto}.react-flow__node,.react-flow__node-input,.react-flow__node-output,.react-flow__node-default,.react-flow__node.selected{padding:0;border:0;outline:0;background:transparent;box-shadow:none}.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:none!important;outline:0!important;border:0!important}.react-flow__edge-path{stroke:#64748b75;stroke-width:2}.react-flow__edge.edge-empty-content .react-flow__edge-path{stroke:#64748b6b;stroke-width:2;stroke-dasharray:none}.react-flow__edge.edge-has-content .react-flow__edge-path{stroke:#10b981;stroke-width:2;stroke-dasharray:7 6}.react-flow__edge.edge-run-waiting .react-flow__edge-path{stroke:#64748b80;stroke-width:2.2;stroke-dasharray:5 7}.react-flow__edge.edge-run-active .react-flow__edge-path{stroke:#2563eb;stroke-width:3;stroke-dasharray:8 6}.react-flow__edge.edge-run-done .react-flow__edge-path{stroke:#059669;stroke-width:2.6;stroke-dasharray:none}.react-flow__edge.edge-run-failed .react-flow__edge-path{stroke:#dc2626;stroke-width:3;stroke-dasharray:4 5}.react-flow__edge.is-selected-edge .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:#ef4444!important;stroke-width:3.5!important;stroke-dasharray:none!important}.react-flow__handle{width:11px;height:11px;border:2px solid #fff;background:#111827;box-shadow:0 4px 12px #0f172a3d}.react-flow__handle-left{left:-7px}.react-flow__handle-right{right:-7px}.react-flow__controls{left:22px;bottom:22px;border:1px solid rgba(148,163,184,.34);border-radius:12px;overflow:hidden;box-shadow:0 18px 44px #0f172a1a}.react-flow__controls-button{border-bottom:1px solid rgba(148,163,184,.2)}.react-flow__controls-button.is-active{background:#f0fdfaf5;color:#0f766e}.react-flow__minimap{right:22px;bottom:22px;width:190px;height:128px;border:1px solid rgba(148,163,184,.34);border-radius:16px;background:#ffffffd1;box-shadow:0 18px 44px #0f172a1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.floating-toolbar{position:absolute;left:22px;top:18px;z-index:12;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:calc(100vw - 44px);padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#ffffffdb;box-shadow:0 20px 56px #0f172a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toolbar-brand{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 6px;border-right:1px solid rgba(148,163,184,.24)}.toolbar-brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fff;box-shadow:0 8px 18px #6366f12e;overflow:hidden}.toolbar-brand-mark img{width:24px;height:24px;display:block}.toolbar-brand strong{white-space:nowrap;font-size:13px;font-weight:900}.tool-pill,.floating-inspector button,.create-menu button,.node-inline-actions button,.node-run,.node-retry,.editor-toolbar button,.reference-head button,.lightbox button,.progress-dialog button,.result-gallery button,.batch-prompt-head button,.batch-prompt-error button,.batch-prompt-actions button,.local-reference-tools button,.local-reference-actions button{border:1px solid rgba(148,163,184,.32);background:#ffffffeb;color:#1f2937;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.tool-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.tool-pill:hover,.floating-inspector button:hover,.create-menu button:hover,.node-inline-actions button:hover,.node-run:hover,.node-retry:hover,.editor-toolbar button:hover,.reference-head button:hover,.lightbox button:hover,.progress-dialog button:hover,.result-gallery button:hover,.batch-prompt-head button:hover,.batch-prompt-error button:hover,.batch-prompt-actions button:hover,.local-reference-tools button:hover,.local-reference-actions button:hover{border-color:#1118276b;background:#fff;transform:translateY(-1px)}.tool-pill--primary{border-color:#111827;background:#111827;color:#fff}.tool-pill--primary:hover{background:#0f766e;border-color:#0f766e;color:#fff}.tool-pill--danger{border-color:#dc262642;color:#b91c1c}.tool-pill--stop{border-color:#dc26268c;background:#dc26261a;color:#b91c1c}.tool-pill--stop:hover{border-color:#dc2626b8;background:#fee2e2f5;color:#991b1b}.tool-pill:disabled,.floating-inspector button:disabled,.edge-inspector button:disabled,.create-menu button:disabled,.reference-head button:disabled,.lightbox button:disabled,.progress-dialog button:disabled,.result-gallery button:disabled,.batch-prompt-head button:disabled,.batch-prompt-error button:disabled,.batch-prompt-actions button:disabled,.local-reference-tools button:disabled,.local-reference-actions button:disabled{cursor:not-allowed;opacity:.46;transform:none}.tool-pill--danger:hover{border-color:#dc2626;background:#dc2626;color:#fff}.canvas-help-strip{position:absolute;left:22px;top:118px;z-index:11;display:flex;gap:8px;flex-wrap:wrap;max-width:calc(100vw - 420px);pointer-events:none}.canvas-help-strip span{padding:5px 9px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffad;color:#64748b;font-size:11px;font-weight:760;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.canvas-access-alert{position:absolute;left:22px;top:152px;z-index:13;display:flex;align-items:center;gap:10px;max-width:min(680px,calc(100vw - 44px));padding:10px 12px;border:1px solid rgba(245,158,11,.34);border-radius:14px;background:#fffbebf0;color:#92400e;box-shadow:0 18px 44px #92400e1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.canvas-access-alert strong,.canvas-access-alert span,.canvas-access-alert a{font-size:12px}.canvas-access-alert strong{white-space:nowrap;font-weight:900}.canvas-access-alert span{min-width:0;color:#78350f;font-weight:760}.canvas-access-alert a{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#111827;color:#fff;font-weight:850;text-decoration:none}.inspector-head-actions{display:inline-flex;align-items:center;gap:8px}.create-menu-empty{padding:14px 12px;color:#64748b;font-size:12px;font-weight:700;line-height:1.5}.canvas-user-entry{position:absolute;top:18px;right:22px;z-index:13;display:flex;align-items:center}.tool-pill--user{min-width:92px;height:40px;padding:0 16px;border:1px solid rgba(15,23,42,.92);border-radius:999px;background:linear-gradient(180deg,#1e293bfa,#0f172a);color:#f8fafc;box-shadow:0 18px 40px #0f172a2e,inset 0 1px #ffffff14}.tool-pill--user:hover{border-color:#0f172a;background:linear-gradient(180deg,#334155fa,#0f172a);color:#fff;box-shadow:0 22px 44px #0f172a3d,inset 0 1px #ffffff1a}.tool-pill--user span{letter-spacing:.02em}.canvas-user-modal-backdrop{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:20px;background:#f1f5f975;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}.canvas-user-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;overflow:auto;padding:18px;border:1px solid rgba(148,163,184,.28);border-radius:22px;background:#fffffff5;box-shadow:0 28px 86px #0f172a2e}.canvas-user-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.canvas-user-modal-head div{min-width:0;display:grid;gap:4px}.canvas-user-modal-head strong{font-size:20px;font-weight:950;color:#0f172a}.canvas-user-modal-head span{color:#64748b;font-size:13px;font-weight:720;line-height:1.55}.canvas-user-modal-close{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#fffffff0;color:#334155}.canvas-user-feedback{padding:10px 12px;border-radius:14px;font-size:13px;font-weight:760;line-height:1.5}.canvas-user-feedback--error{border:1px solid rgba(220,38,38,.22);background:#fef2f2f0;color:#b91c1c}.canvas-user-feedback--success{border:1px solid rgba(20,184,166,.22);background:#f0fdfaf0;color:#0f766e}.canvas-user-form,.canvas-user-manage{display:grid;gap:14px}.canvas-user-form--compact{gap:12px}.canvas-user-field{display:grid;gap:7px}.canvas-user-field span{color:#334155;font-size:12px;font-weight:860}.canvas-user-field input,.canvas-user-field select{width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(148,163,184,.3);border-radius:14px;background:#f8fafceb;color:#0f172a;font-size:14px;font-weight:650}.canvas-user-field input:focus,.canvas-user-field select:focus{outline:none;border-color:#0f766e8a;box-shadow:0 0 0 3px #14b8a61f}.canvas-user-actions{display:flex;flex-wrap:wrap;gap:10px}.canvas-user-manage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.canvas-user-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#f8fafcbd}.canvas-user-panel--wide{grid-column:1 / -1}.canvas-user-panel-head{display:grid;gap:4px}.canvas-user-panel-head strong{color:#0f172a;font-size:15px;font-weight:920}.canvas-user-panel-head span{color:#64748b;font-size:12px;font-weight:720;line-height:1.6}.canvas-user-key-box{padding:12px 14px;border:1px dashed rgba(148,163,184,.38);border-radius:14px;background:#fff}.canvas-user-key-box code{display:block;color:#0f172a;font-size:12px;font-weight:760;line-height:1.65;word-break:break-all}.canvas-user-endpoints{display:grid;gap:6px}.canvas-user-endpoints span{color:#475569;font-size:12px;font-weight:760;line-height:1.5;word-break:break-all}.canvas-user-radio-row{display:flex;flex-wrap:wrap;gap:10px}.canvas-user-radio{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffeb;color:#334155;font-size:12px;font-weight:850}.canvas-user-radio input{margin:0}.canvas-api-mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.canvas-api-mode-card{position:relative;display:grid;gap:6px;min-height:116px;padding:14px 14px 14px 40px;border:1px solid rgba(148,163,184,.26);border-radius:18px;background:linear-gradient(180deg,#fffffff5,#f8fafce0);color:#334155;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.canvas-api-mode-card:hover{border-color:#14b8a661;box-shadow:0 16px 34px #0f172a14;transform:translateY(-1px)}.canvas-api-mode-card.is-active{border-color:#0f766e80;background:radial-gradient(circle at top right,rgba(20,184,166,.18),transparent 44%),linear-gradient(180deg,#f0fdfafa,#fffffff0);box-shadow:0 18px 38px #0f766e1f}.canvas-api-mode-card input{position:absolute;top:17px;left:15px;margin:0}.canvas-api-mode-card strong{color:#0f172a;font-size:14px;font-weight:930}.canvas-api-mode-card span{color:#64748b;font-size:12px;font-weight:720;line-height:1.6}.canvas-api-status-card{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(15,118,110,.18);border-radius:16px;background:#f0fdfab3}.canvas-api-status-card strong{color:#0f766e;font-size:13px;font-weight:900}.canvas-api-status-card span{color:#475569;font-size:12px;font-weight:720;line-height:1.55}.canvas-api-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.canvas-api-config-grid.is-muted{opacity:.72}.canvas-api-config-card{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#ffffffdb}.canvas-api-config-head{display:grid;gap:4px}.canvas-api-config-head strong{color:#0f172a;font-size:14px;font-weight:920}.canvas-api-config-head span,.canvas-api-help-text span{color:#64748b;font-size:12px;font-weight:700;line-height:1.6}.canvas-api-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.canvas-user-inline-note{padding:10px 12px;border-radius:14px;background:#ffffffeb;color:#475569;font-size:12px;font-weight:760}@media(max-width:900px){.canvas-user-manage,.canvas-api-mode-cards,.canvas-api-config-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.canvas-user-modal{width:min(100vw - 20px,760px);padding:14px;border-radius:18px}.canvas-user-entry{top:74px;right:12px}.canvas-user-actions{flex-direction:column}.canvas-user-actions .tool-pill{width:100%}.canvas-api-two-col{grid-template-columns:minmax(0,1fr)}}.flow-node{position:relative;width:268px;min-height:96px;padding:12px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#ffffffe6;box-shadow:0 16px 38px #0f172a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.flow-node:hover,.flow-node.is-selected{border-color:#14b8a6ad;box-shadow:0 20px 52px #14b8a61f}.flow-node.is-selected{box-shadow:0 20px 52px #14b8a61f,0 0 0 2px #14b8a629}.flow-node--reference,.flow-node--localReference,.flow-node--generate,.flow-node--imageExplosion,.flow-node--ecommerceImage,.flow-node--edit,.flow-node--output{width:286px}.flow-node--reference:has(.node-image),.flow-node--localReference:has(.node-image),.flow-node--generate:has(.node-image),.flow-node--imageExplosion:has(.node-image),.flow-node--ecommerceImage:has(.node-image),.flow-node--edit:has(.node-image),.flow-node--output:has(.node-image){background:#ffffffa8}.flow-node.is-running{border-color:#0ea5e98c}.flow-node.is-locked{cursor:default}.flow-node.is-locked .node-toolbar{opacity:0;pointer-events:none}.node-toolbar{display:flex;gap:8px;padding:6px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#fffffff5;box-shadow:0 14px 32px #0f172a24}.node-toolbar button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:10px;background:#0f172ac7;color:#fff;font-size:11px;font-weight:850;white-space:nowrap}.node-toolbar button:disabled{opacity:.56;cursor:not-allowed}.node-toolbar button:hover:not(:disabled){background:#0f172ae6}.node-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-bottom:10px}.node-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#11182712;color:#111827}.flow-node--prompt .node-icon{background:#f59e0b24;color:#92400e}.flow-node--batchPrompt .node-icon{background:#6366f121;color:#4338ca}.flow-node--reference .node-icon{background:#10b98124;color:#047857}.flow-node--localReference .node-icon{background:#14b8a624;color:#0f766e}.flow-node--generate .node-icon{background:#2563eb1f;color:#1d4ed8}.flow-node--imageExplosion .node-icon{background:#f43f5e1f;color:#be123c}.flow-node--ecommerceImage .node-icon{background:#f59e0b24;color:#92400e}.flow-node--edit .node-icon{background:#0ea5e924;color:#0369a1}.flow-node--output .node-icon{background:#1118271a;color:#111827}.node-head strong{min-width:0;overflow:hidden;color:#111827;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.reference-order-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;padding:0 8px;border:1px solid rgba(20,184,166,.28);border-radius:999px;background:#f0fdfaeb;color:#0f766e;font-size:11px;font-weight:950;line-height:1}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:22px;padding:0 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-style:normal;font-weight:850;white-space:nowrap}.status-ready,.status-done{background:#10b9811f;color:#047857}.status-running{background:#0ea5e91f;color:#0369a1}.status-failed{background:#ef44441f;color:#b91c1c}.node-text,.node-hint,.node-error{margin:0;color:#475569;font-size:12px;line-height:1.55}.node-hint{margin-top:9px}.node-error{margin-top:9px;padding:7px 9px;border:1px solid rgba(239,68,68,.22);border-radius:10px;background:#fef2f2db;color:#b91c1c;font-weight:800}.batch-node-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:10px;border:1px solid rgba(99,102,241,.18);border-radius:13px;background:#eef2ffb3}.batch-node-summary strong{grid-row:span 2;align-self:center;color:#4338ca;font-size:28px;font-weight:950;line-height:1}.batch-node-summary span,.batch-node-summary em{min-width:0;overflow:hidden;font-size:11px;font-style:normal;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.batch-node-summary span{color:#312e81}.batch-node-summary em{color:#64748b}.batch-node-list{display:grid;gap:5px;margin-top:8px}.batch-node-list span{min-width:0;overflow:hidden;padding:6px 8px;border-radius:10px;background:#f8fafce0;color:#475569;font-size:11px;font-weight:780;text-overflow:ellipsis;white-space:nowrap}.batch-node-list b{margin-right:7px;color:#4338ca;font-weight:950}.batch-node-empty{display:grid;place-items:center;gap:8px;min-height:92px;border:1px dashed rgba(99,102,241,.34);border-radius:14px;background:#eef2ff6b;color:#6366f1;font-size:12px;font-weight:850}.node-batch-badge{display:flex;align-items:center;gap:6px;min-width:0;margin-top:9px;padding:7px 9px;border:1px solid rgba(99,102,241,.2);border-radius:999px;background:#eef2ffb8;color:#4338ca;font-size:11px;font-weight:900}.node-batch-badge em{min-width:0;overflow:hidden;color:#64748b;font-size:10px;font-style:normal;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.node-result-count{min-height:28px;display:flex;align-items:center;justify-content:center;gap:3px;margin-top:8px;border:1px solid rgba(59,130,246,.18);border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:900}.node-result-count span{color:#0f172a}.node-result-count em{color:#64748b;font-style:normal}.explosion-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.explosion-steps span{min-width:0;overflow:hidden;padding:6px 7px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:900;text-align:center;text-overflow:ellipsis;white-space:nowrap}.explosion-steps span.is-ready{background:#f43f5e1a;color:#be123c}.ecommerce-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px}.ecommerce-steps span{min-width:0;overflow:hidden;padding:6px 7px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:900;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ecommerce-steps span.is-ready{background:#f59e0b24;color:#92400e}.node-empty{display:grid;place-items:center;gap:8px;width:100%;height:162px;border:1px dashed rgba(148,163,184,.48);border-radius:14px;background:#f8fafcd1;color:#94a3b8;font-size:12px;font-weight:820}.flow-node--reference .node-media-hit,.flow-node--localReference .node-media-hit{cursor:pointer}.node-image-button{position:relative;display:block;width:100%;height:176px;padding:0;overflow:hidden;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:#f8fafc}.node-image{display:block;width:100%;height:100%;object-fit:contain}.node-local-preview{cursor:default}.local-ref-preview-layer{position:absolute;z-index:2;pointer-events:none}.local-ref-preview-circle,.local-ref-preview-ring,.local-ref-preview-badge{position:absolute;display:block}.local-ref-preview-ring{border:2px dashed;border-radius:999px;box-shadow:0 0 0 2px #ffffffad;transform-origin:50% 50%;animation:local-ref-preview-spin 2.4s linear infinite}.local-ref-preview-badge{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(255,255,255,.82);border-radius:999px;color:#fffffff0;font-size:10px;font-weight:950;line-height:1;box-shadow:0 4px 12px #0f172a29}@keyframes local-ref-preview-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.node-meta-row{display:flex;gap:8px;margin-top:9px}.node-meta-row span{min-height:24px;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:850}.local-ref-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.local-ref-status span{min-height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#f1f5f9c2;color:#64748b;font-size:10px;font-weight:850}.local-ref-status span.is-done{border-color:#14b8a647;background:#14b8a61f;color:#0f766e}.local-ref-status--panel{margin-top:0}.local-ref-ready{margin-top:9px;padding:7px 9px;border:1px solid rgba(20,184,166,.24);border-radius:12px;background:#14b8a61a;color:#0f766e;font-size:11px;font-weight:880;text-align:center}.node-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.node-inline-actions button,.node-copy-link,.node-run,.node-retry{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border-radius:11px;font-size:11px;font-weight:850}.node-inline-actions button:disabled,.node-run:disabled,.node-retry:disabled,.editor-toolbar button:disabled{cursor:not-allowed;opacity:.42;transform:none}.node-run,.node-retry{width:100%;margin-top:10px}.node-copy-link{width:100%;margin-top:8px;border:1px solid rgba(20,184,166,.28);background:#14b8a614;color:#0f766e}.node-retry{border-color:#ef444452;color:#b91c1c}.node-run-line{position:relative;height:5px;margin-top:12px;overflow:hidden;border-radius:999px;background:#0ea5e91f}.node-run-line span{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:#0ea5e9;animation:node-progress 1s ease-in-out infinite}.node-run-hint{margin-top:10px;padding:8px 10px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#f8fafcd6;color:#64748b;font-size:12px;font-weight:700;line-height:1.35;text-align:center}@keyframes node-progress{0%{transform:translate(-110%)}to{transform:translate(270%)}}.node-meter{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e2e8f0}.node-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#2563eb)}.drop-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;gap:12px;background:#f8fafcb8;color:#334155;font-size:18px;font-weight:900;letter-spacing:.03em;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.create-menu{position:fixed;z-index:40;width:238px;max-width:calc(100vw - 32px);padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#fffffff0;box-shadow:0 22px 58px #0f172a29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.create-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 8px}.create-menu-head strong{font-size:12px;font-weight:900}.create-menu-head button{display:grid;place-items:center;width:26px;height:26px;padding:0;border-radius:9px}.create-menu-grid{display:grid;gap:6px}.create-menu-grid button{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label" "icon detail";align-items:center;gap:2px 8px;min-height:48px;padding:8px;border-radius:12px;text-align:left}.create-menu-grid svg{grid-area:icon}.create-menu-grid span{grid-area:label;font-size:12px;font-weight:900}.create-menu-grid em{grid-area:detail;overflow:hidden;color:#64748b;font-size:10.5px;font-style:normal;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.floating-inspector{position:absolute;top:108px;right:22px;z-index:10;width:326px;max-height:calc(100vh - 228px);display:flex;flex-direction:column;gap:10px;padding:12px;overflow:auto;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#ffffffd6;box-shadow:0 22px 58px #0f172a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.edge-inspector{position:absolute;right:22px;top:108px;z-index:11;width:300px;display:grid;gap:10px;padding:12px;border:1px solid rgba(239,68,68,.24);border-radius:18px;background:#ffffffe6;box-shadow:0 22px 58px #0f172a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.edge-inspector div{display:grid;gap:3px}.edge-inspector strong{color:#111827;font-size:14px;font-weight:950}.edge-inspector span{overflow:hidden;color:#64748b;font-size:11px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.edge-inspector button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(239,68,68,.32);border-radius:12px;background:#fef2f2db;color:#b91c1c;font-size:12px;font-weight:850}.edge-inspector button:hover{border-color:#ef444485;background:#fff}.inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.inspector-head div{min-width:0;display:grid;gap:3px}.inspector-head strong{overflow:hidden;font-size:15px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.inspector-head span{color:#64748b;font-size:11px;font-weight:760}.inspector-head button{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:11px;color:#b91c1c}.empty-inspector{min-height:116px;display:grid;place-items:center;gap:8px;color:#64748b;font-size:12px;font-weight:820;text-align:center}.field{display:grid;gap:6px}.field span{color:#475569;font-size:11px;font-weight:850}.field input,.field textarea,.field select{width:100%;min-height:36px;border:1px solid rgba(148,163,184,.36);border-radius:11px;background:#f8fafceb;color:#111827;outline:none;padding:8px 10px;font-size:12px;line-height:1.45}.field textarea{min-height:110px;resize:vertical}.inspector-note{margin:-2px 0 2px;padding:9px 10px;border:1px solid rgba(14,165,233,.18);border-radius:12px;background:#f0f9ffd1;color:#0369a1;font-size:11px;font-weight:760;line-height:1.5}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toggle-field{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 10px;border:1px solid rgba(148,163,184,.3);border-radius:11px;background:#f8fafcbd;color:#334155;font-size:12px;font-weight:850}.toggle-field input{width:16px;height:16px;accent-color:#14b8a6}.ecommerce-type-list{display:grid;gap:8px;padding:10px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#f8fafcc7}.ecommerce-type-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:8px}.ecommerce-type-row label{display:flex;align-items:center;gap:8px;min-width:0;color:#334155;font-size:12px;font-weight:850}.ecommerce-type-row label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecommerce-type-row input[type=number]{height:34px}.prompt-optimize-field{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 12px;border:1px solid rgba(148,163,184,.28);border-radius:13px;background:#f8fafcd1;color:#334155}.prompt-optimize-field.is-on{border-color:#14b8a652;background:#f0fdfadb}.prompt-optimize-field input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;opacity:0}.prompt-optimize-field input:disabled{cursor:not-allowed}.prompt-optimize-field__main{min-width:0;display:flex;align-items:center;gap:10px}.prompt-optimize-field__main>span:last-child{min-width:0;display:grid;gap:2px}.prompt-optimize-field strong{color:#0f172a;font-size:12px;font-weight:950}.prompt-optimize-switch{position:relative;flex:0 0 auto;width:36px;height:21px;border-radius:999px;background:#94a3b86b;box-shadow:inset 0 0 0 1px #0f172a0f;transition:background .16s ease}.prompt-optimize-switch i{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 5px 12px #0f172a33;transition:transform .16s ease}.prompt-optimize-field.is-on .prompt-optimize-switch{background:#14b8a6}.prompt-optimize-field.is-on .prompt-optimize-switch i{transform:translate(15px)}.size-picker-panel{display:grid;gap:8px;padding:10px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#f8fafcbd}.size-picker-panel.is-custom-active{opacity:.78}.size-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.size-picker-heading span{color:#475569;font-size:11px;font-weight:900}.size-picker-heading code{max-width:156px;overflow:hidden;padding:4px 7px;border-radius:999px;background:#14b8a61a;color:#0f766e;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.size-tier-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.size-tier-grid button,.size-ratio-grid button{min-width:0;border:1px solid rgba(148,163,184,.28);background:#ffffffe0;color:#334155;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.size-tier-grid button{min-height:42px;display:grid;align-content:center;padding:7px 5px;border-radius:11px;text-align:center}.size-tier-grid strong,.size-ratio-grid strong,.size-auto-card strong{overflow:hidden;font-size:11px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.size-tier-grid span,.size-ratio-grid span,.size-auto-card span{overflow:hidden;color:#64748b;font-size:9.5px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.size-tier-grid button:hover:not(:disabled),.size-ratio-grid button:hover:not(:disabled){border-color:#14b8a66b;background:#fff}.size-tier-grid button.is-active,.size-ratio-grid button.is-active{border-color:#14b8a6a8;background:#f0fdfaf5;color:#0f766e;box-shadow:0 0 0 2px #14b8a61f}.size-tier-grid button:disabled,.size-ratio-grid button:disabled{cursor:not-allowed;opacity:.48}.size-ratio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.size-ratio-grid button{min-height:54px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"icon label" "icon detail";align-items:center;gap:2px 7px;padding:7px;border-radius:12px}.size-ratio-icon{grid-area:icon;position:relative;display:block;width:26px;height:26px;border:1.5px solid rgba(20,184,166,.55);border-radius:6px;background:#14b8a614}.size-ratio-icon--wide{height:16px;align-self:center}.size-ratio-icon--tall{width:16px;justify-self:center}.size-ratio-icon--classic{width:25px;height:19px;align-self:center}.size-ratio-icon--poster{width:19px;height:25px;justify-self:center}.size-ratio-grid strong{grid-area:label}.size-ratio-grid span{grid-area:detail}.size-auto-card{min-height:48px;display:grid;gap:2px;align-content:center;padding:9px 10px;border:1px solid rgba(20,184,166,.3);border-radius:12px;background:#f0fdfac7;color:#0f766e}.field input:focus,.field textarea:focus,.field select:focus{border-color:#2563eb94;box-shadow:0 0 0 3px #2563eb1a}.inspector-preview{display:grid;place-items:center;min-height:152px;overflow:hidden;border:1px dashed rgba(148,163,184,.42);border-radius:13px;background:#f8fafc;color:#94a3b8;font-size:12px;font-weight:800}.inspector-preview img{display:block;width:100%;height:180px;object-fit:contain}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inspector-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;font-size:11px;font-weight:850}.inspector-actions button:disabled{cursor:not-allowed;opacity:.45}.floating-inspector input:disabled,.floating-inspector textarea:disabled,.floating-inspector select:disabled{cursor:not-allowed;opacity:.62;background:#f1f5f9d1}.edge-inspector button:disabled{cursor:not-allowed;opacity:.46}.inspector-meta{display:grid;gap:5px;padding:9px;border-radius:12px;background:#f1f5f9c7}.inspector-meta span{color:#64748b;font-size:10px;font-weight:850}.inspector-meta code{color:#334155;font-size:11px;white-space:normal}.run-log{position:absolute;right:22px;bottom:156px;z-index:9;width:326px;max-height:128px;padding:10px 12px;overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#ffffffc7;box-shadow:0 18px 44px #0f172a1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.run-log strong{display:block;margin-bottom:7px;font-size:12px;font-weight:900}.run-log div{display:grid;gap:4px}.run-log span{overflow:hidden;color:#64748b;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.batch-prompt-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.batch-prompt-modal{width:min(860px,calc(100vw - 36px));max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:#fffffff5;box-shadow:0 28px 80px #0f172a38}.batch-prompt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(148,163,184,.2)}.batch-prompt-head div{min-width:0;display:grid;gap:5px}.batch-prompt-head span{display:inline-flex;align-items:center;gap:7px;color:#4338ca;font-size:12px;font-weight:900}.batch-prompt-head strong{min-width:0;overflow:hidden;color:#111827;font-size:18px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.batch-prompt-head button{display:grid;place-items:center;width:34px;height:34px;border-radius:12px}.batch-prompt-loading,.batch-prompt-error{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;text-align:center}.batch-prompt-loading span{width:38px;height:38px;border:3px solid rgba(99,102,241,.18);border-top-color:#6366f1;border-radius:999px;animation:batch-prompt-spin .8s linear infinite}.batch-prompt-loading strong,.batch-prompt-error strong{color:#111827;font-size:15px;font-weight:950}.batch-prompt-loading p,.batch-prompt-error p{max-width:430px;margin:0;color:#64748b;font-size:12px;font-weight:760;line-height:1.55}.batch-prompt-error button,.batch-prompt-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;font-size:12px;font-weight:850}.batch-prompt-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px;background:#f8fafcbd}.batch-prompt-summary span{min-width:0;padding:11px 12px;border:1px solid rgba(148,163,184,.22);border-radius:13px;background:#fff;color:#475569;font-size:12px;font-weight:850}.batch-prompt-summary b{margin-right:6px;color:#4338ca;font-size:18px;font-weight:950}.batch-prompt-table{flex:1;min-height:0;overflow:auto;padding:0 18px 14px}.batch-prompt-table table{width:100%;border-collapse:separate;border-spacing:0 7px;table-layout:fixed}.batch-prompt-table th{position:sticky;top:0;z-index:1;padding:8px 10px;background:#fffffff5;color:#64748b;font-size:11px;font-weight:900;text-align:left}.batch-prompt-table th:nth-child(1),.batch-prompt-table td:nth-child(1){width:62px}.batch-prompt-table th:nth-child(2),.batch-prompt-table td:nth-child(2){width:160px}.batch-prompt-table th:nth-child(4),.batch-prompt-table td:nth-child(4){width:72px}.batch-prompt-table td{padding:10px;background:#f8fafce6;color:#334155;font-size:12px;font-weight:740;line-height:1.45;vertical-align:top;word-break:break-word}.batch-prompt-table td:first-child{border-radius:12px 0 0 12px;color:#4338ca;font-weight:950}.batch-prompt-table td:last-child{border-radius:0 12px 12px 0}.batch-prompt-table tr.is-skipped td{color:#94a3b8;background:#f1f5f9ad}.batch-prompt-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px 16px;border-top:1px solid rgba(148,163,184,.18)}.batch-prompt-confirm{border-color:#4f46e54d;background:#4f46e5;color:#fff}.batch-prompt-confirm:disabled{cursor:not-allowed;opacity:.45}@keyframes batch-prompt-spin{to{transform:rotate(1turn)}}.reference-modal,.lightbox,.result-gallery,.progress-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:18px;background:#f8fafc75;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}.reference-shell{width:min(1260px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.3);border-radius:18px;background:#fffffff0;box-shadow:0 28px 86px #0f172a33}.reference-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.22)}.reference-head div{min-width:0;display:grid;gap:3px}.reference-head strong{font-size:16px;font-weight:950}.reference-head span{overflow:hidden;color:#64748b;font-size:12px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.reference-head button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(148,163,184,.3);border-radius:12px;background:#fff;color:#334155}.local-reference-shell{width:min(1380px,calc(100vw - 32px));height:min(850px,calc(100vh - 32px))}.local-reference-editor{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 400px;background:#eef2f7}.local-reference-stage{min-height:0;display:grid;place-items:center;overflow:hidden;padding:14px}.local-reference-canvas-wrap{position:relative}.local-reference-stage canvas{display:block;width:100%;height:100%;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#f8fafc;box-shadow:inset 0 0 0 1px #ffffffb3,0 18px 48px #0f172a1a;touch-action:none}.local-reference-stage.is-select canvas{cursor:crosshair}.local-reference-stage.is-pan canvas{cursor:grab}.local-reference-panel{min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:12px;padding:14px;border-left:1px solid rgba(148,163,184,.24);background:#ffffffeb}.local-reference-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.local-reference-summary span{min-height:30px;display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0 8px;border:1px solid rgba(148,163,184,.26);border-radius:999px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:880;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-reference-summary span.is-done{border-color:#14b8a64d;background:#14b8a61f;color:#0f766e}.local-reference-prompt{min-height:0}.local-reference-prompt textarea{height:100%;min-height:230px;resize:none}.local-reference-color-row{display:grid;grid-template-columns:repeat(7,40px);justify-content:space-between;gap:6px;padding:3px 2px}.local-reference-color-row button{width:40px;height:40px;display:inline-grid;place-items:center;border:2px solid #fff;border-radius:999px;background:var(--local-reference-color);color:#fff;font-size:11px;font-weight:950;text-shadow:0 1px 2px rgba(0,0,0,.28);box-shadow:0 0 0 1px #0f172a24}.local-reference-color-row button.is-active{box-shadow:0 0 0 3px color-mix(in srgb,var(--local-reference-color) 34%,transparent),0 10px 20px #0f172a1f}.local-reference-tools{display:grid;grid-template-columns:minmax(92px,1fr) minmax(92px,1fr) 38px 58px 38px;align-items:center;gap:7px}.local-reference-tools button,.local-reference-actions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:0 10px;border-radius:12px;font-size:12px;font-weight:880;white-space:nowrap}.local-reference-tools button.is-active{border-color:#14b8a670;background:#14b8a61f;color:#0f766e}.local-reference-tools strong{min-width:0;color:#475569;font-size:12px;font-weight:900;text-align:center;white-space:nowrap}.local-reference-radius{display:grid;gap:7px;color:#475569;font-size:11px;font-weight:850}.local-reference-radius input{width:100%}.local-reference-circle-list{min-height:0;display:grid;align-content:start;gap:9px;overflow:auto;padding-right:2px}.local-reference-circle-item{display:grid;gap:7px;padding:9px;border:1px solid rgba(148,163,184,.22);border-radius:13px;background:#fff}.local-reference-circle-item.is-active{border-color:color-mix(in srgb,var(--local-reference-color) 44%,transparent);box-shadow:0 14px 30px #0f172a14}.local-reference-circle-item>button:first-child{display:inline-flex;align-items:center;gap:8px;min-width:0;border:0;background:transparent;color:var(--local-reference-color);font-size:12px;font-weight:900;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-reference-circle-item>button:first-child span{flex:0 0 auto;width:22px;height:22px;display:inline-grid;place-items:center;border-radius:999px;background:var(--local-reference-color);color:#fff;font-size:11px}.local-reference-circle-item textarea{width:100%;min-height:62px;resize:vertical;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:#f8fafc;color:#111827;padding:8px 9px;font-size:12px;line-height:1.45;outline:none}.local-reference-circle-item textarea:focus{border-color:color-mix(in srgb,var(--local-reference-color) 50%,#94a3b8);box-shadow:0 0 0 3px color-mix(in srgb,var(--local-reference-color) 14%,transparent)}.local-reference-circle-remove{justify-self:start;border:0;background:transparent;color:#dc2626;font-size:11px;font-weight:850}.local-reference-empty{min-height:88px;display:grid;place-items:center;border:1px dashed rgba(148,163,184,.38);border-radius:13px;background:#f8fafc;color:#94a3b8;font-size:12px;font-weight:850;text-align:center}.local-reference-actions{display:grid;grid-template-columns:minmax(90px,1fr) minmax(140px,1.25fr);gap:8px}.local-reference-actions button:disabled{cursor:not-allowed;opacity:.45;transform:none}.local-reference-save{min-width:140px;border-color:#111827!important;background:#111827!important;color:#fff!important}.single-editor{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#eef2f7}.editor-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;padding:16px}.editor-canvas-wrap{position:relative;flex:0 0 auto}.editor-stage canvas{display:block;width:100%;height:100%;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#f8fafc;box-shadow:inset 0 0 0 1px #ffffffb3,0 18px 48px #0f172a1a;touch-action:none}.editor-stage.is-pan canvas{cursor:grab}.editor-stage.is-crop canvas{cursor:crosshair}.editor-stage.is-erase canvas{cursor:none}.erase-brush-preview{position:absolute;z-index:5;min-width:8px;min-height:8px;border:2px solid rgba(239,68,68,.86);border-radius:999px;background:#ef444414;box-shadow:0 0 0 1px #ffffffdb,0 8px 22px #0f172a29;pointer-events:none;transform:translate(-50%,-50%)}.crop-box{position:absolute;z-index:4;border:2px solid #111827;border-radius:8px;background:#ffffff38;box-shadow:0 0 0 9999px #0f172a42,inset 0 0 0 1px #ffffffc7;pointer-events:none}.crop-confirm{position:absolute;z-index:5;display:inline-flex;gap:6px;padding:4px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:#0f172ab8;box-shadow:0 14px 34px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.crop-confirm button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.26);border-radius:10px;background:#0f172ac2;color:#fff;font-size:11px;font-weight:850;text-shadow:0 1px 2px rgba(0,0,0,.36);box-shadow:none}.crop-confirm button:last-child{width:34px;padding:0;background:#0f172a9e;color:#fff}.crop-confirm button:hover{border-color:#ffffff80;background:#0f172ae6}.editor-toolbar{min-height:66px;display:flex;align-items:center;gap:8px;padding:10px 14px;overflow-x:auto;border-top:1px solid rgba(148,163,184,.26);background:#ffffffeb}.editor-toolbar button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:12px;font-size:12px;font-weight:850;white-space:nowrap}.editor-toolbar button.is-active{border-color:#111827;background:#111827;color:#fff}.editor-toolbar strong{min-width:52px;color:#334155;font-size:12px;text-align:center}.toolbar-spacer{flex:1 1 auto}.brush-control{display:inline-flex;align-items:center;gap:8px;min-width:190px;color:#475569;font-size:11px;font-weight:800;white-space:nowrap}.brush-control input{width:92px}.editor-save{border-color:#111827!important;background:#111827!important;color:#fff!important}.progress-dialog{width:min(360px,calc(100vw - 36px));display:grid;gap:10px;padding:18px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#fff;box-shadow:0 28px 86px #0f172a38;text-align:center}.progress-dialog strong{font-size:16px;font-weight:950}.progress-dialog p{margin:0;color:#64748b;font-size:12px;line-height:1.55}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#2563eb);transition:width .18s ease}.progress-dialog em{color:#475569;font-size:12px;font-style:normal;font-weight:900}.progress-dialog button{min-height:36px;border-radius:12px;font-size:12px;font-weight:850}.result-gallery{z-index:91;background:#0f172a57}.result-gallery-shell{width:min(1180px,calc(100vw - 32px));height:min(820px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.34);border-radius:16px;background:#f8fafcfa;box-shadow:0 30px 96px #0f172a47}.result-gallery-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.24);background:#fff}.result-gallery-head div:first-child{min-width:0;display:grid;gap:3px}.result-gallery-head strong{color:#0f172a;font-size:15px;font-weight:950}.result-gallery-head span{color:#64748b;font-size:12px;font-weight:800}.result-gallery-tools,.result-gallery-actions{display:flex;align-items:center;gap:8px}.result-gallery button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;font-size:12px;font-weight:850}.result-gallery-grid{min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:14px;overflow:auto}.result-gallery-card{min-width:0;display:grid;grid-template-rows:168px auto auto;overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#fff}.result-gallery-empty{grid-column:1 / -1;min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed rgba(148,163,184,.36);border-radius:14px;background:#fff;text-align:center}.result-gallery-empty strong{color:#0f172a;font-size:15px;font-weight:950}.result-gallery-empty span{color:#64748b;font-size:12px;font-weight:760}.result-gallery-thumb{width:100%;min-height:168px;padding:0;overflow:hidden;border:0;border-radius:0;background:linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px),#f8fafc;background-size:24px 24px}.result-gallery-thumb img{width:100%;height:100%;display:block;object-fit:contain}.result-gallery-thumb span{color:#64748b;font-size:13px;font-weight:900}.result-gallery-info{min-width:0;display:grid;gap:7px;padding:11px 12px 0}.result-gallery-info div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.result-gallery-info strong{min-width:0;overflow:hidden;color:#0f172a;font-size:13px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.result-gallery-info em{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#047857;font-size:11px;font-style:normal;font-weight:900}.result-gallery-card.is-failed .result-gallery-info em{background:#fee2e2;color:#b91c1c}.result-gallery-card.is-running .result-gallery-info em,.result-gallery-card.is-starting .result-gallery-info em{background:#dbeafe;color:#1d4ed8}.result-gallery-info p{min-height:36px;max-height:54px;margin:0;overflow:hidden;color:#475569;font-size:12px;line-height:1.5}.result-gallery-actions{padding:12px}.result-gallery-actions button{flex:1}.lightbox{z-index:92;background:#0f172a57}.lightbox-shell{width:min(1340px,calc(100vw - 32px));height:min(900px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.34);border-radius:16px;background:#fffffff5;box-shadow:0 30px 96px #0f172a47}.lightbox-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.24)}.lightbox-head strong{font-size:15px;font-weight:950}.lightbox-tools{display:flex;align-items:center;gap:7px}.lightbox button{min-width:36px;height:36px;display:inline-grid;place-items:center;padding:0 10px;border-radius:12px;font-weight:850}.lightbox-tools span{min-width:54px;color:#475569;font-size:12px;font-weight:900;text-align:center}.lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(rgba(148,163,184,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.18) 1px,transparent 1px),radial-gradient(rgba(15,23,42,.12) 1px,transparent 1px),#eef2f7;background-size:96px 96px,96px 96px,24px 24px,auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.lightbox-stage:active,.lightbox-stage.is-panning{cursor:grabbing}.lightbox-image-frame{width:calc(100% - 72px);height:calc(100% - 72px);display:grid;place-items:center;transform-origin:center center;will-change:transform}.lightbox-image-frame img{display:block;max-width:100%;max-height:100%;border-radius:12px;background:#fff;object-fit:contain;box-shadow:0 18px 54px #0f172a2e;user-select:none;-webkit-user-drag:none;-webkit-user-select:none;pointer-events:none}@media(max-width:980px){.floating-toolbar{right:12px;left:12px;overflow-x:auto}.canvas-help-strip{display:none}.floating-inspector{inset:auto 12px 12px;width:auto;max-height:230px}.edge-inspector{inset:auto 12px 12px;width:auto}.run-log,.react-flow__minimap{display:none}.reference-shell,.lightbox-shell{width:calc(100vw - 20px);height:calc(100vh - 20px)}.local-reference-editor{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.local-reference-panel{grid-template-rows:auto auto auto auto;border-top:1px solid rgba(148,163,184,.24);border-left:0}.local-reference-prompt textarea{min-height:96px}.local-reference-tools{grid-template-columns:1fr 1fr 38px 52px 38px}.reference-head span{white-space:normal}.editor-toolbar{flex-wrap:nowrap}}html:has(.free-image-canvas-standalone),body.free-image-canvas-standalone{width:100%;height:100%;margin:0;overflow:hidden;background:#eef2f7}body.free-image-canvas-standalone .free-image-canvas-page,body.free-image-canvas-standalone #free-image-canvas-root{width:100%;height:100dvh;min-height:100dvh}body.free-image-canvas-standalone .image-canvas-app,body.free-image-canvas-standalone .canvas-main,body.free-image-canvas-standalone .react-flow{width:100%;height:100%;min-height:0}@supports not (height: 100dvh){body.free-image-canvas-standalone .free-image-canvas-page,body.free-image-canvas-standalone #free-image-canvas-root{height:100vh;min-height:100vh}}
