\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage[style=web]{chatui}

% custom colors: named xcolor, mixed, and raw hex
\colorlet{chatuiUserBg}{teal}
\definecolor{chatuiAssistantBg}{HTML}{FFF4E0}
\colorlet{chatuiAssistantFg}{black!80}
\colorlet{chatuiToolAccent}{purple!70!black}

% custom font: swap the sans hook for the LaTeX default serif
\renewcommand{\chatuiFontSans}{\rmfamily}

\begin{document}

\section*{chatui: custom colors and font}

\begin{chatconversation}[chat.example.com]

\begin{chatuser}
This bubble is teal instead of the default blue.
\end{chatuser}

\begin{chatthinking}
\tstep{Colors are just xcolor names, redefine them after \texttt{\textbackslash usepackage}.}
\end{chatthinking}

\begin{chattool}{web\_search}
\toolresult{Accent color is now purple.}
\end{chattool}

\begin{chatassistant}
And this bubble uses a warm cream background with the document's default
serif font, via \texttt{\textbackslash renewcommand\{\textbackslash chatuiFontSans\}\{\textbackslash rmfamily\}}.
\end{chatassistant}

\end{chatconversation}

\end{document}
