:root{color-scheme:light dark;--fg:#1a1a1a;--muted:#666;--accent:#0b66c3;--border:#e2e2e2;--card:#fafafa;--card-border:#e6e6e6;--user-bubble:#0b66c3;--assistant-bubble:#f0f0f0}@media (prefers-color-scheme:dark){:root{--fg:#ededed;--muted:#9a9a9a;--border:#2a2a2a;--card:#161616;--card-border:#2a2a2a;--assistant-bubble:#1e1e1e}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);line-height:1.5}main{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem}h1{margin-bottom:.5rem;font-size:2rem}.subtitle{color:var(--muted);margin-top:0;max-width:640px}.chat{margin-top:1.5rem;border:1px solid var(--card-border);border-radius:12px;background:var(--card);padding:1rem}.messages{list-style:none;margin:0;padding:0;gap:.9rem;min-height:8rem}.message,.messages{display:flex;flex-direction:column}.message{max-width:85%}.message-user{align-self:flex-end;align-items:flex-end}.message-assistant{align-self:flex-start;align-items:flex-start}.role{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.2rem}.bubble{margin:0;padding:.6rem .85rem;border-radius:12px;white-space:pre-wrap;word-break:break-word}.message-user .bubble{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px}.message-assistant .bubble{background:var(--assistant-bubble);color:var(--fg);border-bottom-left-radius:4px}.bubble.pending{color:var(--muted);font-style:italic}.tool-steps{margin-top:.35rem;font-size:.8rem;color:var(--muted)}.tool-steps summary{cursor:pointer}.tool-steps ul{margin:.4rem 0 0;padding-left:1rem}.tool-steps code{font-size:.78rem}.tool-result{margin:.25rem 0 .5rem;padding:.4rem .55rem;background:var(--card);border:1px solid var(--border);border-radius:6px;white-space:pre-wrap;word-break:break-word;font-size:.75rem}.error{color:#b3261e;margin:.75rem 0 0}.composer{display:flex;gap:.5rem;margin-top:1rem}.composer input{flex:1 1;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--fg);font-size:.95rem}.composer button{padding:.6rem 1.1rem;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}