@kontourai/survey 1.11.0 → 1.13.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/example-data/public-directory-review-resource.d.ts +2 -0
- package/dist/example-data/public-directory-review-resource.js +1 -0
- package/dist/examples/review-workbench/downstream-public-directory-adapter.js +3 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/review-resource.d.ts +47 -0
- package/dist/src/review-workbench/review-queue-session.d.ts +30 -0
- package/dist/src/review-workbench/review-queue-session.js +30 -0
- package/dist/src/review-workbench/review-session-replay.js +7 -2
- package/dist/src/review-workbench/review-workbench-css.generated.js +615 -1417
- package/dist/src/review-workbench/review-workbench-data.d.ts +4 -0
- package/dist/src/review-workbench/review-workbench-data.js +172 -0
- package/dist/src/review-workbench/review-workbench-element.d.ts +5 -1
- package/dist/src/review-workbench/review-workbench-element.js +86 -3
- package/dist/src/review-workbench/review-workbench.css +615 -1417
- package/dist/src/review-workbench/review-workbench.d.ts +22 -2
- package/dist/src/review-workbench/review-workbench.js +513 -536
- package/dist/src/review-workbench/review-workbench.standalone.css +615 -1418
- package/package.json +1 -1
|
@@ -1,79 +1,63 @@
|
|
|
1
|
-
/* Survey Review Workbench —
|
|
2
|
-
Reviewers judge whether a proposed value should
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/* Survey Review Workbench — field-diff review UI.
|
|
2
|
+
Reviewers judge, field by field, whether a proposed value should replace a
|
|
3
|
+
current one. The visual language leads with the value diff, then confidence,
|
|
4
|
+
then provenance, then the decision — plain language on the primary surface,
|
|
5
|
+
audit/trace detail tucked behind one collapsed <details> per field.
|
|
6
|
+
|
|
7
|
+
Token contract: every color/radius/shadow/font below resolves through --k-*
|
|
8
|
+
custom properties so a host app can re-skin the whole surface by overriding
|
|
9
|
+
tokens alone (see the "Theming" section of docs/consumer-integration-guide.md).
|
|
10
|
+
The aliases declared here (--k-muted, --k-raised, --k-sunken, --k-brand-ink,
|
|
11
|
+
--k-brand-wash, --k-positive-wash, --k-caution-wash, --k-negative-wash,
|
|
12
|
+
--k-radius) derive from Survey's existing --k-text-muted / --k-panel-raised /
|
|
13
|
+
--k-brand-contrast / --k-*-soft / --k-radius-md tokens so overriding the base
|
|
14
|
+
token a host already knows about re-skins these too — a host can also override
|
|
15
|
+
any alias directly for finer control. */
|
|
7
16
|
|
|
8
17
|
:root {
|
|
9
18
|
color-scheme: dark;
|
|
10
19
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
--
|
|
14
|
-
--
|
|
15
|
-
--ink
|
|
16
|
-
--
|
|
17
|
-
--
|
|
18
|
-
--
|
|
19
|
-
--
|
|
20
|
-
--
|
|
21
|
-
--paper-faint: var(--k-text-faint);
|
|
22
|
-
--line: var(--k-line);
|
|
23
|
-
--line-strong: var(--k-line-strong);
|
|
24
|
-
--accent: var(--k-brand);
|
|
25
|
-
--accent-deep: color-mix(in srgb, var(--k-brand) 34%, var(--k-bg));
|
|
26
|
-
--proposed: var(--k-active);
|
|
27
|
-
--verify: var(--k-positive);
|
|
28
|
-
--hold: var(--k-caution);
|
|
29
|
-
--reject: var(--k-negative);
|
|
30
|
-
--radius: var(--k-radius-md);
|
|
31
|
-
--radius-sm: var(--k-radius-sm);
|
|
32
|
-
|
|
33
|
-
/* Panel surface alpha — stronger contrast in light mode, subtle in dark */
|
|
34
|
-
--surface-alpha: 0.55;
|
|
35
|
-
/* Overlay tint alpha for brand-coloured gradient overlays */
|
|
36
|
-
--overlay-alpha: 0.10;
|
|
37
|
-
/* Grain overlay: visible dark only, 0 in light */
|
|
38
|
-
--grain-opacity: 0.04;
|
|
39
|
-
/* VS marker bg */
|
|
40
|
-
--vs-bg: var(--ink-750);
|
|
20
|
+
--k-muted: var(--k-text-muted);
|
|
21
|
+
--k-faint: var(--k-text-faint);
|
|
22
|
+
--k-raised: var(--k-panel-raised);
|
|
23
|
+
--k-sunken: color-mix(in srgb, var(--k-bg) 55%, var(--k-panel) 45%);
|
|
24
|
+
--k-brand-ink: var(--k-brand-contrast);
|
|
25
|
+
--k-brand-wash: color-mix(in srgb, var(--k-brand) 14%, transparent);
|
|
26
|
+
--k-positive-wash: var(--k-positive-soft, color-mix(in srgb, var(--k-positive) 14%, transparent));
|
|
27
|
+
--k-caution-wash: var(--k-caution-soft, color-mix(in srgb, var(--k-caution) 14%, transparent));
|
|
28
|
+
--k-negative-wash: var(--k-negative-soft, color-mix(in srgb, var(--k-negative) 14%, transparent));
|
|
29
|
+
--k-radius: var(--k-radius-md);
|
|
41
30
|
|
|
42
31
|
font-family: var(--k-font-ui);
|
|
43
|
-
background: var(--
|
|
44
|
-
color: var(--
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/*
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
32
|
+
background: var(--k-bg);
|
|
33
|
+
color: var(--k-text);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* Re-assert the base structural tokens for light mode. themes.css's `.theme-*`
|
|
37
|
+
preset classes hardcode a dark --k-bg/--k-panel/etc (so the preset "just
|
|
38
|
+
works" without requiring [data-theme] to be set), and a bare class selector
|
|
39
|
+
ties with the `[data-theme="light"]` selector in tokens.css on specificity —
|
|
40
|
+
so source order decides, and themes.css loads after tokens.css. Re-declaring
|
|
41
|
+
the light values here (loaded after themes.css) wins that tie-break. Presets
|
|
42
|
+
still control --k-brand (and theme-console's fuller palette) via their own,
|
|
43
|
+
more specific `[data-theme="light"].theme-*` rules in themes.css. */
|
|
52
44
|
[data-theme="light"] {
|
|
53
45
|
color-scheme: light;
|
|
54
|
-
/* Structural tokens: override .theme-survey which hardcodes dark values.
|
|
55
|
-
These match the [data-theme="light"] block in tokens.css. */
|
|
56
46
|
--k-bg: #f5f4ef;
|
|
57
47
|
--k-panel: #ffffff;
|
|
58
48
|
--k-panel-raised: #fbfaf7;
|
|
59
49
|
--k-line: rgba(36, 40, 46, 0.12);
|
|
60
50
|
--k-line-strong: rgba(36, 40, 46, 0.20);
|
|
51
|
+
--k-shadow: 0 18px 50px -30px rgba(0, 0, 0, 0.25);
|
|
61
52
|
--k-text: #202124;
|
|
62
53
|
--k-text-muted: #5b626b;
|
|
63
54
|
--k-text-faint: #707782;
|
|
55
|
+
--k-brand-contrast: #ffffff;
|
|
64
56
|
--k-positive: #168257;
|
|
65
57
|
--k-caution: #8a5a00;
|
|
66
58
|
--k-negative: #c83b3b;
|
|
59
|
+
--k-neutral: #5f6975;
|
|
67
60
|
--k-active: #3f6fd6;
|
|
68
|
-
/* Workbench-specific overlay and surface alphas */
|
|
69
|
-
--grain-opacity: 0;
|
|
70
|
-
--overlay-alpha: 0.06;
|
|
71
|
-
--surface-alpha: 0.70;
|
|
72
|
-
--vs-bg: var(--ink-750);
|
|
73
|
-
/* In light mode the brand accent is remapped by themes.css — ensure the
|
|
74
|
-
ink aliases derive cleanly from the token bg/panel values. */
|
|
75
|
-
--ink-900: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
76
|
-
--ink-850: color-mix(in srgb, var(--k-bg) 40%, var(--k-panel));
|
|
77
61
|
}
|
|
78
62
|
|
|
79
63
|
* {
|
|
@@ -83,30 +67,21 @@
|
|
|
83
67
|
body {
|
|
84
68
|
margin: 0;
|
|
85
69
|
min-width: 320px;
|
|
86
|
-
position: relative;
|
|
87
|
-
background:
|
|
88
|
-
radial-gradient(1100px 620px at 12% -8%, color-mix(in srgb, var(--k-brand) 10%, transparent), transparent 60%),
|
|
89
|
-
radial-gradient(900px 560px at 100% 0%, color-mix(in srgb, var(--k-active) 10%, transparent), transparent 55%),
|
|
90
|
-
radial-gradient(800px 800px at 88% 110%, color-mix(in srgb, var(--k-caution) 7%, transparent), transparent 60%),
|
|
91
|
-
linear-gradient(180deg, var(--ink-1000), var(--ink-900) 55%, var(--ink-1000));
|
|
92
|
-
background-attachment: fixed;
|
|
93
70
|
}
|
|
94
71
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
inset: 0;
|
|
101
|
-
z-index: 0;
|
|
102
|
-
pointer-events: none;
|
|
103
|
-
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");
|
|
104
|
-
opacity: var(--grain-opacity);
|
|
105
|
-
mix-blend-mode: screen;
|
|
72
|
+
button,
|
|
73
|
+
textarea,
|
|
74
|
+
input {
|
|
75
|
+
font: inherit;
|
|
76
|
+
color: inherit;
|
|
106
77
|
}
|
|
107
78
|
|
|
108
|
-
|
|
109
|
-
|
|
79
|
+
h1, h2, h3, p {
|
|
80
|
+
margin: 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* ---------- demo page chrome (host page only, not part of the component) ---------- */
|
|
84
|
+
|
|
110
85
|
.demo-toolbar {
|
|
111
86
|
position: fixed;
|
|
112
87
|
top: 12px;
|
|
@@ -123,23 +98,20 @@ body::before {
|
|
|
123
98
|
gap: 6px;
|
|
124
99
|
height: 32px;
|
|
125
100
|
padding: 0 12px;
|
|
126
|
-
border: 1px solid var(--line-strong);
|
|
101
|
+
border: 1px solid var(--k-line-strong);
|
|
127
102
|
border-radius: 999px;
|
|
128
|
-
background:
|
|
129
|
-
color: var(--
|
|
103
|
+
background: var(--k-panel);
|
|
104
|
+
color: var(--k-muted);
|
|
130
105
|
cursor: pointer;
|
|
131
|
-
font-
|
|
132
|
-
font-size: 11px;
|
|
106
|
+
font-size: 12px;
|
|
133
107
|
font-weight: 600;
|
|
134
|
-
letter-spacing: 0.
|
|
135
|
-
backdrop-filter: blur(6px);
|
|
108
|
+
letter-spacing: 0.02em;
|
|
136
109
|
transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
|
|
137
110
|
}
|
|
138
111
|
|
|
139
112
|
.theme-toggle:hover {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
color: var(--accent);
|
|
113
|
+
border-color: var(--k-brand);
|
|
114
|
+
color: var(--k-brand);
|
|
143
115
|
}
|
|
144
116
|
|
|
145
117
|
.theme-toggle-icon {
|
|
@@ -147,775 +119,672 @@ body::before {
|
|
|
147
119
|
line-height: 1;
|
|
148
120
|
}
|
|
149
121
|
|
|
150
|
-
|
|
151
|
-
textarea {
|
|
152
|
-
font: inherit;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
h1,
|
|
156
|
-
h2,
|
|
157
|
-
h3,
|
|
158
|
-
p {
|
|
159
|
-
margin: 0;
|
|
160
|
-
}
|
|
122
|
+
/* ---------- outer containers ---------- */
|
|
161
123
|
|
|
162
124
|
.workbench {
|
|
163
125
|
position: relative;
|
|
164
|
-
z-index: 1;
|
|
165
126
|
container-type: inline-size;
|
|
166
127
|
min-height: 100vh;
|
|
167
|
-
padding:
|
|
128
|
+
padding: 28px 20px 80px;
|
|
168
129
|
}
|
|
169
130
|
|
|
170
131
|
.workbench-shell {
|
|
171
|
-
|
|
172
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
173
|
-
gap: 16px;
|
|
174
|
-
max-width: 1360px;
|
|
132
|
+
max-width: 940px;
|
|
175
133
|
margin: 0 auto;
|
|
176
134
|
}
|
|
177
135
|
|
|
178
|
-
/*
|
|
136
|
+
/* ---------- review panel + header ---------- */
|
|
179
137
|
|
|
180
|
-
.
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
font-weight: 600;
|
|
187
|
-
letter-spacing: 0.18em;
|
|
188
|
-
text-transform: uppercase;
|
|
138
|
+
.review {
|
|
139
|
+
background: var(--k-panel);
|
|
140
|
+
border: 1px solid var(--k-line);
|
|
141
|
+
border-radius: var(--k-radius);
|
|
142
|
+
box-shadow: var(--k-shadow);
|
|
143
|
+
overflow: hidden;
|
|
189
144
|
}
|
|
190
145
|
|
|
191
|
-
.
|
|
192
|
-
|
|
193
|
-
|
|
146
|
+
.rhead {
|
|
147
|
+
padding: 20px 22px;
|
|
148
|
+
border-bottom: 1px solid var(--k-line);
|
|
149
|
+
display: grid;
|
|
150
|
+
gap: 14px;
|
|
194
151
|
}
|
|
195
152
|
|
|
196
|
-
.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
color: var(--paper);
|
|
153
|
+
.rhead .top {
|
|
154
|
+
display: flex;
|
|
155
|
+
align-items: flex-start;
|
|
156
|
+
gap: 14px;
|
|
157
|
+
flex-wrap: wrap;
|
|
202
158
|
}
|
|
203
159
|
|
|
204
|
-
|
|
160
|
+
.rhead .eyebrow {
|
|
161
|
+
font-size: 12px;
|
|
162
|
+
letter-spacing: 0.08em;
|
|
163
|
+
text-transform: uppercase;
|
|
164
|
+
color: var(--k-faint);
|
|
165
|
+
}
|
|
205
166
|
|
|
206
|
-
.
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
border-radius: var(--radius);
|
|
214
|
-
background:
|
|
215
|
-
linear-gradient(135deg, color-mix(in srgb, var(--k-brand) 8%, transparent), transparent 42%),
|
|
216
|
-
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
217
|
-
box-shadow: var(--k-shadow, 0 24px 60px -34px rgba(0, 0, 0, 0.9)), inset 0 1px 0 var(--line);
|
|
218
|
-
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
167
|
+
.rhead h1 {
|
|
168
|
+
margin: 2px 0 0;
|
|
169
|
+
font-size: 21px;
|
|
170
|
+
line-height: 1.2;
|
|
171
|
+
text-wrap: balance;
|
|
172
|
+
letter-spacing: -0.01em;
|
|
173
|
+
overflow-wrap: anywhere;
|
|
219
174
|
}
|
|
220
175
|
|
|
221
|
-
.
|
|
222
|
-
|
|
176
|
+
.rhead .subj {
|
|
177
|
+
flex: 1;
|
|
178
|
+
min-width: 240px;
|
|
223
179
|
}
|
|
224
180
|
|
|
225
|
-
.
|
|
226
|
-
|
|
227
|
-
|
|
181
|
+
.meta {
|
|
182
|
+
display: flex;
|
|
183
|
+
gap: 18px;
|
|
184
|
+
flex-wrap: wrap;
|
|
185
|
+
font-size: 12.5px;
|
|
186
|
+
color: var(--k-muted);
|
|
228
187
|
}
|
|
229
188
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
font-family: "Fraunces", Georgia, "Times New Roman", serif;
|
|
233
|
-
font-optical-sizing: auto;
|
|
189
|
+
.meta b {
|
|
190
|
+
color: var(--k-text);
|
|
234
191
|
font-weight: 600;
|
|
235
|
-
font-
|
|
236
|
-
line-height: 1.08;
|
|
237
|
-
letter-spacing: -0.01em;
|
|
238
|
-
overflow-wrap: anywhere;
|
|
239
|
-
color: var(--paper);
|
|
192
|
+
font-variant-numeric: tabular-nums;
|
|
240
193
|
}
|
|
241
194
|
|
|
242
|
-
|
|
243
|
-
max-width: 720px;
|
|
244
|
-
margin-top: 7px;
|
|
245
|
-
color: var(--paper-dim);
|
|
246
|
-
font-size: 13px;
|
|
247
|
-
line-height: 1.4;
|
|
248
|
-
}
|
|
195
|
+
/* progress + apply */
|
|
249
196
|
|
|
250
|
-
.
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
197
|
+
.progress {
|
|
198
|
+
display: flex;
|
|
199
|
+
align-items: center;
|
|
200
|
+
gap: 14px;
|
|
201
|
+
flex-wrap: wrap;
|
|
254
202
|
}
|
|
255
203
|
|
|
256
|
-
.
|
|
257
|
-
|
|
204
|
+
.bar {
|
|
205
|
+
flex: 1;
|
|
206
|
+
min-width: 80px;
|
|
207
|
+
height: 7px;
|
|
208
|
+
border-radius: 999px;
|
|
209
|
+
background: var(--k-sunken);
|
|
210
|
+
overflow: hidden;
|
|
211
|
+
border: 1px solid var(--k-line);
|
|
258
212
|
}
|
|
259
213
|
|
|
260
|
-
.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
214
|
+
.bar > i {
|
|
215
|
+
display: block;
|
|
216
|
+
height: 100%;
|
|
217
|
+
background: var(--k-brand);
|
|
218
|
+
border-radius: 999px;
|
|
219
|
+
transition: width 0.35s cubic-bezier(0.2, 0.7, 0.3, 1);
|
|
265
220
|
}
|
|
266
221
|
|
|
267
|
-
.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
222
|
+
.ptext {
|
|
223
|
+
font-size: 13px;
|
|
224
|
+
color: var(--k-muted);
|
|
225
|
+
font-variant-numeric: tabular-nums;
|
|
226
|
+
white-space: nowrap;
|
|
272
227
|
}
|
|
273
228
|
|
|
274
|
-
.
|
|
275
|
-
|
|
276
|
-
min-width: 0;
|
|
229
|
+
.ptext b {
|
|
230
|
+
color: var(--k-text);
|
|
277
231
|
}
|
|
278
232
|
|
|
279
|
-
.
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
233
|
+
.apply {
|
|
234
|
+
border: 0;
|
|
235
|
+
background: var(--k-brand);
|
|
236
|
+
color: var(--k-brand-ink);
|
|
237
|
+
font-weight: 600;
|
|
238
|
+
font-size: 14px;
|
|
239
|
+
padding: 9px 18px;
|
|
240
|
+
border-radius: 999px;
|
|
241
|
+
cursor: pointer;
|
|
242
|
+
white-space: nowrap;
|
|
243
|
+
transition: transform 0.08s, filter 0.15s;
|
|
284
244
|
}
|
|
285
245
|
|
|
286
|
-
|
|
287
|
-
|
|
246
|
+
.apply:hover {
|
|
247
|
+
filter: brightness(1.06);
|
|
288
248
|
}
|
|
289
249
|
|
|
290
|
-
.
|
|
291
|
-
|
|
292
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
293
|
-
font-size: 12px;
|
|
294
|
-
font-weight: 500;
|
|
295
|
-
line-height: 1.45;
|
|
296
|
-
color: var(--paper);
|
|
250
|
+
.apply:active {
|
|
251
|
+
transform: translateY(1px);
|
|
297
252
|
}
|
|
298
253
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
254
|
+
.apply:disabled {
|
|
255
|
+
opacity: 0.45;
|
|
256
|
+
cursor: not-allowed;
|
|
257
|
+
filter: none;
|
|
303
258
|
}
|
|
304
259
|
|
|
305
|
-
/*
|
|
260
|
+
/* ---------- field cards ---------- */
|
|
306
261
|
|
|
307
|
-
.
|
|
308
|
-
display:
|
|
309
|
-
|
|
310
|
-
gap: 16px;
|
|
311
|
-
align-items: start;
|
|
262
|
+
.fields {
|
|
263
|
+
display: flex;
|
|
264
|
+
flex-direction: column;
|
|
312
265
|
}
|
|
313
266
|
|
|
314
|
-
.
|
|
267
|
+
.field {
|
|
315
268
|
display: grid;
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
top:
|
|
269
|
+
grid-template-columns: 4px 1fr;
|
|
270
|
+
gap: 0;
|
|
271
|
+
border-top: 1px solid var(--k-line);
|
|
319
272
|
}
|
|
320
273
|
|
|
321
|
-
.
|
|
322
|
-
|
|
274
|
+
.field:first-child {
|
|
275
|
+
border-top: 0;
|
|
323
276
|
}
|
|
324
277
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
.
|
|
328
|
-
display: none;
|
|
278
|
+
.stripe {
|
|
279
|
+
background: var(--k-line);
|
|
280
|
+
transition: background 0.25s;
|
|
329
281
|
}
|
|
330
282
|
|
|
331
|
-
|
|
283
|
+
.field[data-state="accepted"] .stripe { background: var(--k-positive); }
|
|
284
|
+
.field[data-state="kept"] .stripe { background: var(--k-faint); }
|
|
285
|
+
.field[data-state="rejected"] .stripe { background: var(--k-negative); }
|
|
286
|
+
.field[data-state="review"] .stripe { background: var(--k-brand); }
|
|
332
287
|
|
|
333
|
-
.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
background: color-mix(in srgb, var(--k-bg) 55%, transparent);
|
|
339
|
-
backdrop-filter: blur(2px);
|
|
340
|
-
opacity: 0;
|
|
341
|
-
transition: opacity 0.22s ease;
|
|
342
|
-
pointer-events: none;
|
|
288
|
+
.fbody {
|
|
289
|
+
padding: 18px 22px 20px;
|
|
290
|
+
display: grid;
|
|
291
|
+
gap: 13px;
|
|
292
|
+
min-width: 0;
|
|
343
293
|
}
|
|
344
294
|
|
|
345
|
-
.
|
|
346
|
-
|
|
347
|
-
|
|
295
|
+
.frow1 {
|
|
296
|
+
display: flex;
|
|
297
|
+
align-items: center;
|
|
298
|
+
gap: 10px;
|
|
299
|
+
flex-wrap: wrap;
|
|
348
300
|
}
|
|
349
301
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
position: absolute;
|
|
355
|
-
top: 12px;
|
|
356
|
-
right: 12px;
|
|
357
|
-
width: 30px;
|
|
358
|
-
height: 30px;
|
|
359
|
-
border: 1px solid var(--line-strong);
|
|
360
|
-
border-radius: 999px;
|
|
361
|
-
background: color-mix(in srgb, var(--k-bg) 80%, transparent);
|
|
362
|
-
color: var(--paper-faint);
|
|
363
|
-
cursor: pointer;
|
|
364
|
-
font-size: 14px;
|
|
365
|
-
line-height: 1;
|
|
366
|
-
align-items: center;
|
|
367
|
-
justify-content: center;
|
|
368
|
-
z-index: 2;
|
|
302
|
+
.fname {
|
|
303
|
+
font-size: 15.5px;
|
|
304
|
+
font-weight: 650;
|
|
305
|
+
letter-spacing: -0.005em;
|
|
369
306
|
}
|
|
370
307
|
|
|
371
|
-
.
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
padding:
|
|
378
|
-
|
|
379
|
-
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
380
|
-
animation-delay: 0.05s;
|
|
308
|
+
.fkind {
|
|
309
|
+
font-size: 11px;
|
|
310
|
+
letter-spacing: 0.05em;
|
|
311
|
+
text-transform: uppercase;
|
|
312
|
+
color: var(--k-faint);
|
|
313
|
+
border: 1px solid var(--k-line-strong);
|
|
314
|
+
padding: 1px 7px;
|
|
315
|
+
border-radius: 999px;
|
|
381
316
|
}
|
|
382
317
|
|
|
383
|
-
.
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
318
|
+
.chip {
|
|
319
|
+
font-size: 12px;
|
|
320
|
+
font-weight: 600;
|
|
321
|
+
padding: 3px 10px;
|
|
322
|
+
border-radius: 999px;
|
|
323
|
+
display: inline-flex;
|
|
387
324
|
align-items: center;
|
|
388
|
-
|
|
325
|
+
gap: 6px;
|
|
389
326
|
}
|
|
390
327
|
|
|
391
|
-
.
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
line-height: 1.1;
|
|
398
|
-
letter-spacing: -0.01em;
|
|
328
|
+
.chip::before {
|
|
329
|
+
content: "";
|
|
330
|
+
width: 6px;
|
|
331
|
+
height: 6px;
|
|
332
|
+
border-radius: 999px;
|
|
333
|
+
background: currentColor;
|
|
399
334
|
}
|
|
400
335
|
|
|
401
|
-
|
|
336
|
+
.chip.review { color: var(--k-brand); background: var(--k-brand-wash); }
|
|
337
|
+
.chip.accepted { color: var(--k-positive); background: var(--k-positive-wash); }
|
|
338
|
+
.chip.kept { color: var(--k-muted); background: var(--k-sunken); }
|
|
339
|
+
.chip.rejected { color: var(--k-negative); background: var(--k-negative-wash); }
|
|
402
340
|
|
|
403
|
-
.
|
|
404
|
-
|
|
405
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
406
|
-
gap: 10px;
|
|
407
|
-
align-items: center;
|
|
408
|
-
width: 100%;
|
|
409
|
-
min-height: 54px;
|
|
410
|
-
border: 1px solid var(--line);
|
|
411
|
-
border-left: 3px solid var(--paper-faint);
|
|
412
|
-
border-radius: var(--radius-sm);
|
|
413
|
-
margin-top: 8px;
|
|
414
|
-
padding: 9px 10px;
|
|
415
|
-
background: color-mix(in srgb, var(--k-bg) 50%, var(--k-panel));
|
|
416
|
-
color: var(--paper);
|
|
417
|
-
cursor: pointer;
|
|
418
|
-
text-align: left;
|
|
419
|
-
transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
|
|
341
|
+
.frow1 .push {
|
|
342
|
+
margin-left: auto;
|
|
420
343
|
}
|
|
421
344
|
|
|
422
|
-
|
|
423
|
-
transform: translateX(2px);
|
|
424
|
-
border-color: var(--line-strong);
|
|
425
|
-
background: color-mix(in srgb, var(--k-bg) 20%, var(--k-panel));
|
|
426
|
-
}
|
|
345
|
+
/* the diff */
|
|
427
346
|
|
|
428
|
-
.
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
347
|
+
.diff {
|
|
348
|
+
display: grid;
|
|
349
|
+
grid-template-columns: 1fr auto 1fr;
|
|
350
|
+
gap: 12px;
|
|
351
|
+
align-items: stretch;
|
|
432
352
|
}
|
|
433
353
|
|
|
434
|
-
|
|
435
|
-
.queue-row[data-queue-status="rejected"] { border-left-color: var(--reject); }
|
|
436
|
-
.queue-row[data-queue-status="escalated"] { border-left-color: var(--hold); }
|
|
437
|
-
.queue-row[data-queue-status="in-review"] { border-left-color: var(--accent); }
|
|
438
|
-
.queue-row[data-queue-status="pending"] { border-left-color: var(--paper-faint); }
|
|
354
|
+
/* narrow-width collapse for .diff lives in the responsive section at the foot. */
|
|
439
355
|
|
|
440
|
-
.
|
|
441
|
-
|
|
442
|
-
|
|
356
|
+
.val {
|
|
357
|
+
border: 1px solid var(--k-line);
|
|
358
|
+
border-radius: var(--k-radius-sm);
|
|
359
|
+
padding: 10px 12px;
|
|
360
|
+
background: var(--k-raised);
|
|
443
361
|
min-width: 0;
|
|
444
362
|
}
|
|
445
363
|
|
|
446
|
-
.
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
364
|
+
.val .vlbl {
|
|
365
|
+
font-size: 11px;
|
|
366
|
+
letter-spacing: 0.06em;
|
|
367
|
+
text-transform: uppercase;
|
|
368
|
+
color: var(--k-faint);
|
|
369
|
+
margin-bottom: 4px;
|
|
450
370
|
}
|
|
451
371
|
|
|
452
|
-
.
|
|
453
|
-
font-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
letter-spacing: -0.01em;
|
|
457
|
-
color: var(--paper);
|
|
372
|
+
.val .vtext {
|
|
373
|
+
font-size: 14.5px;
|
|
374
|
+
word-break: break-word;
|
|
375
|
+
white-space: pre-wrap;
|
|
458
376
|
}
|
|
459
377
|
|
|
460
|
-
.
|
|
461
|
-
|
|
462
|
-
font-size: 12px;
|
|
378
|
+
.val.current {
|
|
379
|
+
background: var(--k-sunken);
|
|
463
380
|
}
|
|
464
381
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
.state-label {
|
|
468
|
-
min-width: 78px;
|
|
469
|
-
padding: 4px 9px;
|
|
470
|
-
border: 1px solid var(--line-strong);
|
|
471
|
-
border-radius: 999px;
|
|
472
|
-
text-align: center;
|
|
473
|
-
color: var(--paper-dim);
|
|
474
|
-
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
475
|
-
letter-spacing: 0.08em;
|
|
476
|
-
font-size: 9.5px;
|
|
382
|
+
.val.current .vtext {
|
|
383
|
+
color: var(--k-muted);
|
|
477
384
|
}
|
|
478
385
|
|
|
479
|
-
.
|
|
480
|
-
|
|
481
|
-
.queue-row[data-queue-status="escalated"] .state-label { color: var(--hold); border-color: color-mix(in srgb, var(--hold) 40%, transparent); }
|
|
482
|
-
.queue-row[data-queue-status="in-review"] .state-label { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
|
|
483
|
-
|
|
484
|
-
.next-button {
|
|
485
|
-
min-height: 34px;
|
|
486
|
-
padding: 0 14px;
|
|
487
|
-
border: 1px solid var(--line-strong);
|
|
488
|
-
border-radius: 999px;
|
|
489
|
-
background: color-mix(in srgb, var(--k-brand) 8%, transparent);
|
|
490
|
-
color: var(--accent);
|
|
491
|
-
cursor: pointer;
|
|
492
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
493
|
-
font-size: 11px;
|
|
494
|
-
font-weight: 600;
|
|
495
|
-
letter-spacing: 0.06em;
|
|
496
|
-
transition: background 0.16s ease, border-color 0.16s ease;
|
|
386
|
+
.val.proposed {
|
|
387
|
+
border-color: color-mix(in srgb, var(--k-brand) 45%, var(--k-line));
|
|
497
388
|
}
|
|
498
389
|
|
|
499
|
-
.
|
|
500
|
-
|
|
501
|
-
|
|
390
|
+
.val.empty .vtext {
|
|
391
|
+
color: var(--k-faint);
|
|
392
|
+
font-style: italic;
|
|
502
393
|
}
|
|
503
394
|
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
display: grid;
|
|
508
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
509
|
-
gap: 10px;
|
|
510
|
-
margin-top: 12px;
|
|
395
|
+
.arrow {
|
|
396
|
+
align-self: center;
|
|
397
|
+
color: var(--k-faint);
|
|
511
398
|
}
|
|
512
399
|
|
|
513
|
-
.
|
|
514
|
-
display:
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
400
|
+
.editrow {
|
|
401
|
+
display: flex;
|
|
402
|
+
align-items: center;
|
|
403
|
+
gap: 8px;
|
|
404
|
+
margin-top: 8px;
|
|
518
405
|
}
|
|
519
406
|
|
|
520
|
-
.
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
color: var(--
|
|
407
|
+
.editrow input,
|
|
408
|
+
.editrow select {
|
|
409
|
+
flex: 1;
|
|
410
|
+
min-width: 0;
|
|
411
|
+
font-size: 13.5px;
|
|
412
|
+
color: var(--k-text);
|
|
413
|
+
background: var(--k-panel);
|
|
414
|
+
border: 1px solid var(--k-line-strong);
|
|
415
|
+
border-radius: 6px;
|
|
416
|
+
padding: 6px 9px;
|
|
526
417
|
}
|
|
527
418
|
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
animation-delay: 0.08s;
|
|
419
|
+
.editrow input:focus-visible,
|
|
420
|
+
.editrow select:focus-visible {
|
|
421
|
+
outline: 2px solid var(--k-brand);
|
|
422
|
+
outline-offset: 1px;
|
|
423
|
+
border-color: var(--k-brand);
|
|
534
424
|
}
|
|
535
425
|
|
|
536
|
-
.
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
align-items: start;
|
|
426
|
+
.editrow .ehint {
|
|
427
|
+
font-size: 11.5px;
|
|
428
|
+
color: var(--k-faint);
|
|
429
|
+
white-space: nowrap;
|
|
541
430
|
}
|
|
542
431
|
|
|
543
|
-
|
|
432
|
+
/* Validation message for a typed proposed-value edit (hidden until the mount
|
|
433
|
+
handler blocks a "Use proposed" on an out-of-shape value). */
|
|
434
|
+
.verr {
|
|
435
|
+
display: block;
|
|
544
436
|
margin-top: 5px;
|
|
545
|
-
|
|
437
|
+
font-size: 11.5px;
|
|
438
|
+
font-weight: 600;
|
|
439
|
+
color: var(--k-negative);
|
|
546
440
|
}
|
|
547
441
|
|
|
548
|
-
.
|
|
549
|
-
|
|
442
|
+
.verr[hidden] {
|
|
443
|
+
display: none;
|
|
550
444
|
}
|
|
551
445
|
|
|
552
|
-
|
|
553
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
554
|
-
font-size: 11px;
|
|
555
|
-
line-height: 1.3;
|
|
556
|
-
}
|
|
446
|
+
/* confidence + provenance */
|
|
557
447
|
|
|
558
|
-
.
|
|
448
|
+
.prov {
|
|
559
449
|
display: grid;
|
|
560
|
-
gap:
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
450
|
+
gap: 9px;
|
|
451
|
+
padding: 11px 13px;
|
|
452
|
+
border-radius: var(--k-radius-sm);
|
|
453
|
+
background: var(--k-sunken);
|
|
454
|
+
border: 1px solid var(--k-line);
|
|
564
455
|
}
|
|
565
456
|
|
|
566
|
-
.
|
|
567
|
-
display:
|
|
568
|
-
|
|
569
|
-
gap:
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
padding: 8px;
|
|
574
|
-
background: color-mix(in srgb, var(--k-bg) 45%, transparent);
|
|
457
|
+
.conf {
|
|
458
|
+
display: flex;
|
|
459
|
+
align-items: center;
|
|
460
|
+
gap: 10px;
|
|
461
|
+
font-size: 12.5px;
|
|
462
|
+
color: var(--k-muted);
|
|
463
|
+
flex-wrap: wrap;
|
|
575
464
|
}
|
|
576
465
|
|
|
577
|
-
.
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
width: 24px;
|
|
581
|
-
height: 24px;
|
|
582
|
-
border: 1px solid var(--line-strong);
|
|
466
|
+
.conf .meter {
|
|
467
|
+
width: 84px;
|
|
468
|
+
height: 6px;
|
|
583
469
|
border-radius: 999px;
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
font-size: 10px;
|
|
587
|
-
font-weight: 700;
|
|
470
|
+
background: var(--k-line-strong);
|
|
471
|
+
overflow: hidden;
|
|
588
472
|
}
|
|
589
473
|
|
|
590
|
-
.
|
|
591
|
-
.session-event-list small {
|
|
474
|
+
.conf .meter > i {
|
|
592
475
|
display: block;
|
|
593
|
-
|
|
594
|
-
|
|
476
|
+
height: 100%;
|
|
477
|
+
border-radius: 999px;
|
|
478
|
+
background: var(--k-positive);
|
|
595
479
|
}
|
|
596
480
|
|
|
597
|
-
.
|
|
598
|
-
|
|
599
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
600
|
-
font-size: 11px;
|
|
481
|
+
.conf .meter.mid > i {
|
|
482
|
+
background: var(--k-caution);
|
|
601
483
|
}
|
|
602
484
|
|
|
603
|
-
.
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
485
|
+
.conf .pct {
|
|
486
|
+
font-variant-numeric: tabular-nums;
|
|
487
|
+
font-weight: 600;
|
|
488
|
+
color: var(--k-text);
|
|
489
|
+
font-family: var(--k-font-mono);
|
|
490
|
+
font-size: 12px;
|
|
608
491
|
}
|
|
609
492
|
|
|
610
|
-
.
|
|
611
|
-
|
|
612
|
-
|
|
493
|
+
.excerpt {
|
|
494
|
+
font-size: 13px;
|
|
495
|
+
color: var(--k-text);
|
|
613
496
|
}
|
|
614
497
|
|
|
615
|
-
.
|
|
616
|
-
|
|
617
|
-
color: var(--accent);
|
|
618
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
619
|
-
font-size: 11px;
|
|
620
|
-
font-weight: 700;
|
|
621
|
-
letter-spacing: 0.06em;
|
|
498
|
+
.excerpt q {
|
|
499
|
+
color: var(--k-text);
|
|
622
500
|
}
|
|
623
501
|
|
|
624
|
-
.
|
|
625
|
-
|
|
626
|
-
}
|
|
502
|
+
.excerpt q::before { content: "\201C"; }
|
|
503
|
+
.excerpt q::after { content: "\201D"; }
|
|
627
504
|
|
|
628
|
-
|
|
505
|
+
.excerpt .from {
|
|
506
|
+
display: inline-flex;
|
|
507
|
+
align-items: center;
|
|
508
|
+
gap: 5px;
|
|
509
|
+
margin-top: 5px;
|
|
510
|
+
font-size: 12px;
|
|
511
|
+
color: var(--k-muted);
|
|
512
|
+
flex-wrap: wrap;
|
|
513
|
+
}
|
|
629
514
|
|
|
630
|
-
.
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
"focus"
|
|
635
|
-
"decision"
|
|
636
|
-
"candidates";
|
|
637
|
-
gap: 14px;
|
|
638
|
-
align-items: start;
|
|
515
|
+
.excerpt .from a {
|
|
516
|
+
color: var(--k-brand);
|
|
517
|
+
text-decoration: underline;
|
|
518
|
+
text-underline-offset: 2px;
|
|
639
519
|
}
|
|
640
520
|
|
|
641
|
-
.
|
|
642
|
-
display:
|
|
643
|
-
|
|
644
|
-
|
|
521
|
+
.noprov {
|
|
522
|
+
display: flex;
|
|
523
|
+
align-items: center;
|
|
524
|
+
gap: 8px;
|
|
525
|
+
font-size: 13px;
|
|
526
|
+
color: var(--k-caution);
|
|
527
|
+
flex-wrap: wrap;
|
|
645
528
|
}
|
|
646
529
|
|
|
647
|
-
|
|
530
|
+
.noprov svg {
|
|
531
|
+
flex: none;
|
|
532
|
+
}
|
|
648
533
|
|
|
649
|
-
.
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
border:
|
|
655
|
-
|
|
656
|
-
padding: 14px;
|
|
657
|
-
background:
|
|
658
|
-
linear-gradient(135deg, color-mix(in srgb, var(--k-brand) 12%, transparent), transparent 34%),
|
|
659
|
-
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
660
|
-
box-shadow: var(--k-shadow, 0 26px 60px -42px rgba(0, 0, 0, 0.95)), inset 0 1px 0 var(--line);
|
|
534
|
+
.noprov .tag {
|
|
535
|
+
background: var(--k-caution-wash);
|
|
536
|
+
color: var(--k-caution);
|
|
537
|
+
font-weight: 600;
|
|
538
|
+
padding: 2px 8px;
|
|
539
|
+
border-radius: 999px;
|
|
540
|
+
font-size: 12px;
|
|
661
541
|
}
|
|
662
542
|
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
543
|
+
/* decisions */
|
|
544
|
+
|
|
545
|
+
/* The decision row is the point of the card, so it sits on its own line,
|
|
546
|
+
right-aligned and prominent. The quiet calibration toggle is pushed to the
|
|
547
|
+
far left so the two primary actions read as the clear call to action. */
|
|
548
|
+
.decide {
|
|
549
|
+
display: flex;
|
|
666
550
|
gap: 10px;
|
|
551
|
+
flex-wrap: wrap;
|
|
552
|
+
align-items: center;
|
|
553
|
+
justify-content: flex-end;
|
|
554
|
+
margin-top: 2px;
|
|
667
555
|
}
|
|
668
556
|
|
|
669
|
-
.
|
|
670
|
-
|
|
557
|
+
.btn {
|
|
558
|
+
border: 1px solid var(--k-line-strong);
|
|
559
|
+
background: var(--k-raised);
|
|
560
|
+
color: var(--k-text);
|
|
561
|
+
font-size: 14px;
|
|
562
|
+
font-weight: 600;
|
|
563
|
+
padding: 0 18px;
|
|
564
|
+
min-height: 42px;
|
|
565
|
+
border-radius: 9px;
|
|
566
|
+
cursor: pointer;
|
|
567
|
+
display: inline-flex;
|
|
671
568
|
align-items: center;
|
|
569
|
+
justify-content: center;
|
|
570
|
+
gap: 7px;
|
|
571
|
+
transition: background 0.12s, border-color 0.12s, color 0.12s, filter 0.12s;
|
|
672
572
|
}
|
|
673
573
|
|
|
674
|
-
.
|
|
675
|
-
|
|
574
|
+
.btn:hover {
|
|
575
|
+
background: var(--k-sunken);
|
|
576
|
+
border-color: var(--k-line-strong);
|
|
676
577
|
}
|
|
677
578
|
|
|
678
|
-
.focus-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
border-radius: var(--radius-sm);
|
|
682
|
-
padding: 10px 12px;
|
|
683
|
-
background: color-mix(in srgb, var(--k-bg) 56%, var(--k-panel));
|
|
579
|
+
.btn:focus-visible {
|
|
580
|
+
outline: 2px solid var(--k-brand);
|
|
581
|
+
outline-offset: 2px;
|
|
684
582
|
}
|
|
685
583
|
|
|
686
|
-
.
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
color: var(--
|
|
690
|
-
|
|
691
|
-
font-size: clamp(18px, 1.8vw, 25px);
|
|
692
|
-
line-height: 1.14;
|
|
693
|
-
overflow-wrap: anywhere;
|
|
584
|
+
/* Use proposed — the filled positive primary, the loudest thing on the card. */
|
|
585
|
+
.btn.use {
|
|
586
|
+
background: var(--k-positive);
|
|
587
|
+
border-color: var(--k-positive);
|
|
588
|
+
color: #ffffff;
|
|
694
589
|
}
|
|
695
590
|
|
|
696
|
-
.
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
color:
|
|
700
|
-
|
|
701
|
-
font-size: 11px;
|
|
591
|
+
.btn.use:hover {
|
|
592
|
+
background: var(--k-positive);
|
|
593
|
+
border-color: var(--k-positive);
|
|
594
|
+
color: #ffffff;
|
|
595
|
+
filter: brightness(1.07);
|
|
702
596
|
}
|
|
703
597
|
|
|
704
|
-
.
|
|
705
|
-
|
|
706
|
-
|
|
598
|
+
/* Keep current — a strong neutral secondary; still prominent, clearly not the accept. */
|
|
599
|
+
.btn.keep {
|
|
600
|
+
border-color: var(--k-line-strong);
|
|
601
|
+
background: var(--k-panel-raised, var(--k-raised));
|
|
707
602
|
}
|
|
708
603
|
|
|
709
|
-
|
|
710
|
-
|
|
604
|
+
/* "Suggestion was wrong" — optional quiet calibration toggle on Keep current.
|
|
605
|
+
Ticking it turns a keep-current decision into the reject signal. Not a third action. */
|
|
606
|
+
.wrong {
|
|
607
|
+
order: -1;
|
|
608
|
+
margin-right: auto;
|
|
609
|
+
display: inline-flex;
|
|
610
|
+
align-items: center;
|
|
611
|
+
gap: 7px;
|
|
612
|
+
font-size: 12.5px;
|
|
613
|
+
color: var(--k-faint);
|
|
614
|
+
cursor: pointer;
|
|
615
|
+
user-select: none;
|
|
616
|
+
padding: 8px 4px;
|
|
617
|
+
min-height: 40px;
|
|
711
618
|
}
|
|
712
619
|
|
|
713
|
-
.
|
|
714
|
-
|
|
715
|
-
grid-template-columns: minmax(110px, 0.65fr) minmax(0, 1.2fr) minmax(0, 1.4fr);
|
|
716
|
-
gap: 10px;
|
|
717
|
-
margin: 0;
|
|
620
|
+
.wrong:hover {
|
|
621
|
+
color: var(--k-negative);
|
|
718
622
|
}
|
|
719
623
|
|
|
720
|
-
.
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
.candidate-grid {
|
|
728
|
-
grid-area: candidates;
|
|
729
|
-
display: grid;
|
|
730
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
731
|
-
gap: 12px;
|
|
732
|
-
position: relative;
|
|
624
|
+
.wrong input {
|
|
625
|
+
width: 15px;
|
|
626
|
+
height: 15px;
|
|
627
|
+
accent-color: var(--k-negative);
|
|
628
|
+
cursor: pointer;
|
|
629
|
+
margin: 0;
|
|
733
630
|
}
|
|
734
631
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
left: 50%;
|
|
741
|
-
transform: translateX(-50%);
|
|
742
|
-
z-index: 3;
|
|
743
|
-
width: 30px;
|
|
744
|
-
height: 30px;
|
|
745
|
-
display: grid;
|
|
746
|
-
place-items: center;
|
|
747
|
-
border-radius: 999px;
|
|
748
|
-
border: 1px solid var(--line-strong);
|
|
749
|
-
background: var(--vs-bg);
|
|
750
|
-
color: var(--paper-faint);
|
|
751
|
-
font-family: "Fraunces", Georgia, serif;
|
|
752
|
-
font-style: italic;
|
|
632
|
+
.decided {
|
|
633
|
+
display: none;
|
|
634
|
+
align-items: center;
|
|
635
|
+
justify-content: flex-end;
|
|
636
|
+
gap: 10px;
|
|
753
637
|
font-size: 13px;
|
|
754
|
-
|
|
638
|
+
color: var(--k-muted);
|
|
755
639
|
}
|
|
756
640
|
|
|
757
|
-
.
|
|
758
|
-
|
|
759
|
-
.surface-preview,
|
|
760
|
-
.decision-row {
|
|
761
|
-
border: 1px solid var(--line);
|
|
762
|
-
border-radius: var(--radius);
|
|
763
|
-
background: linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
764
|
-
box-shadow: var(--k-shadow, 0 26px 60px -42px rgba(0, 0, 0, 0.95));
|
|
641
|
+
.field[data-decided="1"] .decide {
|
|
642
|
+
display: none;
|
|
765
643
|
}
|
|
766
644
|
|
|
767
|
-
.
|
|
768
|
-
display:
|
|
769
|
-
grid-template-rows: auto auto minmax(0, 1fr) auto;
|
|
770
|
-
gap: 11px;
|
|
771
|
-
min-height: auto;
|
|
772
|
-
padding: 14px;
|
|
773
|
-
position: relative;
|
|
774
|
-
overflow: hidden;
|
|
775
|
-
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
776
|
-
animation-delay: 0.1s;
|
|
645
|
+
.field[data-decided="1"] .decided {
|
|
646
|
+
display: flex;
|
|
777
647
|
}
|
|
778
648
|
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
649
|
+
.undo {
|
|
650
|
+
border: 0;
|
|
651
|
+
background: none;
|
|
652
|
+
color: var(--k-brand);
|
|
653
|
+
font-size: 13px;
|
|
654
|
+
cursor: pointer;
|
|
655
|
+
text-decoration: underline;
|
|
656
|
+
text-underline-offset: 2px;
|
|
657
|
+
padding: 0;
|
|
782
658
|
}
|
|
783
659
|
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
660
|
+
/* footer tally */
|
|
661
|
+
|
|
662
|
+
.foot {
|
|
663
|
+
padding: 16px 22px;
|
|
664
|
+
border-top: 1px solid var(--k-line);
|
|
665
|
+
display: flex;
|
|
666
|
+
align-items: center;
|
|
667
|
+
gap: 16px;
|
|
668
|
+
flex-wrap: wrap;
|
|
669
|
+
background: var(--k-raised);
|
|
790
670
|
}
|
|
791
671
|
|
|
792
|
-
.
|
|
793
|
-
|
|
794
|
-
|
|
672
|
+
.tally {
|
|
673
|
+
display: flex;
|
|
674
|
+
gap: 16px;
|
|
675
|
+
font-size: 13px;
|
|
676
|
+
color: var(--k-muted);
|
|
677
|
+
flex-wrap: wrap;
|
|
795
678
|
}
|
|
796
679
|
|
|
797
|
-
.
|
|
798
|
-
|
|
799
|
-
|
|
680
|
+
.tally b {
|
|
681
|
+
color: var(--k-text);
|
|
682
|
+
font-variant-numeric: tabular-nums;
|
|
800
683
|
}
|
|
801
684
|
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
position: relative;
|
|
808
|
-
z-index: 1;
|
|
685
|
+
/* ---------- audit details: the single collapsed power-user surface per field ---------- */
|
|
686
|
+
|
|
687
|
+
.audit-details {
|
|
688
|
+
border-top: 1px dashed var(--k-line);
|
|
689
|
+
padding-top: 4px;
|
|
809
690
|
}
|
|
810
691
|
|
|
811
|
-
.
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
692
|
+
.audit-details summary {
|
|
693
|
+
cursor: pointer;
|
|
694
|
+
padding: 6px 0;
|
|
695
|
+
color: var(--k-faint);
|
|
696
|
+
font-size: 12px;
|
|
697
|
+
letter-spacing: 0.04em;
|
|
815
698
|
text-transform: uppercase;
|
|
816
|
-
|
|
817
|
-
word-break: break-word;
|
|
699
|
+
font-weight: 600;
|
|
818
700
|
}
|
|
819
701
|
|
|
820
|
-
.
|
|
821
|
-
|
|
822
|
-
font-family: "Fraunces", Georgia, serif;
|
|
823
|
-
font-weight: 600;
|
|
824
|
-
font-size: 18px;
|
|
825
|
-
letter-spacing: -0.01em;
|
|
826
|
-
color: var(--paper);
|
|
702
|
+
.audit-details summary:hover {
|
|
703
|
+
color: var(--k-muted);
|
|
827
704
|
}
|
|
828
705
|
|
|
829
|
-
.
|
|
830
|
-
color: var(--
|
|
706
|
+
.audit-details[open] summary {
|
|
707
|
+
color: var(--k-brand);
|
|
831
708
|
}
|
|
832
709
|
|
|
833
|
-
.
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
710
|
+
.audit-body {
|
|
711
|
+
display: grid;
|
|
712
|
+
gap: 14px;
|
|
713
|
+
padding: 4px 0 6px;
|
|
837
714
|
}
|
|
838
715
|
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
z-index: 1;
|
|
843
|
-
border-block: 1px solid var(--line);
|
|
844
|
-
padding: 10px 0;
|
|
716
|
+
.note-field {
|
|
717
|
+
display: grid;
|
|
718
|
+
gap: 6px;
|
|
845
719
|
}
|
|
846
720
|
|
|
847
|
-
.
|
|
848
|
-
|
|
849
|
-
font-
|
|
850
|
-
font-size: clamp(16px, 1.35vw, 20px);
|
|
721
|
+
.field-label {
|
|
722
|
+
color: var(--k-faint);
|
|
723
|
+
font-size: 11px;
|
|
851
724
|
font-weight: 600;
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
725
|
+
letter-spacing: 0.06em;
|
|
726
|
+
text-transform: uppercase;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
.field-value {
|
|
730
|
+
overflow-wrap: anywhere;
|
|
731
|
+
word-break: break-word;
|
|
732
|
+
line-height: 1.4;
|
|
733
|
+
color: var(--k-text);
|
|
734
|
+
font-size: 12.5px;
|
|
855
735
|
}
|
|
856
736
|
|
|
857
|
-
.
|
|
858
|
-
|
|
737
|
+
.note-field textarea {
|
|
738
|
+
display: block;
|
|
739
|
+
width: 100%;
|
|
740
|
+
min-height: 60px;
|
|
741
|
+
resize: vertical;
|
|
742
|
+
border: 1px solid var(--k-line-strong);
|
|
743
|
+
border-radius: var(--k-radius-sm);
|
|
744
|
+
padding: 8px 10px;
|
|
745
|
+
color: var(--k-text);
|
|
746
|
+
background: var(--k-sunken);
|
|
747
|
+
font-family: var(--k-font-mono);
|
|
748
|
+
font-size: 12px;
|
|
749
|
+
line-height: 1.5;
|
|
859
750
|
}
|
|
860
751
|
|
|
861
|
-
.
|
|
862
|
-
|
|
752
|
+
.note-field textarea:focus-visible {
|
|
753
|
+
outline: none;
|
|
754
|
+
border-color: var(--k-brand);
|
|
755
|
+
box-shadow: 0 0 0 3px var(--k-brand-wash);
|
|
863
756
|
}
|
|
864
757
|
|
|
865
758
|
.field-stack {
|
|
866
759
|
display: grid;
|
|
867
760
|
gap: 9px;
|
|
868
|
-
position: relative;
|
|
869
|
-
z-index: 1;
|
|
870
|
-
align-content: start;
|
|
871
761
|
}
|
|
872
762
|
|
|
873
|
-
.field-
|
|
874
|
-
|
|
875
|
-
font-size: 12.5px;
|
|
763
|
+
.field-stack.compact {
|
|
764
|
+
gap: 6px;
|
|
876
765
|
}
|
|
877
766
|
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
881
|
-
font-size: 11.5px;
|
|
882
|
-
color: var(--paper-dim);
|
|
767
|
+
.kv {
|
|
768
|
+
min-width: 0;
|
|
883
769
|
}
|
|
884
770
|
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
margin-top: 5px;
|
|
889
|
-
padding: 4px 9px;
|
|
890
|
-
border: 1px solid color-mix(in srgb, var(--k-brand) 35%, transparent);
|
|
891
|
-
border-radius: 999px;
|
|
892
|
-
background: color-mix(in srgb, var(--k-brand) 10%, transparent);
|
|
893
|
-
color: var(--accent);
|
|
771
|
+
.kv .field-value {
|
|
772
|
+
margin-top: 3px;
|
|
773
|
+
font-family: var(--k-font-mono);
|
|
894
774
|
font-size: 11.5px;
|
|
895
|
-
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
.excerpt {
|
|
899
|
-
border-left: 2px solid var(--accent-deep);
|
|
900
|
-
padding-left: 12px;
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
.excerpt .field-value {
|
|
904
|
-
font-style: italic;
|
|
905
|
-
color: var(--paper-dim) !important;
|
|
775
|
+
color: var(--k-muted);
|
|
906
776
|
}
|
|
907
777
|
|
|
908
|
-
/*
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
The "more / less" toggle is a <button class="clamp-toggle"> sibling. */
|
|
912
|
-
|
|
913
|
-
.excerpt-clamp .field-value,
|
|
914
|
-
.rationale-clamp .field-value {
|
|
778
|
+
/* Excerpt / rationale 3-line clamp with inline "more / less" expander. */
|
|
779
|
+
.kv.excerpt .field-value,
|
|
780
|
+
.kv.rationale-clamp .field-value {
|
|
915
781
|
display: -webkit-box;
|
|
916
782
|
-webkit-box-orient: vertical;
|
|
917
783
|
-webkit-line-clamp: 3;
|
|
918
784
|
overflow: hidden;
|
|
785
|
+
font-family: var(--k-font-ui);
|
|
786
|
+
font-style: italic;
|
|
787
|
+
color: var(--k-muted);
|
|
919
788
|
}
|
|
920
789
|
|
|
921
790
|
.excerpt-clamp.is-expanded .field-value,
|
|
@@ -931,9 +800,9 @@ h1 {
|
|
|
931
800
|
padding: 0;
|
|
932
801
|
border: none;
|
|
933
802
|
background: none;
|
|
934
|
-
color: var(--
|
|
803
|
+
color: var(--k-brand);
|
|
935
804
|
cursor: pointer;
|
|
936
|
-
font-family:
|
|
805
|
+
font-family: var(--k-font-mono);
|
|
937
806
|
font-size: 10.5px;
|
|
938
807
|
font-weight: 600;
|
|
939
808
|
letter-spacing: 0.04em;
|
|
@@ -943,13 +812,10 @@ h1 {
|
|
|
943
812
|
}
|
|
944
813
|
|
|
945
814
|
.clamp-toggle:hover {
|
|
946
|
-
color: var(--
|
|
815
|
+
color: var(--k-text);
|
|
947
816
|
}
|
|
948
817
|
|
|
949
|
-
/*
|
|
950
|
-
/* When there are >3 unselected candidates the UI renders the first 3 and
|
|
951
|
-
hides the rest behind a "view all (N)" expander. */
|
|
952
|
-
|
|
818
|
+
/* Candidate history expander: >3 unselected candidates hide behind "view all (N)". */
|
|
953
819
|
.history-overflow {
|
|
954
820
|
display: none;
|
|
955
821
|
}
|
|
@@ -964,21 +830,19 @@ h1 {
|
|
|
964
830
|
gap: 4px;
|
|
965
831
|
margin-top: 6px;
|
|
966
832
|
padding: 3px 10px;
|
|
967
|
-
border: 1px solid var(--line-strong);
|
|
833
|
+
border: 1px solid var(--k-line-strong);
|
|
968
834
|
border-radius: 999px;
|
|
969
|
-
background:
|
|
970
|
-
color: var(--
|
|
835
|
+
background: var(--k-brand-wash);
|
|
836
|
+
color: var(--k-brand);
|
|
971
837
|
cursor: pointer;
|
|
972
|
-
font-
|
|
973
|
-
font-size: 10px;
|
|
838
|
+
font-size: 10.5px;
|
|
974
839
|
font-weight: 600;
|
|
975
|
-
letter-spacing: 0.
|
|
840
|
+
letter-spacing: 0.04em;
|
|
976
841
|
transition: background 0.14s ease, border-color 0.14s ease;
|
|
977
842
|
}
|
|
978
843
|
|
|
979
844
|
.history-expand-btn:hover {
|
|
980
|
-
|
|
981
|
-
border-color: var(--accent);
|
|
845
|
+
border-color: var(--k-brand);
|
|
982
846
|
}
|
|
983
847
|
|
|
984
848
|
.history-expander.is-expanded .history-expand-btn .expand-label {
|
|
@@ -993,273 +857,46 @@ h1 {
|
|
|
993
857
|
display: none;
|
|
994
858
|
}
|
|
995
859
|
|
|
996
|
-
/* ---- Decision column -------------------------------------------------- */
|
|
997
|
-
|
|
998
|
-
.decision-column {
|
|
999
|
-
grid-area: decision;
|
|
1000
|
-
display: grid;
|
|
1001
|
-
grid-template-columns: minmax(0, 1fr);
|
|
1002
|
-
gap: 12px;
|
|
1003
|
-
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
1004
|
-
animation-delay: 0.15s;
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
.decision-row,
|
|
1008
|
-
.payload-panel,
|
|
1009
|
-
.surface-preview {
|
|
1010
|
-
padding: 14px;
|
|
1011
|
-
}
|
|
1012
|
-
|
|
1013
|
-
textarea {
|
|
1014
|
-
display: block;
|
|
1015
|
-
width: 100%;
|
|
1016
|
-
min-height: 74px;
|
|
1017
|
-
margin-top: 8px;
|
|
1018
|
-
resize: vertical;
|
|
1019
|
-
border: 1px solid var(--line-strong);
|
|
1020
|
-
border-radius: var(--radius-sm);
|
|
1021
|
-
padding: 10px;
|
|
1022
|
-
color: var(--paper);
|
|
1023
|
-
background: color-mix(in srgb, var(--k-bg) 70%, var(--k-panel));
|
|
1024
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1025
|
-
font-size: 12px;
|
|
1026
|
-
line-height: 1.5;
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
textarea::placeholder {
|
|
1030
|
-
color: var(--paper-faint);
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
textarea:focus {
|
|
1034
|
-
border-color: var(--accent);
|
|
1035
|
-
outline: none;
|
|
1036
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--k-brand) 18%, transparent);
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
|
-
/* Decision actions — color-coded to outcome (accept / keep / reject). */
|
|
1040
|
-
.decision-buttons {
|
|
1041
|
-
display: grid;
|
|
1042
|
-
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1043
|
-
gap: 8px;
|
|
1044
|
-
margin-top: 0;
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
.decision-button {
|
|
1048
|
-
min-height: 42px;
|
|
1049
|
-
border: 1px solid var(--line-strong);
|
|
1050
|
-
border-radius: var(--radius-sm);
|
|
1051
|
-
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
1052
|
-
color: var(--paper);
|
|
1053
|
-
cursor: pointer;
|
|
1054
|
-
font-weight: 700;
|
|
1055
|
-
font-size: 12px;
|
|
1056
|
-
letter-spacing: 0.01em;
|
|
1057
|
-
transition: transform 0.14s ease, border-color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
.decision-button:hover,
|
|
1061
|
-
.decision-button:focus {
|
|
1062
|
-
transform: translateY(-2px);
|
|
1063
|
-
outline: none;
|
|
1064
|
-
}
|
|
1065
|
-
|
|
1066
|
-
.decision-button:nth-child(1):hover { border-color: var(--verify); box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--verify) 80%, transparent); }
|
|
1067
|
-
.decision-button:nth-child(2):hover { border-color: var(--hold); box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--hold) 80%, transparent); }
|
|
1068
|
-
.decision-button:nth-child(3):hover { border-color: var(--reject); box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--reject) 80%, transparent); }
|
|
1069
|
-
|
|
1070
|
-
.decision-button.is-active {
|
|
1071
|
-
color: var(--k-bg);
|
|
1072
|
-
border-color: transparent;
|
|
1073
|
-
}
|
|
1074
|
-
|
|
1075
|
-
.decision-button:nth-child(1).is-active { background: var(--verify); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--verify) 90%, transparent); }
|
|
1076
|
-
.decision-button:nth-child(2).is-active { background: var(--hold); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--hold) 90%, transparent); }
|
|
1077
|
-
.decision-button:nth-child(3).is-active { background: var(--reject); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--reject) 90%, transparent); }
|
|
1078
|
-
|
|
1079
|
-
.effect {
|
|
1080
|
-
display: grid;
|
|
1081
|
-
gap: 7px;
|
|
1082
|
-
margin-top: 12px;
|
|
1083
|
-
border-top: 1px solid var(--line);
|
|
1084
|
-
padding-top: 11px;
|
|
1085
|
-
}
|
|
1086
|
-
|
|
1087
|
-
.effect .field-value {
|
|
1088
|
-
font-size: 12.5px;
|
|
1089
|
-
line-height: 1.45;
|
|
1090
|
-
color: var(--paper-dim);
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
.feedback-tags {
|
|
1094
|
-
display: grid;
|
|
1095
|
-
gap: 8px;
|
|
1096
|
-
margin-top: 12px;
|
|
1097
|
-
border-top: 1px solid var(--line);
|
|
1098
|
-
padding-top: 11px;
|
|
1099
|
-
}
|
|
1100
|
-
|
|
1101
|
-
.tag-row {
|
|
1102
|
-
display: flex;
|
|
1103
|
-
flex-wrap: wrap;
|
|
1104
|
-
gap: 7px;
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
.tag {
|
|
1108
|
-
border: 1px solid var(--line-strong);
|
|
1109
|
-
border-radius: 999px;
|
|
1110
|
-
padding: 5px 11px;
|
|
1111
|
-
background: color-mix(in srgb, var(--k-active) 8%, transparent);
|
|
1112
|
-
color: var(--proposed);
|
|
1113
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1114
|
-
font-size: 11px;
|
|
1115
|
-
font-weight: 500;
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
.tag.is-empty {
|
|
1119
|
-
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
1120
|
-
color: var(--paper-faint);
|
|
1121
|
-
}
|
|
1122
|
-
|
|
1123
|
-
/* ---- Surface preview dossier ------------------------------------------ */
|
|
1124
|
-
|
|
1125
|
-
.surface-preview {
|
|
1126
|
-
display: grid;
|
|
1127
|
-
gap: 11px;
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
|
-
/* When surface-preview is a <details> element */
|
|
1131
|
-
details.surface-preview {
|
|
1132
|
-
display: block;
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
|
-
details.surface-preview[open] {
|
|
1136
|
-
display: grid;
|
|
1137
|
-
gap: 11px;
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
.surface-summary {
|
|
1141
|
-
display: flex;
|
|
1142
|
-
gap: 12px;
|
|
1143
|
-
justify-content: space-between;
|
|
1144
|
-
align-items: center;
|
|
1145
|
-
cursor: pointer;
|
|
1146
|
-
list-style: none;
|
|
1147
|
-
padding: 0;
|
|
1148
|
-
}
|
|
1149
|
-
|
|
1150
|
-
.surface-summary::-webkit-details-marker {
|
|
1151
|
-
display: none;
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
.surface-summary::before {
|
|
1155
|
-
content: none;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
.surface-summary-label {
|
|
1159
|
-
font-family: "Fraunces", Georgia, serif;
|
|
1160
|
-
font-weight: 600;
|
|
1161
|
-
font-size: 16px;
|
|
1162
|
-
letter-spacing: -0.01em;
|
|
1163
|
-
color: var(--paper);
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
.surface-summary-label::before {
|
|
1167
|
-
content: "› ";
|
|
1168
|
-
color: var(--accent);
|
|
1169
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1170
|
-
font-size: 13px;
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
|
-
details.surface-preview[open] .surface-summary-label::before {
|
|
1174
|
-
content: "⌄ ";
|
|
1175
|
-
}
|
|
1176
|
-
|
|
1177
|
-
.surface-head {
|
|
1178
|
-
display: flex;
|
|
1179
|
-
gap: 12px;
|
|
1180
|
-
justify-content: space-between;
|
|
1181
|
-
align-items: flex-start;
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
.surface-head h2 {
|
|
1185
|
-
font-family: "Fraunces", Georgia, serif;
|
|
1186
|
-
font-weight: 600;
|
|
1187
|
-
font-size: 16px;
|
|
1188
|
-
letter-spacing: -0.01em;
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
|
-
.preview-disclaimer {
|
|
1192
|
-
border-left: 2px solid var(--hold);
|
|
1193
|
-
padding: 2px 0 2px 12px;
|
|
1194
|
-
color: var(--paper-dim);
|
|
1195
|
-
font-size: 12.5px;
|
|
1196
|
-
line-height: 1.5;
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
.preview-disclaimer-footer {
|
|
1200
|
-
margin-top: 4px;
|
|
1201
|
-
border-left-color: var(--line);
|
|
1202
|
-
font-size: 11.5px;
|
|
1203
|
-
color: var(--paper-faint);
|
|
1204
|
-
}
|
|
1205
|
-
|
|
1206
860
|
.preview-section-grid {
|
|
1207
861
|
display: grid;
|
|
1208
|
-
|
|
1209
|
-
gap: 8px;
|
|
862
|
+
gap: 10px;
|
|
1210
863
|
}
|
|
1211
864
|
|
|
1212
865
|
.preview-section {
|
|
1213
|
-
|
|
1214
|
-
border:
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
background: color-mix(in srgb, var(--k-bg) 55%, var(--k-panel));
|
|
866
|
+
border: 1px solid var(--k-line);
|
|
867
|
+
border-radius: var(--k-radius-sm);
|
|
868
|
+
padding: 10px 12px;
|
|
869
|
+
background: var(--k-sunken);
|
|
1218
870
|
}
|
|
1219
871
|
|
|
1220
872
|
.preview-section h3 {
|
|
1221
|
-
margin-bottom:
|
|
1222
|
-
color: var(--
|
|
1223
|
-
font-
|
|
1224
|
-
font-size: 10px;
|
|
873
|
+
margin-bottom: 6px;
|
|
874
|
+
color: var(--k-faint);
|
|
875
|
+
font-size: 11px;
|
|
1225
876
|
font-weight: 600;
|
|
1226
|
-
letter-spacing: 0.
|
|
877
|
+
letter-spacing: 0.06em;
|
|
1227
878
|
text-transform: uppercase;
|
|
1228
879
|
}
|
|
1229
880
|
|
|
1230
|
-
.field-stack.compact {
|
|
1231
|
-
gap: 9px;
|
|
1232
|
-
}
|
|
1233
|
-
|
|
1234
|
-
.compact .field-value {
|
|
1235
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1236
|
-
font-size: 12px;
|
|
1237
|
-
color: var(--paper-dim);
|
|
1238
|
-
}
|
|
1239
|
-
|
|
1240
881
|
.preview-section.is-neutral {
|
|
1241
|
-
|
|
1242
|
-
border-color: var(--line);
|
|
1243
|
-
background: color-mix(in srgb, var(--k-bg) 35%, var(--k-panel));
|
|
882
|
+
background: var(--k-raised);
|
|
1244
883
|
}
|
|
1245
884
|
|
|
1246
885
|
.preview-section.is-neutral h3 {
|
|
1247
|
-
color: var(--
|
|
886
|
+
color: var(--k-faint);
|
|
1248
887
|
}
|
|
1249
888
|
|
|
1250
889
|
.reference-details {
|
|
1251
|
-
margin-top:
|
|
1252
|
-
border-top: 1px solid var(--line);
|
|
1253
|
-
padding-top: 8px;
|
|
890
|
+
margin-top: 8px;
|
|
1254
891
|
}
|
|
1255
892
|
|
|
1256
893
|
.reference-details summary {
|
|
1257
894
|
cursor: pointer;
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
font-size:
|
|
895
|
+
list-style: none;
|
|
896
|
+
color: var(--k-faint);
|
|
897
|
+
font-size: 10.5px;
|
|
1261
898
|
font-weight: 600;
|
|
1262
|
-
letter-spacing: 0.
|
|
899
|
+
letter-spacing: 0.04em;
|
|
1263
900
|
text-transform: uppercase;
|
|
1264
901
|
}
|
|
1265
902
|
|
|
@@ -1268,580 +905,140 @@ details.surface-preview[open] .surface-summary-label::before {
|
|
|
1268
905
|
}
|
|
1269
906
|
|
|
1270
907
|
.reference-details summary::before {
|
|
1271
|
-
content: "
|
|
1272
|
-
color: var(--paper-faint);
|
|
1273
|
-
}
|
|
1274
|
-
|
|
1275
|
-
.reference-details[open] summary {
|
|
1276
|
-
color: var(--accent);
|
|
908
|
+
content: "▸ ";
|
|
1277
909
|
}
|
|
1278
910
|
|
|
1279
911
|
.reference-details[open] summary::before {
|
|
1280
|
-
content: "
|
|
1281
|
-
color: var(--accent);
|
|
912
|
+
content: "▾ ";
|
|
1282
913
|
}
|
|
1283
914
|
|
|
1284
915
|
.reference-details .field-stack {
|
|
1285
916
|
margin-top: 8px;
|
|
1286
917
|
}
|
|
1287
918
|
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
}
|
|
1293
|
-
|
|
1294
|
-
.payload-panel summary.field-label {
|
|
1295
|
-
cursor: pointer;
|
|
1296
|
-
list-style: none;
|
|
1297
|
-
}
|
|
1298
|
-
|
|
1299
|
-
.payload-panel summary.field-label::-webkit-details-marker {
|
|
1300
|
-
display: none;
|
|
919
|
+
.preview-disclaimer {
|
|
920
|
+
font-size: 11.5px;
|
|
921
|
+
color: var(--k-faint);
|
|
922
|
+
line-height: 1.5;
|
|
1301
923
|
}
|
|
1302
924
|
|
|
1303
|
-
.
|
|
1304
|
-
|
|
1305
|
-
|
|
925
|
+
.preview-disclaimer-footer {
|
|
926
|
+
border-top: 1px solid var(--k-line);
|
|
927
|
+
padding-top: 10px;
|
|
1306
928
|
}
|
|
1307
929
|
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
930
|
+
/* ReviewDecision payload — deliberately the deepest, last thing in the audit details. */
|
|
931
|
+
.reference-details pre,
|
|
932
|
+
pre[data-testid="decision-payload"] {
|
|
933
|
+
margin: 8px 0 0;
|
|
934
|
+
max-height: 260px;
|
|
1311
935
|
overflow: auto;
|
|
1312
|
-
|
|
1313
|
-
border
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
color:
|
|
1317
|
-
font-family:
|
|
936
|
+
padding: 10px;
|
|
937
|
+
border: 1px solid var(--k-line);
|
|
938
|
+
border-radius: var(--k-radius-sm);
|
|
939
|
+
background: var(--k-bg);
|
|
940
|
+
color: var(--k-muted);
|
|
941
|
+
font-family: var(--k-font-mono);
|
|
1318
942
|
font-size: 11px;
|
|
1319
|
-
line-height: 1.
|
|
943
|
+
line-height: 1.5;
|
|
1320
944
|
white-space: pre-wrap;
|
|
1321
|
-
word-break: break-word;
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
/* ---- Motion ----------------------------------------------------------- */
|
|
1325
|
-
|
|
1326
|
-
@keyframes rise {
|
|
1327
|
-
from {
|
|
1328
|
-
opacity: 0;
|
|
1329
|
-
transform: translateY(14px);
|
|
1330
|
-
}
|
|
1331
|
-
to {
|
|
1332
|
-
opacity: 1;
|
|
1333
|
-
transform: translateY(0);
|
|
1334
|
-
}
|
|
1335
945
|
}
|
|
1336
946
|
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
}
|
|
1343
|
-
|
|
1344
|
-
/* ---- Responsive ------------------------------------------------------- */
|
|
1345
|
-
|
|
1346
|
-
@media (max-width: 980px) {
|
|
1347
|
-
.topbar,
|
|
1348
|
-
.focus-evidence,
|
|
1349
|
-
.candidate-grid {
|
|
1350
|
-
grid-template-columns: 1fr;
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
.content-grid {
|
|
1354
|
-
grid-template-columns: 1fr;
|
|
1355
|
-
grid-template-areas:
|
|
1356
|
-
"focus"
|
|
1357
|
-
"decision"
|
|
1358
|
-
"candidates";
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
.queue-layout {
|
|
1362
|
-
display: block;
|
|
1363
|
-
position: relative;
|
|
1364
|
-
}
|
|
1365
|
-
|
|
1366
|
-
.active-review-strip {
|
|
1367
|
-
display: grid;
|
|
1368
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
1369
|
-
gap: 12px;
|
|
1370
|
-
align-items: center;
|
|
1371
|
-
border: 1px solid var(--line-strong);
|
|
1372
|
-
border-left: 3px solid var(--accent);
|
|
1373
|
-
border-radius: var(--radius);
|
|
1374
|
-
padding: 13px 14px;
|
|
1375
|
-
background:
|
|
1376
|
-
linear-gradient(90deg, color-mix(in srgb, var(--k-brand) 12%, transparent), transparent 46%),
|
|
1377
|
-
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
1378
|
-
box-shadow: var(--k-shadow, 0 18px 44px -36px rgba(0, 0, 0, 0.9));
|
|
1379
|
-
}
|
|
1380
|
-
|
|
1381
|
-
.active-review-copy,
|
|
1382
|
-
.active-review-actions,
|
|
1383
|
-
.active-review-decisions {
|
|
1384
|
-
min-width: 0;
|
|
1385
|
-
}
|
|
1386
|
-
|
|
1387
|
-
.active-review-copy {
|
|
1388
|
-
display: grid;
|
|
1389
|
-
gap: 4px;
|
|
1390
|
-
}
|
|
1391
|
-
|
|
1392
|
-
.active-review-copy strong {
|
|
1393
|
-
overflow-wrap: anywhere;
|
|
1394
|
-
color: var(--paper);
|
|
1395
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1396
|
-
font-size: 13px;
|
|
1397
|
-
}
|
|
1398
|
-
|
|
1399
|
-
.active-review-copy span:last-child {
|
|
1400
|
-
overflow-wrap: anywhere;
|
|
1401
|
-
color: var(--paper-dim);
|
|
1402
|
-
font-size: 13px;
|
|
1403
|
-
}
|
|
1404
|
-
|
|
1405
|
-
.active-review-actions {
|
|
1406
|
-
display: grid;
|
|
1407
|
-
gap: 8px;
|
|
1408
|
-
justify-items: end;
|
|
1409
|
-
}
|
|
1410
|
-
|
|
1411
|
-
.active-review-decisions {
|
|
1412
|
-
grid-column: 1 / -1;
|
|
1413
|
-
display: grid;
|
|
1414
|
-
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1415
|
-
gap: 8px;
|
|
1416
|
-
}
|
|
1417
|
-
|
|
1418
|
-
.active-review-decisions .decision-button {
|
|
1419
|
-
min-height: 38px;
|
|
1420
|
-
padding: 7px 8px;
|
|
1421
|
-
font-size: 11px;
|
|
1422
|
-
}
|
|
1423
|
-
|
|
1424
|
-
.queue-drawer-backdrop {
|
|
1425
|
-
display: block;
|
|
1426
|
-
}
|
|
1427
|
-
|
|
1428
|
-
.queue-drawer-close {
|
|
1429
|
-
display: flex;
|
|
1430
|
-
}
|
|
1431
|
-
|
|
1432
|
-
.mobile-queue-bar {
|
|
1433
|
-
display: grid;
|
|
1434
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
1435
|
-
gap: 12px;
|
|
1436
|
-
align-items: center;
|
|
1437
|
-
border: 1px solid var(--line-strong);
|
|
1438
|
-
border-left: 3px solid var(--accent);
|
|
1439
|
-
border-radius: var(--radius);
|
|
1440
|
-
padding: 11px 14px;
|
|
1441
|
-
margin-bottom: 14px;
|
|
1442
|
-
background:
|
|
1443
|
-
linear-gradient(90deg, color-mix(in srgb, var(--k-brand) 8%, transparent), transparent 46%),
|
|
1444
|
-
linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
1445
|
-
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
1446
|
-
}
|
|
1447
|
-
|
|
1448
|
-
.mobile-queue-progress {
|
|
1449
|
-
display: grid;
|
|
1450
|
-
gap: 3px;
|
|
1451
|
-
min-width: 0;
|
|
1452
|
-
}
|
|
1453
|
-
|
|
1454
|
-
.mobile-queue-item-label {
|
|
1455
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1456
|
-
font-size: 13px;
|
|
1457
|
-
font-weight: 600;
|
|
1458
|
-
color: var(--paper);
|
|
1459
|
-
overflow-wrap: anywhere;
|
|
1460
|
-
word-break: break-word;
|
|
1461
|
-
}
|
|
1462
|
-
|
|
1463
|
-
.mobile-queue-open {
|
|
1464
|
-
flex-shrink: 0;
|
|
1465
|
-
min-height: 34px;
|
|
1466
|
-
padding: 0 14px;
|
|
1467
|
-
border: 1px solid var(--line-strong);
|
|
1468
|
-
border-radius: 999px;
|
|
1469
|
-
background: color-mix(in srgb, var(--k-brand) 8%, transparent);
|
|
1470
|
-
color: var(--accent);
|
|
1471
|
-
cursor: pointer;
|
|
1472
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
1473
|
-
font-size: 11px;
|
|
1474
|
-
font-weight: 600;
|
|
1475
|
-
letter-spacing: 0.06em;
|
|
1476
|
-
transition: background 0.16s ease, border-color 0.16s ease;
|
|
1477
|
-
}
|
|
1478
|
-
|
|
1479
|
-
.mobile-queue-open:hover {
|
|
1480
|
-
background: color-mix(in srgb, var(--k-brand) 16%, transparent);
|
|
1481
|
-
border-color: var(--accent);
|
|
1482
|
-
}
|
|
1483
|
-
|
|
1484
|
-
/* Higher specificity than the @container stacked-layout fallback below:
|
|
1485
|
-
on a narrow viewport the drawer must win even inside a narrow container. */
|
|
1486
|
-
.queue-layout .queue-panel {
|
|
1487
|
-
position: fixed;
|
|
1488
|
-
top: 0;
|
|
1489
|
-
left: 0;
|
|
1490
|
-
bottom: 0;
|
|
1491
|
-
width: min(320px, 90vw);
|
|
1492
|
-
z-index: 50;
|
|
1493
|
-
overflow-y: auto;
|
|
1494
|
-
overflow-x: hidden;
|
|
1495
|
-
transform: translateX(-105%);
|
|
1496
|
-
transition: transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
|
|
1497
|
-
border-radius: 0 var(--radius) var(--radius) 0;
|
|
1498
|
-
padding-top: 50px;
|
|
1499
|
-
}
|
|
1500
|
-
|
|
1501
|
-
.queue-layout .queue-panel.is-open {
|
|
1502
|
-
transform: translateX(0);
|
|
1503
|
-
}
|
|
1504
|
-
|
|
1505
|
-
.content-grid {
|
|
1506
|
-
grid-area: content;
|
|
1507
|
-
}
|
|
1508
|
-
|
|
1509
|
-
.candidate-grid::before {
|
|
1510
|
-
display: none;
|
|
1511
|
-
}
|
|
1512
|
-
|
|
1513
|
-
.content-grid,
|
|
1514
|
-
.review-main,
|
|
1515
|
-
.candidate-grid,
|
|
1516
|
-
.decision-column {
|
|
1517
|
-
min-width: 0;
|
|
1518
|
-
}
|
|
1519
|
-
|
|
1520
|
-
.meta-grid {
|
|
1521
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
.candidate-card {
|
|
1525
|
-
min-height: auto;
|
|
1526
|
-
}
|
|
1527
|
-
}
|
|
1528
|
-
|
|
1529
|
-
@container (max-width: 1100px) {
|
|
1530
|
-
.topbar,
|
|
1531
|
-
.queue-layout,
|
|
1532
|
-
.focus-evidence {
|
|
1533
|
-
grid-template-columns: 1fr;
|
|
1534
|
-
}
|
|
1535
|
-
|
|
1536
|
-
.queue-layout {
|
|
1537
|
-
grid-template-areas:
|
|
1538
|
-
"content"
|
|
1539
|
-
"queue";
|
|
1540
|
-
}
|
|
1541
|
-
|
|
1542
|
-
.queue-panel {
|
|
1543
|
-
grid-area: queue;
|
|
1544
|
-
position: static;
|
|
1545
|
-
}
|
|
1546
|
-
|
|
1547
|
-
.content-grid {
|
|
1548
|
-
grid-area: content;
|
|
1549
|
-
grid-template-columns: 1fr;
|
|
1550
|
-
grid-template-areas:
|
|
1551
|
-
"focus"
|
|
1552
|
-
"decision"
|
|
1553
|
-
"candidates";
|
|
1554
|
-
}
|
|
1555
|
-
|
|
1556
|
-
.content-grid,
|
|
1557
|
-
.review-main,
|
|
1558
|
-
.candidate-grid,
|
|
1559
|
-
.decision-column {
|
|
1560
|
-
min-width: 0;
|
|
1561
|
-
}
|
|
947
|
+
.caption {
|
|
948
|
+
text-align: center;
|
|
949
|
+
margin-top: 24px;
|
|
950
|
+
font-size: 12.5px;
|
|
951
|
+
color: var(--k-faint);
|
|
1562
952
|
}
|
|
1563
953
|
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
}
|
|
1570
|
-
|
|
1571
|
-
.candidate-grid::before {
|
|
1572
|
-
display: none;
|
|
1573
|
-
}
|
|
1574
|
-
|
|
1575
|
-
.candidate-card {
|
|
1576
|
-
min-height: auto;
|
|
1577
|
-
}
|
|
1578
|
-
}
|
|
954
|
+
/* ---------- responsive ----------
|
|
955
|
+
The workbench sets `container-type: inline-size`, so these breakpoints fire on
|
|
956
|
+
the component's own width — correct whether it renders full-bleed on a phone or
|
|
957
|
+
in a narrow column on a wide desktop. Mobile is the primary context, so tap
|
|
958
|
+
targets stay comfortable and nothing forces a horizontal scroll. */
|
|
1579
959
|
|
|
1580
960
|
@container (max-width: 620px) {
|
|
1581
|
-
.topbar .meta-grid {
|
|
1582
|
-
display: none;
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
.decision-buttons,
|
|
1586
|
-
.summary-grid,
|
|
1587
|
-
.audit-grid {
|
|
1588
|
-
grid-template-columns: 1fr;
|
|
1589
|
-
}
|
|
1590
|
-
}
|
|
1591
|
-
|
|
1592
|
-
@media (max-width: 560px) {
|
|
1593
961
|
.workbench {
|
|
1594
|
-
padding:
|
|
962
|
+
padding: 16px 12px 56px;
|
|
1595
963
|
}
|
|
1596
964
|
|
|
1597
|
-
.
|
|
1598
|
-
|
|
965
|
+
.fbody {
|
|
966
|
+
padding: 16px 15px 18px;
|
|
1599
967
|
}
|
|
1600
968
|
|
|
1601
|
-
.
|
|
1602
|
-
|
|
1603
|
-
.queue-list,
|
|
1604
|
-
.session-summary,
|
|
1605
|
-
.session-audit,
|
|
1606
|
-
.candidate-card,
|
|
1607
|
-
.decision-row,
|
|
1608
|
-
.payload-panel,
|
|
1609
|
-
.surface-preview {
|
|
1610
|
-
border-radius: 10px;
|
|
1611
|
-
padding: 14px;
|
|
969
|
+
.rhead {
|
|
970
|
+
padding: 16px;
|
|
1612
971
|
}
|
|
1613
972
|
|
|
1614
|
-
.
|
|
1615
|
-
|
|
973
|
+
.foot {
|
|
974
|
+
padding: 14px 15px;
|
|
1616
975
|
}
|
|
1617
976
|
|
|
1618
|
-
.
|
|
1619
|
-
|
|
977
|
+
.rhead h1 {
|
|
978
|
+
font-size: 19px;
|
|
1620
979
|
}
|
|
1621
980
|
|
|
1622
|
-
.
|
|
981
|
+
/* current → proposed stack vertically; the arrow rotates to point down. */
|
|
982
|
+
.diff {
|
|
1623
983
|
grid-template-columns: 1fr;
|
|
1624
984
|
gap: 10px;
|
|
1625
985
|
}
|
|
1626
986
|
|
|
1627
|
-
.
|
|
1628
|
-
|
|
1629
|
-
justify-items: stretch;
|
|
1630
|
-
}
|
|
1631
|
-
|
|
1632
|
-
.active-review-actions .state-label {
|
|
987
|
+
.diff .arrow {
|
|
988
|
+
transform: rotate(90deg);
|
|
1633
989
|
justify-self: start;
|
|
990
|
+
margin: 1px 0;
|
|
1634
991
|
}
|
|
1635
992
|
|
|
1636
|
-
.
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
h1 {
|
|
1641
|
-
font-size: 25px;
|
|
1642
|
-
line-height: 1.08;
|
|
1643
|
-
}
|
|
1644
|
-
|
|
1645
|
-
.summary-grid,
|
|
1646
|
-
.focus-values,
|
|
1647
|
-
.decision-buttons {
|
|
1648
|
-
grid-template-columns: 1fr;
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
.queue-head,
|
|
1652
|
-
.queue-row,
|
|
1653
|
-
.surface-head,
|
|
1654
|
-
.card-head {
|
|
1655
|
-
display: grid;
|
|
1656
|
-
grid-template-columns: 1fr;
|
|
1657
|
-
}
|
|
1658
|
-
|
|
1659
|
-
.queue-head {
|
|
1660
|
-
align-items: stretch;
|
|
1661
|
-
}
|
|
1662
|
-
|
|
1663
|
-
.next-button {
|
|
1664
|
-
width: 100%;
|
|
1665
|
-
}
|
|
1666
|
-
|
|
1667
|
-
.queue-row {
|
|
1668
|
-
justify-items: start;
|
|
1669
|
-
}
|
|
1670
|
-
|
|
1671
|
-
.state-label {
|
|
1672
|
-
min-width: 0;
|
|
1673
|
-
max-width: 100%;
|
|
1674
|
-
justify-self: start;
|
|
1675
|
-
white-space: normal;
|
|
1676
|
-
}
|
|
1677
|
-
|
|
1678
|
-
.role {
|
|
1679
|
-
font-size: 19px;
|
|
1680
|
-
}
|
|
1681
|
-
|
|
1682
|
-
.review-focus {
|
|
1683
|
-
border-radius: 10px;
|
|
1684
|
-
padding: 14px;
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
|
-
.focus-head {
|
|
1688
|
-
grid-template-columns: 1fr;
|
|
1689
|
-
}
|
|
1690
|
-
|
|
1691
|
-
.focus-value strong {
|
|
1692
|
-
font-size: clamp(16px, 5cqi, 22px);
|
|
1693
|
-
}
|
|
1694
|
-
|
|
1695
|
-
.candidate-value .field-value {
|
|
1696
|
-
font-size: clamp(15px, 4.5cqi, 20px);
|
|
1697
|
-
line-height: 1.12;
|
|
1698
|
-
}
|
|
1699
|
-
|
|
1700
|
-
.candidate-card .field-stack .field-value,
|
|
1701
|
-
.compact .field-value,
|
|
1702
|
-
pre {
|
|
1703
|
-
font-size: 11.5px;
|
|
1704
|
-
}
|
|
1705
|
-
|
|
1706
|
-
.field-label,
|
|
1707
|
-
.eyebrow {
|
|
1708
|
-
letter-spacing: 0.09em;
|
|
1709
|
-
}
|
|
1710
|
-
|
|
1711
|
-
.decision-button {
|
|
993
|
+
/* Apply spans the header row as an easy thumb target. */
|
|
994
|
+
.apply {
|
|
995
|
+
flex: 1;
|
|
1712
996
|
min-height: 44px;
|
|
1713
997
|
}
|
|
1714
|
-
|
|
1715
|
-
pre {
|
|
1716
|
-
max-height: 360px;
|
|
1717
|
-
padding: 11px;
|
|
1718
|
-
}
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
|
-
/* ---- Type legibility: serif → UI sans below 480px -------------------- */
|
|
1722
|
-
/* At small container sizes the Fraunces display font reads poorly; fall back
|
|
1723
|
-
to the UI sans-serif stack for headings while keeping serif on desktop. */
|
|
1724
|
-
@media (max-width: 480px) {
|
|
1725
|
-
h1,
|
|
1726
|
-
h2,
|
|
1727
|
-
h3,
|
|
1728
|
-
.role,
|
|
1729
|
-
.surface-summary-label,
|
|
1730
|
-
.queue-head h2,
|
|
1731
|
-
.session-summary h2,
|
|
1732
|
-
.session-audit h2,
|
|
1733
|
-
.surface-head h2,
|
|
1734
|
-
.summary-grid .meta-value {
|
|
1735
|
-
font-family: var(--k-font-ui, "Hanken Grotesk", system-ui, sans-serif);
|
|
1736
|
-
letter-spacing: -0.01em;
|
|
1737
|
-
}
|
|
1738
998
|
}
|
|
1739
999
|
|
|
1740
1000
|
@container (max-width: 480px) {
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
.queue-head h2,
|
|
1747
|
-
.session-summary h2,
|
|
1748
|
-
.session-audit h2,
|
|
1749
|
-
.surface-head h2,
|
|
1750
|
-
.summary-grid .meta-value {
|
|
1751
|
-
font-family: var(--k-font-ui, "Hanken Grotesk", system-ui, sans-serif);
|
|
1752
|
-
letter-spacing: -0.01em;
|
|
1753
|
-
}
|
|
1754
|
-
}
|
|
1755
|
-
|
|
1756
|
-
@media (max-width: 420px) {
|
|
1757
|
-
h1 {
|
|
1758
|
-
font-size: 23px;
|
|
1759
|
-
line-height: 1.1;
|
|
1760
|
-
}
|
|
1761
|
-
|
|
1762
|
-
.topbar {
|
|
1763
|
-
padding: 12px;
|
|
1764
|
-
}
|
|
1765
|
-
|
|
1766
|
-
.topbar .meta-grid {
|
|
1001
|
+
/* The two primary actions go full-width and tall so they're the obvious,
|
|
1002
|
+
thumb-friendly call to action; the calibration toggle sits below them. */
|
|
1003
|
+
.decide {
|
|
1004
|
+
flex-direction: column;
|
|
1005
|
+
align-items: stretch;
|
|
1767
1006
|
gap: 8px;
|
|
1768
1007
|
}
|
|
1769
1008
|
|
|
1770
|
-
.
|
|
1771
|
-
|
|
1009
|
+
.btn {
|
|
1010
|
+
width: 100%;
|
|
1011
|
+
min-height: 46px;
|
|
1012
|
+
font-size: 15px;
|
|
1772
1013
|
}
|
|
1773
1014
|
|
|
1774
|
-
.
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1015
|
+
.wrong {
|
|
1016
|
+
order: 0;
|
|
1017
|
+
margin-right: 0;
|
|
1018
|
+
justify-content: flex-start;
|
|
1019
|
+
min-height: 44px;
|
|
1778
1020
|
}
|
|
1779
1021
|
|
|
1780
|
-
.
|
|
1022
|
+
.frow1 {
|
|
1781
1023
|
gap: 8px;
|
|
1782
1024
|
}
|
|
1783
|
-
|
|
1784
|
-
.decision-button {
|
|
1785
|
-
min-height: 40px;
|
|
1786
|
-
padding: 8px 10px;
|
|
1787
|
-
font-size: 12px;
|
|
1788
|
-
}
|
|
1789
|
-
|
|
1790
|
-
.candidate-card .field-stack > .field:nth-child(5) .field-value {
|
|
1791
|
-
display: inline-block;
|
|
1792
|
-
}
|
|
1793
1025
|
}
|
|
1794
1026
|
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
.topbar,
|
|
1801
|
-
.active-review-strip,
|
|
1802
|
-
.queue-list,
|
|
1803
|
-
.session-summary,
|
|
1804
|
-
.session-audit,
|
|
1805
|
-
.review-focus,
|
|
1806
|
-
.candidate-card,
|
|
1807
|
-
.decision-row,
|
|
1808
|
-
.payload-panel,
|
|
1809
|
-
.surface-preview {
|
|
1810
|
-
padding: 12px;
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1813
|
-
h1 {
|
|
1814
|
-
font-size: 20px;
|
|
1815
|
-
}
|
|
1816
|
-
|
|
1817
|
-
.review-question {
|
|
1818
|
-
font-size: 12px;
|
|
1819
|
-
line-height: 1.35;
|
|
1820
|
-
}
|
|
1821
|
-
|
|
1822
|
-
.topbar .meta-grid {
|
|
1823
|
-
display: none;
|
|
1824
|
-
}
|
|
1825
|
-
|
|
1826
|
-
.review-focus {
|
|
1827
|
-
gap: 10px;
|
|
1828
|
-
}
|
|
1829
|
-
|
|
1830
|
-
.focus-value {
|
|
1831
|
-
padding: 10px;
|
|
1832
|
-
}
|
|
1833
|
-
|
|
1834
|
-
.focus-value strong {
|
|
1835
|
-
margin-top: 6px;
|
|
1836
|
-
font-size: 18px;
|
|
1837
|
-
line-height: 1.05;
|
|
1027
|
+
/* The diff-collapse must also hold in host contexts without a query container
|
|
1028
|
+
(e.g. an embed that doesn't establish `container-type`): fall back to viewport. */
|
|
1029
|
+
@media (max-width: 620px) {
|
|
1030
|
+
.diff {
|
|
1031
|
+
grid-template-columns: 1fr;
|
|
1838
1032
|
}
|
|
1839
1033
|
|
|
1840
|
-
.
|
|
1841
|
-
|
|
1034
|
+
.diff .arrow {
|
|
1035
|
+
transform: rotate(90deg);
|
|
1036
|
+
justify-self: start;
|
|
1842
1037
|
}
|
|
1038
|
+
}
|
|
1843
1039
|
|
|
1844
|
-
|
|
1845
|
-
|
|
1040
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1041
|
+
* {
|
|
1042
|
+
transition: none !important;
|
|
1846
1043
|
}
|
|
1847
1044
|
}
|