.uix-node{box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-width:0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}.uix-frame{display:flex;position:relative;min-width:0;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease,border-color .15s ease}.uix-text{display:inline-block;line-height:1.5;min-width:0;overflow-wrap:break-word;word-break:break-word}.uix-text-heading{font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1.3}.uix-text-body{font-size:13px;font-weight:400}.uix-text-caption{font-size:11px;font-weight:400}.uix-text-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.uix-button{display:flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s cubic-bezier(.4,0,.2,1);position:relative;padding:0 12px;color:var(--ui-text-secondary, #4A5162);background:transparent}.uix-button:hover:not(:disabled){background-color:#0000000d}[data-theme=dark] .uix-button:hover:not(:disabled){background-color:#ffffff0f}.uix-button:active:not(:disabled){background-color:#00000014}[data-theme=dark] .uix-button:active:not(:disabled){background-color:#ffffff1a}.uix-button:disabled{opacity:.35;cursor:not-allowed}.uix-variant-tool{flex-direction:column;gap:4px;padding:8px;font-size:12px}.uix-variant-tool .uix-button-label{font-size:11px;font-weight:500}.uix-variant-tool .uix-button-shortcut{position:absolute;top:6px;right:6px;font-size:9px;font-weight:600;color:var(--ui-text-tertiary, #8893A7);background:#0000000d;padding:2px 4px;border-radius:3px}[data-theme=dark] .uix-variant-tool .uix-button-shortcut{color:#ffffff80;background:#ffffff0f}.uix-variant-icon{padding:0}.uix-variant-icon .uix-icon{width:20px;height:20px}.uix-variant-secondary{font-size:12px;padding:0 12px}.uix-variant-toggle{justify-content:space-between;padding:0 12px;font-size:12px}.uix-variant-layer-item{justify-content:flex-start;padding:0;font-size:13px;font-weight:400;width:100%;overflow:hidden}.uix-variant-layer-item>.uix-node{flex-shrink:0}.uix-variant-layer-item>.uix-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uix-variant-primary{background:var(--ui-accent, #5A9A7A);color:#fff;font-weight:600}.uix-variant-primary:hover:not(:disabled){background:var(--ui-accent-hover, #4D8A6C)}.uix-variant-ghost{background:transparent}.uix-variant-ghost:hover:not(:disabled){background:#0000000f}[data-theme=dark] .uix-variant-ghost:hover:not(:disabled){background:#ffffff14}.uix-variant-destructive{background:#e54d4d;color:#fff;font-weight:600}.uix-variant-destructive:hover:not(:disabled){background:#d43d3d}.uix-button-active{background-color:#5a9a7a1f!important;color:#5a9a7a!important}.uix-button-active:hover{background-color:#5a9a7a2e!important}.uix-button-checked .uix-button-check{color:#5a9a7a}.uix-button-disabled{opacity:.35;cursor:not-allowed}.uix-icon{flex-shrink:0}.uix-text.uix-variant-zoom-display{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;min-width:60px;text-align:center;color:var(--ui-text-secondary, #4A5162)}.uix-input{padding:8px 12px;font-size:13px;font-family:inherit;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;color:#0d0f12;transition:all .12s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .uix-input{background:#ffffff0f;border-color:#ffffff24;color:#fff}.uix-input:focus{outline:none;border-color:#5a9a7a;box-shadow:0 0 0 3px #5a9a7a1f}.uix-input::placeholder{color:#8893a7}[data-theme=dark] .uix-input::placeholder{color:#ffffff80}.uix-image{display:block;max-width:100%;height:auto}.uix-text-code{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:12px;font-weight:400;line-height:1.6;white-space:pre-wrap;-moz-tab-size:2;tab-size:2;color:#0d0f12}[data-theme=dark] .uix-text-code{color:#e0e0e0}.uix-input-wrapper{display:flex;flex-direction:column;gap:4px}.uix-input-label{font-size:10px;font-weight:500;color:#8893a7;text-transform:uppercase;letter-spacing:.06em}.uix-list{display:flex;flex-direction:column}.uix-component{display:flex;position:relative}.uix-divider{flex-shrink:0}.uix-icon-node{display:inline-flex;align-items:center;justify-content:center}.uix-avatar,.uix-badge{-webkit-user-select:none;user-select:none}.uix-toggle{flex-shrink:0;cursor:pointer}.uix-checkbox{-webkit-user-select:none;user-select:none;cursor:pointer}.uix-checkbox-box{transition:all .15s}.uix-select{padding:8px 12px;font-size:13px;font-family:inherit;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;color:#0d0f12;transition:all .12s cubic-bezier(.4,0,.2,1);background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23737373' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}[data-theme=dark] .uix-select{background:#ffffff0f;border-color:#ffffff24;color:#fff}.uix-select:focus{outline:none;border-color:#5a9a7a;box-shadow:0 0 0 3px #5a9a7a1f}.uix-card{display:flex;position:relative;overflow:hidden;transition:background-color .15s ease,box-shadow .2s ease,transform .2s ease,border-color .15s ease}.uix-video{background-color:var(--ui-bg-raised, #F4F5F7);color:var(--ui-text-primary, #0D0F12)}.uix-scrollview{display:flex;position:relative;scrollbar-width:thin;scrollbar-color:var(--ui-scrollbar, rgba(0,0,0,.12)) transparent}.uix-scrollview>.uix-node{flex-shrink:0}.uix-scrollview::-webkit-scrollbar{width:4px;height:4px}.uix-scrollview::-webkit-scrollbar-thumb{background:var(--ui-scrollbar, rgba(0,0,0,.12));border-radius:9999px}.uix-scrollview::-webkit-scrollbar-track{background:transparent}.uix-shadow-sm{box-shadow:0 1px 2px #0000000d}.uix-shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.uix-shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.uix-shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}[data-theme=dark] .uix-shadow-sm{box-shadow:0 1px 2px #0000004d}[data-theme=dark] .uix-shadow-md{box-shadow:0 4px 6px -1px #0006,0 2px 4px -2px #0000004d}[data-theme=dark] .uix-shadow-lg{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d}[data-theme=dark] .uix-shadow-xl{box-shadow:0 20px 25px -5px #0006,0 8px 10px -6px #0000004d}.uix-button:focus-visible,.uix-input:focus-visible,.uix-select:focus-visible,.uix-toggle:focus-visible,.uix-checkbox:focus-visible{outline:2px solid #5A9A7A;outline-offset:2px;box-shadow:0 0 0 4px #5a9a7a26}[data-theme=dark] .uix-button:focus-visible,[data-theme=dark] .uix-input:focus-visible,[data-theme=dark] .uix-select:focus-visible,[data-theme=dark] .uix-toggle:focus-visible,[data-theme=dark] .uix-checkbox:focus-visible{outline-color:#6bb89a;box-shadow:0 0 0 4px #6bb89a33}[data-theme=dark] .uix-node{scrollbar-color:rgba(255,255,255,.12) transparent}.uix-node::-webkit-scrollbar{width:6px;height:6px}.uix-node::-webkit-scrollbar-thumb{background:#0000001f;border-radius:9999px}.uix-node::-webkit-scrollbar-thumb:hover{background:#0003}[data-theme=dark] .uix-node::-webkit-scrollbar-thumb{background:#ffffff1f}[data-theme=dark] .uix-node::-webkit-scrollbar-thumb:hover{background:#fff3}.uix-node::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){.uix-frame,.uix-card,.uix-button,.uix-input,.uix-select,.uix-toggle,.uix-checkbox-box{transition:none!important}.uix-node [style*=animation]{animation-duration:.01ms!important;animation-iteration-count:1!important}}.resize-handles{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;pointer-events:none;z-index:10}.resize-handle{position:absolute;width:8px;height:8px;background:#fff;border:1.5px solid #3b82f6;border-radius:2px;pointer-events:auto;transition:all .15s ease}.resize-handle:hover,.resize-handle.active{background:#3b82f6;transform:scale(1.2)}.resize-handle-nw{top:0;left:0;cursor:nw-resize;transform:translate(-50%,-50%)}.resize-handle-ne{top:0;right:0;cursor:ne-resize;transform:translate(50%,-50%)}.resize-handle-se{bottom:0;right:0;cursor:se-resize;transform:translate(50%,50%)}.resize-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:translate(-50%,50%)}.resize-handle-n{top:0;left:50%;cursor:n-resize;transform:translate(-50%,-50%)}.resize-handle-e{top:50%;right:0;cursor:e-resize;transform:translate(50%,-50%)}.resize-handle-s{bottom:0;left:50%;cursor:s-resize;transform:translate(-50%,50%)}.resize-handle-w{top:50%;left:0;cursor:w-resize;transform:translate(-50%,-50%)}.resize-handles[data-resizing=true] .resize-handle{opacity:1}.resize-handle-nw:hover,.resize-handle-ne:hover,.resize-handle-se:hover,.resize-handle-sw:hover,.resize-handle-nw.active{transform:scale(1.3) translate(-50%,-50%)}.resize-handle-ne.active{transform:scale(1.3) translate(50%,-50%)}.resize-handle-se.active{transform:scale(1.3) translate(50%,50%)}.resize-handle-sw.active{transform:scale(1.3) translate(-50%,50%)}@keyframes nodeEnter{0%{opacity:0;transform:scale(.88) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes selectionPulse{0%{box-shadow:0 0 #5a9a7a8c}60%{box-shadow:0 0 0 7px #5a9a7a00}to{box-shadow:0 0 #5a9a7a00}}.canvas-wrapper{position:relative;width:100%;height:100%;overflow:hidden;background:#f0f2f5;contain:strict}[data-theme=dark] .canvas-wrapper{background:#06080c}.canvas-container{position:relative;width:100%;height:100%;overflow:hidden;cursor:default;background-color:#eaecef;background-image:radial-gradient(circle,rgba(0,0,0,.18) 1px,transparent 1px);background-size:24px 24px}[data-theme=dark] .canvas-container{background-color:#0e1016;background-image:radial-gradient(circle,rgba(255,255,255,.12) 1px,transparent 1px)}.canvas-container.mode-insert,.canvas-container.mode-comment{cursor:crosshair}.canvas-container.mode-pan{cursor:grab}.canvas-container.mode-pan:active{cursor:grabbing}.canvas-content{position:absolute;left:50%;top:50%;width:0;height:0;overflow:visible;transform-origin:0 0;pointer-events:none;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.canvas-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.canvas-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.canvas-empty-content{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:420px;padding:48px;border:1px solid rgba(0,0,0,.1);border-radius:24px;background:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:nodeEnter .4s cubic-bezier(.34,1.56,.64,1) both;color:#0d0f12}[data-theme=dark] .canvas-empty-content{border-color:#ffffff12;background:#ffffff06;color:#fff}.canvas-empty-content svg{color:#5a9a7a;opacity:.55;filter:drop-shadow(0 0 8px rgba(90,154,122,.35))}.canvas-empty-content h3{margin:0;font-size:22px;font-weight:500;color:#0d0f12;letter-spacing:-.01em;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark] .canvas-empty-content h3{color:#fff}.canvas-empty-content p{margin:0;font-size:13px;color:#00000080;line-height:1.7;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark] .canvas-empty-content p{color:#ffffff73}.canvas-empty-content kbd{display:inline-block;padding:2px 8px;background:#5a9a7a1a;border:1px solid rgba(90,154,122,.3);border-radius:6px;font-size:11px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-weight:500;color:#5a9a7a;letter-spacing:.05em}.canvas-node{pointer-events:auto;box-sizing:border-box;transition:outline 80ms ease,box-shadow .12s ease,opacity .12s ease;isolation:isolate}.canvas-node-flex-child{position:relative!important}.canvas-node-frame{background:#00000005;border:1px solid rgba(0,0,0,.1);min-width:40px;min-height:20px;border-radius:10px;overflow:hidden;will-change:transform}[data-theme=dark] .canvas-node-frame:not([style*=background]){background:#ffffff0a;border-color:#ffffff17}.canvas-node-selected{outline:2px solid #5A9A7A;outline-offset:1px;box-shadow:0 0 0 4px #5a9a7a21,0 0 18px #5a9a7a12;animation:selectionPulse .55s ease forwards;z-index:10}.canvas-node-hovered:not(.canvas-node-selected){outline:2px solid rgba(90,154,122,.4);outline-offset:1px;box-shadow:0 0 0 3px #5a9a7a0f;z-index:5}.canvas-node-new{animation:nodeEnter .28s cubic-bezier(.34,1.56,.64,1) both}.diff-added{outline:2px solid #22c55e!important;outline-offset:1px;background:#22c55e12!important;z-index:15}.diff-removed{outline:2px solid #F87171!important;outline-offset:1px;opacity:.5;z-index:15}.diff-modified{outline:2px solid #FBBF24!important;outline-offset:1px;background:#fbbf240d!important;z-index:15}.node-text{display:inline-block;padding:6px 10px;font-size:14px;line-height:1.6;color:inherit;font-weight:400;white-space:pre-wrap;word-break:break-word;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.node-button{padding:10px 22px;font-size:14px;font-weight:400;border:none;border-radius:inherit;background:transparent;color:inherit;cursor:default;pointer-events:none;letter-spacing:.02em;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.node-input{padding:10px 14px;font-size:14px;border:none;border-radius:inherit;background:transparent;color:inherit;pointer-events:none;width:100%;height:100%;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.node-input::placeholder{color:#00000059}.node-image{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}.node-image img{width:100%;height:100%;object-fit:cover}.node-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;border:2px dashed rgba(0,0,0,.12);border-radius:inherit;color:#0000004d;font-size:11px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;letter-spacing:.04em}[data-theme=dark] .node-image-placeholder{border-color:#ffffff1f;color:#ffffff40}.canvas-node-button{display:flex;align-items:center;justify-content:center}.canvas-node-input{display:flex;align-items:center}.canvas-node-divider{flex-shrink:0}.canvas-node-card{overflow:hidden}.canvas-node-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.canvas-node-toggle{display:flex;align-items:center;padding:2px;flex-shrink:0}.canvas-node-checkbox{display:flex;align-items:center;gap:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.canvas-node-scrollview{overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}.canvas-node-scrollview::-webkit-scrollbar{width:4px;height:4px}.canvas-node-scrollview::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}[data-theme=dark] .canvas-node-scrollview{scrollbar-color:rgba(255,255,255,.14) transparent}[data-theme=dark] .canvas-node-scrollview::-webkit-scrollbar-thumb{background:#ffffff24}.canvas-node-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:500;flex-shrink:0;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.4em;text-transform:uppercase;letter-spacing:.05em}.canvas-node-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:500;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;letter-spacing:.04em;border-radius:100px;white-space:nowrap}.canvas-hud-bar{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;pointer-events:none;z-index:100}.canvas-hud-bar>*{pointer-events:auto}.canvas-sync-hud{position:absolute;top:16px;right:16px;display:flex;align-items:center;pointer-events:none;z-index:100}.canvas-sync-hud>*{pointer-events:auto}.canvas-history-hud{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:4px;pointer-events:none;z-index:100}.canvas-history-hud>*{pointer-events:auto}.canvas-hud-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;color:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .12s,color .12s;padding:0}.canvas-hud-btn:hover:not(:disabled){background:#0000001a;color:#000000bf}.canvas-hud-btn:disabled{opacity:.35;cursor:default}[data-theme=dark] .canvas-hud-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3}[data-theme=dark] .canvas-hud-btn:hover:not(:disabled){background:#ffffff1f;color:#ffffffeb}.canvas-zoom-controls{display:flex;align-items:center;gap:2px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:2px;height:34px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-zoom-controls .canvas-hud-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;-webkit-backdrop-filter:none;backdrop-filter:none}.canvas-zoom-controls .canvas-hud-btn:hover:not(:disabled){background:#00000014}.canvas-zoom-display{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:11px;color:#00000073;letter-spacing:.04em;min-width:42px;text-align:center;-webkit-user-select:none;user-select:none}[data-theme=dark] .canvas-zoom-controls{background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}[data-theme=dark] .canvas-zoom-controls .canvas-hud-btn:hover:not(:disabled){background:#ffffff1a}[data-theme=dark] .canvas-zoom-display{color:#ffffffd9}.canvas-zoom-indicator{background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:4px 10px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:11px;color:#00000073;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}[data-theme=dark] .canvas-zoom-indicator{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#ffffffeb}.canvas-uix-badge{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:6px;background:#5a9a7a14;border:1px solid rgba(90,154,122,.2);border-radius:8px;padding:4px 10px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:10px;font-weight:600;color:#5a9a7a;letter-spacing:.12em;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-uix-badge-dot{width:6px;height:6px;border-radius:50%;background:#5a9a7a;box-shadow:0 0 6px #5a9a7a99;animation:uixPulse 2s ease-in-out infinite}@keyframes uixPulse{0%,to{opacity:1}50%{opacity:.4}}.canvas-mode-pill{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#5a9a7a1a;border:1px solid rgba(90,154,122,.25);border-radius:100px;padding:4px 16px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:11px;color:#5a9a7a;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity .2s ease}.canvas-mode-pill.visible{opacity:1}.canvas-sync-pill{display:flex;align-items:center;gap:6px;background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:0 10px;height:34px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:10px;color:#00000073;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=dark] .canvas-sync-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#ffffffb3}.canvas-sync-pill__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.canvas-sync-pill__dot--pulse{animation:syncPulse 2s ease-in-out infinite}@keyframes syncPulse{0%,to{opacity:1;box-shadow:0 0 #34d39999}50%{opacity:.7;box-shadow:0 0 6px 2px #34d3994d}}.canvas-sync-pill__label{text-transform:capitalize}.canvas-grid-toggle{display:flex;align-items:center;gap:2px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:2px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:34px}[data-theme=dark] .canvas-grid-toggle{background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.canvas-grid-toggle__btn{border:none;background:transparent;color:#00000059;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:10px;padding:0 10px;height:28px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;letter-spacing:.04em;display:flex;align-items:center;justify-content:center}[data-theme=dark] .canvas-grid-toggle__btn{color:#ffffff73}.canvas-grid-toggle__btn--active{background:#5a9a7a26;color:#5a9a7a}.canvas-grid-toggle__btn:hover{background:#5a9a7a14}.canvas-comment-pin{cursor:pointer;pointer-events:auto;z-index:1000;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));transition:transform .15s ease}.canvas-comment-pin:hover{transform:scale(1.2);z-index:1001}.canvas-comment-pin--resolved{opacity:.5}.context-menu{min-width:200px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:4px;box-shadow:0 8px 24px -4px #0000001f,0 2px 8px -2px #00000014,0 0 0 1px #0000000a;animation:contextMenuFadeIn .1s ease;-webkit-user-select:none;user-select:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .context-menu{background:#1a1a1a;border-color:#2a2a2a;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d,0 0 0 1px #ffffff0a}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:5px;color:#1a1a1a;font-family:inherit;font-size:12px;font-weight:400;text-align:left;cursor:pointer;transition:background 80ms;gap:8px;line-height:1.4}[data-theme=dark] .context-menu-item{color:#d4d4d4}.context-menu-item:hover:not(:disabled){background:#0000000d;color:#000}[data-theme=dark] .context-menu-item:hover:not(:disabled){background:#2a2a2a;color:#fff}.context-menu-item.danger{color:#dc2626}[data-theme=dark] .context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover:not(:disabled){background:#dc262614;color:#b91c1c}[data-theme=dark] .context-menu-item.danger:hover:not(:disabled){background:#ef44441f;color:#f87171}.context-menu-item.disabled{opacity:.35;cursor:not-allowed}.context-menu-label{flex:1}.context-menu-shortcut{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:10px;color:#8893a7;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:3px;padding:1px 4px;letter-spacing:.5px;flex-shrink:0;pointer-events:none}[data-theme=dark] .context-menu-shortcut{color:#525252;background:#0a0a0a;border-color:#2a2a2a}.context-menu-separator{height:1px;background:#00000014;margin:3px 4px}[data-theme=dark] .context-menu-separator{background:#2a2a2a}.context-menu-section-label{display:block;padding:6px 10px 2px;font-size:10px;font-weight:500;color:#8893a7;text-transform:uppercase;letter-spacing:.06em;cursor:default}[data-theme=dark] .context-menu-section-label{color:#525252}.interaction-layer{position:relative;width:100%;height:100%}.insert-panel{width:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:10px 12px 16px;box-sizing:border-box;gap:8px}.insert-panel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.insert-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 6px;border-radius:6px;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;transition:background .1s,transform 80ms,border-color .1s;border:1px solid transparent}.insert-tile:active{cursor:grabbing;transform:scale(.96)}.insert-panel--dark .insert-tile{background:#ffffff0a;border-color:#ffffff12}.insert-panel--dark .insert-tile:hover{background:#ffffff14;border-color:#ffffff26}.insert-panel--dark .insert-tile--active{background:#2bb8a826;border-color:#2bb8a880}.insert-panel--dark .insert-tile-icon{font-size:16px;color:#8b9ab0}.insert-panel--dark .insert-tile--active .insert-tile-icon{color:#5a9a7a}.insert-panel--dark .insert-tile-label{font-size:9px;color:#6b7a94;font-family:JetBrains Mono,monospace;letter-spacing:.03em}.insert-panel--dark .insert-tile--active .insert-tile-label{color:#5a9a7a}.insert-panel--dark .insert-tile-shortcut{position:absolute;top:3px;right:4px;font-size:8px;color:#fff3;font-family:JetBrains Mono,monospace}.insert-panel--dark .insert-panel-hint{font-size:10px;color:#6b7a94;font-family:JetBrains Mono,monospace;text-align:center;padding:6px 0 0;border-top:1px solid rgba(255,255,255,.06)}.insert-panel--dark .insert-panel-hint kbd{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px}.insert-panel--light .insert-tile{background:#f4f5f7;border-color:#0000000f}.insert-panel--light .insert-tile:hover{background:#eaecef;border-color:#0000001f}.insert-panel--light .insert-tile--active{background:#2bb8a81f;border-color:#2bb8a880}.insert-panel--light .insert-tile-icon{font-size:16px;color:#5a6880}.insert-panel--light .insert-tile--active .insert-tile-icon{color:#1a9a8a}.insert-panel--light .insert-tile-label{font-size:9px;color:#7a8899;font-family:JetBrains Mono,monospace;letter-spacing:.03em}.insert-panel--light .insert-tile--active .insert-tile-label{color:#1a9a8a}.insert-panel--light .insert-tile-shortcut{position:absolute;top:3px;right:4px;font-size:8px;color:#0003;font-family:JetBrains Mono,monospace}.insert-panel--light .insert-panel-hint{font-size:10px;color:#7a8899;font-family:JetBrains Mono,monospace;text-align:center;padding:6px 0 0;border-top:1px solid rgba(0,0,0,.06)}.insert-panel--light .insert-panel-hint kbd{background:#0000000d;border:1px solid rgba(0,0,0,.12);border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px}.insert-panel-affinity-hint{font-size:10px;color:#7a8899;text-align:center;padding:0 0 4px}.insert-panel--light .insert-panel-affinity-hint{color:#6b7280}.insert-tile--high{outline:2px solid rgba(76,175,80,.6)!important}.insert-tile--medium{outline:1px solid rgba(255,193,7,.6)!important}.insert-tile--repels{opacity:.45}.insert-tile-chem-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;flex-shrink:0}.insert-tile-chem-dot--high{background:#4caf50;box-shadow:0 0 4px #4caf50cc}.insert-tile-chem-dot--medium{background:#ffc107}.insert-tile-chem-dot--repels{background:#f44336}.insert-panel-search{flex-shrink:0}.insert-panel-search-input{width:100%;box-sizing:border-box;padding:5px 8px;border-radius:5px;border:1px solid transparent;font-size:11px;font-family:JetBrains Mono,monospace;outline:none;transition:border-color .1s}.insert-panel--dark .insert-panel-search-input{background:#ffffff0f;border-color:#ffffff1a;color:#d0d8e4}.insert-panel--dark .insert-panel-search-input::placeholder{color:#ffffff4d}.insert-panel--dark .insert-panel-search-input:focus{border-color:#5a9a7a99}.insert-panel--light .insert-panel-search-input{background:#f0f1f3;border-color:#0000001a;color:#3a4553}.insert-panel--light .insert-panel-search-input::placeholder{color:#00000059}.insert-panel--light .insert-panel-search-input:focus{border-color:#5a9a7a99}.insert-panel-category{display:flex;flex-direction:column}.insert-panel-category-header{display:flex;align-items:center;gap:4px;padding:4px 2px;background:none;border:none;cursor:pointer;font-family:JetBrains Mono,monospace}.insert-panel-category-arrow{font-size:9px;width:10px}.insert-panel-category-name{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.insert-panel-category-count{font-size:9px;opacity:.4;margin-left:auto}.insert-panel--dark .insert-panel-category-header{color:#6b7a94}.insert-panel--dark .insert-panel-category-header:hover{color:#8b9ab0}.insert-panel--light .insert-panel-category-header{color:#7a8899}.insert-panel--light .insert-panel-category-header:hover{color:#5a6880}.insert-tile-platforms{position:absolute;bottom:2px;right:3px;font-size:7px;font-family:JetBrains Mono,monospace;opacity:.35;line-height:1}.screen-tab__drag-handle{opacity:0;font-size:10px;line-height:1;color:#00000040;transition:opacity .15s ease;cursor:grab;flex-shrink:0;margin-right:-2px}.screen-tab:hover .screen-tab__drag-handle{opacity:.7}.screen-tab:hover{background:#0000000f}.screen-tab:active{cursor:grabbing}.screen-tab:active .screen-tab__drag-handle{opacity:1;cursor:grabbing}[data-theme=dark] .screen-tabs-container{background:#ffffff0d!important;border-color:#ffffff14!important}[data-theme=dark] .screen-tab{color:#ffffff73!important}[data-theme=dark] .screen-tab:hover{background:#ffffff0f!important}[data-theme=dark] .screen-tab.active-tab{background:#5a9a7a26!important;color:#5a9a7a!important}[data-theme=dark] .screen-tab__drag-handle{color:#ffffff40}[data-theme=dark] .screen-tabs-add{border-color:#ffffff1f!important;color:#ffffff59!important}[data-theme=dark] .screen-tabs-badge{background:#ffffff14!important;color:#ffffff4d!important}[data-theme=dark] .screen-tabs-close{color:#ffffff40!important}.drawing-toolbar{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--surface-elevated, #1e1e2e);border-right:1px solid var(--border-subtle, #2a2a3a);width:44px;overflow-y:auto;overflow-x:hidden;-webkit-user-select:none;user-select:none;scrollbar-width:thin;scrollbar-color:var(--ui-scrollbar, rgba(0,0,0,.12)) transparent}.drawing-toolbar::-webkit-scrollbar{width:4px}.drawing-toolbar::-webkit-scrollbar-track{background:transparent}.drawing-toolbar::-webkit-scrollbar-thumb{background:var(--ui-scrollbar, rgba(0,0,0,.12));border-radius:9999px}.drawing-toolbar::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-hover, rgba(0,0,0,.22))}.drawing-toolbar__group{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}.drawing-toolbar__divider{width:24px;height:1px;background:var(--border-subtle, #2a2a3a);margin:3px auto}.dtool-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #9ca3af);cursor:pointer;transition:background .1s,color .1s;flex-shrink:0}.dtool-btn:hover{background:var(--surface-hover, #2d2d3f);color:var(--text-primary, #e5e7eb)}.dtool-btn.active{background:var(--accent, #5A9A7A);color:#fff}.dtool-btn svg{width:20px;height:20px;flex-shrink:0}.dtool-shortcut{position:absolute;bottom:3px;right:4px;font-size:9px;font-family:var(--font-mono, monospace);line-height:1;color:currentColor;opacity:.55}.drawing-toolbar--light{background:#f4f4f6;border-right:1px solid #e2e5ea}.drawing-toolbar--light .drawing-toolbar__divider{background:#d1d5dd}.drawing-toolbar--light .dtool-btn{color:#6b7280}.drawing-toolbar--light .dtool-btn:hover{background:#e8e8f0;color:#111827}.drawing-toolbar--light .dtool-btn.active{background:#5a9a7a;color:#fff}.dtool-btn[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--surface-overlay, #111);color:var(--text-primary, #e5e7eb);padding:4px 8px;border-radius:4px;font-size:11px;pointer-events:none;z-index:1000;box-shadow:0 2px 8px #0006}.drawing-toolbar__sync{display:flex;align-items:center;justify-content:center;margin-top:auto;padding:8px 0}.drawing-toolbar__sync-dot{width:7px;height:7px;border-radius:50%;background:#6b7280;transition:background .3s ease}.drawing-toolbar__sync-dot--connected{background:#22c55e;box-shadow:0 0 6px #22c55e80}.drawing-toolbar__sync-dot--connecting{background:#f59e0b;animation:syncPulse 1.2s ease-in-out infinite}.drawing-toolbar__sync-dot--error{background:#ef4444}.drawing-toolbar__sync-dot--disconnected{background:#6b7280}@keyframes syncPulse{0%,to{opacity:1}50%{opacity:.3}}.collab-cursors{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:500}.collab-cursor{position:absolute;will-change:transform;transition:transform 80ms linear}.collab-cursor__arrow{width:0;height:0;border-left:8px solid currentColor;border-bottom:5px solid transparent;border-top:5px solid transparent;transform:rotate(-30deg);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.collab-cursor__label{position:absolute;top:14px;left:6px;white-space:nowrap;background:currentColor;color:#fff;font-size:10px;font-weight:600;padding:2px 5px;border-radius:3px;mix-blend-mode:normal;opacity:.9}.collab-avatars{display:flex;align-items:center;gap:4px}.collab-avatar{width:26px;height:26px;border-radius:50%;border:2px solid var(--surface-base, #0f0f1a);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;cursor:default;position:relative;flex-shrink:0}.collab-avatar[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;background:var(--surface-overlay, #111);color:var(--text-primary, #e5e7eb);padding:3px 7px;border-radius:4px;font-size:10px;pointer-events:none;z-index:999}.collab-avatar--you{border-color:var(--accent, #5A9A7A)}.branch-panel{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;background:var(--surface-elevated, #1e1e2e);color:var(--text-primary, #e5e7eb);font-size:12px;overflow:hidden}.branch-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid var(--border-subtle, #2a2a3a);flex-shrink:0}.branch-panel__title-row{display:flex;align-items:center;gap:6px}.branch-panel__title-icon{color:var(--text-secondary, #9ca3af);flex-shrink:0}.branch-panel__title{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #9ca3af)}.branch-panel__stats{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary, #6b7280)}.branch-panel__stat{white-space:nowrap}.branch-panel__stat-sep{opacity:.5}.branch-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;padding:32px 20px;text-align:center;color:var(--text-tertiary, #6b7280)}.branch-panel__empty-title{font-size:13px;font-weight:600;color:var(--text-secondary, #9ca3af);margin:0}.branch-panel__empty-desc{font-size:11px;line-height:1.5;color:var(--text-tertiary, #6b7280);margin:0;max-width:220px}.branch-panel__empty-inline{padding:24px 16px;text-align:center;color:var(--text-tertiary, #6b7280);font-size:11px;line-height:1.5}.branch-panel__empty-inline p{margin:0}.branch-panel__commit-section{border-bottom:1px solid var(--border-subtle, #2a2a3a);flex-shrink:0;background:var(--surface-base, #17172a)}.branch-panel__current{display:flex;align-items:center;gap:8px;padding:8px 14px;flex-shrink:0}.branch-panel__head-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:1px 5px;border-radius:3px;background:var(--accent-muted, rgba(99,102,241,.15));color:var(--accent-light, #818cf8)}.branch-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:var(--accent-muted, rgba(99,102,241,.2));color:var(--accent-light, #818cf8);font-size:11px;font-weight:500}.branch-panel__sha{font-size:10px;color:var(--text-tertiary, #6b7280);font-family:SF Mono,Fira Code,monospace}.branch-panel__dirty-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;flex-shrink:0;animation:dirty-pulse 2s ease-in-out infinite}@keyframes dirty-pulse{0%,to{opacity:1}50%{opacity:.4}}.branch-panel__commit-row{display:flex;gap:6px;padding:6px 14px 10px}.branch-panel__tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle, #2a2a3a);flex-shrink:0}.branch-panel__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary, #6b7280);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.branch-panel__tab:hover{color:var(--text-secondary, #9ca3af)}.branch-panel__tab.active{color:var(--accent-light, #818cf8);border-bottom-color:var(--accent, #5A9A7A)}.branch-panel__scroll{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-subtle, #2a2a3a) transparent}.branch-panel__scroll::-webkit-scrollbar{width:4px}.branch-panel__scroll::-webkit-scrollbar-track{background:transparent}.branch-panel__scroll::-webkit-scrollbar-thumb{background:var(--border-subtle, #2a2a3a);border-radius:2px}.branch-panel__scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #6b7280)}.commit-graph{padding:4px 0}.commit-row{display:flex;align-items:center;gap:0;padding:0 10px 0 0;min-height:40px;transition:background .12s ease;border-left:2px solid transparent}.commit-row:hover{background:var(--surface-hover, rgba(255,255,255,.03))}.commit-row.head{background:var(--accent-muted, rgba(99,102,241,.08));border-left-color:var(--accent, #5A9A7A)}.commit-graph__rail{flex-shrink:0}.commit-row__info{flex:1;min-width:0;padding:4px 0}.commit-row__top{display:flex;align-items:center;gap:6px;min-width:0}.commit-row__message{font-size:12px;font-weight:500;color:var(--text-primary, #e5e7eb);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.commit-row__branch-tag{font-size:9px;font-weight:600;padding:1px 6px;border-radius:8px;border:1px solid;background:#ffffff0a;white-space:nowrap;flex-shrink:0}.commit-row__meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary, #6b7280);margin-top:2px}.commit-row__sep{opacity:.4}.commit-row__sha{font-family:SF Mono,Fira Code,monospace;font-size:10px;color:var(--text-tertiary, #6b7280)}.branch-list-view{padding:4px 0}.branch-list{list-style:none;margin:0;padding:0}.branch-list__item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .12s ease;border-left:2px solid transparent}.branch-list__item:hover{background:var(--surface-hover, #2d2d3f)}.branch-list__item.active{background:var(--accent-muted, rgba(99,102,241,.12));border-left-color:var(--accent, #5A9A7A)}.branch-list__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.branch-list__name-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.branch-list__name{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-list__default-tag{font-size:9px;font-weight:600;padding:0 5px;border-radius:6px;background:var(--accent-muted, rgba(99,102,241,.15));color:var(--accent-light, #818cf8);flex-shrink:0}.branch-list__meta{font-size:10px;color:var(--text-tertiary, #6b7280);flex-shrink:0}.branch-list__actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.branch-list__item:hover .branch-list__actions{opacity:1}.branch-panel__merge-confirm{padding:10px 14px;background:var(--surface-base, #17172a);border:1px solid var(--accent-muted, rgba(99,102,241,.3));border-radius:6px;margin:8px 14px}.branch-panel__merge-confirm p{margin:0 0 8px;font-size:12px;line-height:1.5;color:var(--text-secondary, #9ca3af)}.branch-panel__merge-confirm strong{color:var(--text-primary, #e5e7eb)}.branch-panel__merge-actions{display:flex;gap:6px}.branch-panel__footer{border-top:1px solid var(--border-subtle, #2a2a3a);flex-shrink:0;padding:8px 14px;background:var(--surface-base, #17172a)}.branch-panel__new-branch-btn{width:100%;justify-content:center}.branch-panel__new-branch-form{display:flex;gap:4px}.bp-input{flex:1;background:var(--surface-base, #17172a);border:1px solid var(--border-subtle, #2a2a3a);border-radius:5px;color:var(--text-primary, #e5e7eb);font-size:11px;padding:5px 8px;outline:none;transition:border-color .15s}.bp-input:focus{border-color:var(--accent, #5A9A7A)}.bp-input::placeholder{color:var(--text-tertiary, #6b7280)}.bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 10px;border-radius:5px;border:1px solid var(--border-subtle, #2a2a3a);background:var(--surface-hover, #2d2d3f);color:var(--text-primary, #e5e7eb);font-size:11px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s;line-height:1.4;white-space:nowrap}.bp-btn:hover{background:var(--surface-active, #3a3a50)}.bp-btn:disabled{opacity:.4;cursor:default}.bp-btn.primary{background:var(--accent, #5A9A7A);border-color:var(--accent, #5A9A7A);color:#fff}.bp-btn.primary:hover{background:var(--accent-hover, #4f46e5)}.bp-btn.tiny{padding:2px 7px;font-size:10px;border-radius:4px}.comments-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;color:var(--text-primary, #1e1e2e)}.comments-panel__header{padding:12px 14px 8px;flex-shrink:0}.comments-panel__title-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.comments-panel__title-icon{color:var(--text-muted, #6c6c8a);flex-shrink:0}.comments-panel__title{font-size:13px;font-weight:600;color:var(--text-primary, #1e1e2e)}.comments-panel__stats{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted, #6c6c8a)}.comments-panel__stat-sep{opacity:.5}.comments-panel__filters{display:flex;gap:2px;padding:4px 14px 8px;flex-shrink:0}.comments-panel__filter-btn{border:none;background:transparent;color:var(--text-muted, #6c6c8a);font-size:10px;padding:3px 8px;border-radius:4px;cursor:pointer;transition:background .15s,color .15s;letter-spacing:.02em;font-family:inherit}.comments-panel__filter-btn:hover{background:#6366f114}.comments-panel__filter-btn.active{background:#6366f11f;color:#6366f1;font-weight:600}.comments-panel__add-section{display:flex;gap:6px;padding:0 14px 10px;flex-shrink:0}.comments-panel__add-row{display:flex;gap:6px;width:100%}.comments-panel__input{flex:1;padding:6px 10px;border:1px solid var(--border-subtle, rgba(0, 0, 0, .12));border-radius:6px;background:var(--input-bg, rgba(0, 0, 0, .03));color:var(--text-primary, #1e1e2e);font-size:12px;font-family:inherit;outline:none;transition:border-color .15s}.comments-panel__input:focus{border-color:#6366f1}.comments-panel__input::placeholder{color:var(--text-muted, #6c6c8a);opacity:.7}.comments-panel__btn{border:1px solid var(--border-subtle, rgba(0, 0, 0, .12));background:transparent;color:var(--text-secondary, #4a4a6a);font-size:11px;font-weight:500;padding:4px 12px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:inherit}.comments-panel__btn.primary{background:#6366f1;border-color:#6366f1;color:#fff}.comments-panel__btn.primary:hover{background:#5558e6}.comments-panel__btn.primary:disabled{opacity:.4;cursor:not-allowed}.comments-panel__btn:not(.primary):hover{background:#0000000d}.comments-panel__scroll{flex:1;overflow-y:auto;scrollbar-gutter:stable;padding:0 10px 14px 14px}.comments-panel__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 20px;color:var(--text-muted, #6c6c8a);text-align:center}.comments-panel__empty svg{opacity:.4}.comments-panel__empty-title{font-size:13px;font-weight:600;color:var(--text-primary, #1e1e2e);margin:4px 0 0}.comments-panel__empty-desc{font-size:11px;color:var(--text-muted, #6c6c8a);line-height:1.5;max-width:220px;margin:0 0 8px}.comments-panel__empty-inline{padding:20px 0;text-align:center;color:var(--text-muted, #6c6c8a);font-size:11px}.comment-thread{border:1px solid var(--border-subtle, rgba(0, 0, 0, .08));border-radius:8px;padding:10px;margin-bottom:8px;transition:border-color .15s,opacity .2s}.comment-thread:hover{border-color:#6366f140}.comment-thread.resolved{opacity:.6;border-style:dashed}.comment-thread.resolved:hover{opacity:.85}.comment-thread__main{display:flex;gap:8px}.comment-thread__avatar{width:24px;height:24px;border-radius:50%;background:#6366f1;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-thread__body{flex:1;min-width:0}.comment-thread__header{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.comment-thread__author{font-size:11px;font-weight:600;color:var(--text-primary, #1e1e2e)}.comment-thread__time{font-size:10px;color:var(--text-muted, #6c6c8a)}.comment-thread__text{font-size:12px;line-height:1.5;color:var(--text-secondary, #4a4a6a);margin:0 0 6px;word-break:break-word}.comment-thread__actions{display:flex;gap:2px}.comment-thread__action-btn{display:inline-flex;align-items:center;gap:3px;border:none;background:transparent;color:var(--text-muted, #6c6c8a);font-size:10px;padding:2px 6px;border-radius:4px;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.comment-thread__action-btn:hover{background:#0000000f;color:var(--text-primary, #1e1e2e)}.comment-thread__action-btn.resolved-btn{color:#22c55e}.comment-thread__action-btn.delete-btn:hover{background:#ef44441a;color:#ef4444}.comment-thread__replies{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .06));display:flex;flex-direction:column;gap:8px;margin-left:32px}.comment-reply{display:flex;gap:6px}.comment-reply__avatar{width:20px;height:20px;border-radius:50%;background:#8b5cf6;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-reply__body{flex:1;min-width:0}.comment-reply__header{display:flex;align-items:baseline;gap:4px;margin-bottom:1px}.comment-reply__author{font-size:10px;font-weight:600;color:var(--text-primary, #1e1e2e)}.comment-reply__time{font-size:9px;color:var(--text-muted, #6c6c8a)}.comment-reply__text{font-size:11px;line-height:1.4;color:var(--text-secondary, #4a4a6a);margin:0;word-break:break-word}.comment-thread__reply-form{margin-top:8px;margin-left:32px;display:flex;flex-direction:column;gap:4px}.comment-thread__reply-actions{display:flex;gap:4px}[data-theme=dark] .comments-panel,[data-theme=dark] .comments-panel__title,[data-theme=dark] .comments-panel__empty-title{color:#ffffffeb}[data-theme=dark] .comments-panel__input{background:#ffffff0d;border-color:#ffffff1a;color:#ffffffeb}[data-theme=dark] .comments-panel__input::placeholder{color:#fff6}[data-theme=dark] .comment-thread{border-color:#ffffff14}[data-theme=dark] .comment-thread:hover{border-color:#6366f159}[data-theme=dark] .comment-thread__author,[data-theme=dark] .comment-reply__author{color:#ffffffeb}[data-theme=dark] .comment-thread__text,[data-theme=dark] .comment-reply__text{color:#ffffffb3}[data-theme=dark] .comment-thread__time,[data-theme=dark] .comment-reply__time,[data-theme=dark] .comment-thread__action-btn{color:#fff6}[data-theme=dark] .comment-thread__action-btn:hover{background:#ffffff14;color:#ffffffd9}[data-theme=dark] .comment-thread__replies{border-top-color:#ffffff0f}[data-theme=dark] .comments-panel__btn:not(.primary){border-color:#ffffff1a;color:#ffffffb3}[data-theme=dark] .comments-panel__btn:not(.primary):hover{background:#ffffff14}[data-theme=dark] .comments-panel__filter-btn{color:#ffffff73}[data-theme=dark] .comments-panel__filter-btn.active{background:#6366f133;color:#818cf8}[data-theme=dark] .comments-panel__filter-btn:hover{background:#6366f11f}.merge-conflict-panel{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.merge-conflict-panel__dialog{background:var(--surface-elevated, #1e1e2e);border:1px solid var(--border-subtle, #2a2a3a);border-radius:12px;padding:24px;width:560px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000080}.mcp-header{display:flex;align-items:flex-start;gap:12px}.mcp-icon{font-size:24px;flex-shrink:0;margin-top:2px}.mcp-header h2{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--text-primary, #e5e7eb)}.mcp-header p{margin:0;font-size:12px;color:var(--text-secondary, #9ca3af)}.mcp-conflicts{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.mcp-conflict-card{background:var(--surface-base, #17172a);border:1px solid var(--border-subtle, #2a2a3a);border-radius:8px;overflow:hidden}.mcp-conflict-card__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--surface-hover, #2d2d3f);font-size:11px;font-weight:600}.mcp-conflict-card__path{font-family:var(--font-mono, monospace);color:var(--accent-light, #818cf8)}.mcp-conflict-card__body{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle, #2a2a3a)}.mcp-conflict-option{background:var(--surface-elevated, #1e1e2e);padding:10px 12px;cursor:pointer;transition:background .1s}.mcp-conflict-option:hover{background:var(--surface-hover, #2d2d3f)}.mcp-conflict-option.selected{background:var(--accent-muted, rgba(99,102,241,.15));outline:1px solid var(--accent, #5A9A7A);outline-offset:-1px}.mcp-conflict-option__label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px}.mcp-conflict-option.ours .mcp-conflict-option__label{color:var(--color-green, #34d399)}.mcp-conflict-option.theirs .mcp-conflict-option__label{color:var(--color-orange, #fb923c)}.mcp-conflict-option__value{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-primary, #e5e7eb);word-break:break-all}.mcp-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--border-subtle, #2a2a3a)}.mcp-progress{font-size:11px;color:var(--text-secondary, #9ca3af)}.mcp-footer-actions{display:flex;gap:8px}.mcp-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--border-subtle, #2a2a3a);background:var(--surface-hover, #2d2d3f);color:var(--text-primary, #e5e7eb);font-size:12px;font-weight:500;cursor:pointer;transition:background .1s}.mcp-btn:hover{background:var(--surface-active, #3a3a50)}.mcp-btn.primary{background:var(--accent, #5A9A7A);border-color:var(--accent, #5A9A7A);color:#fff}.mcp-btn.primary:hover{background:var(--accent-hover, #4f46e5)}.mcp-btn.primary:disabled{opacity:.4;cursor:not-allowed}.layers-panel{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;font-family:inherit;font-size:12px}.layers-panel__header{display:flex;align-items:center;padding:6px 10px;font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;border-bottom:1px solid}.layers-panel__scroll{flex:1 1 0%;overflow-y:auto;overflow-x:hidden}.layers-panel__section-header{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;font-size:11px;letter-spacing:.03em;transition:background .1s}.layers-row{display:flex;align-items:center;height:28px;padding-right:6px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background .08s}.layers-row:hover{background:var(--layer-hover-bg, rgba(99, 102, 241, .08))}.layers-row.selected{background:var(--layer-selected-bg, rgba(99, 102, 241, .15))}.layers-row.hovered-node{outline:1px solid var(--layer-accent, #6366f1);outline-offset:-1px}.layers-row.drag-over-above:before,.layers-row.drag-over-below:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--layer-accent, #6366f1);border-radius:1px;pointer-events:none;z-index:10}.layers-row.drag-over-above:before{top:-1px}.layers-row.drag-over-below:after{bottom:-1px}.layers-row.drag-over-inside{outline:2px solid var(--layer-accent, #6366f1);outline-offset:-2px}.layers-row__expand{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;opacity:.55}.layers-row__expand.leaf{opacity:0;pointer-events:none}.layers-panel__section-chevron{display:flex;align-items:center;justify-content:center;width:14px;height:14px;opacity:.55;flex-shrink:0}.layers-row__icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;margin-right:5px;opacity:.55;color:inherit}.layers-row__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.layers-row__visibility{display:none;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:none;background:transparent;cursor:pointer;opacity:.35;border-radius:3px;padding:0;color:inherit}.layers-row:hover .layers-row__visibility,.layers-row__visibility.hidden{display:flex}.layers-row__visibility:hover{opacity:1}.layers-row__lock{display:flex;align-items:center;flex-shrink:0;opacity:.45;margin-left:2px;color:inherit}.layers-row.locked{opacity:.55;cursor:default}.layers-row.locked .layers-row__name{font-style:italic}.layers-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:120px;opacity:.4;font-size:12px;text-align:center;padding:16px;gap:6px}[data-theme=light] .layers-panel__header{color:#6b7280;border-color:#e2e5ea}[data-theme=light] .layers-panel__section-header{color:#374151}[data-theme=light] .layers-panel__section-header:hover{background:#f3f4f6}[data-theme=light] .layers-row__name{color:#1f2937}[data-theme=light] .layers-panel__empty{color:#6b7280}[data-theme=dark] .layers-panel__header{color:#6b7280;border-color:#2a2a3a}[data-theme=dark] .layers-panel__section-header{color:#d1d5db}[data-theme=dark] .layers-panel__section-header:hover{background:#ffffff0d}[data-theme=dark] .layers-row__name{color:#e5e7eb}[data-theme=dark] .layers-panel__empty{color:#6b7280}:root,.canvas-app-root{--ui-bg-app: #0A0C10;--ui-bg-surface: #111318;--ui-bg-raised: #1A1D24;--ui-text-primary: #FFFFFF;--ui-text-secondary: rgba(255,255,255,.7);--ui-text-tertiary: rgba(255,255,255,.5);--ui-border-subtle: rgba(255,255,255,.08);--ui-border-default: rgba(255,255,255,.14);--ui-accent: #5A9A7A;--ui-scrollbar: rgba(255,255,255,.12);--ui-scrollbar-hover: rgba(255,255,255,.22);--surface-elevated: #1e1e2e;--surface-base: #17172a;--surface-hover: rgba(255,255,255,.03);--surface-active: #3a3a50;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--border-subtle: rgba(255,255,255,.06);--accent: #5A9A7A;--accent-muted: rgba(90,154,122,.15);--accent-light: #6BB88E;--accent-hover: #8ED4A8}.canvas-app-root[data-theme=light]{--ui-bg-app: #F0F2F5;--ui-bg-surface: #FFFFFF;--ui-bg-raised: #F4F5F7;--ui-text-primary: #0D0F12;--ui-text-secondary: #4A5162;--ui-text-tertiary: #8893A7;--ui-border-subtle: rgba(0,0,0,.07);--ui-border-default: rgba(0,0,0,.12);--ui-accent: #5A9A7A;--ui-scrollbar: rgba(0,0,0,.1);--ui-scrollbar-hover: rgba(0,0,0,.2);--surface-elevated: #FFFFFF;--surface-base: #F4F5F7;--surface-hover: rgba(0,0,0,.04);--surface-active: rgba(0,0,0,.08);--text-primary: #0D0F12;--text-secondary: #4A5162;--text-tertiary: #8893A7;--border-subtle: rgba(0,0,0,.06);--accent: #5A9A7A;--accent-muted: rgba(90,154,122,.1);--accent-light: #4A8568;--accent-hover: #3D7A5C}.canvas-app-root{display:flex;width:100vw;height:100vh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--ui-bg-app);color:var(--ui-text-primary);transition:background .2s ease,color .2s ease}.canvas-app-root *{box-sizing:border-box;user-select:none;-webkit-user-select:none}.canvas-app-root input,.canvas-app-root textarea,.canvas-app-root select{user-select:text;-webkit-user-select:text}.canvas-app-root>.uix-node{flex:1;min-width:0;min-height:0}.canvas-app-root,.canvas-app-root *{scrollbar-width:thin;scrollbar-color:var(--ui-scrollbar) transparent}.canvas-app-root ::-webkit-scrollbar{width:4px;height:4px}.canvas-app-root ::-webkit-scrollbar-track{background:transparent}.canvas-app-root ::-webkit-scrollbar-thumb{background:var(--ui-scrollbar);border-radius:9999px}.canvas-app-root ::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-hover)}.canvas-resize-handle{position:absolute;top:0;width:5px;height:100%;cursor:col-resize;z-index:200;background:transparent;transition:background .15s}.canvas-resize-handle:hover,.canvas-resize-handle:active{background:var(--ui-accent);opacity:.5}.canvas-panel-toggle{position:absolute;top:50%;transform:translateY(-50%);z-index:201;display:flex;align-items:center;justify-content:center;width:16px;height:40px;border:1px solid var(--ui-border-subtle);border-radius:4px;background:var(--ui-bg-surface);color:var(--ui-text-tertiary);cursor:pointer;padding:0;transition:background .15s,color .15s,opacity .15s;opacity:0}.canvas-app-root:hover .canvas-panel-toggle{opacity:1}.canvas-panel-toggle:hover{background:var(--ui-bg-raised);color:var(--ui-text-primary)}
