@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}.canvas-node{position:absolute;min-width:300px;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-font-smoothing: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.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}.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-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}.text-node{min-width:200px;min-height:150px;border-left:4px solid #fcd34d!important}.text-node-input{width:100%;height:100%;min-height:100px;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}.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}.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)}
