ComponentsReasoning
Reasoning
atomThe model’s thinking disclosure — “Thought for 12s”, collapsed by default.
Reasoning
The AI's thinking line — collapsed by default, the transcript one click away.
Thought for 12s
Two invoices match "overdue". The total the user asked for should count all open invoices, not just the overdue ones — compute both and answer with the distinction.
Thinking · 4s
Recipe CSS
This is the exact CSS your kit ships for Reasoning — token-driven, so it re-themes with every knob. Get it (and the rest) from the configurator's Use kit panel.
/* === Reasoning ===
The model's thinking disclosure — the "Thought for 12s" line above an AI
reply. Collapsed by default (the thinking is context, not content); a native
<details> opens a quiet, rail-marked transcript in faint caption type. One
optional axis:
.reasoning--live still thinking (info-tinted label)
Compose INSIDE .msg before the body, or above a .prose answer. */
.reasoning { font-size: var(--k-type-caption); }
.reasoning summary {
list-style: none;
display: inline-flex;
align-items: center;
gap: var(--k-s-6);
color: var(--k-fg-muted);
font-weight: var(--k-weight-medium);
cursor: pointer;
}
.reasoning summary::-webkit-details-marker { display: none; }
.reasoning__time { color: var(--k-fg-faint); font-weight: normal; }
.reasoning--live summary { color: var(--k-info); }
.reasoning__chevron {
width: var(--k-icon-xs);
height: var(--k-icon-xs);
color: var(--k-fg-faint);
flex: none;
transition: transform var(--k-dur, 200ms) var(--k-ease, ease);
}
.reasoning[open] .reasoning__chevron { transform: rotate(180deg); }
.reasoning__body {
margin: var(--k-s-6) 0 0;
padding: var(--k-s-2) 0 var(--k-s-2) var(--k-s-10);
border-left: var(--k-stroke-3, 3px) solid var(--k-border);
color: var(--k-fg-faint);
line-height: 1.6;
}