@bongos/core 1.24.47 → 1.24.49
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/.bongos-core.json +165 -110
- package/config/branding.neutral.json +2 -1
- package/docs/copy-inventory.md +1028 -1028
- package/docs/copy-registry.json +1448 -1448
- package/docs/file-map.md +1 -1
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-readings.json +625 -625
- package/modules/hall-ui/public/ai-studio.html +2 -2
- package/modules/hall-ui/public/atlas.html +2 -2
- package/modules/hall-ui/public/blockers.html +2 -2
- package/modules/hall-ui/public/board-room.html +2 -2
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.css +3 -22
- package/modules/hall-ui/public/collab.html +2 -2
- package/modules/hall-ui/public/commands.html +2 -2
- package/modules/hall-ui/public/controls.css +223 -0
- package/modules/hall-ui/public/copy-desk.html +2 -2
- package/modules/hall-ui/public/deploy.html +2 -2
- package/modules/hall-ui/public/goal-map.html +2 -2
- package/modules/hall-ui/public/goals.css +4 -23
- package/modules/hall-ui/public/goals.html +2 -2
- package/modules/hall-ui/public/government.html +2 -2
- package/modules/hall-ui/public/hall-render.js +1 -1
- package/modules/hall-ui/public/idea.html +2 -2
- package/modules/hall-ui/public/ideas.html +2 -2
- package/modules/hall-ui/public/index.html +5 -5
- package/modules/hall-ui/public/market-watch-item.html +2 -2
- package/modules/hall-ui/public/market-watch-rules.html +2 -2
- package/modules/hall-ui/public/market-watch.html +2 -2
- package/modules/hall-ui/public/modules.html +2 -2
- package/modules/hall-ui/public/money.html +2 -2
- package/modules/hall-ui/public/my-agents.css +3 -25
- package/modules/hall-ui/public/my-agents.html +2 -2
- package/modules/hall-ui/public/oversight.css +3 -17
- package/modules/hall-ui/public/panel.css +6 -48
- package/modules/hall-ui/public/primer.html +2 -2
- package/modules/hall-ui/public/profile.html +2 -2
- package/modules/hall-ui/public/project-settings.html +2 -2
- package/modules/hall-ui/public/roster.html +2 -2
- package/modules/hall-ui/public/settings.html +2 -2
- package/modules/hall-ui/public/shell.js +1 -1
- package/modules/hall-ui/public/speciality-tools.js +14 -14
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +2 -2
- package/modules/hall-ui/public/style.css +31 -255
- package/modules/hall-ui/public/task.html +2 -2
- package/modules/hall-ui/public/thinking.html +2 -2
- package/modules/hall-ui/public/tweak-editor.html +2 -2
- package/modules/hall-ui/public/watch.html +2 -2
- package/modules/hall-ui/public/welcome-boot.css +3 -4
- package/modules/hall-ui/public/welcome-boot.js +5 -3
- package/modules/hall-ui/public/work.html +2 -2
- package/modules/public-landing/public/account.html +1 -5
- package/modules/public-landing/public/assets/cosmos.css +7 -6
- package/modules/public-landing/public/community.html +1 -5
- package/modules/public-landing/public/connections.html +1 -5
- package/modules/public-landing/public/contact.html +1 -5
- package/modules/public-landing/public/guild.html +1 -5
- package/modules/public-landing/public/index.html +5 -8
- package/modules/public-landing/public/invitations.html +1 -5
- package/modules/public-landing/public/privacy.html +1 -5
- package/modules/public-landing/public/projects.html +1 -5
- package/modules/public-landing/public/terms.html +1 -5
- package/modules/raise/views/gate.html +4 -3
- package/modules/raise/views/nda.html +2 -1
- package/modules/raise/views/page.html +4 -3
- package/modules/status-ui/public/index.html +1 -1
- package/modules/status-ui/public/style.css +2 -2
- package/modules/ui-design/public/brand/apple-touch-icon.png +0 -0
- package/modules/ui-design/public/brand/favicon.svg +1 -0
- package/modules/ui-design/public/brand/mark-body.svg +1 -0
- package/modules/ui-design/public/brand/mark-dark.svg +1 -0
- package/modules/ui-design/public/brand/mark-dot.svg +1 -0
- package/modules/ui-design/public/brand/mark-light.svg +1 -0
- package/modules/ui-design/public/brand/mark-mono.svg +1 -0
- package/modules/ui-design/public/brand/mark.svg +21 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/bongos/fitness.js +1 -2
- package/scripts/bongos/gen-brand.js +99 -0
- package/scripts/gds/gen-brand.js +7 -0
- package/src/bongos/platform-visibility-gate.js +6 -3
- package/src/bongos/prelaunch-gate.js +6 -3
- package/src/bongos/serve-internal.js +1 -0
- package/src/brand-mark.js +96 -0
- package/src/branding.js +2 -0
- package/src/hall-look.js +7 -7
- package/src/module-api.js +1 -1
- package/tests/brand_mark.mjs +195 -0
- package/tests/bulk_toolbar.mjs +4 -1
- package/tests/cloud_bongos_pack.mjs +5 -2
- package/tests/hall_board_world.mjs +6 -2
- package/tests/hall_builders_page_pass.mjs +6 -4
- package/tests/hall_controls.mjs +274 -0
- package/tests/hall_loading.mjs +8 -10
- package/tests/hall_oversight_world.mjs +7 -4
- package/tests/hall_record_world.mjs +21 -7
- package/tests/hall_settings_world.mjs +5 -2
- package/tests/loading_mark.mjs +7 -13
- package/tests/nav_permission_atoms.mjs +2 -1
- package/tests/raise.mjs +3 -1
- package/tests/welcome_boot.mjs +5 -2
- package/modules/raise/public/favicon.svg +0 -1
- package/modules/raise/public/logo-ink.svg +0 -1
- package/modules/raise/public/logo-night.svg +0 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
8
|
<title>Studio — {{worldName}}</title>
|
|
9
9
|
<meta name="description" content="Make something with AI in the studio: bring sketches, pictures or a PDF, say what you want, and get an answer and pictures back.">
|
|
10
|
-
<link rel="icon" href="
|
|
10
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
12
12
|
<link rel="stylesheet" href="/builders/studio.css?v=2026-10-09-day">
|
|
13
13
|
<link rel="stylesheet" href="/builders/ai-studio.css?v=2026-10-29-ais1">
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
90
90
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
91
91
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
92
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
92
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
93
93
|
<script src="/builders/palette.js" defer></script>
|
|
94
94
|
<script src="/builders/tweak-editor-lib.js?v=2026-09-28-tw23"></script>
|
|
95
95
|
<script src="/builders/studio-lib.js?v=2026-10-09-day"></script>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Repo Atlas — a self-drawing map of the codebase</title>
|
|
7
7
|
<meta name="description" content="A live, self-generating map of the repository: how context is organized, and the truth of the module structure — clean modules vs the still-fused core.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
93
93
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
94
94
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
95
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
95
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
96
96
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
97
97
|
<script src="/builders/palette.js" defer></script>
|
|
98
98
|
<script src="/builders/atlas.js?v=2026-09-02-index" defer></script>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Blockers — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="What needs the project owner right now, and the work it holds up.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
62
62
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
63
63
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
64
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
64
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
65
65
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
66
66
|
<script src="/builders/palette.js" defer></script>
|
|
67
67
|
<!-- the branding pack's currency label, loaded BEFORE blockers.js. -->
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Board Room — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="The Board Room — where a Full Idea that cleared the completeness grade is ratified, and where the constitution itself is amended.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
64
64
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
65
65
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
66
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
66
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
67
67
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
68
68
|
<script src="/builders/palette.js" defer></script>
|
|
69
69
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
109
109
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers" defer></script>
|
|
110
110
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals" defer></script>
|
|
111
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
111
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark" defer></script>
|
|
112
112
|
<script src="/builders/palette.js" defer></script>
|
|
113
113
|
<script src="/builders/gov-living.js?v=2026-10-09-positions1" defer></script>
|
|
114
114
|
<script src="/builders/gov-feeds.js?v=2026-10-09-living3" defer></script>
|
|
@@ -201,16 +201,8 @@
|
|
|
201
201
|
capitals — .btn-ghost lowercases its label, and this one is a named action the
|
|
202
202
|
owner wrote, so it does not borrow that class. */
|
|
203
203
|
.cb-ask { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 7px 0 0; }
|
|
204
|
-
.cb-ask__door
|
|
205
|
-
|
|
206
|
-
font-size: 12.5px;
|
|
207
|
-
color: var(--accent-ink);
|
|
208
|
-
background: none;
|
|
209
|
-
border: 0;
|
|
210
|
-
padding: 0;
|
|
211
|
-
cursor: pointer;
|
|
212
|
-
}
|
|
213
|
-
.cb-ask__door:hover { text-decoration: underline; }
|
|
204
|
+
/* .cb-ask__door is the shared text button (controls.css, task 1005084): it
|
|
205
|
+
measured 19px tall as a bare text control, under the 24px floor. */
|
|
214
206
|
.cb-ask__copy {
|
|
215
207
|
font: inherit;
|
|
216
208
|
font-size: 12px;
|
|
@@ -290,22 +282,11 @@
|
|
|
290
282
|
condensed to three rows precisely so the page stays readable. */
|
|
291
283
|
.cb-reply-form { margin: 9px 0 0; max-width: var(--measure); }
|
|
292
284
|
.cb-reply-input {
|
|
285
|
+
/* the shared textarea (controls.css, task 1005084); the form only sizes it */
|
|
293
286
|
width: 100%;
|
|
294
|
-
font: inherit;
|
|
295
|
-
font-size: 13px;
|
|
296
287
|
line-height: 1.55;
|
|
297
|
-
color: var(--ink);
|
|
298
|
-
background: var(--glass);
|
|
299
|
-
border: 1px solid var(--rule);
|
|
300
|
-
border-radius: var(--radius-sm);
|
|
301
|
-
padding: 9px 11px;
|
|
302
288
|
resize: vertical;
|
|
303
289
|
}
|
|
304
|
-
/* NO `outline: none` HERE. The shell already draws the hall's one focus ring on
|
|
305
|
-
:focus-visible, and dropping it to style a field is exactly what the hall's
|
|
306
|
-
own audit refuses — it caught this line. The border tint is an ADDITION to
|
|
307
|
-
that ring, not a replacement for it. */
|
|
308
|
-
.cb-reply-input:focus { border-color: var(--accent-ink); }
|
|
309
290
|
.cb-reply-actions { display: flex; gap: 8px; margin: 7px 0 0; }
|
|
310
291
|
|
|
311
292
|
/* ---- the archive (task 1004224) -------------------------------------------
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Collab — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="Builders asking builders for help: what is waiting on you, what you asked, and every open ask across the project.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
163
163
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
164
164
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
165
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
165
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
166
166
|
<script src="/builders/palette.js" defer></script>
|
|
167
167
|
<script src="/builders/collab-lib.js?v=2026-09-24-archive"></script>
|
|
168
168
|
<script src="/builders/collab.js?v=2026-09-24-archive"></script>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Commands — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="Every slash command (skill) and every bongos terminal command this project has: what each does, when to reach for it and what it costs.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
55
55
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
56
56
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
57
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
57
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
58
58
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
59
59
|
<script src="/builders/palette.js" defer></script>
|
|
60
60
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/* modules/hall-ui/public/controls.css — THE HALL'S ONE BUTTON AND ONE FIELD
|
|
2
|
+
(task 1005084, goal 1000138 "One Cloud Bongos design system").
|
|
3
|
+
|
|
4
|
+
The UI audit counted eight main-button heights (24 / 26 / 30 / 34 / 36 / 38 /
|
|
5
|
+
40 / 46px) and five field styles in the hall. This sheet is the one of each
|
|
6
|
+
that replaces them. style.css @imports it right after the shared token sheet,
|
|
7
|
+
so a page sheet can still place a button (margin, align-self, width) but no
|
|
8
|
+
longer re-draws one.
|
|
9
|
+
|
|
10
|
+
THE BUTTON — `.btn` and three modifiers:
|
|
11
|
+
.btn primary: the accent fill with --accent-on, the DARK ink.
|
|
12
|
+
White on the salmon fails AA and DESIGN.md bans it.
|
|
13
|
+
46px, a full pill: DESIGN.md's door height.
|
|
14
|
+
.btn--ghost the quiet sibling: no fill, one hairline, soft ink.
|
|
15
|
+
.btn--sm the row size, for a button that repeats down a list or
|
|
16
|
+
sits in a table: 30px, still over the 24px floor.
|
|
17
|
+
.btn--text a button that reads as a link: no fill, no edge, the
|
|
18
|
+
accent ink, underlined on hover; 24px so it keeps the floor.
|
|
19
|
+
Two sizes, not eight. A page picks the size by where the button lives: once
|
|
20
|
+
on the page → the default; once per row → --sm.
|
|
21
|
+
|
|
22
|
+
THE NAMES PAGES ALREADY WRITE. Markup across ~40 scripts and a dozen tests
|
|
23
|
+
spells the older vocabularies (.btn-accent, .btn-ghost, .td-btn, .pbtn …).
|
|
24
|
+
Renaming them would move nothing on screen, so each joins the shared rule it
|
|
25
|
+
always meant instead, by size and by fill:
|
|
26
|
+
primary .btn-accent .landing__btn .task__claim .td-btn--primary
|
|
27
|
+
.setup-gate__save .pbtn--save .craft-save
|
|
28
|
+
ghost .btn--quiet .btn-ghost .landing__btn--quiet .td-btn .wip__release
|
|
29
|
+
.pbtn .settings-btn .sessions-row__end .event-sound-preview
|
|
30
|
+
small .btn-ghost .task__claim .td-btn .wip__release
|
|
31
|
+
text .cb-ask__door
|
|
32
|
+
A new page writes `.btn` and its modifiers, never a new name.
|
|
33
|
+
|
|
34
|
+
THE FIELD — one text input / select / textarea, `.input` for a field the
|
|
35
|
+
element selectors do not reach. 40px, a pill (a textarea takes the tile
|
|
36
|
+
corner), an edge that clears 3:1 against the card in both modes so the
|
|
37
|
+
field is findable (WCAG 1.4.11), the ink edge on focus inside DESIGN.md's
|
|
38
|
+
two-tone ring.
|
|
39
|
+
|
|
40
|
+
Every colour here is a token or a color-mix of tokens; both terms of every
|
|
41
|
+
mix flip with the mode, so nothing here needs a dark twin.
|
|
42
|
+
tests/hall_controls.mjs measures the pairs in both modes. */
|
|
43
|
+
|
|
44
|
+
/* ---------- the button ---------- */
|
|
45
|
+
.btn, .btn-accent, .btn-ghost, .btn--text,
|
|
46
|
+
.landing__btn, .task__claim, .td-btn, .wip__release, .setup-gate__save,
|
|
47
|
+
.pbtn, .settings-btn, .sessions-row__end, .event-sound-preview, button.craft-save,
|
|
48
|
+
.cb-ask__door {
|
|
49
|
+
display: inline-flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
gap: var(--ds-space-hair);
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
min-height: 46px;
|
|
55
|
+
min-width: 46px;
|
|
56
|
+
padding: 0 var(--ds-space-md);
|
|
57
|
+
font-family: var(--font-body);
|
|
58
|
+
font-size: var(--ds-text-lg);
|
|
59
|
+
font-weight: 500;
|
|
60
|
+
line-height: 1.2;
|
|
61
|
+
text-transform: lowercase;
|
|
62
|
+
text-decoration: none;
|
|
63
|
+
white-space: nowrap;
|
|
64
|
+
/* transparent rather than absent: a modifier that sets only a border COLOUR
|
|
65
|
+
(collab.css's .btn--quiet) cannot paint an edge that was never reserved. */
|
|
66
|
+
border: var(--line) solid transparent;
|
|
67
|
+
border-radius: var(--radius-pill);
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
transition: background-color var(--ds-dur-fast) var(--ds-ease),
|
|
70
|
+
border-color var(--ds-dur-fast) var(--ds-ease),
|
|
71
|
+
color var(--ds-dur-fast) var(--ds-ease);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* primary — the accent door */
|
|
75
|
+
.btn, .btn-accent, .landing__btn, .task__claim, .setup-gate__save {
|
|
76
|
+
color: var(--accent-on);
|
|
77
|
+
background: var(--accent);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.btn:hover:not(:disabled), .btn-accent:hover:not(:disabled), .landing__btn:hover,
|
|
81
|
+
.task__claim:hover:not(:disabled), .setup-gate__save:hover:not(:disabled) {
|
|
82
|
+
color: var(--accent-on);
|
|
83
|
+
background: var(--accent-lift);
|
|
84
|
+
text-decoration: none;
|
|
85
|
+
}
|
|
86
|
+
.btn:disabled, .btn-accent:disabled, .task__claim:disabled, .setup-gate__save:disabled {
|
|
87
|
+
color: var(--ink-faint);
|
|
88
|
+
background: var(--glass);
|
|
89
|
+
border-color: transparent;
|
|
90
|
+
cursor: default;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* ghost — after primary, so `.btn btn--ghost` takes it. Each state is written
|
|
94
|
+
in the same three layers (primary, ghost, primary-on-a-ghost-base) and with
|
|
95
|
+
no :not() in the selector, so a page's own modifier at one class
|
|
96
|
+
(record.css's .td-btn--danger) still wins on source order. */
|
|
97
|
+
.btn--ghost, .btn--quiet, .btn-ghost, .landing__btn--quiet, .td-btn, .wip__release,
|
|
98
|
+
.pbtn, .settings-btn, .sessions-row__end, .event-sound-preview {
|
|
99
|
+
color: var(--ink-soft);
|
|
100
|
+
background: transparent;
|
|
101
|
+
border-color: var(--rule);
|
|
102
|
+
}
|
|
103
|
+
.btn--ghost:hover:not(:disabled), .btn--quiet:hover:not(:disabled), .btn-ghost:hover:not(:disabled),
|
|
104
|
+
.landing__btn--quiet:hover, .td-btn:hover:not(:disabled), .wip__release:hover:not(:disabled),
|
|
105
|
+
.pbtn:hover:not(:disabled), .settings-btn:hover:not(:disabled),
|
|
106
|
+
.sessions-row__end:hover:not(:disabled), .event-sound-preview:hover:not(:disabled) {
|
|
107
|
+
color: var(--ink);
|
|
108
|
+
background: transparent;
|
|
109
|
+
border-color: var(--ink-faint);
|
|
110
|
+
text-decoration: none;
|
|
111
|
+
}
|
|
112
|
+
.btn--ghost:disabled, .btn--quiet:disabled, .btn-ghost:disabled, .td-btn:disabled,
|
|
113
|
+
.wip__release:disabled, .pbtn:disabled, .settings-btn:disabled, .sessions-row__end:disabled,
|
|
114
|
+
.pbtn[aria-disabled="true"], .settings-btn[aria-disabled="true"] {
|
|
115
|
+
color: var(--ink-faint);
|
|
116
|
+
background: transparent;
|
|
117
|
+
border-color: var(--rule-soft);
|
|
118
|
+
cursor: default;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* primary on a ghost base — after ghost, so `.td-btn td-btn--primary` takes it */
|
|
122
|
+
.td-btn--primary, .pbtn--save, .craft-save {
|
|
123
|
+
color: var(--accent-on);
|
|
124
|
+
background: var(--accent);
|
|
125
|
+
border-color: transparent;
|
|
126
|
+
}
|
|
127
|
+
.td-btn--primary:hover:not(:disabled), .pbtn--save:hover:not(:disabled),
|
|
128
|
+
.craft-save:hover:not(:disabled) {
|
|
129
|
+
color: var(--accent-on);
|
|
130
|
+
background: var(--accent-lift);
|
|
131
|
+
border-color: transparent;
|
|
132
|
+
}
|
|
133
|
+
.td-btn--primary:disabled, .pbtn--save:disabled, .craft-save:disabled {
|
|
134
|
+
color: var(--ink-faint);
|
|
135
|
+
background: var(--glass);
|
|
136
|
+
border-color: transparent;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* small — the row size */
|
|
140
|
+
.btn--sm, .btn-ghost, .task__claim, .td-btn, .wip__release {
|
|
141
|
+
min-height: 30px;
|
|
142
|
+
min-width: 30px;
|
|
143
|
+
padding: 0 var(--ds-space-sm);
|
|
144
|
+
font-size: var(--ds-text-sm);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* text — a button that reads as a link: the sentence's own size and case, the
|
|
148
|
+
accent ink, underlined on hover; 24px so it keeps the floor in a line that
|
|
149
|
+
has no rhythm of its own. collab's "Reply" door is one. */
|
|
150
|
+
.btn--text, .cb-ask__door {
|
|
151
|
+
min-height: 24px;
|
|
152
|
+
min-width: 24px;
|
|
153
|
+
padding: 0 2px;
|
|
154
|
+
font-size: inherit;
|
|
155
|
+
font-weight: inherit;
|
|
156
|
+
text-transform: none;
|
|
157
|
+
color: var(--accent-ink);
|
|
158
|
+
background: transparent;
|
|
159
|
+
border-color: transparent;
|
|
160
|
+
}
|
|
161
|
+
.btn--text:hover:not(:disabled), .cb-ask__door:hover:not(:disabled) {
|
|
162
|
+
color: var(--accent-ink);
|
|
163
|
+
background: transparent;
|
|
164
|
+
text-decoration: underline;
|
|
165
|
+
text-underline-offset: 3px;
|
|
166
|
+
}
|
|
167
|
+
.btn--text:disabled { color: var(--ink-faint); background: transparent; }
|
|
168
|
+
|
|
169
|
+
/* Focus keeps the pill. The shell's two-tone ring (style.css :focus-visible)
|
|
170
|
+
sets the tile corner for the general case; a pill under it would square off. */
|
|
171
|
+
.btn:focus-visible, .btn-accent:focus-visible, .btn-ghost:focus-visible,
|
|
172
|
+
.landing__btn:focus-visible, .task__claim:focus-visible, .td-btn:focus-visible,
|
|
173
|
+
.wip__release:focus-visible, .setup-gate__save:focus-visible, .pbtn:focus-visible,
|
|
174
|
+
.settings-btn:focus-visible, .sessions-row__end:focus-visible,
|
|
175
|
+
.event-sound-preview:focus-visible, button.craft-save:focus-visible {
|
|
176
|
+
border-radius: var(--radius-pill);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* ---------- the field ----------
|
|
180
|
+
The four element selectors the hall always styled keep their weight (0,1,1),
|
|
181
|
+
so nothing that leaned on them moves in the cascade. The other text types
|
|
182
|
+
join inside :where(), as a floor a page's own class can still sit on. */
|
|
183
|
+
select, input[type="text"], input[type="search"], textarea,
|
|
184
|
+
:where(input[type="email"], input[type="url"], input[type="number"], input[type="password"]),
|
|
185
|
+
.input {
|
|
186
|
+
box-sizing: border-box;
|
|
187
|
+
min-height: 40px;
|
|
188
|
+
padding: 0 var(--ds-space-sm);
|
|
189
|
+
font-family: var(--font-body);
|
|
190
|
+
font-size: var(--ds-text-md);
|
|
191
|
+
line-height: 1.4;
|
|
192
|
+
color: var(--ink);
|
|
193
|
+
background: transparent;
|
|
194
|
+
/* the edge clears 3:1 on both grounds in both modes; --rule (1.6:1) did not */
|
|
195
|
+
border: var(--line) solid color-mix(in srgb, var(--ink) 60%, var(--bg-card));
|
|
196
|
+
border-radius: var(--radius-pill);
|
|
197
|
+
transition: border-color var(--ds-dur-fast) var(--ds-ease);
|
|
198
|
+
}
|
|
199
|
+
textarea {
|
|
200
|
+
padding: var(--ds-space-xs) var(--ds-space-sm);
|
|
201
|
+
border-radius: var(--radius-sm);
|
|
202
|
+
}
|
|
203
|
+
select:hover, input[type="text"]:hover, input[type="search"]:hover, textarea:hover,
|
|
204
|
+
:where(input[type="email"], input[type="url"], input[type="number"], input[type="password"]):hover,
|
|
205
|
+
.input:hover {
|
|
206
|
+
border-color: var(--ink-faint);
|
|
207
|
+
}
|
|
208
|
+
/* Focus: the ink edge inside the shell's two-tone ring, keeping the field's
|
|
209
|
+
own corner (the ring's rule sets the tile corner for the general case). */
|
|
210
|
+
select:focus-visible, input[type="text"]:focus-visible, input[type="search"]:focus-visible,
|
|
211
|
+
:where(input[type="email"], input[type="url"], input[type="number"], input[type="password"]):focus-visible,
|
|
212
|
+
.input:focus-visible {
|
|
213
|
+
border-color: var(--ink);
|
|
214
|
+
border-radius: var(--radius-pill);
|
|
215
|
+
}
|
|
216
|
+
textarea:focus-visible { border-color: var(--ink); border-radius: var(--radius-sm); }
|
|
217
|
+
select:disabled, input[type="text"]:disabled, input[type="search"]:disabled, textarea:disabled,
|
|
218
|
+
:where(input[type="email"], input[type="url"], input[type="number"], input[type="password"]):disabled,
|
|
219
|
+
.input:disabled {
|
|
220
|
+
opacity: .55;
|
|
221
|
+
cursor: not-allowed;
|
|
222
|
+
}
|
|
223
|
+
select option { background: var(--bg-card); color: var(--ink); }
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Copy desk — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="The artist's queue over the words this project shows people: flagged copy, who flagged it and why, and the duplicated strings nobody has looked at yet.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
181
181
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
182
182
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
183
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
183
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
184
184
|
<script src="/builders/palette.js" defer></script>
|
|
185
185
|
<script src="/builders/hall-kit.js"></script>
|
|
186
186
|
<script src="/builders/copy-desk.js?v=2026-09-01-redesign"></script>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Deploy — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="Move this project onto a newer core and read back the version its box actually serves — the deploy gate, without a shell or an ssh key.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-09-23-changelist1">
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
82
82
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
83
83
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
84
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
84
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
85
85
|
<script src="/builders/palette.js" defer></script>
|
|
86
86
|
<script src="/builders/hall-kit.js"></script>
|
|
87
87
|
<!-- the shared ask card the move is drawn with (task 1004829) -->
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
6
6
|
<title>The sky — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="The whole project, drawn from the ledger: every goal a gravity well sized by its credits, the routes between goals that wait on each other, and a ledger drawer that lists all of it.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<!-- The faces (Manrope, JetBrains Mono) come from the branding pack's font
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
141
141
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
142
142
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
143
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
143
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
144
144
|
<script src="/builders/palette.js" defer></script>
|
|
145
145
|
|
|
146
146
|
<script src="/builders/idea-objects.js?v=2026-09-27-split"></script>
|
|
@@ -92,25 +92,9 @@
|
|
|
92
92
|
.goal-conflicts-card--live .count-pill { background: var(--warn-weak); color: var(--warn); }
|
|
93
93
|
#goal-conflicts-view-card.goal-conflicts-card--live { background: var(--bg-card); border-color: color-mix(in srgb, var(--warn) 42%, transparent); }
|
|
94
94
|
|
|
95
|
-
/*
|
|
96
|
-
.goal-claim-btn
|
|
97
|
-
|
|
98
|
-
height: 24px; padding: 0 12px; border-radius: var(--radius-sm);
|
|
99
|
-
border: var(--line) solid var(--accent); background: var(--accent); color: var(--accent-on);
|
|
100
|
-
font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap;
|
|
101
|
-
}
|
|
102
|
-
.goal-claim-btn:hover:not(:disabled) { background: var(--accent-lift); }
|
|
103
|
-
.goal-claim-btn:disabled { opacity: 0.55; cursor: default; }
|
|
104
|
-
/* task 1828 — Release on the viewer's OWN active claim (ghost, not accent —
|
|
105
|
-
it's the undo of a claim); a muted label for another builder's claim. */
|
|
106
|
-
.goal-release-btn {
|
|
107
|
-
display: inline-flex; align-items: center; justify-content: center;
|
|
108
|
-
height: 24px; padding: 0 12px; border-radius: var(--radius-sm);
|
|
109
|
-
border: var(--line) solid var(--rule); background: var(--bg-card); color: var(--ink-soft);
|
|
110
|
-
font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap;
|
|
111
|
-
}
|
|
112
|
-
.goal-release-btn:hover:not(:disabled) { background: var(--glass); color: var(--ink); }
|
|
113
|
-
.goal-release-btn:disabled { opacity: 0.55; cursor: default; }
|
|
95
|
+
/* The To-do row's Claim and Release are the shared .task__claim / .wip__release
|
|
96
|
+
(controls.css, task 1005084); the old .goal-claim-btn / .goal-release-btn had
|
|
97
|
+
no markup left. */
|
|
114
98
|
.ledger__claimed { font-size: 12px; color: var(--ink-faint); white-space: nowrap; }
|
|
115
99
|
.ledger__action { text-align: right; white-space: nowrap; }
|
|
116
100
|
/* task 1828 — shared "View all N →" foot under a capped band column. */
|
|
@@ -211,10 +195,7 @@
|
|
|
211
195
|
.uat-form { display: flex; flex-direction: column; gap: 8px; }
|
|
212
196
|
.uat-field { display: flex; flex-direction: column; gap: 4px; }
|
|
213
197
|
.uat-field input[type="file"] { min-height: 24px; font: inherit; font-size: 12px; }
|
|
214
|
-
.uat-field textarea {
|
|
215
|
-
font: inherit; font-size: 12.5px; padding: 6px 8px; border-radius: var(--radius);
|
|
216
|
-
border: var(--line) solid var(--rule); background: var(--bg-card); color: var(--ink); resize: vertical;
|
|
217
|
-
}
|
|
198
|
+
.uat-field textarea { resize: vertical; } /* the shared field (controls.css) */
|
|
218
199
|
.uat-check-input { display: inline-flex; align-items: center; gap: 8px; min-height: 24px; cursor: pointer; }
|
|
219
200
|
.uat-check-input input { width: 16px; height: 16px; margin: 0; }
|
|
220
201
|
.uat-hint { margin: 0; }
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Goals — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="Shared goals: progress, members, work remaining, and conflicts — {{worldName}}.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-03-goals1">
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
254
254
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
255
255
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
256
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
256
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
257
257
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
258
258
|
<script src="/builders/palette.js" defer></script>
|
|
259
259
|
<!-- task 1004727: the ONE karma vote control every task/idea list renders -->
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Government — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="How this project is governed — the constitution it runs, the Board Room where Full Ideas are ratified, and the ranks & permissions that administer it.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
158
158
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
159
159
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
160
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
160
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
161
161
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
162
162
|
<script src="/builders/palette.js" defer></script>
|
|
163
163
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
const logo = b.theme && b.theme.logo;
|
|
272
272
|
return logo
|
|
273
273
|
? `<img class="landing__logo" src="${escapeHtml(logo)}" alt="" width="56" height="56" decoding="async">`
|
|
274
|
-
: '<svg class="landing__logo" viewBox="0 0 200 200" aria-hidden="true"><
|
|
274
|
+
: '<svg class="landing__logo" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>';
|
|
275
275
|
}
|
|
276
276
|
|
|
277
277
|
// Strip the hall's chrome (rail, top bar, foot) for the signed-out card —
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Idea — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="One idea, read end to end: its grade, its five answers, how complete they are, who had the thought and who developed it.">
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
54
54
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
55
55
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
56
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
56
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
57
57
|
<script src="/builders/palette.js" defer></script>
|
|
58
58
|
<!-- task-detail.js still owns the #/idea/N and #/blocker/N overlay, so a ref
|
|
59
59
|
written inside an idea's own prose keeps resolving from this page. -->
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
the Full Idea form, which was true when the form was the page and became a
|
|
10
10
|
quiet lie the moment quick filing landed above it. -->
|
|
11
11
|
<meta name="description" content="File a thought in one line, see where it will land, and keep the receipt. Developing it into a Full Idea — five questions with a live completeness score — is a step you take afterwards, on the same page.">
|
|
12
|
-
<link rel="icon" href="
|
|
12
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
13
13
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
14
14
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
15
15
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
229
229
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
230
230
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
231
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
231
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
232
232
|
<script src="/builders/palette.js" defer></script>
|
|
233
233
|
<!-- task 1004727: the ONE karma vote control every task/idea list renders -->
|
|
234
234
|
<script src="/builders/vote-control.js"></script>
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
sends "add a short bio" to the hub's account page, where the bio is edited.
|
|
16
16
|
Empty on an instance with no hub, and the bio half is then not asked for. -->
|
|
17
17
|
<meta name="hub-origin" content="{{hubOrigin}}">
|
|
18
|
-
<link rel="icon" href="
|
|
18
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
19
19
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
20
20
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
21
21
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
22
|
-
<link rel="stylesheet" href="/builders/welcome-boot.css?v=2026-
|
|
22
|
+
<link rel="stylesheet" href="/builders/welcome-boot.css?v=2026-11-07-brand-mark">
|
|
23
23
|
<link rel="stylesheet" href="/builders/hall-ask.css">
|
|
24
24
|
<link rel="stylesheet" href="/builders/home-city.css">
|
|
25
25
|
<link rel="stylesheet" href="/builders/home-gallery.css">
|
|
@@ -106,10 +106,10 @@
|
|
|
106
106
|
BEFORE builders.js so the chrome ids exist when events are wired. -->
|
|
107
107
|
<!-- task 1004785: the first-visit-of-the-day welcome (the tower). Before shell.js, which asks it
|
|
108
108
|
before the craft picker so the two never stack. Home only. -->
|
|
109
|
-
<script src="/builders/welcome-boot.js?v=2026-
|
|
109
|
+
<script src="/builders/welcome-boot.js?v=2026-11-07-brand-mark" defer></script>
|
|
110
110
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers" defer></script>
|
|
111
111
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals" defer></script>
|
|
112
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
112
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark" defer></script>
|
|
113
113
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
114
114
|
<script src="/builders/palette.js" defer></script>
|
|
115
115
|
<!-- task 2166: the shared component kit (window.OTBKit) — pager/ledger/rail.
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
window.OTBHallRender(ctx) once during its own setup. The module
|
|
147
147
|
hall-widget tags the server injects still anchor on builders.js's tag
|
|
148
148
|
below (it matches by filename), so they land between the two. -->
|
|
149
|
-
<script src="/builders/hall-render.js?v=2026-11-
|
|
149
|
+
<script src="/builders/hall-render.js?v=2026-11-07-brand-mark" defer></script>
|
|
150
150
|
<!-- task 1002802 (P06): the profile-completion nudge slice. Exposes
|
|
151
151
|
window.OTBProfileNudge; goal-inbox.js's mount() calls it once it has
|
|
152
152
|
created the #attention-profile div, so load order is not load-bearing. -->
|