:root{--font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--font-synthesis: none;--text-rendering: optimizeLegibility;--webkit-font-smoothing: antialiased;--moz-osx-font-smoothing: grayscale;--webkit-text-size-adjust: 100%;--bg-color: #1a1a1a;--sidebar-bg: #242424;--workspace-bg: #1e1e1e;--item-bg: #3c3c3c;--item-border: #6a6a6a;--text-color: rgba(255, 255, 255, .87);--accent-color-blue: #646cff;--accent-color-green: #42b883;--accent-color-orange: #ff7f50;--grid-color: #313131;--connector-color: #ffffff}body{margin:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#718096;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0aec0}.workspace-item-content{width:100%;height:100%;display:flex;flex-direction:column;border-radius:8px;-webkit-user-select:none;user-select:none;background-color:#4a5568;position:relative}.workspace-item-content.selected{outline:2px solid #63b3ed}.color-box-wrapper.selected{outline:2px solid var(--box-color, #63b3ed);box-shadow:0 0 8px var(--box-color, #63b3ed)}.delete-item-btn{position:absolute;top:-10px;right:-10px;width:24px;height:24px;background-color:#e53e3e;color:#fff;border:2px solid #2d3748;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1;z-index:10;padding:0;box-shadow:0 2px 4px #0000004d}.delete-item-btn:hover{background-color:#c53030}.item-header{background-color:#2d3748;padding:4px 8px;font-weight:700;text-align:center;flex-shrink:0;height:22px;display:flex;align-items:center;justify-content:center;cursor:move}.color-box-draggable-header{position:absolute;top:-2px;left:-2px;padding:4px 8px;border-top-left-radius:6px;border-bottom-right-radius:6px;cursor:move;color:#fff;font-weight:700;-webkit-user-select:none;user-select:none;z-index:1;min-width:10px;min-height:10px}.color-box-label-input{background:transparent;border:none;color:#fff;font-family:inherit;font-size:inherit;font-weight:inherit;outline:1px dotted white;padding:0;margin:0;border-radius:2px}.color-box-content-wrapper{position:absolute;inset:28px 0 0;padding:8px;box-sizing:border-box}.color-box-notes-area{width:100%;height:100%;background:transparent;border:none;resize:none;color:#fff;font-family:inherit;font-size:.9em;outline:none}.item-body{flex-grow:1;padding:8px;display:flex;overflow:auto;position:relative}.item-connectors-bar{display:flex;justify-content:space-between;padding:8px 0;background-color:#3a4454;min-height:28px;box-sizing:border-box;flex-shrink:0;border-top:1px solid #2d3748;border-bottom:1px solid #2d3748}.connectors-spacer{flex-grow:1;display:flex;justify-content:center;align-items:center;min-width:0}.item-icon{width:144px;height:144px;object-fit:contain}.connectors-column{display:flex;flex-direction:column;justify-content:space-around;flex:1}.connector-wrapper{display:flex;align-items:center;gap:6px;position:relative}.connector{width:12px;height:12px;background-color:#9f7aea;border:1px solid #d6bcfa;border-radius:50%;cursor:crosshair;flex-shrink:0;position:absolute;top:50%;transform:translateY(-50%);z-index:2;transition:transform .1s ease-in-out;pointer-events:all}.connector:hover{transform:translateY(-50%) scale(1.2)}.connector-label{font-size:.8em;white-space:nowrap;pointer-events:none}.connectors-column.inputs .connector-wrapper{padding-left:14px}.connectors-column.inputs .connector{left:-6px}.connectors-column.outputs .connector-wrapper{flex-direction:row-reverse;padding-right:14px}.connectors-column.outputs .connector{right:-6px}.item-form-container{display:flex;flex-direction:column;gap:8px;padding:8px;width:100%;box-sizing:border-box}.form-row{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.85em}.form-row label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.item-form-container.scrollable{overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:10px;width:100%;box-sizing:border-box}.form-section{display:flex;flex-direction:column;gap:4px}.form-section.horizontal{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.form-section>label{font-size:.8em;font-weight:700;opacity:.8}.form-section input[type=text],.form-section input[type=number],.form-section input[type=checkbox],.form-section textarea,.form-section select{width:100%;background-color:#2d3748;color:#fff;border:1px solid #4a5568;border-radius:4px;padding:6px;box-sizing:border-box;font-size:.9em}.form-section input[type=checkbox]{width:auto}.form-section textarea{resize:vertical;min-height:40px}.item-body input[type=number]{-moz-appearance:textfield}.item-body input[type=number]::-webkit-outer-spin-button,.item-body input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.list-item-editor{display:flex;gap:4px;align-items:center;margin-bottom:4px}.list-item-editor input{flex-grow:1}.add-btn,.remove-btn{background-color:#38a169;color:#fff;border:none;border-radius:4px;cursor:pointer;padding:4px 8px;font-weight:700}.remove-btn{background-color:#e53e3e;flex-shrink:0;width:26px}.add-btn{align-self:flex-start;margin-top:4px}.override-group-wrapper{border:none;box-shadow:none;background:none}.override-group-content{background-color:#667eaa26;border:2px dashed #a0aec0}.override-group-content.selected{border-style:solid;border-color:#63b3ed;outline:none}.override-group-content .item-header{background-color:#a0aec04d}.override-group-content .item-body{padding-top:20px}.override-group-content .item-connectors-bar{position:absolute;top:30px;left:0;right:0;width:100%;background-color:transparent;border:none;padding:0;z-index:2}.override-group-content .connectors-spacer{pointer-events:none}.override-group-content .connectors-column{background-color:#3a4454cc;padding:8px 0}.override-group-content .connectors-column.inputs{border-right:1px solid #2d3748;border-bottom:1px solid #2d3748;border-radius:0 0 8px}.override-group-content .connectors-column.outputs{border-left:1px solid #2d3748;border-bottom:1px solid #2d3748;border-radius:0 0 0 8px}.sidebar{width:0;background-color:#1a202c;border-right:1px solid #4a5568;padding:0;flex-shrink:0;display:flex;flex-direction:column;height:100vh;box-sizing:border-box;overflow:hidden;transition:width .3s ease;white-space:nowrap;z-index:100}.sidebar.open{width:250px}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid #4a5568;flex-shrink:0}.sidebar-header img{height:32px;width:32px}.sidebar-header h1{margin:0;font-size:1.5rem;font-weight:600}.sidebar-items{flex:1;overflow-y:auto;min-height:0;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar-item{padding:.75rem;background-color:#2d3748;border:1px solid #4a5568;border-radius:4px;cursor:grab;text-align:center;-webkit-user-select:none;user-select:none;font-weight:500;transition:background-color .2s ease,border-color .2s ease}.sidebar-item:hover{background-color:#4a5568;border-color:#63b3ed}.sidebar-item:active{cursor:grabbing}.lsio-button,.add-container-button{cursor:pointer;font-weight:700;font-size:1rem}.lsio-button{background-color:#3b82f6;border-color:#60a5fa;color:#fff}.lsio-button:hover{background-color:#60a5fa}.add-container-button{background-color:transparent;border:1px solid #3b82f6;color:#fff;margin-bottom:1rem}.add-container-button:hover{background-color:#3b82f633;border-color:#60a5fa}.sidebar details{display:flex;flex-direction:column;gap:.5rem}.sidebar summary{font-weight:700;cursor:pointer;padding:.5rem;border-radius:4px;background-color:#2d374833;list-style:none;position:relative;padding-left:24px}.sidebar summary:before{content:"▶";position:absolute;left:8px;top:50%;font-size:.8em;transform:translateY(-50%) rotate(0);transition:transform .2s ease}.sidebar details[open]>summary:before{transform:translateY(-50%) rotate(90deg)}.sidebar summary::-webkit-details-marker{display:none}.sidebar-group{display:flex;flex-direction:column;gap:.5rem;padding-left:.5rem}.workspace{flex-grow:1;position:relative;overflow:hidden;cursor:grab;background-color:#282c34;touch-action:none;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);--connection-stroke-color: #a0aec0}.workspace:active{cursor:grabbing}.workspace-canvas{position:absolute;top:0;left:0;transform-origin:0 0}.workspace-item{position:absolute;border:1px solid #718096;border-radius:8px;box-shadow:0 4px 6px #0000004d;display:flex;z-index:1;cursor:default}.resize-handle{position:absolute;bottom:-5px;right:-5px;width:10px;height:10px;background-color:#cbd5e0;border:1px solid #a0aec0;cursor:nwse-resize;border-radius:50%;z-index:2}.drag-ghost{position:absolute;z-index:1000;opacity:.7;border:2px dashed #63b3ed;border-radius:8px;pointer-events:none}.connections-svg{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:0}.connection-group{pointer-events:all;cursor:pointer}.connection-path{stroke:var(--connection-stroke-color);stroke-width:2;fill:none;transition:stroke .2s ease-in-out}.connection-path.selected{stroke:#63b3ed;stroke-width:3}.connection-path-interactive{stroke:transparent;stroke-width:10;fill:none}.linking-path{stroke:#63b3ed;stroke-width:2;stroke-dasharray:5,5;fill:none}.workspace-buttons-top-right{position:absolute;top:20px;right:20px;z-index:10;display:flex;flex-direction:row;gap:10px}.workspace-buttons-bottom-right{position:absolute;bottom:20px;right:20px;z-index:10;display:flex;flex-direction:row;gap:10px}.workspace-button{width:50px;height:50px;background-color:#4a5568;border:1px solid #718096;border-radius:25px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 4px 6px #0000004d;transition:background-color .2s ease}.workspace-button img{width:24px;height:24px}.workspace-button[title*=Upload]:hover{background-color:#38a169}.workspace-button[title*=Clear]:hover{background-color:#e53e3e}.workspace-button[title*=Paint]:hover{background-color:#63b3ed}.workspace-button[title*=Compose]:hover{background-color:#0db7ed}.color-picker-container{position:fixed;display:flex;flex-wrap:wrap;width:184px;background-color:#2d3748;border:1px solid #718096;border-radius:8px;padding:8px;z-index:20;box-shadow:0 4px 12px #00000080}.color-picker-swatch{width:24px;height:24px;border-radius:50%;margin:4px;cursor:pointer;border:2px solid transparent;transition:border-color .2s ease}.color-picker-swatch:hover{border-color:#fff}.paint-ghost{position:absolute;z-index:1000;opacity:.7;border-radius:8px;pointer-events:none}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;color:#fff}.modal-content{background-color:#2d3748;padding:20px;border-radius:8px;box-shadow:0 5px 15px #00000080;width:90%;max-width:500px;border:1px solid #4a5568}.modal-content.large{width:80vw;height:80vh;max-width:1200px;max-height:900px;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-title-container{display:flex;align-items:center;gap:12px}.modal-header-icon{width:32px;height:32px}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1}.modal-body{flex-grow:1;overflow:hidden;display:flex;margin-bottom:20px;line-height:1.5}.modal-body.scrollable{overflow-y:auto;padding-right:10px}.compose-content{flex-grow:1;background-color:#1a202c;color:#e2e8f0;padding:15px;border-radius:6px;overflow-x:hidden;overflow-y:auto;font-family:Courier New,Courier,monospace;font-size:.9em;white-space:pre-wrap;word-break:break-all;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.modal-button{border:none;border-radius:5px;padding:10px 20px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease}.modal-button.cancel{background-color:#4a5568;color:#fff}.modal-button.cancel:hover{background-color:#718096}.modal-button.confirm{background-color:#c53030;color:#fff}.modal-button.confirm:hover{background-color:#e53e3e}.modal-content.large .modal-footer .modal-button{background-color:#4a5568;color:#fff}.modal-content.large .modal-footer .modal-button:hover{background-color:#718096}.modal-content.large .modal-footer .modal-button.confirm{background-color:#38a169}.modal-content.large .modal-footer .modal-button.confirm:hover{background-color:#48bb78}.lsio-modal-panel{position:fixed;top:0;left:var(--sidebar-width, 250px);width:30%;max-width:450px;min-width:300px;height:100vh;background-color:#1a202c;border-right:1px solid #4a5568;box-shadow:5px 0 15px #0000004d;display:flex;flex-direction:column;color:#fff;z-index:101;transition:left .3s ease}.lsio-modal-header{padding:1rem;border-bottom:1px solid #4a5568;flex-shrink:0;position:relative}.lsio-modal-close-btn{position:absolute;top:10px;right:15px;font-size:1.75rem;font-weight:700;line-height:1;color:#a0aec0;cursor:pointer;transition:color .2s ease}.lsio-modal-close-btn:hover{color:#fff}.lsio-modal-header h3{margin:0 0 .75rem;text-align:center}.lsio-search-bar{width:100%;padding:.5rem;background-color:#2d3748;border:1px solid #4a5568;border-radius:4px;color:#fff;font-size:1rem;box-sizing:border-box}.lsio-grid{flex-grow:1;overflow-y:auto;padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;align-content:start}.lsio-grid-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:.5rem;background-color:#2d3748;border:1px solid transparent;border-radius:8px;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none}.lsio-grid-item:hover{border-color:#63b3ed;background-color:#4a5568}.lsio-grid-item:active{cursor:grabbing;transform:scale(.95)}.lsio-grid-item img{width:80px;height:80px;object-fit:contain;pointer-events:none}.lsio-grid-item span{font-size:.8rem;word-break:break-word;pointer-events:none}.app-container{display:flex;width:100vw;height:calc(var(--vh, 1vh) * 100);overflow:hidden;background-color:#2d3748;color:#fff;position:relative}.sidebar-toggle{position:absolute;top:50%;left:var(--sidebar-width, 250px);transform:translateY(-50%);width:10px;height:50px;background-color:#87ceeb;border:1px solid #4a5568;border-left:none;border-top-right-radius:10px;border-bottom-right-radius:10px;cursor:pointer;z-index:100;transition:left .3s ease,background-color .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.sidebar-toggle:hover{background-color:#a0d8f0}
