diff --git a/web/index.html b/web/index.html
index 577880e..93ccd21 100644
--- a/web/index.html
+++ b/web/index.html
@@ -4,6 +4,7 @@
+
Vellum
diff --git a/web/public/favicon.png b/web/public/favicon.png
new file mode 100644
index 0000000..ceb767d
Binary files /dev/null and b/web/public/favicon.png differ
diff --git a/web/public/logo.png b/web/public/logo.png
new file mode 100644
index 0000000..84d2f00
Binary files /dev/null and b/web/public/logo.png differ
diff --git a/web/src/app.css b/web/src/app.css
index 5536413..cac4a07 100644
--- a/web/src/app.css
+++ b/web/src/app.css
@@ -5,25 +5,28 @@
:root {
/* ── Surfaces ─────────────────────────────────────────────────────── */
- --bg: #0c0c0e;
- --surface: #141416;
- --surface-2: #1b1b1e;
- --surface-3: #232327;
- --border: #26262a;
- --border-strong: #343439;
+ /* Brand charcoal, taken from the logo's own background (#303030). */
+ --bg: #292929;
+ --surface: #303030;
+ --surface-2: #3a3a3a;
+ --surface-3: #454545;
+ --border: #3d3d3d;
+ --border-strong: #4e4e4e;
/* ── Ink ──────────────────────────────────────────────────────────── */
- --text: #f4f3f5;
- --muted: #a3a1a9;
- --faint: #6d6b75;
+ --text: #f2f2f2;
+ --muted: #b5b5b5;
+ --faint: #868686;
/* ── Emphasis ─────────────────────────────────────────────────────── */
- --accent: #d9a441;
- --accent-hover: #e6b556;
- --accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);
- --accent-text: #1a1204;
- --danger: #e0625c;
- --success: #4fbf83;
+ /* The logo's glow: blue-violet primary, purple secondary. */
+ --accent: #6d7cff;
+ --accent-hover: #8490ff;
+ --accent-soft: color-mix(in srgb, var(--accent) 20%, transparent);
+ --accent-text: #ffffff;
+ --accent-2: #c084fc;
+ --danger: #ff6b6b;
+ --success: #4ade80;
/* ── Type scale (rem, relative to the 15px root) ──────────────────── */
--fs-xs: 0.8rem; /* 12 */
@@ -82,21 +85,22 @@
@media (prefers-color-scheme: light) {
:root {
- --bg: #faf9f7;
+ --bg: #f4f4f5;
--surface: #ffffff;
- --surface-2: #f3f2ef;
- --surface-3: #e9e7e3;
- --border: #e6e4df;
- --border-strong: #d3d0ca;
+ --surface-2: #f0f0f1;
+ --surface-3: #e6e6e8;
+ --border: #e2e2e4;
+ --border-strong: #cfcfd3;
- --text: #17161a;
- --muted: #5f5d66;
- --faint: #8a8791;
+ --text: #1a1a1c;
+ --muted: #5e5e64;
+ --faint: #8a8a90;
- --accent: #a8761c;
- --accent-hover: #8f6414;
+ --accent: #5a6bff;
+ --accent-hover: #4759f0;
--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);
--accent-text: #ffffff;
+ --accent-2: #9333ea;
--danger: #c0392b;
--success: #1f8a4c;
diff --git a/web/src/lib/components/Featured.svelte b/web/src/lib/components/Featured.svelte
index ad9e8c3..6692a29 100644
--- a/web/src/lib/components/Featured.svelte
+++ b/web/src/lib/components/Featured.svelte
@@ -198,7 +198,7 @@
.kicker {
font-size: var(--fs-sm);
font-weight: 600;
- color: var(--accent);
+ color: var(--accent-2);
}
h1 {
font-size: clamp(1.7rem, 3.2vw, 2.5rem);
diff --git a/web/src/lib/components/Login.svelte b/web/src/lib/components/Login.svelte
index 163e532..8ed774b 100644
--- a/web/src/lib/components/Login.svelte
+++ b/web/src/lib/components/Login.svelte
@@ -25,7 +25,7 @@