.collection-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s,transform .2s;height:200px;display:flex;flex-direction:column;overflow:hidden}.collection-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.collection-card.tradeoff,.collection-card[data-type=tradeoff]{border-left:5px solid #FFBFBF}.collection-card.solution,.collection-card[data-type=solution]{border-left:5px solid #A8DF8E}.collection-card.question,.collection-card[data-type=question]{border-left:5px solid #f4e285}.collection-card.answer,.collection-card[data-type=answer]{border-left:5px solid #EAF2D7}.collection-card.example{border-left:5px solid #FFDEB9}.collection-card.custom-note{border-left:5px solid #93C5FD}.collection-card.chat-history{border-left:5px solid #FCA5A5}.collection-card.tag{border-left:5px solid #A7F3D0}.collection-card.abstraction,.collection-card[data-type=abstraction]{border-left:5px solid #AFDDFF}.collection-card.root,.collection-card[data-type=root]{border-left:5px solid #4CAF50}.collection-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-shrink:0}.collection-card-title{font-size:16px;font-weight:600;color:#1a202c;margin:0;max-width:calc(100% - 60px);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.collection-card-actions{display:flex;gap:8px;flex-shrink:0}.collection-card-action{padding:4px;border-radius:4px;background:none;border:none;cursor:pointer;color:#6b7280;transition:all .2s}.collection-card-action:hover{color:#111827;background-color:#f3f4f6}.card-content{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.card-description{margin:0;font-size:14px;color:#4b5563;white-space:pre-wrap;overflow-wrap:break-word;flex-grow:1}.card-transfer{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.transfer-label{font-size:12px;font-weight:500;color:#6b7280;margin:0 0 4px}.transfer-content{font-size:14px;color:#4b5563;margin:0}.card-tags{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.tag-button{display:flex;align-items:center;gap:4px;padding:4px 8px;background-color:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.tag-button:hover{background-color:#e5e7eb;color:#111827}.tag-tooltip{position:absolute;bottom:100%;left:0;background-color:#1f2937;color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;transform:translateY(-4px);z-index:10;max-width:200px;overflow:hidden;text-overflow:ellipsis}.tag-wrapper:hover .tag-tooltip{opacity:1}.collection-view{min-height:100vh;background-color:#f8fafc;padding:20px;max-width:1600px;width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden}.collection-header{width:100%;margin:0 auto 20px;display:flex;justify-content:center;align-items:center}.legend-container{display:flex;justify-content:center;background-color:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 1px 3px #0000001a}.legend-items{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.legend-item{display:flex;align-items:center;gap:8px}.legend-color.solution,.legend-color.tree-node,.legend-color.root{background-color:#a8df8e;border:1px solid rgba(0,0,0,.1)}.legend-color.tradeoff{background-color:#ffbfbf;border:1px solid rgba(0,0,0,.1)}.legend-color.question{background-color:#f4e285;border:1px solid rgba(0,0,0,.1)}.legend-color.answer{background-color:#eaf2d7;border:1px solid rgba(0,0,0,.1)}.legend-color.abstraction{background-color:#afddff;border:1px solid rgba(0,0,0,.1)}.legend-label{font-size:14px;color:#4b5563;font-weight:500}.header-left,.legend-toggle-button{display:none}.add-note-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.add-note-button:hover{background-color:#1d4ed8}.text-input-container{width:100%;padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.title-input{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;font-size:14px}.note-input{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;resize:vertical;margin-bottom:12px;font-size:14px;font-family:inherit}.text-input-actions{display:flex;justify-content:flex-end;gap:8px}.cancel-button,.add-button{padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.cancel-button{background-color:transparent;border:1px solid #e5e7eb;color:#6b7280}.cancel-button:hover{background-color:#f3f4f6}.add-button{background-color:#2563eb;color:#fff;border:none}.add-button:hover{background-color:#1d4ed8}.add-button:disabled{background-color:#93c5fd;cursor:not-allowed}.collection-grid{display:flex;flex-wrap:nowrap;gap:16px;max-width:100%;margin:0;overflow-x:auto;overflow-y:hidden;padding:4px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f1f5f9;align-items:stretch}.collection-grid::-webkit-scrollbar{height:8px;width:auto}.collection-grid::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px;margin:0 20px}.collection-grid::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:4px}.collection-grid::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}.collection-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s,transform .2s;height:150px;min-width:200px;max-width:400px;width:auto;flex:0 0 auto;overflow-y:auto;display:flex;flex-direction:column}.collection-card:hover{box-shadow:0 4px 6px #0000001a}.collection-card.tree-node,.collection-card.solution-card,.collection-card.root-card,.collection-card[data-type=solution],.collection-card[data-type=root]{border-left:5px solid #A8DF8E}.collection-card.example{border-left:4px solid #FFDEB9}.collection-card.tag{border-left:4px solid #A7F3D0}.collection-card.custom-note{border-left:4px solid #93C5FD}.collection-card.chat-history{border-left:4px solid #FCA5A5}.collection-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.collection-card-title{margin:0;font-size:16px;font-weight:600}.collection-card-actions{display:flex;gap:4px}.collection-card-action{padding:4px;background:none;border:none;cursor:pointer;color:#6b7280;border-radius:4px;transition:background-color .2s}.collection-card-action:hover{background-color:#f3f4f6;color:#111827}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;background-color:#f9fafb;border-radius:8px;border:1px dashed #d1d5db;max-width:1200px;margin:2rem auto}.empty-state-icon{color:#9ca3af;margin-bottom:16px}.empty-state-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#374151}.empty-state-description{margin:0;color:#6b7280;max-width:400px}.tree-node-badge{display:inline-block;background-color:#e4ccff;color:#6b21a8;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;margin-top:.75rem}.collection-sections{display:flex;flex-direction:column;gap:16px}.collection-section{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;background-color:#f3f4f6;cursor:pointer;transition:background-color .2s}.section-header:hover{background-color:#e5e7eb}.section-title{display:flex;align-items:flex-start;gap:8px}.section-icon{margin-top:2px;color:#6b7280;flex-shrink:0}.section-title-content{display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 24px)}.section-title h3{margin:0;font-size:16px;font-weight:600;color:#111827}.section-tree-nodes{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;max-width:80%}.tree-node-badge{display:inline-block;background-color:#ecfdf5;color:#047857;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;border:1px solid #a7f3d0;cursor:pointer;transition:all .2s ease;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.tree-node-badge:hover{background-color:#d1fae5;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.card-count{font-size:14px;color:#6b7280;background-color:#e5e7eb;padding:4px 8px;border-radius:4px;margin-top:2px;flex-shrink:0}.section-content{padding:16px;overflow:hidden}.collected-cards-container{position:relative;padding-bottom:16px;margin-bottom:8px}.scroll-buttons{display:flex;justify-content:space-between;position:absolute;top:50%;left:0;right:0;z-index:2;pointer-events:none;transform:translateY(-50%);padding:0 8px}.collected-cards-container:before,.collected-cards-container:after{content:"";position:absolute;top:0;bottom:16px;width:40px;z-index:1;pointer-events:none;opacity:.7}.collected-cards-container:before{left:0;background:linear-gradient(to right,#ffffffe6,#fff0)}.collected-cards-container:after{right:0;background:linear-gradient(to left,#ffffffe6,#fff0)}.tree-nodes-container,.collected-cards-container{margin-bottom:20px}.subsection-title{margin:0 0 12px;font-size:14px;font-weight:500;color:#4b5563;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.collection-card.tree-node{border-left:5px solid #A8DF8E}.collection-card.tradeoff-card,.collection-card[data-type=tradeoff]{border-left:5px solid #FFBFBF}.collection-card.question-card,.collection-card[data-type=question]{border-left:5px solid #f4e285}.collection-card.answer-card,.collection-card[data-type=answer]{border-left:5px solid #EAF2D7}.collection-card.abstraction-card,.collection-card[data-type=abstraction]{border-left:5px solid #AFDDFF}.card-type-legend,.legend-header,.close-legend-button,.section-tree-nodes-panel,.tree-node-item,.tree-node-title,.tree-node-description{display:none}.section-mechanism{margin-top:4px;font-size:13px;color:#4b5563;display:flex;flex-direction:column;gap:4px}.mechanism-label{font-weight:500;color:#6b7280}.mechanism-name{color:#047857;font-weight:500;cursor:pointer;transition:color .2s;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:#0478574d}.mechanism-name:hover{color:#065f46;text-decoration-color:#047857b3}.section-description{padding:4px 0;font-size:13px;color:#4b5563;white-space:pre-wrap;line-height:1.5;margin-top:4px}.scroll-button{width:36px;height:36px;border-radius:50%;background-color:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 5px #0000001a;transition:all .2s ease;pointer-events:auto;color:#4b5563}.scroll-button:hover{background-color:#f3f4f6;color:#111827;box-shadow:0 4px 8px #00000026}.scroll-button:active{transform:scale(.95)}.scroll-left{margin-left:8px}.scroll-right{margin-right:8px}.explore-card{position:relative;padding:10px;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a;width:430px;min-height:120px;max-height:none;overflow-y:visible;cursor:grab;transition:box-shadow .2s,height .3s ease}.explore-card:hover{box-shadow:0 4px 8px #00000026}.card-title{margin:0 0 8px;font-size:16px;font-weight:600;padding-right:24px}.card-description{margin:0;font-size:14px;color:#4b5563;white-space:pre-wrap;overflow-wrap:break-word}.remove-button{position:absolute;top:10px;right:10px;background:none;border:none;color:#6b7280;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center}.collect-button{position:absolute;top:10px;right:36px;background:none;border:none;color:#6b7280;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center}.copy-button{position:absolute;top:10px;right:62px;background:none;border:none;color:#6b7280;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center}.collect-button:hover{background-color:#0000000d;color:#047857}.copy-button:hover{background-color:#0000000d;color:#0284c7}.remove-button:hover{background-color:#0000000d;color:#111827}.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.tag{font-size:12px;padding:2px 6px;background-color:#0000001a;border-radius:4px;color:#4b5563}.mechanism-label{margin-top:8px;font-size:12px;font-style:italic;color:#6b7280}.explore-card.root-card{border-left:10px solid #4CAF50}.explore-card.tradeoff-card{border-left:10px solid #FFBFBF}.explore-card.solution-card,.explore-card.tree-node-card{border-left:10px solid #A8DF8E}.explore-card.custom-note-card{border-left:10px solid #93C5FD}.explore-card.abstraction-card,.explore-card.question-card{background-color:transparent!important}.explore-card.answer-card{border-left:10px solid #EAF2D7}.explore-card.question-card .card-title{font-size:14px;color:#4b5563;font-weight:400;display:flex;align-items:center}.explore-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.explore-card-title{font-size:1rem;font-weight:600;color:#1a202c}.explore-card-actions{display:flex;gap:.5rem}.explore-card-button{padding:.25rem;border-radius:.375rem;background:none;border:none;cursor:pointer;color:#64748b;transition:all .2s}.explore-card-button:hover{color:#1a202c;background-color:#f1f5f9}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag-wrapper{position:relative}.tag-button{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background-color:#fff;border:1px solid #E5E7EB;border-radius:9999px;font-size:.75rem;color:#4b5563;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d}.tag-button:hover{border-color:#d1d5db;background-color:#f9fafb}.tag-tooltip{visibility:hidden;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:.5rem .75rem;background-color:#1f2937;color:#fff;font-size:.75rem;border-radius:.375rem;white-space:nowrap;z-index:50;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;opacity:0;transition:opacity .2s,visibility .2s}.tag-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:#1F2937 transparent transparent transparent}.tag-wrapper:hover .tag-tooltip{visibility:visible;opacity:1}.generate-button,.add-child-button,.show-tree-button,.concepts-button,.questions-button,.add-tradeoff-child-button,.gen-tradeoff-button,.add-idea-button,.generate-more-ideas-button{display:flex;align-items:center;justify-content:center;padding:6px;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;transition:background-color .2s;height:28px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.show-tree-button{background-color:#3b82f6}.show-tree-button:hover{background-color:#2563eb}.generate-button{color:#a8df8e;border:1px solid #A8DF8E}.generate-button:hover,.add-child-button:hover{background-color:#7bc559;color:#fff}.generate-button:disabled{background-color:#fff;cursor:not-allowed}.add-child-button{color:#ac0;border:1px solid #aacc00}.gen-tradeoff-button{color:#ffbfbf;border:1px solid #FFBFBF}.gen-tradeoff-button:hover,.add-tradeoff-child-button:hover{background-color:#fa9b9b;color:#fff}.gen-tradeoff-button:disabled{background-color:#fff;cursor:not-allowed}.add-tradeoff-child-button{color:#fbd3c6;border:1px solid rgb(251,211,198)}.add-tradeoff-child-button:disabled{background-color:#fff;cursor:not-allowed}.add-idea-button{color:#a8df8e;border:1px solid #A8DF8E}.add-idea-button:hover{background-color:#a8df8e;color:#fff}.add-idea-button:disabled{background-color:#fff;cursor:not-allowed}.generate-more-ideas-button{color:#ac0;border:1px solid #aacc00}.generate-more-ideas-button:hover{background-color:#ac0;color:#fff}.generate-more-ideas-button:disabled{background-color:#fff;cursor:not-allowed}.card-actions{display:flex;flex-wrap:nowrap;gap:8px;margin-top:12px;justify-content:space-between;width:100%}.child-input-container{margin-top:12px;padding:12px;background-color:#fffffff2;border-radius:4px;box-shadow:0 1px 3px #0000001a}.child-title-input{width:100%;padding:8px;margin-bottom:8px;border:1px solid #ddd;border-radius:4px;font-size:12px;background-color:#fff}.child-description-input{width:100%;padding:8px;margin-bottom:12px;border:1px solid #ddd;border-radius:4px;font-size:12px;background-color:#fff;resize:vertical;min-height:60px}.child-input-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.child-input-actions button{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s;min-width:70px}.child-input-actions .cancel-button{background-color:#9fa8da;color:#fff}.child-input-actions .cancel-button:hover{background-color:#7986cb}.child-input-actions .add-button{background-color:#4caf50;color:#fff}.child-input-actions .add-button:hover{background-color:#388e3c}.child-input-actions .add-button:disabled{background-color:#fff;cursor:not-allowed}.confirmation-dialog{margin-top:12px;padding:16px;background-color:#fffffff2;border-radius:4px;box-shadow:0 2px 4px #0000001a;border:1px solid rgba(0,0,0,.1)}.confirmation-dialog h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1a202c}.confirmation-content{margin-bottom:16px;padding:8px;background-color:#00000005;border-radius:4px}.confirmation-content p{margin:6px 0;font-size:12px;color:#4b5563}.confirmation-content strong{color:#1a202c;font-weight:600}.confirmation-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.confirmation-actions button{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s;min-width:70px}.confirmation-actions .cancel-button{background-color:#9fa8da;color:#fff}.confirmation-actions .cancel-button:hover{background-color:#7986cb}.confirmation-actions .confirm-button{background-color:#4caf50;color:#fff}.confirmation-actions .confirm-button:hover{background-color:#388e3c}.abstractions-wrapper{position:absolute;right:30%;top:0;width:250px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:9000;border:1px solid #e2e8f0}.abstractions-container{padding:16px}.abstractions-container h4{margin:0 0 12px;color:#4a5568;font-size:14px;font-weight:600}.abstractions-list{display:flex;flex-direction:column;gap:8px}.abstraction-item{position:relative;padding:8px 12px;background:#f7fafc;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid #e2e8f0;font-size:13px;color:#2d3748}.abstraction-item:hover{background:#edf2f7;transform:translate(2px);box-shadow:0 2px 4px #0000000d}.abstraction-item:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:calc(100% - 20px);max-width:250px;padding:8px 12px;border-radius:6px;background-color:#1f2937;color:#fff;font-size:12px;text-align:left;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.abstraction-item:hover:after{opacity:1;visibility:visible}.abstraction-item:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#1f2937 transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100}.abstraction-item:hover:before{opacity:1;visibility:visible}.close-abstractions{position:absolute;top:8px;right:8px;background:none;border:none;color:#718096;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-abstractions:hover{background:#f7fafc;color:#4a5568}.concepts-button{color:#afddff;border:1px solid #AFDDFF}.concepts-button:hover{background-color:#8accfe;color:#fff}.concepts-button:disabled{background-color:#fff;cursor:not-allowed}.questions-wrapper{position:absolute;top:0;right:30%;width:300px;background-color:#fff;z-index:9000;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid #e2e8f0}.close-questions{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:10}.close-questions:hover{background-color:#f0f0f0;color:#333}.questions-container{display:flex;flex-direction:column;overflow:hidden;background-color:#fff;padding:12px}.add-question-form{display:flex;gap:6px;padding:12px;background-color:#fff;z-index:1;width:100%}.question-input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;font-size:13px;box-shadow:inset 0 1px 2px #0000000d;transition:border-color .2s ease}.question-input:focus{outline:none;border-color:#90cdf4;box-shadow:0 0 0 3px #4299e126}.add-question-button{padding:6px 10px;background-color:#3182ce;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.add-question-button:disabled{background-color:#fff;cursor:not-allowed}.questions-button{color:#f4e285;border:1px solid #f4e285}.questions-button:hover{background-color:#ffd09b;color:#fff}.questions-button:disabled{background-color:#fff;cursor:not-allowed}.explore-card.answer-card .card-title{font-size:14px;color:#2d3748;font-weight:500;display:flex;align-items:center}.card-highlighted{box-shadow:0 0 0 2px gold,0 0 15px 2px #ffd700b3!important;z-index:10!important;animation:card-pulse 1.5s infinite}@keyframes card-pulse{0%{box-shadow:0 0 0 2px gold,0 0 5px 2px #ffd70080}50%{box-shadow:0 0 0 2px gold,0 0 15px 2px #ffd700cc}to{box-shadow:0 0 0 2px gold,0 0 5px 2px #ffd70080}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.explore-view{width:100vw;height:100vh;background-color:#f8fafc}.explore-info{background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 2px 4px #0000001a}.explore-navigation{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.nav-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f1f5f9;border:none;border-radius:.5rem;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.nav-button:hover:not(:disabled){background-color:#e2e8f0;color:#1e293b}.nav-button:disabled{opacity:.5;cursor:not-allowed}.page-indicator{font-size:.875rem;color:#64748b}.legend{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.tree-node{background-color:#e4ccff}.legend-color.root-node{background-color:#c3e4a6}.legend-color.tradeoff-node{background-color:#ffbfbf}.legend-color.solution-node{background-color:#a8df8e}.legend-color.custom-note{background-color:#93c5fd}.legend-color.abstraction-node{background-color:#9c27b0}.add-note-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.add-note-button:hover{background-color:#2563eb}.text-input-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 2px 4px #0000001a}.title-input{width:100%;padding:.75rem;border:1px solid #E2E8F0;border-radius:.375rem;font-size:.875rem;margin-bottom:.75rem}.title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.note-input{width:100%;padding:.75rem;border:1px solid #E2E8F0;border-radius:.375rem;font-size:.875rem;resize:vertical;min-height:100px;margin-bottom:1rem}.note-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.text-input-actions{display:flex;justify-content:flex-end;gap:.5rem}.cancel-button{padding:.5rem 1rem;background-color:#f3f4f6;color:#4b5563;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:#e5e7eb}.add-button{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.add-button:hover{background-color:#2563eb}.add-button:disabled{background-color:#cbd5e0;cursor:not-allowed}.explore-actions{display:flex;gap:10px;margin-bottom:16px}.analyze-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.analyze-button:hover{background-color:#2563eb}.analyze-button:disabled{background-color:#9ca3af;cursor:not-allowed}.server-status{margin-top:16px;padding:8px 12px;border-radius:4px;background-color:#f1f3f5;font-size:14px;display:flex;align-items:center}.server-status .status-dot{width:10px;height:10px;border-radius:50%;margin-right:8px}.server-status .status-text{color:#666;margin-right:12px}.server-status p{margin:0;color:#4b5563;font-weight:500}.server-status.online .status-dot{background-color:#20bf6b}.server-status.offline .status-dot{background-color:#e74c3c}.server-status.unknown .status-dot{background-color:#f39c12}.layout-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#5c6bc0;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s;margin-left:8px}.layout-button:hover{background-color:#3f51b5}.layout-button:disabled{background-color:#9fa8da;cursor:not-allowed}.abstractions-panel{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:15px;max-width:420px;max-height:65vh;overflow-y:auto;margin-left:15px;margin-bottom:15px;z-index:10}.abstractions-panel h3{margin-top:0;margin-bottom:10px;font-size:16px;border-bottom:1px solid #eee;padding-bottom:8px}.abstractions-list{display:flex;flex-direction:column;gap:10px}.abstraction-panel-item{background:#f9f9f9;border-radius:6px;padding:10px;cursor:pointer;transition:all .2s}.abstraction-panel-item:hover{background:#f0f0f0;transform:translateY(-2px)}.abstraction-panel-item h4{margin:0 0 5px;font-size:14px;color:#333}.abstraction-panel-item p{margin:0 0 5px;font-size:12px;color:#666}.abstraction-panel-item small{display:block;font-size:11px;color:#999}.highlighted-node{filter:drop-shadow(0 0 10px rgba(255,215,0,.8));z-index:1000!important;animation:pulse 1.5s infinite}@keyframes pulse{0%{filter:drop-shadow(0 0 5px rgba(255,215,0,.5))}50%{filter:drop-shadow(0 0 15px rgba(255,215,0,.8))}to{filter:drop-shadow(0 0 5px rgba(255,215,0,.5))}}.sidebar{position:fixed;left:0;top:0;height:100vh;background-color:#f8f9fa;width:250px;transition:width .3s ease;box-shadow:2px 0 5px #0000001a;z-index:100;display:flex;flex-direction:column;overflow-x:hidden}.sidebar.collapsed{width:50px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e2e8f0}.sidebar-header h2{margin:0;font-size:1.2rem;color:#333}.toggle-button{background:none;border:none;color:#64748b;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center;justify-content:center}.toggle-button:hover{background-color:#e2e8f0;color:#1e293b}.sidebar-content{flex:1;padding:16px 0;overflow-y:auto}.sidebar-section{margin-bottom:24px}.sidebar-section h3{font-size:.9rem;color:#64748b;margin:0 0 8px 16px;text-transform:uppercase;letter-spacing:.5px}.nav-items{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border:none;background:none;text-align:left;color:#334155;font-size:1rem;cursor:pointer;border-radius:4px;width:100%;transition:background-color .2s}.nav-item:hover{background-color:#e2e8f0}.nav-item.active{background-color:#e2f1ff;color:#3b82f6;font-weight:500}.tree-nav{display:flex;flex-direction:column;margin-top:8px}.tree-item{display:flex;align-items:center;padding:8px 16px;border:none;background:none;text-align:left;color:#334155;font-size:.95rem;cursor:pointer;transition:background-color .2s;position:relative}.tree-item-content{display:flex;align-items:center;gap:8px;position:relative;width:100%}.tree-indentation-container{display:flex;align-items:center;height:24px}.tree-indentation{width:16px;height:100%;position:relative}.tree-indentation:before{content:"";position:absolute;left:8px;top:-8px;height:40px;width:1px;background-color:#e2e8f0}.tree-indentation:last-child:after{content:"";position:absolute;left:8px;top:12px;width:8px;height:1px;background-color:#e2e8f0}.tree-indentation.last-in-level:before{height:20px}.tree-item.last-child .tree-indentation:last-child:before{height:20px}.tree-node-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:50%}.tree-node-icon.level-0{color:#fff;background-color:#3b82f6}.tree-node-icon.level-1{color:#fff;background-color:#7c3aed}.tree-node-icon.level-2{color:#fff;background-color:#ec4899}.tree-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:500}.tree-item:hover{background-color:#e2e8f0}.tree-item.active{background-color:#e2f1ff;color:#3b82f6;font-weight:500}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar.collapsed .tree-item{justify-content:center;padding:8px 0}.sidebar.collapsed .tree-node-icon.collapsed{display:flex;align-items:center;justify-content:center;background-color:#3b82f6;color:#fff;border-radius:50%}.concepts-nav{display:flex;flex-direction:column;margin-top:8px}.loading-indicator,.no-data-message{padding:12px 16px;font-size:.85rem;color:#64748b;font-style:italic}.concept-group{margin-bottom:12px}.concept-header{padding:8px 16px;margin-bottom:4px}.concept-title{font-weight:600;font-size:.95rem;color:#334155;display:block}.mechanisms-list{display:flex;flex-direction:column}.sidebar-mechanism-item{display:flex;align-items:center;padding:6px 10px;margin:2px 0 2px 8px;border:none;background:#e7ebf180;text-align:left;color:#334155;font-size:.85rem;cursor:pointer;border-radius:4px;transition:all .2s ease;width:calc(100% - 18px);position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-mechanism-item:hover{background-color:#e2e8f0;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.sidebar-mechanism-item:active{background-color:#d1d5db;transform:translateY(0)}.sidebar-mechanism-item.active{background-color:#dbeafe;border-left:3px solid #3b82f6;color:#1e40af;font-weight:500;padding-left:7px;box-shadow:0 1px 3px #0000001a}.mechanism-indent{margin-right:6px;color:#64748b}.sidebar-mechanism-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-mechanism-item .sidebar-description-hover{display:none;position:absolute;top:-5px;left:100%;background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;margin-left:.5rem;box-shadow:0 4px 6px -1px #0000001a;z-index:1000;width:250px}.sidebar-mechanism-item .sidebar-description-hover:before{content:"";position:absolute;top:10px;left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid white}.sidebar-mechanism-item:hover .sidebar-description-hover{display:block}.sidebar-mechanism-description{font-size:.875rem;color:#4b5563;margin:0;line-height:1.5}.search-container{margin-bottom:12px;padding:0 8px}.search-input-wrapper{position:relative;display:flex;align-items:center;background-color:#f1f5f9;border-radius:6px;padding:6px 8px;border:1px solid #e2e8f0}.search-icon{color:#64748b;margin-right:6px;flex-shrink:0}.search-input{flex:1;background:transparent;border:none;color:#334155;font-size:14px;outline:none;width:100%}.search-input::-moz-placeholder{color:#94a3b8}.search-input::placeholder{color:#94a3b8}.clear-search{background:none;border:none;color:#64748b;cursor:pointer;font-size:18px;line-height:1;padding:0;margin-left:4px}.clear-search:hover{color:#334155}.search-highlight{background-color:#dbeafe;border-radius:2px;padding:0 2px}.no-data-message p{margin:0;font-size:.875rem;color:#6b7280;text-align:center;padding:1rem}.custom-mechanisms-nav{display:flex;flex-direction:column;margin-top:8px}.sidebar-mechanism-item.custom-mechanism{display:flex;align-items:center;padding:6px 10px;margin:2px 0 2px 8px;border:none;background:#e7ebf180;text-align:left;color:#334155;font-size:.85rem;cursor:pointer;border-radius:4px;transition:all .2s ease;width:calc(100% - 18px);position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-mechanism-item.custom-mechanism:hover{background-color:#e2e8f0;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.sidebar-mechanism-item.custom-mechanism.active{background-color:#bfdbfe;border-left-color:#1d4ed8;color:#1e40af}.sidebar-mechanism-item.custom-mechanism .sidebar-mechanism-name{font-weight:500;color:#334155;color:#007bff}.add-idea-section{border-bottom:1px solid #e2e8f0;padding-bottom:16px}.add-idea-header{margin:0 16px 12px}.add-idea-header h3{margin:0;font-size:.9rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.custom-mechanism-form{padding:0 16px;margin-top:8px}.form-group{margin-bottom:12px}.form-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;color:#334155;background-color:#fff;transition:border-color .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f8f9fa;color:#64748b;cursor:not-allowed}.form-textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;color:#334155;background-color:#fff;resize:vertical;min-height:60px;transition:border-color .2s;font-family:inherit;box-sizing:border-box}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea:disabled{background-color:#f8f9fa;color:#64748b;cursor:not-allowed}.form-actions{display:flex;gap:8px;margin-top:12px}.cancel-button{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;background-color:#fff;color:#64748b;font-size:.875rem;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:#f8f9fa;border-color:#cbd5e1}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.add-button{flex:1;padding:8px 12px;border:1px solid #3b82f6;border-radius:4px;background-color:#3b82f6;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.add-button:hover{background-color:#2563eb;border-color:#2563eb}.add-button:disabled{opacity:.6;cursor:not-allowed;background-color:#94a3b8;border-color:#94a3b8}.start-container{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;max-width:1600px;width:100%;margin:0 auto;position:relative}.start-section{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.section-title{font-size:1.25rem;font-weight:600;color:#111827;margin-top:0;margin-bottom:1rem}.dropdown-container{margin-bottom:1rem}.challenge-dropdown{width:100%;max-width:400px;padding:.5rem;border-radius:.375rem;border:1px solid #e5e7eb;background-color:#f9fafb;font-size:.875rem;color:#374151;cursor:pointer}.challenge-dropdown:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.challenge-dropdown:disabled{opacity:.6;cursor:not-allowed}.loading-indicator{margin-top:.5rem;font-size:.875rem;color:#4b5563;display:flex;align-items:center}.loading-indicator:before{content:"";display:inline-block;width:1rem;height:1rem;border:2px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;margin-right:.5rem;animation:spin 1s linear infinite}.server-status{display:flex;align-items:center;margin-top:.5rem;font-size:.75rem}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.375rem}.server-status.online .status-dot{background-color:#10b981}.server-status.offline .status-dot{background-color:#ef4444}.server-status.unknown .status-dot{background-color:#f59e0b}.server-status.online .status-text{color:#10b981}.server-status.offline .status-text{color:#ef4444}.server-status.unknown .status-text{color:#f59e0b}.problem-info{margin-top:.5rem;padding:.5rem;background-color:#6366f11a;border-radius:.375rem;font-size:.875rem;color:#4338ca}.challenge-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1.5rem;min-height:100px;position:relative}.challenge-content{display:flex;flex-direction:column;height:100%;min-height:100px}.challenge-text-content{flex:1}.challenge-title{font-size:.95rem;color:#4b5563;margin:0 0 .75rem;line-height:1.3}.challenge-description{font-size:.95rem;color:#4b5563;margin:0;line-height:1.6;text-align:justify}.challenge-text{font-size:1.125rem;color:#111827;margin:0}.challenge-placeholder{color:#9ca3af;margin:0}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem}.main-content.full-width .concepts-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.concept-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1.25rem;transition:all .2s;position:relative;overflow:visible}.concept-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.concept-header{margin-bottom:1rem;padding:0}.concept-name{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.concept-description{font-size:.875rem;color:#b9bec7;margin:0;line-height:1.5}.concept-header:hover{background-color:transparent}.concept-name:hover{color:#111827}.mechanism-item{position:relative;padding:.25rem 0;display:inline-block;margin-right:.75rem;margin-bottom:.25rem;cursor:pointer}.mechanism-item .description-hover{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;margin-bottom:.5rem;box-shadow:0 4px 6px -1px #0000001a;z-index:1000;width:250px}.mechanism-item:hover .description-hover{display:block}.mechanism-item .description-hover:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.mechanism-description{font-size:.875rem;color:#4b5563;margin:0;line-height:1.5}.empty-concepts{grid-column:1 / -1;text-align:center;padding:2rem;color:#9ca3af}.mechanism-items{margin-top:1rem;padding-top:.75rem;border-top:1px dashed #e5e7eb}.mechanism-header{font-size:.875rem;font-weight:600;color:#6b7280;margin-top:0;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.mechanism-name{font-size:.875rem;color:#374151;cursor:pointer;display:block;border-radius:.25rem;transition:all .2s}.mechanism-name:hover,.mechanism-item:hover .mechanism-name{color:#6366f1}@media (max-width: 768px){.concepts-grid{grid-template-columns:1fr}}.buttons-container{position:absolute;top:.5rem;right:3rem;display:flex;gap:.75rem;z-index:10}.navigation-buttons-container{position:relative;top:0rem;right:0rem;display:flex;gap:.75rem;z-index:10}.save-data-button,.delete-data-button,.explore-ideas-button,.recent-canvas-button{padding:.5rem .7rem;border:none;border-radius:.375rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.save-data-button{color:#3884ff;border:1px solid #3884ff}.save-data-button:hover{background-color:#3884ff;color:#fff}.delete-data-button{color:#ef9144;border:1px solid #ef9144}.delete-data-button:hover{background-color:#ef9144;color:#fff}.explore-ideas-button{color:#6366f1;border:1px solid #6366f1}.explore-ideas-button:hover{background-color:#6366f1;color:#fff}.recent-canvas-button{color:#6366f1;border:1px solid #6366f1}.recent-canvas-button:hover{background-color:#6366f1;color:#fff}.save-data-button:disabled,.delete-data-button:disabled,.explore-ideas-button:disabled,.recent-canvas-button:disabled{opacity:.6;cursor:not-allowed}.custom-mechanism-box{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;padding:1.5rem;margin-top:1rem}.custom-mechanism-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:500;color:#374151}.input-group input,.input-group textarea{padding:.5rem;border-radius:.375rem;border:1px solid #d1d5db;background-color:#fff;font-size:.875rem;color:#374151;transition:border-color .2s}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.input-group input:disabled,.input-group textarea:disabled{background-color:#f3f4f6;opacity:.6;cursor:not-allowed}.add-mechanism-button{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;align-self:flex-start}.add-mechanism-button:hover:not(:disabled){background-color:#2563eb}.add-mechanism-button:disabled{opacity:.5;cursor:not-allowed}.custom-mechanisms-list{margin-top:1rem;padding-top:.75rem;border-top:1px dashed #e5e7eb}.custom-mechanisms-list h4{font-size:.875rem;font-weight:600;color:#6b7280;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.custom-mechanism-items{display:flex;flex-wrap:wrap;gap:.5rem}.custom-mechanism-item{position:relative;padding:.25rem 0;display:inline-block;margin-right:.75rem;margin-bottom:.25rem;cursor:pointer;font-size:.875rem;color:#374151;border-radius:.25rem;transition:all .2s}.custom-mechanism-item:hover,.custom-mechanism-item:hover .custom-mechanism-name{color:#6366f1}.custom-mechanism-name{font-size:.875rem;color:#374151;cursor:pointer;display:block;border-radius:.25rem;transition:all .2s}.custom-mechanism-item .description-hover{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;margin-bottom:.5rem;box-shadow:0 4px 6px -1px #0000001a;z-index:1000;width:250px}.custom-mechanism-item:hover .description-hover{display:block}.custom-mechanism-item .description-hover:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.custom-mechanism-description{font-size:.875rem;color:#4b5563;margin:0;line-height:1.5}.custom-mechanism-placeholder{color:#666;font-style:italic;text-align:center;padding:20px}.custom-ideas-card{border:2px solid #007bff;background:linear-gradient(135deg,#f8f9ff,#fff);grid-column:span 2}.custom-ideas-card .concept-header{border-bottom:1px solid #007bff}.custom-ideas-card .concept-name{color:#007bff}.custom-ideas-card .custom-mechanism-inputs{padding:15px 0}.custom-ideas-card .input-group{margin-bottom:12px}.custom-ideas-card .input-group:last-of-type{margin-bottom:15px}.custom-ideas-card .add-mechanism-button{width:100%}.custom-ideas-card .mechanism-name{color:#374151}.custom-ideas-card .mechanism-name:hover,.custom-ideas-card .mechanism-item:hover .mechanism-name{color:#6366f1}@media (max-width: 768px){.custom-ideas-card{grid-column:span 1;min-width:auto}}.custom-challenge-input{display:flex;flex-direction:column;gap:1rem;width:100%}.custom-challenge-name-input{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:1rem;color:#111827;background-color:#fff;transition:border-color .2s,box-shadow .2s}.custom-challenge-name-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.custom-challenge-name-input:disabled{opacity:.6;background-color:#f9fafb;cursor:not-allowed}.custom-challenge-buttons{display:flex;gap:.75rem;align-items:center}.add-challenge-button{background-color:#6366f1;color:#fff;border:none;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.add-challenge-button:hover:not(:disabled){background-color:#4f46e5;transform:translateY(-1px)}.add-challenge-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-challenge-button{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,transform .1s}.cancel-challenge-button:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.cancel-challenge-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.custom-ideas-card{padding:1rem}.custom-challenge-buttons{flex-direction:column;gap:.5rem;align-items:stretch}.add-challenge-button,.cancel-challenge-button{width:100%;justify-content:center}}.load-concepts-button{color:#6366f1;border:1px solid #6366f1;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s ease;position:absolute;bottom:.5rem;right:1rem;min-width:auto;width:auto;height:30px}.load-concepts-button:hover:not(:disabled){background-color:#4f46e5;color:#fff}.load-concepts-button:disabled{background-color:#6c757d;cursor:not-allowed}.verification-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.verification-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;text-align:center}.verification-title{font-size:28px;font-weight:600;color:#333;margin-bottom:8px;margin-top:0}.verification-subtitle{font-size:16px;color:#666;margin-bottom:32px;line-height:1.4}.verification-form{display:flex;flex-direction:column;gap:20px}.input-group{text-align:left}.input-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.verification-input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.verification-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.verification-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.verification-input::-moz-placeholder{color:#999}.verification-input::placeholder{color:#999}.verification-button{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.verification-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #667eea4d}.verification-button:active:not(:disabled){transform:translateY(0)}.verification-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.error-message{background-color:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;border:1px solid #fecaca;font-size:14px;text-align:center}@media (max-width: 480px){.verification-container{padding:16px}.verification-card{padding:24px}.verification-title{font-size:24px}.verification-subtitle{font-size:14px}}.app-container{display:flex;min-height:100vh;background-color:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.app{display:flex;width:100%;min-height:100vh}.main-content{flex:1;transition:margin-left .3s ease,width .3s ease;margin-left:250px}.main-content.sidebar-collapsed{margin-left:60px}.main-content.full-width{width:100%;margin-left:0}.content-wrapper{flex:1;display:flex;flex-direction:column;margin-left:200px;transition:margin-left .3s ease;min-height:100vh}.content-wrapper.sidebar-collapsed{margin-left:50px}.content-panel{flex:1;padding:20px;overflow-y:auto;max-height:calc(100vh - 120px)}@media (max-width: 768px){.content-wrapper{margin-left:50px}.sidebar:not(.collapsed)+.content-wrapper{position:relative;z-index:0}}.tab-container{display:flex;justify-content:center}.tab-group{display:inline-flex;border-radius:.5rem;border:1px solid rgb(229,231,235);background-color:#fff;padding:.25rem}.tab-button{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab-button.active{background-color:#6366f1;color:#fff}.tab-button.inactive{color:#6b7280}.tab-button.inactive:hover{color:#374151}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-5{height:1.25rem}.w-5{width:1.25rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.items-center{align-items:center}.gap-2{gap:.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-4{border-width:4px}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
