:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--surface: #161b22;--surface2: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-hover: #79b8ff;--green: #3fb950;--user-bubble: #1f3a5f;--agent-bubble: #21262d;--input-bg: #0d1117;--header-height: 52px;--sidebar-width: 220px}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:JetBrains Mono,Fira Code,Consolas,Menlo,monospace;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;flex-shrink:0}.header-title{font-weight:700;font-size:.95rem;letter-spacing:.04em;color:var(--text)}.status-indicator{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--green)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}.main{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem 0;overflow-y:auto;flex-shrink:0}.sidebar-section{padding:0 .75rem 1.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.sidebar-section:last-child{border-bottom:none;margin-bottom:0}.sidebar-heading{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;padding:0 .25rem}.sidebar-empty{font-size:.8rem;color:var(--text-muted);font-style:italic;padding:0 .25rem}.repo-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.repo-item{display:flex;align-items:flex-start;gap:.4rem;padding:.4rem .5rem;border-radius:6px;background:var(--surface2);border:1px solid var(--border)}.repo-icon{color:var(--accent);font-size:.6rem;margin-top:.25rem;flex-shrink:0}.repo-info{display:flex;flex-direction:column;min-width:0}.repo-name{color:var(--accent);text-decoration:none;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-name:hover{color:var(--accent-hover);text-decoration:underline}.repo-url{color:var(--text-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-actions{display:flex;flex-direction:column;gap:.35rem}.quick-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.4rem .6rem;border-radius:6px;font-family:inherit;font-size:.8rem;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.quick-btn:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.messages{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.message{display:flex;flex-direction:column;max-width:85%}.message-user{align-self:flex-end;align-items:flex-end}.message-agent{align-self:flex-start;align-items:flex-start}.message-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem;padding:0 .25rem}.message-bubble{padding:.7rem 1rem;border-radius:10px;max-width:100%;border:1px solid var(--border)}.message-user .message-bubble{background:var(--user-bubble);border-color:#2d4a7a}.message-agent .message-bubble{background:var(--agent-bubble)}.message-bubble.streaming{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) 22}.message-text{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.87rem;line-height:1.65;color:var(--text);margin:0}.cursor{display:inline-block;width:2px;background:var(--accent);margin-left:1px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.input-area{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.chat-input{flex:1;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.87rem;line-height:1.5;padding:.6rem .875rem;resize:none;outline:none;transition:border-color .15s}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--text-muted)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{width:40px;height:40px;background:var(--accent);border:none;border-radius:8px;color:#000;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
