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.

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.

Blue

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. El rol resuelve a la primitiva correcta en cada tema, así que un componente escrito contra --bg y --fg funciona en light y dark sin una sola condicional.

RolApunta aEstado
--bggrey-1Oficial
--bg-subtlegrey-2Oficial
--surfacegrey-3Oficial
--bordergrey-6Oficial
--border-stronggrey-8Oficial
--fggrey-12Oficial
--fg-mutedgrey-11Oficial
--fg-subtlegrey-10Oficial
--primaryprimary-9Oficial
--primary-hoverprimary-10Oficial
--primary-activeprimary-11Oficial
--primary-faintprimary-2Oficial
--primary-subtleprimary-3Oficial
--primary-subtle-hoverprimary-4Oficial
--primary-subtle-activeprimary-5Oficial
--primary-borderprimary-6Oficial
--primary-fgbase-on-primaryOficial
--focus-ringprimary-8Oficial
--successsuccess-9Oficial
--success-faintsuccess-2Oficial
--success-subtlesuccess-3Oficial
--success-bordersuccess-6Oficial
--warningyellow-9Oficial
--warning-faintyellow-2Oficial
--warning-subtleyellow-3Oficial
--warning-borderyellow-6Oficial
--dangerdanger-9Oficial
--danger-faintdanger-2Oficial
--danger-subtledanger-3Oficial
--danger-borderdanger-6Oficial

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) — solo feedback de estado. Su significado es fijo: no uses Danger porque queda lindo en rojo.
  • Extendidas (Orange, Green, Pink, Blue, 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.