{
 "name": "Meatball Labs and family",
 "note": "The one registry for the family. handshake: true marks a site that runs family.js (docket item 6); choices are only forwarded to those, so no other site gets a stray #fam= in its address bar. reserved: true holds a hue for a site that is not answering yet: its dot is named but not a link. Order is the colour wheel, warm to cool, and fixed. The brand library of 2026-10-07 (docs/sources) reassigned hues: hotbits, snailmail.ai and amy.io moved to the electric set (family/electric/), vizmin took Spruce, and Campaign Brain left the family. The library of 2026-10-13 filled Plum (AstroStack, held) and Rose (Victory Text), and gave Violet in the electric set to Flux (held). TinyKit took Moss on 2026-10-15 (Brad: TinyKit is SysForge's app kit, the front of the house). The library of 2026-10-19 gave Cyan to gopher and moved Amy.io to the muted family with no hue named, and Brad gave it Sage the same day; it lists no TinyKit, and Moss stays TinyKit's (Brad confirmed, 2026-10-19). Outside that, a new site takes an open hue and nothing moves. Hex values are the family dots, the same on every site and every theme. Edit here, then run family/build.py.",
 "parent": "clay",
 "url": "https://meatball.ai/family/manifest.json",
 "hues": [
  {
   "hue": "clay",
   "hex": "#995d48",
   "name": "Meatball Labs",
   "href": "https://meatball.ai",
   "role": "lab",
   "handshake": true,
   "open": false,
   "page": "https://meatball.ai/family/clay/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/clay/meatball-labs-mark.svg",
    "card": "https://meatball.ai/family/assets/clay/meatball-labs-share-card.png",
    "icon": null
   },
   "slot": {
    "site": "Meatball Labs",
    "url": "https://meatball.ai",
    "logos": [
     {
      "label": "On paper",
      "file": "meatball-labs-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "meatball-labs-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "meatball-labs-reversed-on-deep.svg",
      "ground": "#4d2b1f",
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-reversed-on-deep.svg"
     },
     {
      "label": "As drawn",
      "file": "meatball-labs-as-drawn.svg",
      "ground": "#f4f1de",
      "note": "The original traced colors.",
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-as-drawn.svg"
     },
     {
      "label": "Mark only",
      "file": "meatball-labs-mark-only.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-mark-only.svg"
     },
     {
      "label": "One color",
      "file": "meatball-labs-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor, so it takes the text color wherever it is placed.",
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-one-color.svg"
     },
     {
      "label": "Share card",
      "file": "meatball-labs-share-card.png",
      "ground": "paper",
      "wide": true,
      "url": "https://meatball.ai/family/assets/clay/meatball-labs-share-card.png"
     }
    ],
    "colours": [
     {
      "name": "Clay",
      "hex": "#995d48"
     },
     {
      "name": "Original rust",
      "hex": "#c15634"
     },
     {
      "name": "Original ink",
      "hex": "#372e22"
     }
    ],
    "fonts": [
     "Bodoni Moda (display, italic)",
     "Instrument Sans (body)",
     "Schibsted Grotesk (labels)",
     "IBM Plex Mono (eyebrows)"
    ]
   }
  },
  {
   "hue": "ochre",
   "hex": "#89692f",
   "name": "SysForge",
   "href": "https://sysforge.ai",
   "role": "lab",
   "handshake": true,
   "open": false,
   "page": "https://meatball.ai/family/ochre/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/ochre/sysforge-anvil.svg",
    "card": "https://meatball.ai/family/assets/ochre/sysforge-share-card.png",
    "icon": null
   },
   "slot": {
    "site": "SysForge",
    "url": "https://sysforge.ai",
    "logos": [
     {
      "label": "On paper",
      "file": "sysforge-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/ochre/sysforge-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "sysforge-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/ochre/sysforge-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "sysforge-reversed-on-deep.svg",
      "ground": "#443210",
      "url": "https://meatball.ai/family/assets/ochre/sysforge-reversed-on-deep.svg"
     },
     {
      "label": "One color",
      "file": "sysforge-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor.",
      "url": "https://meatball.ai/family/assets/ochre/sysforge-one-color.svg"
     },
     {
      "label": "Share card",
      "file": "sysforge-share-card.png",
      "ground": "paper",
      "wide": true,
      "url": "https://meatball.ai/family/assets/ochre/sysforge-share-card.png"
     }
    ],
    "colours": [
     {
      "name": "Ochre",
      "hex": "#89692f"
     },
     {
      "name": "Forge glow",
      "hex": "#eb883b"
     }
    ],
    "fonts": [
     "Archivo (the stamp: heavy, stretched, caps)",
     "Bodoni Moda (asides)",
     "Instrument Sans (body)",
     "IBM Plex Mono (labels)"
    ]
   }
  },
  {
   "hue": "moss",
   "hex": "#68763a",
   "name": "TinyKit",
   "href": "https://tinykit.tinymachines.ai",
   "role": "lab",
   "open": false,
   "page": "https://meatball.ai/family/moss/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/moss/tinykit-on-paper.svg",
    "card": null,
    "icon": "https://meatball.ai/family/assets/moss/tinykit-touch-icon.png"
   },
   "slot": {
    "site": "TinyKit",
    "url": "https://tinykit.tinymachines.ai",
    "logos": [
     {
      "label": "On paper",
      "file": "tinykit-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/moss/tinykit-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "tinykit-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/moss/tinykit-on-night.svg"
     },
     {
      "label": "Touch icon",
      "file": "tinykit-touch-icon.png",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/moss/tinykit-touch-icon.png"
     }
    ],
    "colours": [
     {
      "name": "Moss",
      "hex": "#68763a"
     },
     {
      "name": "Deep",
      "hex": "#112658"
     },
     {
      "name": "Ocean",
      "hex": "#2f55a4"
     }
    ],
    "note": "SysForge's app kit, the front of the house (2026-10-15): the mark is nine tiles, the kit's pieces, five lit. Moss, the family green, in the muted set; the kit's own themes are the apps' (Datasheet, Instrument, Night).",
    "fonts": [
     "The system's own faces: Avenir Next Condensed or Gill Sans (display), Avenir Next or Gill Sans (text), Charter or Georgia (reading)"
    ]
   }
  },
  {
   "hue": "sage",
   "hex": "#427d59",
   "name": "Amy.io",
   "href": "https://amy.io",
   "role": "lab",
   "open": false,
   "page": "https://meatball.ai/family/sage/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/sage/amy-io-the-a.svg",
    "card": null,
    "icon": "https://meatball.ai/family/assets/sage/amy-io-touch-icon.png"
   },
   "slot": {
    "site": "Amy.io",
    "url": "https://amy.io",
    "logos": [
     {
      "label": "Ink on cream",
      "file": "amy-io-ink-on-cream.svg",
      "ground": "#f4ede1",
      "url": "https://meatball.ai/family/assets/sage/amy-io-ink-on-cream.svg"
     },
     {
      "label": "Reversed",
      "file": "amy-io-reversed.svg",
      "ground": "#1e1c19",
      "url": "https://meatball.ai/family/assets/sage/amy-io-reversed.svg"
     },
     {
      "label": "Rust on cream",
      "file": "amy-io-rust-on-cream.svg",
      "ground": "#f4ede1",
      "url": "https://meatball.ai/family/assets/sage/amy-io-rust-on-cream.svg"
     },
     {
      "label": "Ink on sky",
      "file": "amy-io-ink-on-sky.svg",
      "ground": "#bfe2dc",
      "url": "https://meatball.ai/family/assets/sage/amy-io-ink-on-sky.svg"
     },
     {
      "label": "Rust on blush",
      "file": "amy-io-rust-on-blush.svg",
      "ground": "#f1dcd6",
      "url": "https://meatball.ai/family/assets/sage/amy-io-rust-on-blush.svg"
     },
     {
      "label": "One color",
      "file": "amy-io-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor.",
      "url": "https://meatball.ai/family/assets/sage/amy-io-one-color.svg"
     },
     {
      "label": "The A",
      "file": "amy-io-the-a.svg",
      "ground": "#f4ede1",
      "note": "Isolated from the lettering, swash and all.",
      "url": "https://meatball.ai/family/assets/sage/amy-io-the-a.svg"
     },
     {
      "label": "The A, with sparks",
      "file": "amy-io-the-a-with-sparks.svg",
      "ground": "#f4ede1",
      "url": "https://meatball.ai/family/assets/sage/amy-io-the-a-with-sparks.svg"
     },
     {
      "label": "App icon",
      "file": "amy-io-app-icon.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/sage/amy-io-app-icon.svg"
     },
     {
      "label": "App icon, reversed",
      "file": "amy-io-app-icon-reversed.svg",
      "ground": "#f4ede1",
      "url": "https://meatball.ai/family/assets/sage/amy-io-app-icon-reversed.svg"
     },
     {
      "label": "App icon, rust",
      "file": "amy-io-app-icon-rust.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/sage/amy-io-app-icon-rust.svg"
     },
     {
      "label": "App icon, sky",
      "file": "amy-io-app-icon-sky.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/sage/amy-io-app-icon-sky.svg"
     },
     {
      "label": "Favicon",
      "file": "amy-io-favicon.svg",
      "ground": "paper",
      "note": "Highlights dropped so it reads at 16 px; flips to cream-on-ink in dark mode.",
      "url": "https://meatball.ai/family/assets/sage/amy-io-favicon.svg"
     }
    ],
    "colours": [
     {
      "name": "Robin's egg sky",
      "hex": "#bfe2dc"
     },
     {
      "name": "Blossom blush",
      "hex": "#f1dcd6"
     },
     {
      "name": "Pale ochre",
      "hex": "#d8c46a"
     },
     {
      "name": "Olive mustard",
      "hex": "#b39a2c"
     },
     {
      "name": "Oriole terracotta",
      "hex": "#d2876a"
     },
     {
      "name": "Wing rust",
      "hex": "#a9533a"
     },
     {
      "name": "Paper cream",
      "hex": "#f4ede1"
     },
     {
      "name": "Ink black",
      "hex": "#1e1c19"
     }
    ],
    "fonts": [],
    "note": "Hand-lettered AMY with swashes, sparks and a looping underline, in a watercolor palette on paper cream. The brand library of 2026-10-19 moved it from Cyan to the muted family; Brad gave it Sage the same day. The library of 2026-10-20 isolated the A as a mark and drew the app icon and favicon."
   }
  },
  {
   "hue": "spruce",
   "hex": "#1b7d82",
   "name": "vizmin",
   "role": "lab",
   "reserved": true,
   "open": false,
   "page": "https://meatball.ai/family/spruce/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/spruce/vizmin-mark-only.svg",
    "card": null,
    "icon": null
   },
   "slot": {
    "site": "vizmin",
    "url": null,
    "logos": [
     {
      "label": "On paper",
      "file": "vizmin-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/spruce/vizmin-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "vizmin-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/spruce/vizmin-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "vizmin-reversed-on-deep.svg",
      "ground": "#023e40",
      "url": "https://meatball.ai/family/assets/spruce/vizmin-reversed-on-deep.svg"
     },
     {
      "label": "As drawn",
      "file": "vizmin-as-drawn.svg",
      "ground": "#252d3a",
      "note": "The original white on slate.",
      "url": "https://meatball.ai/family/assets/spruce/vizmin-as-drawn.svg"
     },
     {
      "label": "Mark only",
      "file": "vizmin-mark-only.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/spruce/vizmin-mark-only.svg"
     },
     {
      "label": "One color",
      "file": "vizmin-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor, so it takes the text color wherever it is placed.",
      "url": "https://meatball.ai/family/assets/spruce/vizmin-one-color.svg"
     }
    ],
    "colours": [
     {
      "name": "Spruce",
      "hex": "#1b7d82"
     },
     {
      "name": "Original slate",
      "hex": "#252d3a"
     }
    ],
    "note": "Held. vizmin: data, made visible. Its mark is drawn (brand library, 2026-10-07); no site answers yet, so its dot is named, not linked.",
    "fonts": []
   }
  },
  {
   "hue": "steel",
   "hex": "#41749d",
   "name": "bradley.io",
   "href": "https://bradley.io",
   "role": "home",
   "open": false,
   "page": "https://meatball.ai/family/steel/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/steel/bradley-io-icon.svg",
    "card": "https://meatball.ai/family/assets/steel/bradley-io-share-card.png",
    "icon": null
   },
   "slot": {
    "site": "bradley.io",
    "url": "https://bradley.io",
    "logos": [
     {
      "label": "On paper",
      "file": "bradley-io-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/steel/bradley-io-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "bradley-io-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/steel/bradley-io-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "bradley-io-reversed-on-deep.svg",
      "ground": "#1b3850",
      "url": "https://meatball.ai/family/assets/steel/bradley-io-reversed-on-deep.svg"
     },
     {
      "label": "As drawn",
      "file": "bradley-io-as-drawn.svg",
      "ground": "#ffffff",
      "note": "The original cyan, before the family palette.",
      "url": "https://meatball.ai/family/assets/steel/bradley-io-as-drawn.svg"
     },
     {
      "label": "One color",
      "file": "bradley-io-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor, so it takes the text color wherever it is placed.",
      "url": "https://meatball.ai/family/assets/steel/bradley-io-one-color.svg"
     },
     {
      "label": "Share card",
      "file": "bradley-io-share-card.png",
      "ground": "paper",
      "wide": true,
      "url": "https://meatball.ai/family/assets/steel/bradley-io-share-card.png"
     }
    ],
    "colours": [
     {
      "name": "Steel",
      "hex": "#41749d"
     },
     {
      "name": "Original cyan",
      "hex": "#13b8f3"
     },
     {
      "name": "Original dot",
      "hex": "#64d0f7"
     }
    ],
    "fonts": [
     "Archivo (display)",
     "IBM Plex Sans (body)",
     "IBM Plex Serif (prose)",
     "IBM Plex Mono (readouts)"
    ]
   }
  },
  {
   "hue": "iris",
   "hex": "#6a679e",
   "name": "tinymachines.ai",
   "href": "https://tinymachines.ai",
   "role": "lab",
   "open": false,
   "page": "https://meatball.ai/family/iris/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/iris/tinymachines-tm.svg",
    "card": "https://meatball.ai/family/assets/iris/tinymachines-share-card.png",
    "icon": "https://meatball.ai/family/assets/iris/tinymachines-apple-icon.png"
   },
   "slot": {
    "site": "tinymachines.ai",
    "url": "https://tinymachines.ai",
    "logos": [
     {
      "label": "On paper",
      "file": "tinymachines-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/iris/tinymachines-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "tinymachines-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/iris/tinymachines-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "tinymachines-reversed-on-deep.svg",
      "ground": "#323151",
      "url": "https://meatball.ai/family/assets/iris/tinymachines-reversed-on-deep.svg"
     },
     {
      "label": "One color",
      "file": "tinymachines-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor, so it takes the text color wherever it is placed.",
      "url": "https://meatball.ai/family/assets/iris/tinymachines-one-color.svg"
     },
     {
      "label": "App icon, 180",
      "file": "tinymachines-apple-icon.png",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/iris/tinymachines-apple-icon.png"
     },
     {
      "label": "Share card",
      "file": "tinymachines-share-card.png",
      "ground": "paper",
      "wide": true,
      "url": "https://meatball.ai/family/assets/iris/tinymachines-share-card.png"
     }
    ],
    "colours": [
     {
      "name": "Iris",
      "hex": "#6a679e"
     }
    ],
    "fonts": [
     "Archivo (display)",
     "IBM Plex Sans (body)",
     "IBM Plex Serif (prose)",
     "IBM Plex Mono (readouts)"
    ]
   }
  },
  {
   "hue": "plum",
   "hex": "#8b5c86",
   "name": "AstroStack",
   "role": "lab",
   "reserved": true,
   "open": false,
   "page": "https://meatball.ai/family/plum/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/plum/astrostack-mark-only.svg",
    "card": null,
    "icon": null
   },
   "slot": {
    "site": "AstroStack",
    "url": null,
    "logos": [
     {
      "label": "On paper",
      "file": "astrostack-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/plum/astrostack-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "astrostack-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/plum/astrostack-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "astrostack-reversed-on-deep.svg",
      "ground": "#452b43",
      "url": "https://meatball.ai/family/assets/plum/astrostack-reversed-on-deep.svg"
     },
     {
      "label": "As drawn",
      "file": "astrostack-as-drawn.svg",
      "ground": "#111d35",
      "note": "The original white on navy.",
      "url": "https://meatball.ai/family/assets/plum/astrostack-as-drawn.svg"
     },
     {
      "label": "Mark only",
      "file": "astrostack-mark-only.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/plum/astrostack-mark-only.svg"
     },
     {
      "label": "One color",
      "file": "astrostack-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor, so it takes the text color wherever it is placed.",
      "url": "https://meatball.ai/family/assets/plum/astrostack-one-color.svg"
     }
    ],
    "colours": [
     {
      "name": "Plum",
      "hex": "#8b5c86"
     },
     {
      "name": "Original navy",
      "hex": "#111d35"
     }
    ],
    "note": "Held. AstroStack: stacked night skies, Plum for dusk. Its mark is drawn (brand library, 2026-10-13); no site answers yet, so its dot is named, not linked.",
    "fonts": []
   }
  },
  {
   "hue": "rose",
   "hex": "#995963",
   "name": "Victory Text",
   "href": "https://victorytext.com",
   "role": "lab",
   "open": false,
   "page": "https://meatball.ai/family/rose/",
   "assets": {
    "mark": "https://meatball.ai/family/assets/rose/victory-text-on-paper.svg",
    "card": null,
    "icon": null
   },
   "slot": {
    "site": "Victory Text",
    "url": "https://victorytext.com",
    "logos": [
     {
      "label": "On paper",
      "file": "victory-text-on-paper.svg",
      "ground": "paper",
      "url": "https://meatball.ai/family/assets/rose/victory-text-on-paper.svg"
     },
     {
      "label": "On night",
      "file": "victory-text-on-night.svg",
      "ground": "night",
      "url": "https://meatball.ai/family/assets/rose/victory-text-on-night.svg"
     },
     {
      "label": "Reversed on deep",
      "file": "victory-text-reversed-on-deep.svg",
      "ground": "#4d292f",
      "url": "https://meatball.ai/family/assets/rose/victory-text-reversed-on-deep.svg"
     },
     {
      "label": "As on the site",
      "file": "victory-text-as-on-the-site.svg",
      "ground": "#ffffff",
      "note": "The site red, #ED2024.",
      "url": "https://meatball.ai/family/assets/rose/victory-text-as-on-the-site.svg"
     },
     {
      "label": "On dark",
      "file": "victory-text-on-dark.svg",
      "ground": "#161117",
      "url": "https://meatball.ai/family/assets/rose/victory-text-on-dark.svg"
     },
     {
      "label": "One color",
      "file": "victory-text-one-color.svg",
      "ground": "paper",
      "note": "Uses currentColor, so it takes the text color wherever it is placed.",
      "url": "https://meatball.ai/family/assets/rose/victory-text-one-color.svg"
     }
    ],
    "colours": [
     {
      "name": "Rose",
      "hex": "#995963"
     },
     {
      "name": "Victory red",
      "hex": "#ed2024"
     },
     {
      "name": "Ink",
      "hex": "#1c1e20"
     },
     {
      "name": "Ember",
      "hex": "#e36e3b"
     },
     {
      "name": "Gold",
      "hex": "#dca329"
     },
     {
      "name": "Slate",
      "hex": "#39424a"
     }
    ],
    "note": "Texting with a shield. Rose, the family red, in the muted set; at home the site wears its own red (brand library, 2026-10-13).",
    "fonts": []
   }
  }
 ],
 "electric": {
  "note": "The electric set: a second set for the sites that live on a dark screen. The muted family keeps one lightness and one softness; this set turns every colour up to the edge of what a screen can show, each hue at its own most saturated point in sRGB, which is why lime glows brightest and violet runs deeper. Four tones each: glow for the mark and links, core for buttons and anything that needs a little less shout, dim for solid blocks, haze for a tinted surface over night. Since the brand library of 2026-10-07 an electric site holds no muted hue: its site entry is family/electric/<id>/site.json and its dot is its core tone, after the nine muted dots.",
  "hues": [
   {
    "id": "lime",
    "name": "Lime",
    "hue": 141,
    "tones": {
     "glow": "#3ffe00",
     "core": "#3dc820",
     "dim": "#25541d",
     "haze": "#1e2a1c"
    },
    "who": "snailmail.ai",
    "site": {
     "name": "snailmail.ai",
     "href": "https://snailmail.ai",
     "role": "lab"
    },
    "page": "https://meatball.ai/family/lime/",
    "assets": {
     "mark": "https://meatball.ai/family/assets/lime/snailmail-mark-only.svg",
     "card": null,
     "icon": null
    },
    "slot": {
     "site": "snailmail.ai",
     "url": "https://snailmail.ai",
     "logos": [
      {
       "label": "As drawn",
       "file": "snailmail-as-drawn.svg",
       "ground": "#1f2424",
       "note": "Final art, traced.",
       "url": "https://meatball.ai/family/assets/lime/snailmail-as-drawn.svg"
      },
      {
       "label": "Lime glow on night",
       "file": "snailmail-lime-glow-on-night.svg",
       "ground": "night",
       "url": "https://meatball.ai/family/assets/lime/snailmail-lime-glow-on-night.svg"
      },
      {
       "label": "Glow on haze",
       "file": "snailmail-glow-on-haze.svg",
       "ground": "#1e2a1c",
       "url": "https://meatball.ai/family/assets/lime/snailmail-glow-on-haze.svg"
      },
      {
       "label": "Dim on paper",
       "file": "snailmail-dim-on-paper.svg",
       "ground": "paper",
       "note": "For the rare light background.",
       "url": "https://meatball.ai/family/assets/lime/snailmail-dim-on-paper.svg"
      },
      {
       "label": "Mark only",
       "file": "snailmail-mark-only.svg",
       "ground": "#1f2424",
       "url": "https://meatball.ai/family/assets/lime/snailmail-mark-only.svg"
      },
      {
       "label": "One color",
       "file": "snailmail-one-color.svg",
       "ground": "paper",
       "note": "Uses currentColor.",
       "url": "https://meatball.ai/family/assets/lime/snailmail-one-color.svg"
      }
     ],
     "colours": [
      {
       "name": "Sluggy green",
       "hex": "#48ee2b"
      },
      {
       "name": "Original ground",
       "hex": "#1f2424"
      }
     ],
     "fonts": [],
     "note": "8-bit Sluggy. The first site in the electric set: Lime glow on night at home."
    }
   },
   {
    "id": "cyan",
    "name": "Cyan",
    "hue": 200,
    "tones": {
     "glow": "#00f4fe",
     "core": "#25c1c8",
     "dim": "#005256",
     "haze": "#132b2c"
    },
    "who": "gopher",
    "site": {
     "name": "gopher",
     "href": "https://gopher.bradley.io",
     "role": "lab"
    },
    "page": "https://meatball.ai/family/cyan/",
    "assets": {
     "mark": "https://meatball.ai/family/assets/cyan/gopher-mark-only.svg",
     "card": null,
     "icon": null
    },
    "slot": {
     "site": "gopher",
     "url": "https://gopher.bradley.io",
     "logos": [
      {
       "label": "As drawn",
       "file": "gopher-as-drawn.svg",
       "ground": "#212526",
       "url": "https://meatball.ai/family/assets/cyan/gopher-as-drawn.svg"
      },
      {
       "label": "Cyan glow on night",
       "file": "gopher-cyan-glow-on-night.svg",
       "ground": "night",
       "url": "https://meatball.ai/family/assets/cyan/gopher-cyan-glow-on-night.svg"
      },
      {
       "label": "Glow on haze",
       "file": "gopher-glow-on-haze.svg",
       "ground": "#132b2c",
       "url": "https://meatball.ai/family/assets/cyan/gopher-glow-on-haze.svg"
      },
      {
       "label": "Dim on paper",
       "file": "gopher-dim-on-paper.svg",
       "ground": "paper",
       "note": "For the rare light background.",
       "url": "https://meatball.ai/family/assets/cyan/gopher-dim-on-paper.svg"
      },
      {
       "label": "Mark only",
       "file": "gopher-mark-only.svg",
       "ground": "#212526",
       "url": "https://meatball.ai/family/assets/cyan/gopher-mark-only.svg"
      },
      {
       "label": "One color",
       "file": "gopher-one-color.svg",
       "ground": "paper",
       "note": "Uses currentColor.",
       "url": "https://meatball.ai/family/assets/cyan/gopher-one-color.svg"
      }
     ],
     "colours": [
      {
       "name": "Electric blue",
       "hex": "#02c6fa"
      },
      {
       "name": "Original ground",
       "hex": "#212526"
      }
     ],
     "fonts": [],
     "note": "The fleet's mascot: goggles on, antennas up. Gopher digs up what is going on near home. Cyan glow on night at home (brand library, 2026-10-19)."
    }
   },
   {
    "id": "ember",
    "name": "Ember",
    "hue": 55,
    "tones": {
     "glow": "#ff8505",
     "core": "#be6515",
     "dim": "#6f3600",
     "haze": "#322318"
    },
    "who": "hotbits",
    "site": {
     "name": "hotbits",
     "href": "https://hotbits.tinymachines.ai",
     "role": "lab"
    },
    "page": "https://meatball.ai/family/ember/",
    "assets": {
     "mark": null,
     "card": "https://meatball.ai/family/assets/ember/hotbits-share-card.png",
     "icon": null
    },
    "slot": {
     "site": "hotbits",
     "url": "https://hotbits.tinymachines.ai",
     "logos": [
      {
       "label": "Share card",
       "file": "hotbits-share-card.png",
       "ground": "paper",
       "wide": true,
       "url": "https://meatball.ai/family/assets/ember/hotbits-share-card.png"
      }
     ],
     "colours": [],
     "fonts": [
      "IBM Plex Mono (readouts)",
      "Archivo (display)",
      "IBM Plex Sans (body)"
     ],
     "note": "Logo on the way; Ember is reserved. hotbits is a TinyKit app at hotbits.tinymachines.ai (its canonical address, Brad 2026-10-15); tinymachines.ai/hotbits still answers."
    }
   },
   {
    "id": "magenta",
    "name": "Magenta",
    "hue": 340,
    "tones": {
     "glow": "#fc00cb",
     "core": "#b61692",
     "dim": "#6a2f58",
     "haze": "#31212b"
    },
    "who": null
   },
   {
    "id": "violet",
    "name": "Violet",
    "hue": 300,
    "tones": {
     "glow": "#9200fe",
     "core": "#5f0fa7",
     "dim": "#503975",
     "haze": "#292333"
    },
    "who": "Flux",
    "site": {
     "name": "Flux",
     "role": "lab",
     "reserved": true
    },
    "page": "https://meatball.ai/family/violet/",
    "assets": {
     "mark": "https://meatball.ai/family/assets/violet/flux-as-drawn.svg",
     "card": null,
     "icon": null
    },
    "slot": {
     "site": "Flux",
     "url": null,
     "logos": [
      {
       "label": "As drawn",
       "file": "flux-as-drawn.svg",
       "ground": "#21172f",
       "url": "https://meatball.ai/family/assets/violet/flux-as-drawn.svg"
      },
      {
       "label": "Violet glow on night",
       "file": "flux-violet-glow-on-night.svg",
       "ground": "night",
       "url": "https://meatball.ai/family/assets/violet/flux-violet-glow-on-night.svg"
      },
      {
       "label": "Glow on haze",
       "file": "flux-glow-on-haze.svg",
       "ground": "#292333",
       "url": "https://meatball.ai/family/assets/violet/flux-glow-on-haze.svg"
      },
      {
       "label": "Dim on paper",
       "file": "flux-dim-on-paper.svg",
       "ground": "paper",
       "note": "For the rare light background.",
       "url": "https://meatball.ai/family/assets/violet/flux-dim-on-paper.svg"
      },
      {
       "label": "One color",
       "file": "flux-one-color.svg",
       "ground": "paper",
       "note": "Uses currentColor.",
       "url": "https://meatball.ai/family/assets/violet/flux-one-color.svg"
      }
     ],
     "colours": [
      {
       "name": "Ring violet",
       "hex": "#946fe9"
      },
      {
       "name": "Lavender",
       "hex": "#cab9fb"
      },
      {
       "name": "Original ground",
       "hex": "#21172f"
      }
     ],
     "fonts": [],
     "note": "Held. Flux: a phi in orbit, Violet glow. Its mark is drawn (brand library, 2026-10-13); no site answers yet, so its dot is named, not linked."
    }
   }
  ]
 },
 "unplaced": []
}
