:root{--bg:#f7f7f8;--panel:#fff;--line:#e2e2e6;--ink:#1a1a1c;--muted:#6b6b73;--accent:#2f5fd0;--wasm:#0f7b5f;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{flex-direction:column;height:100vh;display:flex}.header{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:1.5rem;padding:.75rem 1.25rem;display:flex}.header h1{flex:none;margin:0;font-size:1.05rem}.user-switch{gap:.25rem;display:flex}.chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.badge{color:var(--muted);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:.2rem .6rem;font-size:.75rem}.badge-ready{color:var(--wasm);border-color:var(--wasm)}.body{flex:1;min-height:0;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex:0 0 240px;width:240px;padding:.75rem;overflow-y:auto}.new-chat{cursor:pointer;border:1px dashed var(--line);width:100%;color:var(--muted);background:0 0;border-radius:6px;margin-bottom:.75rem;padding:.5rem}.conversation-list{margin:0;padding:0;list-style:none}.conversation{text-align:left;cursor:pointer;width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;margin-bottom:.2rem;padding:.5rem;font-size:.85rem;display:block;overflow:hidden}.conversation-active{color:var(--accent);background:#eef2fd}.conversation-draft{font-style:italic}.chat{flex-direction:column;flex:1;min-width:0;padding:1rem;display:flex;overflow-y:auto}.messages{flex-direction:column;flex:1;gap:.75rem;display:flex}.bubble{border-radius:10px;max-width:70ch;padding:.7rem .9rem;line-height:1.5}.bubble-user{background:var(--accent);color:#fff;align-self:flex-end}.bubble-assistant{background:var(--panel);border:1px solid var(--line);align-self:flex-start}.assistant-text{white-space:pre-wrap;margin:.5rem 0 0}.tool-card{border:1px solid var(--line);background:#fbfbfc;border-radius:8px;margin-bottom:.5rem}.tool-card summary{cursor:pointer;align-items:center;gap:.6rem;padding:.5rem .7rem;font-size:.85rem;display:flex}.wasm-badge{color:var(--wasm);border:1px solid var(--wasm);border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.tool-body{padding:0 .7rem .7rem}.tool-body h4{text-transform:uppercase;color:var(--muted);margin:.5rem 0 .25rem;font-size:.72rem}.tool-body pre{background:#f3f3f5;border-radius:6px;margin:0;padding:.5rem;font-size:.75rem;overflow-x:auto}.status{color:var(--muted);font-size:.85rem;font-style:italic}.status-wasm{color:var(--wasm);font-style:normal;font-weight:600}.error{color:#b3261e;background:#fdecea;border-radius:6px;padding:.5rem .7rem;font-size:.85rem}.unsynced{color:#8a6d1f;font-size:.75rem}.composer{gap:.5rem;padding-top:.75rem;display:flex}.composer input{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;flex:1;padding:.65rem .8rem;font-size:.9rem}.composer button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.2rem}.composer button:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}
