thurview 0.3.0 → 0.4.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/dist/theme.js CHANGED
@@ -110,19 +110,20 @@ export function parseTheme(yaml) {
110
110
  return { theme: r.data, diagnostics };
111
111
  }
112
112
  const DEFAULT_CODE = {
113
- fg: "#e0e0e0",
114
- keyword: "#ff8c8c",
115
- string: "#6eff6e",
116
- function: "#ffb627",
117
- type: "#ffb627",
118
- variable: "#00d9ff",
119
- number: "#ffb627",
120
- comment: "#948a7d",
121
- punctuation: "#948a7d",
122
- operator: "#ff5c54",
123
- tag: "#ff5c54",
113
+ fg: "#e6e8eb",
114
+ keyword: "#ff7b72",
115
+ string: "#a5d6ff",
116
+ function: "#d2a8ff",
117
+ type: "#ffa657",
118
+ variable: "#79c0ff",
119
+ number: "#79c0ff",
120
+ comment: "#8b949e",
121
+ punctuation: "#8b949e",
122
+ operator: "#ff7b72",
123
+ tag: "#7ee787",
124
124
  };
125
- export function shikiTheme(name, code, mode, bg = "#0d0b09") {
125
+ const DEFAULT_CODE_BG = "#0b0d10";
126
+ export function shikiTheme(name, code, mode, bg = DEFAULT_CODE_BG) {
126
127
  const c = { ...DEFAULT_CODE, ...code };
127
128
  return {
128
129
  name,
@@ -232,25 +233,16 @@ export function compileTheme(theme, blobUrl) {
232
233
  "--bg2": c.bg2,
233
234
  "--bg3": c.bg3,
234
235
  "--bg-code": c.code,
235
- "--hud-bg": c.bg2,
236
- "--hud-deep": c.bg,
237
236
  "--fg": c.fg,
238
237
  "--fg2": c.fg2,
239
238
  "--muted": c.muted,
240
239
  "--line": c.line,
241
240
  "--line2": c.line,
242
- "--hud-edge": c.line,
243
241
  "--accent": c.accent,
244
- "--doom": c.accent,
245
- "--doom-bright": c.accent,
246
- "--ember": c.accent,
247
- "--red": c.del ?? c.accent,
248
- "--green": c.link ?? c.ok,
242
+ "--link": c.link,
249
243
  "--ok": c.ok,
250
- "--yellow": c.warn,
251
244
  "--warn": c.warn,
252
245
  "--del": c.del,
253
- "--blue": c.link,
254
246
  "--font-display": theme.fonts.display,
255
247
  "--font-body": theme.fonts.body,
256
248
  "--font-mono": theme.fonts.mono,
@@ -269,13 +261,12 @@ export function compileTheme(theme, blobUrl) {
269
261
  if (c.accent)
270
262
  v.push(`--accent-bg: color-mix(in srgb, ${c.accent} 16%, transparent);`);
271
263
  if (theme.mode === "light")
272
- v.push("color-scheme: light;");
273
- if (theme.shape.glow === false)
274
- v.push("--glow-red: none; --glow-green: none;");
275
- else if (c.accent)
276
- v.push(`--glow-red: 0 0 5px color-mix(in srgb, ${c.accent} 70%, transparent), 0 0 12px color-mix(in srgb, ${c.accent} 40%, transparent);`);
277
- if (theme.shape.bevel === false)
278
- v.push("--bevel: none; --bevel-glow-red: 0 0 0 1px var(--accent);");
264
+ v.push("color-scheme: light; --shadow: 0 1px 2px rgb(0 0 0 / 0.08); --shadow-lg: 0 12px 32px rgb(0 0 0 / 0.14);");
265
+ // retro options, each off in the default skin
266
+ if (theme.shape.glow)
267
+ v.push("--glow: 0 0 5px color-mix(in srgb, var(--accent) 70%, transparent), 0 0 12px color-mix(in srgb, var(--accent) 40%, transparent);");
268
+ if (theme.shape.bevel)
269
+ v.push("--shadow: 0 0 0 1px rgb(0 0 0 / 0.6), inset 1px 1px 0 0 rgb(255 255 255 / 0.14), inset -1px -1px 0 0 rgb(0 0 0 / 0.6);");
279
270
  const out = [];
280
271
  for (const s of theme.fonts.stylesheets)
281
272
  out.push(`@import url("${s}");`);
@@ -285,17 +276,15 @@ export function compileTheme(theme, blobUrl) {
285
276
  out.push(`@font-face { font-family: "${f.family}"; src: url("${blobUrl(f.path)}") format("${fmt}"); font-weight: ${f.weight ?? "400"}; font-style: ${f.style ?? "normal"}; font-display: swap; }`);
286
277
  }
287
278
  out.push(`:root { ${v.join(" ")} }`);
288
- if (theme.shape.scanlines === false)
289
- out.push("body::after { display: none; }");
290
- if (theme.mode === "light")
291
- out.push("body { background-image: none; } .code span[style] { filter: none; }");
279
+ if (theme.shape.scanlines)
280
+ out.push("body::after { content: ''; position: fixed; inset: 0; z-index: 9999; pointer-events: none; background: repeating-linear-gradient(to bottom, transparent 0, transparent 2px, rgb(0 0 0 / 0.1) 2px, rgb(0 0 0 / 0.1) 3px); mix-blend-mode: multiply; }");
292
281
  if (theme.css)
293
282
  out.push(theme.css);
294
283
  return {
295
284
  name: theme.name,
296
285
  ...(theme.source ? { source: theme.source } : {}),
297
286
  css: out.join("\n"),
298
- shiki: shikiTheme(name, theme.code, theme.mode, c.code ?? (theme.mode === "light" ? "#ffffff" : "#0d0b09")),
287
+ shiki: shikiTheme(name, theme.code, theme.mode, c.code ?? (theme.mode === "light" ? "#ffffff" : DEFAULT_CODE_BG)),
299
288
  };
300
289
  }
301
290
  //# sourceMappingURL=theme.js.map
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
package/dist/ui/app.css CHANGED
@@ -1,5 +1,5 @@
1
- /* thurview theme: warm charcoal, blood-red accent, pixel chrome.
2
- Chrome (bars, buttons, panels, headings) is retro; body copy and code stay readable. */
1
+ /* thurview default skin: neutral dark, one calm blue accent, quiet chrome.
2
+ Bars, buttons and panels stay out of the way; body copy and code carry the page. */
3
3
 
4
4
  @font-face {
5
5
  font-family: Inter;
@@ -15,62 +15,37 @@
15
15
  font-display: swap;
16
16
  src: url("/assets/fonts/jetbrains-mono-400.woff2") format("woff2");
17
17
  }
18
- @font-face {
19
- font-family: "Press Start 2P";
20
- font-style: normal;
21
- font-weight: 400;
22
- font-display: swap;
23
- src: url("/assets/fonts/press-start-2p-400.woff2") format("woff2");
24
- }
25
18
 
26
19
  :root {
27
20
  color-scheme: dark;
28
- --bg: #15120f;
29
- --bg2: #1e1a16;
30
- --bg3: #2a241e;
31
- --bg-code: #0d0b09;
32
- --hud-bg: #14110e;
33
- --hud-deep: #0a0807;
34
- --fg: #e0e0e0;
35
- --fg2: #a0a0a0;
36
- --muted: #948a7d;
37
- --line: #36302a;
38
- --line2: #26211c;
39
- --hud-edge: #3a322b;
40
- --accent: #ff5c54;
41
- --red: #ff3b30;
42
- --doom: #e8180b;
43
- --doom-bright: #ff3326;
44
- --ember: #ff5c1f;
45
- --green: #6eff6e;
46
- --yellow: #ffb627;
47
- --purple: #ff8c8c;
48
- --blue: #00d9ff;
49
- --ok: var(--green);
50
- --warn: var(--yellow);
51
- --del: var(--red);
52
- --glow-red: 0 0 5px rgb(255 92 84 / 0.7), 0 0 12px rgb(255 59 48 / 0.4);
53
- --glow-green: 0 0 5px rgb(110 255 110 / 0.7), 0 0 12px rgb(110 255 110 / 0.4);
54
- --bevel-light: rgb(255 255 255 / 0.14);
55
- --bevel-dark: rgb(0 0 0 / 0.62);
56
- --bevel-frame: #07060a;
57
- --bevel:
58
- 0 0 0 2px var(--bevel-frame), inset 2px 2px 0 0 var(--bevel-light),
59
- inset -2px -2px 0 0 var(--bevel-dark);
60
- --bevel-glow-red:
61
- 0 0 0 2px #07060a, 0 0 12px rgb(232 24 11 / 0.5), inset 2px 2px 0 0 var(--bevel-light),
62
- inset -2px -2px 0 0 var(--bevel-dark);
63
- --scanline: rgb(0 0 0 / 0.1);
64
- --add-bg: rgb(110 255 110 / 0.09);
65
- --del-bg: rgb(255 59 48 / 0.12);
66
- --sel: rgb(255 182 39 / 0.14);
67
- --accent-bg: rgb(255 92 84 / 0.14);
68
- --font-display: "Press Start 2P", "JetBrains Mono", monospace;
21
+ --bg: #0f1114;
22
+ --bg2: #161920;
23
+ --bg3: #1e222a;
24
+ --bg-code: #0b0d10;
25
+ --fg: #e6e8eb;
26
+ --fg2: #a9afb8;
27
+ --muted: #737a85;
28
+ --line: #272c35;
29
+ --line2: #1e232b;
30
+ --accent: #6ea8fe;
31
+ --link: var(--accent);
32
+ --ok: #4cc38a;
33
+ --warn: #e5b454;
34
+ --del: #f06a6a;
35
+ --add-bg: rgb(76 195 138 / 0.1);
36
+ --del-bg: rgb(240 106 106 / 0.12);
37
+ --sel: rgb(229 180 84 / 0.14);
38
+ --accent-bg: rgb(110 168 254 / 0.14);
39
+ --shadow: 0 1px 2px rgb(0 0 0 / 0.3);
40
+ --shadow-lg: 0 12px 32px rgb(0 0 0 / 0.45);
41
+ /* text glow on the brand, headings and the active tab; none unless a theme opts in */
42
+ --glow: none;
43
+ --font-display: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
69
44
  --font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;
70
45
  --font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
71
- --transition: 200ms ease;
72
- --radius: 0;
73
- --heading-transform: uppercase;
46
+ --transition: 150ms ease;
47
+ --radius: 6px;
48
+ --heading-transform: none;
74
49
  }
75
50
  * {
76
51
  box-sizing: border-box;
@@ -81,99 +56,74 @@ body {
81
56
  height: 100%;
82
57
  }
83
58
  body {
84
- background: var(--bg) radial-gradient(ellipse at 50% -10%, rgb(255 59 48 / 0.05), transparent 55%)
85
- fixed;
59
+ background: var(--bg);
86
60
  color: var(--fg);
87
61
  font: 14px/1.55 var(--font-body);
88
62
  -webkit-font-smoothing: antialiased;
89
63
  overflow: hidden;
90
64
  }
91
- /* CRT scanlines, click-through, subtle enough for code */
92
- body::after {
93
- content: "";
94
- position: fixed;
95
- inset: 0;
96
- z-index: 9999;
97
- pointer-events: none;
98
- background: repeating-linear-gradient(
99
- to bottom,
100
- transparent 0,
101
- transparent 2px,
102
- var(--scanline) 2px,
103
- var(--scanline) 3px
104
- );
105
- mix-blend-mode: multiply;
106
- }
107
65
  a {
108
- color: var(--green);
66
+ color: var(--link);
109
67
  text-decoration: none;
110
- transition:
111
- color var(--transition),
112
- text-shadow var(--transition);
68
+ transition: color var(--transition);
113
69
  }
114
70
  a:hover {
115
- text-shadow: var(--glow-green);
71
+ text-decoration: underline;
116
72
  }
117
73
  ::selection {
118
- background: rgb(255 92 84 / 0.35);
74
+ background: rgb(110 168 254 / 0.3);
119
75
  }
120
76
 
121
77
  button {
122
78
  white-space: nowrap;
123
79
  font-family: var(--font-display);
124
- font-size: 0.5rem;
125
- text-transform: uppercase;
126
- letter-spacing: 0.04em;
80
+ font-size: 12.5px;
81
+ font-weight: 500;
127
82
  line-height: 1;
128
- color: var(--fg2);
129
- background: var(--bg2);
130
- border: 2px solid var(--hud-edge);
83
+ color: var(--fg);
84
+ background: var(--bg3);
85
+ border: 1px solid var(--line);
131
86
  border-radius: var(--radius);
132
- padding: 8px 12px;
87
+ padding: 7px 12px;
133
88
  cursor: pointer;
134
- box-shadow: var(--bevel);
135
- transition: all var(--transition);
89
+ box-shadow: var(--shadow);
90
+ transition:
91
+ background var(--transition),
92
+ border-color var(--transition),
93
+ color var(--transition);
136
94
  }
137
95
  button:hover {
138
- color: var(--fg);
139
- border-color: var(--fg2);
140
- text-shadow: var(--glow-red);
141
- transform: translateY(-1px);
96
+ border-color: var(--muted);
142
97
  }
143
98
  button.primary {
144
- background: var(--doom);
145
- color: #fff;
146
- border-color: var(--doom-bright);
147
- box-shadow: var(--bevel-glow-red);
99
+ background: var(--accent);
100
+ color: #0b1220;
101
+ border-color: var(--accent);
148
102
  }
149
103
  button.primary:hover {
150
- background: var(--doom-bright);
104
+ filter: brightness(1.08);
151
105
  }
152
106
  button.ok {
153
- background: var(--green);
154
- color: #0a2e0a;
155
- border-color: var(--green);
156
- box-shadow:
157
- var(--bevel),
158
- 0 0 10px rgb(110 255 110 / 0.5);
159
- text-shadow: none;
107
+ background: var(--ok);
108
+ color: #06140d;
109
+ border-color: var(--ok);
160
110
  }
161
111
  button.ok:hover {
162
- background: #8cff8c;
163
- color: #0a2e0a;
112
+ filter: brightness(1.08);
164
113
  }
165
114
  button.ghost {
166
115
  background: transparent;
167
116
  border-color: transparent;
168
117
  box-shadow: none;
118
+ color: var(--fg2);
169
119
  }
170
120
  button.ghost:hover {
171
121
  background: var(--bg3);
172
- transform: none;
122
+ color: var(--fg);
173
123
  }
174
124
  button.small {
175
125
  padding: 5px 8px;
176
- font-size: 0.5rem;
126
+ font-size: 12px;
177
127
  }
178
128
  textarea,
179
129
  input[type="text"],
@@ -181,21 +131,20 @@ select {
181
131
  font: 13px/1.5 var(--font-mono);
182
132
  color: var(--fg);
183
133
  background: var(--bg-code);
184
- border: 1px solid var(--hud-edge);
134
+ border: 1px solid var(--line);
185
135
  border-radius: var(--radius);
186
136
  padding: 6px 8px;
187
137
  width: 100%;
188
- box-shadow: var(--bevel);
189
138
  }
190
139
  textarea:focus,
191
140
  input:focus {
192
141
  outline: none;
193
142
  border-color: var(--accent);
143
+ box-shadow: 0 0 0 3px var(--accent-bg);
194
144
  }
195
145
  select {
196
146
  width: auto;
197
147
  padding: 3px 6px;
198
- box-shadow: none;
199
148
  }
200
149
  code,
201
150
  pre,
@@ -205,8 +154,9 @@ pre,
205
154
  font-size: 12.5px;
206
155
  }
207
156
  code {
208
- background: var(--bg2);
209
- color: var(--accent);
157
+ background: var(--bg3);
158
+ color: var(--fg);
159
+ border-radius: 4px;
210
160
  padding: 0.1em 0.4em;
211
161
  }
212
162
  pre code {
@@ -216,8 +166,8 @@ pre code {
216
166
  }
217
167
  pre {
218
168
  background: var(--bg-code);
219
- border: 1px solid var(--hud-edge);
220
- box-shadow: var(--bevel);
169
+ border: 1px solid var(--line);
170
+ border-radius: var(--radius);
221
171
  padding: 10px 12px;
222
172
  overflow-x: auto;
223
173
  }
@@ -235,16 +185,16 @@ pre {
235
185
  white-space: nowrap;
236
186
  }
237
187
  .badge.ok {
238
- color: var(--green);
239
- border-color: var(--green);
188
+ color: var(--ok);
189
+ border-color: var(--ok);
240
190
  }
241
191
  .badge.warn {
242
- color: var(--yellow);
243
- border-color: var(--yellow);
192
+ color: var(--warn);
193
+ border-color: var(--warn);
244
194
  }
245
195
  .badge.del {
246
- color: var(--red);
247
- border-color: var(--red);
196
+ color: var(--del);
197
+ border-color: var(--del);
248
198
  }
249
199
  .badge.accent {
250
200
  color: var(--accent);
@@ -257,6 +207,7 @@ kbd {
257
207
  font-family: var(--font-mono);
258
208
  font-size: 11px;
259
209
  border: 1px solid var(--line);
210
+ border-radius: 4px;
260
211
  padding: 0 4px;
261
212
  background: var(--bg2);
262
213
  }
@@ -267,13 +218,12 @@ kbd {
267
218
  flex-direction: column;
268
219
  height: 100dvh;
269
220
  }
270
- /* HUD top bar: an identity row that truncates over an actions row that never does. */
221
+ /* Top bar: an identity row that truncates over an actions row that never does. */
271
222
  .topbar {
272
223
  display: flex;
273
224
  flex-direction: column;
274
- background: var(--hud-bg);
275
- border-bottom: 2px solid var(--hud-deep);
276
- box-shadow: inset 0 -1px 0 0 rgb(232 24 11 / 0.45);
225
+ background: var(--bg2);
226
+ border-bottom: 1px solid var(--line);
277
227
  }
278
228
  .bar-row {
279
229
  display: flex;
@@ -303,18 +253,17 @@ kbd {
303
253
  }
304
254
  .topbar .brand {
305
255
  font-family: var(--font-display);
306
- font-size: 0.8rem;
256
+ font-size: 15px;
257
+ font-weight: 600;
307
258
  text-transform: var(--heading-transform);
308
259
  color: var(--accent);
309
- text-shadow: var(--glow-red);
310
- letter-spacing: 0.02em;
260
+ text-shadow: var(--glow);
261
+ letter-spacing: -0.01em;
311
262
  white-space: nowrap;
312
263
  flex: none;
313
264
  }
314
265
  .topbar .brand:hover {
315
- text-shadow:
316
- var(--glow-red),
317
- 0 0 20px rgb(255 59 48 / 0.6);
266
+ text-decoration: none;
318
267
  }
319
268
  /* Grows into the space it has, truncating only when it must; full text in the tooltip. */
320
269
  .topbar .title {
@@ -337,37 +286,16 @@ kbd {
337
286
  box-shadow: none;
338
287
  padding: 8px 10px;
339
288
  color: var(--fg2);
340
- font-size: 0.5rem;
341
- }
342
- .tabs button::before {
343
- content: "\25B6";
344
- display: inline-block;
345
- width: 0;
346
- margin-right: 0;
347
- overflow: hidden;
348
- opacity: 0;
349
- color: var(--doom-bright);
350
- font-size: 0.7em;
351
- transition:
352
- width var(--transition),
353
- margin-right var(--transition),
354
- opacity var(--transition);
289
+ font-size: 13px;
355
290
  }
356
- .tabs button:hover,
357
- .tabs button.active {
291
+ .tabs button:hover {
358
292
  color: var(--fg);
359
- transform: none;
293
+ background: var(--bg3);
360
294
  }
361
295
  .tabs button.active {
362
296
  color: var(--accent);
363
- text-shadow: var(--glow-red);
364
- }
365
- .tabs button:hover::before,
366
- .tabs button.active::before {
367
- width: 0.9em;
368
- margin-right: 0.4em;
369
- opacity: 1;
370
- text-shadow: var(--glow-red);
297
+ background: var(--accent-bg);
298
+ text-shadow: var(--glow);
371
299
  }
372
300
  .topbar .spacer {
373
301
  flex: 1;
@@ -386,12 +314,11 @@ kbd {
386
314
  width: var(--side-w, 520px);
387
315
  min-width: 320px;
388
316
  max-width: 70vw;
389
- border-left: 2px solid var(--hud-deep);
317
+ border-left: 1px solid var(--line);
390
318
  background: var(--bg2);
391
319
  display: flex;
392
320
  flex-direction: column;
393
321
  min-height: 0;
394
- box-shadow: inset 2px 0 0 0 var(--bevel-light);
395
322
  }
396
323
  .side.hidden {
397
324
  display: none;
@@ -403,15 +330,14 @@ kbd {
403
330
  }
404
331
  .resizer:hover {
405
332
  background: var(--accent);
406
- box-shadow: var(--glow-red);
407
333
  }
408
334
  .side-head {
409
335
  display: flex;
410
336
  align-items: center;
411
337
  gap: 8px;
412
338
  padding: 8px 12px;
413
- border-bottom: 1px solid var(--hud-edge);
414
- background: var(--hud-bg);
339
+ border-bottom: 1px solid var(--line);
340
+ background: var(--bg2);
415
341
  }
416
342
  .side-head .path {
417
343
  font-family: var(--font-mono);
@@ -425,7 +351,7 @@ kbd {
425
351
  cursor: pointer;
426
352
  }
427
353
  .side-head .path:hover {
428
- color: var(--green);
354
+ color: var(--link);
429
355
  }
430
356
  .side-body {
431
357
  flex: 1;
@@ -463,38 +389,38 @@ kbd {
463
389
  color: var(--fg);
464
390
  border-left-color: var(--accent);
465
391
  background: var(--bg2);
466
- text-shadow: none;
392
+ text-decoration: none;
467
393
  }
468
394
  .doc {
469
395
  max-width: 780px;
470
396
  }
471
397
  .doc h1 {
472
398
  font-family: var(--font-display);
473
- font-weight: 400;
399
+ font-weight: 600;
474
400
  text-transform: var(--heading-transform);
475
- letter-spacing: 0.02em;
476
- color: var(--accent);
477
- text-shadow: var(--glow-red);
478
- font-size: clamp(0.95rem, 2.4vw, 1.3rem);
479
- line-height: 1.6;
401
+ letter-spacing: -0.02em;
402
+ color: var(--fg);
403
+ text-shadow: var(--glow);
404
+ font-size: clamp(1.4rem, 2.4vw, 1.8rem);
405
+ line-height: 1.3;
480
406
  margin: 0 0 14px;
481
407
  }
482
408
  .doc h2 {
483
409
  font-family: var(--font-display);
484
- font-weight: 400;
410
+ font-weight: 600;
485
411
  text-transform: var(--heading-transform);
486
- letter-spacing: 0.02em;
487
- color: var(--accent);
488
- text-shadow: var(--glow-red);
489
- font-size: 0.8rem;
490
- line-height: 1.6;
412
+ letter-spacing: -0.01em;
413
+ color: var(--fg);
414
+ text-shadow: var(--glow);
415
+ font-size: 1.2rem;
416
+ line-height: 1.4;
491
417
  margin: 36px 0 10px;
492
418
  padding-top: 16px;
493
419
  border-top: 1px solid var(--line);
494
420
  }
495
421
  .doc h3 {
496
- font-family: var(--font-mono);
497
- font-weight: 700;
422
+ font-family: var(--font-display);
423
+ font-weight: 600;
498
424
  font-size: 15px;
499
425
  margin: 22px 0 6px;
500
426
  color: var(--fg);
@@ -547,12 +473,11 @@ kbd {
547
473
  padding: 0;
548
474
  font-family: var(--font-mono);
549
475
  font-size: 13px;
550
- box-shadow: var(--bevel);
551
476
  }
552
477
  .block-actions button.count {
553
- background: var(--doom);
554
- color: #fff;
555
- border-color: var(--doom-bright);
478
+ background: var(--accent);
479
+ color: #0b1220;
480
+ border-color: var(--accent);
556
481
  font-size: 11px;
557
482
  }
558
483
  .section-collapsed > .block:not(.heading) {
@@ -565,21 +490,18 @@ kbd {
565
490
  color: var(--muted);
566
491
  cursor: pointer;
567
492
  user-select: none;
568
- text-shadow: none;
569
- text-transform: none;
570
- letter-spacing: 0;
571
493
  }
572
494
  .heading-toggle:hover {
573
- color: var(--green);
495
+ color: var(--link);
574
496
  }
575
497
  .anchor-link {
576
- color: var(--green);
577
- border-bottom: 1px dashed var(--green);
498
+ color: var(--link);
499
+ border-bottom: 1px dashed var(--link);
578
500
  }
579
501
  .anchor-link:hover,
580
502
  .anchor-link.active {
581
- background: rgb(110 255 110 / 0.1);
582
- text-shadow: var(--glow-green);
503
+ background: var(--accent-bg);
504
+ text-decoration: none;
583
505
  }
584
506
  .thread-pins {
585
507
  margin: 6px 0 14px;
@@ -591,8 +513,7 @@ kbd {
591
513
  border-radius: var(--radius);
592
514
  font-size: 12.5px;
593
515
  background: var(--bg2);
594
- border: 1px solid var(--hud-edge);
595
- box-shadow: var(--bevel);
516
+ border: 1px solid var(--line);
596
517
  padding: 6px 10px;
597
518
  cursor: pointer;
598
519
  display: flex;
@@ -600,13 +521,12 @@ kbd {
600
521
  align-items: baseline;
601
522
  }
602
523
  .thread-pin:hover {
603
- border-color: var(--doom);
604
- box-shadow: var(--bevel-glow-red);
524
+ border-color: var(--accent);
605
525
  }
606
526
  .thread-pin .who {
607
527
  font-family: var(--font-mono);
608
528
  font-weight: 700;
609
- color: var(--yellow);
529
+ color: var(--fg);
610
530
  }
611
531
  .thread-pin.resolved {
612
532
  opacity: 0.55;
@@ -616,10 +536,8 @@ kbd {
616
536
  position: absolute;
617
537
  z-index: 20;
618
538
  background: var(--bg2);
619
- border: 1px solid var(--hud-edge);
620
- box-shadow:
621
- var(--bevel),
622
- 0 8px 30px rgb(0 0 0 / 0.6);
539
+ border: 1px solid var(--line);
540
+ box-shadow: var(--shadow-lg);
623
541
  width: 400px;
624
542
  padding: 10px;
625
543
  }
@@ -651,10 +569,8 @@ kbd {
651
569
  /* code surfaces */
652
570
  .code-frame {
653
571
  border-radius: var(--radius);
654
- border: 1px solid var(--hud-edge);
655
- box-shadow:
656
- var(--bevel),
657
- 0 8px 30px rgb(0 0 0 / 0.4);
572
+ border: 1px solid var(--line);
573
+ box-shadow: var(--shadow-lg);
658
574
  margin: 14px 0;
659
575
  overflow: hidden;
660
576
  background: var(--bg-code);
@@ -679,7 +595,7 @@ kbd {
679
595
  cursor: pointer;
680
596
  }
681
597
  .code-frame .frame-head .path:hover {
682
- color: var(--green);
598
+ color: var(--link);
683
599
  }
684
600
  .code-frame .frame-head .title {
685
601
  font-family: var(--font-mono);
@@ -712,7 +628,7 @@ kbd {
712
628
  border-right: 1px solid var(--line2);
713
629
  }
714
630
  .code td.ln:hover {
715
- color: var(--green);
631
+ color: var(--link);
716
632
  }
717
633
  .code tr:hover td.ln::after,
718
634
  .code tr.range-sel td.ln::after {
@@ -726,13 +642,13 @@ kbd {
726
642
  text-align: center;
727
643
  font-size: 12px;
728
644
  font-weight: 700;
729
- color: #0a2e0a;
730
- background: var(--green);
731
- box-shadow: var(--glow-green);
645
+ color: #0b1220;
646
+ background: var(--accent);
647
+ border-radius: 3px;
732
648
  }
733
649
  .code tr.range-sel {
734
650
  background: var(--sel);
735
- box-shadow: inset 3px 0 0 0 var(--green);
651
+ box-shadow: inset 3px 0 0 0 var(--accent);
736
652
  }
737
653
  .file-head .hint {
738
654
  font-size: 11px;
@@ -740,7 +656,7 @@ kbd {
740
656
  }
741
657
  .code tr.hl {
742
658
  background: var(--sel);
743
- box-shadow: inset 3px 0 0 0 var(--yellow);
659
+ box-shadow: inset 3px 0 0 0 var(--warn);
744
660
  }
745
661
  .code tr.add {
746
662
  background: var(--add-bg);
@@ -751,7 +667,6 @@ kbd {
751
667
  .code tr.commented td.ln {
752
668
  color: var(--accent);
753
669
  font-weight: 700;
754
- text-shadow: var(--glow-red);
755
670
  }
756
671
  .code tr.gap td {
757
672
  background: var(--bg2);
@@ -762,7 +677,7 @@ kbd {
762
677
  font-family: var(--font-mono);
763
678
  }
764
679
  .code tr.gap td:hover {
765
- color: var(--green);
680
+ color: var(--link);
766
681
  }
767
682
  .code tr.thread-row td {
768
683
  white-space: normal;
@@ -785,10 +700,8 @@ kbd {
785
700
  position: absolute;
786
701
  z-index: 30;
787
702
  background: var(--bg2);
788
- border: 1px solid var(--hud-edge);
789
- box-shadow:
790
- var(--bevel),
791
- 0 8px 30px rgb(0 0 0 / 0.6);
703
+ border: 1px solid var(--line);
704
+ box-shadow: var(--shadow-lg);
792
705
  min-width: 260px;
793
706
  max-width: 480px;
794
707
  font-size: 12.5px;
@@ -807,7 +720,7 @@ kbd {
807
720
  }
808
721
  .def-popover .item:hover {
809
722
  background: var(--bg3);
810
- color: var(--green);
723
+ color: var(--link);
811
724
  }
812
725
  .def-popover .kind {
813
726
  color: var(--muted);
@@ -826,7 +739,7 @@ kbd {
826
739
  .file-list {
827
740
  width: 300px;
828
741
  min-width: 200px;
829
- border-right: 1px solid var(--hud-edge);
742
+ border-right: 1px solid var(--line);
830
743
  overflow: auto;
831
744
  background: var(--bg2);
832
745
  font-size: 12.5px;
@@ -862,10 +775,10 @@ kbd {
862
775
  white-space: nowrap;
863
776
  }
864
777
  .stat .a {
865
- color: var(--green);
778
+ color: var(--ok);
866
779
  }
867
780
  .stat .d {
868
- color: var(--red);
781
+ color: var(--del);
869
782
  }
870
783
  .file-view {
871
784
  flex: 1;
@@ -880,8 +793,8 @@ kbd {
880
793
  align-items: center;
881
794
  gap: 12px;
882
795
  padding: 8px 14px;
883
- background: var(--hud-bg);
884
- border-bottom: 1px solid var(--hud-edge);
796
+ background: var(--bg2);
797
+ border-bottom: 1px solid var(--line);
885
798
  font-size: 12px;
886
799
  }
887
800
  .file-view .file-head .path {
@@ -894,7 +807,7 @@ kbd {
894
807
  grid-template-columns: 1fr 1fr;
895
808
  }
896
809
  .split .code {
897
- border-right: 1px solid var(--hud-edge);
810
+ border-right: 1px solid var(--line);
898
811
  }
899
812
  .code td.empty {
900
813
  background: var(--bg2);
@@ -908,8 +821,7 @@ kbd {
908
821
  }
909
822
  .commit {
910
823
  border-radius: var(--radius);
911
- border: 1px solid var(--hud-edge);
912
- box-shadow: var(--bevel);
824
+ border: 1px solid var(--line);
913
825
  background: var(--bg2);
914
826
  padding: 12px 16px;
915
827
  margin-bottom: 12px;
@@ -925,14 +837,13 @@ kbd {
925
837
  }
926
838
  .commit .files span {
927
839
  cursor: pointer;
928
- color: var(--green);
840
+ color: var(--link);
929
841
  margin-right: 12px;
930
842
  }
931
843
  .commit pre {
932
844
  white-space: pre-wrap;
933
845
  margin: 8px 0 0;
934
846
  font-size: 12.5px;
935
- box-shadow: none;
936
847
  }
937
848
 
938
849
  /* Map */
@@ -948,7 +859,7 @@ kbd {
948
859
  }
949
860
  .map-side {
950
861
  width: 340px;
951
- border-left: 1px solid var(--hud-edge);
862
+ border-left: 1px solid var(--line);
952
863
  background: var(--bg2);
953
864
  overflow: auto;
954
865
  padding: 14px 16px;
@@ -964,7 +875,7 @@ kbd {
964
875
  }
965
876
  .crumbs span {
966
877
  cursor: pointer;
967
- color: var(--green);
878
+ color: var(--link);
968
879
  }
969
880
  .crumbs span:last-child {
970
881
  color: var(--fg);
@@ -978,8 +889,7 @@ kbd {
978
889
  }
979
890
  .map-node {
980
891
  border-radius: var(--radius);
981
- border: 1px solid var(--hud-edge);
982
- box-shadow: var(--bevel);
892
+ border: 1px solid var(--line);
983
893
  padding: 12px 14px;
984
894
  background: var(--bg2);
985
895
  cursor: pointer;
@@ -989,10 +899,8 @@ kbd {
989
899
  box-shadow var(--transition);
990
900
  }
991
901
  .map-node:hover {
992
- border-color: var(--doom);
993
- box-shadow:
994
- var(--bevel-glow-red),
995
- 0 4px 14px rgb(0 0 0 / 0.5);
902
+ border-color: var(--accent);
903
+ box-shadow: 0 4px 14px rgb(0 0 0 / 0.3);
996
904
  }
997
905
  .map-node.selected {
998
906
  outline: 2px solid var(--accent);
@@ -1020,14 +928,14 @@ kbd {
1020
928
  margin-top: 8px;
1021
929
  }
1022
930
  .map-node.added {
1023
- border-color: var(--green);
931
+ border-color: var(--ok);
1024
932
  }
1025
933
  .map-node.removed {
1026
- border-color: var(--red);
934
+ border-color: var(--del);
1027
935
  opacity: 0.7;
1028
936
  }
1029
937
  .map-node.changed {
1030
- border-color: var(--yellow);
938
+ border-color: var(--warn);
1031
939
  }
1032
940
  .map-node .status {
1033
941
  position: absolute;
@@ -1048,21 +956,20 @@ kbd {
1048
956
  }
1049
957
  .map-edges .edge b {
1050
958
  cursor: pointer;
1051
- color: var(--green);
959
+ color: var(--link);
1052
960
  }
1053
961
  .map-side .file {
1054
962
  font-family: var(--font-mono);
1055
963
  font-size: 12px;
1056
964
  cursor: pointer;
1057
- color: var(--green);
965
+ color: var(--link);
1058
966
  display: block;
1059
967
  }
1060
968
 
1061
969
  /* Diagrams */
1062
970
  .diagram {
1063
971
  border-radius: var(--radius);
1064
- border: 1px solid var(--hud-edge);
1065
- box-shadow: var(--bevel);
972
+ border: 1px solid var(--line);
1066
973
  margin: 16px 0;
1067
974
  background: var(--bg2);
1068
975
  }
@@ -1085,7 +992,7 @@ kbd {
1085
992
  }
1086
993
  .seq .actor rect {
1087
994
  fill: var(--bg-code);
1088
- stroke: var(--hud-edge);
995
+ stroke: var(--line);
1089
996
  }
1090
997
  .seq .life {
1091
998
  stroke: var(--line);
@@ -1096,7 +1003,7 @@ kbd {
1096
1003
  marker-end: url(#arr);
1097
1004
  }
1098
1005
  .seq .msg text {
1099
- fill: var(--green);
1006
+ fill: var(--link);
1100
1007
  cursor: pointer;
1101
1008
  }
1102
1009
  .seq .msg text:hover {
@@ -1126,10 +1033,10 @@ kbd {
1126
1033
  color: var(--muted);
1127
1034
  }
1128
1035
  .callstack .row.add .sign {
1129
- color: var(--green);
1036
+ color: var(--ok);
1130
1037
  }
1131
1038
  .callstack .row.del .sign {
1132
- color: var(--red);
1039
+ color: var(--del);
1133
1040
  }
1134
1041
  .callstack .calls {
1135
1042
  color: var(--muted);
@@ -1145,7 +1052,7 @@ kbd {
1145
1052
  .dblens .uc-tabs button.active {
1146
1053
  color: var(--accent);
1147
1054
  border-color: var(--accent);
1148
- text-shadow: var(--glow-red);
1055
+ background: var(--accent-bg);
1149
1056
  }
1150
1057
  .dblens .body {
1151
1058
  display: grid;
@@ -1160,8 +1067,7 @@ kbd {
1160
1067
  }
1161
1068
  .dblens .actor {
1162
1069
  border-radius: var(--radius);
1163
- border: 1px solid var(--hud-edge);
1164
- box-shadow: var(--bevel);
1070
+ border: 1px solid var(--line);
1165
1071
  padding: 7px 10px;
1166
1072
  background: var(--bg-code);
1167
1073
  text-align: center;
@@ -1171,7 +1077,7 @@ kbd {
1171
1077
  }
1172
1078
  .dblens .store {
1173
1079
  border-radius: var(--radius);
1174
- border: 1px solid var(--hud-edge);
1080
+ border: 1px solid var(--line);
1175
1081
  background: var(--bg-code);
1176
1082
  margin-bottom: 10px;
1177
1083
  }
@@ -1193,7 +1099,7 @@ kbd {
1193
1099
  font-family: var(--font-mono);
1194
1100
  font-size: 12.5px;
1195
1101
  font-weight: 700;
1196
- color: var(--yellow);
1102
+ color: var(--fg);
1197
1103
  }
1198
1104
  .dblens .table .cols {
1199
1105
  font-family: var(--font-mono);
@@ -1230,10 +1136,10 @@ kbd {
1230
1136
  color: var(--muted);
1231
1137
  }
1232
1138
  .dblens .op.read .dir {
1233
- color: var(--blue);
1139
+ color: var(--link);
1234
1140
  }
1235
1141
  .dblens .op.write .dir {
1236
- color: var(--yellow);
1142
+ color: var(--warn);
1237
1143
  }
1238
1144
 
1239
1145
  /* threads panel */
@@ -1245,13 +1151,12 @@ kbd {
1245
1151
  }
1246
1152
  .thread {
1247
1153
  border-radius: var(--radius);
1248
- border: 1px solid var(--hud-edge);
1249
- box-shadow: var(--bevel);
1154
+ border: 1px solid var(--line);
1250
1155
  background: var(--bg);
1251
1156
  }
1252
1157
  .thread.active {
1253
- border-color: var(--doom);
1254
- box-shadow: var(--bevel-glow-red);
1158
+ border-color: var(--accent);
1159
+ box-shadow: 0 0 0 3px var(--accent-bg);
1255
1160
  }
1256
1161
  .thread .thead {
1257
1162
  display: flex;
@@ -1264,7 +1169,7 @@ kbd {
1264
1169
  }
1265
1170
  .thread .target {
1266
1171
  font-family: var(--font-mono);
1267
- color: var(--green);
1172
+ color: var(--link);
1268
1173
  cursor: pointer;
1269
1174
  flex: 1;
1270
1175
  min-width: 0;
@@ -1284,7 +1189,7 @@ kbd {
1284
1189
  font-weight: 700;
1285
1190
  font-size: 12px;
1286
1191
  margin-right: 6px;
1287
- color: var(--yellow);
1192
+ color: var(--fg);
1288
1193
  }
1289
1194
  .thread .msg.agent {
1290
1195
  background: var(--bg2);
@@ -1324,10 +1229,8 @@ kbd {
1324
1229
  .dialog {
1325
1230
  border-radius: var(--radius);
1326
1231
  background: var(--bg2);
1327
- border: 1px solid var(--hud-edge);
1328
- box-shadow:
1329
- var(--bevel),
1330
- 0 12px 40px rgb(0 0 0 / 0.7);
1232
+ border: 1px solid var(--line);
1233
+ box-shadow: var(--shadow-lg);
1331
1234
  width: 540px;
1332
1235
  max-width: 92vw;
1333
1236
  padding: 18px 20px;
@@ -1335,11 +1238,10 @@ kbd {
1335
1238
  .dialog h3 {
1336
1239
  margin: 0 0 10px;
1337
1240
  font-family: var(--font-display);
1338
- font-weight: 400;
1339
- font-size: 0.75rem;
1241
+ font-weight: 600;
1242
+ font-size: 1.05rem;
1340
1243
  text-transform: var(--heading-transform);
1341
- color: var(--accent);
1342
- text-shadow: var(--glow-red);
1244
+ color: var(--fg);
1343
1245
  }
1344
1246
  .dialog .row {
1345
1247
  display: flex;
@@ -1351,7 +1253,7 @@ kbd {
1351
1253
  display: none;
1352
1254
  }
1353
1255
  .banner {
1354
- background: var(--hud-deep);
1256
+ background: var(--bg3);
1355
1257
  color: var(--fg);
1356
1258
  padding: 6px 16px;
1357
1259
  font-family: var(--font-mono);
@@ -1359,14 +1261,14 @@ kbd {
1359
1261
  display: flex;
1360
1262
  gap: 12px;
1361
1263
  align-items: center;
1362
- border-bottom: 1px solid var(--hud-edge);
1264
+ border-bottom: 1px solid var(--line);
1363
1265
  }
1364
1266
  .banner::before {
1365
1267
  content: "";
1366
1268
  width: 8px;
1367
1269
  height: 8px;
1368
- background: var(--green);
1369
- box-shadow: var(--glow-green);
1270
+ border-radius: 50%;
1271
+ background: var(--ok);
1370
1272
  animation: blink 1.6s ease-in-out infinite;
1371
1273
  flex: none;
1372
1274
  }
@@ -1384,25 +1286,27 @@ kbd {
1384
1286
  margin: 0 auto;
1385
1287
  padding: 32px 24px;
1386
1288
  }
1387
- .home h2,
1388
- .home h3 {
1289
+ .home h2 {
1389
1290
  font-family: var(--font-display);
1390
- font-weight: 400;
1391
- font-size: 0.85rem;
1291
+ font-weight: 600;
1292
+ font-size: 1.35rem;
1293
+ letter-spacing: -0.02em;
1392
1294
  text-transform: var(--heading-transform);
1393
- color: var(--accent);
1394
- text-shadow: var(--glow-red);
1295
+ color: var(--fg);
1296
+ text-shadow: var(--glow);
1395
1297
  }
1396
1298
  .home h3 {
1397
- font-size: 0.65rem;
1299
+ font-family: var(--font-display);
1300
+ font-weight: 600;
1301
+ font-size: 12px;
1302
+ text-transform: uppercase;
1303
+ letter-spacing: 0.06em;
1398
1304
  color: var(--muted);
1399
- text-shadow: none;
1400
1305
  margin-top: 28px;
1401
1306
  }
1402
1307
  .home .item {
1403
1308
  border-radius: var(--radius);
1404
- border: 1px solid var(--hud-edge);
1405
- box-shadow: var(--bevel);
1309
+ border: 1px solid var(--line);
1406
1310
  background: var(--bg2);
1407
1311
  padding: 12px 16px;
1408
1312
  margin-bottom: 10px;
@@ -1415,8 +1319,7 @@ kbd {
1415
1319
  box-shadow var(--transition);
1416
1320
  }
1417
1321
  .home .item:hover {
1418
- border-color: var(--doom);
1419
- box-shadow: var(--bevel-glow-red);
1322
+ border-color: var(--accent);
1420
1323
  }
1421
1324
  .home .item .t {
1422
1325
  font-family: var(--font-mono);
@@ -1481,11 +1384,10 @@ kbd {
1481
1384
  display: none;
1482
1385
  }
1483
1386
  .doc h1 {
1484
- font-size: clamp(0.62rem, 3.4vw, 0.95rem);
1485
- line-height: 1.7;
1387
+ font-size: clamp(1.15rem, 4.5vw, 1.4rem);
1486
1388
  }
1487
1389
  .doc h2 {
1488
- font-size: clamp(0.55rem, 2.8vw, 0.8rem);
1390
+ font-size: 1.05rem;
1489
1391
  margin-top: 28px;
1490
1392
  }
1491
1393
  /* Right-aligned control strip: a left gutter would sit off-screen, and a
@@ -1501,7 +1403,7 @@ kbd {
1501
1403
  width: auto;
1502
1404
  height: 22px;
1503
1405
  padding: 0 8px;
1504
- font-size: 0.45rem;
1406
+ font-size: 11px;
1505
1407
  }
1506
1408
 
1507
1409
  /* A peek or a thread takes the screen; both already carry a close button. */
@@ -1523,7 +1425,7 @@ kbd {
1523
1425
  }
1524
1426
  .side-head button.ghost {
1525
1427
  min-width: 40px;
1526
- font-size: 0.7rem;
1428
+ font-size: 14px;
1527
1429
  }
1528
1430
 
1529
1431
  /* Files: the list becomes a strip above the diff. */
@@ -1535,7 +1437,7 @@ kbd {
1535
1437
  min-width: 0;
1536
1438
  max-height: 30vh;
1537
1439
  border-right: none;
1538
- border-bottom: 1px solid var(--hud-edge);
1440
+ border-bottom: 1px solid var(--line);
1539
1441
  }
1540
1442
  .file-view .file-head {
1541
1443
  flex-wrap: wrap;
@@ -1556,7 +1458,7 @@ kbd {
1556
1458
  .map-side {
1557
1459
  width: 100%;
1558
1460
  border-left: none;
1559
- border-top: 1px solid var(--hud-edge);
1461
+ border-top: 1px solid var(--line);
1560
1462
  }
1561
1463
  .map-grid {
1562
1464
  grid-template-columns: minmax(0, 1fr);
@@ -1605,7 +1507,7 @@ kbd {
1605
1507
  }
1606
1508
  /* Give the title the space the brand and the status chip do not need. */
1607
1509
  .topbar .brand {
1608
- font-size: 0.6rem;
1510
+ font-size: 14px;
1609
1511
  }
1610
1512
  .bar-identity .badge {
1611
1513
  font-size: 10px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thurview",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Guided, evidence-anchored reviews of agent-written code. A coding agent authors the review; you read, ask, comment and decide in the browser.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -53,11 +53,11 @@ fonts:
53
53
  - { family: Acme Sans, path: web/public/fonts/acme-sans.woff2, weight: "400 700" }
54
54
 
55
55
  shape:
56
- radius: 8px # 0 in the default skin
57
- bevel: false # pixel bevels on panels and buttons
58
- glow: false # neon text glow on headings and tabs
59
- scanlines: false # CRT overlay
60
- headingTransform: none # uppercase in the default skin
56
+ radius: 8px # 6px in the default skin
57
+ headingTransform: none # none in the default skin
58
+ bevel: true # retro extras, all off unless set: pixel
59
+ glow: true # bevels on panels, neon glow on headings
60
+ scanlines: true # and tabs, a CRT overlay
61
61
 
62
62
  code: # syntax palette; any key optional
63
63
  keyword: "#7c3aed"
@@ -80,8 +80,7 @@ Rules:
80
80
 
81
81
  - Keep contrast readable: body text against `bg`, code against `code`.
82
82
  - A light project gets `mode: light` and light backgrounds; the default skin
83
- is dark and its bevels, glow and scanlines are off by default only when you
84
- set them so.
83
+ is dark and neutral, with one blue accent.
85
84
  - `fonts.files` paths must exist at the pinned head commit; `publish`
86
85
  rejects a missing one. Font stylesheets are fetched by the reader's
87
86
  browser.