Saltar al contenido

Color

Estable

11 rampas de 12 pasos importadas de Figma, capa semántica y verificación de contraste en vivo.

El color de Polen son 11 rampas de 12 pasos más un trío Base, importadas tal cual de la colección Primitives del archivo 🌻 FDS Design Tokens. Cada variable trae su valor de light y dark desde diseño: acá no hay ningún paso interpolado ni inventado.

Las rampas siguen la convención de Radix Colors, que le da un significado fijo a cada paso: 1–2 fondos de app, 3–5 fondos de componentes, 6–8 bordes, 9–10 fondos sólidos y 11–12 texto. Por eso Primary/9 y Danger/9 se pueden intercambiar sin rehacer el diseño — ocupan el mismo lugar en su escala.

Primary es el verde de la marca, anclado en Primary/9 = #00922e, el único paso que vale igual en light y en dark. Grey es la rampa neutra del sistema —un gris frío— y de ella sale todo el chrome del sitio vía la capa semántica.

Verificador de contraste

Antes de elegir un par de colores, comprobá que se puedan leer. Elegí texto y fondo de cualquier rampa y validá WCAG en vivo. Regla práctica: texto normal necesita AA (4.5:1); texto grande o UI, AA Large (3:1).

Texto
Fondo
Un sistema, una voz visual.Polen documenta tokens, componentes y motion.
4.97:1
✓ AA✓ AA Large✕ AAA

Escalas

Mostrando el tema light — cambialo con el toggle del header y las 11 rampas se recalculan.

Marca

El verde de Polen. Acciones, enlaces y acentos.

Primary

Verde de marca. Acciones, enlaces y acentos.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Neutral

El chrome del producto: fondos, bordes y texto.

Grey

Fondos, bordes y texto. El chrome del producto.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Base/Background#ffffff
Base/White#ffffff
Base/Black#000000

Semánticas

Feedback de estado. Su significado es fijo.

Success

Confirmación, estados válidos.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Yellow

Advertencia, atención requerida.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Danger

Error, destrucción, bloqueo.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Blue

Información, estados neutrales con énfasis.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Extendidas

Paleta de apoyo para categorías, datos y material de marca.

Orange

Categorías y visualización de datos.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Green

Categorías y visualización de datos.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Pink

Categorías y visualización de datos.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Violet

Categorías y visualización de datos.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Neon

Acentos de alta energía. Usar con moderación.

Pasá el cursor por un paso para ver su valor — click para copiarlo.

Roles semánticos

Nunca uses una primitiva directo en un componente: usá el rol. La lista completa (105 roles, con su variable de Figma y su uso) vive en Color semántico. Estos son los neutros, los que más vas a tocar:

Fondos

FigmaCSSPrimitivaUso
bg/default--bggrey-1Fondo de página. El lienzo sobre el que vive todo.
bg/subtle--bg-subtlegrey-2Fondo alterno: sidebars, zebra de tablas, bloques de código.
bg/surface--surfacegrey-3Superficie de componentes neutros en reposo.
bg/surface-hover--surface-hovergrey-4Hover de superficies neutras.
bg/surface-active--surface-activegrey-5Pressed / seleccionado de superficies neutras.
bg/elevated--bg-elevatedbase-backgroundSuperficies que flotan: cards, modales, menús, popovers.
bg/inverse--bg-inversegrey-12Superficie invertida: tooltips, toasts oscuros.

Bordes

FigmaCSSPrimitivaUso
border/subtle--border-subtlegrey-4Divisores suaves dentro de una superficie.
border/default--bordergrey-6Borde estándar de cards, inputs y contenedores.
border/hover--border-hovergrey-7Borde de controles en hover.
border/strong--border-stronggrey-8Borde de alto contraste (3:1 contra el fondo).

Texto

FigmaCSSPrimitivaUso
text/default--fggrey-12Texto principal: títulos y cuerpo.
text/muted--fg-mutedgrey-11Texto secundario: descripciones, hints, metadata.
text/subtle--fg-subtlegrey-10Texto terciario y placeholders. No usar para contenido esencial.
text/disabled--fg-disabledgrey-8Texto deshabilitado. Exento de contraste WCAG.
text/inverse--fg-inversegrey-1Texto sobre bg/inverse.

Convención de estados

Los estados interactivos siguen la progresión de la escala:

  • Sólido: fondo 9, hover 10, pressed 11
  • Tonal: fondo 3, hover 4, pressed 5, borde 6
  • Focus ring: Primary/8

Cuándo usar cada familia

  • Marca (Primary) — acciones primarias, enlaces, selección, acentos.
  • Neutral (Grey, Base) — todo lo estructural: superficies, bordes, tipografía.
  • Semánticas (Success, Yellow, Danger, Blue) — solo feedback de estado. Su significado es fijo: no uses Danger porque queda lindo en rojo.
  • Extendidas (Orange, Green, Pink, Violet, Neon) — categorías, visualización de datos, ilustración y material de marca. No las metas en controles de UI: para eso están las semánticas.