@kontourai/survey 0.7.2 → 1.0.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/README.md +13 -0
- package/bin/survey-review-console.mjs +7 -0
- package/dist/src/console/review-console-server.d.ts +28 -0
- package/dist/src/console/review-console-server.js +616 -0
- package/dist/src/review-workbench/review-workbench-css.generated.js +274 -63
- package/dist/src/review-workbench/review-workbench-element.js +25 -0
- package/dist/src/review-workbench/review-workbench.css +274 -63
- package/dist/src/review-workbench/review-workbench.js +114 -32
- package/dist/src/review-workbench/review-workbench.standalone.css +274 -63
- package/package.json +4 -3
|
@@ -164,11 +164,11 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
164
164
|
/* Local aliases preserve the existing workbench selectors while the values
|
|
165
165
|
come from the shared Console Kit token contract. */
|
|
166
166
|
--ink-1000: var(--k-bg);
|
|
167
|
-
--ink-900:
|
|
168
|
-
--ink-850:
|
|
167
|
+
--ink-900: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
168
|
+
--ink-850: color-mix(in srgb, var(--k-bg) 40%, var(--k-panel));
|
|
169
169
|
--ink-800: var(--k-panel);
|
|
170
170
|
--ink-750: var(--k-panel-raised);
|
|
171
|
-
--ink-700:
|
|
171
|
+
--ink-700: color-mix(in srgb, var(--k-panel-raised) 80%, var(--k-line-strong));
|
|
172
172
|
--paper: var(--k-text);
|
|
173
173
|
--paper-dim: var(--k-text-muted);
|
|
174
174
|
--paper-faint: var(--k-text-faint);
|
|
@@ -183,11 +183,52 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
183
183
|
--radius: var(--k-radius-md);
|
|
184
184
|
--radius-sm: var(--k-radius-sm);
|
|
185
185
|
|
|
186
|
+
/* Panel surface alpha — stronger contrast in light mode, subtle in dark */
|
|
187
|
+
--surface-alpha: 0.55;
|
|
188
|
+
/* Overlay tint alpha for brand-coloured gradient overlays */
|
|
189
|
+
--overlay-alpha: 0.10;
|
|
190
|
+
/* Grain overlay: visible dark only, 0 in light */
|
|
191
|
+
--grain-opacity: 0.04;
|
|
192
|
+
/* VS marker bg */
|
|
193
|
+
--vs-bg: var(--ink-750);
|
|
194
|
+
|
|
186
195
|
font-family: var(--k-font-ui);
|
|
187
196
|
background: var(--ink-1000);
|
|
188
197
|
color: var(--paper);
|
|
189
198
|
}
|
|
190
199
|
|
|
200
|
+
/* ---- Light mode token overrides --------------------------------------- */
|
|
201
|
+
/* The token sheet already flips --k-bg/panel/text etc. for [data-theme="light"].
|
|
202
|
+
Here we tune the workbench-specific overlay and surface alphas so the
|
|
203
|
+
grain/gradient overlays are invisible in light mode, and panel surfaces
|
|
204
|
+
have enough contrast without the dark alpha tricks. */
|
|
205
|
+
.survey-workbench-embed[data-theme="light"]{
|
|
206
|
+
color-scheme: light;
|
|
207
|
+
/* Structural tokens: override .theme-survey which hardcodes dark values.
|
|
208
|
+
These match the [data-theme="light"] block in tokens.css. */
|
|
209
|
+
--k-bg: #f5f4ef;
|
|
210
|
+
--k-panel: #ffffff;
|
|
211
|
+
--k-panel-raised: #fbfaf7;
|
|
212
|
+
--k-line: rgba(36, 40, 46, 0.12);
|
|
213
|
+
--k-line-strong: rgba(36, 40, 46, 0.20);
|
|
214
|
+
--k-text: #202124;
|
|
215
|
+
--k-text-muted: #5b626b;
|
|
216
|
+
--k-text-faint: #707782;
|
|
217
|
+
--k-positive: #168257;
|
|
218
|
+
--k-caution: #8a5a00;
|
|
219
|
+
--k-negative: #c83b3b;
|
|
220
|
+
--k-active: #3f6fd6;
|
|
221
|
+
/* Workbench-specific overlay and surface alphas */
|
|
222
|
+
--grain-opacity: 0;
|
|
223
|
+
--overlay-alpha: 0.06;
|
|
224
|
+
--surface-alpha: 0.70;
|
|
225
|
+
--vs-bg: var(--ink-750);
|
|
226
|
+
/* In light mode the brand accent is remapped by themes.css — ensure the
|
|
227
|
+
ink aliases derive cleanly from the token bg/panel values. */
|
|
228
|
+
--ink-900: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
229
|
+
--ink-850: color-mix(in srgb, var(--k-bg) 40%, var(--k-panel));
|
|
230
|
+
}
|
|
231
|
+
|
|
191
232
|
.survey-workbench-embed *{
|
|
192
233
|
box-sizing: border-box;
|
|
193
234
|
}
|
|
@@ -197,14 +238,15 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
197
238
|
min-width: 320px;
|
|
198
239
|
position: relative;
|
|
199
240
|
background:
|
|
200
|
-
radial-gradient(1100px 620px at 12% -8%,
|
|
201
|
-
radial-gradient(900px 560px at 100% 0%,
|
|
202
|
-
radial-gradient(800px 800px at 88% 110%,
|
|
241
|
+
radial-gradient(1100px 620px at 12% -8%, color-mix(in srgb, var(--k-brand) 10%, transparent), transparent 60%),
|
|
242
|
+
radial-gradient(900px 560px at 100% 0%, color-mix(in srgb, var(--k-active) 10%, transparent), transparent 55%),
|
|
243
|
+
radial-gradient(800px 800px at 88% 110%, color-mix(in srgb, var(--k-caution) 7%, transparent), transparent 60%),
|
|
203
244
|
linear-gradient(180deg, var(--ink-1000), var(--ink-900) 55%, var(--ink-1000));
|
|
204
245
|
background-attachment: fixed;
|
|
205
246
|
}
|
|
206
247
|
|
|
207
|
-
/* Grain + faint engineering grid for control-room atmosphere.
|
|
248
|
+
/* Grain + faint engineering grid for control-room atmosphere.
|
|
249
|
+
Grain opacity is 0 in light mode via --grain-opacity. */
|
|
208
250
|
.survey-workbench-embed::before{
|
|
209
251
|
content: "";
|
|
210
252
|
position: absolute;
|
|
@@ -212,10 +254,52 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
212
254
|
z-index: 0;
|
|
213
255
|
pointer-events: none;
|
|
214
256
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
|
|
215
|
-
opacity:
|
|
257
|
+
opacity: var(--grain-opacity);
|
|
216
258
|
mix-blend-mode: screen;
|
|
217
259
|
}
|
|
218
260
|
|
|
261
|
+
/* ---- Demo page chrome -------------------------------------------------- */
|
|
262
|
+
/* Light/dark toggle button on the demo wrapper around the workbench */
|
|
263
|
+
.survey-workbench-embed .demo-toolbar{
|
|
264
|
+
position: absolute;
|
|
265
|
+
top: 12px;
|
|
266
|
+
right: 14px;
|
|
267
|
+
z-index: 100;
|
|
268
|
+
display: flex;
|
|
269
|
+
align-items: center;
|
|
270
|
+
gap: 8px;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.survey-workbench-embed.theme-toggle{
|
|
274
|
+
display: flex;
|
|
275
|
+
align-items: center;
|
|
276
|
+
gap: 6px;
|
|
277
|
+
height: 32px;
|
|
278
|
+
padding: 0 12px;
|
|
279
|
+
border: 1px solid var(--line-strong);
|
|
280
|
+
border-radius: 999px;
|
|
281
|
+
background: color-mix(in srgb, var(--k-panel) 90%, transparent);
|
|
282
|
+
color: var(--paper-dim);
|
|
283
|
+
cursor: pointer;
|
|
284
|
+
font-family: var(--k-font-mono, "IBM Plex Mono", monospace);
|
|
285
|
+
font-size: 11px;
|
|
286
|
+
font-weight: 600;
|
|
287
|
+
letter-spacing: 0.06em;
|
|
288
|
+
backdrop-filter: blur(6px);
|
|
289
|
+
transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.survey-workbench-embed.theme-toggle:hover{
|
|
293
|
+
background: color-mix(in srgb, var(--k-panel) 100%, transparent);
|
|
294
|
+
border-color: var(--accent);
|
|
295
|
+
color: var(--accent);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.survey-workbench-embed.theme-toggle-icon{
|
|
299
|
+
font-size: 14px;
|
|
300
|
+
line-height: 1;
|
|
301
|
+
}
|
|
302
|
+
|
|
219
303
|
.survey-workbench-embed button,
|
|
220
304
|
.survey-workbench-embed textarea{
|
|
221
305
|
font: inherit;
|
|
@@ -281,9 +365,9 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
281
365
|
border: 1px solid var(--line-strong);
|
|
282
366
|
border-radius: var(--radius);
|
|
283
367
|
background:
|
|
284
|
-
linear-gradient(135deg,
|
|
368
|
+
linear-gradient(135deg, color-mix(in srgb, var(--k-brand) 8%, transparent), transparent 42%),
|
|
285
369
|
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
286
|
-
box-shadow: 0 24px 60px -34px rgba(0, 0, 0, 0.9), inset 0 1px 0
|
|
370
|
+
box-shadow: var(--k-shadow, 0 24px 60px -34px rgba(0, 0, 0, 0.9)), inset 0 1px 0 var(--line);
|
|
287
371
|
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
288
372
|
}
|
|
289
373
|
|
|
@@ -349,7 +433,11 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
349
433
|
padding: 11px 12px;
|
|
350
434
|
border: 1px solid var(--line);
|
|
351
435
|
border-radius: var(--radius-sm);
|
|
352
|
-
background:
|
|
436
|
+
background: color-mix(in srgb, var(--k-bg) 55%, var(--k-panel));
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.survey-workbench-embed[data-theme="light"] .meta-item{
|
|
440
|
+
background: color-mix(in srgb, var(--k-bg) 70%, var(--k-panel));
|
|
353
441
|
}
|
|
354
442
|
|
|
355
443
|
.survey-workbench-embed .meta-value{
|
|
@@ -400,7 +488,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
400
488
|
position: absolute;
|
|
401
489
|
inset: 0;
|
|
402
490
|
z-index: 40;
|
|
403
|
-
background:
|
|
491
|
+
background: color-mix(in srgb, var(--k-bg) 55%, transparent);
|
|
404
492
|
backdrop-filter: blur(2px);
|
|
405
493
|
opacity: 0;
|
|
406
494
|
transition: opacity 0.22s ease;
|
|
@@ -423,7 +511,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
423
511
|
height: 30px;
|
|
424
512
|
border: 1px solid var(--line-strong);
|
|
425
513
|
border-radius: 999px;
|
|
426
|
-
background:
|
|
514
|
+
background: color-mix(in srgb, var(--k-bg) 80%, transparent);
|
|
427
515
|
color: var(--paper-faint);
|
|
428
516
|
cursor: pointer;
|
|
429
517
|
font-size: 14px;
|
|
@@ -440,7 +528,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
440
528
|
border-radius: var(--radius);
|
|
441
529
|
background: linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
442
530
|
padding: 14px;
|
|
443
|
-
box-shadow: 0 22px 50px -38px rgba(0, 0, 0, 0.9);
|
|
531
|
+
box-shadow: var(--k-shadow, 0 22px 50px -38px rgba(0, 0, 0, 0.9));
|
|
444
532
|
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
445
533
|
animation-delay: 0.05s;
|
|
446
534
|
}
|
|
@@ -477,7 +565,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
477
565
|
border-radius: var(--radius-sm);
|
|
478
566
|
margin-top: 8px;
|
|
479
567
|
padding: 9px 10px;
|
|
480
|
-
background:
|
|
568
|
+
background: color-mix(in srgb, var(--k-bg) 50%, var(--k-panel));
|
|
481
569
|
color: var(--paper);
|
|
482
570
|
cursor: pointer;
|
|
483
571
|
text-align: left;
|
|
@@ -487,12 +575,12 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
487
575
|
.survey-workbench-embed .queue-row:hover{
|
|
488
576
|
transform: translateX(2px);
|
|
489
577
|
border-color: var(--line-strong);
|
|
490
|
-
background:
|
|
578
|
+
background: color-mix(in srgb, var(--k-bg) 20%, var(--k-panel));
|
|
491
579
|
}
|
|
492
580
|
|
|
493
581
|
.survey-workbench-embed .queue-row.is-active{
|
|
494
582
|
border-left-width: 3px;
|
|
495
|
-
background:
|
|
583
|
+
background: color-mix(in srgb, var(--k-brand) 8%, var(--k-panel));
|
|
496
584
|
box-shadow: inset 0 0 0 1px var(--line-strong);
|
|
497
585
|
}
|
|
498
586
|
|
|
@@ -536,22 +624,22 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
536
624
|
border-radius: 999px;
|
|
537
625
|
text-align: center;
|
|
538
626
|
color: var(--paper-dim);
|
|
539
|
-
background:
|
|
627
|
+
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
540
628
|
letter-spacing: 0.08em;
|
|
541
629
|
font-size: 9.5px;
|
|
542
630
|
}
|
|
543
631
|
|
|
544
|
-
.survey-workbench-embed .queue-row[data-queue-status="resolved"] .state-label{ color: var(--verify); border-color:
|
|
545
|
-
.survey-workbench-embed .queue-row[data-queue-status="rejected"] .state-label{ color: var(--reject); border-color:
|
|
546
|
-
.survey-workbench-embed .queue-row[data-queue-status="escalated"] .state-label{ color: var(--hold); border-color:
|
|
547
|
-
.survey-workbench-embed .queue-row[data-queue-status="in-review"] .state-label{ color: var(--accent); border-color:
|
|
632
|
+
.survey-workbench-embed .queue-row[data-queue-status="resolved"] .state-label{ color: var(--verify); border-color: color-mix(in srgb, var(--verify) 40%, transparent); }
|
|
633
|
+
.survey-workbench-embed .queue-row[data-queue-status="rejected"] .state-label{ color: var(--reject); border-color: color-mix(in srgb, var(--reject) 40%, transparent); }
|
|
634
|
+
.survey-workbench-embed .queue-row[data-queue-status="escalated"] .state-label{ color: var(--hold); border-color: color-mix(in srgb, var(--hold) 40%, transparent); }
|
|
635
|
+
.survey-workbench-embed .queue-row[data-queue-status="in-review"] .state-label{ color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
|
|
548
636
|
|
|
549
637
|
.survey-workbench-embed .next-button{
|
|
550
638
|
min-height: 34px;
|
|
551
639
|
padding: 0 14px;
|
|
552
640
|
border: 1px solid var(--line-strong);
|
|
553
641
|
border-radius: 999px;
|
|
554
|
-
background:
|
|
642
|
+
background: color-mix(in srgb, var(--k-brand) 8%, transparent);
|
|
555
643
|
color: var(--accent);
|
|
556
644
|
cursor: pointer;
|
|
557
645
|
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
@@ -562,7 +650,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
562
650
|
}
|
|
563
651
|
|
|
564
652
|
.survey-workbench-embed .next-button:hover{
|
|
565
|
-
background:
|
|
653
|
+
background: color-mix(in srgb, var(--k-brand) 16%, transparent);
|
|
566
654
|
border-color: var(--accent);
|
|
567
655
|
}
|
|
568
656
|
|
|
@@ -579,7 +667,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
579
667
|
display: grid;
|
|
580
668
|
gap: 2px;
|
|
581
669
|
padding: 10px;
|
|
582
|
-
background:
|
|
670
|
+
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
583
671
|
}
|
|
584
672
|
|
|
585
673
|
.survey-workbench-embed .summary-grid .meta-value{
|
|
@@ -636,7 +724,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
636
724
|
border: 1px solid var(--line);
|
|
637
725
|
border-radius: var(--radius-sm);
|
|
638
726
|
padding: 8px;
|
|
639
|
-
background:
|
|
727
|
+
background: color-mix(in srgb, var(--k-bg) 45%, transparent);
|
|
640
728
|
}
|
|
641
729
|
|
|
642
730
|
.survey-workbench-embed .event-sequence{
|
|
@@ -716,13 +804,13 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
716
804
|
display: grid;
|
|
717
805
|
gap: 12px;
|
|
718
806
|
min-width: 0;
|
|
719
|
-
border: 1px solid
|
|
807
|
+
border: 1px solid color-mix(in srgb, var(--k-brand) 28%, transparent);
|
|
720
808
|
border-radius: var(--radius);
|
|
721
809
|
padding: 14px;
|
|
722
810
|
background:
|
|
723
|
-
linear-gradient(135deg,
|
|
811
|
+
linear-gradient(135deg, color-mix(in srgb, var(--k-brand) 12%, transparent), transparent 34%),
|
|
724
812
|
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
725
|
-
box-shadow: 0 26px 60px -42px rgba(0, 0, 0, 0.95), inset 0 1px 0
|
|
813
|
+
box-shadow: var(--k-shadow, 0 26px 60px -42px rgba(0, 0, 0, 0.95)), inset 0 1px 0 var(--line);
|
|
726
814
|
}
|
|
727
815
|
|
|
728
816
|
.survey-workbench-embed .focus-head,
|
|
@@ -745,7 +833,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
745
833
|
border: 1px solid var(--line);
|
|
746
834
|
border-radius: var(--radius-sm);
|
|
747
835
|
padding: 10px 12px;
|
|
748
|
-
background:
|
|
836
|
+
background: color-mix(in srgb, var(--k-bg) 56%, var(--k-panel));
|
|
749
837
|
}
|
|
750
838
|
|
|
751
839
|
.survey-workbench-embed .focus-value strong{
|
|
@@ -767,8 +855,8 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
767
855
|
}
|
|
768
856
|
|
|
769
857
|
.survey-workbench-embed .focus-value.is-proposed{
|
|
770
|
-
border-color:
|
|
771
|
-
background:
|
|
858
|
+
border-color: color-mix(in srgb, var(--k-active) 34%, transparent);
|
|
859
|
+
background: color-mix(in srgb, var(--k-active) 10%, color-mix(in srgb, var(--k-bg) 56%, var(--k-panel)));
|
|
772
860
|
}
|
|
773
861
|
|
|
774
862
|
.survey-workbench-embed .focus-value.is-proposed strong{
|
|
@@ -811,12 +899,12 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
811
899
|
place-items: center;
|
|
812
900
|
border-radius: 999px;
|
|
813
901
|
border: 1px solid var(--line-strong);
|
|
814
|
-
background: var(--
|
|
902
|
+
background: var(--vs-bg);
|
|
815
903
|
color: var(--paper-faint);
|
|
816
904
|
font-family: "Fraunces", Georgia, serif;
|
|
817
905
|
font-style: italic;
|
|
818
906
|
font-size: 13px;
|
|
819
|
-
box-shadow: 0 10px 26px -12px rgba(0, 0, 0, 0.9);
|
|
907
|
+
box-shadow: var(--k-shadow, 0 10px 26px -12px rgba(0, 0, 0, 0.9));
|
|
820
908
|
}
|
|
821
909
|
|
|
822
910
|
.survey-workbench-embed .candidate-card,
|
|
@@ -826,7 +914,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
826
914
|
border: 1px solid var(--line);
|
|
827
915
|
border-radius: var(--radius);
|
|
828
916
|
background: linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
829
|
-
box-shadow: 0 26px 60px -42px rgba(0, 0, 0, 0.95);
|
|
917
|
+
box-shadow: var(--k-shadow, 0 26px 60px -42px rgba(0, 0, 0, 0.95));
|
|
830
918
|
}
|
|
831
919
|
|
|
832
920
|
.survey-workbench-embed .candidate-card{
|
|
@@ -843,7 +931,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
843
931
|
|
|
844
932
|
/* The proposed candidate (2nd card) is the incoming change — flag it. */
|
|
845
933
|
.survey-workbench-embed .candidate-card:nth-child(2){
|
|
846
|
-
border-color:
|
|
934
|
+
border-color: color-mix(in srgb, var(--k-active) 32%, transparent);
|
|
847
935
|
}
|
|
848
936
|
|
|
849
937
|
.survey-workbench-embed .candidate-card:nth-child(2)::after{
|
|
@@ -851,12 +939,12 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
851
939
|
position: absolute;
|
|
852
940
|
inset: 0;
|
|
853
941
|
pointer-events: none;
|
|
854
|
-
background: radial-gradient(420px 200px at 80% -10%,
|
|
942
|
+
background: radial-gradient(420px 200px at 80% -10%, color-mix(in srgb, var(--k-active) 12%, transparent), transparent 70%);
|
|
855
943
|
}
|
|
856
944
|
|
|
857
945
|
.survey-workbench-embed .candidate-card.is-selected{
|
|
858
|
-
border-color:
|
|
859
|
-
box-shadow: 0 26px 60px -36px rgba(0, 0, 0, 0.95), inset 0 0 0 1px
|
|
946
|
+
border-color: color-mix(in srgb, var(--k-positive) 55%, transparent);
|
|
947
|
+
box-shadow: 0 26px 60px -36px rgba(0, 0, 0, 0.95), inset 0 0 0 1px color-mix(in srgb, var(--k-positive) 35%, transparent), inset 0 0 60px -30px color-mix(in srgb, var(--k-positive) 60%, transparent);
|
|
860
948
|
}
|
|
861
949
|
|
|
862
950
|
.survey-workbench-embed .candidate-card.is-unselected{
|
|
@@ -897,8 +985,8 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
897
985
|
|
|
898
986
|
.survey-workbench-embed .is-selected .state-label{
|
|
899
987
|
color: var(--verify);
|
|
900
|
-
border-color:
|
|
901
|
-
background:
|
|
988
|
+
border-color: color-mix(in srgb, var(--verify) 50%, transparent);
|
|
989
|
+
background: color-mix(in srgb, var(--verify) 12%, transparent);
|
|
902
990
|
}
|
|
903
991
|
|
|
904
992
|
/* The value — the single most important datapoint on the screen. */
|
|
@@ -952,9 +1040,9 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
952
1040
|
display: inline-block;
|
|
953
1041
|
margin-top: 5px;
|
|
954
1042
|
padding: 4px 9px;
|
|
955
|
-
border: 1px solid
|
|
1043
|
+
border: 1px solid color-mix(in srgb, var(--k-brand) 35%, transparent);
|
|
956
1044
|
border-radius: 999px;
|
|
957
|
-
background:
|
|
1045
|
+
background: color-mix(in srgb, var(--k-brand) 10%, transparent);
|
|
958
1046
|
color: var(--accent);
|
|
959
1047
|
font-size: 11.5px;
|
|
960
1048
|
font-weight: 600;
|
|
@@ -970,6 +1058,94 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
970
1058
|
color: var(--paper-dim) !important;
|
|
971
1059
|
}
|
|
972
1060
|
|
|
1061
|
+
/* ---- Excerpt / rationale 3-line clamp with inline expander ----------- */
|
|
1062
|
+
/* Applied to .field-value inside .excerpt or .excerpt-clamp containers,
|
|
1063
|
+
and to .rationale-clamp for reviewer rationale fields.
|
|
1064
|
+
The "more / less" toggle is a <button class="clamp-toggle"> sibling. */
|
|
1065
|
+
|
|
1066
|
+
.survey-workbench-embed .excerpt-clamp .field-value,
|
|
1067
|
+
.survey-workbench-embed .rationale-clamp .field-value{
|
|
1068
|
+
display: -webkit-box;
|
|
1069
|
+
-webkit-box-orient: vertical;
|
|
1070
|
+
-webkit-line-clamp: 3;
|
|
1071
|
+
overflow: hidden;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
.survey-workbench-embed .excerpt-clamp.is-expanded .field-value,
|
|
1075
|
+
.survey-workbench-embed .rationale-clamp.is-expanded .field-value{
|
|
1076
|
+
display: block;
|
|
1077
|
+
-webkit-line-clamp: unset;
|
|
1078
|
+
overflow: visible;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
.survey-workbench-embed .clamp-toggle{
|
|
1082
|
+
display: inline;
|
|
1083
|
+
margin-left: 4px;
|
|
1084
|
+
padding: 0;
|
|
1085
|
+
border: none;
|
|
1086
|
+
background: none;
|
|
1087
|
+
color: var(--accent);
|
|
1088
|
+
cursor: pointer;
|
|
1089
|
+
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1090
|
+
font-size: 10.5px;
|
|
1091
|
+
font-weight: 600;
|
|
1092
|
+
letter-spacing: 0.04em;
|
|
1093
|
+
text-decoration: underline;
|
|
1094
|
+
text-underline-offset: 2px;
|
|
1095
|
+
vertical-align: baseline;
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
.survey-workbench-embed .clamp-toggle:hover{
|
|
1099
|
+
color: var(--paper);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
/* ---- Candidate history expander -------------------------------------- */
|
|
1103
|
+
/* When there are >3 unselected candidates the UI renders the first 3 and
|
|
1104
|
+
hides the rest behind a "view all (N)" expander. */
|
|
1105
|
+
|
|
1106
|
+
.survey-workbench-embed .history-overflow{
|
|
1107
|
+
display: none;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
.survey-workbench-embed .history-expander.is-expanded .history-overflow{
|
|
1111
|
+
display: contents;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
.survey-workbench-embed .history-expand-btn{
|
|
1115
|
+
display: inline-flex;
|
|
1116
|
+
align-items: center;
|
|
1117
|
+
gap: 4px;
|
|
1118
|
+
margin-top: 6px;
|
|
1119
|
+
padding: 3px 10px;
|
|
1120
|
+
border: 1px solid var(--line-strong);
|
|
1121
|
+
border-radius: 999px;
|
|
1122
|
+
background: color-mix(in srgb, var(--k-brand) 6%, transparent);
|
|
1123
|
+
color: var(--accent);
|
|
1124
|
+
cursor: pointer;
|
|
1125
|
+
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1126
|
+
font-size: 10px;
|
|
1127
|
+
font-weight: 600;
|
|
1128
|
+
letter-spacing: 0.06em;
|
|
1129
|
+
transition: background 0.14s ease, border-color 0.14s ease;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
.survey-workbench-embed .history-expand-btn:hover{
|
|
1133
|
+
background: color-mix(in srgb, var(--k-brand) 14%, transparent);
|
|
1134
|
+
border-color: var(--accent);
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
.survey-workbench-embed .history-expander.is-expanded .history-expand-btn .expand-label{
|
|
1138
|
+
display: none;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
.survey-workbench-embed .history-expander.is-expanded .history-expand-btn .collapse-label{
|
|
1142
|
+
display: inline;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
.survey-workbench-embed .history-expand-btn .collapse-label{
|
|
1146
|
+
display: none;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
973
1149
|
/* ---- Decision column -------------------------------------------------- */
|
|
974
1150
|
|
|
975
1151
|
.survey-workbench-embed .decision-column{
|
|
@@ -997,7 +1173,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
997
1173
|
border-radius: var(--radius-sm);
|
|
998
1174
|
padding: 10px;
|
|
999
1175
|
color: var(--paper);
|
|
1000
|
-
background:
|
|
1176
|
+
background: color-mix(in srgb, var(--k-bg) 70%, var(--k-panel));
|
|
1001
1177
|
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1002
1178
|
font-size: 12px;
|
|
1003
1179
|
line-height: 1.5;
|
|
@@ -1010,7 +1186,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1010
1186
|
.survey-workbench-embed textarea:focus{
|
|
1011
1187
|
border-color: var(--accent);
|
|
1012
1188
|
outline: none;
|
|
1013
|
-
box-shadow: 0 0 0 3px
|
|
1189
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--k-brand) 18%, transparent);
|
|
1014
1190
|
}
|
|
1015
1191
|
|
|
1016
1192
|
/* Decision actions — color-coded to outcome (accept / keep / reject). */
|
|
@@ -1025,7 +1201,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1025
1201
|
min-height: 42px;
|
|
1026
1202
|
border: 1px solid var(--line-strong);
|
|
1027
1203
|
border-radius: var(--radius-sm);
|
|
1028
|
-
background:
|
|
1204
|
+
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
1029
1205
|
color: var(--paper);
|
|
1030
1206
|
cursor: pointer;
|
|
1031
1207
|
font-weight: 700;
|
|
@@ -1040,18 +1216,18 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1040
1216
|
outline: none;
|
|
1041
1217
|
}
|
|
1042
1218
|
|
|
1043
|
-
.survey-workbench-embed .decision-button:nth-child(1):hover{ border-color: var(--verify); box-shadow: 0 10px 24px -14px
|
|
1044
|
-
.survey-workbench-embed .decision-button:nth-child(2):hover{ border-color: var(--hold); box-shadow: 0 10px 24px -14px
|
|
1045
|
-
.survey-workbench-embed .decision-button:nth-child(3):hover{ border-color: var(--reject); box-shadow: 0 10px 24px -14px
|
|
1219
|
+
.survey-workbench-embed .decision-button:nth-child(1):hover{ border-color: var(--verify); box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--verify) 80%, transparent); }
|
|
1220
|
+
.survey-workbench-embed .decision-button:nth-child(2):hover{ border-color: var(--hold); box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--hold) 80%, transparent); }
|
|
1221
|
+
.survey-workbench-embed .decision-button:nth-child(3):hover{ border-color: var(--reject); box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--reject) 80%, transparent); }
|
|
1046
1222
|
|
|
1047
1223
|
.survey-workbench-embed .decision-button.is-active{
|
|
1048
|
-
color: var(--
|
|
1224
|
+
color: var(--k-bg);
|
|
1049
1225
|
border-color: transparent;
|
|
1050
1226
|
}
|
|
1051
1227
|
|
|
1052
|
-
.survey-workbench-embed .decision-button:nth-child(1).is-active{ background: var(--verify); box-shadow: 0 14px 30px -14px
|
|
1053
|
-
.survey-workbench-embed .decision-button:nth-child(2).is-active{ background: var(--hold); box-shadow: 0 14px 30px -14px
|
|
1054
|
-
.survey-workbench-embed .decision-button:nth-child(3).is-active{ background: var(--reject); box-shadow: 0 14px 30px -14px
|
|
1228
|
+
.survey-workbench-embed .decision-button:nth-child(1).is-active{ background: var(--verify); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--verify) 90%, transparent); }
|
|
1229
|
+
.survey-workbench-embed .decision-button:nth-child(2).is-active{ background: var(--hold); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--hold) 90%, transparent); }
|
|
1230
|
+
.survey-workbench-embed .decision-button:nth-child(3).is-active{ background: var(--reject); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--reject) 90%, transparent); }
|
|
1055
1231
|
|
|
1056
1232
|
.survey-workbench-embed .effect{
|
|
1057
1233
|
display: grid;
|
|
@@ -1085,7 +1261,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1085
1261
|
border: 1px solid var(--line-strong);
|
|
1086
1262
|
border-radius: 999px;
|
|
1087
1263
|
padding: 5px 11px;
|
|
1088
|
-
background:
|
|
1264
|
+
background: color-mix(in srgb, var(--k-active) 8%, transparent);
|
|
1089
1265
|
color: var(--proposed);
|
|
1090
1266
|
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1091
1267
|
font-size: 11px;
|
|
@@ -1093,7 +1269,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1093
1269
|
}
|
|
1094
1270
|
|
|
1095
1271
|
.survey-workbench-embed .tag.is-empty{
|
|
1096
|
-
background:
|
|
1272
|
+
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
1097
1273
|
color: var(--paper-faint);
|
|
1098
1274
|
}
|
|
1099
1275
|
|
|
@@ -1191,7 +1367,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1191
1367
|
border: 1px solid var(--line);
|
|
1192
1368
|
border-radius: var(--radius-sm);
|
|
1193
1369
|
padding: 10px 11px;
|
|
1194
|
-
background:
|
|
1370
|
+
background: color-mix(in srgb, var(--k-bg) 55%, var(--k-panel));
|
|
1195
1371
|
}
|
|
1196
1372
|
|
|
1197
1373
|
.survey-workbench-embed .preview-section h3{
|
|
@@ -1217,7 +1393,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1217
1393
|
.survey-workbench-embed .preview-section.is-neutral{
|
|
1218
1394
|
border-style: dashed;
|
|
1219
1395
|
border-color: var(--line);
|
|
1220
|
-
background:
|
|
1396
|
+
background: color-mix(in srgb, var(--k-bg) 35%, var(--k-panel));
|
|
1221
1397
|
}
|
|
1222
1398
|
|
|
1223
1399
|
.survey-workbench-embed .preview-section.is-neutral h3{
|
|
@@ -1290,7 +1466,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1290
1466
|
border-radius: var(--radius-sm);
|
|
1291
1467
|
background: var(--ink-1000);
|
|
1292
1468
|
padding: 11px;
|
|
1293
|
-
color:
|
|
1469
|
+
color: color-mix(in srgb, var(--k-positive) 80%, var(--k-text));
|
|
1294
1470
|
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1295
1471
|
font-size: 11px;
|
|
1296
1472
|
line-height: 1.55;
|
|
@@ -1350,9 +1526,9 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1350
1526
|
border-radius: var(--radius);
|
|
1351
1527
|
padding: 13px 14px;
|
|
1352
1528
|
background:
|
|
1353
|
-
linear-gradient(90deg,
|
|
1529
|
+
linear-gradient(90deg, color-mix(in srgb, var(--k-brand) 12%, transparent), transparent 46%),
|
|
1354
1530
|
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
1355
|
-
box-shadow: 0 18px 44px -36px rgba(0, 0, 0, 0.9);
|
|
1531
|
+
box-shadow: var(--k-shadow, 0 18px 44px -36px rgba(0, 0, 0, 0.9));
|
|
1356
1532
|
}
|
|
1357
1533
|
|
|
1358
1534
|
.survey-workbench-embed .active-review-copy,
|
|
@@ -1417,7 +1593,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1417
1593
|
padding: 11px 14px;
|
|
1418
1594
|
margin-bottom: 14px;
|
|
1419
1595
|
background:
|
|
1420
|
-
linear-gradient(90deg,
|
|
1596
|
+
linear-gradient(90deg, color-mix(in srgb, var(--k-brand) 8%, transparent), transparent 46%),
|
|
1421
1597
|
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
1422
1598
|
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
1423
1599
|
}
|
|
@@ -1443,7 +1619,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1443
1619
|
padding: 0 14px;
|
|
1444
1620
|
border: 1px solid var(--line-strong);
|
|
1445
1621
|
border-radius: 999px;
|
|
1446
|
-
background:
|
|
1622
|
+
background: color-mix(in srgb, var(--k-brand) 8%, transparent);
|
|
1447
1623
|
color: var(--accent);
|
|
1448
1624
|
cursor: pointer;
|
|
1449
1625
|
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
@@ -1454,7 +1630,7 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1454
1630
|
}
|
|
1455
1631
|
|
|
1456
1632
|
.survey-workbench-embed .mobile-queue-open:hover{
|
|
1457
|
-
background:
|
|
1633
|
+
background: color-mix(in srgb, var(--k-brand) 16%, transparent);
|
|
1458
1634
|
border-color: var(--accent);
|
|
1459
1635
|
}
|
|
1460
1636
|
|
|
@@ -1695,6 +1871,41 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
1695
1871
|
}
|
|
1696
1872
|
}
|
|
1697
1873
|
|
|
1874
|
+
/* ---- Type legibility: serif → UI sans below 480px -------------------- */
|
|
1875
|
+
/* At small container sizes the Fraunces display font reads poorly; fall back
|
|
1876
|
+
to the UI sans-serif stack for headings while keeping serif on desktop. */
|
|
1877
|
+
@media (max-width: 480px) {
|
|
1878
|
+
.survey-workbench-embed h1,
|
|
1879
|
+
.survey-workbench-embed h2,
|
|
1880
|
+
.survey-workbench-embed h3,
|
|
1881
|
+
.survey-workbench-embed .role,
|
|
1882
|
+
.survey-workbench-embed .surface-summary-label,
|
|
1883
|
+
.survey-workbench-embed .queue-head h2,
|
|
1884
|
+
.survey-workbench-embed .session-summary h2,
|
|
1885
|
+
.survey-workbench-embed .session-audit h2,
|
|
1886
|
+
.survey-workbench-embed .surface-head h2,
|
|
1887
|
+
.survey-workbench-embed .summary-grid .meta-value{
|
|
1888
|
+
font-family: var(--k-font-ui, "Hanken Grotesk", system-ui, sans-serif);
|
|
1889
|
+
letter-spacing: -0.01em;
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
|
|
1893
|
+
@container (max-width: 480px) {
|
|
1894
|
+
.survey-workbench-embed h1,
|
|
1895
|
+
.survey-workbench-embed h2,
|
|
1896
|
+
.survey-workbench-embed h3,
|
|
1897
|
+
.survey-workbench-embed .role,
|
|
1898
|
+
.survey-workbench-embed .surface-summary-label,
|
|
1899
|
+
.survey-workbench-embed .queue-head h2,
|
|
1900
|
+
.survey-workbench-embed .session-summary h2,
|
|
1901
|
+
.survey-workbench-embed .session-audit h2,
|
|
1902
|
+
.survey-workbench-embed .surface-head h2,
|
|
1903
|
+
.survey-workbench-embed .summary-grid .meta-value{
|
|
1904
|
+
font-family: var(--k-font-ui, "Hanken Grotesk", system-ui, sans-serif);
|
|
1905
|
+
letter-spacing: -0.01em;
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
|
|
1698
1909
|
@media (max-width: 420px) {
|
|
1699
1910
|
.survey-workbench-embed h1{
|
|
1700
1911
|
font-size: 23px;
|