*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background:#1a1a2e;color:#e0e0e0;height:100vh;overflow:hidden}#app{display:flex;height:100vh}#sidebar{width:200px;min-width:200px;background:#16162a;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0}#sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #333;font-size:13px;font-weight:600;color:#a78bfa}#sidebar-header button{background:#6366f1;color:#fff;border:none;border-radius:4px;width:24px;height:24px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}#sidebar-header button:hover{background:#4f46e5}#session-list{flex:1;overflow-y:auto;padding:4px 0}.session-item{display:flex;align-items:center;padding:8px 12px;font-size:13px;cursor:pointer;border-left:3px solid transparent;white-space:nowrap;overflow:hidden;color:#9ca3af;min-width:0}.session-running-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#34d399;margin-right:6px;flex-shrink:0}.session-busy-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;margin-right:6px;flex-shrink:0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.session-status{display:block;font-size:11px;margin-top:2px}.session-status.working{color:#f59e0b}.session-status.idle{color:#34d399}.session-item:hover{background:#1e1e36;color:#e0e0e0}.session-item.active{background:#1e1e36;border-left-color:#6366f1;color:#e0e0e0}#chat{flex:1;display:flex;flex-direction:column;min-width:0}.status{padding:6px 12px;font-size:12px;text-align:center;flex-shrink:0}.status.connected{background:#065f46;color:#a7f3d0}.status.disconnected{background:#991b1b;color:#fecaca}.status.connecting{background:#92400e;color:#fde68a}#messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column}.session-container{display:flex;flex-direction:column;gap:12px;min-height:100%}.load-more-btn{align-self:center;background:#2a2a40;border:1px solid #444;color:#9ca3af;padding:6px 16px;border-radius:6px;font-size:12px;cursor:pointer;margin-bottom:8px}.load-more-btn:hover{background:#333;color:#e0e0e0}.msg{max-width:80%;padding:10px 14px;border-radius:8px;white-space:pre-wrap;word-break:break-word;line-height:1.5;font-size:14px}.msg.user{align-self:flex-end;background:#2563eb;color:#fff}.msg.assistant{align-self:flex-start;background:#2a2a40;color:#e0e0e0}.msg.assistant.markdown-body{white-space:normal}.msg.assistant.markdown-body p{margin:.5em 0}.msg.assistant.markdown-body p:first-child{margin-top:0}.msg.assistant.markdown-body p:last-child{margin-bottom:0}.msg.assistant.markdown-body h1,.msg.assistant.markdown-body h2,.msg.assistant.markdown-body h3,.msg.assistant.markdown-body h4{color:#c4b5fd;margin:.8em 0 .4em;line-height:1.3}.msg.assistant.markdown-body h1{font-size:1.3em}.msg.assistant.markdown-body h2{font-size:1.15em}.msg.assistant.markdown-body h3{font-size:1.05em}.msg.assistant.markdown-body h4{font-size:1em}.msg.assistant.markdown-body ul,.msg.assistant.markdown-body ol{margin:.5em 0;padding-left:1.5em}.msg.assistant.markdown-body li{margin:.2em 0}.msg.assistant.markdown-body strong{color:#f0f0f0}.msg.assistant.markdown-body em{color:#c4b5fd}.msg.assistant.markdown-body a{color:#818cf8;text-decoration:underline;text-decoration-color:#818cf866}.msg.assistant.markdown-body a:hover{color:#a5b4fc;text-decoration-color:#818cf8cc}.msg.assistant.markdown-body blockquote{border-left:3px solid #6366f1;padding:.3em .8em;margin:.5em 0;color:#9ca3af}.msg.assistant.markdown-body hr{border:none;border-top:1px solid #444;margin:.8em 0}.msg.assistant.markdown-body table{border-collapse:collapse;margin:.5em 0;font-size:13px}.msg.assistant.markdown-body th,.msg.assistant.markdown-body td{border:1px solid #444;padding:4px 8px}.msg.assistant.markdown-body th{background:#1e1e30;color:#c4b5fd}.msg.assistant.markdown-body code{background:#1e1e30;border:1px solid #333;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:.9em}.msg.assistant.markdown-body pre{background:#161625;border:1px solid #333;border-radius:6px;padding:10px 12px;margin:.5em 0;overflow-x:auto;font-size:12px;line-height:1.5}.msg.assistant.markdown-body pre code{background:none;border:none;border-radius:0;padding:0;font-size:inherit}.msg.system{align-self:center;background:transparent;color:#888;font-size:12px;font-style:italic}.msg.streaming{border-left:3px solid #6366f1}.msg-thinking{margin-bottom:8px}.msg-thinking summary{cursor:pointer;font-style:italic;color:#9ca3af;font-size:13px;padding:4px 0;-webkit-user-select:none;user-select:none}.msg-thinking summary:hover{color:#c4b5fd}.msg-thinking-body{font-size:12px;font-style:italic;color:#777;white-space:pre-wrap;max-height:300px;overflow-y:auto;padding:6px 0;line-height:1.5}.msg-error{background:#3b1111;border:1px solid #991b1b;border-radius:4px;color:#fca5a5;padding:8px 10px;margin-top:8px;font-size:13px;white-space:pre-wrap}.msg-usage{font-size:11px;color:#666;text-align:right;margin-top:8px;padding-top:6px;border-top:1px solid #333}.msg.tool{align-self:flex-start;max-width:90%;background:#1e1e30;border:1px solid #333;border-radius:6px;padding:0;font-size:13px;overflow:hidden}.tool-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#252540;color:#a78bfa;font-weight:600;font-family:monospace}.tool-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#6366f1;color:#fff;border-radius:3px;font-size:11px;font-weight:700;flex-shrink:0}.tool-spinner{margin-left:auto;font-size:11px;font-weight:400;color:#f59e0b;animation:pulse 1.5s ease-in-out infinite}.tool-input,.tool-output{padding:8px 10px;margin:0;font-family:monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.tool-input{color:#9ca3af;border-bottom:1px solid #333}.tool-output{color:#6ee7b7}.tool-output-details{border-top:1px solid #333}.tool-output-summary{padding:6px 10px;font-size:12px;color:#9ca3af;cursor:pointer;-webkit-user-select:none;user-select:none}.tool-output-summary:hover{color:#e0e0e0}.msg.tool.tool-error{border-color:#991b1b}.msg.tool.tool-error .tool-header{background:#3b1111;color:#fca5a5}.msg.tool.tool-error .tool-icon{background:#991b1b}.tool-output.error{color:#fca5a5;background:#2a1111}#input-form{display:flex;gap:8px;padding:12px 16px;background:#16162a;border-top:1px solid #333;flex-shrink:0}#input{flex:1;padding:10px 14px;border:1px solid #444;border-radius:6px;background:#1a1a2e;color:#e0e0e0;font-size:14px;outline:none}#input:focus{border-color:#6366f1}#input-form button{padding:10px 20px;background:#6366f1;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}#input-form button:hover{background:#4f46e5}#input-form button:disabled{background:#444;cursor:not-allowed}#workspace{width:45%;min-width:300px;display:flex;flex-direction:column;border-left:1px solid #333;flex-shrink:0}#workspace-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #333;font-size:13px;font-weight:600;color:#a78bfa;background:#16162a;flex-shrink:0}#workspace-header button{background:none;border:none;color:#9ca3af;font-size:18px;cursor:pointer;padding:0 4px}#workspace-header button:hover{color:#e0e0e0}#app-frame{flex:1;border:none;background:#fff}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
