The Referent AI mark.

Three candidate families for the mark that replaces the lucide sparkle and the chat spinner — one glyph, two states: crisp at rest, a living orb while the AI thinks. Every specimen below is real inline SVG, animated in CSS only.

REF-247 · design exploration plan 2026-08-07-001 motion refs: Antalik thinking-orbs · Appllama
A · Reference point
B · Section spark
C · Radial evolution
Loops are pure CSS on transform/opacity — a chat re-render cannot restart them.

AThe Reference Point

A referent is the thing a word points at. The mark is that idea drawn literally: a fixed point, one long north ray, and a reference tick reading its bearing along an orbit arc — an instrument marker, not a star. While thinking, the point itself becomes the orb and the tick sweeps the arc like a needle taking a measurement.

Static · 16 / 20 / 24 px · currentColor
16 20 24
16 20 24
Ask Referent — in-context at 16 px beside label text.
Thinking → settle

Thinking: the point swells into a breathing orb (4.8 s breath), rays recede to 40%, the tick sweeps ±26° along the arc on a 9.6 s period — two breaths per sweep, so the whole figure feels like one slow instrument. Settle: everything returns in 220 ms ease-out; the orb crisps back into the point.

Squint test · vs lucide Sparkles
Family A lucide Sparkles

Blurred, the sparkle collapses into a soft diamond; A stays a dot-with-a-spike and an off-axis arc. No shared silhouette.

Color · monochrome vs Antique Gold
Mono
Mono
Gold
Gold

Gold flatters the orb (the #ffe19b nucleus glows like the CTA border) but promotes an ambient indicator into an accent — see the color recommendation below.

For

  • Owns the name. A point being referenced is the product's etymology drawn as geometry — nobody else can claim it.
  • Farthest from the sparkle. Asymmetric, off-axis, instrument-like; survives the squint test cleanly.
  • The orb has a native home. "The point becomes the orb" needs no explanation — the still thing starts to think.
  • Calm by construction. A needle sweeping an arc is measurement, not magic — precise, legal-workly motion.

Against

  • Most abstract of the three; the arc must stay open (<100°) or it drifts toward "location pin / target."
  • The tick is the detail floor at 16 px — it must keep ≥2 px of drawn length after rasterizing.
  • New vocabulary: no continuity with the shipped loader, so the swap reads as a change, not a refinement.

BThe Section Spark

The section sign is the one glyph that means law in every typeface — redrawn here as two open curls completing each other through a single point. That point is the glyph's counter and its heart: at rest a crisp dot, while thinking the orb breathes inside the § — the law, thinking.

Static · 16 / 20 / 24 px · currentColor
16 20 24
16 20 24
Ask Referent — in-context at 16 px beside label text.
Thinking → settle

Thinking: the glyph holds perfectly still at 55% while the counter breathes — the quietest of the three treatments; all life is interior. Settle: curls return to full weight and the orb condenses back to the dot in 220 ms.

Squint test · vs lucide Sparkles
Family B lucide Sparkles

Zero sparkle risk — the failure mode is different: blurred small, it can read as an "S" or a swirl rather than a §.

Color · monochrome vs Antique Gold
Mono
Mono
Gold
Gold

Gold § is the most dangerous combination on the page — it is one step from the "serif + gold legal" cliché the brand explicitly rejects.

For

  • Instant provenance. Reads "legal" before it reads "AI" — the only family with a built-in domain claim.
  • Strongest one-liner. "The § with a thinking heart" survives a hallway retelling intact.
  • Quietest motion. A still glyph with a breathing counter is the most restrained treatment here.

Against

  • 16 px is hostile to it. Two curls + a dot at ~1.3 px stroke is at the legibility floor; the ramp above shows the strain.
  • Category reflex risk. A § mark walks straight into the legaltech-cliché lane PRODUCT.md rejects; gold makes it worse.
  • Says "statute/citation" more than "teammate" — § is the law's furniture, not the assistant's voice.
  • § carries statutory weight unevenly across jurisdictions; as a US/EU shorthand it's strong, elsewhere it's a curl.

CThe Radial Evolution

The shipped 8-ray loader, promoted from spinner to mark: seven rays of deliberately unequal length around an orb core, longest at north, a quiet gap at south-west — asymmetry is what separates a mark from a loading glyph. While thinking the core undulates and a slow wave of light travels the rays; nothing rotates.

Static · 16 / 20 / 24 px · currentColor
16 20 24
16 20 24
Ask Referent — in-context at 16 px beside label text.
Thinking → settle

Thinking: the core breathes while a luminous wave circles the rays once per 4.8 s breath (opacity only — deliberately unlike the current spinner's rotation). Settle: the wave stops, every ray restores to full, the orb crisps — 220 ms.

Squint test · vs lucide Sparkles
Family C lucide Sparkles

The honest weakness: blurred, both become radiant points. The unequal rays and the south-west gap are the entire margin of difference.

Color · monochrome vs Antique Gold
Mono
Mono
Gold
Gold

Gold rays read as a sun/burst — the most "award badge" of the six gold cells. If C wins, it should stay monochrome without exception.

For

  • System continuity. Users already know this geometry from every loader; the AI mark reads as its refinement, not an invasion.
  • Cheapest migration. Same stroke grammar and viewBox as the shipped component; the swap is nearly mechanical.
  • Natural thinking metaphor. Rays around a breathing core need no onboarding — it already means "working."

Against

  • Closest to the sparkle family. At a squint it is still a radiant point; the asymmetry is the only defense, and it thins at 16 px.
  • Weak as a static badge. The distinctiveness lives in the animation; frozen on a button it is a generic burst.
  • Blurs the R9 boundary: an AI mark this close to the data loader undermines "two loader systems coexist by design."

In the chat panel

Each family inline as the thinking indicator, with the refreshed phased status text (the ~7 s escalation mechanic is unchanged — only the words). Chips switch between the three candidate wording sets; the demo cycles phases every few seconds.

Family A
Summarize the deposition transcript from the Hartley matter.
Reviewing…
The tick's slow sweep gives the row a visible "pulse" even at 15 px.
Family B
Draft an engagement letter for the new Meridian client.
Consulting the file…
At 15 px only the breathing counter registers; the § reads as texture.
Family C
Which deadlines are at risk across my open matters this week?
Looking it up…
The ray wave is legible small — but so is its kinship with the old spinner.

Set 1 · Plain counsel

  1. Reviewing…
  2. Still reviewing…
  3. Working through it…

Closest to the current wording. Zero drama, zero jargon — the senior-paralegal register from PRODUCT.md, verbatim. Safe with any family.

Set 2 · The file

  1. Consulting the file…
  2. Cross-referencing…
  3. Drafting the response…

Names real paralegal verbs, implying method without claiming pipeline stages we don't stream yet. Pairs naturally with A (referencing) and B (citation).

Set 3 · The reference desk

  1. Looking it up…
  2. Checking the authorities…
  3. Taking a longer look…

Leans into the "reference volume" brand story. "Authorities" is lovely for lawyers but the most forward claim of the three — phase 2 implies legal research is happening.

Recommendation

Family A — the reference point — in monochrome currentColor, with Family C as runner-up.

Why A: it is the only family that scores on every Success Criterion at once — unmistakably distinct from the sparkle at a squint, legible at 16 px with one detail-floor caveat (the tick), calm and instrument-precise in motion, and it carries the product's actual name: a referent is a point being referred to. B loses at 16 px and flirts with the legaltech cliché the brand constitution forbids; C is the safe evolution but stakes its identity on animation and stays within squinting distance of the sparkle family.

Color: stay monochrome. The mark is chrome — it inherits currentColor like every other icon, so it obeys the One-Gold Rule (gold belongs to the primary CTA alone). The gold specimens above are attractive precisely because they borrow CTA equity; spending that on an ambient indicator that appears dozens of times a day would cheapen both. Revisit gold only for marketing surfaces, outside this scope.

CSS fidelity: at the sizes this mark will ever render (15–88 px), the layered radial-gradient orb with breath + nucleus drift was judged against the shader-orb reference (viewed off-page; the specimens above are the CSS side of that comparison) — the shader's extra turbulence only reads above ~120 px. No canvas exception to R5 is warranted.

Motion spec — Family A
State What moves Duration / easing
Static Nothing. Crisp point, rays, arc, tick at rest.
Thinking · breath Orb halo scales 1 → 1.26; nucleus drifts ±0.5 px with ±6% scale. 4.8s ease-in-out infinite / nucleus 7.2s
Thinking · sweep Reference tick rotates ±26° about the point, along the arc. 9.6s ease-in-out infinite — two breaths per sweep
Thinking · chrome Rays fade to 40%, arc to 55% (opacity only). 220ms cubic-bezier(0.16,1,0.3,1)
Settle Orb → point, rays/arc/tick restore; loops stop. 220ms cubic-bezier(0.16,1,0.3,1)
Reduced motion Static mark only; phased text carries state (R7). Text loses shimmer, keeps phases.
Phased text Three phases, wording Set 2 ("The file"), escalate then hold. 7000ms per phase (unchanged)

Open before implementation planning: license check on the thinking-orbs repository and Appllama gallery is moot for code (nothing here is ported — motion language only) but should be recorded as such in the plan · confirm the 16 px tick renders ≥2 px on 1× displays, else thicken to 2.25 stroke at the smallest size · re-audit AI-semantic surfaces (chat, inbox scan, insight generation) before the R8/R9 swap.