# Deviant — Brand assets
Canonical brand assets for the Deviant project. Source of truth for logos, icons,
and social-media cards. All primary assets are **SVG** (resolution-independent,
editable in code); PNG exports live under `source/exports/` when tooling
generates them.
## Contents
| Path | Purpose |
|---|---|
| [`palette.md`](palette.md) | Color tokens + typography, extracted from the landing page CSS |
| [`logo/`](logo/) | Wordmarks and combination marks |
| [`icon/`](icon/) | App icons, favicons, the D-mark alone |
| [`social/`](social/) | Open Graph, Twitter card, avatar |
| [`source/`](source/) | Editable working files, exports, raw art |
## Voice — one paragraph
> Deviant exists to enable resistance — by giving users on-chain experience that
> intermediation cannot mediate.
Tagline (short): **Power Your Ideas.**
Tagline (subline): *A response to a default trajectory.*
## The mark
The Deviant mark is a **stylized "D" as an orbital crescent** on a starfield,
with a single acid-yellow dot orbiting the outer ring. It reads two ways:
- Letterform: `D` for Deviant.
- Astronomical: a partial planetary disc with a satellite — the "deviation from
the default trajectory" imagery encoded in the logo itself.
Never redraw the orbital dot inside the ring, never tint it any other color —
the acid yellow (`--acid`) is the load-bearing accent across the whole system.
## Themes
Both themes ship — the landing page respects `data-theme="editorial"` in
`localStorage`; assets should exist for both:
- **signal** (default): starfield ink on cool deep-space blue. Acid `#d6ff3d`.
- **editorial**: near-monochrome charcoal, more graphic. Acid `#c6ff00`.
See [`palette.md`](palette.md) for exact values.
## What to use where
| Surface | Asset | Size |
|---|---|---|
| Browser tab / OS icon | `icon/favicon.svg`, `icon/icon-512.svg` | 64 / 512 |
| App shell splash | `icon/icon-512.svg` | 512 (matches `shells/app/public/icon.svg`) |
| Website header, README | `logo/deviant-wordmark.svg` | 720×180 |
| Print / dark surfaces | `logo/deviant-mark.svg` | 256×256, no background |
| Print / light surfaces | `logo/deviant-mark-onlight.svg` | 256×256, inverted |
| **Open Graph** (Facebook, LinkedIn, Slack unfurls) | `social/og-1200x630.svg` | 1200×630 |
| **Twitter/X post card** (summary_large_image) | `social/twitter-card-1200x675.svg` | 1200×675 (16:9, current spec) |
| **Twitter/X header** (profile banner) | `social/twitter-header-1500x500.svg` | 1500×500 (3:1, with profile-photo safe zone) |
| **Facebook page cover** | `social/facebook-cover-820x312.svg` | 820×312 desktop / 640×360 mobile-safe |
| **LinkedIn company banner** | `social/linkedin-banner-1584x396.svg` | 1584×396 (with profile-photo safe zone) |
| **Instagram feed post** | `social/instagram-square-1080x1080.svg` | 1080×1080 (also works for Discord/Threads) |
| **Social avatar** (X, GitHub, Discord, LinkedIn) | `social/avatar-400x400.svg` | 400×400, round-crop-safe |
## Fonts
Every SVG with text loads the website's own faces (Fraunces + DM Sans +
JetBrains Mono) via a ``
block inside the SVG. That means:
- **In a browser** (opening the SVG directly, or embedding via `
`) the
Google fonts fetch and render — same as the website.
- **In `rsvg-convert` / most SVG-to-PNG renderers** the `@import` is IGNORED
(they don't fetch remote CSS) and the fallback stack applies: Georgia for
display, system sans for body. If pixel-perfect PNG exports matter, either
install Fraunces + DM Sans locally on the export machine, or export from a
browser screenshot instead (see `source/README.md`).
The `