privateboard 0.1.0
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/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/cli.js +10502 -0
- package/dist/cli.js.map +1 -0
- package/package.json +63 -0
- package/public/adjourn-overlay.css +253 -0
- package/public/agent-overlay.css +444 -0
- package/public/agent-overlay.js +604 -0
- package/public/agent-profile.css +3230 -0
- package/public/agent-profile.js +3329 -0
- package/public/app.js +6629 -0
- package/public/auto-hide-scroll.js +90 -0
- package/public/avatar-skill.js +793 -0
- package/public/avatars/chair.svg +98 -0
- package/public/avatars/first-principles.svg +122 -0
- package/public/avatars/long-horizon.svg +147 -0
- package/public/avatars/open_ai.png +0 -0
- package/public/avatars/phenomenologist.svg +130 -0
- package/public/avatars/socrates.svg +187 -0
- package/public/avatars/user-empathy.svg +117 -0
- package/public/avatars/value-investor.svg +117 -0
- package/public/favicon.svg +10 -0
- package/public/fonts/agent-Italic.woff2 +0 -0
- package/public/fonts/human-sans.woff2 +0 -0
- package/public/icons.css +103 -0
- package/public/models-cache.js +57 -0
- package/public/new-agent.css +1359 -0
- package/public/new-agent.js +675 -0
- package/public/onboarding.css +628 -0
- package/public/onboarding.js +782 -0
- package/public/prototype-dashboard.html +7596 -0
- package/public/report/spines/a16z-thesis.css +1055 -0
- package/public/report/spines/anthropic-essay.css +556 -0
- package/public/report/spines/boardroom-dark.css +1082 -0
- package/public/report/spines/gartner-note.css +538 -0
- package/public/report/spines/mckinsey-deck.css +523 -0
- package/public/report/spines/openai-paper.css +516 -0
- package/public/report.html +1417 -0
- package/public/room-settings.css +895 -0
- package/public/room-settings.js +1039 -0
- package/public/themes.css +338 -0
- package/public/user-settings.css +1236 -0
- package/public/user-settings.js +1291 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════
|
|
2
|
+
THEMES — 5 zsh-inspired palettes + light Atrium
|
|
3
|
+
Plus: chat-content typeface (PPLX Sans variable).
|
|
4
|
+
═══════════════════════════════════════════
|
|
5
|
+
The default (no [data-theme] attribute) is "eastwood"
|
|
6
|
+
and is defined inline in each page's :root block. The
|
|
7
|
+
themes below override the same variables when
|
|
8
|
+
<html data-theme="..."> is set.
|
|
9
|
+
|
|
10
|
+
Specificity note: :root[data-theme="…"] is (0,1,1),
|
|
11
|
+
beats plain :root (0,0,1) regardless of source order.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/* ─── Chat typography: humans vs agents ───
|
|
15
|
+
Human-authored text (the user's messages, input bar, topic
|
|
16
|
+
question) renders in Human Sans. Agent-authored text
|
|
17
|
+
(every director's bubble, intent quotes from agents) renders
|
|
18
|
+
in Agent (an italic-shaped face) so the eye separates the two
|
|
19
|
+
speakers without needing a label.
|
|
20
|
+
|
|
21
|
+
Both faces are declared font-style: normal so their glyphs
|
|
22
|
+
are used directly via font-family — the italic shape of the
|
|
23
|
+
Agent face is baked in. */
|
|
24
|
+
@font-face {
|
|
25
|
+
font-family: "Human Sans";
|
|
26
|
+
src: url("fonts/human-sans.woff2") format("woff2-variations"),
|
|
27
|
+
url("fonts/human-sans.woff2") format("woff2");
|
|
28
|
+
font-weight: 100 900;
|
|
29
|
+
font-style: normal;
|
|
30
|
+
font-display: swap;
|
|
31
|
+
/* Latin + extended + general punctuation only. Without this, the
|
|
32
|
+
browser treats Human Sans as covering all Unicode and never falls
|
|
33
|
+
through to system fonts for CJK — Chinese drops in body text and
|
|
34
|
+
especially in print-to-PDF. */
|
|
35
|
+
unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
|
|
36
|
+
}
|
|
37
|
+
@font-face {
|
|
38
|
+
font-family: "Agent";
|
|
39
|
+
src: url("fonts/agent-Italic.woff2") format("woff2-variations"),
|
|
40
|
+
url("fonts/agent-Italic.woff2") format("woff2");
|
|
41
|
+
font-weight: 100 900;
|
|
42
|
+
font-style: normal;
|
|
43
|
+
font-display: swap;
|
|
44
|
+
unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:root {
|
|
48
|
+
--font-human: "Human Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
49
|
+
/* Agent italic-faced font. ui-sans-serif is a CSS generic keyword
|
|
50
|
+
(must be unquoted) and resolves to the OS default sans-serif before
|
|
51
|
+
hitting -apple-system / system-ui — gives a clean italic synth on
|
|
52
|
+
systems where the bundled "Agent" face fails to load. */
|
|
53
|
+
--font-agent: "Agent", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
54
|
+
/* --sans defaults to the human face — chat input, topic question,
|
|
55
|
+
replies, and live notes use it unless an agent override applies. */
|
|
56
|
+
--sans: var(--font-human);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* ─── ALANPEABODY · cool blue with green git ─── */
|
|
60
|
+
:root[data-theme="alanpeabody"] {
|
|
61
|
+
--bg: #0E1419;
|
|
62
|
+
--panel: #131A21;
|
|
63
|
+
--panel-2: #1A2128;
|
|
64
|
+
--panel-3: #212931;
|
|
65
|
+
--hi: #2A323B;
|
|
66
|
+
|
|
67
|
+
--line: #1B232C;
|
|
68
|
+
--line-bright: #2A323B;
|
|
69
|
+
--line-strong: #3A434E;
|
|
70
|
+
|
|
71
|
+
--text: #C8D0DA;
|
|
72
|
+
--text-soft: #8E96A0;
|
|
73
|
+
--text-dim: #5C6470;
|
|
74
|
+
--text-faint: #3A4148;
|
|
75
|
+
|
|
76
|
+
--lime: #6BAFE0;
|
|
77
|
+
--lime-deep: #3F7AAA;
|
|
78
|
+
--lime-dim: #285678;
|
|
79
|
+
|
|
80
|
+
--amber: #C8A463;
|
|
81
|
+
--amber-dim: #74603A;
|
|
82
|
+
--red: #D67373;
|
|
83
|
+
--red-dim: #6E3A3A;
|
|
84
|
+
--cyan: #6FB5A8;
|
|
85
|
+
--magenta: #9B7FB5;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* ─── AMUSE · magenta + cyan ─── */
|
|
89
|
+
:root[data-theme="amuse"] {
|
|
90
|
+
--bg: #1A0E14;
|
|
91
|
+
--panel: #21121A;
|
|
92
|
+
--panel-2: #29161E;
|
|
93
|
+
--panel-3: #311A23;
|
|
94
|
+
--hi: #391E29;
|
|
95
|
+
|
|
96
|
+
--line: #2B1822;
|
|
97
|
+
--line-bright: #391E29;
|
|
98
|
+
--line-strong: #4D2B3A;
|
|
99
|
+
|
|
100
|
+
--text: #DECBD2;
|
|
101
|
+
--text-soft: #A38B95;
|
|
102
|
+
--text-dim: #6B585F;
|
|
103
|
+
--text-faint: #443239;
|
|
104
|
+
|
|
105
|
+
--lime: #D67BC0;
|
|
106
|
+
--lime-deep: #9C4884;
|
|
107
|
+
--lime-dim: #6B2F58;
|
|
108
|
+
|
|
109
|
+
--amber: #DCBE5D;
|
|
110
|
+
--amber-dim: #75643A;
|
|
111
|
+
--red: #E07F84;
|
|
112
|
+
--red-dim: #743F44;
|
|
113
|
+
--cyan: #6FBFC2;
|
|
114
|
+
--magenta: #D67BC0;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* ─── JTRILEY · bright lime + yellow ─── */
|
|
118
|
+
:root[data-theme="jtriley"] {
|
|
119
|
+
--bg: #0A0F0A;
|
|
120
|
+
--panel: #131914;
|
|
121
|
+
--panel-2: #1A211B;
|
|
122
|
+
--panel-3: #212822;
|
|
123
|
+
--hi: #29322B;
|
|
124
|
+
|
|
125
|
+
--line: #1A211B;
|
|
126
|
+
--line-bright: #29322B;
|
|
127
|
+
--line-strong: #3A463D;
|
|
128
|
+
|
|
129
|
+
--text: #C8D6BE;
|
|
130
|
+
--text-soft: #8E9C84;
|
|
131
|
+
--text-dim: #5C6A52;
|
|
132
|
+
--text-faint: #3A422F;
|
|
133
|
+
|
|
134
|
+
--lime: #B5DA40;
|
|
135
|
+
--lime-deep: #6E8E27;
|
|
136
|
+
--lime-dim: #4A5F1C;
|
|
137
|
+
|
|
138
|
+
--amber: #F0CC4E;
|
|
139
|
+
--amber-dim: #80692C;
|
|
140
|
+
--red: #D67762;
|
|
141
|
+
--red-dim: #6E3D32;
|
|
142
|
+
--cyan: #6FBE9A;
|
|
143
|
+
--magenta: #B57FCB;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* ─── NEBIRHOS · teal-heavy with warm orange ─── */
|
|
147
|
+
:root[data-theme="nebirhos"] {
|
|
148
|
+
--bg: #0A1414;
|
|
149
|
+
--panel: #11201F;
|
|
150
|
+
--panel-2: #142724;
|
|
151
|
+
--panel-3: #1B2E2C;
|
|
152
|
+
--hi: #243938;
|
|
153
|
+
|
|
154
|
+
--line: #1B2E2C;
|
|
155
|
+
--line-bright: #243938;
|
|
156
|
+
--line-strong: #314E4B;
|
|
157
|
+
|
|
158
|
+
--text: #B8D4D0;
|
|
159
|
+
--text-soft: #7E9692;
|
|
160
|
+
--text-dim: #4F6663;
|
|
161
|
+
--text-faint: #2F4543;
|
|
162
|
+
|
|
163
|
+
--lime: #5EB1A6;
|
|
164
|
+
--lime-deep: #357770;
|
|
165
|
+
--lime-dim: #1F4F4A;
|
|
166
|
+
|
|
167
|
+
--amber: #DD9258;
|
|
168
|
+
--amber-dim: #774E30;
|
|
169
|
+
--red: #D87060;
|
|
170
|
+
--red-dim: #6E3B33;
|
|
171
|
+
--cyan: #6FBEC2;
|
|
172
|
+
--magenta: #B58FA6;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* ─── ATRIUM · the only light theme · OpenAI-inspired
|
|
176
|
+
Warm off-white paper, dark forest-green primary.
|
|
177
|
+
Inverts the brightness ordering of the green family:
|
|
178
|
+
on light bg, "dim" must be a paler tint (low contrast)
|
|
179
|
+
while "lime" / "lime-deep" become the dark accents. */
|
|
180
|
+
:root[data-theme="atrium"] {
|
|
181
|
+
--bg: #FBFBF7;
|
|
182
|
+
--panel: #F4F2EC;
|
|
183
|
+
--panel-2: #EAE7DD;
|
|
184
|
+
--panel-3: #DBD7CA;
|
|
185
|
+
--hi: #C5BFAE;
|
|
186
|
+
|
|
187
|
+
--line: #E8E5DA;
|
|
188
|
+
--line-bright: #D2CDB9;
|
|
189
|
+
--line-strong: #ADA690;
|
|
190
|
+
|
|
191
|
+
--text: #1F1E1A;
|
|
192
|
+
--text-soft: #4A4842;
|
|
193
|
+
--text-dim: #7A776E;
|
|
194
|
+
--text-faint: #ADAA9F;
|
|
195
|
+
|
|
196
|
+
--lime: #2E7D32;
|
|
197
|
+
--lime-deep: #1B5E20;
|
|
198
|
+
--lime-dim: #B7CFB8;
|
|
199
|
+
|
|
200
|
+
--amber: #A86C2A;
|
|
201
|
+
--amber-dim: #DCC2A0;
|
|
202
|
+
--red: #A8403D;
|
|
203
|
+
--red-dim: #DBA8A6;
|
|
204
|
+
--cyan: #2E7D7A;
|
|
205
|
+
--magenta: #6E4F73;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* ─── APPLE · pure-white minimalism · Apple.com aesthetic ─────
|
|
209
|
+
Light theme inspired by Apple's brand language: pure-white
|
|
210
|
+
primary background, the iconic #F5F5F7 off-white for cards,
|
|
211
|
+
Apple's near-black #1D1D1F for text, and system-blue #0071E3
|
|
212
|
+
mapped onto --lime (the codebase's primary-accent role) so
|
|
213
|
+
every CTA reads as that signature blue. */
|
|
214
|
+
:root[data-theme="apple"] {
|
|
215
|
+
--bg: #FFFFFF;
|
|
216
|
+
--panel: #F5F5F7;
|
|
217
|
+
--panel-2: #FBFBFD;
|
|
218
|
+
--panel-3: #ECECEE;
|
|
219
|
+
--hi: #D2D2D7;
|
|
220
|
+
|
|
221
|
+
--line: #E5E5EA;
|
|
222
|
+
--line-bright: #D2D2D7;
|
|
223
|
+
--line-strong: #86868B;
|
|
224
|
+
|
|
225
|
+
--text: #1D1D1F;
|
|
226
|
+
--text-soft: #424245;
|
|
227
|
+
--text-dim: #6E6E73;
|
|
228
|
+
--text-faint: #86868B;
|
|
229
|
+
|
|
230
|
+
--lime: #0071E3;
|
|
231
|
+
--lime-deep: #0051A8;
|
|
232
|
+
--lime-dim: #D6E8FA;
|
|
233
|
+
|
|
234
|
+
--amber: #FF9500;
|
|
235
|
+
--amber-dim: #FFE6C2;
|
|
236
|
+
--red: #FF3B30;
|
|
237
|
+
--red-dim: #FFE0DC;
|
|
238
|
+
--cyan: #5AC8FA;
|
|
239
|
+
--magenta: #BF5AF2;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* ─── PINTEREST · clean white surface, signature red accent ───
|
|
243
|
+
Light theme inspired by Pinterest's brand: true-white
|
|
244
|
+
background, soft gray cards, neutral grayscale text, and the
|
|
245
|
+
classic Pinterest red mapped onto --lime (the codebase's
|
|
246
|
+
primary-accent role) so every CTA / selection / live dot reads
|
|
247
|
+
as that signature red. */
|
|
248
|
+
:root[data-theme="pinterest"] {
|
|
249
|
+
--bg: #FFFFFF;
|
|
250
|
+
--panel: #FAFAFA;
|
|
251
|
+
--panel-2: #F1F1F1;
|
|
252
|
+
--panel-3: #E9E9E9;
|
|
253
|
+
--hi: #DDDDDD;
|
|
254
|
+
|
|
255
|
+
--line: #EFEFEF;
|
|
256
|
+
--line-bright: #E2E2E2;
|
|
257
|
+
--line-strong: #B8B8B8;
|
|
258
|
+
|
|
259
|
+
--text: #111111;
|
|
260
|
+
--text-soft: #5F5F5F;
|
|
261
|
+
--text-dim: #767676;
|
|
262
|
+
--text-faint: #B5B5B5;
|
|
263
|
+
|
|
264
|
+
--lime: #E60023;
|
|
265
|
+
--lime-deep: #AD081B;
|
|
266
|
+
--lime-dim: #FFD1D8;
|
|
267
|
+
|
|
268
|
+
--amber: #F4A100;
|
|
269
|
+
--amber-dim: #FCE5A8;
|
|
270
|
+
--red: #E60023;
|
|
271
|
+
--red-dim: #FFD1D8;
|
|
272
|
+
--cyan: #2E7D7A;
|
|
273
|
+
--magenta: #D33682;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/* ─── WEDISAGREE · orange/red-leaning, literal name ─── */
|
|
277
|
+
:root[data-theme="wedisagree"] {
|
|
278
|
+
--bg: #14110E;
|
|
279
|
+
--panel: #1F1A14;
|
|
280
|
+
--panel-2: #2B231A;
|
|
281
|
+
--panel-3: #352B20;
|
|
282
|
+
--hi: #3D3225;
|
|
283
|
+
|
|
284
|
+
--line: #2B231A;
|
|
285
|
+
--line-bright: #3D3225;
|
|
286
|
+
--line-strong: #574635;
|
|
287
|
+
|
|
288
|
+
--text: #D8CBBC;
|
|
289
|
+
--text-soft: #A09280;
|
|
290
|
+
--text-dim: #6F6354;
|
|
291
|
+
--text-faint: #463E33;
|
|
292
|
+
|
|
293
|
+
--lime: #DD7B40;
|
|
294
|
+
--lime-deep: #A8521E;
|
|
295
|
+
--lime-dim: #703613;
|
|
296
|
+
|
|
297
|
+
--amber: #E6B872;
|
|
298
|
+
--amber-dim: #76603A;
|
|
299
|
+
--red: #E26060;
|
|
300
|
+
--red-dim: #7A3535;
|
|
301
|
+
--cyan: #6FB28A;
|
|
302
|
+
--magenta: #C5839E;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/* ─── REGENT · gold-on-warm-dark · the eastwood twin
|
|
306
|
+
The same warm dark palette as the default eastwood, with the
|
|
307
|
+
primary forest-green accent swapped for the warm gold used by
|
|
308
|
+
the report's italic-em mark (#C9A46B). Built for the 私董会
|
|
309
|
+
brand — gold reads "premium / dignified" without shouting. */
|
|
310
|
+
:root[data-theme="regent"] {
|
|
311
|
+
--bg: #0A0A0A;
|
|
312
|
+
--panel: #131312;
|
|
313
|
+
--panel-2: #1A1A18;
|
|
314
|
+
--panel-3: #21211E;
|
|
315
|
+
--hi: #2A2A26;
|
|
316
|
+
|
|
317
|
+
--line: #26241F;
|
|
318
|
+
--line-bright: #3A3934;
|
|
319
|
+
--line-strong: #4D4B45;
|
|
320
|
+
|
|
321
|
+
--text: #C8C5BE;
|
|
322
|
+
--text-soft: #8E8B83;
|
|
323
|
+
--text-dim: #5C5A52;
|
|
324
|
+
--text-faint: #5C5A4D;
|
|
325
|
+
|
|
326
|
+
/* Primary accent (the slot that holds the green in eastwood) is now
|
|
327
|
+
gold. Token names stay `--lime*` so every callsite that already
|
|
328
|
+
references the primary accent keeps working without rewrites. */
|
|
329
|
+
--lime: #C9A46B;
|
|
330
|
+
--lime-deep: #9A7B40;
|
|
331
|
+
--lime-dim: #5C4422;
|
|
332
|
+
--amber: #A57843;
|
|
333
|
+
--amber-dim: #5E441F;
|
|
334
|
+
--red: #B5706A;
|
|
335
|
+
--red-dim: #6B4540;
|
|
336
|
+
--cyan: #6A9B97;
|
|
337
|
+
--magenta: #8E7A8E;
|
|
338
|
+
}
|