Sistema de Diseño

Quise algo simple pero con carácter. Soy diseñador y prefiero la coherencia a través de restricciones: dos colores que se invierten, bordes definidos y tipografía clara. Limitar el espacio de decisiones me ayuda a decidir mejor y a poner el contenido primero.

También pienso la accesibilidad como parte del sistema: suficiente contraste, jerarquías legibles y estructura semántica clara. Cada componente está hecho para ser entendido, visible y usable sin esfuerzo.

Si quieres profundizar, puedes leer la Declaración de Accesibilidad.

Sistema de Color

El corazón del sistema: dos variables CSS que definen toda la interfaz. Cuando cambias de tema claro a oscuro, simplemente se invierten. No hay grises, no hay acentos, no hay escape. Esta restricción fuerza decisiones intencionadas y mantiene el contraste accesible automáticamente.

--color-main

Texto, bordes, elementos primarios

--color-secondary

Fondos, texto alternativo

Variaciones de Opacidad

La única escapatoria permitida: transparencia. Así se crean sutilezas sin añadir colores nuevos.

Transparencia para estados hover, bordes suaves, y fondos alternos. Es la única forma de generar matices sin romper la regla de dos colores.

Main sobre Secondary

main/100
main/80
main/60
main/40
main/20
main/10

Secondary sobre Main

secondary/100
secondary/80
secondary/60
secondary/40
secondary/20
secondary/10

Sistema de temas

Cada tema define dos colores: colorful (color vibrante/acento) y contrasty (color oscuro/fondo). En modo claro, colorful se convierte en --color-main (texto/bordes) y contrasty en --color-secondary (fondos). En modo oscuro se invierten: contrasty pasa a --color-main y colorful a --color-secondary. Así el sistema mantiene alto contraste en ambos modos usando solo dos colores por tema.

Temas disponibles
MS-DOS

Interfaz de línea de comandos

colorful: #e5e5e6

contrasty: #000000

Banana

Energía memética potenciada con potasio

colorful: #D4B340

contrasty: #020123

GameBoy

Leyenda monocromática LCD

colorful: #A4D110

contrasty: #044F27

Commodore

Leyenda de computación de pantalla azul

colorful: #BFDDF5

contrasty: #0A0A1C

Kurumi

Kuromi fluido

colorful: #FA7FB5

contrasty: #0A0A0A

Tipografía

Dos familias tipográficas con roles claros. La restricción continúa.

Encabezados
H1

“El pequeño zorro bajó feliz y juguetón al río mientras cantaba.”

H2

“El pequeño zorro bajó feliz y juguetón al río mientras cantaba.”

H3

“El pequeño zorro bajó feliz y juguetón al río mientras cantaba.”

H4–H6

“El pequeño zorro bajó feliz y juguetón al río mientras cantaba.”

Cuerpo
text-body

El cuerpo del texto debe leerse con calma y sin esfuerzo. Las líneas son cortas, el contraste es alto y el ritmo vertical guía el ojo sin distracciones.

text-body-sm

El cuerpo del texto debe leerse con calma y sin esfuerzo. Las líneas son cortas, el contraste es alto y el ritmo vertical guía el ojo sin distracciones.

Cuerpo Mono
text-body-mono

const theme = "brutalist";

text-body-mono-sm

UI · ETIQUETA · SISTEMA

Botones

Predeterminada
Rellena
Compacta
Compacta Rellena
Botones Elevados — Predeterminada
Botones Elevados — Rellena
Botones Outline
Botones Outline Elevados (Animados)

Tarjetas de Proyecto

Elementos visuales

Franja diagonal

Patrón para separar secciones sin añadir colores. Respeta el sistema de dos colores y usa opacidad para matizar.

Ejemplo de patrón de franja diagonal
Divisor ondulado

Separador decorativo que divide secciones siguiendo el contraste del tema actual. Opacidad sobre nuevos colores.

Si creciste con videojuegos clásicos, tal vez conozcas una secuencia especial de teclas...