{{ icon("sparkle", "icon--sm reasoning__icon") }} Thinking… {{ icon("chevron-down", "icon--sm reasoning__chevron") }}
{# innerHTML, not beforeend: the frame carries the whole block of thinking each time, exactly as `render` and `tools` do. Appending it repeated everything already shown, so the panel grew quadratically. #}{{ icon("sparkle", "icon--sm reasoning__icon") }} {% if message.reasoning_ms %} Thought for {{ message.reasoning_ms | duration }} {% else %} Reasoning {% endif %} {{ icon("chevron-down", "icon--sm reasoning__chevron") }}
{{ icon("x", "icon--sm") }} Stopped. This reply is cut short.
{% endif %} {% elif message.content %}