Wiwo Neo Design System Wiwo Neo Design System
Neo Design System

El sistema vivo de Wiwo.

Neo Design System organiza marca, UI, motion, IA, fotografía, íconos y tono para que cada producto Wiwo se sienta simple por fuera, poderoso por dentro y listo para escalar sin perder personalidad.

Marca Logos, color, voz y retórica con una identidad consistente.
Producto Interfaces claras, componentes útiles y estados fáciles de leer.
Motion Microanimaciones, scroll y gradientes que explican el sistema.
IA Bots, agentes y automatizaciones visibles solo cuando aportan claridad.

Simple es poderoso.

Wiwo debe verse como una neo-agencia que sabe ejecutar: beige calmo para pensar, azul para identidad, verde para acción y degradados para momentos de transformación.

#3BFF00 103deg #4242FF
01 Fundamentos

La lógica antes de la forma.

Principios, voz y conceptos retóricos que hacen que cada interfaz Wiwo tenga criterio antes de tener componentes.

Principios

La mezcla Wiwo entre marca, producto, IA y motion define cómo se toman decisiones de interfaz, narrativa y experiencia.

1

Expresivo, no ruidoso

Usa verde o gradiente para momentos de energía: lanzamiento, automatización, insight, confirmación. Evita cubrir todo con color.

2

Editorial y escaneable

Grillas claras, titulares fuertes, mucho aire y bloques que se pueden leer en diagonal sin perder precisión.

3

IA como copiloto

Todo patron debe mostrar próximo paso, estado y criterio. La interfaz no presume magia: explica decisiones útiles.

4

Marca modular

El logo, el ícono W y el punto final de wiwo funcionan como piezas: lockup, app icon, sello, loader y marcador de estado.

Retórica

Conceptos narrativos para alinear estrategia, marca, producto, campañas y sistemas IA-first. Esta es la capa verbal que sostiene el diseño.

Conceptos madre

La IA amplifica lo humano.

Wiwo se expresa desde una tensión clara: tecnología avanzada por dentro, experiencia simple y humana por fuera. El relato debe convertir futuro, IA y automatización en capacidad real de negocio.

Humano aumentadoLa tecnología expande criterio, creatividad, intuición y experiencia.
Operación x10Velocidad, precisión y escala como nueva forma de competir.
Sistema, no capaCreatividad, IA, datos, automatización e infraestructura conectadas.
Futuro construibleEl mañana no se espera: se diseña, se prototipa y se opera hoy.
WIWO

Compañía IA-first.

Idea fuerza Wiwo convierte la inteligencia artificial en ventaja operativa, creativa y estratégica.

Wiwo es una compañía IA-first creada para convertir el futuro en capacidad real de negocio.

Ver desarrollo

No es solo una agencia, no es solo una plataforma y no es solo una capa tecnológica. Wiwo es un sistema de crecimiento que une creatividad, inteligencia artificial, automatización, datos, infraestructura y estrategia para ayudar a personas, equipos y compañías a operar con una nueva potencia.

Wiwo existe para hacer que la tecnología se sienta simple, útil y humana, pero que por dentro funcione con una arquitectura profundamente inteligente. Su premisa central es clara: la IA no reemplaza el valor humano, lo amplifica.

Wiwo es la interfaz entre lo que una persona imagina y lo que una organización puede construir, escalar y transformar.

Humanity Augmented
Humanity Augmented

Personas más capaces.

Humanity Augmented es la visión que define cómo Wiwo entiende la relación entre personas e inteligencia artificial.

Ver desarrollo

No creemos en un futuro donde la tecnología sustituye a los humanos. Creemos en un futuro donde los humanos aumentan su capacidad gracias a la tecnología. La IA no viene a borrar el criterio, la intuición, la sensibilidad, la creatividad ni la experiencia de las personas; viene a expandirlas.

Humanity Augmented significa que una persona puede pensar más rápido, crear mejor, decidir con más información, operar con más precisión y escalar su impacto con herramientas que multiplican su capacidad natural.

En Wiwo, la tecnología no es protagonista por sí sola. Es una extensión del talento humano.

Idea fuerza La inteligencia artificial no reemplaza a las personas. Las convierte en una versión aumentada de sí mismas.
x10
x10

Multiplicación real.

x10 es la promesa de multiplicación de Wiwo.

Ver desarrollo

No se trata de mejorar un proceso en un 10%. Se trata de cambiar la escala de lo que una persona, un equipo o una compañía puede lograr. x10 representa velocidad, eficiencia, inteligencia, creatividad, producción, aprendizaje y capacidad operativa multiplicadas por tecnología.

x10 es pasar de hacer más con más recursos, a hacer mucho más con sistemas más inteligentes. Es transformar procesos manuales en flujos automatizados, convertir equipos tradicionales en equipos aumentados y pasar de estructuras pesadas a modelos más ágiles, precisos y escalables.

El x10 de Wiwo no es solo productividad. Es una nueva forma de competir.

Idea fuerza Wiwo multiplica capacidades humanas y empresariales para operar a una escala antes imposible.
The Power of You
The Power of You

La persona al centro.

The Power of You es el concepto que pone a la persona en el centro.

Ver desarrollo

En un mundo obsesionado con la inteligencia artificial, Wiwo recuerda que el verdadero poder sigue estando en las personas: en su visión, su criterio, su historia, su creatividad, su sensibilidad y su capacidad de imaginar lo que todavía no existe.

The Power of You significa que la tecnología debe adaptarse a las personas, no al revés. Cada herramienta, agente, plataforma o sistema debe amplificar lo que hace única a una persona, una marca o una compañía.

Wiwo no busca uniformar. Busca potenciar. No transforma a las personas en máquinas. Les entrega máquinas para que puedan llevar más lejos su propia inteligencia.

Idea fuerza La IA potencia tu visión, tu talento y tu forma única de crear valor.
Simple por fuera, brutal por dentro
Simple por fuera

Brutal por dentro.

Simple por fuera, brutal por dentro es la filosofía de diseño y desarrollo de Wiwo.

Ver desarrollo

Lo que el usuario ve debe sentirse simple, claro, elegante y fácil de usar. Pero detrás de esa simplicidad debe existir una arquitectura poderosa: agentes, automatizaciones, modelos de IA, datos, integraciones, infraestructura, lógica de negocio y sistemas complejos trabajando en silencio.

Este concepto expresa una tensión clave de Wiwo: ocultar la complejidad para entregar fluidez. Hacer que lo sofisticado parezca natural. Convertir tecnología avanzada en experiencias intuitivas.

Wiwo no presume complejidad. La domina.

Idea fuerza Experiencias simples, impulsadas por sistemas profundamente inteligentes.
Imagine Tomorrow
Imagine Tomorrow

El futuro se construye.

Idea fuerza El futuro no se espera. Se imagina, se diseña y se construye.

Imagine Tomorrow es la invitación emocional y estratégica de Wiwo.

Ver desarrollo

No habla solo de futuro como una idea abstracta. Habla de la capacidad de imaginar lo que viene y construirlo hoy. Es una declaración optimista, ambiciosa y profundamente tecnológica: el mañana no se espera, se diseña.

Imagine Tomorrow conecta a Wiwo con la innovación, la creatividad, la anticipación y la construcción de nuevas posibilidades. Es un llamado a marcas, empresas y personas que no quieren adaptarse tarde al futuro, sino participar activamente en su creación.

Para Wiwo, imaginar el mañana no es fantasear. Es transformar visión en productos, sistemas, campañas, plataformas y experiencias reales.

OperativaIA como ventaja real para ejecutar, crear y decidir mejor.
HumanaLa tecnología se adapta a las personas y amplifica su criterio.
FuturoEl mañana se convierte en productos, sistemas y experiencias accionables.
02 Marca

Identidad usable, no decorativa.

Logos, fotografía, video e íconos funcionan como herramientas de producto: claros, livianos y siempre propios de Wiwo.

Marca

El sistema usa los archivos reales de Wiwo: lockup azul, lockup beige, lockup verde y mark. Cada variante conserva proporción, contraste y espacio vital.

Logo, color y contexto en una sola decisión.

La marca no vive como un bloque aislado: azul para identidad, beige para lectura, verde para acción y gradiente para momentos de IA, cambio o momentum.

Beige base Fondos, calma, lectura.
Verde acción CTA, estados vivos y launch.
Azul marca Logo, foco, selección.
Gradiente IA, cambio y momentum.
Principal Blue Logo
Logotipo Wiwo azul
PNG transparente 6317 x 1339 Fondos beige
Contraste Beige Logo
Logotipo Wiwo beige
Ink #292929 Foto oscura Sin fondo morado
Acción Green Logo
Logotipo Wiwo verde
Launch Estado vivo No editorial base
Mark App, loader, sello
Simbolo Wiwo W
3390 x 2164 No estirar Icono

Presentación obligatoria

Cuando se enseña el sistema de logo, despliega siempre las tres versiones de lockup: Blue, Beige y Green. El mark se presenta aparte como ícono, loader o sello.

Proporcion intacta

No comprimir, expandir ni reconstruir. El lockup mantiene su relación 6317/1339 y el mark 3390/2164.

Contraste por fondo

Azul sobre beige o superficies claras. Beige sobre ink #292929, fotos y fondos profundos. Verde solo para activación.

Zona segura

Reserva al menos la altura del punto final alrededor del logo. En UI compacta, usa el mark antes de apretar el lockup.

Sin filtros

No aplicar sombras duras, recolor por CSS, blur ni efectos encima del archivo. Cambia de variante según el fondo.

Descarga de assets

Archivos PNG transparentes listos para Figma, web, presentaciones y piezas comerciales.

Fotografía

El sistema de fotos Wiwo muestra un futuro optimista, lindo y realista: cercano, humano, posible, con beige Wiwo como atmósfera y verde/azul como señales vivas.

Equipo Wiwo en tienda con señal de marca
Photo system

Futuro cercano, humano y posible

La foto Wiwo debe sentirse luminosa y operativa: espacios beige, verde como energía, azul como interfaz y personas usando tecnología real sin perder calidez.

Futuro optimista

No cyber. Futuro real.

Wiwo no retrata una ciudad cyber, cyborgs ni tecnología lejana. Retrata un mañana bonito, realista y alcanzable: gente trabajando mejor, comercios vivos, interfaces claras y espacios con color de marca.

Optimismo humano

Personas presentes, activas y tranquilas. La tecnología acompana, no reemplaza la escena.

Cercano y realista

Locales, oficinas, tiendas y rutinas reconocibles. Futuro no tan lejano, posible de vivir ahora.

Colores Wiwo

Beige #F8FAD7/#EDEFDD para calma, verde para acción y azul para sistema, interfaz o señal.

Luz beige

Prioriza luz natural, calidez y sombras suaves. Evita blancos fríos o fondos clínicos.

Personas en acción

La persona debe estar haciendo algo: decidir, comprar, atender, probar o recibir ayuda.

Producto visible

Incluye pantallas, pagos, interfaces o senaletica cuando la foto necesita demostrar capacidad.

Marca integrada

El verde y azul aparecen como capas, objetos o interfaces dentro de la escena, no como filtro encima.

Evitar sci-fi frío

Nada de cyber city, cyborgs, metal oscuro, neón distópico o tecnología imposible. Wiwo es futuro amable y real.

Assets nuevos

Biblioteca visual con criterio.

Los assets nuevos se ordenan por función: interfaz, retail, futuro optimista, campaña, creators y 3D de marca. No todo se usa igual: cada pieza debe conservar cercanía humana, beige Wiwo, verde de acción y azul de sistema.

Producto Retail Creators Campaña 3D controlado
Laptop Wiwo en espacio beige con interfaz de producto
Escena Wiwo de futuro optimista con persona en retail
Futuro optimistaHero o manifiesto: humano, cercano, no sci-fi frío.
Burbuja de análisis con marca Wiwo
Microinterfaz IAEstados, tooltips, command surfaces.
Sistema de contenidos visuales Wiwo
Sistema de contenidosGalerias, carruseles y curaduria.
Persona presentando interfaz Wiwo Lab
Producto IADemo, landing y onboarding.
Persona presentando dashboard Wiwo Boost
Dashboard activoPerformance, growth y operaciones.
Display retail Wiwo con personas y objetos de marca
Retail aumentadoMarca en espacio real, sin perder calidez.
Objeto abstracto azul y verde para pieza de performance
Objeto de performanceMétricas, ads, CAC, data visual.
Objeto 3D de marca Wiwo con azul y verde
3D de marcaFondos y transiciones, uso moderado.

Selecciona por rol

Antes de usar una imagen, define si cumple función de producto, evidencia, campaña, ambiente, creator o transición.

Color Wiwo presente

Beige como base o luz; verde como acción; azul como sistema. Si el asset no tiene esa lógica, no es principal.

Humanidad primero

Cuando haya personas, deben sentirse reales, activas y optimistas. Evita poses frias o moda demasiado distante.

3D con moderación

Usalo para motion, fondos y objetos de marca. No convertirlo en mundo cyber, distópico ni tecnología imposible.

Foto + video

Style frames para un futuro vivo.

Estos assets funcionan como dirección audiovisual: cámara suave, luz beige, interfaz azul, verde como acción y movimiento optimista. Son stills y style frames; cuando exista video real, debe respetar este lenguaje visual.

Plano producto Cámara humana Transición glass Ritmo 160/280/420
Retrato Wiwo con paneles azul y verde como referencia de cámara
Plano producto Wiwo con laptops y paneles de marca
Set de luz beige y azul para transiciones glass
Persona caminando en espacio Wiwo de marca
Travelling humanoMovimiento lateral, persona en acción, marca integrada.
Logo Wiwo en espacio glass con color de marca
Macro logo glassOrbit corto, highlights suaves y foco de identidad.
Objeto 3D Wiwo con azul y verde
Objeto motionRotación 8 a 12 grados, shimmer y sombra suave.
Frame vertical de campaña Wiwo
Hero verticalSocial, reels y story con lectura rápida.
Persona en acción dentro de mundo Wiwo optimista
Acción optimistaEnergico, realista, nada distópico ni cyber.
Plano tecnológico Wiwo como producto glass
Product keynoteUso puntual para IA, launch o transición premium.

Cámara

Dolly lento, orbit corto, push in suave y parallax glass. Evita cámara nerviosa o velocidad agresiva.

Luz y color

Beige luminoso, azul interfaz y verde acción. Evita neón distópico, metal oscuro o brillos sin calidez.

Edición

Cortes de 280 a 420ms, microinteracciones de 160ms y transiciones con máscaras, blur glass o profundidad.

Uso correcto

Estos archivos son referencia visual. No prometer video real si no existe archivo fuente, render o pieza editada.

ContextoPlanoMovimiento
Producto IAMacro / interfazPush in suave, reflejos glass y capa de datos azul.
Retail optimistaPlano medio / personaTravelling lateral con verde como señal de acción.
Marca 3DObjeto / logoOrbit 8 a 12 grados, shimmer controlado y fondo beige.
Campaña socialVertical 9:16Entrada por capas, texto corto y remate con logo real.
03 Sistema

Tokens, componentes y patrones.

La parte consumible: fuente única de tokens, componentes para producto real y reglas de layout que escalan.

Tokens

Base reusable para web, Figma y producto. Nombres funcionales primero; colores de marca después.

Color

Wiwo mantiene azul y verde como señales activas, balanceadas con beige Wiwo como fondo principal e ink #292929 para contraste. Regla dura: el verde nunca va como texto sobre fondos claros.

Primary#4242FF
Action#3BFF00
Base#F8FAD7
Alt beige#EDEFDD
Ink#292929

Degradados

El degradado principal nace del Figma: verde eléctrico hacia azul Wiwo. Se usa para energía, lanzamiento, IA y momentos de transformación.

Primary 103deg / green to blue
Soft fondos secundarios
Dark portadas y hero

Tipografía

Display 800
Neo work, human taste.
Brand 700/800
wiwo. First Latam Neo Agency
Body 400/500
Plus Jakarta Sans regular para lectura; medium para ayudas, metadatos y etiquetas; semibold/bold para controles.

Paquete descargable con Plus Jakarta Sans variable, italic, licencia OFL y CSS para autohosting.

Variable TTF Italic TTF OFL license CSS local

Forma y espacio

El sistema usa formas simples: tarjetas de 8px, controles tipo pill, focos visibles y grillas con ritmo de 4/8px.

Card radius8px
Control radius999px
Grid gap16 / 24 / 32

Modo oscuro semantico

Light y dark comparten nombres, no excepciones: las vistas cambian porque cambian --surface, --ink, --line y contenedores.

PrimitivosAzul, verde, beige fijos
SemanticosSurface / ink / line
InverseBoton sobrio y headers
Source of truth

Tokens como código

El HTML documenta el sistema, pero el contrato consumible vive en un JSON exportable. Cambia el verde, el beige, dark mode o foco en un solo lugar y regenera los outputs.

wiwo.tokens.json W3C-like / 121 tokens
Build npm run build:tokens
Token Valor Muestra Uso
--wiwo-beige #F8FAD7 Fondo principal, secciones largas, documentos, superficies de lectura.
--wiwo-beige-alt #EDEFDD Fondos secundarios, bloques alternos, superficies operativas y areas de descanso visual.
--wiwo-blue #4242FF Identidad, foco, selección, links importantes y elementos de confianza.
--wiwo-green #3BFF00 Acción primaria, energía y progreso. Nunca usar como texto sobre beige o blanco; solo sobre oscuro, como fill con ink encima o en gráficos no textuales.
--wiwo-gradient-primary 103deg Momentos de IA, transformación, hero de campaña y transiciones de estado.
--chart-primary #4242FF Serie principal de KPIs: revenue, conversión, selección y foco en dashboards.
--chart-positive #3BFF00 Crecimiento, progreso positivo, completion y mejoras confirmadas.
--chart-grid Light / Dark Líneas de chart semanticas. Cambian con el tema para no hardcodear grillas.
--glass-fill rgba 24% Capas liquid glass: toolbars, overlays, docks, command palettes y estados flotantes.
--surface Light beige / Dark ink Fondo base del producto. Cambia con el tema y evita fondos hardcodeados por pantalla.
--surface-container Elevacion semantica Cards, tablas, tool surfaces y paneles operativos. En dark se eleva sin usar negro solido.
--ink Light #292929 / Dark beige Texto principal. No usarlo como fondo; para superficies opuestas existe --surface-inverse.
--line Borde por tema Separadores y contornos. En dark baja opacidad para que el dashboard no se vea alambrado.
--surface-inverse Modo opuesto Botones sobrios, headers de tablas y contenedores premium; siempre con --ink-inverse.

Componentes

Componentes mínimos para empezar un producto Wiwo: acción clara, estados visibles y contenido fácil de escanear.

A11y layer

Foco visible real

Todo control interactivo usa :focus-visible con ring azul/verde según tema. El foco no depende de hover ni de color solamente: debe verse en teclado, formularios, icon buttons, chips y nav.

3px ring + 7px glow
LoadingMantiene tamaño, comunica espera y no mueve el layout. ErrorTexto específico, borde visible y mensaje accionable. DisabledNo depende solo de opacidad; conserva lectura y cursor claro.
Approved pairs

Contraste aprobado

La paleta Wiwo se usa con pares cerrados. Si el fondo se mueve, el texto necesita overlay, glass o contenedor estable.

Fondo Texto Uso Regla
Beige #F8FAD7 / #EDEFDD #292929 UI base, lectura, dashboards Aprobado para texto normal y largo.
Verde #3BFF00 #292929 CTA, estado activo, success Nunca usar blanco sobre verde lima.
Azul #4242FF #FFFFFF o #F8FAD7 Marca, foco, selección Aprobado para botones, chips y headers.
Ink #292929 #F8FAD7 Dark mode, cards premium No usar negro sólido; ink es el límite oscuro.
Gradiente Wiwo #292929 sobre glass claro o #F8FAD7 sobre overlay ink IA, progreso, transformación Texto directo solo si el fondo queda estabilizado.

Botones y acciones

Usa verde para la acción más importante, ink #292929 para acción sobria y grupos conectados cuando hay decisiones hermanas.

Chips y filtros

Los chips agrupan contexto, no reemplazan titulares. Buenos para estados de IA, categorías y filtros rapidos.

AI ready Marca Producto Growth

Formulario

Labels siempre visibles. Ayuda corta. Foco azul. Error con texto específico, no solo color.

Formato sugerido: audiencia + acción + contexto.
Segmenta por rol, industria o momento de compra. Especifica una audiencia concreta antes de activar el flujo.
El estado disabled debe explicar por que no se puede editar.

Estados

Los estados deben poder leerse sin depender del color. Incluye nombre, icono o microcopy.

PublicadoVisible
En revisión2 cambios
BloqueadoFalta dato

Navegación de producto

Nav compacta, íconos reconocibles, estado activo evidente y superficie limpia para trabajo repetido.

Wiwo

Briefs activos

Patrón hero / portada

Para piezas editoriales o comerciales, usar imagen real o arte generado. El texto va sobre la escena, no en una tarjeta flotante.

Insight Launch

Liquid glass

Usalo para capas flotantes sobre color o video: dock, comando, búsqueda, overlays y estados que necesitan profundidad.

Glass layer blur 22px / stroke claro / highlight vivo
Live
Product core

Componentes para producto real

Wiwo Boost, MetriQ y cualquier herramienta operativa necesitan UI de trabajo: tablas densas, feedback claro, estados vacíos útiles, paginación, dialogs accesibles y una paleta estable para KPIs.

Densidad lectura rápida Feedback visible y reversible Data viz tokens compartidos
Data table

Tablas para dashboards

La tabla es componente crítico: debe permitir escaneo, comparación, sorting, filtros, estados, tendencia, progreso y paginación sin convertirse en una grilla de tarjetas.

Campaign performance 24 resultados / actualizado hace 2 min
Cliente Etapa KPI Tendencia Señal Próxima acción
Retail launchPaid + retail media Live 84% brief clarity +12% Priorizar audiencias con intención alta.
Audience mapMetriQ cohort scan Revisión 62% fit score -4% Corregir segmento y excluir ruido.
Creative routesBoost generative flow Listo 12 assets aprobados +31% Exportar formatos por canal.
Mostrando 1-10 de 24. Usar 10, 25 o 50 filas según densidad del dashboard.
Feedback

Toasts y empty states

El feedback debe confirmar lo que paso, decir que hacer ahora y no esconder estados importantes en una esquina sin contexto.

Dialog

Modal documentado

Un modal no es solo una animación: bloquea contexto, pide decisión y debe devolver el foco al control que lo abrio.

Data viz

Paleta para KPIs y charts

Los gráficos no deben inventar colores por pantalla. Usa tokens de chart, reserva lime para acción/positivo, azul para serie principal y deja danger solo para problemas reales.

Revenue pulse

Serie principal + positivo + alerta
Conversión Growth Riesgo
Primary Positive Attention Warning Danger Neutral AI assist Cohort soft
Máx. 5 seriesSi hay más, usa filtros o pequeños múltiples.
Grid semantico--chart-grid cambia con light/dark.
No arcoirisColor significa estado, no decoración.

Wiwo Expressive

El sistema usa tácticas expresivas: contraste de forma, contención tonal, grupos de acción, motion con easing y jerarquía por tamaño.

160ms 280ms 420ms
Wiwo Expressive
Launch ready Botones grandes, contenedores tonales, radios variables y progreso con gradiente.
Assets12 piezas aprobadas 100%
MediaPlan en revisión 54%
Interaction intelligence

IA, bots y microanimaciones

En Wiwo la IA no aparece como un spinner genérico. Se comporta como una capa viva: escucha, piensa, propone, confirma y se retira sin robar protagonismo. El movimiento debe explicar que el sistema está trabajando, pero siempre con calma, precisión y una estética optimista.

IA interpretando el brief Halo suave, gradiente activo y copy que cambia con intención.
Live
Bot orchestra
Como interactuan los bots

Los bots se ven como agentes coordinados, no como ventanas sueltas. Cada agente declara qué está haciendo, qué encontró y cuál es la próxima acción útil.

Brief bot Ordena contexto, detecta ambiguedades y pide solo lo que falta.
Strategy bot Transforma insight en ruta, prioridad, canal y decisión siguiente.
Production bot Genera variaciones, adapta formatos y cuida consistencia visual.
Listen Think Build Ship
Motion grammar
Letras, ventanas y modales

El texto generado por IA aparece con reveal editorial, no con máquina de escribir lenta. Las ventanas entran desde profundidad y desaparecen con compresión suave, como si el sistema limpiara el espacio para la siguiente decisión.

thepowerofyou
Usar stagger corto de 12 a 24ms por carácter, blur de salida bajo y easing `power3.out`. Para datos operativos, revelar por bloque o palabra; para titulares, por letra.
Animated gradients
Como viven los gradientes en plataformas Wiwo

El gradiente no debe ser una alfombra decorativa permanente. Debe aparecer como energía del sistema: borde vivo, halo de IA, progreso, foco de selección, transición de estado o momento de transformación.

Producto SaaSHalo sutil en cards activas, rails de progreso y estados Live.
IA generativaOrbitas suaves mientras piensa, luego pulso verde al resolver.
3D / R3FSuperficies tipo WiwoSurface, luz viva y cámara con easing lento.
CampañasGradiente más expresivo en heroes, transiciones y piezas de alto impacto.
Motion contract
Reglas avanzadas para IA y microinteracciones

La experiencia debe sentirse cara: pocas cosas se mueven al mismo tiempo, cada movimiento tiene causa y todo vuelve rápido a un estado legible.

80 a 160msTap, hover, ripple, press, selección y feedback inmediato. Usar en botones, chips y controles.
220 a 320msCambios de estado: tab activa, item que se expande, card recomendada, chip que confirma.
380 a 520msEntrada/salida de modal, command palette, drawer IA, ventanas flotantes y overlays glass.
700 a 1200msIA pensando, gradiente orbitando, transiciones 3D, ScrollTrigger scrub y momentos hero.
IA idleOrbita mínima, opacidad baja, gradiente respirando. No distrae mientras el usuario lee.
IA thinkingHalo azul/verde, dots o círculos sincronizados, copy activo y avance perceptible.
IA outputReveal por palabra o bloque, luego highlight temporal sobre la decisión importante.
ExitVentana comprime, sube 8 a 12px, blur 4 a 6px y deja el foco en la acción siguiente.
// Next.js + GSAP + ScrollTrigger + SplitText + Lenis
const split = new SplitText("[data-ai-title]", { type: "chars,words" });
const tl = gsap.timeline({ defaults: { ease: "power3.out" } });

tl.from(split.chars, {
  y: 14,
  opacity: 0,
  filter: "blur(6px)",
  stagger: 0.018,
  duration: 0.42
})
.from("[data-agent-card]", {
  y: 18,
  opacity: 0,
  scale: 0.98,
  stagger: 0.08,
  duration: 0.5
}, "-=0.2")
.to("[data-modal]", {
  y: -10,
  opacity: 0,
  scale: 0.985,
  filter: "blur(6px)",
  duration: 0.18
}, "+=1.2");

ScrollTrigger.create({
  trigger: "[data-ai-motion-section]",
  start: "top 72%",
  animation: tl
});
Cognitive presence

Wiwo Thinking Orb

El orb es la señal propia de Wiwo para decir que una plataforma o IA está pensando. No es un loader ni un spinner: es una presencia viva, premium y optimista que respira, razona, genera y vuelve a la calma.

Thinking Gradiente activo, núcleo encendido, halo profundo y partículas discretas.
Simple por fuera, brutal por dentro. Debe sentirse como inteligencia aumentada al servicio de una persona: cálido, sofisticado, nerd y profundamente capaz, sin caer en cyber, robots, circuitos obvios ni neón barato.
Orb states
Estados de pensamiento

Cada estado cambia ritmo, brillo, deformación y dirección del movimiento. El usuario debe sentir que algo inteligente está ocurriendo, sin perder legibilidad ni calma.

Advanced stack
Cómo construirlo en plataformas Wiwo

El orb puede vivir en CSS para producto liviano, Rive para estados vectoriales exportables o Three.js / React Three Fiber cuando se necesita profundidad real, shaders y escenas tipo WiwoSurface.

  • GSAP + SplitTextSincroniza cambio de estado, texto animado y salida de respuestas con timelines precisos.
  • ScrollTrigger + LenisActiva el orb con scrub, pinning y scroll suave en demos, onboarding o presentaciones.
  • RiveIdeal para estados pequeños, botones IA, micro loaders y componentes exportables entre producto y marketing.
  • Three.js / React Three FiberUsar para orbs grandes, escenas inmersivas, shaders, refracción, partículas y profundidad real.
Usage rules
Tamaños, contexto y restricciones

El orb reemplaza esperas genéricas en propuestas, análisis, contenido, reporterías, automatizaciones, chat, insights y módulos agentic. Debe verse caro, no decorativo.

Small24 a 32 px, botones y microestados.
Medium48 a 72 px, cards, inputs y respuestas inline.
Large120 a 240 px, generación completa y onboarding.
No spinner.Evitar círculos giratorios, barras técnicas y estados genéricos de carga.
No IA obvia.No cerebros, robots, chips, circuitos literales ni ondas de audio.
No futuro frío.No cyberpunk, hacker, Matrix, gamer, crypto pesado ni neón excesivo.
Sí reduced motion.Congelar rotación, mantener respiración mínima y comunicar estado con copy.

Liquid glass para Wiwo

Capas con blur, brillo, borde translúcido y refracción suave para experiencias IA, docks, command palettes y overlays de alto foco.

Neo glass
92% Decisión clarity con una capa viva sobre el gradiente Wiwo.
Glass mode blur 22px, saturación alta, stroke claro.
22pxBackdrop blur
42%Stroke claro
0.24Fill alpha
Command palette glass Overlay para acciones rápidas sin perder contexto visual.
Activar ruta IAReordena brief, audiencia y próxima acción.
Enter
Convertir en capaUsa glass solo donde hay profundidad útil.
G

Launch control

Ejemplo de interfaz operativa con tokens Wiwo.

84%Brief clarity
12Assets listos
3Bloqueos
AIModo copiloto
Retail launch En progreso
Audience map Revisión
Creative routes Listo
04 Motion & IA

El sistema debe sentirse vivo.

Animaciones, preloaders, bots, orbes y stack técnico se documentan como comportamiento de producto.

Preloaders

Los preloaders de Wiwo no son mensajes tecnicos de carga. Son una extensión de la personalidad del producto: hacen que la espera se sienta activa, inteligente y de marca.

Traduciendo brief ambiguo... Microcopy vivo + icono de marca + gradiente en movimiento.
Wiwo

Wordmark para cargas de marca, exports, entregables y experiencias premium.

Círculos gradiente para estados compactos, dashboards, tablas y acciones inline.

Waiting as brand

La espera también comunica.

En vez de decir "Cargando..." o "Procesando...", Wiwo convierte la espera en una experiencia de marca: humor de industria, ironía inteligente, lenguaje operativo y señales reales del trabajo que el sistema está resolviendo.

Regla madre Si el sistema está trabajando, el usuario debe sentir que algo útil, creativo y concreto está pasando.

Humanizar procesos complejos

Transforman tareas técnicas en acciones comprensibles y cercanas.

  • Construyendo estrategia de marca...
  • Detectando oportunidades ocultas...
  • Ajustando narrativa de marca...

Reirse de los dolores

Humor interno de marketing, diseño, publicidad y ventas.

  • Agregando más logos al PPT...
  • Esperando feedback eterno...
  • Traduciendo brief ambiguo...

Mostrar trabajo invisible

Hacen visible lo que la plataforma resuelve automáticamente.

  • Recalculando jerarquía...
  • Optimizando para cada canal...
  • Cerrando loops eternos...

Generar expectativa positiva

La espera se convierte en anticipación, no fricción.

  • Preparando algo bueno...
  • Vale la pena...
  • Haciendo magia sin drama...

Reforzar valor Wiwo

Cada mensaje recuerda que Wiwo convierte tecnología en impacto.

  • Haciendo que marketing venda...
  • Transformando datos en acción...
  • Quitando sufrimiento manual...

Estructura

Ícono primero: wordmark Wiwo para momentos de marca o tres círculos para estados compactos. Nunca loader genérico sin personalidad.

Movimiento

Gradiente verde/azul, pulso suave, dots en wave, barra indeterminada o wordmark respirando. Duración base: 900ms a 2400ms.

Texto animado

El mensaje cambia cada 1.6 a 2.4 segundos. Evitar repetir una sola frase o estados fríos como "Procesando...".

Tono

Mezcla operativo + humor profesional + cultura creativa. Irreverente, pero nunca burlesco con el usuario.

Accesibilidad

Respetar reduced motion. Usar aria live polite si el texto informa progreso real; decorativo si solo entretiene.

Biblioteca de mensajes

Mensajes cortos, rotativos y con sabor de industria. Se pueden mezclar por contexto: marketing, diseño, datos, ventas, producción, exportacion o IA.

Industria y humor

  • Buscando el "hagámoslo viral"...
  • Agregando más logos al PPT...
  • Esperando feedback eterno...
  • Ajustando el logo más grande...
  • Evitando archivos_final_v12_OK_final.psd...
  • Traduciendo feedback confuso...
  • Haciendo una versión más...
  • Bajando el brief del Olimpo...

Trabajo invisible

  • Recalculando jerarquía...
  • Priorizando elementos clave...
  • Optimizando para cada canal...
  • Ajustando lo que no entraba...
  • Tomando decisiones de diseño...
  • Cerrando loops eternos...
  • Reorganizando elementos...
  • Preservando intención creativa...

Expectativa positiva

  • Preparando algo bueno...
  • Vale la pena...
  • Ya casi...
  • Esto se ve bien...
  • Terminando detalles...
  • Haciendo magia sin drama...
  • No te muevas...
  • Un segundo...

Valor Wiwo

  • Haciendo que marketing venda...
  • Transformando awareness en ventas...
  • Reemplazando PowerPoint por resultados...
  • Eliminando humo...
  • Transformando datos en acción...
  • Quitando sufrimiento manual...
  • Reemplazando excusas por resultados...
  • Haciendo el trabajo pesado...

Diseño y resize

  • Analizando imagen...
  • Detectando proporciones...
  • Reescalando contenido...
  • Adaptando a nuevos tamaños...
  • Reencuadrando visual...
  • Evitando que el logo se corte...
  • Salvando la composición...
  • Estirando sin romper...

Marketing, ventas y datos

  • Construyendo estrategia de marca...
  • Detectando oportunidades ocultas...
  • Creando campañas que sí convierten...
  • Activando audiencias correctas...
  • Calificando leads...
  • Optimizando pipeline...
  • Analizando patrones...
  • Construyendo dashboards...

HTML base

Usar wordmark o dots. El texto vive en un nodo único para poder rotarlo sin layout shift.

<div class="wiwo-preloader" role="status" aria-live="polite">
  <img src="/logos/wiwo-beige.png" alt="Wiwo" />
  <div class="wiwo-loader-orbit" aria-hidden="true"></div>
  <p data-loader-message>Traduciendo brief ambiguo...</p>
</div>

Banco JS

Rotación simple. En producto, filtrar por contexto: export, IA, resize, datos, ventas o espera general.

const messages = [
  "Buscando el \"hagámoslo viral\"...",
  "Recalculando jerarquía...",
  "Transformando datos en acción...",
  "Haciendo magia sin drama..."
];

setInterval(() => {
  message.textContent = messages[index++ % messages.length];
}, 1900);

Iconografía

Lucide Icons es la biblioteca base para producto digital Wiwo: SVG livianos, minimalistas, consistentes, personalizables y listos para React, Next.js, Tailwind y shadcn/ui.

Lucide como default de producto.

Usar Lucide para dashboards, SaaS, landing pages, apps, botones, menús, estados y acciones. El documento también está construido con Lucide inline para ser su propio mejor ejemplo.

1.700+ íconos SVG 24px grid stroke 2px
Search
Dashboard
Sparkles
Bot
Edit
Bell
Wand
Arrow

Stroke consistente

Base 2px. Usa 1.75 para UI editorial o 2.25 para acciones primarias, sin mezclar pesos dentro del mismo componente.

Grid 24px

Botones 18 a 20px, nav 20px, cards 24px, hero o empty states 32 a 40px con absoluteStrokeWidth.

Color por contexto

Hereda currentColor. Azul para navegación/foco, verde para acción, #292929 para controles sobrios y beige solo sobre fondos profundos.

Accesibilidad

Iconos decorativos con aria hidden. Icon buttons con aria label. Acciones importantes siempre con texto visible.

Producto / SaaS

Interfaces de trabajo, dashboards, CRM, tablas, búsqueda y configuración.

LayoutDashboard Search SquarePen

IA / Launch

Momentos de magia controlada: automatización, copiloto, sugerencias y activaciones.

Sparkles Bot WandSparkles

Estado / Feedback

Confirmaciones, alertas, estados vivos y microinteracciones de producto.

Check Bell TriangleAlert

Next.js / React

Importa solo lo que se usa. Lucide trabaja bien con React Server Components cuando el icono no necesita estado.

npm install lucide-react

import { Search, LayoutDashboard, Sparkles } from "lucide-react";

export function WiwoAction() {
  return (
    <button className="wiwo-button-primary">
      <Sparkles size={20} strokeWidth={2} aria-hidden="true" />
      Activar flujo
    </button>
  );
}

Tailwind / shadcn

Usa clases de tamaño estables y color por currentColor. No fijar colores inline salvo íconos de estado.

import { Rocket, Search } from "lucide-react";
import { Button } from "@/components/ui/button";

<Button className="gap-2 bg-[#3bff00] text-[#292929]">
  <Rocket className="size-4" strokeWidth={2} aria-hidden="true" />
  Lanzar
</Button>

<Search className="size-5 text-[#4242ff]" strokeWidth={2} />
Contexto Usar Regla
Producto digital Wiwo Lucide Icons Default para dashboards, apps, SaaS, landing pages y shadcn/ui.
Producto nuevo Lucide inline SVG con currentColor, stroke 2px y sizing por tokens. No usar icon fonts.
Marca o assets custom SVG propio Solo logos, marcas, ilustraciones o íconos que Lucide no resuelva con claridad.

Stack motion

Para experiencias Wiwo de alto impacto: Next.js como base, GSAP para motion fino, Lenis para scroll, Rive para vectores interactivos y Three.js / React Three Fiber cuando el caso pide 3D real.

Build con movimiento.

El sistema no se implementa como plantilla plana. Cada sitio, campaña o producto debe elegir una capa motion según el efecto que necesita generar.

Next.js App Router GSAP ScrollTrigger SplitText Lenis Rive Three.js / R3F
wiwo.
GSAP Lenis Rive Three.js
Scroll

GSAP + ScrollTrigger

Para pinning, scrub, snap, parallax y transiciones ligadas al scroll con control fino. Es la capa pro para marca, campañas y heroes expresivos.

pin scrub snap
Texto

SplitText

Para titulares que aparecen por línea, palabra o carácter. Ideal en hero sections, manifiestos y bloques editoriales con precisión de motion design.

lines words stagger
Scroll feel

Lenis

Para scroll suave, sincronizado con ScrollTrigger y escenas WebGL. Se usa cuando el sitio necesita sensación premium, no por defecto en herramientas densas.

smooth raf sync parallax
Vector

Rive

Para logos vivos, loaders, botones con estado, ilustraciones UI y microinteracciones con state machines. Debe sentirse producto, no video decorativo.

state machine canvas runtime
3D

Three.js / React Three Fiber

Para WebGL, shaders, partículas, productos flotando, espacios inmersivos y escenas tipo keynote. React Three Fiber se usa cuando el 3D vive dentro de React.

WebGL shaders R3F
1. Tokens
Color, tipo, glass, radios y easing antes de animar.
2. Layout
Secciones en Next, motion solo en client components.
3. Motion
GSAP para revelar, ordenar y conectar scroll.
4. Interacción
Rive para vectores; Three/R3F para escenas 3D.
5. QA
Reduce motion, performance, responsive y foco visible.
Caso Stack Criterio
Hero editorial GSAP + SplitText + Lenis Titulares por línea, entrada precisa y scroll con sensación premium.
Scroll storytelling ScrollTrigger Pin, scrub, snap, parallax y estados que cambian al avanzar.
Microinteracción vectorial Rive Iconos, loaders, botones, mascota de producto o feedback con state machine.
Producto o espacio 3D Three.js / React Three Fiber Objeto flotante, partículas, shaders, canvas interactivo o WiwoSurface.
Dashboard operativo Next.js + CSS motion Animación breve para estados; nada que estorbe el trabajo repetitivo.

Instalacion base

Crear el proyecto en Next.js y agregar solo las capas que el caso necesite. Rive y Three deben cargarse diferido si no son primera pantalla.

npx create-next-app@latest wiwo-surface --ts --app
cd wiwo-surface
npm install lucide-react gsap @gsap/react lenis @rive-app/react-canvas three @react-three/fiber @react-three/drei

MotionShell client

Plantilla para sincronizar Lenis con ScrollTrigger y dejar SplitText dentro de un scope controlado.

"use client";

import gsap from "gsap";
import { useGSAP } from "@gsap/react";
import { ScrollTrigger } from "gsap/ScrollTrigger";
import { SplitText } from "gsap/SplitText";
import Lenis from "lenis";

gsap.registerPlugin(useGSAP, ScrollTrigger, SplitText);

export function MotionShell() {
  useGSAP(() => {
    if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;

    const lenis = new Lenis({ lerp: 0.08 });
    const tick = (time) => lenis.raf(time * 1000);
    lenis.on("scroll", ScrollTrigger.update);
    gsap.ticker.add(tick);
    gsap.ticker.lagSmoothing(0);

    const split = SplitText.create("[data-split]", { type: "lines,words", mask: "lines" });

    gsap.from(split.words, {
      yPercent: 110,
      opacity: 0,
      stagger: 0.018,
      duration: 0.72,
      ease: "power3.out",
      scrollTrigger: { trigger: "[data-split]", start: "top 78%" }
    });

    return () => {
      gsap.ticker.remove(tick);
      lenis.destroy();
    };
  });

  return null;
}

Reglas de implementación

  • Motion con propósito. Revela jerarquía, confirma acción o conecta una historia. Si solo adorna, sale.
  • Client boundary limpio. GSAP, Rive y Three viven en componentes client; contenido y data pueden seguir en server components.
  • Lenis sincronizado. Si hay smooth scroll, conecta RAF con ScrollTrigger y prueba pinning, anchors y teclado.
  • 3D solo cuando aporta. Three.js / R3F se usa para escenas, producto, partículas o shaders. Para íconos y estados, Rive.
  • Accesibilidad primero. Respeta reduced motion, evita texto ilegible durante animaciones y mantiene foco visible.

Motion specs

Instrucciones avanzadas para que Wiwo se sienta como experiencia de marca premium: microinteracciones, scroll cinematográfico, texto preciso, vectores vivos y 3D solo cuando aporta.

Motion con sistema.

La animación se diseña como arquitectura: timeline, triggers, estados, performance y salida accesible. No son adornos; son feedback, jerarquía y dirección.

160msmicro feedback 0.72sreveal editorial 60fpscanvas / WebGL
ScrollTrigger scrub Pin + progress + parallax sincronizado.
SplitText stagger mask lines words
Hover
Loading
Success
GSAP

Microinteracciones

Usa timelines cortos para hover, press, success, menú y cards. El movimiento debe responder al input con magnetismo suave, spotlight y retorno elástico.

pointer spotlight spring
ScrollTrigger

Scroll narrativo

Para piezas de marca: usa `pin`, `scrub`, `snap`, timeline maestro y labels. Cada bloque debe tener una razón narrativa para quedarse fijo.

pin scrub labels
SplitText

Texto de precisión

Usa SplitText para líneas/palabras con mask. Recalcula split en resize, foco en legibilidad y fallback sin animación cuando reduced motion esté activo.

mask stagger resize
Rive

State machines UI

Rive entra cuando necesitas vectores con estados: idle, hover, loading, success, error. Ideal para logo vivo, íconos de producto y loaders con input real.

inputs states canvas
Three/R3F

WebGL expresivo

Three.js / R3F solo para escenas inmersivas, shaders, partículas o producto 3D. Si es decoración plana, usa CSS/GSAP; si es espacio, usa WebGL.

shader particles scene
Patrón Librería Implementación Duración
Hero reveal GSAP + SplitText Split por lines/words, mask, stagger 0.018, ease power3, imagen con parallax leve. 0.72s
Scroll story ScrollTrigger + Lenis Timeline con labels, `pin: true`, `scrub: 0.8`, refresh en resize y anchors testeados. scroll
Card magnetic GSAP Pointer tracking, rotateX/rotateY menor a 4deg, spotlight radial y retorno a cero. 160ms
Loader vivo Rive State machine con inputs `isLoading`, `isSuccess`, `hasError`; fallback SVG estático. loop
WiwoSurface R3F + Drei Canvas dinámico, shader de superficie, particles instanced, DPR limitado y lazy loading. 60fps

GSAP timeline pro

Patrón base para hero, SplitText, ScrollTrigger y Lenis sincronizado en Next.js.

"use client";

import gsap from "gsap";
import { useGSAP } from "@gsap/react";
import { ScrollTrigger } from "gsap/ScrollTrigger";
import { SplitText } from "gsap/SplitText";
import Lenis from "lenis";

gsap.registerPlugin(useGSAP, ScrollTrigger, SplitText);

export function WiwoMotionPage() {
  useGSAP(() => {
    const reduce = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
    if (reduce) return;

    const lenis = new Lenis({ lerp: 0.08, smoothWheel: true });
    const raf = (time) => lenis.raf(time * 1000);
    lenis.on("scroll", ScrollTrigger.update);
    gsap.ticker.add(raf);
    gsap.ticker.lagSmoothing(0);

    const split = SplitText.create("[data-hero-title]", {
      type: "lines,words",
      mask: "lines",
      autoSplit: true
    });

    const tl = gsap.timeline({
      defaults: { ease: "power3.out" },
      scrollTrigger: {
        trigger: "[data-motion-hero]",
        start: "top 78%",
        end: "bottom 20%",
        scrub: 0.8
      }
    });

    tl.from(split.words, { yPercent: 110, opacity: 0, stagger: 0.018, duration: 0.72 })
      .from("[data-motion-card]", { y: 42, opacity: 0, stagger: 0.08, duration: 0.6 }, "-=0.35")
      .to("[data-parallax]", { yPercent: -12, ease: "none" }, 0);

    return () => {
      split.revert();
      gsap.ticker.remove(raf);
      lenis.destroy();
    };
  });

  return null;
}

Rive + Three según caso

Rive para estados vectoriales; R3F cuando la experiencia necesita canvas 3D real.

// Rive: UI state machine
import { useRive, useStateMachineInput } from "@rive-app/react-canvas";

export function WiwoRiveButton() {
  const { RiveComponent, rive } = useRive({
    src: "/rive/wiwo-button.riv",
    stateMachines: "Button",
    autoplay: true
  });

  const hover = useStateMachineInput(rive, "Button", "isHover");
  return <button onPointerEnter={() => hover.value = true} onPointerLeave={() => hover.value = false}><RiveComponent /></button>;
}

// React Three Fiber: WiwoSurface scene
import { Canvas, useFrame } from "@react-three/fiber";
import { Float, Environment } from "@react-three/drei";

export function WiwoSurface() {
  return (
    <Canvas dpr={[1, 1.5]} camera={{ position: [0, 0, 5], fov: 38 }}>
      <Environment preset="city" />
      <Float speed={1.2} rotationIntensity={0.35} floatIntensity={0.6}>
        <mesh>
          <torusKnotGeometry args={[1, 0.28, 180, 24]} />
          <WiwoSurfaceShader color="#4242ff" glow="#3bff00" intensity={0.22} roughness={0.38} />
        </mesh>
      </Float>
    </Canvas>
  );
}

Patrones

Reglas para que el sistema sirva tanto en landings como en dashboards, documentos, decks y herramientas internas.

Grilla maestra

Todo layout estratégico parte de 12 columnas en desktop. Las composiciones permitidas son 3/9, 4/8, 5/7 y 6/6; cualquier otro split debe responder a una necesidad funcional clara.

  • Desktop: 12 columnas con gutter --space-5.
  • Tablet: mantiene proporción hasta que el contenido pida colapso.
  • Mobile: una columna visual y navegación compacta.
  • Cards: auto-fit + minmax(260px, 1fr).

Medidas de lectura

La tipografía no se controla solo por tamaño: también por ancho de línea. Estos tokens evitan títulos cortados, párrafos eternos y UI apretada.

  • --measure-display: 12ch para titulares.
  • --measure-lead: 36ch para bajadas.
  • --measure-body: 62ch para lectura larga.
  • No forzar cortes con guiones manuales.

Layout editorial

Usar cuando Wiwo explica una idea: casos, reportes, pensamiento, manifiestos y piezas para LinkedIn.

  • Titular de 8 a 12 palabras máximo.
  • Grilla de 12 columnas en desktop, 4 en mobile.
  • Imagen o arte como evidencia, no como relleno.
  • Chips solo para categoría, fecha o estado.

Layout operativo

Usar cuando el usuario viene a trabajar: CRM, automatizaciones, brief builder, tableros y sistemas de seguimiento.

  • Navegación persistente y densa.
  • Acción primaria siempre visible arriba o abajo.
  • Estados con texto, icono y color.
  • Evitar secciones hero si la tarea es repetitiva.
05 Implementación

Reglas listas para construir.

Instrucciones, CSS base y archivos generados para que diseño, frontend y Figma trabajen desde el mismo origen.

Instrucciones

Cómo aplicar el sistema sin romper la marca ni convertirlo en una copia literal de ningún lenguaje externo.

  1. Parte por tokens. Define color, tipografía, radio, spacing y motion antes de dibujar pantallas. Si una decisión no cabe en tokens, probablemente es una excepción de campaña.
  2. Tokens como código. Cambia valores en tokens/wiwo.tokens.json y ejecuta npm run build:tokens. CSS, Tailwind y variables Figma son outputs, no fuente editorial.
  3. Dark mode es sistema. Usa body[data-theme="dark"] para invertir --surface, --ink, --line y contenedores. No crees cards oscuras aisladas si el producto completo necesita modo nocturno.
  4. Elige el modo. Editorial para contar, operativo para ejecutar. No mezcles un hero gigante dentro de una herramienta de trabajo.
  5. Usa tácticas Wiwo Expressive. Aumenta jerarquía con tamaño, forma, contención tonal, grupos conectados y motion. No dependas solo del color.
  6. Usa fotos como evidencia de futuro optimista. Prioriza escenas Wiwo con personas, producto visible, interiores beige y acentos verde/azul integrados. No usar cyber city, cyborgs, sci-fi frío ni tecnología lejana: el futuro debe verse lindo, humano y realista.
  7. Lucide es la biblioteca de íconos base. Importa desde lucide react, usa SVG con currentColor, stroke 2px, tamaños 18/20/24/32 y aria label solo cuando el ícono sea el único contenido del control.
  8. Controla contraste. Usa la tabla de pares aprobados: verde solo con #292929, azul con blanco o beige, y gradientes solo con overlay, glass o contenedor estable.
  9. Anima por significado. Motion para confirmar, ordenar, revelar o guiar. Duración recomendada: 160ms micro, 280ms paneles, 420ms transiciones expresivas.
  10. Accesibilidad como estilo. Implementa :focus-visible, labels persistentes, aria-invalid con texto específico y estados disabled/loading/error que se entiendan sin depender del color.

CSS base

Snippet de consumo. Los valores salen de tokens/wiwo.tokens.json y se importan desde el CSS generado.

/* 1. Source of truth */
/* Editar: outputs/tokens/wiwo.tokens.json */

/* 2. Build */
/* npm run build:tokens */

/* 3. Consumo web */
@import "./tokens/wiwo.tokens.css";

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
  box-shadow: 0 0 0 7px var(--focus-glow);
}

.wiwo-button-primary {
  min-height: 48px;
  border-radius: var(--radius-control);
  border: 1px solid var(--wiwo-green);
  background: var(--wiwo-green);
  color: var(--on-accent);
  font-family: var(--font-system);
  font-size: 1rem;
  font-weight: var(--weight-action);
}

.wiwo-button-primary:disabled,
.wiwo-input:disabled {
  cursor: not-allowed;
  opacity: var(--disabled-opacity);
}

.wiwo-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  color: var(--ink);
  padding: 24px;
}

.wiwo-gradient-band {
  min-height: 96px;
  border-radius: var(--radius-card);
  background: var(--wiwo-gradient-primary);
}

.wiwo-icon {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  color: currentColor;
  stroke-width: var(--icon-stroke);
}

.wiwo-input {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
}

.wiwo-input[aria-invalid="true"] {
  border-color: var(--error);
  background: var(--error-soft);
}

.wiwo-connected-group {
  display: inline-flex;
  border-radius: var(--shape-full);
  overflow: hidden;
  background: var(--surface-container);
}

.wiwo-connected-group button {
  min-height: 52px;
  padding: 0 16px;
  border: 0;
  background: transparent;
  transition: border-radius var(--motion-medium), background var(--motion-fast);
}