@vibes.diy/prompts 2.2.10 → 2.2.12

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.
Files changed (112) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +1 -0
  3. package/index.js.map +1 -1
  4. package/json-docs.d.ts +1 -1
  5. package/llms/image-gen.d.ts +2 -0
  6. package/llms/image-gen.js +9 -0
  7. package/llms/image-gen.js.map +1 -0
  8. package/llms/image-gen.md +102 -0
  9. package/llms/index.d.ts +1 -1
  10. package/llms/index.js +3 -3
  11. package/package.json +3 -3
  12. package/prompts.d.ts +6 -0
  13. package/prompts.js +36 -3
  14. package/prompts.js.map +1 -1
  15. package/settings.d.ts +1 -0
  16. package/system-prompt-initial.md +2 -2
  17. package/system-prompt.md +86 -2
  18. package/themes/aether.md +41 -0
  19. package/themes/archive.md +43 -0
  20. package/themes/atelier.md +42 -0
  21. package/themes/atlas.md +42 -0
  22. package/themes/broadsheet.md +20 -0
  23. package/themes/brutalist.md +208 -0
  24. package/themes/capsule.md +47 -0
  25. package/themes/carbon.md +42 -0
  26. package/themes/chrome.md +132 -0
  27. package/themes/chrono.md +33 -0
  28. package/themes/codex.md +45 -0
  29. package/themes/computer-angel-heaven.md +57 -0
  30. package/themes/console.md +46 -0
  31. package/themes/default.md +96 -0
  32. package/themes/desktop.md +49 -0
  33. package/themes/dial.md +46 -0
  34. package/themes/dossier.md +35 -0
  35. package/themes/edge.md +39 -0
  36. package/themes/exemplars/aether/App.jsx +224 -0
  37. package/themes/exemplars/archive/App.jsx +222 -0
  38. package/themes/exemplars/atelier/App.jsx +224 -0
  39. package/themes/exemplars/atlas/App.jsx +216 -0
  40. package/themes/exemplars/broadsheet/App.jsx +216 -0
  41. package/themes/exemplars/brutalist/App.jsx +290 -0
  42. package/themes/exemplars/capsule/App.jsx +216 -0
  43. package/themes/exemplars/carbon/App.jsx +216 -0
  44. package/themes/exemplars/chrome/App.jsx +253 -0
  45. package/themes/exemplars/chrono/App.jsx +222 -0
  46. package/themes/exemplars/codex/App.jsx +224 -0
  47. package/themes/exemplars/computer-angel-heaven/App.jsx +224 -0
  48. package/themes/exemplars/console/App.jsx +216 -0
  49. package/themes/exemplars/default/App.jsx +219 -0
  50. package/themes/exemplars/desktop/App.jsx +224 -0
  51. package/themes/exemplars/dial/App.jsx +216 -0
  52. package/themes/exemplars/dossier/App.jsx +224 -0
  53. package/themes/exemplars/edge/App.jsx +216 -0
  54. package/themes/exemplars/guild/App.jsx +224 -0
  55. package/themes/exemplars/hearth/App.jsx +224 -0
  56. package/themes/exemplars/industrial/App.jsx +224 -0
  57. package/themes/exemplars/matrix/App.jsx +224 -0
  58. package/themes/exemplars/mesh/App.jsx +222 -0
  59. package/themes/exemplars/neomario/App.jsx +222 -0
  60. package/themes/exemplars/neon/App.jsx +224 -0
  61. package/themes/exemplars/nexus/App.jsx +216 -0
  62. package/themes/exemplars/opus/App.jsx +224 -0
  63. package/themes/exemplars/orbit/App.jsx +224 -0
  64. package/themes/exemplars/palate/App.jsx +224 -0
  65. package/themes/exemplars/pitch/App.jsx +222 -0
  66. package/themes/exemplars/poster/App.jsx +222 -0
  67. package/themes/exemplars/proof/App.jsx +224 -0
  68. package/themes/exemplars/recon/App.jsx +216 -0
  69. package/themes/exemplars/rift/App.jsx +224 -0
  70. package/themes/exemplars/rune/App.jsx +224 -0
  71. package/themes/exemplars/scrapbook/App.jsx +222 -0
  72. package/themes/exemplars/sensor/App.jsx +224 -0
  73. package/themes/exemplars/signal/App.jsx +222 -0
  74. package/themes/exemplars/slab/App.jsx +224 -0
  75. package/themes/exemplars/specimen/App.jsx +222 -0
  76. package/themes/exemplars/terminal/App.jsx +224 -0
  77. package/themes/exemplars/vault/App.jsx +222 -0
  78. package/themes/exemplars/winter-sports/App.jsx +224 -0
  79. package/themes/exemplars/zine/App.jsx +214 -0
  80. package/themes/guild.md +44 -0
  81. package/themes/hearth.md +45 -0
  82. package/themes/index.d.ts +11 -0
  83. package/themes/index.js +272 -0
  84. package/themes/index.js.map +1 -0
  85. package/themes/industrial.md +37 -0
  86. package/themes/matrix.md +41 -0
  87. package/themes/mesh.md +42 -0
  88. package/themes/neomario.md +47 -0
  89. package/themes/neon.md +48 -0
  90. package/themes/nexus.md +40 -0
  91. package/themes/opus.md +61 -0
  92. package/themes/orbit.md +46 -0
  93. package/themes/palate.md +35 -0
  94. package/themes/pitch.md +39 -0
  95. package/themes/poster.md +39 -0
  96. package/themes/proof.md +41 -0
  97. package/themes/recon.md +39 -0
  98. package/themes/rift.md +45 -0
  99. package/themes/rune.md +44 -0
  100. package/themes/scrapbook.md +43 -0
  101. package/themes/sensor.md +42 -0
  102. package/themes/signal.md +37 -0
  103. package/themes/slab.md +35 -0
  104. package/themes/specimen.md +21 -0
  105. package/themes/terminal.md +39 -0
  106. package/themes/vault.md +41 -0
  107. package/themes/winter-sports.md +39 -0
  108. package/themes/zine.md +40 -0
  109. package/llms/img-vibes.d.ts +0 -2
  110. package/llms/img-vibes.js +0 -9
  111. package/llms/img-vibes.js.map +0 -1
  112. package/llms/img-vibes.md +0 -167
@@ -0,0 +1,216 @@
1
+ import React, { useEffect, useState } from "react";
2
+
3
+ // Theme: Broadsheet — auto-generated exemplar with prefers-color-scheme.
4
+ // Canonical palette: bg #fff, accent #666.
5
+ // Inverse computed by flipping oklch/hex lightness; tune by hand if needed.
6
+
7
+ const THEME_CSS = `
8
+ :root {
9
+ --bg: #fff;
10
+ --accent: #666;
11
+ --text: rgba(20, 20, 20, 0.92);
12
+ --muted: rgba(20, 20, 20, 0.5);
13
+ --border: rgba(20, 20, 20, 0.14);
14
+ --raised: rgba(255, 255, 255, 0.55);
15
+ --card-bg: rgba(255, 255, 255, 0.85);
16
+ --accent-text: #fafafa;
17
+ }
18
+ @media (prefers-color-scheme: dark) {
19
+ :root {
20
+ --bg: #0f0f0f;
21
+ --accent: #999999;
22
+ --text: rgba(255, 255, 255, 0.92);
23
+ --muted: rgba(255, 255, 255, 0.55);
24
+ --border: rgba(255, 255, 255, 0.18);
25
+ --raised: rgba(255, 255, 255, 0.06);
26
+ --card-bg: rgba(255, 255, 255, 0.04);
27
+ --accent-text: #0a0a0a;
28
+ }
29
+ }
30
+ body { margin: 0; }
31
+ `;
32
+
33
+ export default function App() {
34
+ const [draft, setDraft] = useState("");
35
+
36
+ const c = {
37
+ page: {
38
+ minHeight: "100vh",
39
+ background: "var(--bg)",
40
+ color: "var(--text)",
41
+ fontFamily: "'Helvetica Neue', Helvetica, Arial, sans-serif",
42
+ padding: "3rem 2rem 4rem",
43
+ },
44
+ container: { maxWidth: "56rem", margin: "0 auto" },
45
+ header: { display: "flex", flexDirection: "column", gap: "0.85rem", marginBottom: "2rem" },
46
+ eyebrow: {
47
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
48
+ fontSize: "0.72rem",
49
+ letterSpacing: "0.25em",
50
+ textTransform: "uppercase",
51
+ color: "var(--muted)",
52
+ },
53
+ title: {
54
+ fontSize: "clamp(3rem, 13vw, 10rem)",
55
+ fontWeight: 800,
56
+ letterSpacing: "-0.04em",
57
+ lineHeight: 0.9,
58
+ color: "var(--accent)",
59
+ margin: 0,
60
+ },
61
+ subtitle: {
62
+ fontSize: "1.05rem",
63
+ color: "var(--muted)",
64
+ maxWidth: "32rem",
65
+ lineHeight: 1.5,
66
+ margin: 0,
67
+ },
68
+ modeNote: {
69
+ marginTop: "0.5rem",
70
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
71
+ fontSize: "0.7rem",
72
+ letterSpacing: "0.2em",
73
+ textTransform: "uppercase",
74
+ color: "var(--muted)",
75
+ },
76
+ grid: {
77
+ display: "grid",
78
+ gridTemplateColumns: "repeat(auto-fit, minmax(18rem, 1fr))",
79
+ gap: "1.25rem",
80
+ marginTop: "2.5rem",
81
+ },
82
+ card: {
83
+ background: "var(--card-bg)",
84
+ border: "1px solid var(--border)",
85
+ borderRadius: 14,
86
+ padding: "1.5rem",
87
+ },
88
+ cardTitle: {
89
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
90
+ fontSize: "0.7rem",
91
+ letterSpacing: "0.18em",
92
+ textTransform: "uppercase",
93
+ color: "var(--muted)",
94
+ margin: "0 0 1rem",
95
+ },
96
+ list: { listStyle: "none", margin: 0, padding: 0, display: "flex", flexDirection: "column", gap: "0.55rem" },
97
+ listItem: {
98
+ display: "flex",
99
+ alignItems: "center",
100
+ justifyContent: "space-between",
101
+ gap: "0.75rem",
102
+ padding: "0.7rem 0.85rem",
103
+ borderRadius: 10,
104
+ background: "var(--raised)",
105
+ border: "1px solid var(--border)",
106
+ fontSize: "0.95rem",
107
+ },
108
+ badge: {
109
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
110
+ fontSize: "0.7rem",
111
+ padding: "0.18rem 0.6rem",
112
+ borderRadius: 999,
113
+ background: "var(--accent)",
114
+ color: "var(--accent-text)",
115
+ fontWeight: 600,
116
+ letterSpacing: "0.08em",
117
+ textTransform: "uppercase",
118
+ },
119
+ formRow: { display: "flex", gap: "0.5rem", marginTop: "0.5rem" },
120
+ input: {
121
+ flex: 1,
122
+ background: "var(--raised)",
123
+ color: "var(--text)",
124
+ border: "1px solid var(--border)",
125
+ borderRadius: 10,
126
+ padding: "0.7rem 0.9rem",
127
+ fontFamily: "inherit",
128
+ fontSize: "0.95rem",
129
+ outline: "none",
130
+ },
131
+ button: {
132
+ background: "var(--accent)",
133
+ color: "var(--accent-text)",
134
+ border: "none",
135
+ borderRadius: 10,
136
+ padding: "0.7rem 1.1rem",
137
+ fontFamily: "inherit",
138
+ fontSize: "0.95rem",
139
+ fontWeight: 600,
140
+ cursor: "pointer",
141
+ },
142
+ ghost: {
143
+ background: "transparent",
144
+ color: "var(--text)",
145
+ border: "1px solid var(--border)",
146
+ borderRadius: 10,
147
+ padding: "0.7rem 1.1rem",
148
+ fontFamily: "inherit",
149
+ fontSize: "0.95rem",
150
+ cursor: "pointer",
151
+ },
152
+ buttonRow: { display: "flex", gap: "0.6rem", marginTop: "1.25rem", flexWrap: "wrap" },
153
+ };
154
+
155
+ const items = [
156
+ { id: 1, title: "Daily standup notes", tag: "active" },
157
+ { id: 2, title: "Q3 launch checklist", tag: "draft" },
158
+ { id: 3, title: "Reading list", tag: "synced" },
159
+ ];
160
+
161
+ return (
162
+ <>
163
+ <style>{THEME_CSS}</style>
164
+ <main id="app" style={c.page}>
165
+ <div style={c.container}>
166
+ <header style={c.header}>
167
+ <span style={c.eyebrow}>vibes.diy theme</span>
168
+ <h1 style={c.title}>Broadsheet</h1>
169
+ <p style={c.subtitle}>
170
+ An exemplar app on the Broadsheet theme — list, form, buttons rendered with the catalog tokens.
171
+ </p>
172
+ <div style={c.modeNote}>auto · light + dark via prefers-color-scheme</div>
173
+ </header>
174
+
175
+ <div style={c.grid}>
176
+ <section style={c.card}>
177
+ <h2 style={c.cardTitle}>Recent</h2>
178
+ <ul style={c.list}>
179
+ {items.map((it) => (
180
+ <li key={it.id} style={c.listItem}>
181
+ <span>{it.title}</span>
182
+ <span style={c.badge}>{it.tag}</span>
183
+ </li>
184
+ ))}
185
+ </ul>
186
+ </section>
187
+
188
+ <section style={c.card}>
189
+ <h2 style={c.cardTitle}>New entry</h2>
190
+ <p style={{ ...c.subtitle, fontSize: "0.9rem", marginTop: "0.25rem" }}>Capture a quick thought.</p>
191
+ <div style={c.formRow}>
192
+ <input
193
+ style={c.input}
194
+ placeholder="What's on your mind?"
195
+ value={draft}
196
+ onChange={(e) => setDraft(e.target.value)}
197
+ />
198
+ <button style={c.button} type="button">
199
+ Save
200
+ </button>
201
+ </div>
202
+ <div style={c.buttonRow}>
203
+ <button style={c.button} type="button">
204
+ Primary
205
+ </button>
206
+ <button style={c.ghost} type="button">
207
+ Secondary
208
+ </button>
209
+ </div>
210
+ </section>
211
+ </div>
212
+ </div>
213
+ </main>
214
+ </>
215
+ );
216
+ }
@@ -0,0 +1,290 @@
1
+ import React, { useEffect, useState } from "react";
2
+
3
+ // Theme: Neobrutalist — bold borders, vivid color blocks, Space Grotesk.
4
+ // Light canonical, dark auto-flips via @media (prefers-color-scheme: dark).
5
+ // Border/shadow color flips with the canvas so the chunky offset stays visible.
6
+
7
+ const THEME_CSS = `
8
+ :root {
9
+ --bg: #f5f0e0;
10
+ --card-bg: #ffffff;
11
+ --text: #1a1a2e;
12
+ --border: #1a1a2e;
13
+ --muted: #6b6b80;
14
+ --primary: #DA291C;
15
+ --on-primary: #ffffff;
16
+ --secondary: #fedd00;
17
+ --on-secondary: #1a1a2e;
18
+ --success: #22c55e;
19
+ --info: #3b82f6;
20
+ --shadow: 4px 4px 0 var(--border);
21
+ --shadow-sm: 3px 3px 0 var(--border);
22
+ }
23
+ @media (prefers-color-scheme: dark) {
24
+ :root {
25
+ --bg: oklch(0.18 0.02 280);
26
+ --card-bg: oklch(0.22 0.02 280);
27
+ --text: oklch(0.96 0.01 80);
28
+ --border: oklch(0.96 0.01 80);
29
+ --muted: oklch(0.60 0.03 280);
30
+ --primary: #DA291C;
31
+ --on-primary: #ffffff;
32
+ --secondary: #fedd00;
33
+ --on-secondary: #1a1a2e;
34
+ --success: #22c55e;
35
+ --info: #3b82f6;
36
+ --shadow: 4px 4px 0 var(--border);
37
+ --shadow-sm: 3px 3px 0 var(--border);
38
+ }
39
+ }
40
+ body { margin: 0; }
41
+ `;
42
+
43
+ export default function App() {
44
+ useEffect(() => {
45
+ const link = document.createElement("link");
46
+ link.rel = "stylesheet";
47
+ link.href =
48
+ "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@500;700&display=optional";
49
+ document.head.appendChild(link);
50
+ return () => link.remove();
51
+ }, []);
52
+
53
+ const [draft, setDraft] = useState("");
54
+
55
+ const c = {
56
+ page: {
57
+ minHeight: "100vh",
58
+ background: "var(--bg)",
59
+ color: "var(--text)",
60
+ fontFamily: "'Space Grotesk', sans-serif",
61
+ padding: "2.5rem 1.75rem 4rem",
62
+ },
63
+ container: { maxWidth: "62rem", margin: "0 auto" },
64
+ eyebrow: {
65
+ display: "inline-block",
66
+ fontFamily: "'JetBrains Mono', monospace",
67
+ fontSize: "0.7rem",
68
+ letterSpacing: "0.18em",
69
+ textTransform: "uppercase",
70
+ background: "var(--secondary)",
71
+ color: "var(--on-secondary)",
72
+ border: "2px solid var(--border)",
73
+ padding: "0.25rem 0.7rem",
74
+ boxShadow: "var(--shadow-sm)",
75
+ marginBottom: "1.25rem",
76
+ },
77
+ title: {
78
+ fontSize: "clamp(3.5rem, 14vw, 11rem)",
79
+ fontWeight: 700,
80
+ letterSpacing: "-0.04em",
81
+ lineHeight: 0.85,
82
+ margin: 0,
83
+ textTransform: "uppercase",
84
+ },
85
+ titleAccent: { color: "var(--primary)" },
86
+ subtitle: {
87
+ marginTop: "1rem",
88
+ fontSize: "1.05rem",
89
+ maxWidth: "30rem",
90
+ color: "var(--muted)",
91
+ },
92
+ modeNote: {
93
+ marginTop: "0.75rem",
94
+ fontFamily: "'JetBrains Mono', monospace",
95
+ fontSize: "0.7rem",
96
+ letterSpacing: "0.18em",
97
+ textTransform: "uppercase",
98
+ color: "var(--muted)",
99
+ },
100
+ statsStrip: {
101
+ marginTop: "2rem",
102
+ display: "grid",
103
+ gridTemplateColumns: "repeat(3, 1fr)",
104
+ border: "2px solid var(--border)",
105
+ boxShadow: "var(--shadow)",
106
+ background: "var(--card-bg)",
107
+ },
108
+ statBox: { padding: "1.1rem 1.25rem", borderRight: "2px solid var(--border)" },
109
+ statBoxLast: { padding: "1.1rem 1.25rem" },
110
+ statLabel: {
111
+ fontFamily: "'JetBrains Mono', monospace",
112
+ fontSize: "0.65rem",
113
+ letterSpacing: "0.18em",
114
+ textTransform: "uppercase",
115
+ color: "var(--muted)",
116
+ },
117
+ statValue: {
118
+ fontSize: "2rem",
119
+ fontWeight: 700,
120
+ letterSpacing: "-0.02em",
121
+ marginTop: "0.25rem",
122
+ color: "var(--text)",
123
+ },
124
+ grid: {
125
+ marginTop: "2rem",
126
+ display: "grid",
127
+ gridTemplateColumns: "repeat(auto-fit, minmax(15rem, 1fr))",
128
+ gap: "1.25rem",
129
+ },
130
+ card: {
131
+ background: "var(--card-bg)",
132
+ border: "2px solid var(--border)",
133
+ boxShadow: "var(--shadow)",
134
+ padding: "1.25rem",
135
+ },
136
+ cardTitle: {
137
+ fontFamily: "'JetBrains Mono', monospace",
138
+ fontSize: "0.7rem",
139
+ letterSpacing: "0.18em",
140
+ textTransform: "uppercase",
141
+ margin: "0 0 0.85rem",
142
+ color: "var(--text)",
143
+ },
144
+ list: { listStyle: "none", margin: 0, padding: 0, display: "flex", flexDirection: "column", gap: "0.45rem" },
145
+ listItem: {
146
+ display: "flex",
147
+ justifyContent: "space-between",
148
+ alignItems: "center",
149
+ padding: "0.55rem 0.7rem",
150
+ border: "2px solid var(--border)",
151
+ background: "var(--bg)",
152
+ fontSize: "0.95rem",
153
+ color: "var(--text)",
154
+ },
155
+ tag: {
156
+ fontFamily: "'JetBrains Mono', monospace",
157
+ fontSize: "0.65rem",
158
+ letterSpacing: "0.1em",
159
+ textTransform: "uppercase",
160
+ padding: "0.15rem 0.5rem",
161
+ border: "2px solid var(--border)",
162
+ color: "var(--text)",
163
+ },
164
+ input: {
165
+ width: "100%",
166
+ background: "var(--card-bg)",
167
+ color: "var(--text)",
168
+ border: "2px solid var(--border)",
169
+ padding: "0.7rem 0.85rem",
170
+ fontFamily: "inherit",
171
+ fontSize: "0.95rem",
172
+ outline: "none",
173
+ boxShadow: "var(--shadow-sm)",
174
+ boxSizing: "border-box",
175
+ },
176
+ btn: {
177
+ background: "var(--primary)",
178
+ color: "var(--on-primary)",
179
+ border: "2px solid var(--border)",
180
+ padding: "0.75rem 1.4rem",
181
+ fontFamily: "inherit",
182
+ fontSize: "1rem",
183
+ fontWeight: 700,
184
+ letterSpacing: "0.04em",
185
+ textTransform: "uppercase",
186
+ cursor: "pointer",
187
+ boxShadow: "var(--shadow)",
188
+ marginTop: "0.85rem",
189
+ },
190
+ btnYellow: {
191
+ background: "var(--secondary)",
192
+ color: "var(--on-secondary)",
193
+ border: "2px solid var(--border)",
194
+ padding: "0.7rem 1.2rem",
195
+ fontFamily: "inherit",
196
+ fontSize: "0.95rem",
197
+ fontWeight: 700,
198
+ cursor: "pointer",
199
+ boxShadow: "var(--shadow-sm)",
200
+ },
201
+ btnGhost: {
202
+ background: "var(--card-bg)",
203
+ color: "var(--text)",
204
+ border: "2px solid var(--border)",
205
+ padding: "0.7rem 1.2rem",
206
+ fontFamily: "inherit",
207
+ fontSize: "0.95rem",
208
+ fontWeight: 600,
209
+ cursor: "pointer",
210
+ boxShadow: "var(--shadow-sm)",
211
+ },
212
+ btnRow: { display: "flex", gap: "0.75rem", marginTop: "0.85rem", flexWrap: "wrap" },
213
+ };
214
+
215
+ return (
216
+ <>
217
+ <style>{THEME_CSS}</style>
218
+ <main id="app" style={c.page}>
219
+ <div style={c.container}>
220
+ <span style={c.eyebrow}>vibes.diy theme · 06</span>
221
+ <h1 style={c.title}>
222
+ Neo<span style={c.titleAccent}>brut</span>
223
+ <br />
224
+ alist
225
+ </h1>
226
+ <p style={c.subtitle}>Hard edges. Chunky borders. Color blocks that yell — in either mode.</p>
227
+ <div style={c.modeNote}>auto · light + dark via prefers-color-scheme</div>
228
+
229
+ <div style={c.statsStrip}>
230
+ <div style={c.statBox}>
231
+ <div style={c.statLabel}>Active</div>
232
+ <div style={c.statValue}>42</div>
233
+ </div>
234
+ <div style={c.statBox}>
235
+ <div style={c.statLabel}>Pending</div>
236
+ <div style={c.statValue}>7</div>
237
+ </div>
238
+ <div style={c.statBoxLast}>
239
+ <div style={c.statLabel}>Synced</div>
240
+ <div style={c.statValue}>198</div>
241
+ </div>
242
+ </div>
243
+
244
+ <div style={c.grid}>
245
+ <section style={c.card}>
246
+ <h2 style={c.cardTitle}>Queue</h2>
247
+ <ul style={c.list}>
248
+ <li style={c.listItem}>
249
+ <span>Ship release notes</span>
250
+ <span style={c.tag}>Hot</span>
251
+ </li>
252
+ <li style={c.listItem}>
253
+ <span>Triage inbox</span>
254
+ <span style={c.tag}>Open</span>
255
+ </li>
256
+ <li style={c.listItem}>
257
+ <span>Sync with team</span>
258
+ <span style={c.tag}>Done</span>
259
+ </li>
260
+ </ul>
261
+ </section>
262
+
263
+ <section style={c.card}>
264
+ <h2 style={c.cardTitle}>Add Task</h2>
265
+ <input style={c.input} value={draft} onChange={(e) => setDraft(e.target.value)} placeholder="What's the next move?" />
266
+ <button type="button" style={c.btn}>
267
+ Commit
268
+ </button>
269
+ </section>
270
+
271
+ <section style={c.card}>
272
+ <h2 style={c.cardTitle}>Actions</h2>
273
+ <div style={c.btnRow}>
274
+ <button type="button" style={c.btnYellow}>
275
+ Mark
276
+ </button>
277
+ <button type="button" style={c.btnGhost}>
278
+ Archive
279
+ </button>
280
+ <button type="button" style={c.btnGhost}>
281
+ Skip
282
+ </button>
283
+ </div>
284
+ </section>
285
+ </div>
286
+ </div>
287
+ </main>
288
+ </>
289
+ );
290
+ }