Tercero del bloque F2-A. 45 knobs sin contrato salvo el acento; ahora 61 claves
públicas, **cero privados y cero globales**.
censo 0 % → 88 % · global 40 % → 41 %
computed 3.277 valores en 7 estados: **0 diffs**
**El veredicto pedía renombrar `--_mp-*` → `--_media-player-*`; hacen falta
menos pasos que eso.** El prefijo abreviado viola theming §6 r5, cierto, pero
al leerlos uno a uno los dieciséis privados eran ALIAS PUROS de su fuente
(`--_mp-fg: var(--color-content-primary)`, `--_mp-accent:
var(--media-player-accent)`…). Un alias puro no se renombra: se borra. La capa
privada entera desaparece y cada knob pasa a público.
**El acento firmado NO se tocó**: `accent`/`accent-strong` siguen siendo
`--scale-amber-9/10` — acento de proyector theme-stable, que debe leerse sobre
cualquier vídeo en claro Y oscuro, con su doctrina escrita en el propio bloque.
Verificado en vivo que sigue re-tintando el rango del Slider compuesto.
**El scrim: UN color, dos gradientes.** La tira inferior de controles y el
degradado del título salen del mismo `--media-player-scrim`; dos tokens
dejarían que un tema rompiera la pareja sin querer.
**`audio-player` viajaba en el mismo barco y no era obvio**: consume siete de
esos tokens sin declarar ninguno. No es fuga entre componentes — es un SKIN
sobre las mismas partes (`[data-media-player][data-variant]`), así que están en
ámbito. Su receta se migró en el mismo pass.
**Lo que no se pudo medir, y se dice**: `audio-player` no tiene página de demo
(la ruta da 404), así que la sonda encontró 0 nodos — y una comparación de 0
valores pasa siempre, que es justo la clase de guard que no vale. Se verificó a
mano estampando `data-variant` sobre el player vivo: el padding pasó a
`6px 12px`, exactamente los tokens nuevos. Hueco de demo anotado en el README.
Centinela 36/61. Los 25 restantes, adjudicados por clase: partes no montadas en
la demo (captions, buffering, título de audio, paneles portalados), un
pseudo-elemento (`::after` del scrim) y los que pintan DENTRO del Slider
compuesto — verificado a mano que `--media-player-track` sí llega hasta
`--slider-track-bg`.
Los 6 knobs que quedan son literales de relleno (`100%`, `max-content`).
audit PASS · eidos-lint 0 invalid · rtl 0 · docs 0 · check 0 en tocados ·
suite: sólo el rojo conocido `skin-media-player`
Demo con tab Tokens: 61 filas, 0 sin computar.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>