Design System · v1.0 · may 2026
Tokens, componentes, patrones y reglas para construir cualquier touchpoint de Nostalgic: emails, landings, ads, social, packaging. Extraídos directamente del theme Shopify live (WORK-2026-05). Fuente única de verdad.
El sustrato. Antes de tocar componentes, estos tokens son la verdad operativa. Cualquier desviación tiene que justificarse (drop especial, colab, etc.) y volver al norte.
Nueve tokens troncales que componen el 90% de la superficie de marca. El resto son variaciones operativas (badges, overlays, secciones puntuales).
--nos-bg · #ffffff--nos-cream · #edebe7--nos-ink · #030302--nos-deep · #000000--nos-accent · #2e4aa3--nos-accent-deep · #1f3677--nos-alert · #d91d1d--nos-success · #1fba54El theme define 12 schemes nombrados. Estos son los 7 troncales + 5 variantes con UUIDs. Cada scheme define background, foreground, primary button, secondary, input, variant. Aquí mostramos el preview de los 7 troncales.
Los schemes 8-12 son variantes con UUIDs usadas en secciones específicas (mismas variables base). El theme también incluye colores edge: #924a62 (rosa hover), #000f9f (azul marino borde).
Familia única: Geist (Vercel). Sans-serif moderna, geométrica, neutral pero con carácter sutil. Cinco pesos cubren toda la jerarquía. Geist Mono para eyebrow / código / "track marks". Cero serifs, cero italic display.
<em> y <blockquote> como modulación de énfasis. Nunca como estilo display.--nos-ink para principal, --nos-ink-soft para secundario, --nos-ink-muted para captions.Sistema base 4px. El theme usa gaps pequeños (xs 8px → xl 20px) para alta densidad. Las escalas grandes (32-80px) se reservan para márgenes verticales entre bloques.
--nos-space-14px--nos-space-28px--nos-space-312px--nos-space-416px--nos-space-520px--nos-space-624px--nos-space-832px--nos-space-1040px--nos-space-1248px--nos-space-1664px--nos-space-2080px
--nos-gap-xs 8px (0.5rem) · interior cards densas
--nos-gap-sm 11px (0.7rem) · grids producto
--nos-gap-md 14px (0.9rem) · default · cards content
--nos-gap-lg 16px (1rem) · separación bloques
--nos-gap-xl 20px (1.25rem) · respiración mayor
La marca tiene un perfil "casi brutalist": esquinas duras o muy poco redondeadas (0-2px). Excepción: variant swatches (círculos perfectos) y pills (radius alto). Los inputs y popovers tienen 8px, una concesión a la usabilidad.
0px2px8px100px100%0px (square)Tres sombras del theme. Uso mínimo: brutalist no abusa de drop-shadow. Sombras solo para elevación funcional (popovers, hover de cards).
Tres velocidades. Hover de cards = lift 4px o scale 1.03. Transiciones siempre ease-out. Sin bouncing, sin sobreanimación.
--nos-transition-fast · 150ms ease-out · estados de input, hover de pills--nos-transition-default · 250ms ease-out · cards, buttons, navegación--nos-transition-slow · 400ms ease-out · transformaciones grandes, modales--nos-hover-lift · 4px translateY arriba en hover de cards--nos-hover-scale · 1.03 scale alternativo en hover de productosComponentes que el sistema reconoce. Pueden recombinarse pero no editarse sin pasar por mantenedor del DS.
<a class="btn primary">Shop</a>
<a class="btn secondary">See the drop</a>
<a class="btn variant">M</a>
<a class="btn variant-selected">L</a>
Marca el inicio de un capítulo, sección, email o drop. Geist Mono · 11-12px · uppercase · letter-spacing 0.18em · color --nos-accent · prefijo ▸.
Geist body 14px · padding 12/14 · radius 8px · background warm-cream con opacidad · border --nos-warm-border.
Doble franja azul + rojo (6px). Recurrente arriba de header / encima de footer / arriba y abajo de arcade. Es el equivalente visual del wordmark.
"Don't grow up, it's a trap. Growing up was a scam. We've been telling you for years."
Wash cold inside out. Dry low. Iron inverted. Avoid bleach.
— care guide as changelog
Regla josé (v0.5): componente reservado a piezas que ya referencien recreativas (drop temático gaming, banner con joystick, packaging especial). "INSERT COIN", "GAME OVER?", "PRESS START" NO entran en copy recurrente — el componente existe, su léxico no es léxico común.
Tres tees con thematic arcade · tonight 23:00 CET
Componentes ensamblados en bloques que aparecen repetidamente. Estos sí se pueden replicar como están.
Bordes negros 1px en los 4 lados de cada card, gap 0 (cards adyacentes comparten línea), aspect 4/5 portrait, fondo transparente (hereda del page bg), object-fit contain con padding generoso, título y precio en Geist 400 13px ink-soft.





Welcome. Press start when you're ready — your first 10% drops at 11:00 pm sharp. No countdown, no rush. We're here all night.
▸ See the dropThe therapy your mom won't pay for. €24,90. Cropped y standard, ambos viven.
Shop the dropLockup horizontal único (mayo 2026). Pendiente F7: monograma, variantes social square, vertical.




Set de iconos del theme. Stroke fino (1.5px), estilo geométrico minimal, coherente con Geist sans. Cuando se necesite un icono nuevo, mantener mismo grosor y estilo.
SVGs disponibles en nostalgic-design-system/assets/icon-*.svg. Versión completa del theme en /tmp/nostalgic-theme/assets/.
Lo que NO es Nostalgic. Si detectas alguno de estos en una pieza, devuélvela.
Tres formas de usar este sistema desde tu proyecto.
<link rel="stylesheet" href="https://.../nostalgic/tokens.css">
/* o si lo copias local */
@import url('./nostalgic/tokens.css');
/* Después usa las variables */
.headline {
font-family: var(--nos-font-display);
font-weight: var(--nos-weight-semibold);
color: var(--nos-ink);
}
// Style Dictionary, Figma Tokens, design tooling
import tokens from './nostalgic/tokens.json';
const accentColor = tokens.color.accent.$value; // "#2e4aa3"
const h1Size = tokens.typography.size.h1; // "72px"
Los componentes mostrados en §02 viven en este mismo HTML. Para reusar: copia el bloque relevante + asegúrate de importar tokens.css. No necesitas framework.
/Desktop/nostalgic-design-system/
├── index.html ← este documento (visual reference)
├── tokens.css ← variables CSS reutilizables
├── tokens.json ← tokens como JSON (tooling)
├── README.md ← guía de uso
└── assets/
├── logo.png
├── logo-white.png
├── favicon.png
└── icon-*.svg ← set completo de iconos
Este DS se regenera desde el theme live de Shopify. Si la marca cambia algo en Shopify (color scheme, fuente, radius), hay que volver a hacer el pull y actualizar este DS. Owner: Adrian / Claude.