@lovenyberg/ove 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/deploy/ove.service +16 -0
- package/package.json +1 -1
- package/src/config.test.ts +6 -0
- package/src/config.ts +5 -1
- package/src/flows.test.ts +1 -1
- package/src/handlers.ts +75 -70
- package/.dockerignore +0 -7
- package/.github/workflows/ci.yml +0 -16
- package/.github/workflows/pages.yml +0 -33
- package/.github/workflows/publish.yml +0 -45
- package/Dockerfile +0 -37
- package/bun.lock +0 -503
- package/bunfig.toml +0 -2
- package/docker-compose.yml +0 -15
- package/docs/examples.md +0 -247
- package/docs/favicon.ico +0 -0
- package/docs/index.html +0 -980
- package/docs/logo.png +0 -0
- package/docs/plans/2026-02-21-codex-runner-design.md +0 -51
- package/docs/plans/2026-02-21-codex-runner-plan.md +0 -475
- package/docs/plans/2026-02-22-repo-autodiscovery-design.md +0 -98
- package/docs/plans/2026-02-22-repo-autodiscovery-plan.md +0 -826
- package/docs/plans/2026-02-23-conversation-repo-memory.md +0 -272
- package/docs/plans/2026-02-25-landing-page-harmonization-design.md +0 -89
- package/docs/plans/2026-02-25-landing-page-harmonization-plan.md +0 -604
- package/logo.png +0 -0
- package/public/logo.png +0 -0
|
@@ -1,604 +0,0 @@
|
|
|
1
|
-
# Landing Page Harmonization Implementation Plan
|
|
2
|
-
|
|
3
|
-
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
|
|
4
|
-
|
|
5
|
-
**Goal:** Restyle `docs/index.html` to match the app's dev-tool aesthetic from `public/index.html`.
|
|
6
|
-
|
|
7
|
-
**Architecture:** Single-file change. Replace CSS variables, swap fonts, add nav bar, compact hero, restyle all components. No new files, no build step, no tests (static HTML).
|
|
8
|
-
|
|
9
|
-
**Tech Stack:** HTML, CSS, Google Fonts (Inter, JetBrains Mono)
|
|
10
|
-
|
|
11
|
-
**Design doc:** `docs/plans/2026-02-25-landing-page-harmonization-design.md`
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
### Task 1: Replace CSS variables and fonts
|
|
16
|
-
|
|
17
|
-
**Files:**
|
|
18
|
-
- Modify: `docs/index.html:1-50` (`:root`, Google Fonts link, body styles)
|
|
19
|
-
|
|
20
|
-
**Step 1: Replace Google Fonts import**
|
|
21
|
-
|
|
22
|
-
Change line 10 from Bitter/Source Serif to Inter + JetBrains Mono:
|
|
23
|
-
|
|
24
|
-
```html
|
|
25
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Step 2: Replace `:root` variables**
|
|
29
|
-
|
|
30
|
-
Replace the entire `:root` block (lines 12-24) with:
|
|
31
|
-
|
|
32
|
-
```css
|
|
33
|
-
:root {
|
|
34
|
-
--bg: #1a1a1a;
|
|
35
|
-
--bg-panel: #161616;
|
|
36
|
-
--bg-item: #1e1e1e;
|
|
37
|
-
--bg-item-hover: #252525;
|
|
38
|
-
--border: #2a2a2a;
|
|
39
|
-
--border-light: #333;
|
|
40
|
-
--text: #e0e0e0;
|
|
41
|
-
--text-dim: #777;
|
|
42
|
-
--text-muted: #555;
|
|
43
|
-
--accent: #8ab4f8;
|
|
44
|
-
--green: #4ade80;
|
|
45
|
-
--red: #f28b82;
|
|
46
|
-
--amber: #fbbf24;
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Step 3: Update body styles**
|
|
51
|
-
|
|
52
|
-
```css
|
|
53
|
-
body {
|
|
54
|
-
font-family: "Inter", system-ui, -apple-system, sans-serif;
|
|
55
|
-
color: var(--text);
|
|
56
|
-
line-height: 1.7;
|
|
57
|
-
background: var(--bg);
|
|
58
|
-
font-size: 16px;
|
|
59
|
-
-webkit-font-smoothing: antialiased;
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**Step 4: Remove grain overlay**
|
|
64
|
-
|
|
65
|
-
Delete the entire `body::after` block (lines 39-48).
|
|
66
|
-
|
|
67
|
-
**Step 5: Commit**
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
git add docs/index.html
|
|
71
|
-
git commit -m "style(landing): replace color palette and fonts with app tokens"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
### Task 2: Add nav bar and compact hero
|
|
77
|
-
|
|
78
|
-
**Files:**
|
|
79
|
-
- Modify: `docs/index.html` — CSS (hero section, new header styles) and HTML (add `<header>`, restructure hero)
|
|
80
|
-
|
|
81
|
-
**Step 1: Add header CSS**
|
|
82
|
-
|
|
83
|
-
Add new styles after the reset (`* { ... }`):
|
|
84
|
-
|
|
85
|
-
```css
|
|
86
|
-
header {
|
|
87
|
-
display: flex;
|
|
88
|
-
align-items: center;
|
|
89
|
-
justify-content: space-between;
|
|
90
|
-
padding: 0.5rem 1rem;
|
|
91
|
-
border-bottom: 1px solid var(--border);
|
|
92
|
-
background: var(--bg-panel);
|
|
93
|
-
position: sticky;
|
|
94
|
-
top: 0;
|
|
95
|
-
z-index: 100;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.header-left {
|
|
99
|
-
display: flex;
|
|
100
|
-
align-items: center;
|
|
101
|
-
gap: 1rem;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.header-logo {
|
|
105
|
-
width: 24px;
|
|
106
|
-
height: 24px;
|
|
107
|
-
border-radius: 3px;
|
|
108
|
-
object-fit: cover;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.header-left h1 {
|
|
112
|
-
font-family: "JetBrains Mono", monospace;
|
|
113
|
-
font-size: 0.85rem;
|
|
114
|
-
font-weight: 600;
|
|
115
|
-
letter-spacing: 0.05em;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
.nav-link {
|
|
119
|
-
color: var(--text-dim);
|
|
120
|
-
text-decoration: none;
|
|
121
|
-
font-family: "JetBrains Mono", monospace;
|
|
122
|
-
font-size: 0.7rem;
|
|
123
|
-
padding: 0.2rem 0.5rem;
|
|
124
|
-
border: 1px solid var(--border);
|
|
125
|
-
border-radius: 3px;
|
|
126
|
-
border-bottom: 1px solid var(--border);
|
|
127
|
-
transition: all 0.15s;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.nav-link:hover {
|
|
131
|
-
color: var(--text);
|
|
132
|
-
border-color: var(--border-light);
|
|
133
|
-
background: var(--bg-item);
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**Step 2: Restyle hero to compact**
|
|
138
|
-
|
|
139
|
-
Replace existing `.hero` and children CSS with:
|
|
140
|
-
|
|
141
|
-
```css
|
|
142
|
-
.hero {
|
|
143
|
-
display: flex;
|
|
144
|
-
align-items: center;
|
|
145
|
-
justify-content: center;
|
|
146
|
-
padding: 64px 32px;
|
|
147
|
-
border-bottom: 1px solid var(--border);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.hero-inner {
|
|
151
|
-
display: grid;
|
|
152
|
-
grid-template-columns: auto 1fr;
|
|
153
|
-
gap: 48px;
|
|
154
|
-
align-items: center;
|
|
155
|
-
max-width: 900px;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
.hero-portrait {
|
|
159
|
-
width: 140px;
|
|
160
|
-
height: 140px;
|
|
161
|
-
border-radius: 4px;
|
|
162
|
-
border: 1px solid var(--border);
|
|
163
|
-
box-shadow: 0 12px 32px rgba(0,0,0,0.3);
|
|
164
|
-
object-fit: cover;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.hero-text h1 {
|
|
168
|
-
font-family: "JetBrains Mono", monospace;
|
|
169
|
-
font-size: 2.5rem;
|
|
170
|
-
font-weight: 700;
|
|
171
|
-
color: var(--text);
|
|
172
|
-
letter-spacing: -0.02em;
|
|
173
|
-
line-height: 1;
|
|
174
|
-
margin-bottom: 6px;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.hero-subtitle {
|
|
178
|
-
font-family: "JetBrains Mono", monospace;
|
|
179
|
-
font-size: 0.8rem;
|
|
180
|
-
color: var(--text-dim);
|
|
181
|
-
font-weight: 400;
|
|
182
|
-
letter-spacing: 0.08em;
|
|
183
|
-
text-transform: uppercase;
|
|
184
|
-
margin-bottom: 20px;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
.hero-quote {
|
|
188
|
-
font-style: italic;
|
|
189
|
-
color: var(--text-dim);
|
|
190
|
-
font-size: 1.05rem;
|
|
191
|
-
line-height: 1.5;
|
|
192
|
-
margin-bottom: 24px;
|
|
193
|
-
max-width: 420px;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
.hero-quote span {
|
|
197
|
-
color: var(--text-muted);
|
|
198
|
-
font-style: normal;
|
|
199
|
-
font-size: 0.8rem;
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
**Step 3: Restyle buttons**
|
|
204
|
-
|
|
205
|
-
```css
|
|
206
|
-
.btn {
|
|
207
|
-
display: inline-block;
|
|
208
|
-
font-family: "JetBrains Mono", monospace;
|
|
209
|
-
font-size: 0.8rem;
|
|
210
|
-
font-weight: 500;
|
|
211
|
-
text-decoration: none;
|
|
212
|
-
padding: 10px 24px;
|
|
213
|
-
border: 1px solid var(--border-light);
|
|
214
|
-
border-bottom: 1px solid var(--border-light);
|
|
215
|
-
color: var(--accent);
|
|
216
|
-
background: transparent;
|
|
217
|
-
border-radius: 3px;
|
|
218
|
-
transition: all 0.15s;
|
|
219
|
-
letter-spacing: 0.02em;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
.btn:hover {
|
|
223
|
-
background: var(--accent);
|
|
224
|
-
color: var(--bg);
|
|
225
|
-
border-color: var(--accent);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
.btn-ghost {
|
|
229
|
-
border-color: var(--border);
|
|
230
|
-
color: var(--text-dim);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
.btn-ghost:hover {
|
|
234
|
-
border-color: var(--text-dim);
|
|
235
|
-
color: var(--text);
|
|
236
|
-
background: transparent;
|
|
237
|
-
}
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
**Step 4: Add header HTML and remove scroll-hint**
|
|
241
|
-
|
|
242
|
-
Add `<header>` element before `<section class="hero">`:
|
|
243
|
-
|
|
244
|
-
```html
|
|
245
|
-
<header>
|
|
246
|
-
<div class="header-left">
|
|
247
|
-
<img class="header-logo" src="logo.png" alt="">
|
|
248
|
-
<h1>ove</h1>
|
|
249
|
-
<a class="nav-link" href="#features">features</a>
|
|
250
|
-
<a class="nav-link" href="#getting-started">setup</a>
|
|
251
|
-
<a class="nav-link" href="#commands">commands</a>
|
|
252
|
-
<a class="nav-link" href="#deploy">deploy</a>
|
|
253
|
-
</div>
|
|
254
|
-
<a class="nav-link" href="https://github.com/jacksoncage/ove">github</a>
|
|
255
|
-
</header>
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
Remove the `<a href="#getting-started" class="scroll-hint">...</a>` element from the hero.
|
|
259
|
-
|
|
260
|
-
Remove the `.hero::before` CSS block (radial gradient).
|
|
261
|
-
|
|
262
|
-
Remove the `.scroll-hint` and `.scroll-hint svg` CSS blocks and the `@keyframes bobDown` animation.
|
|
263
|
-
|
|
264
|
-
**Step 5: Add `id="features"` and `id="commands"`**
|
|
265
|
-
|
|
266
|
-
Add `id="features"` to the "What Ove Does" section and `id="commands"` to the "Commands" section so nav links work.
|
|
267
|
-
|
|
268
|
-
**Step 6: Commit**
|
|
269
|
-
|
|
270
|
-
```bash
|
|
271
|
-
git add docs/index.html
|
|
272
|
-
git commit -m "style(landing): add nav bar and compact hero"
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
### Task 3: Restyle content sections
|
|
278
|
-
|
|
279
|
-
**Files:**
|
|
280
|
-
- Modify: `docs/index.html` — CSS for sections, features, quotes, code blocks, commands, pipeline, footer
|
|
281
|
-
|
|
282
|
-
**Step 1: Update section headers**
|
|
283
|
-
|
|
284
|
-
```css
|
|
285
|
-
h2 {
|
|
286
|
-
font-family: "JetBrains Mono", monospace;
|
|
287
|
-
font-size: 1.3rem;
|
|
288
|
-
font-weight: 700;
|
|
289
|
-
color: var(--text);
|
|
290
|
-
margin-bottom: 8px;
|
|
291
|
-
letter-spacing: -0.01em;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
.section-note {
|
|
295
|
-
color: var(--text-dim);
|
|
296
|
-
font-style: italic;
|
|
297
|
-
margin-bottom: 32px;
|
|
298
|
-
font-size: 0.9rem;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
h3 {
|
|
302
|
-
font-family: "JetBrains Mono", monospace;
|
|
303
|
-
font-size: 0.9rem;
|
|
304
|
-
font-weight: 500;
|
|
305
|
-
color: var(--accent);
|
|
306
|
-
margin: 32px 0 10px;
|
|
307
|
-
letter-spacing: 0.01em;
|
|
308
|
-
}
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
**Step 2: Update features grid**
|
|
312
|
-
|
|
313
|
-
```css
|
|
314
|
-
.features {
|
|
315
|
-
display: grid;
|
|
316
|
-
grid-template-columns: 1fr 1fr;
|
|
317
|
-
gap: 1px;
|
|
318
|
-
background: var(--border);
|
|
319
|
-
border: 1px solid var(--border);
|
|
320
|
-
margin-top: 32px;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
.feature {
|
|
324
|
-
padding: 24px 20px;
|
|
325
|
-
background: var(--bg);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
.feature-label {
|
|
329
|
-
font-family: "JetBrains Mono", monospace;
|
|
330
|
-
font-size: 0.65rem;
|
|
331
|
-
text-transform: uppercase;
|
|
332
|
-
letter-spacing: 0.12em;
|
|
333
|
-
color: var(--text-muted);
|
|
334
|
-
margin-bottom: 8px;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
.feature h3 {
|
|
338
|
-
font-family: "JetBrains Mono", monospace;
|
|
339
|
-
font-size: 0.95rem;
|
|
340
|
-
color: var(--text);
|
|
341
|
-
margin: 0 0 8px;
|
|
342
|
-
font-weight: 500;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
.feature p {
|
|
346
|
-
color: var(--text-dim);
|
|
347
|
-
font-size: 0.85rem;
|
|
348
|
-
line-height: 1.55;
|
|
349
|
-
margin-bottom: 10px;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
.feature code {
|
|
353
|
-
font-family: "JetBrains Mono", monospace;
|
|
354
|
-
font-size: 0.75rem;
|
|
355
|
-
color: var(--accent);
|
|
356
|
-
background: var(--bg-item);
|
|
357
|
-
padding: 3px 8px;
|
|
358
|
-
border: 1px solid var(--border);
|
|
359
|
-
display: inline-block;
|
|
360
|
-
}
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
**Step 3: Update quotes**
|
|
364
|
-
|
|
365
|
-
```css
|
|
366
|
-
.ove-says {
|
|
367
|
-
border-left: 2px solid var(--accent);
|
|
368
|
-
padding: 14px 0 14px 20px;
|
|
369
|
-
margin: 32px 0;
|
|
370
|
-
font-style: italic;
|
|
371
|
-
color: var(--text-dim);
|
|
372
|
-
font-size: 0.95rem;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
.ove-says .attr {
|
|
376
|
-
display: block;
|
|
377
|
-
font-style: normal;
|
|
378
|
-
color: var(--text-muted);
|
|
379
|
-
font-size: 0.75rem;
|
|
380
|
-
margin-top: 6px;
|
|
381
|
-
font-family: "JetBrains Mono", monospace;
|
|
382
|
-
}
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
**Step 4: Update code blocks and inline code**
|
|
386
|
-
|
|
387
|
-
```css
|
|
388
|
-
pre {
|
|
389
|
-
background: var(--bg-panel);
|
|
390
|
-
border: 1px solid var(--border);
|
|
391
|
-
padding: 16px 18px;
|
|
392
|
-
overflow-x: auto;
|
|
393
|
-
font-size: 0.8rem;
|
|
394
|
-
margin: 14px 0;
|
|
395
|
-
line-height: 1.65;
|
|
396
|
-
position: relative;
|
|
397
|
-
border-radius: 3px;
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
pre::before {
|
|
401
|
-
content: attr(data-label);
|
|
402
|
-
position: absolute;
|
|
403
|
-
top: 0;
|
|
404
|
-
right: 0;
|
|
405
|
-
font-family: "JetBrains Mono", monospace;
|
|
406
|
-
font-size: 0.6rem;
|
|
407
|
-
text-transform: uppercase;
|
|
408
|
-
letter-spacing: 0.1em;
|
|
409
|
-
color: var(--text-muted);
|
|
410
|
-
padding: 4px 10px;
|
|
411
|
-
background: var(--bg-item);
|
|
412
|
-
border-left: 1px solid var(--border);
|
|
413
|
-
border-bottom: 1px solid var(--border);
|
|
414
|
-
border-radius: 0 3px 0 3px;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
code {
|
|
418
|
-
font-family: "JetBrains Mono", monospace;
|
|
419
|
-
font-size: 0.85em;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
pre code {
|
|
423
|
-
color: var(--text);
|
|
424
|
-
font-size: 1em;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
p code {
|
|
428
|
-
background: var(--bg-item);
|
|
429
|
-
border: 1px solid var(--border);
|
|
430
|
-
padding: 1px 6px;
|
|
431
|
-
color: var(--accent);
|
|
432
|
-
font-size: 0.82em;
|
|
433
|
-
border-radius: 2px;
|
|
434
|
-
}
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
**Step 5: Update command grid**
|
|
438
|
-
|
|
439
|
-
```css
|
|
440
|
-
.cmd-grid dt {
|
|
441
|
-
font-family: "JetBrains Mono", monospace;
|
|
442
|
-
font-size: 0.78rem;
|
|
443
|
-
color: var(--accent);
|
|
444
|
-
background: var(--bg-panel);
|
|
445
|
-
white-space: nowrap;
|
|
446
|
-
border-right: 1px solid var(--border);
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
.cmd-grid dd {
|
|
450
|
-
color: var(--text-dim);
|
|
451
|
-
}
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
Update `.cmd-grid` border to use `var(--border)` and `dt`/`dd` border-bottom likewise.
|
|
455
|
-
|
|
456
|
-
**Step 6: Update pipeline steps**
|
|
457
|
-
|
|
458
|
-
Replace copper references:
|
|
459
|
-
|
|
460
|
-
```css
|
|
461
|
-
.pipeline .step-n {
|
|
462
|
-
color: var(--text-muted);
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
.pipeline .step-arrow {
|
|
466
|
-
color: var(--border-light);
|
|
467
|
-
}
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
**Step 7: Update install bar**
|
|
471
|
-
|
|
472
|
-
```css
|
|
473
|
-
.install-bar {
|
|
474
|
-
background: var(--bg-panel);
|
|
475
|
-
border-bottom: 1px solid var(--border);
|
|
476
|
-
padding: 16px 32px;
|
|
477
|
-
text-align: center;
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
.install-bar code {
|
|
481
|
-
font-family: "JetBrains Mono", monospace;
|
|
482
|
-
font-size: 0.82rem;
|
|
483
|
-
color: var(--accent);
|
|
484
|
-
letter-spacing: -0.02em;
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
.install-bar code::before {
|
|
488
|
-
content: "$ ";
|
|
489
|
-
color: var(--text-muted);
|
|
490
|
-
}
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
**Step 8: Update links, strong, footer**
|
|
494
|
-
|
|
495
|
-
```css
|
|
496
|
-
a {
|
|
497
|
-
color: var(--accent);
|
|
498
|
-
text-decoration: none;
|
|
499
|
-
border-bottom: 1px solid var(--border);
|
|
500
|
-
transition: border-color 0.15s;
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
a:hover {
|
|
504
|
-
border-bottom-color: var(--accent);
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
strong {
|
|
508
|
-
color: var(--text);
|
|
509
|
-
font-weight: 500;
|
|
510
|
-
}
|
|
511
|
-
```
|
|
512
|
-
|
|
513
|
-
Footer:
|
|
514
|
-
|
|
515
|
-
```css
|
|
516
|
-
footer {
|
|
517
|
-
padding: 40px 32px;
|
|
518
|
-
text-align: center;
|
|
519
|
-
color: var(--text-dim);
|
|
520
|
-
font-size: 0.78rem;
|
|
521
|
-
border-top: 1px solid var(--border);
|
|
522
|
-
font-family: "JetBrains Mono", monospace;
|
|
523
|
-
letter-spacing: 0.02em;
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
footer a {
|
|
527
|
-
color: var(--text-muted);
|
|
528
|
-
border-bottom: none;
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
footer a:hover {
|
|
532
|
-
color: var(--accent);
|
|
533
|
-
}
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
**Step 9: Update numbered steps list**
|
|
537
|
-
|
|
538
|
-
```css
|
|
539
|
-
.steps li::before {
|
|
540
|
-
color: var(--text-muted);
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
.steps li {
|
|
544
|
-
border-bottom: 1px solid var(--border);
|
|
545
|
-
}
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
**Step 10: Update section borders**
|
|
549
|
-
|
|
550
|
-
```css
|
|
551
|
-
.section {
|
|
552
|
-
padding: 64px 0;
|
|
553
|
-
border-bottom: 1px solid var(--border);
|
|
554
|
-
}
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
**Step 11: Update responsive breakpoint**
|
|
558
|
-
|
|
559
|
-
Keep the media query at `max-width: 700px` but ensure all references use new variable names. Specific changes:
|
|
560
|
-
- `.hero-text h1 { font-size: 2rem; }` (was 3rem)
|
|
561
|
-
- `.hero-portrait { width: 120px; height: 120px; }` (was 160px)
|
|
562
|
-
|
|
563
|
-
**Step 12: Update animations**
|
|
564
|
-
|
|
565
|
-
Keep fadeUp animations but update selectors to match new compact hero sizing. No copper references to fix in animations.
|
|
566
|
-
|
|
567
|
-
**Step 13: Commit**
|
|
568
|
-
|
|
569
|
-
```bash
|
|
570
|
-
git add docs/index.html
|
|
571
|
-
git commit -m "style(landing): restyle all content sections with app design tokens"
|
|
572
|
-
```
|
|
573
|
-
|
|
574
|
-
---
|
|
575
|
-
|
|
576
|
-
### Task 4: Verify and clean up
|
|
577
|
-
|
|
578
|
-
**Files:**
|
|
579
|
-
- Modify: `docs/index.html` — final pass
|
|
580
|
-
|
|
581
|
-
**Step 1: Search for any remaining old variable references**
|
|
582
|
-
|
|
583
|
-
Search the file for any remaining `var(--base)`, `var(--surface)`, `var(--raised)`, `var(--subtle)`, `var(--copper`, `var(--text-bright)`, `var(--muted)` references. Replace any found.
|
|
584
|
-
|
|
585
|
-
**Step 2: Search for remaining serif font references**
|
|
586
|
-
|
|
587
|
-
Search for `Bitter`, `Source Serif`, `Georgia`, `serif`. Remove any found.
|
|
588
|
-
|
|
589
|
-
**Step 3: Open in browser and visually verify**
|
|
590
|
-
|
|
591
|
-
Open `docs/index.html` in browser. Check:
|
|
592
|
-
- Nav bar renders with logo, links scroll to sections
|
|
593
|
-
- Hero is compact, not full viewport
|
|
594
|
-
- All text is readable (no warm tones remaining)
|
|
595
|
-
- Code blocks and command grid use blue accent
|
|
596
|
-
- Quotes have blue left border
|
|
597
|
-
- Mobile responsive still works (resize to 400px)
|
|
598
|
-
|
|
599
|
-
**Step 4: Final commit**
|
|
600
|
-
|
|
601
|
-
```bash
|
|
602
|
-
git add docs/index.html
|
|
603
|
-
git commit -m "style(landing): clean up remaining old variable references"
|
|
604
|
-
```
|
package/logo.png
DELETED
|
Binary file
|
package/public/logo.png
DELETED
|
Binary file
|