*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#1a1a2e;color:#eee;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.floating-logo{position:absolute;top:.6rem;left:.8rem;display:flex;align-items:center;gap:.3rem;cursor:pointer;z-index:100;transition:opacity .2s}.floating-logo:hover{opacity:.8}.floating-logo img{height:28px;filter:brightness(0) invert(1)}.floating-logo span{font-size:1.25rem;color:#e94560;font-family:Space Grotesk,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;margin-top:8px;letter-spacing:.01em}.bottom-info{position:absolute;bottom:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;z-index:10;pointer-events:none}.bottom-info>*{pointer-events:auto}.controls{display:flex;gap:1rem;align-items:center;font-size:.8rem;color:#888}button{background:#e94560;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}button:hover{background:#ff6b6b}.version-display{background:#16213ecc;color:#888;padding:4px 10px;border-radius:4px;font-size:.75rem;font-family:monospace}button:disabled{background:#555;cursor:not-allowed}.main-container{flex:1;display:flex;overflow:hidden}#graph-container{flex:1;background:#0f0f23;position:relative;min-width:0}.sidebar{width:350px;min-width:350px;height:100dvh;background:#16213e;border-left:1px solid #0f3460;display:flex;flex-direction:column;overflow:hidden;position:relative;flex-shrink:0}.sidebar-tabs{display:flex;background:#0f3460;border-bottom:1px solid #0f3460;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out}.sidebar-tabs:not([style*="display: none"]){max-height:60px;opacity:1}.tab-button{flex:1;padding:1rem;background:transparent;color:#888;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;opacity:0;transform:translateY(-10px)}.tab-button:not([style*="display: none"]){animation:slideInTab .3s ease-out forwards}@keyframes slideInTab{to{opacity:1;transform:translateY(0)}}.tab-button:hover{background:#e945601a;color:#fff}.tab-button.active{background:#16213e;color:#e94560;border-bottom-color:#e94560}.tab-content{display:none;flex-direction:column;flex:1;overflow:hidden}.tab-content.active{display:flex}.sidebar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;cursor:col-resize;-webkit-user-select:none;user-select:none;background:transparent;transition:background .2s;z-index:1000}.sidebar.resize-active:before{background:#e94560}.sidebar-header{padding:1rem;border-bottom:1px solid #0f3460;font-weight:600}.actions-section{padding:1rem;border-bottom:1px solid #0f3460;flex-direction:column;row-gap:.75rem}.action-btn{width:100%;padding:.75rem;background:#e94560;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s;display:flex;row-gap:2rem;align-items:center;justify-content:center}.action-btn .ai-loading-spinner{height:1.1rem;width:1.1rem}.action-btn:hover:not(:disabled){background:#ff6b6b}.action-btn:disabled{background:#555;cursor:not-allowed}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.node-info{background:#1a1a2e;border-radius:8px;padding:1rem;margin-bottom:1rem}.node-info h3{color:#e94560;margin-bottom:.5rem;font-size:1rem}.property{display:flex;justify-content:space-between;padding:.3rem 0;border-bottom:1px solid #2a2a4a;font-size:.85rem}.property:last-child{border-bottom:none}.property-key{color:#888}.property-value{color:#fff;word-break:break-all;text-align:right;max-width:60%}.nested-properties{background:#0f34604d;border-left:2px solid #0f3460;padding:.5rem;margin:.25rem 0;border-radius:4px;text-align:left}.nested-property{display:flex;gap:.5rem;padding:.25rem 0;font-size:.85rem;align-items:flex-start}.nested-key{color:#888;font-weight:500;min-width:fit-content}.nested-value{color:#fff;word-break:break-word;flex:1}.nested-properties .nested-properties{margin-left:.5rem;background:#0f346033}.stats{display:flex;gap:.4rem;font-size:.85rem;color:#888}.stats span{color:#e94560}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;color:#888}.legend{position:absolute;bottom:1rem;left:1rem;background:#16213ee6;padding:1rem;border-radius:8px;font-size:.8rem}.legend-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.legend-color{width:12px;height:12px;border-radius:50%}.legend:hover{background:#16213e66;transition:background .3s}.legend:hover .legend-color{opacity:.7;transition:opacity .3s}.legend:hover .legend-item{opacity:.8;transition:opacity .3s}.custom-toolbar{background:#16213e;border:1px solid #0f3460;border-radius:4px;padding:.5rem;opacity:.8!important;display:flex;gap:.5rem;box-shadow:0 2px 8px #000}.custom-toolbar:hover{opacity:1!important;transition:opacity .3s}.custom-toolbar div{background:#0f3460;fill:#fff;border:none;padding:.4rem .8rem;border-radius:3px;cursor:pointer;font-size:.8rem;transition:background .2s;min-width:30px}.custom-toolbar div:hover{background:#1e5597!important}.query-result-panel{max-height:0;overflow:hidden;background:#1a1a2e99;border-bottom:1px solid #0f3460;font-family:Fira Code,Monaco,Menlo,Courier New,monospace;font-size:.85rem;color:#eee;position:relative}.query-result-panel:has(#query-result-content:not(:empty)){max-height:300px;overflow-y:auto;padding:1rem;margin:.5rem;border-radius:4px}.query-result-close{position:absolute;top:.5rem;right:.2rem;background:transparent;border:none;color:#888;width:20px;height:20px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none;transition:color .4s}.query-result-panel:has(#query-result-content:not(:empty)) .query-result-close{opacity:1;pointer-events:auto}.query-result-close:hover{background:transparent;color:#e94560}.query-result-panel table{width:100%;border-collapse:collapse}.query-result-panel th,.query-result-panel td{border:1px solid #0f3460;padding:.5rem;text-align:left}.query-result-panel th{background:#0000004d;font-weight:600;color:#e94560}.ai-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;scrollbar-width:none;-ms-overflow-style:none}.ai-messages::-webkit-scrollbar{display:none}.ai-message{display:flex}.ai-message.user{justify-content:flex-end}.ai-message.assistant{justify-content:flex-start}.ai-message-content{max-width:90%;padding:.5rem;border-radius:5px;word-wrap:break-word;line-height:1.4;font-size:.8rem}.ai-message.user .ai-message-content{background:#e94560;color:#fff}.ai-message.assistant .ai-message-content{background:#16213e;color:#eee;border:1px solid #0f3460}.ai-message-content p{margin:.5em 0}.ai-message-content p:first-child{margin-top:0}.ai-message-content p:last-child{margin-bottom:0}.ai-message-content code{background:#0000004d;color:#ff8787;padding:.2em .4em;border-radius:3px;font-family:Monaco,Menlo,Courier New,monospace;font-size:.9em}.ai-message-content pre{background:#0006;border:1px solid #0f3460;border-radius:4px;padding:.75rem;overflow-x:auto;margin:.5em 0}.ai-message-content pre code{background:none;color:#eee;padding:0;border-radius:0;font-size:.85em}.ai-message-content ul,.ai-message-content ol{margin:.5em 0;padding-left:1.5em}.ai-message-content li{margin:.25em 0}.ai-message-content blockquote{border-left:3px solid #e94560;padding-left:1em;margin:.5em 0;color:#ccc;font-style:italic}.ai-message-content a{color:#4a9eff;text-decoration:none}.ai-message-content a:hover{text-decoration:underline}.ai-message-content h1,.ai-message-content h2,.ai-message-content h3,.ai-message-content h4,.ai-message-content h5,.ai-message-content h6{margin:.75em 0 .5em;color:#e94560}.ai-message-content h1:first-child,.ai-message-content h2:first-child,.ai-message-content h3:first-child,.ai-message-content h4:first-child,.ai-message-content h5:first-child,.ai-message-content h6:first-child{margin-top:0}.ai-message-content table{border-collapse:collapse;margin:.5em 0;width:100%}.ai-message-content th,.ai-message-content td{border:1px solid #0f3460;padding:.5em;text-align:left}.ai-message-content th{background:#0000004d;font-weight:600}.ai-message-content hr{border:none;border-top:1px solid #0f3460;margin:1em 0}.ai-message-content strong{font-weight:600;color:#fff}.ai-message-content em{font-style:italic}.orchestrator-plan{background:#64748b26;border-left:3px solid #64748b;border-radius:4px;padding:.75rem;margin:.5rem 0}.orchestrator-plan .plan-header{display:flex;align-items:center;gap:.5rem;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none}.orchestrator-plan.expanded .plan-header{margin-bottom:.5rem}.orchestrator-plan.collapsed .plan-header{margin-bottom:0}.orchestrator-plan .plan-header:hover{color:#cbd5e1}.orchestrator-plan .plan-icon{font-size:1.2rem}.orchestrator-plan .plan-toggle{margin-left:auto;font-size:.8rem;transition:transform .2s ease}.orchestrator-plan.collapsed .plan-toggle{transform:rotate(-90deg)}.orchestrator-plan.collapsed .plan-content{display:none}.orchestrator-plan.expanded .plan-content{display:block}.orchestrator-plan .plan-content{color:#cbd5e1;line-height:1.5}.tool-call{background:#3b82f626;border-left:3px solid #3b82f6;border-radius:4px;padding:.75rem;margin:.5rem 0}.tool-call .tool-header{display:flex;align-items:center;gap:.5rem;color:#60a5fa}.tool-call .tool-icon{font-size:1.2rem}.tool-call .tool-spinner{display:flex;gap:.35rem;align-items:center;margin-left:auto}.tool-call .tool-spinner .dot{width:6px;height:6px;background:#60a5fa;border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.tool-call .tool-spinner .dot:nth-child(1){animation-delay:0s}.tool-call .tool-spinner .dot:nth-child(2){animation-delay:.2s}.tool-call .tool-spinner .dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.cypher-query{background:#10b98126;border-left:3px solid #10b981;border-radius:4px;padding:.75rem;margin:.5rem 0}.cypher-query .query-header{display:flex;align-items:center;gap:.5rem;color:#34d399;cursor:pointer;-webkit-user-select:none;user-select:none}.cypher-query.expanded .query-header{margin-bottom:.5rem}.cypher-query.collapsed .query-header{margin-bottom:0}.cypher-query .query-header:hover{color:#6ee7b7}.cypher-query .query-icon{font-size:1.2rem}.cypher-query .query-toggle{margin-left:auto;font-size:.8rem;transition:transform .2s ease}.cypher-query.collapsed .query-toggle{transform:rotate(-90deg)}.cypher-query.collapsed .query-content{display:none}.cypher-query.expanded .query-content{display:block}.cypher-query pre{margin:.5rem 0 0!important;background:#0006!important;border-radius:4px;padding:.75rem!important;white-space:pre-wrap!important;word-break:break-word!important;overflow-x:auto!important}.cypher-query code{color:#6ee7b7!important;font-size:.85rem;font-family:Courier New,Courier,monospace;white-space:pre-wrap!important;word-break:break-word!important}.synthesis-indicator{background:#f59e0b26;border-left:3px solid #f59e0b;border-radius:4px;padding:.75rem;margin:.5rem 0}.synthesis-indicator .synthesis-content{display:flex;align-items:center;gap:.5rem;color:#fbbf24}.synthesis-indicator .synthesis-spinner{display:flex;gap:.35rem;align-items:center}.synthesis-indicator .synthesis-spinner .dot{width:6px;height:6px;background:#fbbf24;border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.synthesis-indicator .synthesis-spinner .dot:nth-child(1){animation-delay:0s}.synthesis-indicator .synthesis-spinner .dot:nth-child(2){animation-delay:.2s}.synthesis-indicator .synthesis-spinner .dot:nth-child(3){animation-delay:.4s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.response-text{margin-top:.5rem}.ai-input-section{background:transparent;position:relative}#ai-prompt{padding:.5rem .5rem 3.2rem;border-top:1px solid #0f3460;width:100%}.ai-input-section textarea{width:100%;background:#0f0f23;border:1px solid #0f3460;color:#fff;padding:.4rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;resize:none;min-height:80px;max-height:200px;outline:none;line-height:1.3;position:relative;z-index:5;border-radius:4px;transition:border .2s ease}.ai-input-section textarea:hover{border:1px solid #18467e}.ai-input-section textarea:focus{outline:none;border:1px solid #e94560}.ai-input-section textarea.cypher-mode{font-family:Fira Code,Monaco,Menlo,Courier New,monospace;font-size:.8rem;line-height:1.3}.ai-buttons{position:absolute;bottom:.75rem;right:.75rem;display:flex;gap:.5rem;z-index:10;pointer-events:none}.ai-buttons button{pointer-events:auto}.mode-toggle-switch{width:52px;height:24px;padding:0;display:flex;align-items:center;justify-content:space-between;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #4a5568;background:#2d3748f2;position:absolute;bottom:.8rem;left:.7rem;z-index:10}.mode-toggle-switch .toggle-icon{position:absolute;font-size:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:3;display:flex;align-items:center;justify-content:center;width:20px;height:20px;pointer-events:none}.mode-toggle-switch .chat-icon{left:2px;opacity:1}.mode-toggle-switch .cypher-icon{right:2px;opacity:.3;z-index:1}.mode-toggle-switch .toggle-knob{position:absolute;width:21px;height:20px;background:#ffffff26;border:1.5px solid #e94560;border-radius:45%;top:1px;left:2px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2;pointer-events:none}.mode-toggle-switch[data-mode=cypher]{border-color:#e94560}.mode-toggle-switch[data-mode=cypher] .toggle-knob{left:calc(100% - 22px)}.mode-toggle-switch[data-mode=cypher] .chat-icon{opacity:.3;z-index:1}.mode-toggle-switch[data-mode=cypher] .cypher-icon{opacity:1;z-index:3}.mode-toggle-switch:active .toggle-knob{width:24px}.ai-buttons button{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s;border:1px solid transparent}.ai-buttons .reset-btn{background:#2d3748f2;border:1px solid #4a5568;color:#a0aec0;position:relative;transition:all .2s}.ai-buttons .reset-btn .progress-ring{position:absolute;top:0;left:0;width:32px;height:32px;transform:rotate(-90deg);pointer-events:none}.ai-buttons .reset-btn .progress-ring-circle{stroke-dasharray:87.96;stroke-dashoffset:87.96;transition:stroke-dashoffset .2s ease-out}.ai-buttons .reset-btn.holding{color:#fff}.ai-buttons .reset-btn.resetting{background:#e94560!important;border-color:#e94560!important;color:#fff!important}.ai-buttons .reset-btn.holding .progress-ring-circle{stroke-dashoffset:0;transition:stroke-dashoffset .5s ease-out}.ai-buttons .reset-btn .reset-icon{position:relative;z-index:1}.ai-buttons .reset-btn:hover{background:#4a5568;color:#fff;transform:scale(1.1)}.ai-buttons #ai-prompt-send{background:#e94560f2;color:#fff;border:1px solid #e94560}.ai-buttons #ai-prompt-send:hover{background:#ff5572;transform:scale(1.1)}.ai-buttons #ai-prompt-send:disabled{background:#64646480;border-color:#555;cursor:not-allowed;opacity:.5}.ai-suggestions{position:absolute;bottom:100%;left:0;right:0;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;background:#16213efa;border-top:1px solid #0f3460;border-left:1px solid #0f3460;border-right:1px solid #0f3460;border-radius:4px 4px 0 0;max-height:2.2rem;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1);z-index:4;pointer-events:auto}.ai-suggestions:hover{max-height:300px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.ai-suggestions:hover::-webkit-scrollbar{display:none}.ai-suggestions-title{color:#888;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;-webkit-user-select:none;user-select:none}.ai-suggestion-bubble{background:#1a1a2e;border:1px solid #0f3460;color:#eee;padding:.5rem 1rem;border-radius:.3rem;font-size:.85rem;cursor:pointer;transition:border-color .2s ease;white-space:normal;word-wrap:break-word;flex-shrink:0;min-height:2.5rem;display:flex;align-items:center}.ai-suggestion-bubble:disabled{border-color:#555;opacity:.65;cursor:not-allowed}.ai-suggestion-bubble:enabled:hover{background:#1a1a2e;border-color:#e94560}.ai-loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(233,69,96,.2);border-radius:50%;border-top-color:#e94560;animation:spin .8s linear infinite}.loading-spinner{display:flex;align-items:center;gap:8px;padding:10px;color:#888;font-style:italic;justify-content:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(-380px);max-height:0}to{opacity:1;transform:translate(0);max-height:100px}}@keyframes slideOut{0%{opacity:1;transform:translate(0);max-height:100px}70%{opacity:0;max-height:0}to{opacity:0;transform:translate(-380px);max-height:0}}#mode-toggle{margin-left:auto}.discovery-progress{position:fixed;top:50px;left:4px;width:400px;max-height:400px;z-index:1000;display:flex;flex-direction:column}.progress-content{flex:1;overflow-y:hidden;padding:10px;font-size:.75rem}.progress-content>:nth-child(n+2){display:none}.progress-item{margin-bottom:12px;padding:10px;background:#0003;border-left:3px solid #1d78ff;border-radius:4px;transition:background .2s}.progress-item:last-child{margin-bottom:0}.progress-item:hover{background:#0000004d}.progress-item.error{border-left-color:#ff6b6b;background:#ff6b6b1a}.progress-item.success{border-left-color:#4caf50;background:#4caf501a}.progress-domain{font-weight:600;color:#e94560;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.progress-process{color:#fff;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.progress-label{flex:1}.progress-status{font-size:.75rem;color:#888;padding:2px 6px;background:#0000004d;border-radius:3px}.progress-bar{width:100%;height:20px;background:#0006;border-radius:3px;overflow:visible;position:relative;margin-bottom:4px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#4573e9,#6bb0ff);border-radius:3px;width:var(--dynamic-width, 1px);transition:width .3s ease}.progress-item.success .progress-bar-fill{background:linear-gradient(90deg,#4caf50,#66bb6a)}.progress-item.error .progress-bar-fill{background:linear-gradient(90deg,#ff6b6b,#ff8787)}.progress-counter{font-size:.7rem;color:#fff;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.8)}.progress-counter-row{position:absolute;top:0;left:0;right:0;height:100%;display:flex;align-items:center;gap:6px;font-size:.7rem;padding:0 8px;z-index:1}.progress-spinner{width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.progress-task-status{color:#fff;font-weight:500;margin-left:auto;font-size:.65rem;text-shadow:0 1px 2px rgba(0,0,0,.8);max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-error{font-size:.75rem;color:#ff8787;margin-top:4px;padding:4px;background:#ff6b6b1a;border-radius:2px;word-break:break-word}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#16213e;border:1px solid #0f3460;border-radius:8px;padding:2rem;max-width:500px;width:90%;box-shadow:0 4px 20px #00000080;animation:slideUp .2s ease-in-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.modal-header svg{flex-shrink:0}.modal-header h2{color:#e94560;font-size:1.25rem;margin:0}.modal-body{color:#ccc;line-height:1.6;margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions button{padding:.6rem 1.5rem;min-width:100px}.modal-btn-cancel{background:#555}.modal-btn-cancel:hover{background:#666}.modal-btn-confirm{background:#e94560}.modal-btn-confirm:hover{background:#ff6b6b}
