{
  "$schema": "https://zabazingo.eu/brand/tokens.schema.json",
  "name": "ZABA & ZINGO — Brand Design Tokens",
  "version": "1.0.0",
  "ratified": "2026-07-11",
  "motto": "DON'T BELIEVE EVERYTHING",
  "slogan": "Reality isn't given. It's chosen.",
  "sources": [
    "discord.zabazingo.eu/typography.html (ZZ Typography System v1)",
    "collection.zabazingo.eu / moon.zabazingo.eu / mars.zabazingo.eu (storefront design SoT)",
    "hub2.zabazingo.eu (token export, dark+light)",
    "keychain.zabazingo.eu/vault-desktop.html (radius scale)",
    "zabazingo-docs 03_TYPOGRAFIE.md"
  ],
  "color": {
    "dark": {
      "bg":        "#22201f",
      "bg-deep":   "#141311",
      "panel":     "#1c1b18",
      "panel-2":   "#16140f",
      "ink":       "#f3eee4",
      "ink-strong":"#fbf7ec",
      "ink-dim":   "rgba(243,238,228,0.60)",
      "ink-mute":  "rgba(243,238,228,0.40)",
      "line":      "rgba(243,238,228,0.12)",
      "line-strong":"rgba(243,238,228,0.20)"
    },
    "light": {
      "bg":        "#fffada",
      "panel":     "#ffffff",
      "panel-2":   "#f6f0d8",
      "ink":       "#22201f",
      "ink-strong":"#16140f",
      "ink-dim":   "rgba(34,32,31,0.62)",
      "ink-mute":  "rgba(34,32,31,0.42)",
      "line":      "rgba(34,32,31,0.13)",
      "line-strong":"rgba(34,32,31,0.22)"
    },
    "accent": {
      "terra":   "#A53A2A",
      "terra-hi":"#c14a37",
      "sand":    "#c9bfa8",
      "sand-hi": "#d9d0bb",
      "bronze":  "#8a6a3f"
    },
    "world": {
      "space":   { "code": "SPX", "accent": "#c9bfa8" },
      "moon":    { "code": "MNX", "accent": "#c9bfa8" },
      "mars":    { "code": "MRX", "accent": "#c05a2a", "bg": "#150906" },
      "earth":   { "code": "EAX", "accent": "#c98a5e" },
      "aurum":   { "code": "AUX", "accent": "#c8a24a" },
      "abrasax": { "code": "ABX", "accent": "#7f8f6a" },
      "eden":    { "code": "EDX", "accent": "#8fae7a" }
    }
  },
  "font": {
    "display": {
      "family": "Noto Serif Display ExtraCondensed",
      "logo-alias": "Zaba Logo",
      "role": "headlines, wordmarks, brand elements only",
      "weights": { "extralight": 200, "regular": 400, "bold": 700 },
      "italic": false,
      "min-size-px": 40
    },
    "sans": {
      "family": "PP Neue Montreal",
      "role": "ui, body, editorial, captions, buttons, labels",
      "weights": { "light": 300, "regular": 400, "semibold": 600, "bold": 700 },
      "italic": true
    }
  },
  "type-scale": {
    "display": {
      "h1": { "px": 96, "lh": 1.05, "ls": "-0.05em" },
      "h2": { "px": 72, "lh": 1.05, "ls": "-0.05em" },
      "h3": { "px": 54, "lh": 1.05, "ls": "-0.05em" },
      "h4": { "px": 40, "lh": 1.05, "ls": "-0.05em" }
    },
    "sans": {
      "h1": { "px": 72, "weight": 300, "lh": 1.2,  "ls": "-0.015em", "case": "lower" },
      "h2": { "px": 54, "weight": 300, "lh": 1.2,  "ls": "-0.015em", "case": "lower" },
      "h3": { "px": 40, "weight": 300, "lh": 1.2,  "ls": "-0.015em", "case": "lower" },
      "h4": { "px": 30, "weight": 300, "lh": 1.2,  "ls": "-0.015em", "case": "lower" },
      "h5": { "px": 22, "weight": 400, "lh": 1.25, "ls": "-0.015em", "case": "lower" },
      "h6": { "px": 18, "weight": 400, "lh": 1.3,  "ls": "-0.015em", "case": "lower" },
      "body-l": { "px": 16, "weight": 300, "lh": 1.6 },
      "body-s": { "px": 13, "weight": 300, "lh": 1.5 },
      "caption": { "px": 11, "weight": 400, "lh": 1.4, "ls": "+0.14em", "case": "upper" }
    }
  },
  "radius": { "xs": "6px", "sm": "8px", "md": "10px", "lg": "14px", "xl": "18px", "pill": "999px" },
  "space": { "1": "4px", "2": "8px", "3": "12px", "4": "16px", "5": "24px", "6": "32px", "7": "48px", "8": "64px", "9": "96px" },
  "elevation": { "rule": "flat — box-shadow is none across the system; separation via 1px --line, never a drop shadow" },
  "motion": { "fast": "160ms", "base": "220ms", "slow": "420ms", "ease": "cubic-bezier(0.22,0.61,0.36,1)" },
  "shape": { "language": "rounded", "forbidden": "cut-corner / clip-path polygons (that is the sign.it language, never ZZ)" },
  "container": { "max": "1200px", "gutter": "24px", "card-radius": "14px" }
}
