¿Debe el modo oscuro ser negro puro?
Casi nunca, y merece la pena ver por qué con datos numéricos en lugar de como una regla general. Aquí tiene los fondos oscuros y las superficies de las tarjetas de cinco paletas de productos distintas, en HSL:
| Fondo | Tarjeta | Matiz neutro | |
|---|---|---|---|
| Industrial cálido | 30 8% 10% | 24 7% 14% | Marrón anaranjado cálido |
| Producto neutro | 0 0% 10% | 0 0% 15% | Gris puro |
| Azul de archivo | 222 31% 11% | 222 34% 15% | Azul profundo |
| Verde tenue | 128 40% 8% | 137 26% 11% | Verde bosque |
| Panel de control Earth | 36 10% 10% | 36 7% 14% | Arena cálida |
Tres patrones, todos coherentes, ninguno accidental.
- Nada tiene una luminosidad del 0%. El tono más oscuro es del 8%. El negro puro es el único valor que no deja margen inferior: en el momento en que necesita una superficie *por debajo* del fondo, no tiene a dónde ir.
- Las tarjetas son más claras que el fondo, por 3 a 5 puntos. En las interfaces oscuras, lo elevado es más claro. Esto invierte el instinto del modo claro, donde una tarjeta suele ser el elemento más claro sobre una página con tinte.
- Solo uno de los cinco es un gris puro. El resto tienen un matiz —30, 222, 128, 36— generalmente orientado hacia el color de acento. Un neutro oscuro con tinte se percibe como diseñado; uno sin tinte se percibe como un valor predeterminado, porque es el predeterminado.
El único caso para el casi negro
Las pantallas OLED consumen realmente menos energía en #000000, y una interfaz de medios o fotografía puede requerir que el marco desaparezca. Es un sacrificio deliberado frente a tener un rango de elevación, y funciona cuando el contenido aporta el contraste. No es un valor predeterminado de propósito general, ni es a lo que se refieren la mayoría de las personas cuando buscan el negro.
El modo oscuro no es una inversión
La forma más rápida de conseguir un modo oscuro deficiente es invertir la luminosidad de cada valor del modo claro. Cuatro cosas específicas fallan, aproximadamente en este orden:
- Las sombras dejan de funcionar. Una sombra es oscuridad proyectada sobre una superficie más clara. En una superficie oscura no queda nada que oscurecer, por lo que cada indicador de elevación desaparece silenciosamente y la interfaz se aplana.
- El acento falla en el contraste. Un color de marca saturado de tono medio que se lee nítidamente sobre blanco suele ser demasiado oscuro frente a un fondo casi negro. Invertir los neutros no lo afecta, por lo que falla de forma sutil en lugar de obvia.
- Los bordes desaparecen o resaltan demasiado. Un borde en modo claro es una línea ligeramente más oscura. Invertido, se convierte en una línea ligeramente más clara, que o bien desaparece contra la tarjeta o brilla contra el fondo, dependiendo de la superficie en la que se encuentre.
- Los estados desactivados y atenuados colapsan. En el modo claro, estos son grises más claros. Invertidos, se convierten en grises oscuros sobre un fondo oscuro, y lo "atenuado" pasa a ser "invisible".
Una paleta oscura es un segundo diseño, no un filtro aplicado al primero.
Elevación sin sombras
Dado que las sombras no están disponibles, las interfaces oscuras expresan la profundidad a través de la luminosidad de la superficie. Eso es lo que hace la diferencia entre el fondo y la tarjeta en la tabla anterior: cada nivel superior en la pila es un paso más en luminosidad.
Se necesitan al menos tres niveles, y conviene nombrarlos en lugar de improvisar: el fondo de la página, una superficie elevada (tarjetas, paneles) y una superficie de superposición (popovers, menús desplegables, diálogos) que se sitúa por encima de ambas. Espaciarlas entre 3 y 5 puntos de luminosidad mantiene los límites legibles sin convertir la pantalla en un conjunto de franjas. Por debajo de los 3 puntos, los niveles dejan de ser distinguibles con un brillo normal; muy por encima de los 6, la superficie superior empieza a parecer un panel de modo claro insertado por error.
Superficie frente a superficie tonal
Algunos sistemas distinguen una superficie elevada neutra de una *tonal* que mezcla un poco del matiz de la marca en la elevación. Ambas son legítimas. La versión tonal hace que toda la interfaz se sienta deliberadamente coloreada en lugar de un gris con un acento; la versión neutra reserva el significado del color para los elementos que lo necesitan. Elija una y aplíquela en todas partes: mezclarlas es lo que hace que un tema oscuro parezca compuesto por dos temas distintos.
Los acentos tienen que cambiar
Observe de nuevo los colores primarios de esos mismos cinco kits: 12 71% 46%, 46 85% 60%, 225 63% 80%, 114 47% 50%, 23 92% 60%. Todos son tonos claros o medios. Ninguno es una versión profunda y saturada del matiz, porque un color profundo y saturado sobre una superficie casi negra es difícil de leer y fatigoso para la vista.
La regla general es que un acento de modo claro debe aclararse y, generalmente, desaturarse para el modo oscuro. Aclararlo aporta contraste; desaturarlo evita que vibre contra el neutro oscuro, que es el efecto que hace que algunos temas oscuros resulten físicamente agotadores. Además, el acento necesita su propia decisión de primer plano: un color lo suficientemente brillante para leerse sobre oscuro suele ser lo suficientemente brillante como para requerir texto *oscuro* encima, lo cual es lo opuesto a la combinación del modo claro.
Verifique ambas direcciones frente a un objetivo de contraste. El texto del cuerpo sobre el fondo es el más obvio; los dos que suelen olvidarse son el texto atenuado sobre una tarjeta y el primer plano del acento sobre el propio acento.
Cinco muestras no son una paleta
Aquí es donde la mayoría de las galerías de paletas le dejan. Una fila de cinco códigos hex le indica el estado de ánimo, pero no responde a casi ninguna de las preguntas que plantea una pantalla real: ¿de qué color es el borde de una tarjeta?, ¿cómo se ve el texto atenuado en una superposición?, ¿cómo es un botón destructivo cuando está desactivado?, ¿de qué color es el anillo de un campo de entrada enfocado?
Token specimen · real values
Ambient Sage
Live renderAmbient Sage's actual tokens — the same values its exports use.
Color tokens
Ambient Sage
Core
background
H 84 · C7, 0, 18, 89
foreground
H 68 · C0, 0, 4, 11
card
H 80 · C5, 0, 16, 85
muted
H 77 · C5, 0, 16, 83
border
H 73 · C4, 0, 16, 78
Brand
primary
H 53 · C0, 8, 68, 0
primary-fg
H 84 · C7, 0, 18, 89
secondary
H 75 · C4, 0, 16, 81
accent
H 52 · C0, 8, 60, 3
ring
H 53 · C0, 8, 68, 0
Semantic
destructive
H 0 · C0, 75, 75, 20
destructive-fg
H 0 · C0, 0, 0, 0
success
H 123 · C45, 0, 43, 27
warning
H 36 · C0, 35, 85, 0
muted-fg
H 0 · C0, 0, 0, 0
Charts
chart-1
H 53 · C0, 8, 68, 0
chart-2
H 207 · C59, 26, 0, 4
chart-3
H 123 · C35, 0, 34, 22
chart-4
H 340 · C0, 41, 27, 4
chart-5
H 36 · C0, 20, 50, 0
La lista de roles es la misma en ambos modos, que es precisamente el objetivo: background, foreground, card, card-foreground, popover, popover-foreground, muted, muted-foreground, primary, primary-foreground, secondary, accent, destructive, border, input, ring, además de las series de gráficos. Defínalos una vez por modo y cada componente se resolverá sin que nadie tenga que elegir. Si se omiten, cada pantalla nueva volverá a elegir, y de forma distinta. La lista completa y la función de cada rol se encuentran en explicación de los design tokens de color semántico.
Ambient Sage
Live renderRendered from the kit's actual tokens, fonts, and treatments
Dashboard
Welcome back — here's how Ambient Sage is performing today.
Active users
15.1k
+5%Trending up this month
vs. previous 30 days
MRR
$49.1k
+3%Strong recurring growth
Net of churn
Retention
89%
+2%Engagement above target
Rolling 28-day window
NPS
69
+3Meets growth projections
Survey · n=1,204
Total revenue
Last 12 months
$49.1k+18.2%
Recent sales
You closed 265 deals this month.
Alex Rivera
alex@ambientsage.com
Mira Okonkwo
mira@ambientsage.com
Jonas Feld
jonas@ambientsage.com
Sana Qureshi
sana@ambientsage.com
Theo Lindgren
theo@ambientsage.com
Recent transactions
View all| Customer | Status | Date | Amount |
|---|---|---|---|
AR Alex Rivera Founder & CEO | Paid | 2m ago | $1,999.00 |
MO Mira Okonkwo Head of Product | Pending | 1h ago | $39.00 |
JF Jonas Feld Design Lead | Processing | 3h ago | $299.00 |
SQ Sana Qureshi Engineering Lead | Paid | Yesterday | $99.00 |
TL Theo Lindgren Brand Director | Refunded | 2d ago | $2,400.00 |
Typography
Plus Jakarta Sans
Color system
28 semantic roles, light + dark
Agent outputs
DESIGN.md, CSS, Tailwind, shadcn
Cuatro paletas oscuras completas y qué las diferencia
Todo lo anterior es una regla. Estos son cuatro conjuntos oscuros que la siguen, elegidos porque resuelven el mismo problema de maneras visiblemente diferentes. Observe el par background y card en cada una: esa diferencia es el modelo de elevación, y es la decisión que más determina si una UI oscura se percibe como diseñada o como invertida.
Token specimen · real values
Files Archival
Live renderFiles Archival's actual tokens — the same values its exports use.
Color tokens
Files Archival
Core
background
H 0 · C0, 0, 0, 90
foreground
H 26 · C0, 2, 3, 2
card
H 0 · C0, 0, 0, 86
muted
H 0 · C0, 0, 0, 84
border
H 0 · C0, 0, 0, 80
Brand
primary
H 225 · C67, 50, 0, 12
primary-fg
H 0 · C0, 0, 0, 0
secondary
H 350 · C0, 30, 25, 76
accent
H 47 · C0, 11, 50, 4
ring
H 225 · C67, 50, 0, 12
Semantic
destructive
H 5 · C0, 73, 79, 21
destructive-fg
H 0 · C0, 0, 0, 0
success
H 146 · C63, 0, 35, 52
warning
H 39 · C0, 31, 88, 17
muted-fg
H 20 · C0, 8, 12, 40
Charts
chart-1
H 225 · C67, 50, 0, 12
chart-2
H 351 · C0, 32, 27, 11
chart-3
H 47 · C0, 11, 50, 4
chart-4
H 6 · C0, 64, 71, 12
chart-5
H 15 · C0, 10, 13, 18
Token specimen · real values
The Social Club
Live renderThe Social Club's actual tokens — the same values its exports use.
Color tokens
The Social Club
Core
background
H 52 · C0, 4, 33, 82
foreground
H 45 · C0, 2, 7, 4
card
H 54 · C0, 3, 32, 76
muted
H 54 · C0, 3, 32, 76
border
H 65 · C2, 0, 28, 69
Brand
primary
H 61 · C1, 0, 66, 15
primary-fg
H 55 · C0, 8, 100, 90
secondary
H 52 · C0, 4, 32, 55
accent
H 61 · C1, 0, 66, 15
ring
H 61 · C1, 0, 66, 15
Semantic
destructive
H 9 · C0, 62, 72, 39
destructive-fg
H 0 · C0, 0, 0, 0
success
H 119 · C60, 0, 61, 56
warning
H 35 · C0, 38, 89, 23
muted-fg
H 52 · C0, 2, 11, 23
Charts
chart-1
H 61 · C1, 0, 66, 15
chart-2
H 9 · C0, 62, 72, 39
chart-3
H 185 · C33, 3, 0, 61
chart-4
H 119 · C60, 0, 61, 56
chart-5
H 24 · C0, 38, 63, 42
Cómo leer cuatro paletas rápidamente
Ignore primero el acento; es la parte que recordará y la que menos importa estructuralmente. Compare background frente a card para ver el modelo de elevación, y luego muted-foreground frente a card para ver si el texto secundario sobrevive en una superficie elevada. Estas dos comparaciones predicen la mayor parte del comportamiento de la paleta en una pantalla real.
Por qué esto se volvió urgente
Cada vez más interfaces son creadas por agentes de código que trabajan a partir de un brief escrito, y el modo oscuro es el elemento que más suele faltar en dichos briefs. Analizamos 299 archivos DESIGN.md públicos —el archivo que lee un agente de código antes de escribir la UI— y medimos qué aspectos cubren.
| Proporción de archivos | |
|---|---|
| Sin modo oscuro | 69% |
| Sin roles de color semánticos —solo hex puros— | 86% |
| Sin prohibiciones, solo preferencias | 76% |
La consecuencia es previsible. Si se le pide una variante oscura sin instrucciones escritas, el agente invierte los grises, que es precisamente el movimiento que rompe los cuatro puntos mencionados anteriormente. Produce algo plausible en la primera pantalla e inconsistente hacia la quinta y, como cada pantalla individual parece correcta, nadie lo nota hasta que la aplicación está totalmente construida.
Una comprobación de diez minutos
- 1
Apile tres superficies
Coloque una superposición sobre una tarjeta y esta sobre el fondo, con un borde de un píxel en cada una. Si algún límite desaparece, los pasos de luminosidad están demasiado juntos o el rol del borde está cumpliendo una doble función.
- 2
Renderice texto atenuado en cada superficie
No solo en el fondo. El texto atenuado sobre tarjeta es donde suele fallar una paleta invertida, y es el estado de texto más común en una interfaz densa.
- 3
Cree una confirmación destructiva
Esto pone a prueba el color destructivo, su primer plano, su estado hover y su borde simultáneamente: el grupo de roles que la gente define al final y utiliza primero.
- 4
Enfoque un elemento
Use la tecla Tab para ir a un input. El anillo de enfoque es un color que nadie elige deliberadamente, por lo que termina siendo el color de acento haciendo un trabajo para el que no es apto, o un valor predeterminado del navegador que nadie eligió.
- 5
Observe una tabla densa
Tener tres grises contiguos es lo más difícil para una paleta oscura. Una paleta que sobrevive a una tabla de ajustes sobrevive trivialmente a una página de marketing; lo contrario no ocurre.
Errores comunes
- Empezar con negro puro. Elimina el nivel inferior a su fondo antes de que se dé cuenta de que lo necesita.
- Reutilizar el acento del modo claro sin cambios. Normalmente necesita aclararse, a menudo desaturarse y puede requerir texto oscuro encima.
- Mantener las sombras y añadir pasos de luminosidad. Elija un único lenguaje de elevación. Hacer ambas cosas hace que las superficies elevadas parezcan borrosas.
- Definir solo lo que necesitaba la primera pantalla. Los roles que omite son los que la siguiente pantalla inventará, y los inventará de forma distinta.
- Probar en una página de marketing. Las secciones hero favorecen cualquier paleta. Pruebe en la pantalla más densa que tenga.
Explore paletas oscuras completas, no filas de muestras
Cada kit aquí define todos sus roles de color tanto en modo claro como oscuro, además de tipografía, radios y movimiento; instalables como un único elemento del registro de shadcn. Los kits gratuitos no requieren cuenta.
FAQ
¿Debería usar negro puro para el modo oscuro?
Generalmente no. En cinco paletas implementadas en producción, el fondo más oscuro tiene una luminosidad HSL del 8 % y ninguna es del 0 %. El negro puro no deja ninguna superficie por debajo del fondo, por lo que se pierde la capacidad de mostrar elementos empotrados. La excepción es un contexto de ahorro de energía en OLED o de visualización de medios donde se busca que el marco desaparezca.
¿El modo oscuro consiste simplemente en invertir la paleta clara?
No. Hay cuatro aspectos que fallan: las sombras dejan de funcionar porque ya no hay nada que oscurecer, el color de acento suele fallar en el contraste, los bordes desaparecen o brillan según la superficie sobre la que se encuentren, y los estados desactivados o atenuados se vuelven invisibles. Una paleta oscura es un segundo diseño, no un filtro.
¿Cómo muestro la elevación en el modo oscuro sin usar sombras?
Mediante la luminosidad de la superficie. Defina al menos tres niveles (fondo, superficie elevada y superposición) separados aproximadamente por 3 a 5 puntos de luminosidad HSL. Por debajo de los 3 puntos, los niveles dejan de ser distinguibles; muy por encima de los 6, la superficie superior empieza a parecer un panel de modo claro.
¿Cuál es la diferencia entre una superficie y una superficie tonal?
Una superficie neutra solo aumenta la luminosidad; una superficie tonal también mezcla parte del tono de la marca a medida que sube. El enfoque tonal hace que toda la interfaz se sienta deliberadamente coloreada; el neutro reserva el significado del color para los elementos que realmente lo necesitan. Ambos funcionan, pero mezclarlos dentro de un mismo tema no.
¿Funcionan los colores de mi marca en el modo oscuro?
Normalmente no sin cambios. Un tono medio saturado que se lee bien sobre blanco tiende a ser demasiado oscuro y vibrante contra una superficie casi negra. Aclárelo para ganar contraste, desatúrelo ligeramente para que deje de vibrar y compruebe si ahora requiere texto oscuro en lugar de claro encima.
¿Cuántos colores necesita una paleta oscura?
Aproximadamente 28 roles nombrados, no cinco muestras: fondo y primer plano, tarjeta, popover, atenuado, primario, secundario, acento, destructivo y sus respectivos primeros planos, además de borde, entrada, anillo y series de gráficos. Cualquier elemento que quede sin definir se improvisará en cada pantalla, y de forma distinta cada vez.