:root{--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", sans-serif;--bg:#f2f2f7;--nav-bg:#ffffffeb;--sidebar-bg:#fff;--card-bg:#fff;--input-bg:#f2f2f7;--chat-bg:#f2f2f7;--text:#1d1d1f;--text-h:#1d1d1f;--text-muted:#8e8e93;--border:#00000014;--accent:#0071e3;--accent-ring:#0071e326;--btn-primary:#1d1d1f;--btn-primary-text:#fff;--btn-border:transparent;--badge-bg:#0000000a;--shadow-sm:0 1px 3px #0000000a, 0 4px 20px #00000012;--shadow-btn:0 1px 2px #0000001a, 0 2px 8px #00000014;--shadow-nav:0 1px 0 #00000014;--badge-gradient:linear-gradient(135deg, #e0e0e8, #ebebf5);--badge-border:#00000012;--badge-text:#3a3a4a;font:15px/150% var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg:#111;--nav-bg:#1a1a1aeb;--sidebar-bg:#1a1a1a;--card-bg:#1c1c1e;--input-bg:#2c2c2e;--chat-bg:#111;--text:#e5e5ea;--text-h:#f5f5f7;--text-muted:#6e6e73;--border:#ffffff14;--accent:#2997ff;--accent-ring:#2997ff33;--btn-primary:#f5f5f7;--btn-primary-text:#1d1d1f;--btn-border:transparent;--badge-bg:#ffffff0f;--shadow-sm:0 1px 3px #0000004d, 0 4px 20px #0006;--shadow-btn:0 1px 2px #0006, 0 2px 8px #0000004d;--shadow-nav:0 1px 0 #ffffff0f;--badge-gradient:linear-gradient(135deg, #3a3a4a, #4a4560);--badge-border:#ffffff14;--badge-text:#fff}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);transition:background .25s,color .25s}button{font-family:var(--sans);cursor:pointer}textarea,input{font-family:var(--sans)}.app{background:var(--bg);height:100vh;color:var(--text);font-family:var(--sans);flex-direction:row;transition:background .25s,color .25s;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-bg);width:220px;box-shadow:1px 0 0 var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:20px 16px;transition:width .25s;display:flex;overflow:hidden}.sidebar-collapsed{width:52px;padding:20px 10px}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sidebar-toggle{background:var(--input-bg);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:color .15s,background .15s;display:flex}.sidebar-toggle:hover{color:var(--text-h);background:var(--border)}.sidebar-brand{cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:flex}.sidebar-logo{object-fit:contain;flex-shrink:0;width:32px;height:32px}.sidebar-wordmark{letter-spacing:-.5px;color:var(--text-h);font-size:17px;font-weight:700}.sidebar-title{color:var(--text-muted);margin-top:4px;padding:0 4px;font-size:12px;font-weight:500}.sidebar-signin-row{cursor:pointer;width:100%;color:var(--text-muted);font-size:12px;font-family:var(--sans);background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 4px;transition:color .15s;display:flex}.sidebar-signin-row:hover{color:var(--text)}.sidebar-signin-chevron{opacity:.5;font-size:14px}.sidebar-empty{color:var(--text-muted);padding:0 4px;font-size:12px}.sidebar-chat-item{cursor:pointer;text-align:left;width:100%;color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-chat-item:hover{background:var(--input-bg);color:var(--text-h)}.sidebar-chat-item.active{background:var(--input-bg);color:var(--text-h);font-weight:500}.sidebar-chat-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:50%;position:absolute;top:25%;left:0}.sidebar-chat-lock{flex-shrink:0;align-items:center;display:flex}.sidebar-chat-title{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.1px;font-size:13px;overflow:hidden}.coming-soon-tag{color:var(--text-muted);background:var(--input-bg);border:1px solid var(--border);letter-spacing:.01em;border-radius:100px;padding:2px 9px;font-size:11px;font-weight:500;display:inline-block}.main-column{background:var(--chat-bg);flex-direction:column;flex:1;display:flex;overflow:hidden}.index-progress-bar{background:var(--border);flex-shrink:0;height:2px;position:relative;overflow:hidden}.index-progress-fill{background:var(--accent);border-radius:0 2px 2px 0;width:40%;height:100%;animation:1.4s ease-in-out infinite progressSlide;position:absolute;top:0;left:0}@keyframes progressSlide{0%{left:-40%}to{left:120%}}.index-progress-hint{text-align:center;color:var(--text-muted);margin:6px 0 0;padding:0;font-size:11px;animation:.3s fadeIn}.navbar{border-bottom:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);height:72px;box-shadow:var(--shadow-nav);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.navbar-side{min-width:100px}.navbar-wordmark{letter-spacing:-.5px;color:var(--text-h);-webkit-user-select:none;user-select:none;font-size:17px;font-weight:700}.navbar-center{flex:1;justify-content:center;align-items:center;display:flex}.repo-input-group{align-items:center;gap:8px;display:flex}.repo-input{border:1px solid var(--border);background:var(--input-bg);width:280px;height:34px;color:var(--text-h);font-family:var(--sans);border-radius:10px;outline:none;padding:0 12px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.repo-input::placeholder{color:var(--text-muted)}.repo-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:var(--card-bg)}.repo-input:disabled{opacity:.5;cursor:not-allowed}.index-btn{border:1px solid var(--btn-border);background:var(--btn-primary);height:34px;color:var(--btn-primary-text);font-family:var(--sans);letter-spacing:-.1px;cursor:pointer;min-width:68px;box-shadow:var(--shadow-btn);border-radius:100px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:13px;font-weight:500;transition:opacity .15s,transform .12s;display:flex}.index-btn:hover:not(:disabled){opacity:.82}.index-btn:active:not(:disabled){opacity:.9;transform:scale(.96)}.index-btn:disabled{opacity:.35;cursor:not-allowed}.indexed-chevron{color:var(--text-muted);margin-left:2px;font-size:15px;font-weight:400;line-height:1}.indexed-badge-btn{cursor:pointer;border:1px solid var(--badge-border);transition:opacity .15s,transform .12s}.indexed-badge-btn:hover:not(:disabled){opacity:.75}.indexed-badge-btn:active:not(:disabled){transform:scale(.97)}.indexed-badge-btn:disabled{opacity:.5;cursor:default}.repo-actions-modal{width:360px}.repo-actions-titles{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.repo-actions-subtitle{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500}.repo-actions-list{flex-direction:column;gap:8px;width:100%;padding:4px 0;display:flex}.repo-action-row{background:var(--input-bg);cursor:pointer;text-align:left;border:none;border-radius:12px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:opacity .15s;display:flex}.repo-action-row:hover{opacity:.75}.repo-action-row.destructive .repo-action-label{color:#ff3b30}.repo-action-icon{color:var(--text-muted);text-align:center;flex-shrink:0;width:24px;font-size:20px}.repo-action-text{flex-direction:column;gap:2px;display:flex}.repo-action-label{color:var(--text-h);font-size:14px;font-weight:600}.repo-action-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.repo-actions-confirm{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 8px;display:flex}.repo-actions-confirm-title{color:var(--text-h);margin:0;font-size:15px;font-weight:600}.repo-actions-confirm-desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.repo-actions-confirm-btns{gap:8px;width:100%;margin-top:8px;display:flex}.repo-actions-confirm-cancel,.repo-actions-confirm-go{font-family:var(--sans);cursor:pointer;border:none;border-radius:12px;flex:1;padding:11px;font-size:14px;font-weight:600;transition:opacity .15s}:is(.repo-actions-confirm-cancel,.repo-actions-confirm-go):hover{opacity:.75}.repo-actions-confirm-cancel{background:var(--input-bg);color:var(--text-h)}.repo-actions-confirm-go{background:var(--accent);color:#fff}.repo-actions-confirm-go.destructive{color:#fff;background:#ff3b30}.indexed-badge{background:var(--badge-gradient);border:1px solid var(--badge-border);border-radius:100px;align-items:center;gap:7px;height:30px;padding:0 14px;animation:.3s fadeIn;display:flex;box-shadow:0 1px 4px #00000014}.indexed-label{color:var(--badge-text);letter-spacing:-.1px;font-size:13px;font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.green{box-shadow:none;background:#fffc}.status-dot.red{background:#ff3b30;box-shadow:0 0 0 2px #ff3b3033}.navbar-right{justify-content:flex-end;align-items:center;gap:10px;min-width:100px;display:flex}.user-avatar{object-fit:cover;width:28px;height:28px;box-shadow:0 0 0 2px var(--nav-bg), 0 0 0 3.5px var(--border);filter:saturate(.6);border-radius:50%;flex-shrink:0}.avatar-menu{position:relative}.avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:0;transition:opacity .15s;display:flex}.avatar-btn:hover{opacity:.8}.avatar-dropdown{background:var(--card-bg);border:1px solid var(--border);z-index:100;border-radius:12px;min-width:148px;animation:.15s fadeIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000024,0 2px 8px #00000014}.avatar-dropdown-item{width:100%;font-family:var(--sans);color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;padding:10px 14px;font-size:13px;font-weight:500;transition:background .12s;display:flex}.avatar-dropdown-item:hover{background:var(--input-bg)}.avatar-dropdown-item.destructive{color:#ff3b30}.avatar-dropdown-divider{background:var(--border);height:1px;margin:0}.signin-btn{border:1px solid var(--border);background:var(--input-bg);height:32px;color:var(--text-h);font-family:var(--sans);cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:opacity .15s;display:flex}.signin-btn:hover{opacity:.75}.theme-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:flex-end;align-items:center;padding:0;transition:color .15s;display:flex}.theme-toggle:hover{color:var(--text-h)}.theme-toggle svg{display:block}.landing{background:radial-gradient(ellipse at 50% 38%, var(--card-bg) 0%, var(--chat-bg) 68%);flex:1;justify-content:center;align-items:center;padding-bottom:6%;display:flex}.landing-card{width:100%;max-width:580px;box-shadow:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:16px;padding:0;display:flex}.landing-brand{flex-direction:column;align-items:center;gap:14px;margin-bottom:8px;display:flex}.landing-logo{object-fit:contain;width:96px;height:96px}.landing-title{letter-spacing:-2px;color:var(--text-h);margin:0;font-size:48px;font-weight:700}.landing-subtitle{color:var(--text-muted);letter-spacing:-.1px;margin:0 0 8px;font-size:17px}.landing-label{color:var(--text-h);letter-spacing:-.3px;margin:0;font-size:17px;font-weight:600}.landing-input-row{width:100%}.landing-input{border:1px solid var(--border);background:var(--card-bg);width:100%;height:48px;color:var(--text-h);font-family:var(--sans);box-shadow:var(--shadow-sm);border-radius:14px;outline:none;padding:0 18px;font-size:16px;transition:border-color .2s,box-shadow .2s}.landing-input::placeholder{color:var(--text-muted)}.landing-input:focus{border-color:var(--border);box-shadow:var(--shadow-sm);background:var(--card-bg)}.landing-input:disabled{opacity:.5;cursor:not-allowed}.landing-btn{background:var(--btn-primary);width:100%;height:48px;color:var(--btn-primary-text);font-family:var(--sans);cursor:pointer;letter-spacing:-.1px;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;transition:opacity .15s,transform .12s;display:flex}.landing-btn:hover:not(:disabled){opacity:.82}.landing-btn:active:not(:disabled){transform:scale(.98)}.landing-btn:disabled{background:var(--input-bg);color:var(--text-muted);border:1px solid var(--border);opacity:1;cursor:not-allowed}.example-repo-btn{font-size:13px;font-family:var(--sans);color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .15s}.example-repo-btn:hover:not(:disabled){color:var(--text)}.example-repo-btn:disabled{opacity:.4;cursor:not-allowed}.landing-error{color:#ff3b30;margin:0;font-size:13px}.chat-area{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.empty-state{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0 0 90px}.empty-hint{color:var(--text-h);letter-spacing:-.4px;margin:0;font-size:20px;font-weight:600}.prompt-suggestions{pointer-events:all;flex-wrap:wrap;justify-content:center;gap:8px;max-width:480px;display:flex}.prompt-pill{background:var(--input-bg);border:1px solid var(--border);color:var(--text-h);font-size:13.5px;font-family:var(--sans);cursor:pointer;border-radius:22px;padding:9px 20px;transition:background .15s,color .15s,box-shadow .15s}.prompt-pill:hover{color:var(--text);background:var(--sidebar-bg);box-shadow:0 2px 8px #0000001f}.empty-sub{color:var(--text-muted);opacity:.6;font-size:13px}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:28px 0 12px;display:flex;overflow-y:auto}.messages::-webkit-scrollbar{width:0}.message-row{box-sizing:border-box;width:100%;max-width:780px;margin:0 auto;padding:0 24px;display:flex}.user-row{justify-content:flex-end}.ai-row{justify-content:flex-start}.bubble{word-break:break-word;border-radius:18px;max-width:460px;padding:11px 16px;font-size:15px;line-height:1.55}.user-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.ai-card{background:var(--card-bg);border:1px solid var(--border);width:100%;max-width:640px;color:var(--text-h);box-shadow:var(--shadow-sm);border-radius:18px 18px 18px 4px;padding:20px 24px;font-size:15px;line-height:1.7;animation:.2s slideUp}.source-pills{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;display:flex}.source-pill{font-size:11.5px;font-family:var(--mono,monospace);color:var(--text-muted);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;padding:3px 8px}.ai-card p{margin:0 0 10px}.ai-card p:last-child{margin-bottom:0}.ai-card ol,.ai-card ul{margin:0 0 10px;padding-left:20px}.ai-card li{margin-bottom:4px}.ai-card strong{font-weight:600}.ai-card h1,.ai-card h2,.ai-card h3{margin:0 0 8px;font-weight:600}.ai-card code{background:var(--input-bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:13px}.ai-card pre{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;margin:0 0 10px;padding:12px;overflow-x:auto}.ai-card pre code{background:0 0;border:none;padding:0;font-size:13px}.typing-bubble{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px 18px 18px 4px;align-items:center;gap:5px;padding:14px 18px;animation:.2s slideUp;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingBounce}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-input-bar{border-top:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);flex-shrink:0;align-items:center;gap:10px;padding:14px 20px 20px;transition:opacity .3s;display:flex}.chat-input-bar.dimmed{opacity:.35;pointer-events:none}.chat-textarea{background:var(--card-bg);color:var(--text-h);font-family:var(--sans);resize:none;min-height:42px;max-height:160px;box-shadow:var(--shadow-sm);border:1.5px solid #0000;border-radius:22px;outline:none;flex:1;padding:10px 14px;font-size:15px;line-height:1.5;transition:border-color .2s,box-shadow .2s;overflow-y:auto}.chat-textarea::placeholder{color:var(--text-muted)}.chat-textarea:focus{border-color:var(--border);box-shadow:var(--shadow-sm)}.chat-textarea::-webkit-scrollbar{width:0}.send-btn{background:var(--accent);color:#fff;width:34px;height:34px;box-shadow:none;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .12s;display:flex}.send-btn:hover:not(:disabled){opacity:.85}.send-btn:active:not(:disabled){transform:scale(.92)}.send-btn:disabled{opacity:.3;cursor:not-allowed}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:520px;max-height:72vh;animation:.18s fadeIn;display:flex;position:relative;box-shadow:0 24px 64px #00000038,0 2px 8px #0000001a}.modal-header{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:20px 20px 14px;display:flex}.modal-header-top{justify-content:space-between;align-items:center;display:flex}.modal-header-spacer{width:36px}.modal-disclaimer{color:var(--text);opacity:.7;font-size:12px;line-height:1.7}.modal-title{color:var(--text-h);text-align:center;flex:1;font-size:15px;font-weight:600}.modal-close{color:var(--accent);font-family:var(--sans);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;line-height:1}.modal-close:hover{opacity:.75}.modal-search{border:1px solid var(--border);background:var(--input-bg);width:100%;height:36px;color:var(--text-h);font-family:var(--sans);box-sizing:border-box;border-radius:10px;outline:none;padding:0 12px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.modal-search::placeholder{color:var(--text-muted)}.modal-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.modal-no-results{color:var(--text-muted);text-align:center;margin:0;padding:32px 0;font-size:13px}.modal-body{padding:8px 8px 56px;position:relative;overflow-y:auto}.modal-body::-webkit-scrollbar{width:0}.modal-body-fade{background:linear-gradient(to bottom, transparent, var(--card-bg) 85%);pointer-events:none;opacity:.85;border-radius:0 0 16px 16px;height:40px;position:absolute;bottom:0;left:0;right:0}.modal-loading{justify-content:center;padding:32px;display:flex}.modal-loading .spinner{border-color:var(--border);border-top-color:var(--text-muted)}.repo-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:row;align-items:center;gap:4px;width:100%;padding:14px 16px;transition:background .12s;display:flex}.repo-row:hover{background:var(--input-bg)}.repo-row:hover .repo-chevron{opacity:1}.repo-row-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.repo-chevron{color:var(--text-muted);opacity:0;flex-shrink:0;margin-left:4px;font-size:16px;transition:opacity .12s}.repo-name{color:var(--text-h);letter-spacing:-.1px;align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.repo-private-badge{color:var(--text-h);background:var(--input-bg);border:1px solid var(--text-muted);letter-spacing:.03em;opacity:.7;border-radius:100px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.repo-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;opacity:.85;font-size:12.5px;line-height:1.4;overflow:hidden}
