Compaytence · Diseño Interno · 13 de agosto de 2026

Compaytence
Guía de diseño

Cada token, componente y regla del sistema v2, mostrado a tamaño de trabajo. Haga clic en cualquier muestra para copiar su hexadecimal.

Versión
v2 · guía 1.0
Adoptado
3 de agosto de 2026
Valores medidos
13 de agosto de 2026
Implementación
assets/system.css
Esta página está construida con aquello que documenta

La hoja de estilos incorporada aquí es system.css literal, copiada durante la compilación. Cada relleno de muestra, relación de contraste y lectura OKLCH se calcula a partir de un valor hexadecimal mediante build.py, por lo que una etiqueta no puede desviarse del color situado encima. Si el sistema cambia, vuelva a ejecutar la compilación en lugar de editar este archivo.

01

Por qué existe el sistema

No para verse bien. Para que sea imposible que haya sido instalado.

Una auditoría de agosto de 2026 reveló que 13 de los 13 valores de acento y de texto del sistema anterior eran los valores predeterminados literales de Tailwind, y que nuestro propio sitio de producto se había inicializado con shadcn ("style": "new-york"). Un competidor de un sector sin relación compartía 9 de nuestros 12 recursos distintivos con valores casi idénticos, porque ambos sitios se habían ensamblado a partir del mismo registro.

Cada valor debe poder rastrearse hasta una fuente. Si la única respuesta a «¿por qué ese número?» es «parecía correcto», es una desviación.

Esa prueba sustituyó a la anterior, «¿podría haberse instalado esto?», porque las listas negras se deterioran en un ciclo aproximado de doce meses. La señal de 2024 era un degradado púrpura e Inter. La señal de 2026 es crema cálido y una tipografía serif de exhibición, que fue la vía de escape de la señal de 2024, adoptada con suficiente amplitud para convertirse en la nueva. La derivación no se deteriora.

Valores predeterminados heredados eliminados en la reconstrucción v2
Valores de paleta de Tailwind13
Tipografías corporativas de Vercel2
Total 15

Fuente: design-system.md §0, auditoría de agosto de 2026.

El corolario, y es vinculante

Nunca escriba una prohibición sin un reemplazo positivo. Si se le dice «no use crema», un modelo no produce variedad, se desplaza a otra paleta fija. La negación reubica un atractor en vez de disolverlo. Cada regla de esta guía nombra el token, número o tipografía que se usa en su lugar.

02

Una escalera azul, un tono

El azul PAY del logotipo es la semilla. Todos los demás azules son ese mismo color aclarado u oscurecido.

El paso 50 es el propio azul del logotipo, medido en un tono OKLCH de 245.56. En los trece pasos, el tono se mantiene dentro de 3.1 grados. El croma es otra historia: alcanza su máximo en la semilla y cae hacia ambos extremos, porque sRGB no puede sostener la saturación en el extremo pálido. La escalera es una escalera de luminosidad con el tono fijado, que es la propiedad que importa.

Contraste medido frente a --paper en cada tema. El verde supera 4.5:1, el gris supera 3:1, el rojo no supera ninguno. Calculado el 13 de agosto de 2026.

La regla que importa más que cualquier otra

#33A9FF mide 2.24:1 sobre el fondo claro. Sobre una superficie clara es solo relleno. Nunca texto, nunca una línea fina que haya que leer. Sobre el fondo oscuro, el mismo hexadecimal alcanza 6.37:1 y puede componerse como texto. Esa asimetría es la razón entera de que exista una escalera en lugar de un único hexadecimal.

Este texto es #33A9FF sobre papel. Con 2.24:1 no supera ningún mínimo de accesibilidad que exista.

Nunca haga esto

El mismo hexadecimal como relleno detrás de blanco y como semilla de toda la escalera.

Este es su cometido

Por eso, nadie elige nunca un paso a mano. Seis tokens de rol se resuelven en el peldaño correcto para cada tema, y el marcado solo nombra el rol.

TokenFunciónClaroRelación OscuroRelación
--mark enlaces, énfasis paso 75 #106aa6 5.09 paso 30 #81c5ff 8.77
--mark-deep énfasis más intenso paso 80 #005990 6.53 paso 20 #b0daff 11.05
--mark-solid RELLENO en claro, texto en oscuro paso 50 #33a9ff 2.24 paso 50 #33a9ff 6.37
--mark-tint superficies teñidas paso 05 #edf6ff 1.04 paso 95 #002e4d 1.16
--fig cifras a cualquier tamaño, el valor predeterminado seguro paso 75 #106aa6 5.09 paso 30 #81c5ff 8.77
--fig-display cifras de exhibición a partir de 24px paso 65 #017ec8 3.84 paso 40 #5fb7ff 7.49
--fig-inline cifras en texto corrido, un alias de --fig paso 75 #106aa6 5.09 paso 30 #81c5ff 8.77
La trampa de las cifras y la regla que la desactiva

--fig-display mide 3.84:1 sobre el fondo claro, así que solo es admisible por encima de unos 24px. Mientras ese paso vivo llevó el nombre --fig, cada numeral de índice y cada estadística en línea que recurría al nombre obvio incumplía AA en silencio, que es exactamente lo que ocurrió una vez. Desde el 8 de septiembre de 2026 los nombres reflejan el riesgo: --fig es el paso seguro, 5.09:1 en claro y admisible a cualquier tamaño, y el paso de exhibición es opcional bajo un nombre que lleva consigo su propia restricción.

Nunca introduzca un segundo tono de acento. El latón se probó para las cifras y se rechazó; después sobrevivió inadvertido en un lavado atmosférico con un croma de 0.086 durante dos borradores. Si un color supera aproximadamente 0.02 de croma y no es este azul, es un error. Existen dos excepciones, y ambas deben ser auditables: las marcas de terceros conservan el color de su propietario, etiquetadas de modo que la auditoría autorice el atributo y nunca el hexadecimal; y una réplica de producto que muestra al usuario lo que realmente ve al iniciar sesión conserva los tokens propios del producto, verificados en ambos sentidos.

03

Papel cálido, acento frío

Ambos temas son cálidos. El acento es lo único frío de la página.

El azul se sitúa en el tono 245.56, por lo que su complemento exacto es 65.56. Los neutros se derivan de ese número, lo que significa que una medida origina ambas mitades del sistema y que la respuesta a «¿por qué ese tono?» es aritmética en lugar de gusto. El croma y la luminosidad determinan el rol de cada neutro.

TokenClaroOscuro
--paperel fondo
--paper-2tinte de superficie; la banda de nota
--washtinte de banda, no admite texto
--graphitetexto atenuado
--ink-softcuerpo
--inkencabezados
No escriba «el tono equivale a 65.6» como comprobación

Medidos, los doce neutros abarcan de 62.35 a 80.72 grados. Eso no es una deriva de los colores. Con un croma de 0.005 a 0.013, el sRGB de 8 bits no puede direccionar el tono: un paso en un solo canal desplaza el tono medido entre 3.5 y 15.8 grados, de modo que cada valor ya está a un paso de cuantización del objetivo, y volver a codificar exactamente en 65.56 devuelve el mismo hexadecimal o uno adyacente. La forma comprobable de la regla es croma igual o inferior a 0.013, tono entre 55 y 90. Ambas se cumplen en los doce, y ambas son falsables.

Haga pasar cada borde por rgba(var(--rule-c), a). El token no es un color sino un triplete RGB para composición: 31,27,22 en claro, 233,230,225 en oscuro, con un alfa de 0.09 a 0.45. Nunca codifique un gris de forma fija, ni una sombra negro neutro. El tinte de sombra claro es un cálido 44,32,21.

Una superficie lleva la nota, otra no lleva texto

--paper-2 es la banda de nota, esta incluida, desde el 21 de septiembre de 2026. Lleva la línea de entrada en --mark, --risk o --good a 1rem, y las tres superan 4.5:1 sobre ella en ambos temas, la más ajustada con 4.57:1 para --risk en claro, medido durante la compilación a partir de la hoja de estilos analizada. --risk y --good se retocaron dos veces el 21 de septiembre de 2026 para llegar ahí, una por la banda y otra cuando el fondo se oscureció: en claro #ad4a40 y #357642, en oscuro #d87369 y #5e9e69, todos en 4.57:1 o más sobre la banda. El cuerpo sobre ella es --ink-soft. --wash es solo un tinte de superficie: --mark, --graphite, --risk y --good caen por debajo del mínimo sobre él, de 4.10 a 4.32:1 en claro, así que el texto sobre una banda de lavado sube a --ink-soft o más oscuro.

Semántica, dos de ellas

Deliberadamente no hay ninguna advertencia ámbar. El ámbar se sitúa cerca del tono 70 y choca con el fondo cálido, que es precisamente el error que cometió el acento de latón retirado. Todo lo que habría sido una advertencia es un riesgo o una nota de acento simple.

El más bajo de estos cuatro mide 4.83:1 sobre papel. Hasta el 21 de septiembre de 2026, tres de ellos superaban el mínimo por 0.04 o menos; los dos retoques de ese día, registrados en la nota anterior, compraron el margen que necesita la banda de nota.

04

Tres tipografías, funciones fijas

Las funciones no son una preferencia. Una tipografía haciendo el trabajo de otra es un defecto.

Instrument Serif

Display, títulos de sección, antetítulos, folio y todas las cifras. Nunca texto de cuerpo ni etiqueta de interfaz.

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 y su cursiva

Archivo

Texto de cuerpo, interfaz, títulos de tarjetas, encabezados de tabla, botones. Nunca display ni cifras.

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

Spline Sans Mono

Solo cadenas técnicas: código, ID, números de lote, etiquetas de muestras. Nunca una etiqueta, un antetítulo ni un encabezado corriente.

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

Geist y Geist Mono están retiradas: son las tipografías propias de Vercel, y vestir el uniforme de la plataforma era la mitad del problema. Inter, Roboto, Arial, Poppins, Montserrat, Space Grotesk y cualquier pila display de fuentes del sistema quedan descartadas por la misma razón, a mayor escala. Son a las que recurre un generador cuando nadie ha tomado una decisión.

Instrument Serif está en esa misma lista, y aun así la usamos

Es una de las cuatro tipografías más señaladas como «tipografía de IA», y el crema cálido más una serif display es el estilo de marca documentado en 2026 de los modelos de frontera. La defensa no es la tipografía, sino el trabajo que le asignamos: las cifras. Una columna tabular de cifras serif en azul es un recurso con una población de uno. Una palabra serif en cursiva colocada en un titular para dar estilo es el atractor. Mantenga el centro de gravedad de la serif en los números.

La escala: 1.25 a partir de una base de 17px

Nueve pasos, y constituyen todo el vocabulario. La tipografía se juzga comparativamente, por lo que una proporción lenta funciona aquí. El espacio se juzga de forma aislada y recibe una más rápida.

--t-xs 0.68rem 10.88px etiquetas, encabezados de tabla, unidades
Compaytence 2,847
--t-sm 0.85rem 13.60px cuerpo de tarjeta, celdas de tabla, puntos
Compaytence 2,847
--t-base 1.0625rem 17.00px cuerpo, la base de 17px
Compaytence 2,847
--t-md 1.328rem 21.25px entradilla, sumario
Compaytence 2,847
--t-lg 1.66rem 26.56px cita destacada
Compaytence 2,847
--t-xl 2.075rem 33.20px numeral de sección, cifras de fila + total
Compaytence 2,847
--t-2xl 2.594rem 41.50px título de sección
Compaytence 2,847
--t-3xl 3.243rem 51.89px cifra estadística
Compaytence 2,847
--t-4xl 4.05rem 64.80px título del documento
Compaytence 2,847

Cursiva serif: un sistema o nada

Una serif sobredimensionada con una palabra en cursiva es el hero universal de las startups de IA, y es el único lugar donde esta tipografía display podría pasar de firma a floritura. Lo que la convierte en una señal es que suele ser un valor predeterminado, al que se recurre una vez, por darle sabor, sin ninguna razón detrás.

Prohibido

Una palabra serif en cursiva colocada en un titular porque quedaba bien ahí. Única, inexplicable, decorativa.

No es un sistema
Permitido

Un recurso de acento que se puede vincular a una fuente declarada, aplicado sistemáticamente en toda una superficie y llevado en el modelo de contenido como datos en lugar de marcarse a mano en cada instancia.

Un sistema

En los documentos no existe tal sistema, así que tres roles de cursiva autorizados son todo el vocabulario, y no hay un cuarto: .tag, .note-l y .quote. .doc-title em salió de la lista el 21 de septiembre de 2026. La segunda línea en cursiva tras la primera en redonda, en el H1 de cada documento, era el único recurso que se leía como el hero generado, así que la segunda parte de un título va ahora en redonda y en azul: el movimiento que hace el logotipo (un segmento en azul, nada más cambia). El énfasis dentro de un encabezado de documento proviene del tamaño, el peso, el color o la posición. El relleno con degradado en texto está prohibido en todas partes, incluido el segmento azul del título: el color ya lo marca, y la rampa solo añade una señal.

El antetítulo y lo que sustituyó a la etiqueta mono

Los documentos no llevan ningún antetítulo, desde el 21 de septiembre de 2026. Alrededor de un centenar en todo el conjunto del centro de documentos repetían el título que tenían debajo, y la leyenda de línea fina más cursiva sobre cada encabezado se había convertido en el marcador de sección generado. El numeral lleva la posición de una sección; el bloque de Contenido lleva su tipo. La clase se mantiene para el sitio web, donde las secciones son pocas: Instrument Serif cursiva, tipo oración, grafito, con un prefijo de línea fina de 26px. El antiguo antetítulo mono en mayúsculas con espaciado está muerto y no debe volver de ninguna forma.

Una microetiqueta mono retirada se convierte en una de exactamente dos cosas
Calendario de reservas

.label — Archivo, --t-xs, peso 600, espaciado .09em, mayúsculas, grafito. Este es el tratamiento de table th promovido a clase, y es el único recurso autorizado restante en mayúsculas con espaciado. Úselo para un encabezado de columna.

Aún en evaluación de riesgos

.tag — serif en cursiva, mayúsculas y minúsculas, grafito, cuando el texto es una frase en lugar de un nombre de campo. Recurra primero a esta.

05

Las cifras son la marca

Un recurso con una población de uno. No puede identificarse por patrón, porque nadie más lo hace.

Cada número se compone en la serif display, en azul, con font-variant-numeric: tabular-nums lining-nums, alineado a la derecha dondequiera que esté en una columna. En texto continuo, .fig-inline se muestra ligeramente más grande que el Archivo circundante para llamar la atención sin usar negrita.

La misma frase, de ambas formas

Sin el tratamiento: recuperamos 20 millones de dólares en 450 retenciones para 2,500 empresas, trabajando con 30 procesadores.

Con él: recuperamos $20M en 450 retenciones para 2,500 empresas, trabajando con 30 procesadores.

Las cifras tabulares son lo que hace legible una columna: cada dígito ocupa el mismo ancho, de modo que los números se alinean verticalmente sea cual sea su valor. La alineación a la derecha hace el resto, y el libro mayor de abajo es donde van las cifras de un documento, con la fuente de los datos debajo.

La forma del libro mayor
Fondos recuperados$20M+
Retenciones de pagos revertidas450+
Proveedores en la red30+

Cifras de Compaytence, actualizadas a agosto de 2026.

Una cifra sin fuente es un defecto

De la misma categoría que un logotipo ausente. Un número en un libro mayor o en una tarjeta de estadística es una afirmación, así que lleva un valor real, un denominador cuando existe, una fecha y su procedencia. Los números redondos sin fuente son la señal de contenido más citada que existe: “10,000+ merchants”, “99.9% uptime”, “3x faster”. Las cifras provisionales pueden existir en un andamiaje. Nunca pueden publicarse.

06

Todo se deriva de 30px

El cuerpo es de 17px sobre una línea base de 30px, por lo que una línea es una unidad.

Cada valor de espaciado es una fracción o un múltiplo de esa línea, y cada uno es un píxel entero. Se consideró y rechazó una proporción geométrica: 1.25 necesita catorce pasos para abarcar de 4 a 100px y coloca 24 junto a 30, lo que parece un accidente, y 1.5 se vuelve fraccionaria en el tercer paso.

Las líneas azules detrás de este párrafo están trazadas cada 30 píxeles. El texto se asienta sobre ellas porque --lh-body es 1.765, y 17 × 1.765 es 30.005. Una línea de texto de cuerpo es exactamente una unidad de la escala de espaciado, y por eso la escala se expresa como fracciones de una línea.

--s1 6 1/5 de línea base espacio dentro de una lista de puntos
--s2 12 2/5 de línea base título de tarjeta a cuerpo, relleno de celda de tabla
--s3 18 3/5 de línea base espacio de cuadrícula, margen de párrafo
--s4 24 4/5 de línea base relleno de tarjeta, margen de encabezado de sección
--s5 30 1 línea base margen de nota, una línea base
--s6 45 1 1/2 líneas base relleno de página, margen de cabecera
--s7 60 2 líneas base margen de cita destacada
--s8 90 3 líneas base entre secciones
La regla que decide qué paso usar

El espacio entre bloques de texto usa líneas base completas: 30, 60, 90. El relleno dentro de un componente usa las fracciones: de 6 a 24. La proximidad transmite significado, así que haga que los espacios difieran cuando la agrupación difiera. Un mismo valor de espaciado en todas partes es no agrupar.

07

Geometría y cristal

Una escala de formas de dos pasos, un peso de línea fina y, en un documento, un fondo plano sin nada detrás ni nada encima.

Esquinas: dos pasos, nunca un tercero

Un control que se sitúa un paso más ajustado que su contenedor parece deliberado en vez de predeterminado. Un único radio para todo es la señal reveladora de la burbuja blanda, y la solución no cuesta nada.

14px
--r-lg
tarjetas, tablas, notas, paneles
8px
--r-ctl
botones, campos, interruptores
4px
--r-xs
solo código en línea

Las cuatro esquinas, siempre. Las esquinas elípticas, achaflanadas, de superelipse, escaladas y con asimetría codificada se construyeron y rechazaron individualmente, y siguen rechazadas. --r-sm está retirado. Nunca recurra a un valor px sin procesar: los dos tokens constituyen todo el vocabulario.

Un peso de línea fina

--hair es 1px en todas partes, con color rgba(var(--rule-c), .09 a .45). No hay un segundo grosor de borde en el sistema.

Cristal

Una tarjeta translúcida sobre el fondo cálido, con backdrop-filter: blur(16px) saturate(1.25). Se conserva en lugar de eliminarse, porque en el sitio web los halos detrás y el grano encima la convierten en una pila de materiales, no en un desenfoque aplicado por brillo. Esa pila de halo, cristal y grano es exclusiva del sitio web. En un documento el fondo es plano y la misma tarjeta se asienta sobre él como un panel más claro con una línea fina, con su blanco escalado en claro por el mismo ×0.9653 que el papel.

Grano, solo en el sitio web

Allí se sitúa por encima de todo, incluidas las tarjetas, en z-index 9. Por debajo, cada tarjeta lo borraría y los dos pelearían de forma visible. Por encima se comporta como el grano de película y unifica la superficie. Una superficie con grano por página, y nunca una caja con grano anidada dentro de otra. Los documentos se publican planos desde el 21 de septiembre de 2026: el grano era la última capa de una pila que ya no existe en un documento, y costaba nitidez en el texto, un repintado en cada desplazamiento y PDF que no se comprimían. El fondo pasó al color al que promediaba el grano, medido en Chrome headless, de modo que nada se aclaró: papel claro de #fcf9f5 a #f3f0ec, una multiplicación de ×0.9653 por canal; oscuro de #120f0c a #23201d, una elevación en modo trama (screen) del 7.07% del margen de cada canal.

Halos: del sitio web, nunca de un documento

Los documentos se publican sin halos desde el 21 de septiembre de 2026. El papel no brilla, y sobre papel el halo de esquina era el mismo resplandor en cada página del conjunto. El azul entra en un documento a través de los numerales y las cifras, los enlaces y el botón. El sitio web conserva exactamente dos halos, y ese es todo su presupuesto atmosférico: ni un tercer halo, ni un campo de aurora, ni un degradado de malla, ni un orbe luminoso con ningún tratamiento de borde. «Desenfocado» no lo blanquea.

Grano en una página de varias bandas, en el sitio web

Allí, el grano debe ir sobre la capa que pinta el tono, nunca sobre la caja de la sección. En un sistema de puente o de sangrado, el color de una banda continúa más allá de su propia sección, así que el grano limitado a la sección termina mientras su color sigue, y traza una línea dura en cada frontera: medida en Δ10/255 sobre papel y Δ22/255 sobre el fondo oscuro. La página se lee entonces como una pila de losas en lugar de una sola superficie.

08

La tarjeta y cuándo no usar una

La tarjeta es el contenedor de la casa. No es el valor predeterminado de la casa.

Una tarjeta dice «compárame con mis hermanas».

Utilice una cuando los elementos realmente sean un conjunto de pares que el lector sopesa entre sí: tres planes, tres enfoques, tres resultados. Todo lo que el lector simplemente lee en orden va sobre el fondo sin contenedor, como un título, una línea de texto y una línea fina entre filas. Una página en la que cada bloque es una cuadrícula de tarjetas se lee como ruido, por muy buenas que sean las tarjetas. En una sección de servicios con cuatro rutas, aplicar esto llevó la página de unas 24 superficies de tarjeta a 9.

Lo mismo aplica a las imágenes de prueba y las citas destacadas: una captura de pantalla que ya incluye su propio marco y sombra no necesita una tarjeta alrededor, y una cita se lee mejor como texto sobre una línea fina que encuadrada. Los cuatro bloques de la sección 07 anterior son filas sin tarjetas, precisamente por este motivo.

Los cuatro tipos de tarjeta

42%
Tarjeta de estadística Guiada por la cifra, para una sola cifra destacada colgada en grande sobre una línea fina. Nunca en una cuadrícula: un conjunto de cifras va en el libro mayor.
Tarjeta de fila

Etiqueta a la izquierda, cifra a la derecha. La fila de libro mayor, encuadrada.

64ch
Tarjeta de total
Lleva la doble línea2
Líneas finas, separadas por 4px4
Total 6
La forma web
Tarjeta de funcionalidad

Una etiqueta, un título, una línea de texto y un enlace cuya flecha se desplaza con la tarjeta.

Volver arriba →

Pase el cursor sobre cualquier tarjeta de arriba. En reposo lleva una línea fina y ninguna sombra. La elevación llega solo con la interacción, y llega exactamente en dos capas.

1 · Elevación y resplandor

La tarjeta se eleva 3px y gana --shadow-lift desde la nada. Se vuelve físicamente más cercana.

2 · Brillo especular

Un resaltado suave sigue el puntero por la superficie, con alfa .035. Los materiales caros captan la luz. Esta es la capa que vende el material.

Por qué .035 y no más

Se publicó con .14 y se leía como un foco que seguía el cursor, en lugar de como un material que capta la luz. La señal de que está bien: se nota cuando el puntero se mueve y no se puede señalar con precisión cuando se detiene. Toda superficie comparte un bloque, así que este único número ajusta toda la página. Nunca lo reajuste por componente.

Se creó y eliminó una tercera capa, una línea azul que barría el borde superior. Como el brillo ya llevaba el acento, era una señal de más y hacía que la tarjeta se anunciara en vez de responder. Publicar una línea fina y una sombra difusa en reposo se descartó por el mismo tipo de motivo: ejecuta dos sistemas de elevación a la vez.

El libro mayor y la doble línea

Las cifras de un documento van en el libro mayor: .card-row para una, .card-total con filas .mini para varias, y una línea .ledger-src debajo que nombra la fuente de los datos y la fecha. El recuento es el que sea. Una fila de tres tarjetas de estadística queda fuera de los documentos desde el 21 de septiembre de 2026: tres cifras redondas en fila era la señal de contenido más citada, y el sistema la había publicado en cuatro documentos dirigidos a clientes. .card-stat sobrevive para una sola cifra destacada.

Un libro mayor nunca cierra una columna con una sola línea. .total-line traza dos líneas finas separadas por 4px encima de un total. Cuesta un pseudoelemento, no es de nadie más y significa algo. Úselo solo encima de un total genuino, nunca como decoración: un libro mayor cuyas filas no suman no lleva línea de total.

El resto del catálogo

MedidaAntes de v2Después
Valores predeterminados de Tailwind130
Tipografías de Vercel20
Tonos de acento21
Pasos de radio12
Duraciones de aparición12

Fuente: registro de cambios de design-system.md, 3 de agosto y 12 de agosto de 2026.

Las tarjetas anidadas quedan fuera

Una tarjeta dentro de otra es ruido visual. Si el contenido dentro de una tarjeta necesita un marco, necesita una línea fina o una banda teñida, no una segunda tarjeta.

09

Dos pesos, y nada por debajo

Todo lo que llega de forma idéntica es decoración. Variarlo según la importancia hace que el movimiento transmita significado.

ClaseDesplazamientoDuraciónUsar en
.rise180.7 Encabezados de sección, cualquier elemento que abre un bloque
.rise-sub100.5 Tarjetas, cuadrículas, tablas dentro de una sección
ninguno—— Puntos, etiquetas, elementos en línea, controles pequeños

El elemento principal anuncia el bloque; el secundario se asienta debajo. No añada una tercera duración ni aplique una aparición a algo pequeño. Un elemento que llega por sí solo sin motivo es el mismo fallo que se comete cuando todo llega de forma idéntica.

El elemento principal llega primero
y el secundario se asienta debajo, 10px en medio segundo.

Las dos curvas de aceleración

Un par, y ningún rebote ni efecto elástico en ningún lugar. Todas las curvas de aceleración elegidas manualmente en el corpus medido son ease-out, que es lo que son ambas.

--ease
cubic-bezier(.2,.7,.2,1)

Transiciones de color, fondo y borde.

--ease-out
cubic-bezier(.16,1,.3,1)

Apariciones, elevación de tarjeta, la flecha que se desplaza.

El hover de la tarjeta es una firma, no un valor predeterminado

La norma del corpus medido para un hover es un cambio de color: fondo 33.8%, color 24.4%, borde 12.3%, transformación solo 6.6%. Nuestra elevación de dos capas es correcta en una tarjeta e incorrecta en un enlace o una fila de tabla, que requieren color en unos 200ms. La transición mediana por sitio es 250ms, por lo que --dur-lead a 0.7s y --dur-sub a 0.5s son valores del decil superior: correctos para apariciones, incorrectos cerca de un hover.

Fuente: motion-canon.md, CSS publicado de 1,199 sitios, 13 de agosto de 2026.

10

Ambos temas, medidos

4.5:1 para texto, 3:1 para cifras de exhibición de más de unos 24px. Cada valor siguiente se calculó a partir del hex publicado, no se copió de una nota.

TokenFunciónClaroOscuroMínimo
--ink encabezados 15.07 15.05 4.5
--ink-soft cuerpo 7.33 13.05 4.5
--graphite texto atenuado, antetítulo 5.08 5.88 4.5
--mark enlaces, énfasis 5.09 8.77 4.5
--fig cifras, cualquier tamaño 5.09 8.77 4.5
--fig-inline cifras en texto 5.09 8.77 4.5
--fig-display cifras de exhibición >=24px 3.84 7.49 3.0
--mark-solid solo relleno RELLENO en claro; texto en oscuro 2.24 6.37 4.5
--risk estados de error 4.83 5.07 4.5
--good confirmaciones 4.84 5.07 4.5

Relaciones frente a --paper en cada tema. Luminancia relativa WCAG 2.1, calculada durante la compilación. Los mínimos publicados del sistema son 3.84:1 en claro (--fig-display) y 5.07:1 en oscuro (--good).

No compare el foco con el sector

El 78.6% de los sitios medidos escribe outline:none al menos una vez, y el 26.5% lo hace sin definir nunca :focus-visible. El 12.7% no tiene ningún estilo de foco. El movimiento reducido es peor: solo el 39.8% de los sitios incluye la consulta, y por plataforma cae al 14.4% en Webflow y al 2.3% en Framer, dos sitios de 87. Toda superficie de Compaytence creada en Framer o Webflow necesita esa consulta escrita a mano.

Fuente: motion-canon.md, 13 de agosto de 2026.

La trampa de verificación que invalida una auditoría completa

En una pestaña de vista previa oculta, getComputedStyle devuelve valores obsoletos para cualquier elemento en mitad de una transición, y forzar el reflow no ayuda. Antes de medir el contraste, inyecte *,*::before,*::after{transition:none!important}. De lo contrario, un cambio de tema informa los colores del tema anterior y todas las lecturas son erróneas.

11

Por qué esto se lee como nuestro

El 13 de agosto de 2026, se midieron automáticamente 1,290 sistemas de diseño publicados a partir de CSS aplicado. Lo siguiente es lo que devolvieron los datos.

2.6%
Papel cálido con un acento exclusivamente frío Entre los sitios del corpus sobre un lienzo cálido que llevan algún acento cromático, el 77.3% lo combina con un acento cálido. El nuestro es del otro tipo: una brecha de rareza de 37×, y la propiedad más defendible de este fondo.
0.9%
Sitios que llevan la huella generada completa Sans genérica, todo redondeado de 8 a 16px, sombras y degradados: 12 de 1,290, todos ellos herramientas de desarrollo o productos SaaS. El uniforme del género no es la norma. Es lo más representado en los datos de entrenamiento.
59.5%
Definen cero sombras de caja El 78% declara expresamente una regla de superficies planas o solo con línea fina. Stripe, Mercury, Anthropic, Notion, Intercom, Wealthsimple y Retool publican cero. Nuestra tarjeta con línea fina en reposo es la posición mayoritaria, no una concesión.
47.4%
Usan exactamente dos pasos de radio Solo el 14.6% redondea cada superficie dentro de la banda de 8 a 16px. 0px es, con diferencia, el radio de tarjeta más común, con un 21.2%, por delante tanto de 8 como de 16.

Fuente: styles.refero.design, 1,290 sistemas medidos a partir de CSS aplicado; anti-patterns.md §9 y website-builder/references/design-canon.md, 13 de agosto de 2026.

Dos aspectos más que afinaron el sistema en vez de confirmarlo. La negrita es una señal mayor que el radio: el 46.2% de estos sitios nunca supera el peso 600 y el 36.6% establece una regla antinegrita. La jerarquía es tamaño, espacio y color, por lo que un encabezado de peso 700 es un indicador más fiable de un sistema no considerado que cualquier elección de paleta. Y el espaciado entre letras negativo no es higiene: aproximadamente la mitad del corpus no aplica ninguno, ni siquiera en texto de exhibición. Ajuste el espaciado entre letras por banda de tamaño con un motivo declarado, o no lo ajuste en absoluto.

La única regla que añadió esta evidencia

Nunca permita un acento cálido sobre el papel cálido. Ni en una ilustración, ni en una serie de gráficos, ni en un tinte de hover, ni en un lavado atmosférico. Es el único movimiento que reduce una posición del 2.6% a una del 77.3%, y es exactamente el modo de fallo ya registrado: el latón sobrevivió inadvertido en un lavado con croma 0.086 durante dos borradores. --risk es la excepción autorizada, limitada únicamente a los estados de error.

Dos salvedades honestas, para que esto se use como autoauditoría y no como arma

La mayoría de estas señales fueron tendencias de diseño humano de 2022 a 2024, con ejemplos nombrados, antes de que los generadores fueran aceptables. Lo que cambió no es el vocabulario, sino que la producción promedio pasó a ser gratuita. El diagnóstico real es «nadie decidió», no «una máquina lo hizo»: un humano que publica shadcn estándar produce el artefacto idéntico. Aplique esta lista a nuestro propio trabajo.

12

La lista de eliminación

Permanentemente fuera. Si aparece uno, es una regresión, no una opción.

El sistema v1 retirado está archivado y nunca debe renderizarse: no lienzo crema #fafaf7, no Geist, no #3b82f6, no antetítulos mono, no orbes luminosos, no superposiciones de cuadrícula, no barra de navegación oscura.

13

La auditoría, antes de presentar

Seis preguntas. Cualquier «no» es un defecto, no una preferencia.

Uno
Cambio de logotipo

Sustituya el logotipo por el de un competidor. ¿Debe cambiar algo más?

Dos
Procedencia

Elija al azar cinco valores renderizados: un color, un radio, un espacio, un tamaño, una duración. ¿Se puede rastrear cada uno hasta un token o una derivación declarada sin decir «parecía correcto»?

Tres
Jerarquía

¿La página muestra lo que más importa o todos los bloques tienen el mismo peso? Los recuentos de palabras idénticos en tarjetas hermanas indican que el texto se recortó para llenar los cuadros.

Cuatro
Prueba

¿Cada cifra y cita incluye una fuente real, una fecha y una atribución?

Cinco
El recorrido desfavorable

¿Existen los estados vacío, de carga, de error y 404, y cada uno dice algo específico?

Seis
El desplazamiento

¿Se mantiene bien al desplazarse hasta el final a 375px y a 1440px, en ambos temas? Una página verificada solo desde su primera ventana gráfica se verifica como la verificaría un generador.

Si la creación se está comparando con un sitio de referencia, añada una séptima: coloque nuestra página, la referencia y la plantilla genérica más cercana una junto a otra. La diferenciación solo es visible en una comparación.

Dónde está la versión legible por máquina

Esta página es para personas. La versión evaluable, con cada regla identificada, un valor medido, una prueba y una línea de fuente, está en .claude/skills/compaytence/references/design-system-spec.md. Es a lo que se resuelve el crítico de sistema de la skill design-loop, y su §15 es una lista de verificación predefinida de veinte líneas lista para bifurcarse en una ejecución.