@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap";:root{--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-mono: "Consolas", "Monaco", "Courier New", monospace;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;text-rendering:auto;--bg-main: #0a0a0c;--bg-node: rgba(20, 20, 25, .9);--bg-ui: #0f172a;--bg-ui-hover: rgba(255, 255, 255, .1);--bg-card: rgba(255, 255, 255, .03);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .2);--text-main: #f8fafc;--text-subtle: #94a3b8;--text-muted: #4b5563;--accent-primary: #8b5cf6;--accent-secondary: #3b82f6;--accent-glow: rgba(139, 92, 246, .3);--shadow-node: 0 10px 30px rgba(0, 0, 0, .5);--shadow-ui: 0 10px 25px -5px rgba(0, 0, 0, .3);--grid-size: 40px;--grid-opacity: .07;--adapter-grid-rgb: 255, 255, 255;--cursor-select: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='white' stroke='black' stroke-width='0.5' viewBox='0 0 16 16'%3E%3Cg transform='scale(-1, 1) translate(-16, 0)'%3E%3Cpath d='M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .557.103zM2.25 8.184l3.897 1.67a.5.5 0 0 1 .262.263l1.67 3.897L12.743 3.52 2.25 8.184z'/%3E%3C/g%3E%3C/svg%3E") 2 2, default;line-height:1.5;font-weight:400;color-scheme:dark;--syn-comment: #6272a4;--syn-punctuation: #f8f8f2;--syn-string: #f1fa8c;--syn-keyword: #ff79c6;--syn-function: #50fa7b;--syn-operator: #ffb86c;--syn-property: #bd93f9;--syn-regex: #8be9fd}[data-theme=light]{--bg-main: #f5f7f9;--bg-node: #ffffff;--bg-ui: #ffffff;--bg-ui-hover: rgba(139, 92, 246, .08);--bg-card: #f8fafc;--border-subtle: rgba(15, 23, 42, .06);--border-medium: rgba(15, 23, 42, .1);--text-main: #0f172a;--text-subtle: #475569;--text-muted: #94a3b8;--adapter-grid-rgb: 0, 0, 0;--shadow-node: 0 10px 40px -10px rgba(0, 0, 0, .1), 0 0 1px rgba(0, 0, 0, .05);--shadow-ui: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);color-scheme:light}[data-theme=paper]{--bg-main: #f4edd8;--bg-node: #fffdf5;--bg-ui: #faf5e6;--bg-ui-hover: rgba(139, 92, 246, .1);--bg-card: #fffdf5;--border-subtle: rgba(67, 52, 34, .1);--border-medium: rgba(67, 52, 34, .15);--text-main: #433422;--text-subtle: #736b5e;--text-muted: #a39c91;--adapter-grid-rgb: 67, 52, 34;--shadow-node: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-ui: 0 10px 15px -3px rgba(0, 0, 0, .1);color-scheme:light}[data-syntax-theme=monokai]{--syn-comment: #75715e;--syn-punctuation: #f8f8f2;--syn-string: #e6db74;--syn-keyword: #f92672;--syn-function: #a6e22e;--syn-operator: #f8f8f2;--syn-property: #66d9ef;--syn-regex: #fd971f}[data-syntax-theme=nord]{--syn-comment: #616e88;--syn-punctuation: #81a1c1;--syn-string: #a3be8c;--syn-keyword: #81a1c1;--syn-function: #88c0d0;--syn-operator: #81a1c1;--syn-property: #d08770;--syn-regex: #ebcb8b}[data-syntax-theme=solarized]{--syn-comment: #93a1a1;--syn-punctuation: #586e75;--syn-string: #2aa198;--syn-keyword: #859900;--syn-function: #268bd2;--syn-operator: #657b83;--syn-property: #b58900;--syn-regex: #cb4b16}[data-syntax-theme=ink]{--syn-comment: #a39c91;--syn-punctuation: #433422;--syn-string: #228b22;--syn-keyword: #a52a2a;--syn-function: #00008b;--syn-operator: #433422;--syn-property: #8b4513;--syn-regex: #ff4500}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-main);min-height:100vh;overflow:hidden}#root{width:100%;height:100vh}.canvas-viewport{width:100vw;height:100vh;background-color:var(--bg-main);position:relative;overflow:hidden;touch-action:none}.canvas-transform-layer{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:0 0;pointer-events:none}.canvas-background-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.canvas-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-position:var(--canvas-x, 0px) var(--canvas-y, 0px);background-size:calc(var(--grid-size) * var(--canvas-scale, 1)) calc(var(--grid-size) * var(--canvas-scale, 1))}.canvas-background.grid{background-image:linear-gradient(rgba(var(--adapter-grid-rgb),var(--grid-opacity)) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--adapter-grid-rgb),var(--grid-opacity)) 1px,transparent 1px)}.canvas-background.dots{background-image:radial-gradient(rgba(var(--adapter-grid-rgb),var(--grid-opacity)) 1px,transparent 1px)}.canvas-background.lines{background-image:linear-gradient(rgba(var(--adapter-grid-rgb),var(--grid-opacity)) 1px,transparent 1px);background-size:100% calc(var(--grid-size) * var(--canvas-scale, 1))}.canvas-svg-layer{position:absolute;top:-50000px;left:-50000px;width:100000px;height:100000px;pointer-events:none;z-index:0;overflow:visible}.connection-path{fill:none;stroke:var(--accent-primary);stroke-width:2px;stroke-linecap:round;transition:all .2s ease;z-index:2;pointer-events:stroke;cursor:pointer}.connection-path:hover{stroke:#fff;stroke-width:4px}.connection-path.selected{stroke:#fff;filter:drop-shadow(0 0 5px var(--accent-primary));z-index:2}.temp-connection{fill:none;stroke:var(--accent-primary);stroke-width:2px;stroke-dasharray:5,5;opacity:.6;z-index:3}.connection-path.powered{stroke:#10b981!important;stroke-width:3px!important;filter:drop-shadow(0 0 6px rgba(16,185,129,.6));stroke-dasharray:12,6;animation:flow-power 1s linear infinite}@keyframes flow-power{0%{stroke-dashoffset:18}to{stroke-dashoffset:0}}@keyframes tooltip-float{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.canvas-node{position:absolute;background:var(--bg-node);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow-node);display:flex;flex-direction:column;transition:box-shadow .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none;width:100%;height:100%;pointer-events:auto;-webkit-font-smoothing:none;-moz-osx-osx-font-smoothing:auto;position:relative;left:0;top:0;transform:none;z-index:auto}.canvas-node:hover{border-color:var(--border-medium)}.canvas-node.selected{border-color:var(--border-medium);box-shadow:0 10px 40px #8b5cf61a}.canvas-node.active{border-color:#10b981!important;box-shadow:0 0 0 3px #10b9814d,0 0 20px #10b98166!important;animation:pulse-active 1s ease-in-out infinite}@keyframes pulse-active{0%,to{box-shadow:0 0 0 3px #10b9814d,0 0 20px #10b98166}50%{box-shadow:0 0 0 5px #10b98180,0 0 30px #10b98199}}.canvas-node.selected:after{display:none}.node-header{padding:12px 16px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;cursor:move;background:#ffffff08;border-radius:16px 16px 0 0}.node-trigger .node-header{background:#22c55e1a;border-bottom-color:#22c55e33}.node-trigger{border-color:#22c55e4d!important}.node-action .node-header{background:#3b82f61a;border-bottom-color:#3b82f633}.node-action{border-color:#3b82f64d!important}.node-logic .node-header{background:#a855f71a;border-bottom-color:#a855f733}.node-logic{border-color:#a855f74d!important}.node-output .node-header{background:#eab3081a;border-bottom-color:#eab30833}.node-output{border-color:#eab3084d!important}.node-title-container{display:flex;align-items:center}.node-title{font-weight:600;font-size:.9rem;letter-spacing:.02em}.node-content{padding:16px;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-main);overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.node-logic,.node-logic .node-content,.node-action,.node-action .node-content{overflow:visible!important}.node-logic .node-header{border-top-left-radius:inherit;border-top-right-radius:inherit}.button-node .node-content,.decision-node .node-content,.assignment-node .node-content{padding:0}.node-content pre,.node-content textarea,.node-content code{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;margin:0;padding:0;border:none;outline:none}.node-content pre{overflow:auto;flex:1;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;-webkit-user-select:none;user-select:none}.code-editor-textarea,.text-node-input{width:100%;height:100%;background:transparent;color:var(--text-main);resize:none;flex:1;display:block}.node-content code{color:inherit;display:block}.uri-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);font-size:11px;color:var(--accent-primary);opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.uri-footer i{font-size:14px}.sync-btn{margin-left:auto;padding:4px 8px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:var(--accent-primary);cursor:pointer;transition:all .2s;font-size:.875rem}.sync-btn:hover{background:#8b5cf633;border-color:var(--accent-primary);transform:scale(1.05)}.sync-btn i{display:block}.line-numbers{display:flex;flex-direction:column;padding-right:12px;margin-right:12px;border-right:1px solid var(--border-subtle);text-align:right;color:var(--text-muted);-webkit-user-select:none;user-select:none}.line-numbers span{font-size:11px}.button-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:16px;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;color:#fff;font-weight:700}.button-node-content.off{background:#ef4444;box-shadow:0 4px 6px #0003}.button-node-content.on{background:#22c55e;box-shadow:inset 0 2px 4px #0003;transform:translateY(2px)}.lamp-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.lamp-bulb{width:80px;height:80px;border-radius:50%;transition:all .2s ease;border:4px solid #1f2937;background:#374151;box-shadow:inset 0 4px 8px #00000080}.lamp-bulb.on{background:#fbbf24;box-shadow:0 0 30px #fbbf24}.delay-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#374151;border-radius:8px;flex-direction:column;gap:4px;color:#d1d5db;border:2px solid transparent}.delay-node-content.active{color:#4ade80;border-color:#4ade80}.delay-icon{font-size:24px}.delay-text{font-size:12px;font-weight:500}.variable-node-content{width:100%;height:100%;padding:10px;display:flex;flex-direction:column;gap:8px;background:#3b82f60d;border-radius:0 0 8px 8px;border:1px solid rgba(59,130,246,.1)}.variable-row{display:flex;align-items:center;gap:8px;position:relative;overflow:visible}.variable-label{color:#9ca3af;font-size:12px;min-width:40px}.variable-input{flex:1;background:#374151;border:1px solid #4b5563;border-radius:4px;color:#e5e7eb;padding:4px 8px;font-size:13px;outline:none}.runtime-value-container{margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);color:#4ade80;font-size:11px;font-weight:700;display:flex;justify-content:space-between}.assignment-node-content{width:100%;height:100%;padding:6px;display:flex;flex-direction:column;background:#3b82f60d;border-radius:16px;gap:8px;border:1px solid rgba(59,130,246,.1);justify-content:center}.assignment-row{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}.assignment-input-var{width:100%;background:#374151;border:1px solid #4b5563;border-radius:4px;color:#e5e7eb;padding:6px;text-align:left}.assignment-separator{color:#60a5fa;font-weight:700;font-size:14px;text-align:center;margin:-2px 0}.assignment-input-expr{width:100%;background:#374151;border:1px solid #4b5563;border-radius:4px;color:#f3f4f6;padding:6px}.decision-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;cursor:move}.decision-diamond{background:#7c3aed0d;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;transition:all .3s ease;border:1px solid rgba(168,85,247,.2);filter:drop-shadow(0 0 10px rgba(168,85,247,.1))}.decision-diamond.active{background:#4ade8033;filter:drop-shadow(0 0 15px rgba(74,222,128,.4))}.decision-inner{display:flex;flex-direction:column;align-items:center;gap:4px;width:80%}.decision-input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.1);color:#e5e7eb;text-align:center;font-size:14px;font-weight:500;outline:none}.decision-runtime-result{font-size:10px;font-weight:700;text-transform:uppercase;margin-top:2px}.decision-runtime-result.true{color:#4ade80}.decision-runtime-result.false{color:#ef4444}.decision-badge{position:absolute;font-size:10px;font-weight:700;color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0006;border:1px solid rgba(255,255,255,.2);z-index:10}.decision-badge-f{right:-8px;top:50%;transform:translateY(-50%);background:#ef4444}.decision-badge-t{bottom:-8px;left:50%;transform:translate(-50%);background:#4ade80}.condition-node-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;cursor:move}.condition-grid{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;height:100%;padding:20px;background:#7c3aed0d;border:1px solid rgba(168,85,247,.2);border-radius:20px;position:relative;justify-content:center;overflow:visible}.condition-row{display:flex;align-items:center;gap:4px;width:100%;overflow:visible}.condition-slot{flex:1;background:#374151;border:1px dashed #4b5563;border-radius:8px;padding:4px;overflow:visible}.condition-input{width:100%;background:transparent;border:none;color:#e5e7eb;font-size:13px;text-align:center;outline:none}.condition-operator{background:#1f2937;border:1px solid #4b5563;color:#a78bfa;border-radius:4px;font-size:14px;font-weight:700;padding:4px;cursor:pointer;outline:none}.condition-active-tint{position:absolute;inset:0;background:#4ade801a;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease}.condition-grid.active .condition-active-tint{opacity:1}.condition-badge{position:absolute;font-size:10px;font-weight:700;color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0006;border:1px solid rgba(255,255,255,.2);z-index:10}.condition-badge-f{right:-8px;top:50%;transform:translateY(-50%);background:#ef4444}.condition-badge-t{bottom:-8px;left:50%;transform:translate(-50%);background:#4ade80}.logic-suggestions-dropdown{position:absolute;top:100%;left:0;width:200px;background:#1f2937f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 10px 25px #00000080;z-index:1000;margin-top:4px;overflow:hidden;animation:fadeInScale .2s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.suggestion-item{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .1s ease;border-bottom:1px solid rgba(255,255,255,.05)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#a78bfa33}.suggestion-label{color:#e5e7eb;font-size:13px;font-weight:600}.suggestion-desc{color:#9ca3af;font-size:10px;opacity:.8}.suggestion-hint{padding:10px 12px;font-size:11px;color:#93c5fd;background:#1e3a8a33;display:flex;align-items:center;gap:8px;font-style:italic;line-height:1.4}.suggestion-hint i{font-size:14px;color:#60a5fa}.guide-node-content{padding:15px;height:100%;display:flex;flex-direction:column;gap:12px;background:#10182766;border-radius:16px}.guide-header{font-size:14px;font-weight:700;color:#a78bfa;display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(167,139,250,.2)}.guide-scrollable{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;padding-right:5px}.guide-scrollable::-webkit-scrollbar{width:4px}.guide-scrollable::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:2px}.guide-item{padding:8px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.guide-var{font-family:var(--font-mono);color:#4ade80;font-size:12px;font-weight:600}.guide-desc{font-size:11px;color:#9ca3af;margin-top:2px}.guide-values{font-size:10px;color:#6366f1;margin-top:4px;font-style:italic}.guide-divider{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#4b5563;padding-top:5px}.guide-note{font-size:10px;color:#9ca3af;opacity:.7;line-height:1.4}.chip-node{border-radius:999px!important;background:linear-gradient(135deg,#3b82f633,#2563eb66)!important;border:1px solid rgba(59,130,246,.5)!important;box-shadow:0 4px 12px #0000004d;min-height:unset!important}.chip-node .node-content{padding:0 12px;height:100%;display:flex;align-items:center;justify-content:center;cursor:grab}.chip-node .node-content:active{cursor:grabbing}.chip-label{font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.chip-icon{font-size:14px;color:#93c5fd}.image-node-content{width:100%;height:100%}.image-node-content img{width:100%;height:100%;object-fit:cover;border-radius:0 0 16px 16px}.iframe-node-content{width:100%;height:100%;position:relative;padding:0}.iframe-node-content iframe{width:100%;height:100%;border:none;pointer-events:auto;background:#fff;border-radius:0 0 16px 16px}.lamp-node{border-color:#eab30866!important}.lamp-node .node-header{background:#eab3081a}.decision-node{background:transparent!important;border:none!important;box-shadow:none!important}.decision-node.selected:before{content:"";position:absolute;inset:-8px;border:2px dashed var(--accent-primary);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);pointer-events:none}.button-node{border-color:#22c55e66!important;background:transparent!important;border:none!important;box-shadow:none!important}.text-node{border-left:4px solid #fcd34d!important}.text-node-input{width:100%;height:100%;background:transparent;border:none;color:#e2e8f0;font-family:inherit;font-size:.875rem;line-height:1.5;resize:none;padding:12px;outline:none}.text-node-input::placeholder{color:#4b5563}.node-header-icon{margin-right:8px}.file-icon{color:#a78bfa}.text-icon{color:#fcd34d}.status-container{display:flex;align-items:center;gap:6px}.node-status-text{font-size:.75rem;font-weight:500;opacity:.8}.node-status-icon{font-size:1rem}.node-content-flex{display:flex;flex:1;min-width:0}.node-empty-content{padding:20px;color:#6b7280;font-size:.875rem;text-align:center;width:100%}.node-empty-icon{display:block;font-size:1.5rem;margin-bottom:8px}.sync-btn-request{margin-left:4px;color:#94a3b8}.sync-btn-save{margin-left:4px;color:#10b981}.pill-input-outer{flex:1;background:#374151;border:1px solid #4b5563;border-radius:4px;display:flex;align-items:center;padding:2px 4px;gap:4px;min-height:28px;transition:border-color .2s;overflow:hidden}.pill-input-outer:focus-within{border-color:#a78bfa;box-shadow:0 0 0 1px #a78bfa4d}.breadcrumb-pill{background:#4f46e5;color:#fff;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap;transition:background .2s}.breadcrumb-pill:hover{background:#4338ca}.pill-close{font-size:14px;opacity:.8}.pill-input-field{flex:1;background:transparent!important;border:none!important;color:#e5e7eb;padding:2px 4px!important;font-size:13px;outline:none;min-width:20px}.suggestion-item.selected{background:#a78bfa33}.handle.is-checkpoint{background:#10b981!important;border:2px solid white!important;width:14px!important;height:14px!important;border-radius:4px!important;transform:translate(-50%,-50%) rotate(45deg);z-index:20;box-shadow:0 0 10px #10b98180}.handle.is-checkpoint:hover{background:#34d399!important;transform:translate(-50%,-50%) rotate(45deg) scale(1.2)}.handle.is-output{background:#3b82f6!important;border:2px solid white!important;width:14px!important;height:14px!important;border-radius:50%!important;z-index:20;box-shadow:0 0 10px #3b82f680}.handle.is-output:hover{background:#60a5fa!important;transform:translate(-50%,-50%) scale(1.2)}.no-header-move-point{position:absolute;top:-35px;left:24px;width:24px;height:24px;background:#374151;color:#9ca3af;border:1px solid #4b5563;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:move;font-size:16px;line-height:1;z-index:50;opacity:0;transition:opacity .2s}.canvas-node:hover .no-header-move-point,.canvas-node.selected .no-header-move-point{opacity:1}.no-header-move-point:hover{background:#4b5563;color:#fff}.canvas-node.image-node{background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible!important;min-width:1px!important;min-height:1px!important}.canvas-node.image-node.selected{background:transparent;border-color:transparent;box-shadow:none}.image-node .node-header{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);width:auto;min-width:120px;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;border:1px solid rgba(255,255,255,.1);z-index:100;padding:6px 12px;margin-top:8px;color:#fff;justify-content:center;gap:8px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}.image-node .node-header .node-title{color:#fffffff2;font-size:.8rem;font-weight:500}.image-node .node-header .node-header-icon{color:#fffc;margin-right:0}.image-node .node-header .status-container{margin-left:0}.image-node .node-header .node-status-text{color:#ffffffb3!important}.image-node:hover .node-header,.image-node.selected .node-header{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto;transition:opacity .2s ease,transform .2s ease,visibility 0s linear 0s}.image-node .node-content{padding:0!important;background:transparent;overflow:hidden;display:flex;border-radius:12px}.image-node-content{flex:1;display:flex;justify-content:center;align-items:center;background:transparent;width:100%;height:100%}.image-node-content img{width:100%;height:100%;object-fit:fill;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;border-radius:12px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}.node-content pre[class*=language-]{background:transparent!important;padding:0!important;margin:0!important;text-shadow:none!important}.node-content code[class*=language-]{background:transparent!important;text-shadow:none!important;font-family:var(--font-mono)!important;color:var(--text-main)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--syn-comment)}.token.punctuation{color:var(--syn-punctuation)}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:var(--syn-property)}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--syn-string)}.token.operator,.token.entity,.token.url{color:var(--syn-operator)}.token.atrule,.token.attr-value,.token.keyword{color:var(--syn-keyword)}.token.function,.token.class-name{color:var(--syn-function)}.token.regex,.token.important,.token.variable{color:var(--syn-regex)}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.word-handle,.token[data-handle-id]{position:relative;border-radius:3px;cursor:crosshair!important;transition:all .1s ease;display:inline-block;z-index:10}.word-handle:hover,.token[data-handle-id]:hover{background:#8b5cf666!important;color:#fff!important;box-shadow:0 0 8px #8b5cf680;z-index:20}.word-handle:after,.token[data-handle-id]:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent-primary);opacity:.3}.canvas-controls{position:fixed;bottom:24px;left:24px;display:flex;flex-direction:column;gap:8px;z-index:2000}.control-btn{width:44px;height:44px;border-radius:12px;background:var(--bg-ui);border:1px solid var(--border-subtle);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.control-btn:hover{background:var(--bg-ui-hover);transform:translateY(-2px)}.glass-container{background:var(--bg-ui);border:1px solid var(--border-subtle);border-radius:24px}.gradient-text{background:linear-gradient(135deg,var(--text-main) 0%,var(--text-subtle) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.accent-text{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.main-toolbar{position:fixed;bottom:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px;border-radius:20px;background:var(--bg-ui);border:1px solid var(--border-subtle);box-shadow:var(--shadow-ui);z-index:2000}.secondary-toolbar{position:fixed;bottom:60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px;border-radius:16px;background:var(--bg-ui);border:1px solid var(--border-subtle);box-shadow:var(--shadow-ui);z-index:1999;animation:slideUpFade .2s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.toolbar-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:none;background:transparent;color:var(--text-subtle);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1.25rem;z-index:1000}.toolbar-btn:hover{background:var(--bg-ui-hover);color:var(--text-main);transform:translateY(-2px)}.toolbar-btn.primary{background:var(--accent-primary);color:#fff}.top-right-controls{position:fixed;top:24px;right:24px;z-index:2000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.toolbar-btn.primary:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf666}.toolbar-btn.danger:hover{background:#ef444433;color:#ef4444;border-color:#ef444480}.toolbar-btn.active{background:#8b5cf633;color:var(--accent-primary);border:1px solid rgba(139,92,246,.3)}.toolbar-divider{width:1px;height:24px;background:var(--border-subtle);margin:0 4px}.toolbar-group{display:flex;align-items:center;gap:6px;padding:0 8px}.color-swatch-btn{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s;padding:0}.color-swatch-btn:hover{transform:scale(1.2);border-color:#fff}.toolbar-select{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.8rem;padding:4px 8px;outline:none;cursor:pointer}.toolbar-select:hover{background:#ffffff1a}.toolbar-select option{background:#1e1e24;color:#fff}.properties-toolbar{position:fixed;top:50%;right:24px;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:20px;background:var(--bg-ui);border:1px solid var(--border-subtle);box-shadow:var(--shadow-ui);z-index:2000;animation:slideInRight .3s cubic-bezier(.16,1,.3,1);min-width:60px;align-items:center}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.properties-header{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;writing-mode:vertical-lr;rotate:180deg;padding:8px 0}.properties-toolbar .toolbar-group{flex-direction:column;gap:10px;padding:4px 0}.properties-toolbar .toolbar-divider{width:24px;height:1px;margin:4px 0;background:var(--border-subtle)}.properties-toolbar .color-swatch-btn{width:24px;height:24px}.properties-toolbar .toolbar-select{width:100%;text-align:center;padding:4px 2px;font-size:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff}.mirrored-icon{transform:scaleX(-1);display:inline-block}::selection{background:var(--accent-primary);color:#fff}.canvas-info-glass{position:fixed;top:24px;left:60px;padding:12px 20px;color:#a78bfa;font-size:.875rem;font-weight:500;pointer-events:none;z-index:100}.pointer-auto{pointer-events:auto}.flex-between{display:flex;justify-content:space-between}.divider-horizontal{margin:4px 0;width:100%;height:1px}.flex-wrap{flex-wrap:wrap}.theme-preview-box{width:12px;height:12px;border-radius:2px}.properties-toolbar input[type=range]{-webkit-appearance:none;width:80px;height:4px;background:var(--border-medium);border-radius:2px;outline:none;cursor:pointer}.properties-toolbar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-card);transition:transform .2s}.properties-toolbar input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.property-popup-content{background:var(--bg-ui);border:1px solid var(--border-subtle);box-shadow:var(--shadow-ui);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px;min-width:180px;animation:fadeIn .15s ease}.popup-header{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.color-swatch-btn{width:24px;height:24px;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;position:relative}.color-swatch-btn:hover{transform:scale(1.1);z-index:1}.color-swatch-btn.active-selection{border-color:#fff;box-shadow:0 0 0 1px var(--border-subtle),inset 0 0 0 1px #0003}.popup-divider{height:1px;background:var(--border-subtle);width:100%;margin:2px 0}.slider-container{display:flex;flex-direction:column;gap:8px}.slider-container input[type=range]{width:100%;cursor:pointer;accent-color:var(--accent-primary)}.slider-value{font-size:.8rem;color:var(--text-subtle);text-align:center;font-family:var(--font-mono)}.custom-color-row{display:flex;flex-direction:column;gap:6px}.custom-color-row label{font-size:.7rem;color:var(--text-subtle)}.color-input-wrapper{height:32px;width:100%;border:1px solid var(--border-medium);border-radius:6px;overflow:hidden;cursor:pointer}.color-input-wrapper input[type=color]{width:200%;height:200%;transform:translate(-25%,-25%);padding:0;border:none;cursor:pointer;background:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sidebar-container{position:fixed;top:0;left:0;bottom:0;z-index:2200;display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar{width:280px;background:var(--bg-ui);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:24px 16px;box-shadow:10px 0 30px #0000001a}.sidebar-collapsed{transform:translate(-280px)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:0 8px}.sidebar-title{font-size:1.1rem;font-weight:700;color:var(--text-main);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.sidebar-tab{position:absolute;left:100%;top:24px;width:44px;height:44px;background:var(--bg-ui);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-left:none;border-radius:0 12px 12px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-main);box-shadow:4px 0 15px #0000000d;transition:all .2s}.sidebar-tab:hover{background:var(--bg-ui-hover);padding-left:4px}.project-list-container{flex:1;overflow-y:auto;margin-bottom:24px}.sidebar-project-item{width:100%;padding:14px 16px;border-radius:12px;margin-bottom:6px;display:flex;flex-direction:column;gap:4px;transition:all .2s;background:transparent;border:1px solid transparent;cursor:pointer;text-align:left}.sidebar-project-item:hover{background:var(--bg-ui-hover)}.sidebar-project-item.active{background:#8b5cf61a;border-color:#8b5cf64d}.project-item-name{font-weight:600;font-size:.95rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item-meta{font-size:.75rem;color:var(--text-subtle);display:flex;align-items:center;gap:4px}.create-project-btn{width:100%;padding:12px;background:var(--accent-primary);color:#fff;border:none;border-radius:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #8b5cf64d}.create-project-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.sidebar-project-item input{background:transparent;border:1px solid var(--accent-primary);border-radius:4px;color:var(--text-main);font-size:.95rem;font-weight:600;width:100%;padding:2px 4px;outline:none}.project-item-header{display:flex;justify-content:space-between;align-items:center}.project-item-actions{display:flex;gap:4px}.project-action-btn{width:24px;height:24px;font-size:.8rem}.sidebar-label{padding-left:0;margin-bottom:12px}.settings-menu{background:var(--bg-ui);border:1px solid var(--border-subtle);border-radius:12px;padding:8px;min-width:180px;box-shadow:var(--shadow-ui);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-group{margin-bottom:12px}.settings-row{display:flex;gap:6px;padding:4px 8px}.settings-label{font-size:.75rem;color:var(--text-subtle);padding:4px 8px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.settings-item{padding:8px 12px;display:flex;align-items:center;gap:10px;background:transparent;border:none;color:var(--text-main);font-size:.875rem;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.settings-item.compact{flex:1;flex-direction:column;gap:6px;padding:10px 4px;text-align:center;justify-content:center;font-size:.7rem}.settings-item.compact i{font-size:1.25rem}.settings-item:hover{background:var(--bg-ui-hover);color:var(--text-main)}.settings-item.active{background:#8b5cf633;color:#8b5cf6}.settings-item i{font-size:1.1rem}.settings-slider-container{padding:8px 12px}.settings-slider{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none;margin:12px 0 8px}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-primary);border-radius:50%;cursor:pointer;transition:all .2s;box-shadow:0 0 10px #8b5cf666}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:#fff}.object-wrapper{position:absolute;pointer-events:auto;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto}.object-content{position:relative;z-index:1}.handle{width:10px;height:10px;background-color:var(--accent-primary);border-radius:50%;position:absolute;z-index:100;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 0 2px #0d1117cc;transform:scale(0);pointer-events:auto}.handle:hover{transform:scale(1.5)!important;background:#fff;box-shadow:0 0 10px var(--accent-primary)}.resize-sq{border-radius:2px!important;background-color:#fff!important;border:1px solid var(--accent-primary)}.handle-top-left{left:0;top:0;transform:translate(-50%,-50%) scale(0);cursor:nwse-resize}.handle-top-right{right:0;top:0;transform:translate(50%,-50%) scale(0);cursor:nesw-resize}.handle-bottom-left{left:0;bottom:0;transform:translate(-50%,50%) scale(0);cursor:nesw-resize}.handle-bottom-right{right:0;bottom:0;transform:translate(50%,50%) scale(0);cursor:nwse-resize}.handle-top-mid{left:50%;top:0;transform:translate(-50%,-50%) scale(0);cursor:crosshair}.handle-bottom-mid{left:50%;bottom:0;transform:translate(-50%,50%) scale(0);cursor:crosshair}.handle-left-mid{left:0;top:50%;transform:translate(-50%,-50%) scale(0);cursor:crosshair}.handle-right-mid{right:0;top:50%;transform:translate(50%,-50%) scale(0);cursor:crosshair}.handle-rotate{background:var(--bg-card);border:2px solid var(--accent-primary);cursor:alias;transform:translate(-50%,-50%) scale(0)}.object-wrapper.selected .handle-top-left,.object-wrapper:hover .handle-top-left{transform:translate(-50%,-50%) scale(1)}.object-wrapper.selected .handle-top-right,.object-wrapper:hover .handle-top-right{transform:translate(50%,-50%) scale(1)}.object-wrapper.selected .handle-bottom-left,.object-wrapper:hover .handle-bottom-left{transform:translate(-50%,50%) scale(1)}.object-wrapper.selected .handle-bottom-right,.object-wrapper:hover .handle-bottom-right{transform:translate(50%,50%) scale(1)}.object-wrapper.selected .handle-rotate,.object-wrapper:hover .handle-rotate,.object-wrapper.selected .handle-top-mid,.object-wrapper:hover .handle-top-mid,.object-wrapper.linking .handle-top-mid{transform:translate(-50%,-50%) scale(1)}.object-wrapper.selected .handle-bottom-mid,.object-wrapper:hover .handle-bottom-mid,.object-wrapper.linking .handle-bottom-mid{transform:translate(-50%,50%) scale(1)}.object-wrapper.selected .handle-left-mid,.object-wrapper:hover .handle-left-mid,.object-wrapper.linking .handle-left-mid{transform:translate(-50%,-50%) scale(1)}.object-wrapper.selected .handle-right-mid,.object-wrapper:hover .handle-right-mid,.object-wrapper.linking .handle-right-mid{transform:translate(50%,-50%) scale(1)}
