Apply the brand: charcoal, blue-violet, purple, and the real logo
Replaces the gold experiment with the actual brand. - Palette: brand charcoal (#303030, sampled from the logo's own background) with the logo's glow as the primary accent (#6d7cff) and its purple (#c084fc) as a secondary. Text is the palette's white / light gray. Light mode re-tuned to the same hues. - Logo: the source mark keyed off its charcoal background to RGBA, cropped to its content bounds, and added as web/public/logo.png. It now appears in the sidebar and on the login screen; a square favicon is derived from it and wired into index.html. - The featured kicker uses the purple secondary, so both brand hues are present without adding a second competing accent. Verified: logo loads in the app, accent resolves to #6d7cff, secondary to #c084fc, surface to #303030.
This commit is contained in:
parent
3d964e6b06
commit
e55686bd21
7 changed files with 38 additions and 44 deletions
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="color-scheme" content="light dark" />
|
||||
<link rel="icon" type="image/png" href="/favicon.png" />
|
||||
<title>Vellum</title>
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
BIN
web/public/favicon.png
Normal file
BIN
web/public/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
BIN
web/public/logo.png
Normal file
BIN
web/public/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
<div class="wrap">
|
||||
<form class="card panel" onsubmit={submit}>
|
||||
<div class="brand">
|
||||
<span class="mark">V</span>
|
||||
<img class="mark" src="/logo.png" alt="" />
|
||||
<h1>Vellum</h1>
|
||||
</div>
|
||||
<p class="muted lead">Sign in to your media server.</p>
|
||||
|
|
@ -87,14 +87,9 @@
|
|||
gap: var(--space-3);
|
||||
}
|
||||
.mark {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 7px;
|
||||
background: var(--accent);
|
||||
color: var(--accent-text);
|
||||
font-weight: 700;
|
||||
height: 38px;
|
||||
width: auto;
|
||||
display: block;
|
||||
}
|
||||
.lead {
|
||||
margin: -8px 0 0;
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
<div class="shell">
|
||||
<aside class="nav">
|
||||
<button class="brand" onclick={() => go({ name: 'home' })}>
|
||||
<span class="mark">V</span>
|
||||
<img class="mark" src="/logo.png" alt="" />
|
||||
<strong>Vellum</strong>
|
||||
</button>
|
||||
|
||||
|
|
@ -193,15 +193,9 @@
|
|||
font-size: 1.071rem;
|
||||
}
|
||||
.mark {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
border-radius: 7px;
|
||||
background: var(--accent);
|
||||
color: var(--accent-text);
|
||||
font-size: .929rem;
|
||||
font-weight: 700;
|
||||
width: auto;
|
||||
display: block;
|
||||
}
|
||||
.links {
|
||||
display: flex;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue