Protocolo PLAN-theming §7 sobre `chat-typing`. Censo 89 % → **100 %**, contrato
7 → **8** claves, centinela **8/8** con **cero adjudicadas**.
## Lo que entra: una clave, y es la COSTURA
`dot-radius` (`var(--radius-full)`), el único knob que leía el sistema a pelo.
El valor sigue siendo el del sistema; el knob pasa a ser del componente.
**El nombre sale del CATÁLOGO, no del generador.** La ficha proponía
`indicator-radius` —nombra por el primer selector de la regla,
`[data-chat-typing-indicator] > span`— cuando el nodo que PINTA es el punto y el
contrato ya habla `dot-size` / `dot-gap` / `dot-fg`. Es el defecto de
`tree-view` («root-bg» para una guía de indentación) en pequeño.
## Lo que el instrumento no veía: 3 nodos de 8
Los tres puntos son `> span` DESNUDOS del indicador —sin `data-chat-typing-*`,
la clase de la pastilla del separador de `chat-log`— y la demo arranca con NADIE
escribiendo, así que `data-state='idle'` esconde a todos los hijos (presencia =
visibilidad, N-7). Con el selector extra y un typer encendido por `prepareWith`:
**8 nodos**, y el centinela ya daba **7/7 antes de tocar el código**.
## El diff de computed NO cerró en cero, y es RUIDO reproducido
18 diffs, los 18 de `opacity` y los 18 en los tres
`span[data-animation-style=pulse]`. Sus puntos montan el loop `pulse` del
SISTEMA, que anima `opacity` sin parar, así que cada lectura cae en una fase
distinta: corriendo la sonda dos veces sobre el MISMO código salen los mismos 18
(control `after` vs `after2`). Ninguna otra propiedad se mueve, la clave tocada
es `border-radius`, y las capturas 2x antes/después son **idénticas byte a
byte** (1.568 valores · 7 estados · 8 nodos).
## Guards
censo `--only chat-typing` 100 % (global 68 %, no baja; los que llegan al 100 %
pasan de 36 a 42) · `component-audit` PASS · `eidos-lint` 0 invalid (8
morfo-backed, 0 eidos-only) · `vitest run src/uix/eidos` sin rojos nuevos (el
único vivo es el conocido `skin-media-player`) · `rtl:check` 0 · `docs:check` 0 ·
`check` COMPLETED sin un solo error del componente · prettier limpio sobre el
contenido normalizado a LF.
README con su sección «Talla y tema», demo con pestaña `Tokens` (8 claves,
verificada en navegador) y ficha con su veredicto §5.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>