@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--page-bg:#0f0f0f;--page-surface:#141414;--page-surface-alt:#1d1d1d;--page-text:#f5f5f0;--page-text-dim:#a0a0a0;--page-text-muted:#555555;--page-border:#2a2a2a;--page-shadow:4px 4px 0 #3a3a3a;--page-shadow-sm:2px 2px 0 #3a3a3a;--page-shadow-hover:6px 6px 0 #3a3a3a;--bg-primary:#fafaf8;--bg-app:#0f0f0f;--bg-secondary:#f0ede8;--bg-card:#ffffff;--bg-card-dark:#141414;--bg-glass:#1a1a1a;--border:#0a0a0a;--border-dark:#2a2a2a;--border-hover:#16a34a;--border-accent:#16a34a;--text-primary:#0a0a0a;--text:#0a0a0a;--text-secondary:#4a4a4a;--text-muted:#888888;--text-on-dark:#f5f5f0;--text-on-dark-secondary:#a0a0a0;--text-on-dark-muted:#666666;--accent:#16a34a;--accent-hover:#15803d;--accent-glow:rgba(22,163,74,0.2);--accent-amber:#d97706;--accent-amber-bg:#fef3c7;--success:#16a34a;--warning:#d97706;--error:#dc2626;--font-display:"Space Grotesk","Inter",-apple-system,sans-serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius:0px;--radius-sm:0px;--radius-lg:0px;--shadow-card:4px 4px 0 #0a0a0a;--shadow-card-sm:2px 2px 0 #0a0a0a;--shadow-card-hover:6px 6px 0 #0a0a0a;--shadow-accent:4px 4px 0 var(--accent);--shadow-card-dark:4px 4px 0 #f5f5f0;--shadow-card-dark-sm:2px 2px 0 #f5f5f0;--shadow-brutal:var(--shadow-accent);--shadow-brutal-sm:2px 2px 0 var(--accent);--shadow-brutal-dark:var(--shadow-card);--shadow-brutal-lg:6px 6px 0 var(--accent)}*{margin:0;padding:0;box-sizing:border-box}[data-theme=light]{--page-bg:#fafaf8;--page-surface:#ffffff;--page-text:#0a0a0a;--page-text-dim:#4a4a4a;--page-text-muted:#888888;--page-border:#0a0a0a;--page-shadow:4px 4px 0 #0a0a0a;--page-shadow-sm:2px 2px 0 #0a0a0a;--page-shadow-hover:6px 6px 0 #0a0a0a;--bg-app:#fafaf8;--bg-primary:#fafaf8;--bg-secondary:#f0ede8;--page-surface-alt:#f0ede8;--bg-card-dark:#ffffff;--bg-glass:#f0ede8;--border-dark:#d0d0d0;--border-hover:#16a34a;--text-on-dark:#0a0a0a;--text-on-dark-secondary:#4a4a4a;--text-on-dark-muted:#888888;--shadow-card-dark:4px 4px 0 #0a0a0a;--shadow-card-dark-sm:2px 2px 0 #0a0a0a;--shadow-brutal:4px 4px 0 #0a0a0a;--shadow-brutal-lg:6px 6px 0 #0a0a0a;--shadow-brutal-sm:2px 2px 0 #0a0a0a}body,html{height:100%;font-family:var(--font-sans);background:var(--page-bg);color:var(--page-text);-webkit-font-smoothing:antialiased}.card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.card:hover{box-shadow:var(--shadow-card-hover);transform:translate(-1px,-1px)}.card-dark,.glass{background:var(--bg-card-dark);border:2px solid var(--border-dark);border-radius:var(--radius);box-shadow:var(--shadow-card-dark);color:var(--text-on-dark)}.glass:hover{border-color:var(--border-accent);box-shadow:var(--shadow-brutal-lg)}.tag{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-sm)}.tag,.tag-dark{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;padding:2px 8px}.tag-dark{border:1px solid var(--border-dark);background:#222;color:var(--text-on-dark-secondary);border-radius:var(--radius-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes astPulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .3s ease-out forwards}.pulse{animation:pulse 1.5s ease-in-out infinite}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:2px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .1s ease;background:var(--bg-card);color:var(--text-primary);text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:#0a0a0a;color:#f5f5f0;border-color:#0a0a0a;box-shadow:var(--shadow-card)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:var(--shadow-card-hover)}.btn-primary:active{transform:translate(0);box-shadow:var(--shadow-card-sm)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border);box-shadow:none}.btn-ghost:hover{color:var(--text-primary);border-color:var(--accent);background:var(--bg-secondary);box-shadow:var(--shadow-card-sm);transform:translate(-1px,-1px)}.btn-ghost:active{transform:translate(0);box-shadow:none}.btn-outline-dark{background:transparent;color:var(--text-on-dark);border:2px solid var(--border-dark);box-shadow:none}.btn-outline-dark:hover{border-color:var(--accent);color:var(--accent);transform:translate(-1px,-1px);box-shadow:var(--shadow-card-dark-sm)}.btn-sm{padding:6px 12px;font-size:12px}.input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.input:focus{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.input::placeholder{color:var(--text-muted)}.input-dark{background:var(--bg-glass);border-color:var(--border-dark);color:var(--text-on-dark)}.input-dark:focus{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.input-dark::placeholder{color:var(--text-on-dark-muted)}.code{font-family:var(--font-mono);font-size:13px;border:2px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;overflow-x:auto;white-space:pre}.code,.progress-bar{background:var(--bg-secondary)}.progress-bar{width:100%;height:6px;border:1px solid var(--border);border-radius:0;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);border-radius:0;transition:width .35s ease-out}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#aaa}.dark-page ::-webkit-scrollbar-thumb{background:var(--border-dark)}.dark-page ::-webkit-scrollbar-thumb:hover{background:#444}.container{max-width:1200px;margin:0 auto;padding:0 24px}.flex-center{display:flex;align-items:center;justify-content:center}.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(--accent);box-shadow:var(--shadow-card-sm)}.evals-link:hover,.star-link{transform:translate(-1px,-1px)}.star-link{box-shadow:4px 4px 0 var(--accent);border-color:var(--accent)!important;transition:transform .08s ease,box-shadow .08s ease}.star-link:hover{box-shadow:6px 6px 0 var(--accent);transform:translate(-3px,-3px)}.star-link:active{box-shadow:0 0 0 var(--accent);transform:translate(3px,3px);transition:transform .05s ease,box-shadow .05s ease}.feature-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-card-hover);border-color:var(--accent)}.ablation-back:hover{color:var(--text-primary);border-color:var(--accent);box-shadow:var(--shadow-card-sm);transform:translate(-1px,-1px)}header a[href="/"]{transition:opacity .15s ease}header a[href="/"]:hover{opacity:.85}.ast-tree-container{display:flex;flex-direction:column;height:100%;background:var(--border-dark);border-radius:var(--radius);overflow:hidden}.ast-tree-container.ast-tree-single{flex:1 1}.ast-column{display:flex;flex-direction:column;background:var(--bg-app);overflow:hidden}.ast-column-header{padding:12px 16px;border-bottom:1px solid var(--border-dark);background:var(--bg-app);flex-shrink:0}.ast-column-header h3{font-size:13px;font-weight:700;color:var(--text-on-dark);margin-bottom:2px;font-family:var(--font-display)}.ast-column-subtitle{font-size:11px;color:var(--text-on-dark-muted);font-family:var(--font-mono)}.ast-column-body{flex:1 1;overflow-y:auto;padding:8px 0}.ast-tree-node{animation:fadeIn .3s ease-out forwards}.ast-tree-dir{display:flex;align-items:center;gap:6px;padding:3px 12px;font-size:12px;color:var(--text-on-dark-secondary);font-weight:600}.ast-tree-icon{font-size:12px;flex-shrink:0}.ast-tree-dir-name{font-family:var(--font-mono);font-size:12px}.ast-tree-file{display:flex;align-items:center;gap:4px;padding:2px 12px;font-size:12px;transition:color .2s ease}.ast-tree-file-name{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-on-dark)}.ast-tree-badge{font-size:10px;background:var(--border-dark);border:1px solid var(--border-dark);border-radius:2px;padding:0 6px;margin-left:6px}.ast-tree-badge,.ast-tree-connector{font-family:var(--font-mono);color:var(--text-on-dark-muted)}.ast-tree-connector{font-size:12px;white-space:pre;flex-shrink:0;opacity:.5}.ast-tree-symbol{display:flex;align-items:center;gap:6px;padding:1px 12px;font-size:12px;transition:all .2s ease}.ast-symbol-name{font-family:var(--font-mono);font-size:12px;color:var(--text-on-dark)}.ast-kind-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:0 4px;border-radius:2px;background:rgba(22,163,74,.15);border:1px solid rgba(22,163,74,.4);color:var(--accent);flex-shrink:0}.ast-status-dot{font-size:10px;width:14px;text-align:center;flex-shrink:0;transition:all .2s ease}.ast-node-pending{color:var(--text-on-dark-muted);opacity:.5}.ast-node-parsed{color:var(--text-on-dark);opacity:1}.ast-node-embedding{color:var(--accent);animation:astPulse 1.2s ease-in-out infinite}.ast-node-done,.ast-node-done .ast-status-dot{color:var(--success)}.ast-node-embedding .ast-status-dot{color:var(--accent)}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes live-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.chat-markdown{margin:0;line-height:1.65;white-space:normal;font-size:14px;color:var(--text-on-dark)}.chat-markdown p{margin:0 0 .7em}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown strong{font-weight:700;color:var(--text-on-dark)}.chat-markdown em{font-style:italic;color:var(--text-on-dark-secondary)}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{font-family:var(--font-display);font-weight:700;line-height:1.25;margin:1em 0 .4em;color:var(--text-on-dark)}.chat-markdown h1:first-child,.chat-markdown h2:first-child,.chat-markdown h3:first-child{margin-top:0}.chat-markdown h1{font-size:1.25em;border-bottom:2px solid var(--accent);padding-bottom:.25em}.chat-markdown h2{font-size:1.1em;border-bottom:1px solid var(--border-dark);padding-bottom:.2em}.chat-markdown h3{font-size:1em;color:var(--accent);letter-spacing:.02em}.chat-markdown h4{font-size:.9em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-on-dark-secondary)}.chat-markdown ol,.chat-markdown ul{margin:.5em 0;padding-left:0;list-style:none}.chat-markdown ol:last-child,.chat-markdown ul:last-child{margin-bottom:0}.chat-markdown ul>li{position:relative;padding-left:1.4em;margin:.3em 0;line-height:1.6}.chat-markdown ul>li:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:.8em;top:.15em;font-family:var(--font-mono)}.chat-markdown ol{counter-reset:chat-ol}.chat-markdown ol>li{position:relative;padding-left:2em;margin:.3em 0;line-height:1.6;counter-increment:chat-ol}.chat-markdown ol>li:before{content:counter(chat-ol) ".";position:absolute;left:0;width:1.6em;text-align:right;padding-right:.4em;font-family:var(--font-mono);font-size:.85em;color:var(--accent);font-weight:600;top:.1em}.chat-markdown li>ol,.chat-markdown li>ul{margin:.2em 0 .2em .5em}.chat-markdown li>p{margin:0}.chat-markdown code{font-family:var(--font-mono);font-size:.875em;background:#1a1a1a;border:1px solid var(--border-dark);padding:1px 5px;color:var(--accent);white-space:nowrap}.chat-markdown pre{position:relative;margin:.75em 0;background:#0d0d0d;border-top:2px solid var(--border-dark);border:2px solid var(--border-dark);border-top-color:var(--accent);overflow-x:auto}.chat-markdown pre:before{content:"code";display:block;padding:4px 12px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:#0a1a0a;border-bottom:1px solid #1a3a1a}.chat-markdown pre code{display:block;padding:12px 16px;background:none;border:none;color:var(--text-on-dark);font-size:13px;line-height:1.55;white-space:pre;overflow-x:auto}.chat-markdown blockquote{margin:.6em 0;padding:8px 14px;border-left:3px solid var(--accent);background:rgba(22,163,74,.06);color:var(--text-on-dark-secondary);font-style:italic}.chat-markdown blockquote p{margin:0}.chat-markdown table{width:100%;border-collapse:collapse;margin:.75em 0;font-size:13px;border:2px solid var(--border-dark)}.chat-markdown thead{background:#1a1a1a;border-bottom:2px solid var(--accent)}.chat-markdown th{padding:7px 12px;text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.chat-markdown td{padding:6px 12px;border-bottom:1px solid var(--border-dark);color:var(--text-on-dark);vertical-align:top}.chat-markdown tr:last-child td{border-bottom:none}.chat-markdown tbody tr:nth-child(2n){background:rgba(255,255,255,.02)}.chat-markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color .1s ease,text-decoration-color .1s ease}.chat-markdown a:hover{color:#4ade80;text-decoration-color:transparent}.chat-markdown hr{border:none;border-top:1px solid var(--border-dark);margin:1em 0}[data-theme=light] .chat-markdown{color:var(--text-on-dark)}[data-theme=light] .chat-markdown code{background:#f0ede8;border-color:#d0ccc6;color:#16a34a}[data-theme=light] .chat-markdown pre{background:#f5f2ee;border-color:#d0ccc6;border-top-color:var(--accent)}[data-theme=light] .chat-markdown pre:before{background:#e8f5ed;border-bottom-color:#c0e8cc}[data-theme=light] .chat-markdown pre code{background:none;border:none;color:#1a1a1a}[data-theme=light] .chat-markdown blockquote{background:rgba(22,163,74,.05);border-left-color:var(--accent)}[data-theme=light] .chat-markdown table{border-color:#d0ccc6}[data-theme=light] .chat-markdown thead{background:#f0ede8;border-bottom-color:var(--accent)}[data-theme=light] .chat-markdown td{border-bottom-color:#d0ccc6}.chat-streaming{white-space:pre-wrap;word-break:break-word}.chat-cursor{display:inline-block;color:var(--accent);font-family:var(--font-mono);font-size:1em;line-height:1;animation:cursor-blink .9s ease-in-out infinite;vertical-align:baseline}.chat-message{display:flex;flex-direction:column;max-width:82%;animation:fadeIn .25s ease-out forwards}.chat-message--user{align-self:flex-end;align-items:flex-end}.chat-message--assistant{position:relative;align-self:flex-start;align-items:flex-start}.chat-role-label{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.chat-role-label--user{color:var(--text-on-dark-muted)}.chat-role-label--assistant{color:var(--accent)}.chat-role-gitviz{cursor:pointer;position:relative;display:inline-block}.chat-role-gitviz-default{display:inline-block;transition:opacity .15s ease}.chat-role-gitviz-hover{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;transition:opacity .15s ease}.chat-role-gitviz:hover .chat-role-gitviz-default{opacity:0}.chat-role-gitviz:hover .chat-role-gitviz-hover{opacity:1}.chat-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:live-dot-pulse 1.2s ease-in-out infinite;flex-shrink:0}.chat-bubble{padding:14px 18px}.chat-bubble--user{position:relative;background:var(--text-on-dark);color:var(--bg-app);border:2px solid var(--text-on-dark);box-shadow:3px 3px 0 var(--text-on-dark)}.chat-bubble--assistant,.chat-bubble--user.chat-bubble--editing{background:var(--bg-card-dark);color:var(--text-on-dark);border:2px solid var(--border-dark);border-left:3px solid var(--accent);box-shadow:3px 3px 0 var(--border-dark)}.chat-user-text{margin:0;line-height:1.55;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.chat-user-row{display:flex;flex-direction:row;align-items:flex-start}.chat-edit-btn{position:absolute;top:-11px;right:-11px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg-app);color:var(--text-on-dark-muted);border:2px solid var(--border-dark);box-shadow:2px 2px 0 var(--border-dark);cursor:pointer;border-radius:0;padding:0;opacity:0;visibility:hidden;transform:scale(.85);transition:opacity .15s ease,visibility .15s ease,transform .15s ease,color .15s ease,border-color .12s ease,box-shadow .12s ease}.chat-bubble--user:hover .chat-edit-btn{opacity:1;visibility:visible;transform:scale(1)}.chat-edit-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:2px 2px 0 var(--accent)}.viz-doodle-wrap{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;overflow:visible;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.chat-message--assistant:hover .viz-doodle-wrap{opacity:1;visibility:visible}.viz-doodle-svg{position:absolute;top:50%;left:50%;transform:translate(-38%,-65%);width:28px;height:24px;pointer-events:none;overflow:visible}.viz-doodle-path{fill:none;stroke:#f5c518;stroke-linecap:round;stroke-linejoin:round;opacity:0}.viz-doodle-path:first-child{stroke-width:1;stroke-dasharray:47;stroke-dashoffset:47}.viz-doodle-path:nth-child(2){stroke-width:.9;stroke-dasharray:26;stroke-dashoffset:26}.viz-doodle-path:nth-child(3){stroke-width:.8;stroke-dasharray:20;stroke-dashoffset:20}.chat-message--assistant:hover .viz-doodle-path:first-child{animation:viz-doodle-draw 1.5s ease 0s forwards}.chat-message--assistant:hover .viz-doodle-path:nth-child(2){animation:viz-doodle-draw 1.5s ease .22s forwards}.chat-message--assistant:hover .viz-doodle-path:nth-child(3){animation:viz-doodle-draw-dim 1.5s ease .38s forwards}@keyframes viz-doodle-draw-dim{0%{opacity:0}6%{opacity:.2}55%{stroke-dashoffset:0;opacity:.2}75%{stroke-dashoffset:0;opacity:.2}to{stroke-dashoffset:0;opacity:0}}@keyframes viz-doodle-draw{0%{opacity:0}6%{opacity:.9}55%{stroke-dashoffset:0;opacity:.9}75%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:0;opacity:0}}.chat-msg-action-btn--viz-corner{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);background:transparent;border:none;cursor:pointer;padding:0;letter-spacing:.04em;position:relative;z-index:1;transition:color .1s ease}.chat-msg-action-btn--viz-corner:hover:not(:disabled){color:var(--accent)}.chat-msg-action-btn--viz-corner:disabled{cursor:default;opacity:.5}.chat-msg-actions{display:flex;align-items:center;gap:8px;margin-top:4px;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.chat-message--assistant:hover .chat-msg-actions{opacity:1;visibility:visible}.chat-msg-action-btn{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);background:transparent;border:none;cursor:pointer;padding:0;letter-spacing:.04em;transition:color .1s ease}.chat-msg-action-btn:hover:not(:disabled){color:var(--accent)}.chat-msg-action-btn:disabled{cursor:default;opacity:.5}.chat-msg-action-sep{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);opacity:.4;-webkit-user-select:none;user-select:none}.chat-edit-inline{display:flex;flex-direction:column;width:100%}.chat-edit-textarea{width:100%;padding:0;background:transparent;color:var(--text-on-dark);border:none;font-family:var(--font-sans);font-size:.95rem;line-height:1.55;resize:none;outline:none;overflow:hidden}.chat-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-dark)}.chat-edit-hint{font-size:.72rem;color:var(--text-on-dark-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none}.chat-edit-actions-btns{display:flex;gap:6px;align-items:center}.chat-edit-cancel{background:transparent;border:none;color:var(--text-on-dark-muted);font-size:.82rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;padding:4px 8px;border-radius:3px;transition:color .15s}.chat-edit-cancel:hover{color:var(--text-on-dark)}.chat-edit-save{background:var(--accent);color:#fff;border:none;font-size:.82rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;padding:5px 14px;border-radius:3px;letter-spacing:.01em;transition:opacity .15s}.chat-edit-save:hover{opacity:.85}.chat-safety-block{padding:10px 14px;border:2px solid #d97706;background:#1a1000;color:#d97706;font-size:13px;margin-bottom:8px}.chat-sources{margin-top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.chat-sources-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-family:var(--font-mono);color:var(--text-on-dark-muted);background:transparent;border:1px solid var(--border-dark);padding:3px 9px;cursor:pointer;transition:color .1s ease,border-color .1s ease}.chat-sources-toggle:hover{color:var(--accent);border-color:var(--accent)}.chat-sources-chevron{display:inline-block;font-size:11px;transition:transform .12s ease;color:var(--text-on-dark-muted)}.chat-sources-list{display:flex;flex-wrap:wrap;gap:5px;width:100%}.citation-link{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-mono);font-size:11px;color:#16a34a;text-decoration:none;border:1px solid #1a3a1a;padding:3px 8px;background:#0a1a0a;transition:background .1s ease,border-color .1s ease}.citation-link:hover{background:#0f2a0f;border-color:#16a34a}.citation-path{opacity:.85;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-lines{color:var(--accent);font-weight:600;flex-shrink:0}[data-theme=light] .citation-link{color:#15803d;background:#f0faf4;border-color:#bbf7d0}[data-theme=light] .citation-link:hover{background:#dcfce7;border-color:#86efac}.diagram-inline{width:100%;margin-top:12px;border:1px solid var(--border-dark);border-radius:8px;padding:14px 16px 12px;background:rgba(8,10,20,.35);animation:fade-in .3s ease}.diagram-inline-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.diagram-inline-label{font-family:var(--font-mono);font-size:10px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.diagram-inline-sep{color:var(--text-on-dark-muted);font-size:10px}.diagram-inline-title{font-family:var(--font-mono);font-size:11px;color:var(--text-on-dark-secondary);letter-spacing:.02em}.diagram-inline-stats{margin-left:2px}.diagram-inline-hint,.diagram-inline-stats{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted)}.diagram-inline-hint{opacity:.5;letter-spacing:.03em}.diagram-inline-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.diagram-inline-action-btn{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);background:transparent;border:none;cursor:pointer;padding:0;letter-spacing:.04em;opacity:.6;transition:opacity .1s ease,color .1s ease}.diagram-inline-action-btn:hover{opacity:1;color:var(--accent)}.diagram-inline-action-sep{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);opacity:.3;-webkit-user-select:none;user-select:none}.diagram-inline-canvas{position:relative;overflow-x:auto;overflow-y:visible}.diagram-inline-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.diagram-node{position:relative;display:flex;align-items:stretch;background:rgba(8,10,20,.82);border:1.5px solid var(--node-color,#38bdf8);border-radius:7px;box-sizing:border-box;cursor:grab;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 4px 20px rgba(0,0,0,.45),0 0 16px var(--node-glow,transparent);transition:box-shadow .2s ease,transform .18s ease}.diagram-node:hover{box-shadow:0 0 0 1px rgba(0,0,0,.4),0 6px 28px rgba(0,0,0,.5),0 0 28px var(--node-glow,transparent);transform:translateY(-1px)}.diagram-node:active{cursor:grabbing;transform:translateY(0)}.selected .diagram-node{box-shadow:0 0 0 1px rgba(0,0,0,.4),0 6px 32px rgba(0,0,0,.5),0 0 40px var(--node-glow,transparent)}.diagram-node-accent{display:none}.diagram-node-body{padding:10px 13px;min-width:0;flex:1 1}.diagram-node-label{font-size:11px;font-weight:600;color:#e2e8f0;line-height:1.35;letter-spacing:.01em}.diagram-node-label,.diagram-node-sublabel{font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-node-sublabel{font-size:9.5px;color:rgba(148,163,184,.65);margin-top:3px;letter-spacing:.02em}.diagram-legend-item{display:flex;align-items:center;gap:5px}.diagram-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.diagram-legend-label{font-family:var(--font-mono);font-size:10px;color:var(--text-on-dark-muted);letter-spacing:.04em}.diagram-modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease}.diagram-modal-container{background:var(--bg-card-dark);border:2px solid var(--border-dark);box-shadow:6px 6px 0 var(--accent);width:min(92vw,1100px);height:min(88vh,760px);display:flex;flex-direction:column;overflow:hidden;animation:slide-up .2s ease}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.diagram-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border-dark);flex-shrink:0;background:rgba(4,5,12,.8)}.diagram-modal-title-group{display:flex;align-items:baseline;gap:10px;min-width:0;overflow:hidden}.diagram-modal-repo{font-family:var(--font-mono);font-size:11px;color:var(--text-on-dark-muted);flex-shrink:0}.diagram-modal-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-modal-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.diagram-modal-regen{font-family:var(--font-mono);font-size:10px;padding:3px 10px;background:transparent;border:1px solid var(--border-dark);color:var(--text-on-dark-muted);cursor:pointer;letter-spacing:.04em;transition:border-color .1s ease,color .1s ease}.diagram-modal-regen:hover{border-color:var(--accent);color:var(--accent)}.diagram-modal-close{font-size:16px;line-height:1;padding:3px 9px;background:transparent;border:1px solid var(--border-dark);color:var(--text-on-dark-secondary);cursor:pointer;font-family:var(--font-mono);transition:border-color .1s ease,color .1s ease}.diagram-modal-close:hover{border-color:var(--accent);color:var(--accent)}.diagram-modal-canvas{flex:1 1;position:relative;overflow:hidden}.diagram-modal-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.diagram-modal-spinner{width:26px;height:26px;border:2px solid var(--border-dark);border-top-color:var(--accent);border-radius:50%;animation:diag-spin .7s linear infinite}.diagram-modal-loading-text{font-family:var(--font-mono);font-size:12px;color:var(--text-on-dark-secondary);letter-spacing:.04em}.diagram-modal-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px}.diagram-modal-error-msg{color:#f87171;font-size:13px;text-align:center;max-width:400px;font-family:var(--font-mono)}.diagram-modal-footer{padding:8px 18px;border-top:1px solid var(--border-dark);flex-shrink:0;display:flex;gap:14px;flex-wrap:wrap;background:rgba(4,5,12,.8)}@keyframes diag-spin{to{transform:rotate(1turn)}}.diagram-status{margin-top:10px;padding:7px 12px;border:1px solid var(--border-dark);background:rgba(8,10,20,.6);display:flex;align-items:center;gap:8px;border-radius:6px}.diagram-status-spinner{width:12px;height:12px;border:1.5px solid var(--border-dark);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;animation:diag-spin .7s linear infinite}.diagram-status-text{color:var(--text-on-dark-muted);letter-spacing:.03em}.diagram-error-status,.diagram-status-text{font-family:var(--font-mono);font-size:11px}.diagram-error-status{margin-top:10px;padding:6px 12px;border:1px solid rgba(248,113,113,.2);background:rgba(30,10,10,.5);color:rgba(248,113,113,.8);border-radius:6px}.diagram-inline-canvas .react-flow,.diagram-inline-canvas .react-flow__container,.diagram-inline-canvas .react-flow__pane,.diagram-inline-canvas .react-flow__renderer,.diagram-modal-canvas .react-flow,.diagram-modal-canvas .react-flow__container,.diagram-modal-canvas .react-flow__pane,.diagram-modal-canvas .react-flow__renderer{background:transparent!important}.react-flow__edge-textwrapper text{font-family:var(--font-mono,monospace)!important}.diagram-modal-canvas .react-flow__controls{background:rgba(8,10,20,.9);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px rgba(0,0,0,.4);border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.diagram-modal-canvas .react-flow__controls button{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(148,163,184,.7);border-radius:0;fill:rgba(148,163,184,.7);transition:background .15s ease,color .15s ease,fill .15s ease}.diagram-modal-canvas .react-flow__controls button:hover{background:rgba(56,189,248,.08);color:#38bdf8;fill:#38bdf8}.diagram-modal-canvas .react-flow__controls button:last-child{border-bottom:none}[data-theme=light] .diagram-node{background:rgba(255,255,255,.97);border-color:var(--node-color,#38bdf8);box-shadow:0 2px 12px rgba(0,0,0,.08),0 0 12px var(--node-glow,transparent)}[data-theme=light] .diagram-node:hover{box-shadow:0 6px 24px rgba(0,0,0,.12),0 0 20px var(--node-glow,transparent)}[data-theme=light] .selected .diagram-node{box-shadow:0 4px 20px rgba(0,0,0,.1),0 0 32px var(--node-glow,transparent)}[data-theme=light] .diagram-node-label{color:#0f172a}[data-theme=light] .diagram-node-sublabel{color:#64748b}[data-theme=light] .diagram-legend-label{color:var(--text-secondary)}[data-theme=light] .diagram-inline{border-color:var(--border);background:rgba(248,250,252,.5)}[data-theme=light] .diagram-inline-sep,[data-theme=light] .diagram-inline-stats{color:var(--text-muted)}[data-theme=light] .diagram-inline-title{color:var(--text-secondary)}[data-theme=light] .diagram-status{background:rgba(248,250,252,.9);border-color:var(--border)}[data-theme=light] .diagram-error-status{background:rgba(254,242,242,.9);border-color:rgba(239,68,68,.2)}[data-theme=light] .diagram-status-text{color:var(--text-secondary)}[data-theme=light] .diagram-modal-footer,[data-theme=light] .diagram-modal-header{background:rgba(248,250,252,.95)}[data-theme=light] .diagram-modal-canvas .react-flow__controls{background:rgba(255,255,255,.95);border-color:rgba(0,0,0,.1)}[data-theme=light] .diagram-modal-canvas .react-flow__controls button{border-bottom-color:rgba(0,0,0,.06);color:#64748b;fill:#64748b}[data-theme=light] .diagram-modal-canvas .react-flow__controls button:hover{background:rgba(56,189,248,.08);color:#0284c7;fill:#0284c7}.chat-thinking{margin-top:4px}.chat-thinking-phase{display:inline-flex;align-items:baseline;gap:0;font-family:var(--font-mono);font-size:11.5px;color:var(--text-on-dark-secondary);letter-spacing:.01em;-webkit-user-select:none;user-select:none}.chat-thinking-phase--clickable{cursor:pointer}.chat-thinking-phase--clickable:hover{opacity:.75}@property --shimmer-pos{syntax:"<percentage>";inherits:true;initial-value:160%}@keyframes shimmer-driver{0%{--shimmer-pos:160%}to{--shimmer-pos:-60%}}.chat-thinking{animation:shimmer-driver 1.8s ease-in-out infinite}.chat-thinking-phase-label{background:linear-gradient(90deg,var(--text-on-dark-secondary) 0,var(--text-on-dark-secondary) 20%,rgba(255,255,255,.7) 50%,var(--text-on-dark-secondary) 80%,var(--text-on-dark-secondary) 100%);background-size:250% auto;background-position:var(--shimmer-pos) center;-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .chat-thinking-phase-label{background:linear-gradient(90deg,#888 0,#888 20%,var(--accent) 50%,#888 80%,#888 100%);background-size:250% auto;background-position:var(--shimmer-pos) center;-webkit-background-clip:text;background-clip:text;color:transparent}.chat-thinking-dots{display:inline;margin-left:1px;font-size:1.4em;line-height:1;background:linear-gradient(90deg,var(--text-on-dark-secondary) 0,var(--text-on-dark-secondary) 20%,rgba(255,255,255,.7) 50%,var(--text-on-dark-secondary) 80%,var(--text-on-dark-secondary) 100%);background-size:250% auto;background-position:var(--shimmer-pos) center;-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .chat-thinking-dots{background:linear-gradient(90deg,#888 0,#888 20%,var(--accent) 50%,#888 80%,#888 100%);background-size:250% auto;background-position:var(--shimmer-pos) center;-webkit-background-clip:text;background-clip:text;color:transparent}.chat-thinking-rows{display:flex;flex-direction:column;gap:2px;margin-top:2px;padding-left:2px}.thinking-row{display:flex;align-items:baseline;gap:8px;font-family:var(--font-mono);font-size:11px;line-height:1.5}.thinking-row-tag{font-size:10px;flex-shrink:0;width:12px;text-align:right;color:var(--text-on-dark-muted);opacity:.5}.thinking-row-text{word-break:break-word;color:var(--text-on-dark-muted)}.thinking-row--loading .thinking-row-text{background:linear-gradient(90deg,var(--text-on-dark-muted) 0,var(--text-on-dark-muted) 20%,rgba(255,255,255,.6) 50%,var(--text-on-dark-muted) 80%,var(--text-on-dark-muted) 100%);background-size:250% auto;background-position:var(--shimmer-pos) center;-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .thinking-row--loading .thinking-row-text{background:linear-gradient(90deg,#bbb 0,#bbb 20%,var(--accent) 50%,#bbb 80%,#bbb 100%);background-size:250% auto;background-position:var(--shimmer-pos) center;-webkit-background-clip:text;background-clip:text;color:transparent}.thinking-row--done .thinking-row-text{color:var(--text-on-dark-secondary)}[data-theme=light] .thinking-row--done .thinking-row-text{color:#555}.thinking-row--variant .thinking-row-tag{opacity:.7;color:var(--accent)}.thinking-row--variant .thinking-row-text{color:var(--text-on-dark-secondary)}[data-theme=light] .chat-thinking-phase{color:#555}[data-theme=light] .thinking-row-tag{color:#bbb}[data-theme=light] .thinking-row-text{color:#888}[data-theme=light] .thinking-row--variant .thinking-row-tag{color:#15803d}[data-theme=light] .thinking-row--variant .thinking-row-text{color:#444}.chat-model-thinking{margin:4px 0 6px;max-width:82%}.chat-model-thinking-summary{font-family:var(--font-mono);font-size:11px;color:#a78bfa;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:inline-flex;align-items:center;gap:4px}.chat-model-thinking-summary:before{content:"▸";font-size:9px;transition:transform .15s ease}.chat-model-thinking[open]>.chat-model-thinking-summary:before{transform:rotate(90deg)}.chat-model-thinking-summary::-webkit-details-marker{display:none}.chat-model-thinking-content{margin-top:6px;padding:8px 12px;font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--text-on-dark-secondary,#a0a0a0);background:rgba(168,139,250,.06);border-left:2px solid rgba(168,139,250,.3);border-radius:4px;white-space:pre-wrap;max-height:300px;overflow-y:auto}[data-theme=light] .chat-model-thinking-summary{color:#7c3aed}[data-theme=light] .chat-model-thinking-content{color:#555;background:rgba(124,58,237,.05);border-left-color:rgba(124,58,237,.25)}.mobile-menu-btn{display:none;background:none;border:1px solid var(--page-border);color:var(--page-text);cursor:pointer;padding:6px 10px;font-size:16px;line-height:1;flex-shrink:0}.mobile-menu-panel{display:none;position:absolute;top:100%;left:0;right:0;background:var(--page-bg);border-bottom:1px solid var(--page-border);z-index:39;flex-direction:column}.mobile-menu-panel.open{display:flex}.mobile-menu-item{display:block;padding:14px 20px;font-size:14px;font-weight:600;color:var(--page-text-dim);text-decoration:none;border-top:1px solid var(--page-border);font-family:var(--font-mono);letter-spacing:.02em}.mobile-menu-item:active{background:var(--page-surface)}.hero-form{display:flex;width:100%;border:1px solid var(--page-border);box-shadow:var(--page-shadow)}.hero-input{flex:1 1;padding:16px 20px;font-family:var(--font-mono);font-size:1rem;border:none;outline:none;background:var(--page-surface);color:var(--page-text)}.hero-submit-btn{padding:16px 28px;background:#0a0a0a;color:#f5f5f0;border:none;cursor:pointer;font-weight:700;font-size:1rem;font-family:var(--font-display);white-space:nowrap;transition:background .15s}.hero-submit-btn:hover{background:#16a34a}[data-theme=light] .hero-submit-btn{background:var(--page-text)}[data-theme=light] .hero-submit-btn:hover{background:#16a34a}.example-repos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.step-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:64px}.step-card{padding:32px 28px}.recent-chat-card,.step-card{border:1px solid var(--page-border);background:var(--page-surface)}.recent-chat-card{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease}.rcc-repo{flex-shrink:0}.rcc-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcc-delete{flex-shrink:0}@media (max-width:640px){.landing-nav{padding:12px 18px!important;position:relative}.nav-hide-mobile{display:none!important}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.hero-section{padding:48px 18px 40px!important;min-height:unset!important}.hero-badge{font-size:9.5px!important;padding:4px 10px!important;letter-spacing:.04em!important;max-width:88vw!important;text-align:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:6px!important}.hero-form{flex-direction:column;box-shadow:none;border:none}.hero-input{border:1px solid var(--page-border);border-bottom:none;font-size:.9rem;padding:14px 16px}.hero-submit-btn{padding:15px;font-size:.95rem;border:1px solid var(--page-border);border-top:2px solid #16a34a;white-space:normal}.landing-section{padding-left:18px!important;padding-right:18px!important}.example-repos-grid{grid-template-columns:1fr 1fr;gap:10px}.step-cards-grid{grid-template-columns:1fr}.step-cards-grid .step-card{border-right:1px solid var(--page-border)!important;border-bottom:none!important}.step-cards-grid .step-card:last-child{border-bottom:1px solid var(--page-border)!important}.how-section{padding:48px 18px 40px!important}.recent-chats-header{flex-wrap:wrap!important;gap:8px!important}.recent-chat-card{flex-wrap:wrap;row-gap:4px}.rcc-repo{flex:1 1;min-width:0}.rcc-label{width:100%;flex:none;white-space:normal;overflow:visible;text-overflow:unset;order:3}.rcc-delete{order:2}.landing-footer{padding:20px 18px!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important}}.chat-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:49;cursor:pointer}@media (max-width:640px){.chat-sidebar-aside{position:fixed!important;top:0;left:0;bottom:0;height:100%!important;z-index:50}.chat-sidebar-backdrop{display:block}.chat-nav{padding:0 12px!important;height:48px!important}.chat-nav-repo-badge{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.chat-nav-browse-btn,.chat-nav-stale{display:none!important}.chat-messages-area{padding:14px!important}.chat-input-form{padding:10px 12px!important;gap:8px!important}}