privateboard 0.1.19 → 0.1.21

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/public/themes.css CHANGED
@@ -76,22 +76,25 @@
76
76
  /* ─── DARK · regent · warm gold on near-black ───
77
77
  The product's default. Token names use the `--lime*` slot for
78
78
  the primary accent so every call-site that references the
79
- primary keeps working — the actual hue is gold (#C9A46B). */
79
+ primary keeps working — the actual hue is gold (#C9A46B).
80
+ See `docs/theme-system.md` for the full token reference. */
80
81
  :root[data-theme="dark"] {
81
82
  --bg: #0A0A0A;
82
83
  --panel: #131312;
83
84
  --panel-2: #1A1A18;
84
85
  --panel-3: #21211E;
85
86
  --hi: #2A2A26;
87
+ --strip-bg: color-mix(in srgb, var(--lime) 6%, var(--bg)); /* topbar / bottombar — very subtle brand tint */
88
+ --accent-line: color-mix(in srgb, var(--lime) 22%, var(--bg)); /* brand-tinted hairlines for composer chrome */
86
89
 
87
90
  --line: #26241F;
88
91
  --line-bright: #3A3934;
89
- --line-strong: #4D4B45;
92
+ --line-strong: #5A5852; /* raised from #4D4B45 so input frames separate from line-bright */
90
93
 
91
94
  --text: #C8C5BE;
92
95
  --text-soft: #8E8B83;
93
- --text-dim: #5C5A52;
94
- --text-faint: #5C5A4D;
96
+ --text-dim: #7E7B70; /* was #5C5A52; raised to ~4.3:1 vs bg, near WCAG AA */
97
+ --text-faint: #5A5848; /* was #5C5A4D; clearly fainter than dim, OK for hints */
95
98
 
96
99
  --lime: #C9A46B;
97
100
  --lime-deep: #9A7B40;
@@ -107,40 +110,39 @@
107
110
  /* ─── LIGHT · atrium · ChatGPT-style clean white, OpenAI green ───
108
111
  Cool neutral grey palette modelled after chatgpt.com light mode:
109
112
  pure white main area, very-light-grey sidebar, light-grey lines,
110
- crisp near-black text. Replaces the prior warm-cream "atrium"
111
- palette which read as muddy.
112
-
113
- Accent `--lime` is OpenAI brand green (#10A37F). On light
114
- cream the prior gold had marginal contrast (~5.5:1); the OpenAI
115
- green hits a brighter, cleaner accent that matches ChatGPT's
116
- visual language for primary highlights / focus rings / chips.
117
- Dark mode still uses regent gold (#C9A46B) themes can carry
118
- different brand hues; semantic ("primary accent") is preserved.
119
-
120
- Hierarchy delta is intentionally crisp:
121
- bg #FFF (pure white) panel #F9F9F9 (chat-rail grey) →
122
- panel-2 #F4F4F4 → panel-3 #ECECEC → hi #E5E5E5
123
- Each step ~2–3% L which is small but visible because we use
124
- borders (`--line`) to demarcate, not just background fills. */
113
+ crisp near-black text.
114
+
115
+ Hierarchy ladder, each step ~3-5% L for perceptible elevation
116
+ even before borders apply:
117
+ bg #FFF panel #FAFAFA panel-2 #EEEEEE panel-3 #E4E4E4
118
+ hi #D4D4D4
119
+
120
+ Accent `--lime` is OpenAI brand green (#10A37F). Dark mode
121
+ still uses regent gold (#C9A46B); both themes carry their own
122
+ brand hue, the semantic ("primary accent") is preserved across
123
+ both. See `docs/theme-system.md` for why the token is still
124
+ called `--lime` despite the hue swap. */
125
125
  :root[data-theme="light"] {
126
126
  --bg: #FFFFFF;
127
- --panel: #F9F9F9;
128
- --panel-2: #F1F1F1;
129
- --panel-3: #ECECEC;
130
- --hi: #E5E5E5;
131
-
132
- --line: #ECECEC;
133
- --line-bright: #D4D4D8;
134
- --line-strong: #CCCCCC;
135
-
136
- --text: #0D0D0D;
137
- --text-soft: #5D5D5D;
138
- --text-dim: #8E8EA0;
139
- --text-faint: #B4B4B4;
140
-
141
- --lime: #10A37F; /* OpenAI greenprimary accent */
142
- --lime-deep: #0D8868; /* deeper green — hover / active depth */
143
- --lime-dim: #D1FAE5; /* pale mintsubtle bg tints */
127
+ --panel: #FAFAFA; /* was #F9F9F9 — micro-adjust for ladder spacing */
128
+ --panel-2: #EEEEEE; /* was #F1F1F1 — clearer 1-step pop vs panel */
129
+ --panel-3: #E4E4E4; /* was #ECECEC — clearer 2-step */
130
+ --hi: #D4D4D4; /* was #E5E5E5 — visible hover surface */
131
+ --strip-bg: color-mix(in srgb, var(--lime) 6%, var(--bg)); /* topbar / bottombar — very subtle brand tint */
132
+ --accent-line: color-mix(in srgb, var(--lime) 22%, var(--bg)); /* brand-tinted hairlines for composer chrome */
133
+
134
+ --line: #E5E5E5; /* was #ECECEC — actually visible on white (1.10:1) */
135
+ --line-bright: #C8C8CD; /* was #D4D4D8 — clearer everyday border */
136
+ --line-strong: #A6A6AC; /* was #CCCCCC — structural divider / input frame */
137
+
138
+ --text: #0D0D0D; /* primary — 18.7:1 on bg (AAA) */
139
+ --text-soft: #5D5D5D; /* secondary — 7.0:1 (AAA for text > 18pt) */
140
+ --text-dim: #717181; /* was #8E8EA0; lifted to 4.7:1 (AA) for readable */
141
+ --text-faint: #9A9A9A; /* hint level ~2.8:1 for disabled/decoration */
142
+
143
+ --lime: #10A37F; /* OpenAI greenprimary accent */
144
+ --lime-deep: #0D8868; /* deeper green — hover / active depth */
145
+ --lime-dim: #A7E8D0; /* was #D1FAE5 — visible enough for hover / tints */
144
146
 
145
147
  --amber: #C2410C;
146
148
  --amber-dim: #FED7AA;
@@ -150,31 +152,8 @@
150
152
  --magenta: #BE185D;
151
153
  }
152
154
 
153
- /* ─── Light-mode topbar overrides ──────────────────────────────
154
- The classification strips at the top of the new-room / new-agent
155
- modals use `var(--panel-2)`. On the ChatGPT-grey palette, panel-2
156
- is `#F4F4F4` which sits ~1.05:1 vs the modal's `#F9F9F9` panel
157
- the topbar disappears.
158
-
159
- Override with a clearly deeper neutral grey so the strip reads as a
160
- distinct title bar in ChatGPT's clean style (no warm chrome, no dark
161
- olive — just clean grey + crisp hairline). */
162
- /* Composer topbar — the toolbar above the textarea in new-room /
163
- new-agent composers. Defaults to `var(--panel-2)`, which on the
164
- ChatGPT-grey light palette sits ~1:1 vs the surrounding panel.
165
- Bump it one shade deeper in light mode so the toolbar reads as a
166
- distinct strip without disturbing other `--panel-2` consumers. */
167
- :root[data-theme="light"] .cmp-topbar {
168
- background: #E5E4E1;
169
- }
170
-
171
- /* Composer focus ring — `.cmp-input-frame` (new-room) and `.search-card`
172
- default to `--lime-dim` on focus for a "softer" register. On the
173
- light palette `--lime-dim` is the pale mint `#D1FAE5` which reads as
174
- ghost-faded — there's no visible focus signal. Switch to the full
175
- `--lime` (OpenAI green `#10A37F`) so the focused field has a real,
176
- crisp ring matching the new-agent inputs. */
177
- :root[data-theme="light"] .cmp-input-frame:focus-within,
178
- :root[data-theme="light"] .search-card:focus-within {
179
- border-color: var(--lime);
180
- }
155
+ /* No scoped overrides needed.
156
+ - Topbar / classification strips: covered by `--strip-bg`.
157
+ - `.cmp-input-frame` / `.search-card`: default border is `--lime-dim`
158
+ (subtle brand tint), focus is `--lime` (full brand) set inline
159
+ in index.html, no theme-specific override required. */