Design System · v1.0 · may 2026

The system that
doesn't grow up.

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.

tokenstokens.css · tokens.json fuentetheme live shopify extraído2026-05-18 versión1.0.0 mantenedoradrian / claude

§01Foundations

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.

§01.1Color · troncales

Nueve tokens troncales que componen el 90% de la superficie de marca. El resto son variaciones operativas (badges, overlays, secciones puntuales).

bg--nos-bg · #ffffff
cream--nos-cream · #edebe7
ink--nos-ink · #030302
deep--nos-deep · #000000
accent--nos-accent · #2e4aa3
accent-deep--nos-accent-deep · #1f3677
alert--nos-alert · #d91d1d
success--nos-success · #1fba54

Reglas de uso

12 color schemes · del theme live

El 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.

scheme 1 Default light Shop
defaultbg #fff · fg #030302
scheme 2 Warm cream Shop
creambg #edebe7
scheme 3 Azul profundo Shop
brand bluebg #2e4aa3
scheme 4 Rojo signature Shop
alertbg #fff · fg #d91d1d
scheme 5 Dark mode Shop
darkbg #030302
scheme 6 Overlay foto Shop
overlaybg transparente
scheme 7 Sad badge Shop
specificbtn gris · borde #000f9f
promo Promo verde Use
promobg #1fba54

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).

§01.2Typography · Geist

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.

H1 · display72px / 600 / -0.04em
line-height 0.94
Built for late nights.
H2 · section32px / 600 / -0.02em
line-height 1.1
No cookies, just trauma.
H3 · subsection24px / 600 / -0.01em
Episode 04 · game over?
H4 · card14px / 500
Welcome to the late-night club
H6 · eyebrow12px / 500 / 0.18em
uppercase · Geist Mono
▸ EPISODE 01 · 11:00 PM
body16px / 400 / -0.005em
line-height 1.5
Apparel para la generación que procesa emociones tarde. Referencias 80s-90s-Y2K. Humor honesto. Melancolía suave. Precios accesibles, alma no.
caption13px / 400
Algodón GOTS, 180 gsm, prelavado. Importa pero no es el gancho.
xs · meta11px / 500 / 0.14em
uppercase · Mono
PEDIDO #32831 · 2026-05-11

Reglas de uso

§01.3Spacing

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

Gaps del theme

--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

§01.4Border Radius · brutalist con guiños

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.

none0px
btn / card2px
input / popover8px
pill100px
variant swatch100%
btn secondary0px (square)

§01.5Shadow

Tres sombras del theme. Uso mínimo: brutalist no abusa de drop-shadow. Sombras solo para elevación funcional (popovers, hover de cards).

noneflat default · no shadow
button0 2px 3px rgba(0,0,0,.20)
popover0 4px 20px rgba(0,0,0,.15)

§01.6Motion

Tres velocidades. Hover de cards = lift 4px o scale 1.03. Transiciones siempre ease-out. Sin bouncing, sin sobreanimación.

§02Components

Componentes que el sistema reconoce. Pueden recombinarse pero no editarse sin pasar por mantenedor del DS.

2.1 Buttons

Shop See the drop M L
<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>

2.2 Pills · etiquetas no-CTA

late night club game over? patch notes episode 01 SALE

2.3 Badges

SALE BFCM NEW

2.4 Eyebrow / episode marker

episode 04 · game over? · 3:00 am

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 .

2.5 Input

Geist body 14px · padding 12/14 · radius 8px · background warm-cream con opacidad · border --nos-warm-border.

2.6 Stripe · signature visual

Doble franja azul + rojo (6px). Recurrente arriba de header / encima de footer / arriba y abajo de arcade. Es el equivalente visual del wordmark.

2.7 Quote / blockquote

"Don't grow up, it's a trap. Growing up was a scam. We've been telling you for years."

2.8 Card

v1.0 · patch notes

Wash cold inside out. Dry low. Iron inverted. Avoid bleach.

— care guide as changelog

2.9 KPI block

455
orders / mes
€20,8K
revenue / mes
€45,63
aov
+36%
vs mes prev

2.10 Manifesto block

  1. Don't grow up, it's a trap.
  2. Growing up was a scam.
  3. Built for late nights & analog dreams.
  4. Life is not a race.

2.11 Arcade callback box · uso visual puntual

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.

▸ DROP 04 · JOYSTICK SERIES ◂

Tres tees con thematic arcade · tonight 23:00 CET

2.12 Do / Don't split

sí decimos

  • "Don't grow up, it's a trap"
  • "You just joined the late-night club"
  • "Press start when you're ready"

no decimos

  • "Be your best self"
  • "Hey bestie!! 💕"
  • "Don't miss out!"

§03Patterns · composiciones

Componentes ensamblados en bloques que aparecen repetidamente. Estos sí se pueden replicar como están.

3.1 Product grid · idéntico a la web real

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.

No cookies, just trauma · Tee

€24,90

Don't grow up, it's a Trap

€24,90

Kame House · OffWhite

€19,90

Mutant Pizza Delivery

€19,90

3.2 Email template

3.3 Hero pattern

drop 02 · may 2026

No cookies,
just trauma.

The therapy your mom won't pay for. €24,90. Cropped y standard, ambos viven.

Shop the drop

3.4 KPI strip

17 flows
emails activos
34/34
envíos OK
+15%
yoy revenue
€19,90
tee entrada

§05Iconography

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.

account
cart
add-to-cart
arrow
caret
checkmark
close
delete
discount
error
external
filter
available
grid
menu
minus

SVGs disponibles en nostalgic-design-system/assets/icon-*.svg. Versión completa del theme en /tmp/nostalgic-theme/assets/.

§06Anti-patterns

Lo que NO es Nostalgic. Si detectas alguno de estos en una pieza, devuélvela.

tipografía

  • Serif editorial (Georgia, Times) en cualquier nivel
  • Italic display
  • Caligrafías cursivas
  • Fuentes script o ornamentales
  • Más de dos familias en una pieza

color

  • Paleta Y2K saturada full-frame (gradientes neon)
  • Tonos pastel rosa / lavanda
  • Verde brand (solo promo puntual)
  • Más de tres colores troncales en una pieza

forma

  • Border-radius > 8px (excepto pills)
  • Drop shadows blandos (blur 20+)
  • Gradientes radiales decorativos
  • Glow effects, dithering como decoración

tono

  • "vibes only" / "live laugh love"
  • Urgencia falsa: "Don't miss out!", countdowns inventados
  • Emoji stickers 🥰😍💕
  • "Hey bestie" / saludo over-friendly
  • Anillo de luz fotográfico, OOTD estudio

§07Export · cómo consumir el DS

Tres formas de usar este sistema desde tu proyecto.

7.1 Importar tokens CSS directamente

<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);
}

7.2 Consumir tokens.json desde tooling

// 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"

7.3 Componentes vivos (HTML/CSS)

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.

7.4 Archivos del sistema

/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

7.5 Mantenimiento

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.