{
  "$schema": "https://design-tokens.github.io/community-group/format/",
  "meta": {
    "brand": "Magoya",
    "version": "1.1",
    "description": "Design tokens oficiales de Magoya — AgTech digital product studio. Fuente de verdad junto a tokens.css y BRAND.md.",
    "updated": "2026-08-04"
  },
  "colorProportion": {
    "rule": "El negro construye, el verde hace crecer. Confirmado por Varu (CEO) el 5 de agosto de 2026 como regla obligatoria en todo lo que se produce, no una guía aproximada.",
    "breakdown": {
      "blancoSage": "52%",
      "negro": "23%",
      "verdeProfundo": "13%",
      "lima": "8%",
      "verdeDigital": "4%"
    },
    "summary": "neutros (blanco+negro) 75%, verde (profundo+lima+digital) 25%"
  },
  "color": {
    "green": {
      "950": {
        "value": "#0C2117",
        "role": "fondo oscuro más profundo"
      },
      "900": {
        "value": "#133825",
        "role": "Verde Magoya oficial — core institucional, overlays, superficies dark",
        "official": true,
        "pantone": "PMS 553 (aprox., por distancia RGB — confirmar contra libro físico)"
      },
      "800": {
        "value": "#1A4A31",
        "role": "superficie elevada sobre dark"
      },
      "700": {
        "value": "#235F40",
        "role": "bordes / hover sobre dark"
      }
    },
    "emerald": {
      "400": {
        "value": "#33E886"
      },
      "500": {
        "value": "#00DE68",
        "role": "Verde digital — wordmark, avatares, micro-acentos. Como texto SOLO sobre fondos oscuros",
        "official": true,
        "pantone": "PMS 3282 (aprox., por distancia RGB — confirmar contra libro físico)"
      },
      "600": {
        "value": "#00B856",
        "role": "hover"
      },
      "700": {
        "value": "#009145",
        "role": "verde texto sobre blanco — SOLO texto grande ≥24px bold (4.1:1)"
      }
    },
    "lime": {
      "300": {
        "value": "#CBF06E",
        "role": "marcador suave editorial"
      },
      "400": {
        "value": "#B6E84F"
      },
      "500": {
        "value": "#A2FF00",
        "role": "Lima energía — CTA, display, motivo. Dosis única por pieza. NUNCA como texto sobre blanco (1.25:1)",
        "official": true,
        "pantone": "PMS 382 2X (aprox., por distancia RGB — confirmar contra libro físico)"
      },
      "600": {
        "value": "#8BDB00",
        "role": "hover de lima"
      }
    },
    "leaf": {
      "note": "Unificado con emerald (verde digital) el 6 de agosto de 2026 — el verde ilustración #33DB4E era demasiado parecido al verde digital #00DE68 para convivir como dos colores distintos. Estos valores quedan como alias por compatibilidad; usar emerald directo en piezas nuevas.",
      "300": {
        "value": "#33E886",
        "alias": "emerald.400"
      },
      "500": {
        "value": "#00DE68",
        "role": "alias de verde digital — ropa de personajes y soporte data-viz",
        "official": true,
        "alias": "emerald.500",
        "pantone": "PMS 3282 (aprox., por distancia RGB — mismo que verde digital, confirmar contra libro físico)"
      },
      "700": {
        "value": "#009145",
        "role": "data-viz oscuro (derivado)",
        "alias": "emerald.700"
      }
    },
    "cream": {
      "50": {
        "value": "#F6F1EB"
      },
      "100": {
        "value": "#ECE3DB",
        "role": "Crema Magoya oficial — neutro cálido, texto sobre verde profundo",
        "official": true,
        "pantone": "PMS Warm Gray 2 (aprox., por distancia RGB — confirmar contra libro físico)"
      },
      "200": {
        "value": "#DCD0C4"
      },
      "300": {
        "value": "#C4B5A6"
      }
    },
    "paper": {
      "50": {
        "value": "#F7F4EF"
      },
      "100": {
        "value": "#F1EDE7",
        "role": "canvas editorial greige"
      },
      "200": {
        "value": "#E6E1D8"
      }
    },
    "sage": {
      "50": {
        "value": "#EEF2EC",
        "role": "superficie sage de módulos de slides",
        "official": true,
        "pantone": "PMS Cool Gray 1 (aprox., por distancia RGB — confirmar contra libro físico)"
      },
      "100": {
        "value": "#E3EAE0"
      },
      "400": {
        "value": "#8FA396",
        "role": "verde grisáceo — texto terciario SOBRE verde profundo (dock, captions dark). NO usar sobre claro"
      }
    },
    "ink": {
      "950": {
        "value": "#0D0C0C",
        "role": "negro logo"
      },
      "900": {
        "value": "#161616",
        "role": "Negro Magoya — texto y titulares, cards dark",
        "official": true,
        "pantone": "PMS Black 5 2X (aprox., por distancia RGB — confirmar contra libro físico)"
      }
    },
    "gray": {
      "800": {
        "value": "#222222"
      },
      "600": {
        "value": "#666666",
        "role": "texto secundario sobre claro"
      },
      "400": {
        "value": "#AAAAAA",
        "role": "solo decorativo — NO texto"
      },
      "300": {
        "value": "#D0D0D0"
      },
      "200": {
        "value": "#DFDFDF",
        "role": "gris ropa de personajes (solo ilustración)"
      },
      "100": {
        "value": "#EFEFEF"
      }
    },
    "peach": {
      "300": {
        "value": "#FFC67B",
        "role": "piel de personajes — SOLO ilustración, nunca UI"
      }
    },
    "white": {
      "value": "#FFFFFF"
    },
    "functional": {
      "info": {
        "value": "#2E7DD1"
      },
      "warning": {
        "value": "#E0A33A"
      },
      "danger": {
        "value": "#D8514E"
      },
      "textSubtleOnLight": {
        "value": "#6E756D",
        "role": "captions sobre claro (4.5:1)"
      },
      "hairline": {
        "value": "#E7E7E2",
        "role": "bordes finos sobre claro"
      },
      "canvasMeta": {
        "value": "#E9E9E5",
        "role": "fondo de páginas-catálogo"
      }
    },
    "illustrationPalette": {
      "description": "Paleta CERRADA de personajes — exactamente estos 5, nada más",
      "values": [
        "#00DE68",
        "#A2FF00",
        "#DFDFDF",
        "#FFC67B",
        "#161616"
      ]
    },
    "usageRatio": {
      "description": "El negro construye, el verde hace crecer. Guía por pieza",
      "whiteSage": 52,
      "black": 23,
      "deepGreen": 13,
      "lime": 8,
      "emerald": 4
    }
  },
  "typography": {
    "family": {
      "primary": {
        "value": "Manrope",
        "source": "assets/font/manrope/Manrope-VariableFont_wght.ttf",
        "weights": "200-800"
      },
      "fallback": {
        "value": "Arial",
        "when": "docs, mails, entornos sin Manrope"
      }
    },
    "scale": {
      "xs": "0.75rem",
      "sm": "0.875rem",
      "base": "1rem",
      "lg": "1.25rem",
      "xl": "1.563rem",
      "2xl": "1.953rem",
      "3xl": "2.441rem",
      "4xl": "3.052rem",
      "5xl": "3.815rem",
      "6xl": "4.768rem",
      "7xl": "5.96rem"
    },
    "slideScale": {
      "description": "Escala del sistema de slides, relativa a slide de 1920px",
      "hero": "126pt",
      "display": "84pt",
      "title": "56pt",
      "subtitle": "42pt"
    },
    "display": {
      "weight": 800,
      "letterSpacing": "-0.03em",
      "lineHeight": 1.05
    },
    "body": {
      "weight": 400,
      "lineHeight": 1.55
    },
    "kicker": {
      "weight": 800,
      "letterSpacing": "0.12em",
      "transform": "uppercase"
    },
    "rules": [
      "Máximo 3 niveles tipográficos por pieza",
      "El peso hace la jerarquía (800 grita, 400 explica)",
      "Labels de botón en sentence case, nunca MAYÚSCULAS",
      "Resaltado: color (#009145 sobre claro solo ≥24px bold; lima sobre oscuro) o subrayado lima. PROHIBIDO bloque resaltador sólido"
    ]
  },
  "resourceCoexistence": {
    "description": "Convivencia de recursos (§7 del brand book). Máximo 2 recursos gráficos por pieza además de la tipografía: uno protagonista, uno de acompañamiento. La cifra gigante y la tipografía combinan con todo — son la voz, no un recurso",
    "resources": [
      "fotoAerea",
      "fotoBN",
      "personaje",
      "panoSemis",
      "marcaAMano",
      "icono"
    ],
    "matrix": {
      "fotoAerea": {
        "fotoBN": false,
        "personaje": false,
        "panoSemis": false,
        "marcaAMano": true,
        "icono": true
      },
      "fotoBN": {
        "fotoAerea": false,
        "personaje": false,
        "panoSemis": true,
        "marcaAMano": true,
        "icono": true
      },
      "personaje": {
        "fotoAerea": false,
        "fotoBN": false,
        "panoSemis": true,
        "marcaAMano": true,
        "icono": false
      },
      "panoSemis": {
        "fotoAerea": false,
        "fotoBN": true,
        "personaje": true,
        "marcaAMano": true,
        "icono": true
      },
      "marcaAMano": {
        "fotoAerea": true,
        "fotoBN": true,
        "personaje": true,
        "panoSemis": true,
        "icono": true
      },
      "icono": {
        "fotoAerea": true,
        "fotoBN": true,
        "personaje": false,
        "panoSemis": true,
        "marcaAMano": true
      }
    },
    "why": "Dos lenguajes del mismo tipo compiten: dos imágenes (foto+foto, foto+ilustración), dos texturas (foto+paño) o dos dibujos (personaje+ícono) nunca conviven",
    "planes": [
      "1 · lienzo — color plano o foto con scrim",
      "2 · textura — paño de semicírculos, siempre al corte",
      "3 · sujeto — personaje, foto recortada o cifra gigante",
      "4 · voz — tipografía, marcas a mano, chips y CTA"
    ],
    "planeRule": "Un recurso por plano como máximo; los planos 2 y 3 nunca se pisan entre sí",
    "characterPlusPano": "Sí funciona: paño al fondo en franja, personaje al borde opuesto en primer plano, texto sobre superficie limpia. Nunca superpuestos"
  },
  "spacing": {
    "base": "4px",
    "scale": [
      4,
      8,
      12,
      16,
      24,
      32,
      48,
      64,
      96
    ],
    "rules": [
      "Todo margin, padding y gap sale de la escala (4/8/12/16/24/32/48/64/96). Nunca valores fuera de ella (ni 5, ni 10, ni 14 arbitrarios).",
      "Aire ENTRE bloques o secciones: minimo 24. Aire DENTRO de un componente: 8-16. Si dos bloques quedan a menos de 24, son el mismo bloque o estan mal.",
      "Una pieza tiene UN eje de alineacion principal (por defecto: izquierda). Todos los bloques de texto arrancan en ese eje; nada centrado 'porque quedaba lindo'.",
      "Los elementos de una misma fila (chips, botones, iconos con label) comparten centro vertical y un gap unico de la escala (8 o 12).",
      "El padding interno de un contenedor es igual en los 4 lados, o simetrico horizontal/vertical — nunca 4 valores distintos."
    ]
  },
  "radius": {
    "sm": "6px",
    "md": "12px",
    "lg": "20px",
    "xl": "28px",
    "full": "999px",
    "button": {
      "value": "10px",
      "rule": "botón = rectángulo radio leve; chip = pill outline (999px, borde+texto mismo color, fondo transparente)"
    }
  },
  "layout": {
    "slide": {
      "aspect": "16:9",
      "export": "1920x1080",
      "innerMargin": "7% del ancho, todos los lados"
    },
    "social": {
      "feed": "1080x1080",
      "story": "1080x1920 (zona segura 96px sup/inf)"
    },
    "logoMinWidth": {
      "screen": "90px",
      "print": "24mm",
      "below": "usar avatar m"
    },
    "logoClearspace": "altura de la letra m en todos los lados"
  },
  "assets": {
    "wordmarks": [
      "assets/magoya-wordmark-green.svg",
      "assets/magoya-wordmark-cream.svg",
      "assets/magoya-wordmark-black.svg",
      "assets/magoya-wordmark-deep.svg"
    ],
    "wordmarkAnimated": {
      "path": "assets/magoya-wordmark-animado.svg",
      "use": "web y firma de email — las letras aparecen una por una y quedan"
    },
    "avatars": [
      "assets/avatars/avatar-go.svg",
      "assets/avatars/avatar-o.svg",
      "assets/avatars/avatar-face.svg",
      "assets/avatars/avatar-m.svg"
    ],
    "motifs": {
      "pano": "assets/motif-semis.svg",
      "retired": [
        "assets/motif-estratos.svg",
        "assets/illus/camino-esquina.svg",
        "assets/illus/camino-grande.svg",
        "assets/illus/camino-zigzag.svg"
      ],
      "retiredNote": "Motivos de líneas y banda festoneada RETIRADOS del sistema — los archivos quedan solo como historial, no se usan en piezas nuevas"
    },
    "handMarks": [
      "assets/flourish-circle.svg",
      "assets/flourish-arrow.svg",
      "assets/doodle-sparkle.svg"
    ],
    "handMarksRetired": {
      "underline": "assets/flourish-underline.svg",
      "note": "El subrayado a mano quedó fuera del sistema — no cubría bien la palabra completa y el trazo no tenía fuerza. Para enfatizar una palabra o frase de un titular, el color hace el trabajo (texto en lima), no una marca a mano."
    },
    "characters": [
      "assets/illus/char-laptop.svg",
      "assets/illus/char-jumping.svg",
      "assets/illus/char-experts-talking.svg",
      "assets/illus/char-chart-duo.svg"
    ],
    "photos": {
      "aerial": [
        "assets/photos/field-rows.jpg",
        "assets/photos/field-terraces.jpg",
        "assets/photos/field-bali.jpg",
        "assets/photos/field-corn.jpg",
        "assets/photos/field-mosaic-16x9.jpg"
      ],
      "peopleBW": [
        "assets/photos/varu-baldi-bw.jpg",
        "assets/photos/leo-dopacio-bw.jpg",
        "assets/photos/cami-agtech-bw.jpg"
      ],
      "peopleBWPlaceholder": {
        "path": "assets/photos/varu-ceo-bw.jpg",
        "note": "placeholder genérico, ya no es Varu — se usa solo donde falta una sesión real (p. ej. Francisco Facal)"
      },
      "rule": "aéreas en color natural con scrim verde cuando llevan texto; personas SIEMPRE en B&N con un acento verde o lima"
    },
    "merchPhotos": {
      "dir": "assets/photos/merch/",
      "note": "nombres fijos según LEEME.txt — el manual las levanta solas cuando aparecen"
    },
    "stationery": [
      "assets/downloads/doc-header.svg",
      "assets/downloads/doc-footer.svg",
      "assets/downloads/magoya-firma-estatica.png",
      "assets/downloads/magoya-firma-animada.gif"
    ],
    "clientLogos": "assets/logos/clients/",
    "partnerLogos": "assets/logos/partners/",
    "prospectLogos": {
      "dir": "assets/logos/",
      "files": [
        "bayer.svg",
        "basf.svg",
        "john-deere.svg"
      ],
      "note": "logos de cuentas objetivo, sueltos en la raíz de logos/ — mismo trato que los de cliente: siempre reales, en gris"
    },
    "iconLibrary": "icons.html (58 iconos inline SVG, stroke 2px round, 24x24)",
    "studioMirror": {
      "dir": "assets/studio/",
      "note": "espejo de los archivos de Magoya Studio: 16 iconos agro + 10 logos de IA + 13 de redes + doodles, flourishes, badge EN VIVO, mockups de dispositivo, trama e isotipo. Documentado en ai-en-campo.html. Fuente única = magoya-studio; acá viven copiados"
    },
    "zips": {
      "dir": "assets/downloads/",
      "note": "8 colecciones .zip (logo kit, tokens, Manrope, fotos, ilustración, iconos, logos de clientes, kit AI en campo), enlazadas desde el panel de descarga contextual de brand-book.html y desde library.html"
    },
    "knownDuplicates": {
      "note": "Existen en dos rutas; usar siempre la que linkea library.html",
      "pairs": {
        "assets/badge-envivo.svg": "assets/studio/badge-envivo.svg",
        "assets/doodle-blob.svg": "assets/studio/doodle-blob.svg",
        "assets/doodle-dots.svg": "assets/studio/doodle-dots.svg",
        "assets/doodle-loop.svg": "assets/studio/doodle-loop.svg",
        "assets/logos/corteva.svg": "assets/logos/clients/corteva.svg",
        "assets/logos/syngenta.svg": "assets/logos/clients/syngenta.svg"
      }
    },
    "studioProductionInputs": {
      "files": [
        "assets/photos/ai-campo-silueta.jpg",
        "assets/photos/ai-campo-silueta.png",
        "assets/pieces/*.jpg",
        "assets/pieces/*.svg"
      ],
      "note": "Insumos de producción de la marca anexa: silueta recortada de las plantillas + capturas de piezas ya publicadas que el manual muestra como referencia. No son assets de descarga"
    },
    "sourceRefs": {
      "dir": "assets/refs/",
      "note": "MATERIAL FUENTE NO PUBLICABLE — exports originales del diseñador (SVG/PNG de módulos). Se conservan como referencia de trazado; no se enlazan ni se distribuyen desde ninguna página"
    }
  },
  "pages": {
    "brand-book.html": "Brand book — 13 secciones + §14 marca anexa",
    "ai-en-campo.html": "Manual de la marca anexa AI en campo",
    "slides.html": "Módulos de presentación",
    "pieces.html": "Piezas comerciales (one-pager + flyers)",
    "icons.html": "Librería de 58 iconos",
    "library.html": "Librería de assets con descarga directa",
    "logos.html": "Logos de clientes y stack tecnológico",
    "ai.html": "Cómo integrar la marca en una herramienta de AI y validar el resultado"
  },
  "machineLayer": {
    "llms.txt": "resumen estable de la marca para agentes",
    ".ai/brand-prompt.md": "prompt completo para pegar en cualquier herramienta",
    ".ai/brand-prompt-short.md": "versión corta (un párrafo)",
    ".ai/checklist.md": "chequeos de validación de una pieza generada",
    ".ai/presets/": "instrucciones por herramienta (Claude Code, Claude Projects, Cursor, Copilot, Custom GPT)",
    "rule": "Todo deriva de BRAND.md. Si una regla cambia allá, hay que propagarla acá."
  },
  "components": {
    "button": {
      "forma": "rectangulo, border-radius 10px (radius.btn) — NUNCA pill",
      "padding": "13px 26px",
      "fontSize": "15px",
      "fontWeight": 700,
      "labelCase": "sentence case",
      "niveles": {
        "primario": "lima #A2FF00 sobre claro (uno solo por pieza)",
        "secundario": "verde profundo #133825 (crema sobre oscuro)",
        "terciario": "ghost outline 1.5px"
      },
      "prohibido": [
        "boton pill",
        "dos primarios en la misma pieza",
        "sin estado hover"
      ]
    },
    "chip": {
      "forma": "pill outline, border-radius 999px, borde 1.5px, fondo SIEMPRE transparente",
      "padding": "6px 15px",
      "fontSize": "12.5px",
      "fontWeight": 800,
      "textTransform": "uppercase",
      "letterSpacing": ".1em",
      "contenido": "SOLO texto. El chip es una etiqueta: la pill ya delimita.",
      "colores": "sobre claro: verde profundo #133825 default, #009145 destacado, #161616 neutro · sobre oscuro: crema #ECE3DB default, lima #A2FF00 solo el destacado (uno por pieza)",
      "prohibido": [
        "punto/bullet/dot delante del texto (acuerdo explicito: el chip nunca lleva •)",
        "icono dentro del chip",
        "fondo solido",
        "sentence case"
      ]
    }
  }
}