# Mystro — brace-M identity v2.1

The brace-M combines the name's initial with code brackets. The brackets form
the outer stems; two deliberate breaks separate their tops from the central
arches. Use the supplied geometry, not a typed `{m}` or a traced concept board.

## Positioning and language

**Your product. Powered by private agents.**

For software teams and automation agencies embedding agents in their products.
Explain customer context, connected tools and controlled actions plainly.
Describe availability and privacy from verified product documentation; the logo
does not imply any additional security guarantee. Write Mystro in prose and
use the supplied lowercase wordmark in artwork.

## Logo system

The master is generated by `scripts/build-brand-v2.py`. It is symmetric about
x=130 in a 260 × 140 canvas, with an 18-unit stroke and rounded caps and joins.
Bracket hooks and arch terminals end at y=26; the nominal visible gap is 12 units.
Each bracket has matching inward-facing top and bottom hooks. Preserve both
curves; never shorten the upper hook into a straight vertical terminal.
The center stem starts at the arch junction, with no protruding cap. Small
optical differences between curve apexes and terminals are intentional.

- The wordmark is the brace-M symbol followed by **ystro**. The symbol replaces
  the initial m; never place it beside a second full spelling of mystro. Align
  the symbol to the lettering baseline and optical lowercase height.
- Use the horizontal lockup when the name needs to be recognized; minimum width 160px.
- Use the standalone mark at 48px wide or larger. For 16–32px contexts, use
  the supplied avatar/favicon files and check the actual display size.
- Leave at least one stroke width of clear space outside the visible mark;
  prefer two in headers and cover art. Canvas padding is not the full clear space.
- Keep both gaps open. Do not add outer m stems, close the gaps, rotate, distort,
  apply glow, or place the ivory mark on a light background.
- PNG marks and lockups have transparent backgrounds. The avatar has an ink tile.
- SVG wordmarks combine the symbol with outlined Space Grotesk Medium lettering; no installed font is needed.
  The source typeface and SIL Open Font License are retained in the repository.

## Color and type

| Logo color | Hex | Recommended placement |
|---|---|---|
| Ink | #161616 | Light backgrounds |
| Mineral ivory | #F7F6F2 | Dark backgrounds |
| Signal teal | #0FB5A3 | Logo/artwork on ink |

Signal teal is a graphic accent, not body copy on white. The existing website
continues to use its jade/ivory semantic UI tokens, Space Grotesk and JetBrains
Mono as defined in DESIGN_SYSTEM.md. These new logo colors do not replace shared
UI values or the docs theme. Use the site's existing accessible button styles.

## Applications

- Brand resources page: large ink wordmark, teal mark and download links.
  Keep branding materials on this page; the landing page focuses on the product.
- Brand resources page: present only the current identity and its downloads.
- Favicon: SVG avatar with ICO fallback; 180px touch icon for Apple devices.
- Social sharing: 1200 × 630 ink card, outlined tagline, teal mark.
- Motion: static by default. If animated, reveal once within 300ms and respect
  reduced motion; never orbit or spin the logo continuously.

## Files and reproduction

The ZIP contains ink/ivory/teal SVGs and PNGs for marks, wordmarks and horizontal
lockups; avatar sizes 16–1024px; multi-resolution ICO; touch icon; social card;
these guidelines; font license; and a SHA-256 manifest. Use v2.1 for new brace-M placements. The assets live in `assets/brand/v2.1/`
to avoid cached copies of earlier artwork.

To regenerate, install `scripts/brand-v2-requirements.txt` in a virtual environment,
then run `python scripts/build-brand-v2.py`. Run `node scripts/branding-v2-test.mjs`
to verify asset dimensions, hashes, vector portability and linked downloads.

Concept-generation images and adversarial working notes are not production assets.
