html,body{height:100%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e8e8e8;background:#0f0f0f;flex-direction:column;height:100dvh;max-height:100dvh;font-family:system-ui,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;flex:1;min-height:0;display:flex}.connect-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2rem;display:flex}.connect-screen h1{text-align:center;font-size:1.8rem;font-weight:600}.connect-form{flex-direction:column;gap:1rem;width:min(400px,90vw);display:flex}.connect-form label{color:#aaa;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}input,select,textarea{color:#e8e8e8;background:#1a1a1a;border:1px solid #333;border-radius:6px;outline:none;width:100%;padding:.5rem .75rem;font-size:.95rem}input:focus,textarea:focus{border-color:#555}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.55rem 1.2rem;font-size:.95rem}button:disabled{opacity:.4;cursor:default}button:not(:disabled):hover{background:#1d4ed8}.error{color:#f87171;font-size:.85rem}.chat-screen{flex-direction:column;flex:1;width:100%;max-width:800px;min-height:0;margin:0 auto;padding:0 1rem;display:flex;overflow:hidden}header{border-bottom:1px solid #222;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.title{font-size:1rem;font-weight:600}.header-right{align-items:center;gap:.75rem;display:flex}.stream-toggle{color:#aaa;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.stream-toggle select,.header-right select{width:auto}button.disconnect{background:#374151}button.disconnect:not(:disabled):hover{background:#4b5563}.messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem 0;display:flex;overflow-y:auto}.empty{color:#555;text-align:center;margin-top:2rem}.message{flex-direction:column;display:flex}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.bubble{white-space:pre-wrap;border-radius:12px;max-width:75%;padding:.6rem .9rem;font-size:.95rem;line-height:1.5}.message.user .bubble{background:#2563eb;border-bottom-right-radius:3px}.message.assistant .bubble{background:#1e1e1e;border:1px solid #2a2a2a;border-bottom-left-radius:3px}.cursor{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.tool-call{border:1px solid #2a2a2a;border-radius:6px;max-width:75%;margin-bottom:.25rem;font-size:.82rem;overflow:hidden}.tool-call-name{color:#a78bfa;background:#1a1a1a;padding:.25rem .6rem;font-weight:500;display:block}.tool-call-input{color:#888;background:#111;margin:0;padding:.4rem .6rem;font-size:.78rem;overflow-x:auto}.tool-call-result{color:#6ee7b7;background:#0a1a12;border-top:1px solid #1a2a1a;padding:.25rem .6rem}.tool-call-result.denied{color:#fca5a5;background:#1a0a0a;border-top-color:#2a1a1a}.thinking{color:#888;white-space:pre-wrap;border-left:2px solid #333;max-width:75%;margin-bottom:.25rem;padding:.3rem .5rem;font-size:.82rem;font-style:italic}.tool-section{flex-direction:column;display:flex}.tool-bar{border-bottom:1px solid #222;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.tool-label{color:#666;font-size:.82rem}.tool-unsupported{color:#555;font-size:.82rem;font-style:italic}.tool-chip{cursor:pointer;color:#ccc;background:#1e1e1e;border:1px solid #333;border-radius:4px;padding:.15rem .5rem;font-size:.8rem}.tool-chip:hover{border-color:#555}.tool-chip.disabled{opacity:.4}.tool-chip.server-tool{cursor:default;align-items:center;gap:.3rem;display:inline-flex}.tool-chip.server-tool>span:first-child{cursor:pointer}.trust-badge{color:#666;cursor:pointer;background:#2a2a2a;border:1px solid #333;border-radius:3px;padding:.1rem .35rem;font-size:.72rem}.trust-badge.trusted{color:#86efac;background:#14532d;border-color:#166534}button.tool-add{color:#888;background:#1e1e1e;border:1px dashed #444;padding:.2rem .6rem;font-size:.82rem}button.tool-add:hover{color:#ccc;border-color:#666}.tool-editor{border-bottom:1px solid #222;flex-direction:column;gap:.6rem;padding:.75rem 0;display:flex}.tool-editor-row{gap:.75rem;display:flex}.tool-editor-row label{flex:1}.tool-editor label{color:#aaa;flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.tool-editor textarea{font-family:monospace;font-size:.85rem}.hint{color:#555;font-style:italic}.hint code{color:#888;font-style:normal}.tool-editor-actions{gap:.5rem;display:flex}.input-row{border-top:1px solid #222;align-items:flex-end;gap:.5rem;padding:.75rem 0 1rem;display:flex}.input-row textarea{resize:none;flex:1}.sessions-panel{border:1px solid #222;border-radius:6px;margin:.5rem 0;font-size:.85rem;overflow:hidden}.sessions-header{background:#1a1a1a;border-bottom:1px solid #222;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-weight:500;display:flex}button.sessions-close{color:#888;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:.9rem}button.sessions-close:hover{color:#ccc;background:0 0}.sessions-body{max-height:220px;display:flex}.sessions-list{border-right:1px solid #222;width:220px;min-width:220px;list-style:none;overflow-y:auto}.session-item{cursor:pointer;color:#aaa;border-bottom:1px solid #1a1a1a;padding:.35rem .75rem}.session-item:hover,.session-item.selected{color:#e8e8e8;background:#1e1e1e}.session-item.active .session-id:after{content:" ●";color:#2563eb;font-size:.7rem}.session-id{word-break:break-all;font-family:monospace;font-size:.78rem}.sessions-hint{color:#555;padding:.5rem .75rem}.session-detail{flex-direction:column;flex:1;gap:.4rem;padding:.6rem .75rem;display:flex;overflow-y:auto}.session-detail-row{gap:.5rem;font-size:.82rem;display:flex}.session-detail-row>span:first-child{color:#666;min-width:60px}.session-detail-row>span:last-child{color:#ccc;word-break:break-all}.session-detail button{align-self:flex-start;margin-top:auto}.options-bar{border-bottom:1px solid #222;flex-wrap:wrap;gap:.75rem;padding:.4rem 0;display:flex}.option-field{color:#aaa;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.option-field input,.option-field select{width:auto}.perm-prompt{background:#1c1008;border:1px solid #854d0e;border-radius:8px;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.9rem}.perm-prompt p{margin-bottom:.5rem}.perm-prompt strong{color:#fbbf24}.perm-type{color:#888;font-size:.82rem}.perm-prompt pre{color:#aaa;background:#111;border-radius:4px;margin-bottom:.75rem;padding:.5rem;font-size:.8rem;overflow-x:auto}.perm-actions{gap:.5rem;display:flex}.perm-item{border-top:1px solid #2a1a00;margin-top:.5rem;padding-top:.5rem}.perm-item:first-of-type{border-top:none;margin-top:0;padding-top:0}
