:root,[data-theme=dark]{--bg-app:#101216;--bg-surface:#181b22;--bg-surface-elevated:#212630;--bg-surface-hover:#282e3b;--border-subtle:#2b313e;--border-strong:#384050;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-contrast:#fff;--accent:#0ea5e9;--accent-hover:#38bdf8;--accent-bg-subtle:#0ea5e91f;--accent-border:#0ea5e959;--teal:#14b8a6;--green:#10b981;--amber:#f59e0b;--danger:#ef4444;--bg-editor:#0b0d10;--bg-editor-gutter:#0d0f13;--bg-code-block:#0b0d10;--bg-canvas:#0b0d10;--cm-active-line:#ffffff08;--cm-active-gutter:#161a22;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, Menlo, monospace;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--header-height:56px;--transition-fast:.15s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-app:#f8fafc;--bg-surface:#fff;--bg-surface-elevated:#f1f5f9;--bg-surface-hover:#e2e8f0;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-contrast:#0f172a;--accent:#0284c7;--accent-hover:#0369a1;--accent-bg-subtle:#0284c71a;--accent-border:#0284c74d;--teal:#0d9488;--green:#059669;--amber:#d97706;--danger:#dc2626;--bg-editor:#fff;--bg-editor-gutter:#f8fafc;--bg-code-block:#f8fafc;--bg-canvas:#f8fafc;--cm-active-line:#0284c70f;--cm-active-gutter:#e2e8f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color var(--transition-fast), color var(--transition-fast);font-size:14px;line-height:1.5;overflow:hidden}#root{flex-direction:column;height:100dvh;display:flex;overflow:hidden}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header{height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:50;transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:sticky;top:0}.brand-group{align-items:center;gap:.75rem;display:flex}.brand-icon{color:var(--accent);justify-content:center;align-items:center;display:flex}.brand-title{color:var(--text-contrast);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.brand-divider{background-color:var(--border-subtle);width:1px;height:1rem;display:inline-block}.brand-subtitle{color:var(--text-secondary);font-size:.85rem;font-weight:400}.header-actions{align-items:center;gap:.5rem;display:flex}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.825rem;font-weight:600;display:inline-flex}.btn-secondary{background-color:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-hover);border-color:var(--border-strong);color:var(--text-contrast)}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 0 12px #0ea5e959}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.theme-toggle-btn{padding:.45rem .65rem;font-size:.8rem;font-weight:500}.header-mode-toggle{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:2px;padding:2px;display:inline-flex}.header-mode-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.775rem;font-weight:600;display:inline-flex;position:relative}.header-mode-btn:hover{color:var(--text-contrast)}.header-mode-btn.active{background-color:var(--accent);color:#fff;box-shadow:0 1px 3px #00000026}.header-mode-dot{background-color:var(--teal);border-radius:50%;width:6px;height:6px;margin-left:2px;display:inline-block}.workspace-container{flex:1;grid-template-columns:1fr 1fr;gap:1rem;width:100%;max-width:1680px;min-height:0;margin:0 auto;padding:1rem 1.25rem;display:grid;overflow:hidden}@media (width<=960px){html,body{overflow:auto}#root{height:auto;min-height:100vh;overflow:visible}.workspace-container{grid-template-columns:1fr;height:auto;overflow:visible}.panel{min-height:520px}.brand-subtitle{display:none}}.panel{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);height:100%;min-height:0;transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-direction:column;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-subtle);background-color:var(--bg-surface-elevated);transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.panel-title-group{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.panel-badge{font-size:.7rem;font-family:var(--font-mono);background-color:var(--bg-surface);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:.15rem .4rem}.panel-footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-surface-elevated);transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.editor-wrapper{background-color:var(--bg-editor);min-height:0;transition:background-color var(--transition-fast);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.cm-fill-height{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;height:100%!important}.cm-theme{flex-direction:column;flex:1;min-height:0;display:flex;height:100%!important;font-family:var(--font-mono)!important;font-size:13px!important}.cm-editor{flex-direction:column;flex:1;display:flex;background-color:#0000!important;height:100%!important;min-height:0!important}.cm-scroller{flex:1;min-height:0;font-family:var(--font-mono)!important;overflow:auto!important}.cm-gutters{padding-right:4px;background-color:var(--bg-editor-gutter)!important;color:var(--text-muted)!important;border-right:1px solid var(--border-subtle)!important}.cm-activeLineGutter{background-color:var(--cm-active-gutter)!important;color:var(--accent)!important}.cm-activeLine{background-color:var(--cm-active-line)!important}.cm-jump-highlight{border-radius:2px;animation:1.8s ease-out forwards cm-pulse-highlight;background-color:var(--accent-bg-subtle,#0ea5e92e)!important;border-left:3px solid var(--accent,#0ea5e9)!important}@keyframes cm-pulse-highlight{0%{background-color:#0ea5e966}60%{background-color:#0ea5e933}to{background-color:#0000}}.editor-nav-notice{color:var(--text-primary);font-size:.775rem;font-family:var(--font-mono);background-color:#f59e0b1f;border-bottom:1px solid #f59e0b4d;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .85rem;display:flex}.editor-file-badge{font-size:.7rem;font-family:var(--font-mono);color:var(--accent);background-color:var(--accent-bg-subtle);border:1px solid var(--accent-border);border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:.15rem .5rem;overflow:hidden}.results-placeholder-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:2.5rem 2rem;display:flex;overflow-y:auto}.placeholder-hero-icon{border-radius:var(--radius-full);background-color:var(--accent-bg-subtle);border:1px solid var(--accent-border);width:56px;height:56px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.placeholder-title{color:var(--text-contrast);margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.placeholder-text{color:var(--text-secondary);max-width:420px;margin-bottom:2rem;font-size:.875rem;line-height:1.5}.features-preview-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;max-width:540px;display:grid}@media (width<=600px){.features-preview-grid{grid-template-columns:1fr}}.feature-preview-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;transition:all var(--transition-fast);padding:.85rem}.feature-card-icon{color:var(--accent);margin-bottom:.4rem}.feature-card-title{color:var(--text-primary);margin-bottom:.2rem;font-size:.8rem;font-weight:600}.feature-card-desc{color:var(--text-muted);font-size:.725rem;line-height:1.35}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.btn-icon{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.btn-icon:hover{color:var(--text-primary);background-color:var(--bg-surface-hover)}.badge{border-radius:var(--radius-full);align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-success{color:var(--green);background-color:#10b98126;border:1px solid #10b98159}.badge-warning{color:var(--amber);background-color:#f59e0b26;border:1px solid #f59e0b66}.badge-subtle{background-color:var(--bg-surface-hover);color:var(--text-secondary);border:1px solid var(--border-subtle)}.panel-badge-active{background-color:var(--accent-bg-subtle)!important;color:var(--accent)!important;border-color:var(--accent-border)!important}.panel-badge-success{color:var(--green)!important;background-color:#10b98126!important;border-color:#10b98159!important}.panel-badge-error{color:var(--danger)!important;background-color:#ef444426!important;border-color:#ef444459!important}.loading-orbit{border-radius:var(--radius-full);border:1px dashed var(--accent-border);background:radial-gradient(circle,#0ea5e926 0%,#0000 70%);justify-content:center;align-items:center;width:64px;height:64px;display:flex}.loading-orbit-core{justify-content:center;align-items:center;display:flex}.analysis-steps-list{flex-direction:column;gap:.65rem;width:100%;max-width:480px;display:flex}.analysis-step-item{border-radius:var(--radius-md);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);text-align:left;transition:all var(--transition-fast);opacity:.55;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;display:flex}.analysis-step-item.step-active{opacity:1;border-color:var(--accent);background-color:#0ea5e90f;box-shadow:0 0 12px #0ea5e91a}.analysis-step-item.step-completed{opacity:.9;border-color:#10b98166}.step-indicator{color:var(--text-muted);justify-content:center;align-items:center;margin-top:.15rem;display:flex}.step-active .step-indicator{color:var(--accent)}.step-completed .step-indicator{color:var(--green)}.step-content{flex:1}.step-title{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:.825rem;font-weight:600;display:flex}.step-desc{color:var(--text-muted);margin-top:.15rem;font-size:.725rem;line-height:1.35}.step-status-tag{border-radius:var(--radius-sm);color:var(--green);text-transform:uppercase;background-color:#10b98133;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.step-status-active{background-color:var(--accent-bg-subtle);color:var(--accent)}.results-scroll-container{flex-direction:column;flex:1;gap:1.25rem;padding:1.25rem;display:flex;overflow-y:auto}.overview-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);padding:1rem 1.15rem}.overview-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.overview-title{color:var(--text-contrast);font-size:.9rem;font-weight:600}.overview-body{color:var(--text-primary);font-size:.865rem;line-height:1.55}.overview-text{white-space:pre-line}.degraded-banner{border-radius:var(--radius-md);background-color:#f59e0b14;border:1px solid #f59e0b59;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;padding:.75rem .9rem;display:flex}.degraded-icon{color:var(--amber);flex-shrink:0;margin-top:.1rem}.degraded-content{flex:1}.degraded-title{color:var(--amber);margin-bottom:.2rem;font-size:.825rem;font-weight:600}.degraded-message{color:var(--text-primary);margin-bottom:.25rem;font-size:.775rem;line-height:1.4}.degraded-note{color:var(--text-muted);font-size:.7rem}.component-list-container{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);padding:1rem 1.15rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.section-title{color:var(--text-contrast);font-size:.9rem;font-weight:600}.component-items-list{flex-direction:column;gap:.65rem;display:flex}.component-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:.75rem .85rem}.component-card:hover{border-color:var(--border-strong);background-color:var(--bg-surface-hover)}.component-card-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.component-identity{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.component-name{font-family:var(--font-mono);color:var(--text-contrast);font-size:.85rem;font-weight:600}.component-signature{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.component-line{font-family:var(--font-mono);color:var(--accent);background-color:var(--accent-bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--accent-border);flex-shrink:0;padding:.1rem .35rem;font-size:.72rem}.type-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.68rem;font-weight:600;display:inline-flex}.type-badge-function{color:var(--accent);background-color:#0ea5e926;border:1px solid #0ea5e94d}.type-badge-class{color:var(--teal);background-color:#14b8a626;border:1px solid #14b8a659}.type-badge-method{color:#c084fc;background-color:#a855f726;border:1px solid #a855f759}.component-responsibility{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.component-tags-row{border-top:1px dashed var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;padding-top:.45rem;display:flex}.tag{font-family:var(--font-mono);border-radius:var(--radius-sm);padding:.1rem .35rem;font-size:.68rem}.tag-internal-call{background-color:var(--bg-surface-elevated);color:var(--accent);border:1px solid var(--border-subtle)}.tag-external-call{background-color:var(--bg-surface-elevated);color:var(--text-muted);border:1px solid var(--border-subtle)}.empty-components-notice{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);align-items:flex-start;gap:.65rem;padding:.85rem;font-size:.8rem;line-height:1.4;display:flex}.component-card-active{box-shadow:0 0 0 1px var(--accent-border);border-color:var(--accent)!important;background-color:#0ea5e912!important}.component-card-active .component-name{color:var(--accent)}.relationship-graph-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);flex-direction:column;gap:.75rem;padding:1rem 1.15rem;display:flex}.cytoscape-container{width:100%;position:relative}.cytoscape-canvas{background-color:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;height:420px;transition:background-color var(--transition-fast), border-color var(--transition-fast);overflow:hidden}.graph-toolbar{background-color:var(--bg-surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:3px;padding:4px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 12px #0000002e}.graph-toolbar-btn{width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.graph-toolbar-btn:hover{background-color:var(--bg-surface-hover);color:var(--text-contrast)}.graph-toolbar-btn:active{background-color:var(--accent-bg-subtle);color:var(--accent);transform:scale(.93)}.graph-toolbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.graph-empty-state{background-color:var(--bg-canvas);border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;height:180px;padding:1.5rem;display:flex}.graph-empty-title{color:var(--text-contrast);margin-bottom:.35rem;font-size:.88rem;font-weight:600}.graph-empty-desc{color:var(--text-secondary);font-size:.76rem;line-height:1.4}.graph-legend{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding-top:.5rem;display:flex}.legend-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.legend-item{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.legend-sep{color:var(--border-strong);font-size:1rem}.legend-line-call{background-color:var(--border-strong);border-radius:1px;width:18px;height:2px;display:inline-block}.legend-line-inherit{border-top:2px dashed var(--teal);width:18px;height:0;display:inline-block}.legend-node-fn,.legend-node-cls,.legend-node-mth{width:10px;height:10px;display:inline-block}.legend-node-fn{border:1.5px solid var(--accent);background:0 0;border-radius:3px}.legend-node-cls{border:1.5px solid var(--teal);background:0 0;transform:rotate(45deg)}.legend-node-mth{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:0 0;border:1.5px solid #c084fc}.inspector-card{background-color:var(--bg-surface-elevated);border:1px solid var(--accent-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);flex-direction:column;gap:.75rem;padding:1rem 1.15rem;display:flex;box-shadow:0 0 16px #0ea5e914}.inspector-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.inspector-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inspector-name{font-family:var(--font-mono);color:var(--text-contrast);font-size:.92rem;font-weight:700}.inspector-meta-row{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.775rem;display:flex}.inspector-meta-icon{color:var(--accent);flex-shrink:0}.inspector-meta-label{color:var(--text-muted)}.inspector-meta-value{font-family:var(--font-mono);color:var(--accent);background-color:var(--accent-bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--accent-border);padding:.1rem .35rem;font-size:.775rem}.inspector-section{flex-direction:column;gap:.35rem;display:flex}.inspector-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.inspector-ai-label{color:var(--amber);border-radius:var(--radius-sm);background-color:#f59e0b1f;border:1px solid #f59e0b4d;padding:.1rem .3rem;font-size:.62rem;font-weight:600}.inspector-signature{font-family:var(--font-mono);color:var(--text-primary);background-color:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:.35rem .6rem;font-size:.82rem}.inspector-responsibility{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.inspector-refs{flex-wrap:wrap;gap:.35rem;display:flex}.inspector-ref-tag{font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:.15rem .45rem;font-size:.72rem}.inspector-ref-caller{color:var(--teal);background-color:#14b8a61a;border-color:#14b8a64d}.inspector-ref-callee{background-color:var(--accent-bg-subtle);color:var(--accent);border-color:var(--accent-border)}.inspector-ref-external{background-color:var(--bg-surface);color:var(--text-muted);border-color:var(--border-subtle)}.inspector-attribution{color:var(--text-muted);border-top:1px dashed var(--border-subtle);padding-top:.5rem;font-size:.68rem;font-style:italic}.panel-header-error{background-color:#ef444414!important;border-bottom-color:#ef44444d!important}.error-panel-body{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:2rem 1.5rem;display:flex;overflow-y:auto}.syntax-error-details,.network-error-details,.generic-error-details{width:100%;max-width:620px;margin:0 auto}.error-message-text{color:var(--text-contrast);margin-bottom:1rem;font-size:.95rem;font-weight:600;line-height:1.45}.error-location-meta{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.meta-badge{font-family:var(--font-mono);color:var(--danger);border-radius:var(--radius-sm);background-color:#ef444426;border:1px solid #ef444459;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.syntax-snippet-block{background-color:var(--bg-code-block);border-radius:var(--radius-md);font-family:var(--font-mono);border:1px solid #ef444459;margin-bottom:1rem;padding:.85rem 1rem;font-size:.825rem}.snippet-line{color:var(--text-contrast);align-items:baseline;gap:.75rem;display:flex}.snippet-lineno{color:var(--text-muted);-webkit-user-select:none;user-select:none;text-align:right;min-width:2rem}.snippet-pointer{align-items:baseline;gap:.75rem;display:flex}.error-hint-text{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.network-troubleshooting-box{background-color:var(--bg-code-block);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:1rem;padding:.85rem 1rem}.troubleshooting-title{color:var(--text-primary);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.78rem;font-weight:600;display:flex}.troubleshooting-code{font-family:var(--font-mono);color:var(--accent);white-space:pre;font-size:.76rem;line-height:1.5}.project-workspace-wrapper{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.project-loading-container,.project-placeholder-container{justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex}.project-placeholder-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:540px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 30px #0000001f}.project-placeholder-icon{border-radius:var(--radius-full);background-color:var(--accent-bg-subtle);width:64px;height:64px;color:var(--accent);border:1px solid var(--accent-border);justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.project-placeholder-card h2{color:var(--text-contrast);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.project-placeholder-card p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.project-placeholder-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.chat-panel-container{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);flex-direction:column;gap:1rem;padding:1.15rem;display:flex}.chat-panel-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.75rem;display:flex}.chat-header-left{align-items:center;gap:.5rem;display:flex}.chat-header-title{color:var(--text-contrast);margin:0;font-size:.95rem;font-weight:600}.chat-badge-grounded{font-size:.68rem;font-family:var(--font-mono);color:var(--green);border-radius:var(--radius-sm);background-color:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:.25rem;padding:.15rem .45rem;font-weight:600;display:flex}.chat-messages-scroll{scroll-behavior:smooth;flex-direction:column;gap:1rem;max-height:480px;padding-right:.35rem;display:flex;overflow-y:auto}.chat-empty-state{text-align:center;background-color:var(--bg-surface);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;display:flex}.chat-empty-icon{color:var(--accent);margin-bottom:.25rem}.chat-empty-title{color:var(--text-primary);margin:0;font-size:.88rem;font-weight:600}.chat-empty-desc{color:var(--text-muted);max-width:420px;margin:0;font-size:.775rem;line-height:1.45}.chat-examples-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:.75rem;font-size:.72rem;font-weight:600}.chat-examples-list{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.25rem;display:flex}.chat-example-chip{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;text-align:left;transition:all var(--transition-fast);align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;display:inline-flex}.chat-example-chip:hover{background-color:var(--bg-surface-hover);border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px)}.chat-message-item{flex-direction:column;gap:.4rem;animation:.18s ease-out chatFadeIn;display:flex}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-user-message{align-self:flex-end;max-width:85%}.chat-user-bubble{background-color:var(--accent);color:#fff;border-radius:var(--radius-md) var(--radius-md) 0 var(--radius-md);white-space:pre-wrap;word-break:break-word;padding:.65rem .9rem;font-size:.84rem;line-height:1.45;box-shadow:0 2px 6px #0ea5e933}.chat-user-meta{color:var(--text-muted);text-align:right;justify-content:flex-end;align-items:center;gap:.35rem;font-size:.7rem;display:flex}.chat-focus-pill{font-family:var(--font-mono);background-color:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.1rem .35rem;font-size:.68rem}.chat-assistant-message{align-self:flex-start;width:100%}.chat-assistant-bubble{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:.65rem;padding:.85rem 1rem;display:flex;box-shadow:0 1px 3px #0000000d}.chat-assistant-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-assistant-brand{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;display:flex}.chat-grounded-tag{font-size:.68rem;font-family:var(--font-mono);color:var(--green);border-radius:var(--radius-sm);background-color:#10b9811a;border:1px solid #10b98140;align-items:center;gap:.2rem;padding:.1rem .35rem;display:inline-flex}.chat-answer-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.85rem;line-height:1.6}.chat-degraded-notice{border-radius:var(--radius-sm);color:var(--amber);background-color:#f59e0b14;border:1px solid #f59e0b4d;align-items:flex-start;gap:.5rem;padding:.5rem .7rem;font-size:.75rem;line-height:1.4;display:flex}.chat-degraded-notice svg{flex-shrink:0;margin-top:.1rem}.chat-references-block{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.35rem;margin-top:.2rem;padding-top:.55rem;display:flex}.chat-references-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;display:flex}.chat-references-list{flex-wrap:wrap;gap:.4rem;display:flex}.chat-reference-pill{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.74rem;text-decoration:none;display:inline-flex}.chat-reference-pill:hover{background-color:var(--bg-surface-hover);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.chat-reference-pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-reference-pill.non-clickable{cursor:default}.chat-reference-pill.non-clickable:hover{border-color:var(--border-subtle);color:var(--text-primary);transform:none}.chat-ref-name{font-family:var(--font-mono);font-weight:600}.chat-ref-lineno{color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono)}.chat-error-bubble{border-radius:var(--radius-md);color:var(--danger);background-color:#ef444414;border:1px solid #ef44444d;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-size:.8rem;line-height:1.45;display:flex}.chat-error-bubble svg{flex-shrink:0;margin-top:.15rem}.chat-thinking-bubble{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:.6rem;padding:.75rem .9rem;font-size:.8rem;display:flex}.chat-spinner{border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite chatSpin}@keyframes chatSpin{to{transform:rotate(360deg)}}.chat-input-focus-bar{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-secondary);border-bottom:none;justify-content:space-between;align-items:center;padding:.35rem .65rem;font-size:.72rem;display:flex}.chat-input-focus-left{align-items:center;gap:.35rem;display:flex}.chat-input-focus-tag{color:var(--accent);font-family:var(--font-mono);font-weight:600}.chat-input-focus-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:.1rem;display:flex}.chat-input-focus-clear:hover{color:var(--text-primary)}.chat-input-form{flex-direction:column;gap:.4rem;display:flex;position:relative}.chat-input-row{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:flex-end;gap:.5rem;padding:.5rem .65rem;display:flex}.chat-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg-subtle)}.chat-input-row.has-focus-bar{border-top-left-radius:0;border-top-right-radius:0}.chat-textarea{color:var(--text-primary);font-family:var(--font-sans);resize:vertical;background:0 0;border:none;outline:none;flex:1;min-height:48px;max-height:160px;padding:.2rem 0;font-size:.85rem;line-height:1.45}.chat-textarea::placeholder{color:var(--text-muted)}.chat-send-btn{background-color:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:.8rem;font-weight:600;display:flex}.chat-send-btn:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 0 8px #0ea5e959}.chat-send-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.chat-input-hint{color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 .2rem;font-size:.7rem;display:flex}.chat-kbd-hint{font-family:var(--font-mono);background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);padding:.05rem .3rem;font-size:.68rem}.dir-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.dir-modal{background-color:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:680px;max-height:85vh;animation:.2s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dir-modal-header{border-bottom:1px solid var(--border-subtle);background-color:var(--bg-surface-elevated);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.dir-modal-title-group{align-items:center;gap:.65rem;display:flex}.dir-modal-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.dir-modal-badge{border-radius:var(--radius-full);background:var(--accent-bg-subtle);color:var(--accent);border:1px solid var(--accent-border);letter-spacing:.04em;text-transform:uppercase;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.dir-modal-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.dir-notice-box{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);align-items:flex-start;gap:.75rem;padding:.85rem 1rem;font-size:.825rem;line-height:1.5;display:flex}.dir-notice-icon{color:var(--accent);flex-shrink:0;margin-top:.1rem}.dir-form{flex-direction:column;gap:.75rem;display:flex}.dir-input-row{gap:.5rem;display:flex}.dir-path-input{background-color:var(--bg-editor);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-mono);transition:border-color var(--transition-fast);flex:1;padding:.6rem .85rem;font-size:.85rem}.dir-path-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg-subtle);outline:none}.dir-path-input.is-warning{border-color:var(--amber)}.dir-path-input.is-warning:focus{border-color:var(--amber);box-shadow:0 0 0 2px #f59e0b33}.dir-input-helper-msg{color:var(--text-muted);margin-top:-.25rem;font-size:.8rem;line-height:1.4}.dir-input-warning-msg{color:var(--amber);align-items:center;gap:.35rem;margin-top:-.25rem;font-size:.8rem;line-height:1.4;display:flex}.dir-presets-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dir-preset-btn{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.25rem .5rem}.dir-preset-btn:hover{color:var(--text-primary);border-color:var(--accent);background-color:var(--accent-bg-subtle)}.dir-error-banner{border-radius:var(--radius-md);color:var(--danger);background-color:#ef44441f;border:1px solid #ef44444d;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.dir-results-container{flex-direction:column;gap:.75rem;margin-top:.25rem;display:flex}.dir-results-header{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.dir-stats-group{align-items:center;gap:.75rem;font-size:.85rem;font-weight:500;display:flex}.dir-stat-badge{border-radius:var(--radius-sm);background:var(--accent-bg-subtle);color:var(--accent);font-size:.75rem;font-family:var(--font-mono);align-items:center;gap:.35rem;padding:.2rem .5rem;display:inline-flex}.dir-stat-badge-success{color:var(--green);background:#10b9811f}.dir-warning-banner{border-radius:var(--radius-md);color:var(--amber);background-color:#f59e0b1f;border:1px solid #f59e0b59;align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.8rem;display:flex}.dir-files-list{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--bg-editor);max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.dir-file-item{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast);justify-content:space-between;align-items:center;padding:.5rem .85rem;font-size:.825rem;display:flex}.dir-file-item:last-child{border-bottom:none}.dir-file-item:hover{background-color:var(--bg-surface-hover)}.dir-file-path-group{color:var(--text-primary);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;display:flex;overflow:hidden}.dir-file-size{color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0;font-size:.75rem}.dir-file-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.dir-load-btn{border-radius:var(--radius-sm);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.72rem;display:inline-flex}.dir-load-btn:hover:not(:disabled){border-color:var(--accent);background-color:var(--accent-bg-subtle);color:var(--accent)}.dir-load-btn:disabled{opacity:.6;cursor:not-allowed}.dir-empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);padding:2rem 1rem;font-size:.85rem}.dir-ignored-note{color:var(--text-muted);font-size:.75rem;line-height:1.4}.dir-modal-footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-surface-elevated);justify-content:flex-end;align-items:center;gap:.5rem;padding:.85rem 1.25rem;display:flex}.project-view-container{background-color:var(--bg-canvas);flex-direction:column;width:100%;height:calc(100vh - 65px);display:flex;overflow:hidden}.project-view-header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.project-view-title-group{align-items:center;gap:.75rem;display:flex}.project-icon-badge{border-radius:var(--radius-md);background-color:var(--accent-bg-subtle);width:32px;height:32px;color:var(--accent);border:1px solid var(--accent-border);justify-content:center;align-items:center;display:flex}.project-title{color:var(--text-contrast);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.project-badge{border-radius:var(--radius-full);background-color:var(--teal);color:#fff;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.project-root-path{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:480px;margin:0;overflow:hidden}.project-metrics-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-metric-pill{border-radius:var(--radius-full);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;display:inline-flex}.project-metric-pill strong{color:var(--text-contrast)}.project-metric-pill-amber{color:var(--amber);background-color:#f59e0b14;border-color:#f59e0b66}.project-syntax-banner{color:var(--text-secondary);background-color:#f59e0b1a;border-bottom:1px solid #f59e0b4d;padding:.5rem 1.25rem;font-size:.8rem}.project-syntax-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.project-syntax-list{font-size:.75rem;font-family:var(--font-mono);color:var(--amber);margin:.5rem 0 0;padding-left:1.5rem}.project-toolbar{background-color:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1.25rem;display:flex}.project-search-box{flex:1;align-items:center;min-width:260px;max-width:380px;display:flex;position:relative}.project-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.project-search-input{width:100%;font-size:.8rem;font-family:var(--font-mono);background-color:var(--bg-canvas);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast);outline:none;padding:.35rem 1.75rem .35rem 2rem}.project-search-input:focus{border-color:var(--accent)}.project-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;right:8px}.project-filter-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.project-filter-btn{background-color:var(--bg-canvas);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;font-weight:500;display:inline-flex}.project-filter-btn:hover{background-color:var(--bg-surface-hover);color:var(--text-contrast)}.project-filter-btn.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.project-filter-amber.active{background-color:var(--amber);color:#000;border-color:var(--amber)}.project-main-grid{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.project-graph-wrapper{background-color:var(--bg-canvas);flex:1;min-width:0;height:100%;position:relative}.project-graph-wrapper .relationship-graph-card{border:none;border-radius:0;height:100%;padding:.5rem}.project-graph-wrapper .cytoscape-canvas{height:calc(100vh - 180px)}.project-inspector-sidebar{background-color:var(--bg-surface);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:360px;height:100%;display:flex;overflow-y:auto}.project-inspector-card,.project-overview-panel{flex-direction:column;gap:.85rem;padding:1.15rem;display:flex}.project-inspector-header,.project-overview-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.project-overview-header h3{color:var(--text-contrast);margin:0;font-size:.95rem;font-weight:600}.project-overview-desc{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.45}.project-symbol-name{color:var(--text-contrast);font-size:.95rem;font-weight:700;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-meta-item{color:var(--text-muted);font-size:.775rem;font-family:var(--font-mono);align-items:center;gap:.4rem;display:flex}.project-docstring-box{background-color:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:120px;margin:0;padding:.5rem;overflow-y:auto}.project-rel-list,.project-hub-list,.project-file-breakdown-list,.project-module-symbol-list{flex-direction:column;gap:.35rem;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.project-rel-item{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.75rem;display:flex}.project-rel-type{text-transform:uppercase;border-radius:var(--radius-sm);padding:.1rem .35rem;font-size:.65rem;font-weight:700}.project-rel-type-calls{background-color:var(--accent-bg-subtle);color:var(--accent)}.project-rel-type-inherits{color:var(--teal);background-color:#0d948826}.project-rel-type-imports{color:var(--text-secondary);background-color:#64748b26}.project-rel-name{font-family:var(--font-mono);color:var(--text-contrast);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-cross-badge{color:var(--amber);border-radius:var(--radius-full);background-color:#f59e0b26;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.project-hub-item,.project-file-breakdown-item,.project-module-symbol-item{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:.4rem .6rem;display:flex}.project-hub-item:hover,.project-file-breakdown-item:hover,.project-module-symbol-item:hover{background-color:var(--bg-surface-hover);border-color:var(--accent)}.project-hub-name-group{align-items:center;gap:.4rem;min-width:0;display:flex}.project-hub-name,.project-file-name,.project-module-symbol-name{font-size:.775rem;font-family:var(--font-mono);color:var(--text-contrast);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-hub-count,.project-file-count{color:var(--text-muted);font-size:.7rem}.project-empty-muted{color:var(--text-muted);padding:.35rem 0;font-size:.75rem;font-style:italic}.project-nav-alert{color:var(--danger);font-size:.8rem;font-family:var(--font-sans);background-color:#ef44441f;border-bottom:1px solid #ef44444d;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.project-file-item-left{flex:1;align-items:center;gap:.45rem;min-width:0;display:flex}.project-file-item-right{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.project-file-icon{color:var(--accent);flex-shrink:0}.project-file-view-btn,.project-symbol-jump-btn,.project-rel-jump-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.project-file-breakdown-item:hover .project-file-view-btn,.project-rel-item:hover .project-rel-jump-btn,.project-module-symbol-item:hover .project-symbol-jump-btn{color:var(--accent);border-color:var(--accent-border);background-color:var(--accent-bg-subtle)}.project-file-view-btn:hover,.project-symbol-jump-btn:hover,.project-rel-jump-btn:hover{color:var(--text-contrast)!important;background-color:var(--accent)!important;border-color:var(--accent)!important}.project-rel-item.clickable{cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast)}.project-rel-item.clickable:hover{background-color:var(--bg-surface-hover);border-color:var(--accent)}.project-rel-dest{color:var(--text-muted);align-items:center;gap:.3rem;margin-left:auto;font-size:.7rem;display:flex}@media (width<=900px){.project-main-grid{flex-direction:column}.project-inspector-sidebar{border-left:none;border-top:1px solid var(--border-subtle);width:100%;height:320px}}
