.function-search{display:flex;flex-direction:column;height:100%}.search-header{padding:1rem;border-bottom:1px solid #30363d}.search-header h3{font-size:1rem;font-weight:600;color:#c9d1d9}.search-input-wrapper{position:relative;padding:1rem;border-bottom:1px solid #30363d}.search-input{width:100%;padding:.5rem;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;font-size:.9rem}.search-input:focus{outline:none;border-color:#58a6ff}.spinner{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #30363d;border-top-color:#58a6ff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.search-results{flex:1;overflow-y:auto}.result-item{padding:.75rem 1rem;border-bottom:1px solid #21262d;cursor:pointer;transition:background .15s}.result-item:hover,.result-item.selected{background:#21262d}.result-name{font-weight:500;color:#58a6ff;margin-bottom:.25rem}.result-meta{font-size:.8rem;color:#8b949e;display:flex;gap:.5rem}.result-package{color:#7c3aed}.result-file{color:#8b949e}.call-graph-viewer{display:flex;flex-direction:column;width:100%;height:100%;background:#0d1117;overflow:hidden}.call-graph-viewer .graph-controls{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.call-graph-viewer .graph-breadcrumbs{display:flex;align-items:center;gap:.5rem;flex:1;overflow-x:auto}.call-graph-viewer .breadcrumb-btn{background:transparent;border:none;color:#8b949e;cursor:pointer;font-size:.85rem;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.call-graph-viewer .breadcrumb-btn:hover{background:#21262d;color:#c9d1d9}.call-graph-viewer .breadcrumb-btn.active{color:#58a6ff;font-weight:500}.call-graph-viewer .breadcrumb-sep{color:#8b949e;margin:0 .25rem}.call-graph-viewer .graph-control-group{display:flex;align-items:center;gap:1rem;margin-left:1rem}.call-graph-viewer .graph-control-group label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#8b949e}.call-graph-viewer .graph-control-group input[type=range]{width:80px}.call-graph-viewer .graph-control-group select{background:#21262d;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;padding:.25rem .5rem;font-size:.85rem}.call-graph-viewer .control-value{min-width:20px;text-align:center;color:#58a6ff;font-weight:500}.call-graph-viewer .fit-btn{padding:.4rem .8rem;background:#21262d;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;cursor:pointer;font-size:.85rem}.call-graph-viewer .fit-btn:hover{background:#30363d}.call-graph-viewer .graph-legend{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#161b22;border-bottom:1px solid #30363d;font-size:.8rem;color:#8b949e;flex-shrink:0}.call-graph-viewer .legend-item{display:flex;align-items:center;gap:.5rem}.call-graph-viewer .legend-circle{width:12px;height:12px;border-radius:50%;border:2px solid;display:inline-block}.call-graph-viewer .legend-hint{margin-left:auto;font-style:italic;color:#6e7681}.call-graph-viewer .graph-area{flex:1;position:relative;overflow:hidden;min-height:0}.call-graph-viewer svg{width:100%;height:100%;cursor:grab}.call-graph-viewer svg:active{cursor:grabbing}.loading,.error{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.1rem;color:#8b949e}.error{color:#f85149}.source-viewer{display:flex;flex-direction:column;height:100%;background:#0d1117}.source-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #30363d;background:#161b22}.source-file{font-family:Courier New,monospace;font-size:.9rem;color:#c9d1d9}.close-btn{background:none;border:none;color:#8b949e;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#c9d1d9}.source-content{flex:1;overflow:auto}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#8b949e}.app{display:flex;flex-direction:column;height:100vh;width:100vw;background:#0d1117;color:#c9d1d9}.app-header{background:#161b22;border-bottom:1px solid #30363d;padding:1rem 2rem;display:flex;align-items:center;gap:2rem;flex-shrink:0}.app-header h1{font-size:1.5rem;font-weight:600;color:#58a6ff}.app-header p{color:#8b949e;font-size:.9rem}.stats-bar{display:flex;gap:1.5rem;margin-left:auto;font-size:.85rem;color:#8b949e}.app-content{display:flex;flex:1;overflow:hidden}.sidebar{width:300px;background:#161b22;border-right:1px solid #30363d;display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.main-content{flex:1;position:relative;overflow:hidden}.source-panel{width:500px;background:#161b22;border-left:1px solid #30363d;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.welcome h2{font-size:2rem;margin-bottom:1rem;color:#58a6ff}.welcome p{font-size:1.1rem;color:#8b949e;margin:.5rem 0}.welcome .hint{font-size:.9rem;font-style:italic;margin-top:2rem}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.2rem;color:#8b949e}.selected-info{padding:1rem;border-top:1px solid #30363d}.selected-info button{width:100%;padding:.5rem;background:#21262d;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;cursor:pointer;font-size:.9rem}.selected-info button:hover{background:#30363d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d1117;color:#c9d1d9;overflow:hidden}code{font-family:Courier New,monospace}#root{width:100vw;height:100vh;display:flex;flex-direction:column}
