@kontourai/survey 1.11.0 → 1.12.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/review-resource.d.ts +18 -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 +608 -1426
- 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 +608 -1426
- package/dist/src/review-workbench/review-workbench.d.ts +11 -1
- package/dist/src/review-workbench/review-workbench.js +390 -538
- package/dist/src/review-workbench/review-workbench.standalone.css +602 -1421
- 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,656 @@ 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
|
-
/*
|
|
179
|
-
|
|
180
|
-
.eyebrow,
|
|
181
|
-
.field-label,
|
|
182
|
-
.state-label {
|
|
183
|
-
color: var(--accent);
|
|
184
|
-
font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
185
|
-
font-size: 10.5px;
|
|
186
|
-
font-weight: 600;
|
|
187
|
-
letter-spacing: 0.18em;
|
|
188
|
-
text-transform: uppercase;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
.field-label {
|
|
192
|
-
color: var(--paper-faint);
|
|
193
|
-
letter-spacing: 0.14em;
|
|
194
|
-
}
|
|
136
|
+
/* ---------- review panel + header ---------- */
|
|
195
137
|
|
|
196
|
-
.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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;
|
|
202
144
|
}
|
|
203
145
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
146
|
+
.rhead {
|
|
147
|
+
padding: 20px 22px;
|
|
148
|
+
border-bottom: 1px solid var(--k-line);
|
|
207
149
|
display: grid;
|
|
208
|
-
|
|
209
|
-
gap: 12px;
|
|
210
|
-
align-items: center;
|
|
211
|
-
padding: 15px 17px;
|
|
212
|
-
border: 1px solid var(--line-strong);
|
|
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;
|
|
150
|
+
gap: 14px;
|
|
219
151
|
}
|
|
220
152
|
|
|
221
|
-
.
|
|
222
|
-
|
|
153
|
+
.rhead .top {
|
|
154
|
+
display: flex;
|
|
155
|
+
align-items: flex-start;
|
|
156
|
+
gap: 14px;
|
|
157
|
+
flex-wrap: wrap;
|
|
223
158
|
}
|
|
224
159
|
|
|
225
|
-
.
|
|
226
|
-
|
|
227
|
-
|
|
160
|
+
.rhead .eyebrow {
|
|
161
|
+
font-size: 12px;
|
|
162
|
+
letter-spacing: 0.08em;
|
|
163
|
+
text-transform: uppercase;
|
|
164
|
+
color: var(--k-faint);
|
|
228
165
|
}
|
|
229
166
|
|
|
230
|
-
h1 {
|
|
231
|
-
margin
|
|
232
|
-
font-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
font-size: clamp(21px, 2vw, 27px);
|
|
236
|
-
line-height: 1.08;
|
|
167
|
+
.rhead h1 {
|
|
168
|
+
margin: 2px 0 0;
|
|
169
|
+
font-size: 21px;
|
|
170
|
+
line-height: 1.2;
|
|
171
|
+
text-wrap: balance;
|
|
237
172
|
letter-spacing: -0.01em;
|
|
238
173
|
overflow-wrap: anywhere;
|
|
239
|
-
color: var(--paper);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.review-question {
|
|
243
|
-
max-width: 720px;
|
|
244
|
-
margin-top: 7px;
|
|
245
|
-
color: var(--paper-dim);
|
|
246
|
-
font-size: 13px;
|
|
247
|
-
line-height: 1.4;
|
|
248
174
|
}
|
|
249
175
|
|
|
250
|
-
.
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
font-size: 0.95em;
|
|
176
|
+
.rhead .subj {
|
|
177
|
+
flex: 1;
|
|
178
|
+
min-width: 240px;
|
|
254
179
|
}
|
|
255
180
|
|
|
256
|
-
.
|
|
257
|
-
|
|
181
|
+
.meta {
|
|
182
|
+
display: flex;
|
|
183
|
+
gap: 18px;
|
|
184
|
+
flex-wrap: wrap;
|
|
185
|
+
font-size: 12.5px;
|
|
186
|
+
color: var(--k-muted);
|
|
258
187
|
}
|
|
259
188
|
|
|
260
|
-
.
|
|
261
|
-
color: var(--
|
|
262
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
263
|
-
font-size: 13px;
|
|
189
|
+
.meta b {
|
|
190
|
+
color: var(--k-text);
|
|
264
191
|
font-weight: 600;
|
|
192
|
+
font-variant-numeric: tabular-nums;
|
|
265
193
|
}
|
|
266
194
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
195
|
+
/* progress + apply */
|
|
196
|
+
|
|
197
|
+
.progress {
|
|
198
|
+
display: flex;
|
|
199
|
+
align-items: center;
|
|
200
|
+
gap: 14px;
|
|
201
|
+
flex-wrap: wrap;
|
|
272
202
|
}
|
|
273
203
|
|
|
274
|
-
.
|
|
275
|
-
|
|
276
|
-
min-width:
|
|
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);
|
|
277
212
|
}
|
|
278
213
|
|
|
279
|
-
.
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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);
|
|
284
220
|
}
|
|
285
221
|
|
|
286
|
-
|
|
287
|
-
|
|
222
|
+
.ptext {
|
|
223
|
+
font-size: 13px;
|
|
224
|
+
color: var(--k-muted);
|
|
225
|
+
font-variant-numeric: tabular-nums;
|
|
226
|
+
white-space: nowrap;
|
|
288
227
|
}
|
|
289
228
|
|
|
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);
|
|
229
|
+
.ptext b {
|
|
230
|
+
color: var(--k-text);
|
|
297
231
|
}
|
|
298
232
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
233
|
+
.apply {
|
|
234
|
+
border: 0;
|
|
235
|
+
background: var(--k-brand);
|
|
236
|
+
color: var(--k-brand-ink);
|
|
302
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;
|
|
303
244
|
}
|
|
304
245
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
.queue-layout {
|
|
308
|
-
display: grid;
|
|
309
|
-
grid-template-columns: 280px minmax(0, 1fr);
|
|
310
|
-
gap: 16px;
|
|
311
|
-
align-items: start;
|
|
246
|
+
.apply:hover {
|
|
247
|
+
filter: brightness(1.06);
|
|
312
248
|
}
|
|
313
249
|
|
|
314
|
-
.
|
|
315
|
-
|
|
316
|
-
gap: 14px;
|
|
317
|
-
position: sticky;
|
|
318
|
-
top: 18px;
|
|
250
|
+
.apply:active {
|
|
251
|
+
transform: translateY(1px);
|
|
319
252
|
}
|
|
320
253
|
|
|
321
|
-
.
|
|
322
|
-
|
|
254
|
+
.apply:disabled {
|
|
255
|
+
opacity: 0.45;
|
|
256
|
+
cursor: not-allowed;
|
|
257
|
+
filter: none;
|
|
323
258
|
}
|
|
324
259
|
|
|
325
|
-
/*
|
|
260
|
+
/* ---------- field cards ---------- */
|
|
326
261
|
|
|
327
|
-
.
|
|
328
|
-
display:
|
|
262
|
+
.fields {
|
|
263
|
+
display: flex;
|
|
264
|
+
flex-direction: column;
|
|
329
265
|
}
|
|
330
266
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
inset: 0;
|
|
337
|
-
z-index: 40;
|
|
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;
|
|
267
|
+
.field {
|
|
268
|
+
display: grid;
|
|
269
|
+
grid-template-columns: 4px 1fr;
|
|
270
|
+
gap: 0;
|
|
271
|
+
border-top: 1px solid var(--k-line);
|
|
343
272
|
}
|
|
344
273
|
|
|
345
|
-
.
|
|
346
|
-
|
|
347
|
-
pointer-events: auto;
|
|
274
|
+
.field:first-child {
|
|
275
|
+
border-top: 0;
|
|
348
276
|
}
|
|
349
277
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
.
|
|
353
|
-
display: none;
|
|
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;
|
|
278
|
+
.stripe {
|
|
279
|
+
background: var(--k-line);
|
|
280
|
+
transition: background 0.25s;
|
|
369
281
|
}
|
|
370
282
|
|
|
371
|
-
.
|
|
372
|
-
.
|
|
373
|
-
.
|
|
374
|
-
|
|
375
|
-
border-radius: var(--radius);
|
|
376
|
-
background: linear-gradient(180deg, var(--ink-800), var(--ink-850));
|
|
377
|
-
padding: 14px;
|
|
378
|
-
box-shadow: var(--k-shadow, 0 22px 50px -38px rgba(0, 0, 0, 0.9));
|
|
379
|
-
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
380
|
-
animation-delay: 0.05s;
|
|
381
|
-
}
|
|
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); }
|
|
382
287
|
|
|
383
|
-
.
|
|
288
|
+
.fbody {
|
|
289
|
+
padding: 18px 22px 20px;
|
|
384
290
|
display: grid;
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
align-items: center;
|
|
388
|
-
margin-bottom: 14px;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
.queue-head h2,
|
|
392
|
-
.session-summary h2,
|
|
393
|
-
.session-audit h2 {
|
|
394
|
-
font-family: "Fraunces", Georgia, serif;
|
|
395
|
-
font-weight: 600;
|
|
396
|
-
font-size: 16px;
|
|
397
|
-
line-height: 1.1;
|
|
398
|
-
letter-spacing: -0.01em;
|
|
291
|
+
gap: 13px;
|
|
292
|
+
min-width: 0;
|
|
399
293
|
}
|
|
400
294
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
.queue-row {
|
|
404
|
-
display: grid;
|
|
405
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
406
|
-
gap: 10px;
|
|
295
|
+
.frow1 {
|
|
296
|
+
display: flex;
|
|
407
297
|
align-items: center;
|
|
408
|
-
|
|
409
|
-
|
|
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;
|
|
298
|
+
gap: 10px;
|
|
299
|
+
flex-wrap: wrap;
|
|
420
300
|
}
|
|
421
301
|
|
|
422
|
-
.
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
302
|
+
.fname {
|
|
303
|
+
font-size: 15.5px;
|
|
304
|
+
font-weight: 650;
|
|
305
|
+
letter-spacing: -0.005em;
|
|
426
306
|
}
|
|
427
307
|
|
|
428
|
-
.
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
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;
|
|
432
316
|
}
|
|
433
317
|
|
|
434
|
-
.
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
gap: 4px;
|
|
443
|
-
min-width: 0;
|
|
318
|
+
.chip {
|
|
319
|
+
font-size: 12px;
|
|
320
|
+
font-weight: 600;
|
|
321
|
+
padding: 3px 10px;
|
|
322
|
+
border-radius: 999px;
|
|
323
|
+
display: inline-flex;
|
|
324
|
+
align-items: center;
|
|
325
|
+
gap: 6px;
|
|
444
326
|
}
|
|
445
327
|
|
|
446
|
-
.
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
328
|
+
.chip::before {
|
|
329
|
+
content: "";
|
|
330
|
+
width: 6px;
|
|
331
|
+
height: 6px;
|
|
332
|
+
border-radius: 999px;
|
|
333
|
+
background: currentColor;
|
|
450
334
|
}
|
|
451
335
|
|
|
452
|
-
.
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
letter-spacing: -0.01em;
|
|
457
|
-
color: var(--paper);
|
|
458
|
-
}
|
|
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); }
|
|
459
340
|
|
|
460
|
-
.
|
|
461
|
-
|
|
462
|
-
font-size: 12px;
|
|
341
|
+
.frow1 .push {
|
|
342
|
+
margin-left: auto;
|
|
463
343
|
}
|
|
464
344
|
|
|
465
|
-
/*
|
|
345
|
+
/* the diff */
|
|
466
346
|
|
|
467
|
-
.
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
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;
|
|
347
|
+
.diff {
|
|
348
|
+
display: grid;
|
|
349
|
+
grid-template-columns: 1fr auto 1fr;
|
|
350
|
+
gap: 12px;
|
|
351
|
+
align-items: stretch;
|
|
477
352
|
}
|
|
478
353
|
|
|
479
|
-
|
|
480
|
-
.queue-row[data-queue-status="rejected"] .state-label { color: var(--reject); border-color: color-mix(in srgb, var(--reject) 40%, transparent); }
|
|
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); }
|
|
354
|
+
/* narrow-width collapse for .diff lives in the responsive section at the foot. */
|
|
483
355
|
|
|
484
|
-
.
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
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);
|
|
361
|
+
min-width: 0;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.val .vlbl {
|
|
493
365
|
font-size: 11px;
|
|
494
|
-
font-weight: 600;
|
|
495
366
|
letter-spacing: 0.06em;
|
|
496
|
-
|
|
367
|
+
text-transform: uppercase;
|
|
368
|
+
color: var(--k-faint);
|
|
369
|
+
margin-bottom: 4px;
|
|
497
370
|
}
|
|
498
371
|
|
|
499
|
-
.
|
|
500
|
-
|
|
501
|
-
|
|
372
|
+
.val .vtext {
|
|
373
|
+
font-size: 14.5px;
|
|
374
|
+
word-break: break-word;
|
|
375
|
+
white-space: pre-wrap;
|
|
502
376
|
}
|
|
503
377
|
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
.summary-grid {
|
|
507
|
-
display: grid;
|
|
508
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
509
|
-
gap: 10px;
|
|
510
|
-
margin-top: 12px;
|
|
378
|
+
.val.current {
|
|
379
|
+
background: var(--k-sunken);
|
|
511
380
|
}
|
|
512
381
|
|
|
513
|
-
.
|
|
514
|
-
|
|
515
|
-
gap: 2px;
|
|
516
|
-
padding: 10px;
|
|
517
|
-
background: color-mix(in srgb, var(--k-bg) 60%, var(--k-panel));
|
|
382
|
+
.val.current .vtext {
|
|
383
|
+
color: var(--k-muted);
|
|
518
384
|
}
|
|
519
385
|
|
|
520
|
-
.
|
|
521
|
-
|
|
522
|
-
font-size: 20px;
|
|
523
|
-
font-weight: 700;
|
|
524
|
-
line-height: 1;
|
|
525
|
-
color: var(--paper);
|
|
386
|
+
.val.proposed {
|
|
387
|
+
border-color: color-mix(in srgb, var(--k-brand) 45%, var(--k-line));
|
|
526
388
|
}
|
|
527
389
|
|
|
528
|
-
|
|
390
|
+
.val.empty .vtext {
|
|
391
|
+
color: var(--k-faint);
|
|
392
|
+
font-style: italic;
|
|
393
|
+
}
|
|
529
394
|
|
|
530
|
-
.
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
animation-delay: 0.08s;
|
|
395
|
+
.arrow {
|
|
396
|
+
align-self: center;
|
|
397
|
+
color: var(--k-faint);
|
|
534
398
|
}
|
|
535
399
|
|
|
536
|
-
.
|
|
537
|
-
display:
|
|
538
|
-
|
|
400
|
+
.editrow {
|
|
401
|
+
display: flex;
|
|
402
|
+
align-items: center;
|
|
539
403
|
gap: 8px;
|
|
540
|
-
|
|
404
|
+
margin-top: 8px;
|
|
541
405
|
}
|
|
542
406
|
|
|
543
|
-
.
|
|
544
|
-
|
|
545
|
-
|
|
407
|
+
.editrow input {
|
|
408
|
+
flex: 1;
|
|
409
|
+
min-width: 0;
|
|
410
|
+
font-size: 13.5px;
|
|
411
|
+
color: var(--k-text);
|
|
412
|
+
background: var(--k-panel);
|
|
413
|
+
border: 1px solid var(--k-line-strong);
|
|
414
|
+
border-radius: 6px;
|
|
415
|
+
padding: 6px 9px;
|
|
546
416
|
}
|
|
547
417
|
|
|
548
|
-
.
|
|
549
|
-
|
|
418
|
+
.editrow input:focus-visible {
|
|
419
|
+
outline: 2px solid var(--k-brand);
|
|
420
|
+
outline-offset: 1px;
|
|
421
|
+
border-color: var(--k-brand);
|
|
550
422
|
}
|
|
551
423
|
|
|
552
|
-
.
|
|
553
|
-
font-
|
|
554
|
-
|
|
555
|
-
|
|
424
|
+
.editrow .ehint {
|
|
425
|
+
font-size: 11.5px;
|
|
426
|
+
color: var(--k-faint);
|
|
427
|
+
white-space: nowrap;
|
|
556
428
|
}
|
|
557
429
|
|
|
558
|
-
|
|
430
|
+
/* confidence + provenance */
|
|
431
|
+
|
|
432
|
+
.prov {
|
|
559
433
|
display: grid;
|
|
560
|
-
gap:
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
434
|
+
gap: 9px;
|
|
435
|
+
padding: 11px 13px;
|
|
436
|
+
border-radius: var(--k-radius-sm);
|
|
437
|
+
background: var(--k-sunken);
|
|
438
|
+
border: 1px solid var(--k-line);
|
|
564
439
|
}
|
|
565
440
|
|
|
566
|
-
.
|
|
567
|
-
display:
|
|
568
|
-
|
|
569
|
-
gap:
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
padding: 8px;
|
|
574
|
-
background: color-mix(in srgb, var(--k-bg) 45%, transparent);
|
|
441
|
+
.conf {
|
|
442
|
+
display: flex;
|
|
443
|
+
align-items: center;
|
|
444
|
+
gap: 10px;
|
|
445
|
+
font-size: 12.5px;
|
|
446
|
+
color: var(--k-muted);
|
|
447
|
+
flex-wrap: wrap;
|
|
575
448
|
}
|
|
576
449
|
|
|
577
|
-
.
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
width: 24px;
|
|
581
|
-
height: 24px;
|
|
582
|
-
border: 1px solid var(--line-strong);
|
|
450
|
+
.conf .meter {
|
|
451
|
+
width: 84px;
|
|
452
|
+
height: 6px;
|
|
583
453
|
border-radius: 999px;
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
font-size: 10px;
|
|
587
|
-
font-weight: 700;
|
|
454
|
+
background: var(--k-line-strong);
|
|
455
|
+
overflow: hidden;
|
|
588
456
|
}
|
|
589
457
|
|
|
590
|
-
.
|
|
591
|
-
.session-event-list small {
|
|
458
|
+
.conf .meter > i {
|
|
592
459
|
display: block;
|
|
593
|
-
|
|
594
|
-
|
|
460
|
+
height: 100%;
|
|
461
|
+
border-radius: 999px;
|
|
462
|
+
background: var(--k-positive);
|
|
595
463
|
}
|
|
596
464
|
|
|
597
|
-
.
|
|
598
|
-
|
|
599
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
600
|
-
font-size: 11px;
|
|
465
|
+
.conf .meter.mid > i {
|
|
466
|
+
background: var(--k-caution);
|
|
601
467
|
}
|
|
602
468
|
|
|
603
|
-
.
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
469
|
+
.conf .pct {
|
|
470
|
+
font-variant-numeric: tabular-nums;
|
|
471
|
+
font-weight: 600;
|
|
472
|
+
color: var(--k-text);
|
|
473
|
+
font-family: var(--k-font-mono);
|
|
474
|
+
font-size: 12px;
|
|
608
475
|
}
|
|
609
476
|
|
|
610
|
-
.
|
|
611
|
-
|
|
612
|
-
|
|
477
|
+
.excerpt {
|
|
478
|
+
font-size: 13px;
|
|
479
|
+
color: var(--k-text);
|
|
613
480
|
}
|
|
614
481
|
|
|
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;
|
|
482
|
+
.excerpt q {
|
|
483
|
+
color: var(--k-text);
|
|
622
484
|
}
|
|
623
485
|
|
|
624
|
-
.
|
|
625
|
-
|
|
626
|
-
}
|
|
486
|
+
.excerpt q::before { content: "\201C"; }
|
|
487
|
+
.excerpt q::after { content: "\201D"; }
|
|
627
488
|
|
|
628
|
-
|
|
489
|
+
.excerpt .from {
|
|
490
|
+
display: inline-flex;
|
|
491
|
+
align-items: center;
|
|
492
|
+
gap: 5px;
|
|
493
|
+
margin-top: 5px;
|
|
494
|
+
font-size: 12px;
|
|
495
|
+
color: var(--k-muted);
|
|
496
|
+
flex-wrap: wrap;
|
|
497
|
+
}
|
|
629
498
|
|
|
630
|
-
.
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
"focus"
|
|
635
|
-
"decision"
|
|
636
|
-
"candidates";
|
|
637
|
-
gap: 14px;
|
|
638
|
-
align-items: start;
|
|
499
|
+
.excerpt .from a {
|
|
500
|
+
color: var(--k-brand);
|
|
501
|
+
text-decoration: underline;
|
|
502
|
+
text-underline-offset: 2px;
|
|
639
503
|
}
|
|
640
504
|
|
|
641
|
-
.
|
|
642
|
-
display:
|
|
643
|
-
|
|
644
|
-
|
|
505
|
+
.noprov {
|
|
506
|
+
display: flex;
|
|
507
|
+
align-items: center;
|
|
508
|
+
gap: 8px;
|
|
509
|
+
font-size: 13px;
|
|
510
|
+
color: var(--k-caution);
|
|
511
|
+
flex-wrap: wrap;
|
|
645
512
|
}
|
|
646
513
|
|
|
647
|
-
|
|
514
|
+
.noprov svg {
|
|
515
|
+
flex: none;
|
|
516
|
+
}
|
|
648
517
|
|
|
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);
|
|
518
|
+
.noprov .tag {
|
|
519
|
+
background: var(--k-caution-wash);
|
|
520
|
+
color: var(--k-caution);
|
|
521
|
+
font-weight: 600;
|
|
522
|
+
padding: 2px 8px;
|
|
523
|
+
border-radius: 999px;
|
|
524
|
+
font-size: 12px;
|
|
661
525
|
}
|
|
662
526
|
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
527
|
+
/* decisions */
|
|
528
|
+
|
|
529
|
+
/* The decision row is the point of the card, so it sits on its own line,
|
|
530
|
+
right-aligned and prominent. The quiet calibration toggle is pushed to the
|
|
531
|
+
far left so the two primary actions read as the clear call to action. */
|
|
532
|
+
.decide {
|
|
533
|
+
display: flex;
|
|
666
534
|
gap: 10px;
|
|
535
|
+
flex-wrap: wrap;
|
|
536
|
+
align-items: center;
|
|
537
|
+
justify-content: flex-end;
|
|
538
|
+
margin-top: 2px;
|
|
667
539
|
}
|
|
668
540
|
|
|
669
|
-
.
|
|
670
|
-
|
|
541
|
+
.btn {
|
|
542
|
+
border: 1px solid var(--k-line-strong);
|
|
543
|
+
background: var(--k-raised);
|
|
544
|
+
color: var(--k-text);
|
|
545
|
+
font-size: 14px;
|
|
546
|
+
font-weight: 600;
|
|
547
|
+
padding: 0 18px;
|
|
548
|
+
min-height: 42px;
|
|
549
|
+
border-radius: 9px;
|
|
550
|
+
cursor: pointer;
|
|
551
|
+
display: inline-flex;
|
|
671
552
|
align-items: center;
|
|
553
|
+
justify-content: center;
|
|
554
|
+
gap: 7px;
|
|
555
|
+
transition: background 0.12s, border-color 0.12s, color 0.12s, filter 0.12s;
|
|
672
556
|
}
|
|
673
557
|
|
|
674
|
-
.
|
|
675
|
-
|
|
558
|
+
.btn:hover {
|
|
559
|
+
background: var(--k-sunken);
|
|
560
|
+
border-color: var(--k-line-strong);
|
|
676
561
|
}
|
|
677
562
|
|
|
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));
|
|
563
|
+
.btn:focus-visible {
|
|
564
|
+
outline: 2px solid var(--k-brand);
|
|
565
|
+
outline-offset: 2px;
|
|
684
566
|
}
|
|
685
567
|
|
|
686
|
-
.
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
color: var(--
|
|
690
|
-
|
|
691
|
-
font-size: clamp(18px, 1.8vw, 25px);
|
|
692
|
-
line-height: 1.14;
|
|
693
|
-
overflow-wrap: anywhere;
|
|
568
|
+
/* Use proposed — the filled positive primary, the loudest thing on the card. */
|
|
569
|
+
.btn.use {
|
|
570
|
+
background: var(--k-positive);
|
|
571
|
+
border-color: var(--k-positive);
|
|
572
|
+
color: #ffffff;
|
|
694
573
|
}
|
|
695
574
|
|
|
696
|
-
.
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
color:
|
|
700
|
-
|
|
701
|
-
font-size: 11px;
|
|
575
|
+
.btn.use:hover {
|
|
576
|
+
background: var(--k-positive);
|
|
577
|
+
border-color: var(--k-positive);
|
|
578
|
+
color: #ffffff;
|
|
579
|
+
filter: brightness(1.07);
|
|
702
580
|
}
|
|
703
581
|
|
|
704
|
-
.
|
|
705
|
-
|
|
706
|
-
|
|
582
|
+
/* Keep current — a strong neutral secondary; still prominent, clearly not the accept. */
|
|
583
|
+
.btn.keep {
|
|
584
|
+
border-color: var(--k-line-strong);
|
|
585
|
+
background: var(--k-panel-raised, var(--k-raised));
|
|
707
586
|
}
|
|
708
587
|
|
|
709
|
-
|
|
710
|
-
|
|
588
|
+
/* "Suggestion was wrong" — optional quiet calibration toggle on Keep current.
|
|
589
|
+
Ticking it turns a keep-current decision into the reject signal. Not a third action. */
|
|
590
|
+
.wrong {
|
|
591
|
+
order: -1;
|
|
592
|
+
margin-right: auto;
|
|
593
|
+
display: inline-flex;
|
|
594
|
+
align-items: center;
|
|
595
|
+
gap: 7px;
|
|
596
|
+
font-size: 12.5px;
|
|
597
|
+
color: var(--k-faint);
|
|
598
|
+
cursor: pointer;
|
|
599
|
+
user-select: none;
|
|
600
|
+
padding: 8px 4px;
|
|
601
|
+
min-height: 40px;
|
|
711
602
|
}
|
|
712
603
|
|
|
713
|
-
.
|
|
714
|
-
|
|
715
|
-
grid-template-columns: minmax(110px, 0.65fr) minmax(0, 1.2fr) minmax(0, 1.4fr);
|
|
716
|
-
gap: 10px;
|
|
717
|
-
margin: 0;
|
|
604
|
+
.wrong:hover {
|
|
605
|
+
color: var(--k-negative);
|
|
718
606
|
}
|
|
719
607
|
|
|
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;
|
|
608
|
+
.wrong input {
|
|
609
|
+
width: 15px;
|
|
610
|
+
height: 15px;
|
|
611
|
+
accent-color: var(--k-negative);
|
|
612
|
+
cursor: pointer;
|
|
613
|
+
margin: 0;
|
|
733
614
|
}
|
|
734
615
|
|
|
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;
|
|
616
|
+
.decided {
|
|
617
|
+
display: none;
|
|
618
|
+
align-items: center;
|
|
619
|
+
justify-content: flex-end;
|
|
620
|
+
gap: 10px;
|
|
753
621
|
font-size: 13px;
|
|
754
|
-
|
|
622
|
+
color: var(--k-muted);
|
|
755
623
|
}
|
|
756
624
|
|
|
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));
|
|
625
|
+
.field[data-decided="1"] .decide {
|
|
626
|
+
display: none;
|
|
765
627
|
}
|
|
766
628
|
|
|
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;
|
|
629
|
+
.field[data-decided="1"] .decided {
|
|
630
|
+
display: flex;
|
|
777
631
|
}
|
|
778
632
|
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
633
|
+
.undo {
|
|
634
|
+
border: 0;
|
|
635
|
+
background: none;
|
|
636
|
+
color: var(--k-brand);
|
|
637
|
+
font-size: 13px;
|
|
638
|
+
cursor: pointer;
|
|
639
|
+
text-decoration: underline;
|
|
640
|
+
text-underline-offset: 2px;
|
|
641
|
+
padding: 0;
|
|
782
642
|
}
|
|
783
643
|
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
644
|
+
/* footer tally */
|
|
645
|
+
|
|
646
|
+
.foot {
|
|
647
|
+
padding: 16px 22px;
|
|
648
|
+
border-top: 1px solid var(--k-line);
|
|
649
|
+
display: flex;
|
|
650
|
+
align-items: center;
|
|
651
|
+
gap: 16px;
|
|
652
|
+
flex-wrap: wrap;
|
|
653
|
+
background: var(--k-raised);
|
|
790
654
|
}
|
|
791
655
|
|
|
792
|
-
.
|
|
793
|
-
|
|
794
|
-
|
|
656
|
+
.tally {
|
|
657
|
+
display: flex;
|
|
658
|
+
gap: 16px;
|
|
659
|
+
font-size: 13px;
|
|
660
|
+
color: var(--k-muted);
|
|
661
|
+
flex-wrap: wrap;
|
|
795
662
|
}
|
|
796
663
|
|
|
797
|
-
.
|
|
798
|
-
|
|
799
|
-
|
|
664
|
+
.tally b {
|
|
665
|
+
color: var(--k-text);
|
|
666
|
+
font-variant-numeric: tabular-nums;
|
|
800
667
|
}
|
|
801
668
|
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
position: relative;
|
|
808
|
-
z-index: 1;
|
|
669
|
+
/* ---------- audit details: the single collapsed power-user surface per field ---------- */
|
|
670
|
+
|
|
671
|
+
.audit-details {
|
|
672
|
+
border-top: 1px dashed var(--k-line);
|
|
673
|
+
padding-top: 4px;
|
|
809
674
|
}
|
|
810
675
|
|
|
811
|
-
.
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
676
|
+
.audit-details summary {
|
|
677
|
+
cursor: pointer;
|
|
678
|
+
padding: 6px 0;
|
|
679
|
+
color: var(--k-faint);
|
|
680
|
+
font-size: 12px;
|
|
681
|
+
letter-spacing: 0.04em;
|
|
815
682
|
text-transform: uppercase;
|
|
816
|
-
|
|
817
|
-
word-break: break-word;
|
|
683
|
+
font-weight: 600;
|
|
818
684
|
}
|
|
819
685
|
|
|
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);
|
|
686
|
+
.audit-details summary:hover {
|
|
687
|
+
color: var(--k-muted);
|
|
827
688
|
}
|
|
828
689
|
|
|
829
|
-
.
|
|
830
|
-
color: var(--
|
|
690
|
+
.audit-details[open] summary {
|
|
691
|
+
color: var(--k-brand);
|
|
831
692
|
}
|
|
832
693
|
|
|
833
|
-
.
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
694
|
+
.audit-body {
|
|
695
|
+
display: grid;
|
|
696
|
+
gap: 14px;
|
|
697
|
+
padding: 4px 0 6px;
|
|
837
698
|
}
|
|
838
699
|
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
z-index: 1;
|
|
843
|
-
border-block: 1px solid var(--line);
|
|
844
|
-
padding: 10px 0;
|
|
700
|
+
.note-field {
|
|
701
|
+
display: grid;
|
|
702
|
+
gap: 6px;
|
|
845
703
|
}
|
|
846
704
|
|
|
847
|
-
.
|
|
848
|
-
|
|
849
|
-
font-
|
|
850
|
-
font-size: clamp(16px, 1.35vw, 20px);
|
|
705
|
+
.field-label {
|
|
706
|
+
color: var(--k-faint);
|
|
707
|
+
font-size: 11px;
|
|
851
708
|
font-weight: 600;
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
709
|
+
letter-spacing: 0.06em;
|
|
710
|
+
text-transform: uppercase;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
.field-value {
|
|
714
|
+
overflow-wrap: anywhere;
|
|
715
|
+
word-break: break-word;
|
|
716
|
+
line-height: 1.4;
|
|
717
|
+
color: var(--k-text);
|
|
718
|
+
font-size: 12.5px;
|
|
855
719
|
}
|
|
856
720
|
|
|
857
|
-
.
|
|
858
|
-
|
|
721
|
+
.note-field textarea {
|
|
722
|
+
display: block;
|
|
723
|
+
width: 100%;
|
|
724
|
+
min-height: 60px;
|
|
725
|
+
resize: vertical;
|
|
726
|
+
border: 1px solid var(--k-line-strong);
|
|
727
|
+
border-radius: var(--k-radius-sm);
|
|
728
|
+
padding: 8px 10px;
|
|
729
|
+
color: var(--k-text);
|
|
730
|
+
background: var(--k-sunken);
|
|
731
|
+
font-family: var(--k-font-mono);
|
|
732
|
+
font-size: 12px;
|
|
733
|
+
line-height: 1.5;
|
|
859
734
|
}
|
|
860
735
|
|
|
861
|
-
.
|
|
862
|
-
|
|
736
|
+
.note-field textarea:focus-visible {
|
|
737
|
+
outline: none;
|
|
738
|
+
border-color: var(--k-brand);
|
|
739
|
+
box-shadow: 0 0 0 3px var(--k-brand-wash);
|
|
863
740
|
}
|
|
864
741
|
|
|
865
742
|
.field-stack {
|
|
866
743
|
display: grid;
|
|
867
744
|
gap: 9px;
|
|
868
|
-
position: relative;
|
|
869
|
-
z-index: 1;
|
|
870
|
-
align-content: start;
|
|
871
745
|
}
|
|
872
746
|
|
|
873
|
-
.field-
|
|
874
|
-
|
|
875
|
-
font-size: 12.5px;
|
|
747
|
+
.field-stack.compact {
|
|
748
|
+
gap: 6px;
|
|
876
749
|
}
|
|
877
750
|
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
font-family: "IBM Plex Mono", ui-monospace, monospace;
|
|
881
|
-
font-size: 11.5px;
|
|
882
|
-
color: var(--paper-dim);
|
|
751
|
+
.kv {
|
|
752
|
+
min-width: 0;
|
|
883
753
|
}
|
|
884
754
|
|
|
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);
|
|
755
|
+
.kv .field-value {
|
|
756
|
+
margin-top: 3px;
|
|
757
|
+
font-family: var(--k-font-mono);
|
|
894
758
|
font-size: 11.5px;
|
|
895
|
-
|
|
759
|
+
color: var(--k-muted);
|
|
896
760
|
}
|
|
897
761
|
|
|
898
|
-
.
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
.excerpt .field-value {
|
|
904
|
-
font-style: italic;
|
|
905
|
-
color: var(--paper-dim) !important;
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
/* ---- Excerpt / rationale 3-line clamp with inline expander ----------- */
|
|
909
|
-
/* Applied to .field-value inside .excerpt or .excerpt-clamp containers,
|
|
910
|
-
and to .rationale-clamp for reviewer rationale fields.
|
|
911
|
-
The "more / less" toggle is a <button class="clamp-toggle"> sibling. */
|
|
912
|
-
|
|
913
|
-
.excerpt-clamp .field-value,
|
|
914
|
-
.rationale-clamp .field-value {
|
|
762
|
+
/* Excerpt / rationale 3-line clamp with inline "more / less" expander. */
|
|
763
|
+
.kv.excerpt .field-value,
|
|
764
|
+
.kv.rationale-clamp .field-value {
|
|
915
765
|
display: -webkit-box;
|
|
916
766
|
-webkit-box-orient: vertical;
|
|
917
767
|
-webkit-line-clamp: 3;
|
|
918
768
|
overflow: hidden;
|
|
769
|
+
font-family: var(--k-font-ui);
|
|
770
|
+
font-style: italic;
|
|
771
|
+
color: var(--k-muted);
|
|
919
772
|
}
|
|
920
773
|
|
|
921
774
|
.excerpt-clamp.is-expanded .field-value,
|
|
@@ -931,9 +784,9 @@ h1 {
|
|
|
931
784
|
padding: 0;
|
|
932
785
|
border: none;
|
|
933
786
|
background: none;
|
|
934
|
-
color: var(--
|
|
787
|
+
color: var(--k-brand);
|
|
935
788
|
cursor: pointer;
|
|
936
|
-
font-family:
|
|
789
|
+
font-family: var(--k-font-mono);
|
|
937
790
|
font-size: 10.5px;
|
|
938
791
|
font-weight: 600;
|
|
939
792
|
letter-spacing: 0.04em;
|
|
@@ -943,13 +796,10 @@ h1 {
|
|
|
943
796
|
}
|
|
944
797
|
|
|
945
798
|
.clamp-toggle:hover {
|
|
946
|
-
color: var(--
|
|
799
|
+
color: var(--k-text);
|
|
947
800
|
}
|
|
948
801
|
|
|
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
|
-
|
|
802
|
+
/* Candidate history expander: >3 unselected candidates hide behind "view all (N)". */
|
|
953
803
|
.history-overflow {
|
|
954
804
|
display: none;
|
|
955
805
|
}
|
|
@@ -964,21 +814,19 @@ h1 {
|
|
|
964
814
|
gap: 4px;
|
|
965
815
|
margin-top: 6px;
|
|
966
816
|
padding: 3px 10px;
|
|
967
|
-
border: 1px solid var(--line-strong);
|
|
817
|
+
border: 1px solid var(--k-line-strong);
|
|
968
818
|
border-radius: 999px;
|
|
969
|
-
background:
|
|
970
|
-
color: var(--
|
|
819
|
+
background: var(--k-brand-wash);
|
|
820
|
+
color: var(--k-brand);
|
|
971
821
|
cursor: pointer;
|
|
972
|
-
font-
|
|
973
|
-
font-size: 10px;
|
|
822
|
+
font-size: 10.5px;
|
|
974
823
|
font-weight: 600;
|
|
975
|
-
letter-spacing: 0.
|
|
824
|
+
letter-spacing: 0.04em;
|
|
976
825
|
transition: background 0.14s ease, border-color 0.14s ease;
|
|
977
826
|
}
|
|
978
827
|
|
|
979
828
|
.history-expand-btn:hover {
|
|
980
|
-
|
|
981
|
-
border-color: var(--accent);
|
|
829
|
+
border-color: var(--k-brand);
|
|
982
830
|
}
|
|
983
831
|
|
|
984
832
|
.history-expander.is-expanded .history-expand-btn .expand-label {
|
|
@@ -993,273 +841,46 @@ h1 {
|
|
|
993
841
|
display: none;
|
|
994
842
|
}
|
|
995
843
|
|
|
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
844
|
.preview-section-grid {
|
|
1207
845
|
display: grid;
|
|
1208
|
-
|
|
1209
|
-
gap: 8px;
|
|
846
|
+
gap: 10px;
|
|
1210
847
|
}
|
|
1211
848
|
|
|
1212
849
|
.preview-section {
|
|
1213
|
-
|
|
1214
|
-
border:
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
background: color-mix(in srgb, var(--k-bg) 55%, var(--k-panel));
|
|
850
|
+
border: 1px solid var(--k-line);
|
|
851
|
+
border-radius: var(--k-radius-sm);
|
|
852
|
+
padding: 10px 12px;
|
|
853
|
+
background: var(--k-sunken);
|
|
1218
854
|
}
|
|
1219
855
|
|
|
1220
856
|
.preview-section h3 {
|
|
1221
|
-
margin-bottom:
|
|
1222
|
-
color: var(--
|
|
1223
|
-
font-
|
|
1224
|
-
font-size: 10px;
|
|
857
|
+
margin-bottom: 6px;
|
|
858
|
+
color: var(--k-faint);
|
|
859
|
+
font-size: 11px;
|
|
1225
860
|
font-weight: 600;
|
|
1226
|
-
letter-spacing: 0.
|
|
861
|
+
letter-spacing: 0.06em;
|
|
1227
862
|
text-transform: uppercase;
|
|
1228
863
|
}
|
|
1229
864
|
|
|
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
865
|
.preview-section.is-neutral {
|
|
1241
|
-
|
|
1242
|
-
border-color: var(--line);
|
|
1243
|
-
background: color-mix(in srgb, var(--k-bg) 35%, var(--k-panel));
|
|
866
|
+
background: var(--k-raised);
|
|
1244
867
|
}
|
|
1245
868
|
|
|
1246
869
|
.preview-section.is-neutral h3 {
|
|
1247
|
-
color: var(--
|
|
870
|
+
color: var(--k-faint);
|
|
1248
871
|
}
|
|
1249
872
|
|
|
1250
873
|
.reference-details {
|
|
1251
|
-
margin-top:
|
|
1252
|
-
border-top: 1px solid var(--line);
|
|
1253
|
-
padding-top: 8px;
|
|
874
|
+
margin-top: 8px;
|
|
1254
875
|
}
|
|
1255
876
|
|
|
1256
877
|
.reference-details summary {
|
|
1257
878
|
cursor: pointer;
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
font-size:
|
|
879
|
+
list-style: none;
|
|
880
|
+
color: var(--k-faint);
|
|
881
|
+
font-size: 10.5px;
|
|
1261
882
|
font-weight: 600;
|
|
1262
|
-
letter-spacing: 0.
|
|
883
|
+
letter-spacing: 0.04em;
|
|
1263
884
|
text-transform: uppercase;
|
|
1264
885
|
}
|
|
1265
886
|
|
|
@@ -1268,580 +889,140 @@ details.surface-preview[open] .surface-summary-label::before {
|
|
|
1268
889
|
}
|
|
1269
890
|
|
|
1270
891
|
.reference-details summary::before {
|
|
1271
|
-
content: "
|
|
1272
|
-
color: var(--paper-faint);
|
|
1273
|
-
}
|
|
1274
|
-
|
|
1275
|
-
.reference-details[open] summary {
|
|
1276
|
-
color: var(--accent);
|
|
892
|
+
content: "▸ ";
|
|
1277
893
|
}
|
|
1278
894
|
|
|
1279
895
|
.reference-details[open] summary::before {
|
|
1280
|
-
content: "
|
|
1281
|
-
color: var(--accent);
|
|
896
|
+
content: "▾ ";
|
|
1282
897
|
}
|
|
1283
898
|
|
|
1284
899
|
.reference-details .field-stack {
|
|
1285
900
|
margin-top: 8px;
|
|
1286
901
|
}
|
|
1287
902
|
|
|
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;
|
|
903
|
+
.preview-disclaimer {
|
|
904
|
+
font-size: 11.5px;
|
|
905
|
+
color: var(--k-faint);
|
|
906
|
+
line-height: 1.5;
|
|
1301
907
|
}
|
|
1302
908
|
|
|
1303
|
-
.
|
|
1304
|
-
|
|
1305
|
-
|
|
909
|
+
.preview-disclaimer-footer {
|
|
910
|
+
border-top: 1px solid var(--k-line);
|
|
911
|
+
padding-top: 10px;
|
|
1306
912
|
}
|
|
1307
913
|
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
914
|
+
/* ReviewDecision payload — deliberately the deepest, last thing in the audit details. */
|
|
915
|
+
.reference-details pre,
|
|
916
|
+
pre[data-testid="decision-payload"] {
|
|
917
|
+
margin: 8px 0 0;
|
|
918
|
+
max-height: 260px;
|
|
1311
919
|
overflow: auto;
|
|
1312
|
-
|
|
1313
|
-
border
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
color:
|
|
1317
|
-
font-family:
|
|
920
|
+
padding: 10px;
|
|
921
|
+
border: 1px solid var(--k-line);
|
|
922
|
+
border-radius: var(--k-radius-sm);
|
|
923
|
+
background: var(--k-bg);
|
|
924
|
+
color: var(--k-muted);
|
|
925
|
+
font-family: var(--k-font-mono);
|
|
1318
926
|
font-size: 11px;
|
|
1319
|
-
line-height: 1.
|
|
927
|
+
line-height: 1.5;
|
|
1320
928
|
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
|
-
}
|
|
1336
|
-
|
|
1337
|
-
@media (prefers-reduced-motion: reduce) {
|
|
1338
|
-
* {
|
|
1339
|
-
animation: none !important;
|
|
1340
|
-
transition: none !important;
|
|
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
929
|
}
|
|
1528
930
|
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
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
|
-
}
|
|
931
|
+
.caption {
|
|
932
|
+
text-align: center;
|
|
933
|
+
margin-top: 24px;
|
|
934
|
+
font-size: 12.5px;
|
|
935
|
+
color: var(--k-faint);
|
|
1562
936
|
}
|
|
1563
937
|
|
|
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
|
-
}
|
|
938
|
+
/* ---------- responsive ----------
|
|
939
|
+
The workbench sets `container-type: inline-size`, so these breakpoints fire on
|
|
940
|
+
the component's own width — correct whether it renders full-bleed on a phone or
|
|
941
|
+
in a narrow column on a wide desktop. Mobile is the primary context, so tap
|
|
942
|
+
targets stay comfortable and nothing forces a horizontal scroll. */
|
|
1579
943
|
|
|
1580
944
|
@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
945
|
.workbench {
|
|
1594
|
-
padding:
|
|
946
|
+
padding: 16px 12px 56px;
|
|
1595
947
|
}
|
|
1596
948
|
|
|
1597
|
-
.
|
|
1598
|
-
|
|
949
|
+
.fbody {
|
|
950
|
+
padding: 16px 15px 18px;
|
|
1599
951
|
}
|
|
1600
952
|
|
|
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;
|
|
953
|
+
.rhead {
|
|
954
|
+
padding: 16px;
|
|
1612
955
|
}
|
|
1613
956
|
|
|
1614
|
-
.
|
|
1615
|
-
|
|
957
|
+
.foot {
|
|
958
|
+
padding: 14px 15px;
|
|
1616
959
|
}
|
|
1617
960
|
|
|
1618
|
-
.
|
|
1619
|
-
|
|
961
|
+
.rhead h1 {
|
|
962
|
+
font-size: 19px;
|
|
1620
963
|
}
|
|
1621
964
|
|
|
1622
|
-
.
|
|
965
|
+
/* current → proposed stack vertically; the arrow rotates to point down. */
|
|
966
|
+
.diff {
|
|
1623
967
|
grid-template-columns: 1fr;
|
|
1624
968
|
gap: 10px;
|
|
1625
969
|
}
|
|
1626
970
|
|
|
1627
|
-
.
|
|
1628
|
-
|
|
1629
|
-
justify-items: stretch;
|
|
1630
|
-
}
|
|
1631
|
-
|
|
1632
|
-
.active-review-actions .state-label {
|
|
1633
|
-
justify-self: start;
|
|
1634
|
-
}
|
|
1635
|
-
|
|
1636
|
-
.review-question {
|
|
1637
|
-
font-size: 13px;
|
|
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%;
|
|
971
|
+
.diff .arrow {
|
|
972
|
+
transform: rotate(90deg);
|
|
1674
973
|
justify-self: start;
|
|
1675
|
-
|
|
974
|
+
margin: 1px 0;
|
|
1676
975
|
}
|
|
1677
976
|
|
|
1678
|
-
.
|
|
1679
|
-
|
|
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 {
|
|
977
|
+
/* Apply spans the header row as an easy thumb target. */
|
|
978
|
+
.apply {
|
|
979
|
+
flex: 1;
|
|
1712
980
|
min-height: 44px;
|
|
1713
981
|
}
|
|
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
982
|
}
|
|
1739
983
|
|
|
1740
984
|
@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 {
|
|
985
|
+
/* The two primary actions go full-width and tall so they're the obvious,
|
|
986
|
+
thumb-friendly call to action; the calibration toggle sits below them. */
|
|
987
|
+
.decide {
|
|
988
|
+
flex-direction: column;
|
|
989
|
+
align-items: stretch;
|
|
1767
990
|
gap: 8px;
|
|
1768
991
|
}
|
|
1769
992
|
|
|
1770
|
-
.
|
|
1771
|
-
|
|
993
|
+
.btn {
|
|
994
|
+
width: 100%;
|
|
995
|
+
min-height: 46px;
|
|
996
|
+
font-size: 15px;
|
|
1772
997
|
}
|
|
1773
998
|
|
|
1774
|
-
.
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
999
|
+
.wrong {
|
|
1000
|
+
order: 0;
|
|
1001
|
+
margin-right: 0;
|
|
1002
|
+
justify-content: flex-start;
|
|
1003
|
+
min-height: 44px;
|
|
1778
1004
|
}
|
|
1779
1005
|
|
|
1780
|
-
.
|
|
1006
|
+
.frow1 {
|
|
1781
1007
|
gap: 8px;
|
|
1782
1008
|
}
|
|
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
1009
|
}
|
|
1794
1010
|
|
|
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;
|
|
1011
|
+
/* The diff-collapse must also hold in host contexts without a query container
|
|
1012
|
+
(e.g. an embed that doesn't establish `container-type`): fall back to viewport. */
|
|
1013
|
+
@media (max-width: 620px) {
|
|
1014
|
+
.diff {
|
|
1015
|
+
grid-template-columns: 1fr;
|
|
1838
1016
|
}
|
|
1839
1017
|
|
|
1840
|
-
.
|
|
1841
|
-
|
|
1018
|
+
.diff .arrow {
|
|
1019
|
+
transform: rotate(90deg);
|
|
1020
|
+
justify-self: start;
|
|
1842
1021
|
}
|
|
1022
|
+
}
|
|
1843
1023
|
|
|
1844
|
-
|
|
1845
|
-
|
|
1024
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1025
|
+
* {
|
|
1026
|
+
transition: none !important;
|
|
1846
1027
|
}
|
|
1847
1028
|
}
|