.collapsible-section{margin-bottom:.5rem;border:1px solid #3e3e42;border-radius:8px;background:#252526;overflow:hidden}.collapsible-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:transparent;border:none;color:#858585;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:left}.collapsible-header:active{background:#2a2d2e}.collapsible-chevron{display:inline-block;font-size:.7rem;transition:transform .15s ease;flex-shrink:0}.collapsible-chevron.open{transform:rotate(90deg)}.collapsible-label{flex:1}.collapsible-section.reasoning .collapsible-label{color:#ce9178}.collapsible-section.tool .collapsible-label{color:#4ec9b0}.collapsible-active-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;animation:pulse 1.4s ease-in-out infinite}.collapsible-section.reasoning .collapsible-active-dot{background:#ce9178}.collapsible-section.tool .collapsible-active-dot{background:#4ec9b0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.collapsible-content{max-height:40vh;overflow-y:auto;padding:0 .75rem .75rem;border-top:1px solid #3e3e42}.collapsible-content pre{white-space:pre-wrap;word-wrap:break-word;line-height:1.5;font-size:.8125rem;margin-top:.75rem}.collapsible-section.reasoning .collapsible-content pre{color:#ce9178}.collapsible-section.tool .collapsible-content .tool-output-item{margin-top:.75rem;padding:.5rem;background:#1e1e1e;border-left:3px solid #4ec9b0;border-radius:4px}.collapsible-section.tool .collapsible-content .tool-output-item pre{color:#d4d4d4;font-family:Courier New,Courier,monospace;margin:0}.chat-panel{display:flex;flex-direction:column;flex:1;min-height:0;background:#1e1e1e}.messages-container{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#858585;text-align:center;padding:1rem}.message{max-width:88%;margin-bottom:.875rem;display:flex;flex-direction:column}.message.user{align-self:flex-end;align-items:flex-end}.message.assistant{align-self:flex-start;align-items:flex-start}.message-role{font-size:.6875rem;font-weight:600;color:#858585;margin-bottom:.25rem;text-transform:uppercase}.message.user .message-role{color:#4ec9b0}.message.assistant .message-role{color:#569cd6}.message-content{padding:.625rem .875rem;border-radius:16px;line-height:1.5;width:100%}.message.user .message-content{background:#007acc;color:#fff;border-bottom-right-radius:4px}.message.assistant .message-content{background:#2d2d30;border-bottom-left-radius:4px}.message-content p{margin:0 0 .5rem}.message-content p:last-child{margin-bottom:0}.message-content pre{white-space:pre-wrap;word-wrap:break-word;line-height:1.5;color:#ce9178;font-size:.875rem}.message-timestamp{font-size:.6875rem;color:#858585;margin-top:.25rem}.typing-indicator{display:flex;align-items:center;gap:4px;padding:.75rem .875rem;background:#2d2d30;border-radius:16px 16px 16px 4px;width:fit-content}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:#858585;animation:typing-bounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.composer{background:#252526;border-top:1px solid #3e3e42;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0px)}.show-output-toggle{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem 0;font-size:.75rem;color:#858585;-webkit-user-select:none;user-select:none;cursor:pointer}.show-output-toggle input{width:15px;height:15px;accent-color:#007acc;cursor:pointer}.input-form{display:flex;gap:.5rem;padding:.625rem}.message-input{flex:1;min-width:0;padding:.75rem;background:#3c3c3c;border:1px solid #3e3e42;border-radius:20px;color:#d4d4d4;font-size:1rem}.message-input:focus{outline:none;border-color:#007acc}.message-input:disabled{opacity:.5;cursor:not-allowed}.send-button{padding:0 1.25rem;background:#007acc;border:none;border-radius:20px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s;flex-shrink:0}.send-button:hover:not(:disabled){background:#005a9e}.send-button:disabled{opacity:.5;cursor:not-allowed}@media(min-width:640px){.chat-panel{width:100%;max-width:720px;margin:0 auto}.message{max-width:75%}}.app{height:100dvh;display:flex;flex-direction:column;background:#1e1e1e;color:#d4d4d4;padding-top:env(safe-area-inset-top,0px)}.app-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#252526;border-bottom:1px solid #3e3e42;flex-shrink:0}.app-header h1{margin:0;font-size:1.125rem;font-weight:600}.app-header-status{display:flex;align-items:center;gap:.75rem}.connection-status{font-size:.75rem;white-space:nowrap}.connection-status.connected{color:#4ec9b0}.connection-status.disconnected{color:#f48771}.running-indicator{font-size:.75rem;color:#007acc;white-space:nowrap;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(min-width:640px){.app-header h1{font-size:1.5rem}.connection-status,.running-indicator{font-size:.875rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre{font-family:Courier New,Courier,monospace}
