> ## Documentation Index
> Fetch the complete documentation index at: https://dev-doc.dualmindlab.tech/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> These are the DualMind developer and admin docs. The API base URL is https://api.dualmindlab.tech and the local API runs on http://localhost:5079.
> Never send POST, PUT, PATCH or DELETE requests to the production API while developing; use a local API and a development Supabase project.
> Environment variables are documented by name only. Never ask for or print secret values.
> Admin routes under /api/admin require a Supabase access token for a user whose public.users.role is admin. The PUT routes for users, models, providers and threads write every field, so send the full record; PUT /api/admin/keys/{keyId} writes only the fields you send (sending api_key replaces the key).

# Brand and design tokens

> The DualMind colours, type and logos used by the landing page, the arena, the admin panel and both docs sites.

DualMind has one brand with two voices: the landing page's dark, monochrome "two minds" look (cyan and violet), and the arena's warmer product palette (cyan and terra). The docs sites and the admin panel take their accents from the landing page and stay compatible with the arena.

## Colours

<Color variant="table">
  <Color.Row title="The two minds">
    <Color.Item name="cyan" value="#00D9FF" />

    <Color.Item name="violet" value="#8B5CF6" />
  </Color.Row>

  <Color.Row title="Docs accents">
    <Color.Item name="primary" value={{ light: "#09738F", dark: "#00D9FF" }} />

    <Color.Item name="violet" value={{ light: "#7C3AED", dark: "#A78BFA" }} />
  </Color.Row>

  <Color.Row title="Ink and surfaces">
    <Color.Item name="ink" value="#0F1115" />

    <Color.Item name="surface" value="#161A20" />

    <Color.Item name="elevated" value="#1E232B" />

    <Color.Item name="border" value="#2A3038" />

    <Color.Item name="text" value="#E6E8EB" />

    <Color.Item name="muted" value="#8C919A" />
  </Color.Row>

  <Color.Row title="Arena palette">
    <Color.Item name="arena-cyan" value="#4AABC2" />

    <Color.Item name="terra" value="#CB9275" />

    <Color.Item name="teal" value="#577B87" />

    <Color.Item name="cream" value="#FDF4CD" />
  </Color.Row>

  <Color.Row title="Status">
    <Color.Item name="success" value="#10B981" />

    <Color.Item name="warning" value="#F59E0B" />

    <Color.Item name="error" value="#EF4444" />
  </Color.Row>
</Color>

<Note>
  `#00D9FF` is too light for text on white (1.7:1). On light backgrounds use `#09738F` (5.4:1, WCAG AA), which is what the docs use as their light-mode primary.
</Note>

| Token | Where it's defined |
| :- | :- |
| Landing tokens (`--cyan`, `--violet`, `--bg-body`, …) | `Dualmindlabs-landingpage/app/globals.css` |
| Arena tokens (`--color-cyan`, `--color-terra`, …) | `DualMind_UI/css/tokens.css` |
| Docs colours | `docs.json` (`colors`, `background`) and `style.css` in both docs repositories |

## Type

<Columns cols={3}>
  <Card title="Bricolage Grotesque" icon="type">
    The machine voice. Headings and body on the landing page and in the docs. The wordmark is Bricolage 800.
  </Card>

  <Card title="Playfair Display, italic" icon="pen-tool">
    The human voice, used sparingly for one line of emphasis, like the hero on this site's home page.
  </Card>

  <Card title="DM Mono and JetBrains Mono" icon="square-code">
    DM Mono for small uppercase labels; JetBrains Mono for code (shared with the arena, which uses Outfit for UI text).
  </Card>
</Columns>

## Logos

<Columns cols={2}>
  <Frame caption="Wordmark (switches with the theme)">
    <img src="https://mintcdn.com/dualmindlabs/H7iLu_EAu9_ZqrCj/logo/light.svg?fit=max&auto=format&n=H7iLu_EAu9_ZqrCj&q=85&s=640422fa07ba845cc084c7837ff02feb" alt="DUALMIND DEV wordmark for light backgrounds" className="block dark:hidden" style={{ height: "40px", margin: "40px auto" }} width="247" height="32" data-path="logo/light.svg" />

    <img src="https://mintcdn.com/dualmindlabs/H7iLu_EAu9_ZqrCj/logo/dark.svg?fit=max&auto=format&n=H7iLu_EAu9_ZqrCj&q=85&s=7e44a7f083873eeaefbab319cacfdfef" alt="DUALMIND DEV wordmark for dark backgrounds" className="hidden dark:block" style={{ height: "40px", margin: "40px auto" }} width="247" height="32" data-path="logo/dark.svg" />
  </Frame>

  <Frame caption="Emblem (favicon and social)">
    <img src="https://mintcdn.com/dualmindlabs/H7iLu_EAu9_ZqrCj/images/brand/emblem.png?fit=max&auto=format&n=H7iLu_EAu9_ZqrCj&q=85&s=9db468046bae697e20efbb417fa6c298" alt="DualMind DM emblem in cyan and violet" style={{ height: "96px", margin: "12px auto" }} width="192" height="192" data-path="images/brand/emblem.png" />
  </Frame>
</Columns>

<Card title="Usage" icon="ruler">
  * The wordmark is `DUALMIND` in Bricolage 800 caps, followed by a cyan suffix: `LABS` on the landing page, `DOCS` and `DEV` on the docs sites.
  * Wordmarks are SVG paths (no font loading), about 3 KB each.
  * Keep the emblem on dark or neutral backgrounds; don't recolour it.
</Card>

## Components that carry the brand

| Pattern | Class or component | Used on |
| :- | :- | :- |
| Hero with glow and particle field | `.dm-hero`, `.dm-eyebrow`, `.dm-hero-title`, `.dm-human` | Docs home pages |
| Uppercase mono buttons | `.dm-btn`, `.dm-btn-primary`, `.dm-btn-ghost` | Docs home pages |
| Stat strip | `.dm-stats` | Docs home pages |
| Diagrams | Mermaid with captions in `<Frame>` | Architecture and concept pages |

The classes live in `style.css`, which is identical in both docs repositories.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.