+
# GraphARC
[](https://pypi.org/project/grapharc/)
diff --git a/docs/brand/README.md b/docs/brand/README.md
new file mode 100644
index 0000000..31247f7
--- /dev/null
+++ b/docs/brand/README.md
@@ -0,0 +1,53 @@
+# GraphARC brand assets
+
+The mark is an open arc — the bounded ceiling a governed run executes under, and
+literally the *ARC* — wrapping a three-node graph, the *Graph*. One shape for
+both halves of the name; the gap at the top keeps it from reading as a generic
+ring.
+
+Wordmark is Poppins (Medium for `Graph`, Bold for `ARC`, so the gradient lands
+on the emphasized half). **The type is converted to vector outlines, not ``
+elements**, so every SVG here renders identically without Poppins installed.
+
+## Which file to use
+
+| File | Use for |
+| --- | --- |
+| `grapharc-logo-ondark.svg` | Lockup on a dark background (transparent) — this is the README's dark-mode asset |
+| `grapharc-logo-light.svg` | Lockup on a light background (transparent) |
+| `grapharc-logo-dark.svg` | Lockup with its own dark rounded panel, for placing on an arbitrary background |
+| `grapharc-icon-transparent.svg` | Icon alone, no background |
+| `grapharc-icon-dark.svg` | Icon on a dark rounded square — social avatars, app icons |
+| `grapharc-favicon.svg` + `grapharc-favicon-*.png` | Small sizes only (see below) |
+
+`.png` siblings are 3x raster exports of the same artwork, for contexts that
+cannot take SVG. Prefer the SVG wherever it is accepted.
+
+## Use the favicon file below ~48px
+
+`grapharc-favicon.svg` is not the same artwork scaled down — it carries heavier
+arc and edge strokes and larger nodes, because the standard icon's inner
+triangle turns to mush at favicon sizes. Rasters are provided at 16, 32, 64, 180
+(Apple touch icon) and 512.
+
+## Palette
+
+The gradient runs teal → blue → violet:
+
+| Stop | Icon arc | Inner graph (lighter, for contrast against the arc) |
+| --- | --- | --- |
+| 0% | `#2DD4BF` | `#5EEAD4` |
+| 50–55% | `#3B82F6` | `#60A5FA` |
+| 100% | `#8B5CF6` | `#A78BFA` |
+
+Dark background: `#0B0F19`. Wordmark: `#E7ECF3` on dark, `#0F172A` on light.
+
+## If you edit these
+
+Gradients use `gradientUnits="userSpaceOnUse"`, and that is deliberate rather
+than incidental. Under the default `objectBoundingBox`, a perfectly horizontal
+or vertical stroke has a zero-height (or zero-width) bounding box, which makes
+the gradient undefined — so the element silently does not paint at all. The
+triangle's top edge is exactly that case, and it vanished from the first render
+of this mark for that reason. Keep the user-space units, or that edge disappears
+again with no error anywhere.
diff --git a/docs/brand/grapharc-favicon-16.png b/docs/brand/grapharc-favicon-16.png
new file mode 100644
index 0000000..1eb1dc1
Binary files /dev/null and b/docs/brand/grapharc-favicon-16.png differ
diff --git a/docs/brand/grapharc-favicon-180.png b/docs/brand/grapharc-favicon-180.png
new file mode 100644
index 0000000..4e81f7f
Binary files /dev/null and b/docs/brand/grapharc-favicon-180.png differ
diff --git a/docs/brand/grapharc-favicon-32.png b/docs/brand/grapharc-favicon-32.png
new file mode 100644
index 0000000..b0efff1
Binary files /dev/null and b/docs/brand/grapharc-favicon-32.png differ
diff --git a/docs/brand/grapharc-favicon-512.png b/docs/brand/grapharc-favicon-512.png
new file mode 100644
index 0000000..bbebe77
Binary files /dev/null and b/docs/brand/grapharc-favicon-512.png differ
diff --git a/docs/brand/grapharc-favicon-64.png b/docs/brand/grapharc-favicon-64.png
new file mode 100644
index 0000000..5bef42f
Binary files /dev/null and b/docs/brand/grapharc-favicon-64.png differ
diff --git a/docs/brand/grapharc-favicon.svg b/docs/brand/grapharc-favicon.svg
new file mode 100644
index 0000000..0738c4f
--- /dev/null
+++ b/docs/brand/grapharc-favicon.svg
@@ -0,0 +1,25 @@
+
\ No newline at end of file
diff --git a/docs/brand/grapharc-icon-dark.png b/docs/brand/grapharc-icon-dark.png
new file mode 100644
index 0000000..cf6c402
Binary files /dev/null and b/docs/brand/grapharc-icon-dark.png differ
diff --git a/docs/brand/grapharc-icon-dark.svg b/docs/brand/grapharc-icon-dark.svg
new file mode 100644
index 0000000..0fa86d7
--- /dev/null
+++ b/docs/brand/grapharc-icon-dark.svg
@@ -0,0 +1,25 @@
+
\ No newline at end of file
diff --git a/docs/brand/grapharc-icon-transparent.png b/docs/brand/grapharc-icon-transparent.png
new file mode 100644
index 0000000..bb2392f
Binary files /dev/null and b/docs/brand/grapharc-icon-transparent.png differ
diff --git a/docs/brand/grapharc-icon-transparent.svg b/docs/brand/grapharc-icon-transparent.svg
new file mode 100644
index 0000000..1b16029
--- /dev/null
+++ b/docs/brand/grapharc-icon-transparent.svg
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/docs/brand/grapharc-logo-dark.png b/docs/brand/grapharc-logo-dark.png
new file mode 100644
index 0000000..c9ede04
Binary files /dev/null and b/docs/brand/grapharc-logo-dark.png differ
diff --git a/docs/brand/grapharc-logo-dark.svg b/docs/brand/grapharc-logo-dark.svg
new file mode 100644
index 0000000..82598c4
--- /dev/null
+++ b/docs/brand/grapharc-logo-dark.svg
@@ -0,0 +1,39 @@
+
\ No newline at end of file
diff --git a/docs/brand/grapharc-logo-light.png b/docs/brand/grapharc-logo-light.png
new file mode 100644
index 0000000..1df80db
Binary files /dev/null and b/docs/brand/grapharc-logo-light.png differ
diff --git a/docs/brand/grapharc-logo-light.svg b/docs/brand/grapharc-logo-light.svg
new file mode 100644
index 0000000..4617c12
--- /dev/null
+++ b/docs/brand/grapharc-logo-light.svg
@@ -0,0 +1,38 @@
+
\ No newline at end of file
diff --git a/docs/brand/grapharc-logo-ondark.png b/docs/brand/grapharc-logo-ondark.png
new file mode 100644
index 0000000..62cb8eb
Binary files /dev/null and b/docs/brand/grapharc-logo-ondark.png differ
diff --git a/docs/brand/grapharc-logo-ondark.svg b/docs/brand/grapharc-logo-ondark.svg
new file mode 100644
index 0000000..81a4c6e
--- /dev/null
+++ b/docs/brand/grapharc-logo-ondark.svg
@@ -0,0 +1,38 @@
+
\ No newline at end of file