*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080d1a;--canvas:#080d1a;--panel:#111827;--elevated:#111827;--divider:#ffffff14;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-inverse:#080d1a;--sage:#b9dec8;--mint:#bee9de;--sky:#b8daf0;--peach:#f6d2b8;--coral:#efb9a6;--sand:#e9dabf;--butter:#f4e8b2;--success:#8bc7a5;--warning:#d8b07a;--error:#d38d82;--info:#7cb4d6;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-pill:9999px;--shadow-node:0 6px 20px #27343714;--shadow-panel:0 10px 30px #2734371a;--shadow-node-hover:0 8px 28px #27343721;--motion-fast:.15s;--motion-base:.28s;--motion-slow:.38s;--ease-standard:cubic-bezier(.22, .61, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--topbar-h:56px;--bottombar-h:44px;--rail-w:60px;--panel-w:280px}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}.shell{flex-direction:column;width:100%;height:100%;display:flex}.shell-body{flex:1;display:flex;position:relative;overflow:hidden}.top-bar{height:var(--topbar-h);background:var(--panel);border-bottom:1px solid var(--divider);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.top-bar-left{align-items:center;gap:16px;display:flex}.logo{align-items:center;gap:8px;display:flex}.logo-icon{font-size:22px}.logo-text{color:var(--text-primary);letter-spacing:-.3px;font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:600}.top-bar-center{align-items:center;display:flex}.mode-switch{background:var(--bg);border-radius:var(--radius-pill);gap:2px;padding:3px;display:flex}.mode-btn{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.mode-btn:hover{color:var(--text-primary)}.mode-btn.active{background:var(--panel);color:var(--text-primary);box-shadow:0 1px 4px #27343714}.top-bar-right{align-items:center;gap:12px;display:flex}.synthesize-btn{border-radius:var(--radius-pill);background:var(--sky);color:#0b1220;cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.synthesize-btn:hover{background:#a3ccee;transform:translateY(-1px);box-shadow:0 4px 12px #b8daf066}.collab-avatars{gap:4px;display:flex}.avatar{width:30px;height:30px;color:var(--text-primary);border:2px solid var(--panel);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.left-rail{width:var(--rail-w);background:var(--panel);border-right:1px solid var(--divider);z-index:50;flex-direction:column;flex-shrink:0;align-items:center;padding:16px 0;display:flex}.rail-tools{flex-direction:column;gap:6px;display:flex}.rail-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.rail-btn:hover{color:var(--text-primary)}.rail-icon{color:inherit}.rail-btn:hover{background:var(--bg);transform:scale(1.08)}.rail-btn:active{transform:scale(.95)}.rail-icon{font-size:16px;font-weight:600;line-height:1}.rail-icon.img-icon{font-size:14px}.canvas-container{background:radial-gradient(ellipse at 30% 20%, #818cf812 0%, transparent 55%), radial-gradient(ellipse at 75% 80%, #60a5fa0d 0%, transparent 50%), var(--canvas);touch-action:none;flex:1;position:relative;overflow:hidden}.canvas-container:before{content:"";pointer-events:none;z-index:0;opacity:.6;background-image:radial-gradient(1px 1px at 12% 18%,#ffffff80,#0000 60%),radial-gradient(1px 1px at 27% 73%,#fff6,#0000 60%),radial-gradient(1.2px 1.2px at 41% 32%,#ffffff59,#0000 60%),radial-gradient(1px 1px at 58% 84%,#ffffff73,#0000 60%),radial-gradient(1.5px 1.5px at 67% 12%,#ffffff4d,#0000 60%),radial-gradient(1px 1px at 79% 56%,#fff6,#0000 60%),radial-gradient(1.2px 1.2px at 89% 27%,#ffffff59,#0000 60%),radial-gradient(1px 1px at 8% 92%,#fff6,#0000 60%),radial-gradient(1px 1px,#ffffff4d,#0000 60%);animation:38s linear infinite drift;position:absolute;inset:0}.canvas-container:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(#0000 55%,#00000073 100%);position:absolute;inset:0}@keyframes drift{0%{transform:translate(0,0)}50%{transform:translate(-2%,-3%)}to{transform:translate(0,0)}}.canvas-grid{pointer-events:none;background-image:radial-gradient(circle, var(--divider) 1px, transparent 1px);opacity:.5;background-size:30px 30px;width:10000px;height:10000px;position:absolute;top:-5000px;left:-5000px}.canvas-empty{pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-icon{opacity:.6;margin-bottom:8px;font-size:48px}.empty-title{color:var(--text-secondary);font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:600}.empty-hint{color:var(--text-muted);font-size:13px}.canvas-world{width:0;height:0;position:absolute;top:0;left:0}.node-wrapper{position:absolute}body.synthesis-animating .node-wrapper{transition:left .7s cubic-bezier(.22,.61,.36,1),top .7s cubic-bezier(.22,.61,.36,1);z-index:5!important}.node-wrapper>.board-node{position:relative;top:0!important;left:0!important}.board-node{border-radius:var(--radius-lg);box-shadow:var(--shadow-node);cursor:grab;transition:box-shadow var(--motion-fast) var(--ease-standard);animation:nodeAppear .28s var(--ease-spring) both;border:1px solid var(--divider);color:var(--text-primary);flex-direction:column;display:flex;position:absolute;overflow:hidden;background:var(--elevated)!important}.board-node.text-node{box-shadow:0 0 14px #60a5fa2e, var(--shadow-node);border-color:#60a5fa73}.board-node.image-node{box-shadow:0 0 14px #f59e0b2e, var(--shadow-node);border-color:#f59e0b73}.board-node.audio-node{box-shadow:0 0 14px #a78bfa2e, var(--shadow-node);border-color:#a78bfa73}.board-node.code-node{box-shadow:0 0 14px #34d3992e, var(--shadow-node);border-color:#34d39973}.board-node.list-node{box-shadow:0 0 14px #ec48992e, var(--shadow-node);border-color:#ec489973}.board-node.link-node{box-shadow:0 0 14px #3b82f62e, var(--shadow-node);border-color:#3b82f673}.board-node.text-node:hover{box-shadow:0 0 22px #60a5fa59, var(--shadow-node-hover)}.board-node.image-node:hover{box-shadow:0 0 22px #f59e0b59, var(--shadow-node-hover)}.board-node.audio-node:hover{box-shadow:0 0 22px #a78bfa59, var(--shadow-node-hover)}.board-node.code-node:hover{box-shadow:0 0 22px #34d39959, var(--shadow-node-hover)}.board-node.list-node:hover{box-shadow:0 0 22px #ec489959, var(--shadow-node-hover)}.board-node.link-node:hover{box-shadow:0 0 22px #3b82f659, var(--shadow-node-hover)}.node-handle{background:var(--panel);border:2px solid var(--text-muted);cursor:pointer;z-index:10;width:12px;height:12px;transition:all var(--motion-fast) var(--ease-standard);animation:handleAppear .15s var(--ease-spring) both;border-radius:50%;position:absolute;box-shadow:0 1px 4px #0000001a}@keyframes handleAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.node-handle:hover{border-color:var(--sky);background:var(--sky);transform:scale(1.3);box-shadow:0 0 8px #b8daf080}.node-handle-right{top:50%;right:-6px;transform:translateY(-50%)}.node-handle-right:hover{transform:translateY(-50%)scale(1.3)}.node-handle-left{top:50%;left:-6px;transform:translateY(-50%)}.node-handle-left:hover{transform:translateY(-50%)scale(1.3)}@keyframes nodeAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.board-node:hover{box-shadow:var(--shadow-node-hover)}.board-node.selected{box-shadow:0 0 0 3px var(--sky), var(--shadow-node-hover)}.node-header{align-items:center;gap:8px;padding:10px 14px 4px;display:flex}.node-type-icon{background:#ffffff14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;display:flex}.node-meta{color:var(--text-muted);font-size:11px;font-weight:500}.node-content{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;padding:8px 14px 14px;font-size:14px;line-height:1.6}.node-placeholder{color:var(--text-muted);font-style:italic}.node-edit-area{resize:none;color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;min-height:100px;padding:8px 14px 14px;font-family:inherit;font-size:14px;line-height:1.6}.text-node .node-content{flex:1}.image-node .node-content{padding:0}.node-image{object-fit:cover;border-radius:0 0 var(--radius-lg) var(--radius-lg);width:100%;display:block}.image-drop-zone{color:var(--text-muted);border-radius:var(--radius-md);transition:all var(--motion-fast) var(--ease-standard);border:2px dashed #00000014;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;margin:4px 8px 8px;padding:24px;font-size:13px;display:flex}.image-node.drag-over .image-drop-zone{border-color:var(--sky);background:#b8daf026}.drop-icon{font-size:28px}.audio-controls{gap:8px;padding:8px 14px;display:flex}.audio-btn{border:1px solid var(--divider);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:#ffffff0f;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.audio-btn:hover{background:#ffffff1f}.audio-btn.recording{background:var(--coral);color:var(--text-primary);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.rec-dot{background:#d35a4a;border-radius:50%;width:8px;height:8px;display:inline-block}.audio-transcript{color:var(--text-secondary);white-space:pre-wrap;border-top:1px solid #0000000d;margin-top:4px;padding:8px 14px 12px;font-size:12px;line-height:1.5}.audio-transcript.transcribing{color:var(--text-muted);align-items:center;gap:8px;font-style:italic;display:flex}.audio-transcript.transcribing:before{content:"";border:2px solid var(--divider);border-top-color:var(--sky);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}.list-items{flex-direction:column;gap:2px;padding:4px 14px 14px;list-style:none;display:flex}.list-item{align-items:center;gap:8px;display:flex}.list-bullet{color:var(--text-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:18px;line-height:1}.list-input{color:var(--text-primary);transition:border-color var(--motion-fast) var(--ease-standard);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;padding:4px 0;font-family:inherit;font-size:14px}.list-input:focus{border-bottom-color:#0000001a}.list-input::placeholder{color:var(--text-muted)}.list-remove{color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:16px;line-height:1}.list-item:hover .list-remove{opacity:1}.list-remove:hover{color:var(--error);background:#d38d8226}.code-preview{color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin:0;padding:4px 14px 14px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;overflow:hidden}.code-edit{resize:none;color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;min-height:160px;padding:4px 14px 14px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6}.link-content{flex-direction:column;gap:6px;padding:4px 14px 14px;display:flex}.link-favicon{border-radius:3px;flex-shrink:0}.link-meta-url{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.link-loading{color:var(--text-muted);align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex}.link-spinner{border:2px solid var(--divider);border-top-color:var(--sky);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-error-preview{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);background:#0000000a;align-items:flex-start;gap:8px;padding:8px;display:flex}.link-error-preview:hover{background:#00000014}.link-error-icon{background:var(--warning);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.link-error-url{color:var(--text-primary);word-break:break-all;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.3}.link-error-hint{color:var(--text-muted);margin-top:2px;font-size:11px}.link-embed{border-radius:var(--radius-md);min-height:100px;margin-bottom:4px;overflow:hidden}.link-image-wrap{border-radius:var(--radius-sm);cursor:pointer;line-height:0;overflow:hidden}.link-preview-image{object-fit:cover;width:100%;max-height:160px;display:block}.link-info{cursor:pointer}.link-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.link-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.link-url-display{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:10px;overflow:hidden}.link-play-btn{border:1px solid var(--divider);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:#ffffff0f;align-self:flex-start;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.link-play-btn:hover{background:#ffffff24;transform:translateY(-1px)}.link-no-preview{cursor:pointer;padding:4px 0}.link-no-preview:hover .node-placeholder{color:var(--info);text-decoration:underline}.link-edit{border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--panel);color:var(--text-primary);transition:border-color var(--motion-fast) var(--ease-standard);outline:none;margin:4px 14px 14px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12px}.link-edit:focus{border-color:var(--sky)}.right-panel{width:var(--panel-w);background:var(--panel);border-left:1px solid var(--divider);z-index:50;animation:panelSlideIn var(--motion-base) var(--ease-standard) both;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}@keyframes panelSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.panel-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.panel-type{color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:600}.panel-close{color:var(--text-muted);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px}.panel-close:hover{background:var(--bg);color:var(--text-primary)}.panel-section{border-bottom:1px solid var(--divider);padding:12px 16px}.panel-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:500;display:block}.panel-value{color:var(--text-secondary);font-size:13px}.panel-textarea{border:1px solid var(--divider);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;min-height:100px;transition:border-color var(--motion-fast) var(--ease-standard);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.panel-textarea:focus{border-color:var(--sky)}.panel-input{border:1px solid var(--divider);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--motion-fast) var(--ease-standard);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.panel-input:focus{border-color:var(--sky)}.panel-code{border:1px solid var(--divider);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;min-height:120px;transition:border-color var(--motion-fast) var(--ease-standard);outline:none;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12px}.panel-code:focus{border-color:var(--sky)}.color-row{flex-wrap:wrap;gap:8px;display:flex}.color-dot{cursor:pointer;width:24px;height:24px;transition:all var(--motion-fast) var(--ease-standard);border:2px solid #0000;border-radius:50%}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--panel)}.panel-delete{border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;margin:16px;padding:10px;font-family:inherit;font-size:13px;font-weight:500}.panel-delete:hover{background:#d38d821a}.bottom-bar{height:var(--bottombar-h);background:var(--panel);border-top:1px solid var(--divider);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.bottom-left{align-items:center;gap:8px;display:flex}.zoom-label{color:var(--text-muted);min-width:40px;font-size:12px;font-weight:500}.zoom-btn-text{color:var(--text-muted);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:500}.zoom-btn-text:hover{color:var(--text-primary);background:var(--bg)}.filter-chips{gap:4px;display:flex}.chip{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;border:none;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:500}.chip:hover{color:var(--text-primary);background:var(--bg)}.chip.active{background:var(--sky);color:var(--text-primary)}.zoom-controls{gap:4px;display:flex}.zoom-btn{border:1px solid var(--divider);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;justify-content:center;align-items:center;font-size:14px;display:flex}.zoom-btn:hover{background:var(--bg);color:var(--text-primary);border-color:var(--text-muted)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--divider);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mode-badge{color:var(--text-muted);background:var(--bg);border-radius:var(--radius-pill);letter-spacing:1.5px;margin-left:8px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.top-bar.builder{background:#2a2f33;border-bottom-color:#3a3f43}.top-bar.builder .logo-text,.top-bar.builder .mode-btn,.top-bar.builder .synthesize-btn,.top-bar.builder .mode-badge{color:#e0e4e6}.top-bar.builder .mode-btn.active{color:#e0e4e6;background:#3a3f43}.top-bar.builder .mode-btn:hover{color:#e0e4e6}.top-bar.builder .mode-switch{background:#22262a}.top-bar.builder .mode-badge{color:var(--sky);background:#22262a}.top-bar.builder .synthesize-btn{background:#b8daf026}.top-bar.builder .synthesize-btn:hover{background:#b8daf040}.top-bar.builder .avatar{border-color:#2a2f33}.left-rail.builder{background:#2a2f33;border-right-color:#3a3f43}.left-rail.builder .rail-btn:hover{background:#3a3f43}.rail-shortcut{color:var(--text-muted);opacity:.5;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:600;position:absolute;bottom:2px;right:4px}.left-rail:not(.builder) .rail-shortcut{display:none}.rail-footer{border-top:1px solid var(--divider);margin-top:auto;padding-top:8px}.left-rail.builder .rail-footer{border-top-color:#3a3f43}.rail-help{opacity:.5}.rail-help:hover{opacity:1}.shortcuts-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:fadeIn .15s var(--ease-standard);background:#27343766;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shortcuts-card{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);width:100%;max-width:380px;animation:cardIn .2s var(--ease-spring);padding:24px 28px}@keyframes cardIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.shortcuts-title{color:var(--text-primary);margin-bottom:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:600}.shortcuts-grid{flex-direction:column;gap:6px;display:flex}.shortcut-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.shortcut-key{color:var(--text-primary);background:var(--bg);border:1px solid var(--divider);text-align:center;border-radius:6px;flex-shrink:0;min-width:40px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.shortcut-desc{color:var(--text-secondary);text-align:right;font-size:12px}.shortcuts-close{border:1px solid var(--divider);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;margin-top:16px;padding:8px;font-family:inherit;font-size:11px}.shortcuts-close:hover{background:var(--bg);color:var(--text-primary)}.panel-select{border:1px solid var(--divider);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:var(--panel);transition:border-color var(--motion-fast) var(--ease-standard);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237B8A8D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:8px 28px 8px 10px;font-family:inherit;font-size:13px}.panel-select:focus{border-color:var(--sky)}.panel-shortcuts-hint{background:#2a2f33;border-bottom-color:#3a3f43}.panel-hint{color:#8b9a9d;letter-spacing:.3px;font-family:JetBrains Mono,monospace;font-size:10px}.builder .canvas-container{background:#1e2225}.builder .canvas-grid{opacity:.25}.builder .empty-title,.builder .empty-hint{color:#8b9a9d}.builder .board-node.selected{box-shadow:0 0 0 2px var(--sky), 0 0 20px #b8daf033}.builder .bottom-bar{background:#2a2f33;border-top-color:#3a3f43}.builder .zoom-label,.builder .zoom-btn-text,.builder .chip{color:#8b9a9d}.builder .chip:hover{color:#e0e4e6;background:#3a3f43}.builder .chip.active{color:var(--sky);background:#b8daf026}.builder .zoom-btn{color:#8b9a9d;border-color:#3a3f43}.builder .zoom-btn:hover{color:#e0e4e6;background:#3a3f43;border-color:#4a4f53}.synthesize-btn.loading{opacity:.8;pointer-events:none}.synthesize-btn:disabled{opacity:.4;cursor:not-allowed}.synth-spinner{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.top-bar.builder .synth-spinner{border-color:#b8daf04d;border-top-color:var(--sky)}.view-synthesis-btn{border:1px solid var(--divider);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.view-synthesis-btn:hover{background:var(--bg);color:var(--text-primary);border-color:var(--sky)}.top-bar.builder .view-synthesis-btn{color:#8b9a9d;border-color:#3a3f43}.top-bar.builder .view-synthesis-btn:hover{color:#e0e4e6;border-color:var(--sky);background:#3a3f43}.revert-layout-btn{border:1px solid var(--divider);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.revert-layout-btn:hover{background:var(--bg);color:var(--text-primary);border-color:var(--sage)}.top-bar.builder .revert-layout-btn{color:#8b9a9d;border-color:#3a3f43}.top-bar.builder .revert-layout-btn:hover{color:#e0e4e6;border-color:var(--sage);background:#3a3f43}.synth-loading-bar{z-index:1000;background:0 0;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.synth-loading-fill{background:linear-gradient(90deg, var(--sky), var(--sage), var(--sky));border-radius:2px;width:40%;height:100%;animation:1.5s ease-in-out infinite synthLoad}@keyframes synthLoad{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(400%)}}.synth-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:500;animation:fadeIn .2s var(--ease-standard);background:#27343773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.synth-panel{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel), 0 20px 60px #27343726;width:640px;max-width:92vw;max-height:85vh;animation:synthPanelIn .3s var(--ease-spring);flex-direction:column;display:flex;overflow:hidden}@keyframes synthPanelIn{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.synth-panel-header{border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.synth-panel-title-row{align-items:center;gap:10px;display:flex}.synth-sparkle{font-size:20px}.synth-panel-title{color:var(--text-primary);letter-spacing:-.3px;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700}.synth-panel-actions{gap:8px;display:flex}.synth-action-btn{border:1px solid var(--divider);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500}.synth-action-btn:hover{background:var(--bg);color:var(--text-primary)}.synth-action-clear:hover{border-color:var(--error);color:var(--error);background:#d38d8214}.synth-content{flex-direction:column;flex:1;gap:28px;padding:20px 24px 24px;display:flex;overflow-y:auto}.synth-section{flex-direction:column;gap:12px;display:flex}.synth-section-title{color:var(--text-primary);align-items:center;gap:10px;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600;display:flex}.synth-section-count{color:#fff;background:var(--sky);border-radius:var(--radius-pill);padding:1px 8px;font-size:11px;font-weight:500;line-height:1.6}.synth-summary-text{color:var(--text-primary);background:var(--elevated);border-radius:var(--radius-md);border-left:3px solid var(--sky);padding:14px 18px;font-size:14px;line-height:1.7}.synth-groups{flex-direction:column;gap:12px;display:flex}.synth-group-card{background:var(--elevated);border-radius:var(--radius-md);border-left:4px solid var(--sky);transition:all var(--motion-fast) var(--ease-standard);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.synth-group-card:hover{box-shadow:0 4px 16px #2734370f}.synth-group-header{align-items:center;gap:10px;display:flex}.synth-group-color{border-radius:4px;flex-shrink:0;width:12px;height:12px}.synth-group-name{color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:600}.synth-group-count{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:500}.synth-group-summary{color:var(--text-secondary);font-size:13px;line-height:1.6}.synth-group-flow{flex-direction:column;gap:6px;display:flex}.synth-flow-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:10px;font-weight:600}.flow-tree{flex-direction:column;gap:2px;font-size:13px;display:flex}.flow-step-row{align-items:center;gap:6px;padding:3px 0;display:flex}.flow-tree-lines{color:var(--divider);-webkit-user-select:none;user-select:none;flex-shrink:0;width:28px;font-family:JetBrains Mono,monospace;font-size:11px}.flow-icon{text-align:center;flex-shrink:0;width:14px;font-size:10px}.flow-title{color:var(--text-primary);font-weight:500}.flow-desc{color:var(--text-secondary);padding:2px 0 4px;font-size:12px;line-height:1.5}.synth-group-nodes{border-top:1px solid var(--divider);flex-wrap:wrap;gap:4px;padding-top:6px;display:flex}.synth-node-chip{border:1px solid var(--divider);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);background:0 0;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px}.synth-node-chip:hover{background:var(--bg);color:var(--text-primary);border-color:var(--sky)}.synth-connections{flex-direction:column;gap:8px;display:flex}.synth-connection{background:var(--elevated);border-radius:var(--radius-sm);border-left:3px solid var(--divider);align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.synth-conn-from{color:var(--text-primary);font-weight:600}.synth-conn-type{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-pill);background:var(--bg);padding:2px 6px;font-size:10px;font-weight:600}.synth-conn-to{color:var(--text-primary);font-weight:600}.synth-conn-label{color:var(--text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin-left:auto;font-size:12px;font-style:italic;overflow:hidden}.synth-questions{flex-direction:column;gap:8px;list-style:none;display:flex}.synth-question-item{color:var(--text-primary);align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex}.synth-question-bullet{background:var(--butter);width:22px;height:22px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.synth-steps{flex-direction:column;gap:8px;list-style:none;display:flex}.synth-step-item{color:var(--text-primary);align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex}.synth-step-arrow{background:var(--sage);width:22px;height:22px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.island-group{animation:islandFadeIn .5s var(--ease-standard) both}.island-group:first-child{animation-delay:0s}.island-group:nth-child(2){animation-delay:80ms}.island-group:nth-child(3){animation-delay:.16s}.island-group:nth-child(4){animation-delay:.24s}.island-group:nth-child(5){animation-delay:.32s}.island-group:nth-child(6){animation-delay:.4s}.island-group:nth-child(7){animation-delay:.48s}@keyframes islandFadeIn{0%{opacity:0}to{opacity:1}}.login-shell{background:linear-gradient(135deg,#f8f5ef 0%,#eef2f6 100%);justify-content:center;align-items:center;font-family:Plus Jakarta Sans,Inter,sans-serif;display:flex;position:fixed;inset:0}.login-card{background:#fff;border-radius:18px;flex-direction:column;gap:14px;width:380px;max-width:calc(100vw - 32px);padding:32px 28px;display:flex;box-shadow:0 20px 60px #14141e1f}.login-logo{color:#222;font-size:18px;font-weight:700}.login-title{letter-spacing:-.01em;color:#1a1a1a;font-size:24px;font-weight:700}.login-sub{color:#666;margin-bottom:8px;font-size:14px}.login-input{border:1.5px solid #e3e3e8;border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .12s}.login-input:focus{border-color:#6c8eff}.login-error{color:#c14545;font-size:13px}.login-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:10px;margin-top:6px;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .12s,transform 80ms}.login-btn:hover{opacity:.92}.login-btn:active{transform:translateY(1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-hint{color:#888;text-align:center;margin-top:4px;font-size:12px}.share-btn{border:1px solid var(--divider);cursor:pointer;color:var(--text-primary);background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s;display:inline-flex}.share-btn:hover{background:#ffffff1a}.board-title{color:var(--text-secondary,#444);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;max-width:220px;margin-left:12px;padding:4px 10px;font-family:inherit;font-size:14px;font-weight:500;overflow:hidden}.board-title:hover{background:#f4f4f8;border-color:#e0e0e6}.board-title-input{color:#1a1a1a;background:#fff;border:1px solid #6c8eff;border-radius:8px;outline:none;width:220px;margin-left:12px;padding:4px 10px;font-family:inherit;font-size:14px;font-weight:500}.remote-cursor{pointer-events:none;-webkit-user-select:none;user-select:none}
