Sistema
Ocho colores y un solo azul.
Toda la marca sale de estos valores. Toca uno y se copia.
Color
Cada color, un solo trabajo
Un solo azul por vista. Toca cualquier valor para copiarlo.
El fondo. Los datos y los interruptores van siempre sobre Blanco.
Tarjetas, bandas y la pantalla del teléfono.
El único separador: 1 px. Nunca es texto.
Lo que espera y el contexto. Como texto, solo desde 24 px.
Eyebrows, pies y texto secundario, a cualquier tamaño.
Texto, logo y lo que ya está hecho. De noche, el fondo.
Lo único que hay que mirar ahora. Uno por pieza.
El fondo del único elemento encendido.
Tres estados, en todo el sistema.
- Apagado
Lo que espera.
- Hecho
Lo que ya quedó.
- Ahora
Lo que miras hoy. Uno por pieza.
Cuánto de cada uno.
- Blanco + Papel
- Tinta + grises
- Encendido · 5 % o menos
Si el azul se ve en dos lugares, sobra uno.
Ver contrastes, estados en valores y el bloque :root
| Color | Sobre Blanco | Sobre Tinta | Como texto |
|---|---|---|---|
| Blanco | 1,00:1 | 16,83:1 | — |
| Papel | 1,07:1 | 15,69:1 | — |
| Línea | 1,24:1 | 13,59:1 | Solo separadores |
| Apagado | 3,18:1 | 5,30:1 | Desde 24 px o 19 px Bold, solo sobre Blanco |
| Pizarra | 5,78:1 | 2,91:1 | Cualquier tamaño, nunca sobre oscuro |
| Tinta | 16,83:1 | — | Cualquier tamaño |
| Encendido | 4,02:1 | 4,19:1 | Desde 24 px o 19 px Bold; relleno del botón |
| Encendido suave | 1,07:1 | 15,75:1 | — |
| Estado | Valor |
|---|---|
| Apagado | #8A919C en claro y en oscuro |
| Hecho | Tinta #1D1D1F · Papel #F6F7F8 en oscuro |
| Ahora | #007AFF · #0A84FF en oscuro |
:root {
--blanco: #FFFFFF;
--papel: #F6F7F8;
--linea: #E5E7EB;
--apagado: #8A919C;
--pizarra: #5F6672;
--tinta: #1D1D1F;
--encendido: #007AFF;
--encendido-suave: #F2F8FF;
--error: #D70015;
}Roles y tema
Usa roles, no colores
Un rol es el trabajo de un color: cambia el tema y el valor cambia.
Cambia el tema: la tarjeta usa los mismos roles.
Clínica Dental Norte · Ejemplo
Cerraste a las 7. Tus clientes siguen escribiendo.
Entra asignado a Ana, Diego o Lucía.
Cada rol toma su otro valor.
- Fondo
#FFFFFF- Tarjeta
#F6F7F8- Texto
#1D1D1F- Secundario
#5F6672- Acento
#007AFF- Acento suave
#F2F8FF
El oscuro es una hora, no un estilo: solo con una hora de noche escrita («martes · 10:47 p. m.») o en un escenario.
Ver qué texto va en qué tamaño, con su contraste
| Color | Sobre Blanco | Úsalo |
|---|---|---|
| Tinta | 16,83:1 | Cualquier tamaño |
| Pizarra | 5,78:1 | Cualquier tamaño |
| Apagado | 3,18:1 | Desde 24 px o 19 px Bold, solo sobre Blanco |
| Encendido | 4,02:1 | Desde 24 px o 19 px Bold |
| Error | 5,38:1 | Solo formularios |
Pizarra no se usa nunca sobre oscuro: da 2,91:1.
Ver los 18 roles, en claro y en oscuro
| Rol | Variable | Claro | Oscuro |
|---|---|---|---|
| fondoEl fondo de toda pieza. | |||
| superficieTarjetas, bandas y pantalla del teléfono. | |||
| elevadoBurbujas, chips y campos dentro de una tarjeta. | |||
| textoEl texto principal. | |||
| texto-2Secundario, eyebrows y pies, a cualquier tamaño. | |||
| texto-3Solo desde 24 px (o 19 px Bold). | |||
| bordeEl único separador, de 1 px. | |||
| borde-controlEl borde de los campos de formulario. | |||
| acentoRelleno azul: botón, punto, barra, interruptor «ahora». | |||
| acento-textoTexto azul, solo desde 24 px o 19 px Bold. | |||
| acento-suaveFondo del único elemento encendido. | |||
| sobre-acentoTexto sobre el botón azul, Bold desde 19 px. | |||
| control-apagadoInterruptor apagado y series de contexto. | |||
| control-hechoInterruptor hecho y serie «hecho». | |||
| telefono-marcoEl marco del teléfono. | |||
| telefono-pantallaLa pantalla del teléfono: siempre clara. | |||
| logoEl color del logo. | |||
| logo-pieEl logo en el pie de la pieza. |
Escenario (pantallas LED): pone el fondo en #000000.
Letra
Una letra, dos pesos
Once tamaños, a tamaño real: las grandes se aprietan, las chicas no.
Ana · 26
Bold 700 · quién y cuánto: titulares, cifras, eyebrows y botones.
Atendió 26 de los 64 chats.
Regular 400 · la conversación: cuerpo, bajadas, pies y burbujas.
26
Ana
Hoy
Cada chat
Cada chat entra
Cada chat entra con su vendedor
Entra el chat de Rosa, asignado a Ana.
Entra asignado a Ana, Diego o Lucía. Tú abres cualquiera.
Entra asignado a Ana, Diego o Lucía. Tú abres cualquier chat cuando quieras, sin pedir capturas a nadie.
Entra asignado a Ana, Diego o Lucía. Tú abres cualquier chat.
Clínica Dental Norte · lunes 5 de octubre · Ejemplo
Ver qué tamaño lleva cada papel, formato por formato
| Papel | Web escritorio | Web celular | Lámina | Post e historia | A4 (pt) |
|---|---|---|---|---|---|
| Pie, fuente, legal | 12 R | 12 R | 12 R | 30 R | 7 R |
| Eyebrow | 12 B | 12 B | 15 B | 30 B | 7 B |
| Texto chico (chip, tabla, eje) | 15 R | 15 R | 12 R | 30 R | 9 R |
| Cuerpo | 17 R | 17 R | 15 R | 42 R | 10 R |
| Bajada | 24 R | 19 R | 19 R | 58 R | 12 R |
| Título de tarjeta | 24 B | 19 B | 19 B | 42 B | 12 B |
| Título | 58 B | 30 B | 42 B | 80 B | 20 B |
| Portada o titular corto | 80 B | 42 B | 58 B | 112 B | 36 B |
| Cifra protagonista | 58 B | 42 B | 112 B | 160 B | 48 B |
| Botón | 19 B · alto 52 | 19 B · alto 52 | 19 B · alto 48 | 42 B · alto 96 | — |
R = Regular, B = Bold. El tracking se elige por el tamaño visible: web y lámina, tal cual; redes, a un tercio; A4, en pt × 1,7.
Ver el espaciado entre letras y el interlineado de cada tamaño
| Tamaño | Para qué | Peso | Tracking | Interlineado |
|---|---|---|---|---|
| 160 | Cifra de un post, una historia o una charla | Bold | −0,05 em | 1 |
| 112 | Portada de un post · cifra de una lámina | Bold | −0,045 em | 1 |
| 80 | H1 de la web · título de un post · portada de una charla | Bold | −0,04 em | 1,03 |
| 58 | H2 de la web · portada de una lámina · bajada de un post | Bold | −0,035 em | 1,03 |
| 42 | H1 en celular · título de una lámina · cuerpo de un post | Bold | −0,028 em | 1,08 |
| 30 | H2 en celular · pie y eyebrow de un post | Bold | −0,02 em | 1,15 |
| 24 | Bajada y H3 de la web · cuerpo de una charla | Regular | −0,015 em | 1,25 |
| 19 | Botón · bajada de una lámina · eyebrow de una charla | Regular | −0,01 em | 1,25 |
| 17 | Cuerpo de la web | Regular | 0 | 1,5 |
| 15 | Texto chico de la web · cuerpo y eyebrow de una lámina | Regular | 0 | 1,5 |
| 12 | Pie y eyebrow de la web · pie de una lámina | Regular | 0 | 1,5 |
| Eyebrow | Rótulo en mayúsculas sobre un título | Bold | +0,10 em | — |
| Variable | Valor | Papel |
|---|---|---|
| 1 | Cifra o titular de una sola línea | |
| 1,03 | Titular de 58 px o más en varias líneas (1,18 si una línea empieza con mayúscula con tilde) | |
| 1,08 | Título de 42 px | |
| 1,15 | Título de 30 px | |
| 1,25 | Título de 19 y 24 px | |
| 1,2 | Eyebrow | |
| 1,35 | Cuerpo y bajada de una pieza (hasta 3 líneas) | |
| 1,4 | Bajada de la web | |
| 1,5 | Texto corrido en pantalla |
Espacio y forma
Todo mide múltiplos de 8
Aire parejo en todo formato. Tres radios, una píldora, ninguna sombra.
Tres radios y una píldora.
- Campo 8 px
- Captura 12 px
- Tarjeta 16 px
- Píldora botón, chip, interruptor
Tres alturas que no son de 8.
- Chip · 28 px
- Mínimo tocable · 44 px
- Botón web · 52 px
Tres bordes, ninguna sombra.
- Línea fina · 1 px
- Encendido · 1,5 px
- Foco · 2 px
Ver para qué sirve cada paso del espacio
Relaciones fijas: dentro de una tarjeta, 24; entre tarjetas, 16 en lámina y 24 en la web; del título al contenido, 32 a 48.
En el lienzo (láminas y posts) los radios y bordes se duplican: campo 16, captura 32, tarjeta 40; línea 2 px, encendido 3 px. Un radio de dentro es el de fuera menos el relleno; con el relleno de una tarjeta (24), la resta da negativo y el elemento usa su propio radio.
Retícula
Cada formato, su retícula
En la web las columnas se achican; en lámina, post y A4 son fijas.
Ver la retícula de cada formato, con sus medidas
| Formato | Tamaño | Márgenes | Columnas | Título (portada) | Zona útil |
|---|---|---|---|---|---|
| Web | ≥ 1024 · 768 · 390 | 48 · 40 · 24 | 12 de 78, medianil 24 · 8, medianil 24 · 4, medianil 16 | — | Cabecera 64; entre secciones 128 (80 en celular) |
| Lámina | 1280 × 720 | 80 lados · 56 arriba · 64 abajo | 12 de 64, medianil 32 | y 216 | Contenido en y 272 a 632 |
| Post y carrusel | 1080 × 1350 | 80 | 6 de 120, medianil 40 | y 408 | Logo de 32 px, termina en y 1270 |
| Historia y reel | 1080 × 1920 | 80 a los lados | 6 de 120, medianil 40 | y 576 | Texto, logo y botón en x 80 a 1000, y 272 a 1248 |
| Miniatura de YouTube | 1280 × 720 | 80 | Las de la lámina | y 216 | Texto en x 80 a 720; imagen a sangre en x 768 a 1280 |
| Portada de LinkedIn | 1584 × 396 | — | — | y 120 | x 700 a 1504, y 80 a 316 |
| Imagen al compartir (OG) | 1200 × 630 | 80 | — | y 192 | Logo de 32 px, termina en y 550 |
| A4 | 210 × 297 mm | 20 · 20 · 22 mm | 6 de 25 mm, medianil 4 | y 90 mm | Línea base de 5 mm |
Medianil es el espacio entre columnas. Lo que abre algo cuelga el título de la línea del 30 % del alto, redondeada a múltiplo de 8; las páginas de adentro ponen el título arriba, debajo del eyebrow. La web no es una pieza fija: no lleva línea del 30 %.
Zonas seguras
Cada formato, su zona útil
Fuera de la zona azul, las aplicaciones tapan o recortan. Elige el formato.
- Tamaño
- 1080 × 1920
- Texto, logo y botón
- x 80 a 1000 · y 272 a 1248
- Línea del título
- y 576
- Logo
- 32 px de alto, termina en y 1248
- Foto, teléfono y personaje
- pueden salirse de la zona
La interfaz de Instagram tapa arriba y abajo; por eso el texto vive en la franja de en medio, sea orgánica o pagada.
- Tamaño
- 1080 × 1350 (también 1080 × 1440)
- Márgenes
- 80 a los cuatro lados
- Columnas
- 6 de 120, medianil 40
- Línea del título
- y 408 (432 en 1080 × 1440)
- Logo
- 32 px de alto, termina en y 1270
La grilla 3:4 del perfil recorta unos 34 px por lado: con márgenes de 80 quedan 46 de aire.
- Tamaño
- 1280 × 720 (1920 × 1080 = todo × 1,5)
- Márgenes
- 80 lados · 56 arriba · 64 abajo
- Columnas
- 12 de 64, medianil 32
- Cabeza
- y 56 a 240
- Contenido
- y 272 a 632
- Pie
- logo de 16 px en Apagado; «03 / 14» a la derecha
Todo lo que abre algo cuelga de y 216 en la portada; el contenido interior siempre cuelga de y 272.
- Tamaño
- 1280 × 720, exportada a 3840 × 2160
- Texto
- x 80 a 720 · 80 B, hasta 15 caracteres por línea
- Imagen
- a sangre, x 768 a 1280
- Duración
- x 1060 o más, y 600 o más: libre
- Símbolo
- 48 px, en x 80, termina en y 648
YouTube pone la duración abajo a la derecha: ahí no va nada.
- Tamaño
- 1584 × 396
- Zona útil
- x 700 a 1504 · y 80 a 316
- Línea del título
- y 120
- Texto
- título 42 B en dos líneas
La foto de perfil tapa abajo a la izquierda y, en el celular, se recortan los costados.
- Tamaño
- 1512 × 256
- Fondo
- Papel
- Zona útil
- x 760 a 1432 · y 56 a 200
- Línea del título
- y 80
El logo lo pone LinkedIn.
- Tamaño
- 1200 × 630
- Márgenes
- 80
- Línea del título
- y 192
- Título
- 80 B (58 si no entra)
- Logo
- 32 px de alto, termina en y 550; dominio abajo a la derecha
Una imagen por dominio. Nunca un botón dibujado.
- Tamaño
- 2560 × 1440
- Todo lo que se lee
- x 507 a 2053 · y 508 a 931
- Computadora
- la franja y 508 a 931
- Televisión
- el lienzo entero
- Fondo
- Papel; fuera del centro, solo fondo
El texto va centrado en alto dentro de la zona; no lleva logo porque el canal firma con su nombre y su foto.
- Tamaño
- 210 × 297 mm
- Márgenes
- 20 arriba · 20 lados · 22 abajo
- Columnas
- 6 de 25 mm, medianil 4
- Línea del título
- y 90 mm (portada)
- Línea base
- 5 mm
En el papel impreso, lo encendido va en tinta: el azul se pierde en una impresora en blanco y negro.
- Zona útil: lo único que se ve en todas las pantallas
- Guía o recorte
- Línea del título (30 % del alto)
Movimiento
Cuatro curvas, sin rebote
Toca «Repetir»: el punto recorre la curva mientras la pieza se mueve.
Entra el chat de Rosa.
Entrada
Todo lo que entra: llega rápido y se asienta despacio.
La perilla sube.
Estado
Algo que ya está cambia: la perilla, una barra, un empuje.
Se cierra el chat.
Salida
Todo lo que sale.
Cambia de color.
Micro
Color, clic, conteo, interruptor como dato.
- Una vez y quieto, porque quien vive entre notificaciones que parpadean agradece lo que se mueve una sola vez: sin bucles, pulsos ni contadores que suben solos.
- El azul llega último, porque primero se ve lo quieto, después el contenido y al final lo único que hay que mirar.
- Sin rebote, porque un rebote es un adorno: la marca entra rápido y se asienta despacio.
- Con «reducir movimiento», todo pasa a fundidos de 150 a 200 ms y sin desplazamiento.
Ver cuánto dura cada cosa
En video los tiempos son más largos porque quien mira no puede pausar ni volver atrás: 30 fotogramas por segundo, y a 60 se duplican los fotogramas, no los milisegundos. Para solo opacidad se usa la curva lineal (0, 0, 1, 1).
Para usarlos
Un valor, tres formatos
Un token es un valor con nombre: «--acento» en vez de un azul suelto.
Carga tokens.css y usa las variables. Nunca escribas un valor a mano: si cambia, cambia en un solo lugar.
<link rel="stylesheet" href="tokens.css">
<button style="background: var(--acento); color: var(--sobre-acento);
font: var(--bold) var(--t-19) var(--fuente);
border-radius: var(--r-pill); min-height: var(--boton-alto); padding: 0 var(--s-24)">
Pedir piloto gratis
</button>
<!-- oscuro: pon data-theme="dark" en <html> o en el contenedor -->El archivo sale de tokens.json: los colores de rol usan las variables, así que el oscuro cambia solo.
<!-- con el tailwind.config.js de este kit y tokens.css cargado --> <button class="bg-acento text-sobre-acento text-19 font-bold rounded-pildora min-h-[52px] px-24"> Pedir piloto gratis </button>
Ver el tailwind.config.js completo
/** tailwind.config.js · Creators Latam y Martín Velasco · generado desde tokens.json (v1, septiembre de 2026)
* Los colores de rol usan las variables de tokens.css: el modo oscuro cambia solo al poner data-theme="dark".
* Carga tokens.css en tu página; sin él, los roles (bg-fondo, text-texto…) no tienen valor. */
module.exports = {
darkMode: ['selector', '[data-theme="dark"]'],
theme: {
colors: {
transparent: 'transparent', current: 'currentColor',
// paleta con nombre (valores fijos; las piezas usan los roles de abajo)
'blanco': '#FFFFFF',
'papel': '#F6F7F8',
'linea': '#E5E7EB',
'apagado': '#8A919C',
'pizarra': '#5F6672',
'tinta': '#1D1D1F',
'encendido': '#007AFF',
'encendido-suave': '#F2F8FF',
'error': '#D70015',
// roles: cambian con el tema
'borde-control': 'var(--borde-control)',
'fondo': 'var(--fondo)',
'superficie': 'var(--superficie)',
'elevado': 'var(--elevado)',
'texto': 'var(--texto)',
'texto-2': 'var(--texto-2)',
'texto-3': 'var(--texto-3)',
'borde': 'var(--borde)',
'acento': 'var(--acento)',
'acento-texto': 'var(--acento-texto)',
'acento-suave': 'var(--acento-suave)',
'sobre-acento': 'var(--sobre-acento)',
'control-apagado': 'var(--control-apagado)',
'control-hecho': 'var(--control-hecho)',
},
fontFamily: { sans: ['"CL Sans"', 'Arial', 'sans-serif'] },
fontWeight: { regular: '400', bold: '700' },
// tamaño de la escala y su tracking (por tamaño visible; en piezas de redes, a un tercio)
fontSize: {
'12': ['12px', { letterSpacing: '0em' }],
'15': ['15px', { letterSpacing: '0em' }],
'17': ['17px', { letterSpacing: '0em' }],
'19': ['19px', { letterSpacing: '-0.01em' }],
'24': ['24px', { letterSpacing: '-0.015em' }],
'30': ['30px', { letterSpacing: '-0.02em' }],
'42': ['42px', { letterSpacing: '-0.028em' }],
'58': ['58px', { letterSpacing: '-0.035em' }],
'80': ['80px', { letterSpacing: '-0.04em' }],
'112': ['112px', { letterSpacing: '-0.045em' }],
'160': ['160px', { letterSpacing: '-0.05em' }],
},
lineHeight: {
'cifra': '1',
'titular': '1.03',
'titulo-42': '1.08',
'titulo-30': '1.15',
'titulo-24': '1.25',
'eyebrow': '1.2',
'pieza': '1.35',
'bajada-web': '1.4',
'cuerpo': '1.5',
},
letterSpacing: { eyebrow: '0.1em' },
spacing: {
'4': '4px',
'8': '8px',
'12': '12px',
'16': '16px',
'24': '24px',
'32': '32px',
'48': '48px',
'64': '64px',
'80': '80px',
'96': '96px',
'128': '128px',
'160': '160px',
0: '0px', px: '1px',
},
borderRadius: {
'campo': '8px',
'captura': '12px',
'tarjeta': '16px',
'pildora': '999px',
'lienzo-campo': '16px',
'lienzo-captura': '32px',
'lienzo-tarjeta': '40px',
none: '0px', full: '9999px',
},
borderWidth: {
DEFAULT: '1px', 0: '0px',
'lienzo': '2px',
'encendido': '1.5px',
'encendido-lienzo': '3px',
'foco': '2px',
},
transitionTimingFunction: {
'entrada': 'cubic-bezier(0.05, 0.7, 0.1, 1)',
'estado': 'cubic-bezier(0.4, 0, 0, 1)',
'salida': 'cubic-bezier(0.3, 0, 0.8, 0.15)',
'micro': 'cubic-bezier(0.2, 0, 0, 1)',
'lineal': 'cubic-bezier(0, 0, 1, 1)',
},
transitionDuration: {
'micro': '150ms',
'fundido': '200ms',
'salida': '150ms',
'entrada': '300ms',
'estado': '300ms',
'dato': '800ms',
},
maxWidth: {
contenedor: '1200px',
medida: '32em', 'medida-bajada': '40em',
},
extend: {},
},
};
DTCG es un formato estándar para guardar tokens (colores, tamaños, tiempos) en un solo archivo. Lo leen Style Dictionary, Tokens Studio y otras herramientas de diseño.
{
"color": {
"encendido": {
"$value": {
"colorSpace": "srgb",
"components": [
0.0,
0.4784,
1.0
],
"alpha": 1,
"hex": "#007AFF"
},
"$description": "Lo único que hay que mirar ahora. Un elemento por pieza, ≤ 5 % del área. Texto solo desde 24 px o 19 px Bold.",
"$extensions": {
"pe.creatorslatam": {
"impreso": "no se imprime: en papel lo encendido va en tinta"
}
}
}
}
}Úsalo con tu IA
Pega esto en tu IA
Colores, letra, componentes, movimiento y voz, en un solo texto.
1478 palabras · sirve en ChatGPT, Claude o Gemini
- Copia el texto.
- Pégalo al inicio de la conversación con tu IA.
- Pide la pieza.
Por ejemplo, pídele:
Ver el texto completo
# Diseña con la marca de Creators Latam y Martín Velasco
Eres el diseñador de esta marca. Todo lo que hagas (landing, post, historia, deck, documento, gráfico, anuncio o video) sigue estas reglas. Si una petición mía las rompe, dímelo antes de hacerlo. Si te falta un valor, pregunta: no inventes colores, tamaños, íconos ni poses. Escribe en español del Perú, de «tú».
## La idea
Apagado → encendido. El botón de cada interruptor del símbolo es un hueco sin luz propia: deja ver lo que hay detrás. Por eso casi todo es blanco y gris, y el azul aparece solo en lo que hay que mirar ahora.
## Color
Ocho colores con nombre. Las piezas usan roles (`var(--texto)`, `var(--acento)`…), no estos valores.
- Blanco #FFFFFF (`--blanco`): El fondo. Los datos y los interruptores van siempre sobre Blanco.
- Papel #F6F7F8 (`--papel`): Tarjetas, bandas y la pantalla del teléfono.
- Línea #E5E7EB (`--linea`): El único separador: 1 px. Nunca es texto.
- Apagado #8A919C (`--apagado`): Lo que espera y el contexto. Como texto, solo desde 24 px.
- Pizarra #5F6672 (`--pizarra`): Eyebrows, pies y texto secundario, a cualquier tamaño.
- Tinta #1D1D1F (`--tinta`): Texto, logo y lo que ya está hecho. De noche, el fondo.
- Encendido #007AFF (`--encendido`): Lo único que hay que mirar ahora. Uno por pieza.
- Encendido suave #F2F8FF (`--encendido-suave`): El fondo del único elemento encendido.
- Tres estados para cualquier dato: Apagado (lo que espera), Hecho (tinta) y Ahora (azul, uno por pieza). Rojo, verde y ámbar no entran. El error #D70015 existe solo en formularios de la web.
- Proporción: Blanco y Papel ≈ 80 %, tinta y grises ≈ 15 %, Encendido ≤ 5 % y en un solo elemento. Un solo azul por pieza; en la web, el botón y, como máximo, un elemento editorial por pantalla. Sin rosado, degradados, sombras ni segundo azul.
- Texto: Tinta y Pizarra a cualquier tamaño; Apagado y azul solo desde 24 px (o 19 px Bold), y Apagado solo sobre Blanco. Enlaces dentro de un párrafo: tinta con subrayado.
- Oscuro solo con una hora de noche escrita («martes · 10:47 p. m.») o en un escenario; un deck es claro u oscuro, no mezcla. La web siempre es clara. La pantalla del teléfono sigue clara. Los valores de cada rol, en los dos temas, están en el bloque CSS del final.
## Letra
- Helvetica Neue en dos pesos, 400 y 700 (en la web, `var(--fuente)`). Nunca Inter, Medium, Light ni cursiva.
- Escala única en px: 12 · 15 · 17 · 19 · 24 · 30 · 42 · 58 · 80 · 112 · 160. Papeles en la web (escritorio / celular): pie 12 · eyebrow 12 B · texto chico 15 · cuerpo 17 · bajada 24 / 19 · H2 58 B / 30 B · H1 80 B / 42 B · cifra 58 B / 42 B · botón 19 B.
- Tracking por tamaño visible, en em: hasta 17 px: 0 · 19: -.01em · 24: -.015em · 30: -.02em · 42: -.028em · 58: -.035em · 80: -.04em · 112: -.045em · 160: -.05em · eyebrow +0,10 en mayúsculas con tilde, Bold. En redes (lienzo de 1080) se divide el tamaño entre 3 para elegir el tracking.
- Interlineado: cifra y titular de una línea 1 · titular de 58 px o más 1,03 · de 42 px 1,08 · de 30 px 1,15 · de 19 a 24 px 1,25 · cuerpo de una pieza 1,35 · texto corrido 1,5.
- Titular en dos tiempos: dos oraciones con punto, de hasta 6 palabras. Lo que el dueño ya sabe, en tinta; lo que ahora ve, en Apagado o, si es el titular principal y nada más está encendido, en azul. Botones, eyebrows y etiquetas sin punto. Mayúscula solo al inicio.
- Números con espacio duro entre cifra y unidad («10 %», «US$ 45», «9:00 a. m.»). Flechas y checks, siempre en SVG.
## Espacio y forma
- Espacio en múltiplos de 8, con 4 y 12 como medios pasos: 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 80 · 96 · 128 · 160 (`var(--s-24)`…).
- Radios: campo 8, captura 12, tarjeta 16, píldora para botón, chip e interruptor. Borde de 1 px; el elemento encendido, 1,5 px azul.
- Web: contenedor 1200, margen 48 (40 en tableta, 24 en celular), medianil 24, 12 columnas, cabecera 64, sección de 128 de aire (80 en celular).
- Lo que abre una pieza cuelga el título de la línea del 30 % del alto. Esquinas fijas: eyebrow arriba a la izquierda, nuestro logo (uno solo) abajo a la izquierda, anfitrión o cliente arriba a la derecha, fecha o paginación abajo a la derecha.
## Componentes
- Interruptor: vertical, 1 : 3,076, botón calado (el hueco toma el color del fondo), siempre sobre Blanco. Estados: apagado, hecho y ahora. Nunca horizontal, en contorno, como viñeta ni para calificar personas.
- Botón principal: píldora azul, texto blanco Bold de 19 px, alto 52, uno por pantalla («Pedir piloto gratis»). Secundario: texto en tinta Bold y flecha SVG. Sin ícono en el principal. No se dibuja botón en anuncios de Meta o Google.
- Lo encendido tiene una sola receta (chip activo, tarjeta destacada, burbuja del seguimiento): fondo `var(--acento-suave)`, borde azul de 1,5 px, texto en tinta.
- Tarjeta: blanca con borde o Papel, radio 16, relleno 24, sin sombra ni ícono grande arriba. Relleno tinta solo para la persona que aprueba.
- Teléfono: ancho W y alto 2 W, de frente, marco tinta, pantalla Papel, hora 7:05 (10:47 de noche). Burbujas blancas con borde; solo la del seguimiento automático se enciende. Todo chat lleva el nombre de su vendedor.
- Gráficos: solo los tres estados; barras desde cero; personas en orden alfabético, nunca por valor; título-conclusión con número y punto; sobre panel blanco; sin tortas, 3D ni semáforos.
- Íconos: Lucide, trazo 1,75, de una lista cerrada de 28, siempre con su palabra. Nunca ojo, campana, lupa, foco ni cohete.
- Personaje: uno por pieza, apoyado en la línea inferior, mirando al texto, sobre Blanco o Papel. Nunca en oscuro, junto al interruptor ni en precios.
## Movimiento
- Curvas `cubic-bezier`: entrada .05,.7,.1,1 · estado .4,0,0,1 · salida .3,0,.8,.15 · micro .2,0,0,1. Sin rebote nunca.
- Duraciones en la web: micro 150ms · fundido 200ms · salida 150ms · entrada 300ms · estado 300ms · dato 800ms (una vez).
- Una vez y quieto: sin bucles, pulsos ni contadores que suben solos. Primero lo quieto, luego el contenido y al final lo encendido: el azul llega último. Entrada: fundido más 8 px hacia arriba. Con «reducir movimiento», fundidos de 150 a 200 ms.
## Voz
- Un colega que sabe de ventas, sentado al lado del dueño. Sobrio, nunca apagado: la emoción la pone el dato. Frases cortas, sin jerga de software.
- Tú, nunca «vos» ni «usted». Sin exclamaciones ni emojis. Comillas «». Horas en 12 h («7:05 p. m.»); «setiembre»; «US$ 45», «S/ 120».
- Todo dato inventado dice «Ejemplo». Reparto fijo: Clínica Dental Norte (Carmen, dueña; Ana, Diego y Lucía; Rosa, paciente) e Inmobiliaria Sol. Fechas de ejemplo: lunes 5 y martes 6 de octubre de 2026. Personas en orden alfabético.
- No usar: garantiz-, 100 %, nunca más, potencia, impulsa, transforma, revoluciona, optimiza, siguiente nivel, soluciones, 24/7, leads, embudo, pipeline, dashboard, urgente, alerta, vigila, controla, monitorea, ranking, tranquilidad. Evita las tríadas y el «No es X, es Y».
## Antes de entregar, contesta
1. ¿Qué está encendido? Si son dos cosas, sobra una.
2. ¿Hay un solo azul, en un solo elemento?
3. ¿Todo chat tiene nombre, toda escena hora y el teléfono marca 7:05, 10:47 o la hora de la escena?
4. ¿Todo el texto supera el mínimo de su formato y el contraste de su tamaño?
5. ¿El título cuelga de la línea del 30 % y nuestra marca aparece una sola vez?
6. ¿Todo sale de tokens, sin hex sueltos, degradados ni sombras?
7. ¿Las piezas oscuras tienen hora de noche y el teléfono sigue claro?
8. ¿Se entiende en 2 segundos, a las 7 p. m., en un Android, sin el logo?
9. ¿Acusa a alguien o usa algo de la lista de lo que no se dice?
10. ¿Todo dato inventado dice «Ejemplo» y cada día coincide con su fecha?
## Tokens para pegar en CSS
```css
:root {
--fondo: #FFFFFF; --superficie: #F6F7F8; --texto: #1D1D1F; --texto-2: #5F6672; --borde: #E5E7EB;
--acento: #007AFF; --acento-suave: #F2F8FF; --control-apagado: #8A919C; --control-hecho: #1D1D1F;
--fuente: "CL Sans", Arial, sans-serif;
--mov-entrada: cubic-bezier(.05,.7,.1,1); --mov-estado: cubic-bezier(.4,0,0,1); --mov-salida: cubic-bezier(.3,0,.8,.15); --mov-micro: cubic-bezier(.2,0,0,1);
}
[data-theme="dark"] {
--fondo: #1D1D1F; --superficie: #2C2C2E; --texto: #F6F7F8; --texto-2: #AEAEB2; --borde: #3A3A3C;
--acento: #0A84FF; --acento-suave: #1A2D43; --control-hecho: #F6F7F8;
}
```
Los valores completos están en tokens.css y tokens.json.
Lo que no se hace
Lo que rompe el sistema
Cada «no» se muestra hecho. Ni rosado, ni degradados, ni sombras.
Un azul, el de var(--acento), en un solo elemento.
Todo lo demás es tinta y gris: así se ve qué mirar.
Un segundo azul en una palabra.
Dos azules, o uno que no está en la paleta: ya no se sabe qué mirar.
Chats sin responder al cierre, de lunes a viernes.
24 px sí admite el gris Apagado.
Pizarra a cualquier tamaño; Apagado solo desde 24 px, sobre Blanco.
Chats sin responder al cierre, de lunes a viernes.
Fuente: Ejemplo · Clínica Dental Norte
Apagado en letra chica da 3,18:1: no se lee a las 7 p. m.
Cerraste.
A 80 px, −0,04 em: las letras grandes se aprietan.
Cerraste.
Sin ese ajuste, el titular se abre y parece suelto.
Entra el chat de Rosa.
Llega rápido y se asienta despacio, sin pasarse de largo.
Entra el chat de Rosa.
El rebote adorna: lo nuestro se mueve una vez y queda quieto.
Descargar
Todo en siete archivos
El kit completo trae además las recetas, los componentes y la letra.
- tokens.cssVariables CSS de todo el sistema.7 KB
- tokens.jsonLos mismos valores, para herramientas de diseño.37 KB
- tailwind.config.jsLa configuración de Tailwind, desde tokens.json.4 KB
- sistema-guia.mdCada regla con su motivo y sus valores.67 KB
- SKILL.mdPara que Claude Code diseñe con el sistema.13 KB
- README.mdQué trae el design system y cómo usarlo.4 KB
- guia-para-tu-ia.mdEl texto para pegar en tu IA.8 KB
Cómo se propone un cambio
- Decide de dónde viene. Un valor o una regla visual se cambia primero en la guía del sistema; una palabra, en la guía de voz.
- Escribe la propuesta: qué cambia, qué problema resuelve (mejor con una pieza real que no se pudo armar) y qué contraste o medida la respalda. Un color nuevo solo entra si hace un trabajo que ningún neutro puede hacer.
- Todo cambio pasa por Martín antes de aplicarse.
- Después se actualiza todo: tokens, Tailwind, la skill y las recetas, y se sube la versión.