@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#141420b3;--bg-glass:#ffffff0a;--border:#ffffff14;--border-hover:#ffffff26;--text-primary:#e8e8ed;--text:#e8e8ed;--text-secondary:#8b8b9e;--text-muted:#5a5a6e;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:#6366f140;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius:12px;--radius-sm:8px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius)}.glass:hover{border-color:var(--border-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.fade-in{animation:.4s ease-out forwards fadeIn}.pulse{animation:1.5s ease-in-out infinite pulse}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 0 20px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 30px var(--accent-glow);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-glass)}.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);font-family:var(--font-sans);outline:none;padding:12px 16px;font-size:14px;transition:border-color .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}.code{font-family:var(--font-mono);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre;padding:12px 16px;font-size:13px;overflow-x:auto}.progress-bar{background:var(--bg-primary);border-radius:3px;width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:3px;height:100%;transition:width .35s ease-out}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.flex-center{justify-content:center;align-items:center;display:flex}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.repo-link:hover{opacity:.85}.evals-link:hover{color:var(--text-primary);border-color:var(--border-hover)}header a[href=\/]{transition:opacity .2s}header a[href=\/]:hover{opacity:.9}.ast-tree-container{background:var(--border);border-radius:var(--radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.ast-tree-container.ast-tree-single{flex:1}.ast-column{background:var(--bg-primary);flex-direction:column;display:flex;overflow:hidden}.ast-column-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;padding:12px 16px}.ast-column-header h3{color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.ast-column-subtitle{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.ast-column-body{flex:1;padding:8px 0;overflow-y:auto}.ast-tree-node{animation:.3s ease-out forwards fadeIn}.ast-tree-dir{color:var(--text-secondary);align-items:center;gap:6px;padding:3px 12px;font-size:12px;font-weight:500;display:flex}.ast-tree-icon{flex-shrink:0;font-size:12px}.ast-tree-dir-name{font-family:var(--font-mono);font-size:12px}.ast-tree-file{align-items:center;gap:4px;padding:2px 12px;font-size:12px;transition:color .3s;display:flex}.ast-tree-file-name{font-family:var(--font-mono);color:var(--text-primary);font-size:12px;font-weight:500}.ast-tree-badge{font-size:10px;font-family:var(--font-mono);background:var(--bg-glass);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;margin-left:6px;padding:0 6px}.ast-tree-connector{font-family:var(--font-mono);color:var(--text-muted);white-space:pre;opacity:.5;flex-shrink:0;font-size:12px}.ast-tree-symbol{align-items:center;gap:6px;padding:1px 12px;font-size:12px;transition:all .3s;display:flex}.ast-symbol-name{font-family:var(--font-mono);font-size:12px}.ast-kind-badge{font-family:var(--font-mono);background:var(--accent-glow);color:var(--accent);border-radius:3px;flex-shrink:0;padding:0 4px;font-size:10px;font-weight:600}.ast-status-dot{text-align:center;flex-shrink:0;width:14px;font-size:10px;transition:all .3s}.ast-node-pending{color:var(--text-muted);opacity:.5}.ast-node-parsed{color:var(--text-primary);opacity:1}.ast-node-embedding{color:var(--accent);animation:1.2s ease-in-out infinite astPulse}.ast-node-done,.ast-node-done .ast-status-dot{color:var(--success)}.ast-node-embedding .ast-status-dot{color:var(--accent);text-shadow:0 0 8px var(--accent-glow)}@keyframes astPulse{0%,to{opacity:1}50%{opacity:.5;text-shadow:0 0 12px var(--accent-glow)}}.chat-markdown{white-space:normal;margin:0;line-height:1.6}.chat-markdown p{margin:0 0 .5em}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown strong{color:inherit;font-weight:600}.chat-markdown code{font-family:var(--font-mono);background:var(--bg-glass);border-radius:4px;padding:2px 6px;font-size:.9em}.chat-markdown pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin:.5em 0;padding:12px 16px;overflow-x:auto}.chat-markdown pre code{background:0 0;padding:0}.chat-message{animation:.25s ease-out forwards fadeIn}
