@helixui/tokens 3.3.1 → 3.7.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.
@@ -0,0 +1,1973 @@
1
+ /**
2
+ * AUTOGENERATED — DO NOT EDIT BY HAND.
3
+ *
4
+ * Regenerate via `pnpm --filter=@helixui/tokens run contrast:report`.
5
+ *
6
+ * Canonical source of WCAG contrast pair telemetry for `@helixui/tokens`.
7
+ * Imported through the package `./contrast-data` export. The contents are
8
+ * deterministic for a given (tokens.json, contrast-helpers.ts) tuple — the
9
+ * generator emits this file and the gitignored `.cache/contrast-report.json`
10
+ * artefact in lockstep, so the JSON cache stays available for ad-hoc
11
+ * inspection without becoming a build-time dependency.
12
+ *
13
+ * The `generatedAt` wall-clock field is intentionally absent from this
14
+ * module; consult `tokenVersion` (or the gitignored JSON cache) for
15
+ * regeneration freshness signals.
16
+ */
17
+ export const contrastReport = {
18
+ tokenVersion: '3.7.0',
19
+ modes: {
20
+ light: {
21
+ summary: {
22
+ aaa: 30,
23
+ aa: 28,
24
+ subAA: 0,
25
+ total: 58,
26
+ },
27
+ pairs: [
28
+ {
29
+ text: '--hx-color-text-primary',
30
+ surface: '--hx-color-surface-default',
31
+ label: 'text.primary on surface.default',
32
+ textHex: '#0D1825',
33
+ surfaceHex: '#FFFFFF',
34
+ ratio: 17.880238312374736,
35
+ threshold: 4.5,
36
+ aaaThreshold: 7,
37
+ role: 'body-text',
38
+ classification: 'aaa',
39
+ },
40
+ {
41
+ text: '--hx-color-text-primary',
42
+ surface: '--hx-color-surface-raised',
43
+ label: 'text.primary on surface.raised',
44
+ textHex: '#0D1825',
45
+ surfaceHex: '#F5F8F3',
46
+ ratio: 16.69134642057989,
47
+ threshold: 4.5,
48
+ aaaThreshold: 7,
49
+ role: 'body-text',
50
+ classification: 'aaa',
51
+ },
52
+ {
53
+ text: '--hx-color-text-primary',
54
+ surface: '--hx-color-surface-sunken',
55
+ label: 'text.primary on surface.sunken',
56
+ textHex: '#0D1825',
57
+ surfaceHex: '#EBEEE9',
58
+ ratio: 15.273883852545463,
59
+ threshold: 4.5,
60
+ aaaThreshold: 7,
61
+ role: 'body-text',
62
+ classification: 'aaa',
63
+ },
64
+ {
65
+ text: '--hx-color-text-strong',
66
+ surface: '--hx-color-surface-default',
67
+ label: 'text.strong on surface.default',
68
+ textHex: '#202B39',
69
+ surfaceHex: '#FFFFFF',
70
+ ratio: 14.324228512764382,
71
+ threshold: 4.5,
72
+ aaaThreshold: 7,
73
+ role: 'body-text',
74
+ classification: 'aaa',
75
+ },
76
+ {
77
+ text: '--hx-color-text-strong',
78
+ surface: '--hx-color-surface-raised',
79
+ label: 'text.strong on surface.raised',
80
+ textHex: '#202B39',
81
+ surfaceHex: '#F5F8F3',
82
+ ratio: 13.371782642775287,
83
+ threshold: 4.5,
84
+ aaaThreshold: 7,
85
+ role: 'body-text',
86
+ classification: 'aaa',
87
+ },
88
+ {
89
+ text: '--hx-color-text-secondary',
90
+ surface: '--hx-color-surface-default',
91
+ label: 'text.secondary on surface.default',
92
+ textHex: '#313E4B',
93
+ surfaceHex: '#FFFFFF',
94
+ ratio: 10.930421898955437,
95
+ threshold: 4.5,
96
+ aaaThreshold: 7,
97
+ role: 'body-text',
98
+ classification: 'aaa',
99
+ },
100
+ {
101
+ text: '--hx-color-text-secondary',
102
+ surface: '--hx-color-surface-raised',
103
+ label: 'text.secondary on surface.raised',
104
+ textHex: '#313E4B',
105
+ surfaceHex: '#F5F8F3',
106
+ ratio: 10.203636844833918,
107
+ threshold: 4.5,
108
+ aaaThreshold: 7,
109
+ role: 'body-text',
110
+ classification: 'aaa',
111
+ },
112
+ {
113
+ text: '--hx-color-text-muted',
114
+ surface: '--hx-color-surface-default',
115
+ label: 'text.muted on surface.default',
116
+ textHex: '#4A5362',
117
+ surfaceHex: '#FFFFFF',
118
+ ratio: 7.76385983908741,
119
+ threshold: 4.5,
120
+ aaaThreshold: 7,
121
+ role: 'body-text',
122
+ classification: 'aaa',
123
+ },
124
+ {
125
+ text: '--hx-color-text-muted',
126
+ surface: '--hx-color-surface-raised',
127
+ label: 'text.muted on surface.raised',
128
+ textHex: '#4A5362',
129
+ surfaceHex: '#F5F8F3',
130
+ ratio: 7.247625667569999,
131
+ threshold: 4.5,
132
+ aaaThreshold: 7,
133
+ role: 'body-text',
134
+ classification: 'aaa',
135
+ },
136
+ {
137
+ text: '--hx-color-text-placeholder',
138
+ surface: '--hx-color-surface-default',
139
+ label: 'text.placeholder on surface.default',
140
+ textHex: '#66787B',
141
+ surfaceHex: '#FFFFFF',
142
+ ratio: 4.6280415179170635,
143
+ threshold: 3,
144
+ aaaThreshold: 7,
145
+ role: 'body-text',
146
+ classification: 'aa',
147
+ },
148
+ {
149
+ text: '--hx-color-text-placeholder',
150
+ surface: '--hx-color-surface-raised',
151
+ label: 'text.placeholder on surface.raised',
152
+ textHex: '#66787B',
153
+ surfaceHex: '#F5F8F3',
154
+ ratio: 4.320314017901952,
155
+ threshold: 3,
156
+ aaaThreshold: 7,
157
+ role: 'body-text',
158
+ classification: 'aa',
159
+ },
160
+ {
161
+ text: '--hx-color-text-inverse',
162
+ surface: '--hx-color-surface-inverse',
163
+ label: 'text.inverse on surface.inverse',
164
+ textHex: '#FFFFFF',
165
+ surfaceHex: '#0D1825',
166
+ ratio: 17.880238312374736,
167
+ threshold: 4.5,
168
+ aaaThreshold: 7,
169
+ role: 'body-text',
170
+ classification: 'aaa',
171
+ },
172
+ {
173
+ text: '--hx-color-text-on-secondary',
174
+ surface: '--hx-color-secondary-500',
175
+ label: 'text.on-secondary on secondary-500',
176
+ textHex: '#0D1825',
177
+ surfaceHex: '#40969F',
178
+ ratio: 5.177756800696825,
179
+ threshold: 4.5,
180
+ aaaThreshold: 7,
181
+ role: 'body-text',
182
+ classification: 'aa',
183
+ },
184
+ {
185
+ text: '--hx-color-text-on-success',
186
+ surface: '--hx-color-success-500',
187
+ label: 'text.on-success on success-500',
188
+ textHex: '#0D1825',
189
+ surfaceHex: '#3B9E58',
190
+ ratio: 5.293931071591454,
191
+ threshold: 4.5,
192
+ aaaThreshold: 7,
193
+ role: 'body-text',
194
+ classification: 'aa',
195
+ },
196
+ {
197
+ text: '--hx-color-text-on-warning',
198
+ surface: '--hx-color-warning-500',
199
+ label: 'text.on-warning on warning-500',
200
+ textHex: '#0D1825',
201
+ surfaceHex: '#C2711C',
202
+ ratio: 4.82995112419803,
203
+ threshold: 4.5,
204
+ aaaThreshold: 7,
205
+ role: 'body-text',
206
+ classification: 'aa',
207
+ },
208
+ {
209
+ text: '--hx-color-text-on-error',
210
+ surface: '--hx-color-error-500',
211
+ label: 'text.on-error on error-500',
212
+ textHex: '#0D1825',
213
+ surfaceHex: '#E5493E',
214
+ ratio: 4.558762784849302,
215
+ threshold: 4.5,
216
+ aaaThreshold: 7,
217
+ role: 'body-text',
218
+ classification: 'aa',
219
+ },
220
+ {
221
+ text: '--hx-color-text-on-info',
222
+ surface: '--hx-color-info-500',
223
+ label: 'text.on-info on info-500',
224
+ textHex: '#0D1825',
225
+ surfaceHex: '#0C8BEB',
226
+ ratio: 5.030572472580149,
227
+ threshold: 4.5,
228
+ aaaThreshold: 7,
229
+ role: 'body-text',
230
+ classification: 'aa',
231
+ },
232
+ {
233
+ text: '--hx-color-neutral-0',
234
+ surface: '--hx-color-primary-600',
235
+ label: 'neutral-0 on primary-600 (hover surface floor)',
236
+ textHex: '#FFFFFF',
237
+ surfaceHex: '#0F7078',
238
+ ratio: 5.818475225630745,
239
+ threshold: 4.5,
240
+ aaaThreshold: 7,
241
+ role: 'body-text',
242
+ classification: 'aa',
243
+ },
244
+ {
245
+ text: '--hx-color-neutral-0',
246
+ surface: '--hx-color-primary-700',
247
+ label: 'neutral-0 on primary-700 (pressed surface floor)',
248
+ textHex: '#FFFFFF',
249
+ surfaceHex: '#0F6363',
250
+ ratio: 7.034661679447011,
251
+ threshold: 4.5,
252
+ aaaThreshold: 7,
253
+ role: 'body-text',
254
+ classification: 'aaa',
255
+ },
256
+ {
257
+ text: '--hx-color-neutral-0',
258
+ surface: '--hx-color-secondary-600',
259
+ label: 'neutral-0 on secondary-600',
260
+ textHex: '#FFFFFF',
261
+ surfaceHex: '#0F6B7E',
262
+ ratio: 6.131993316936664,
263
+ threshold: 4.5,
264
+ aaaThreshold: 7,
265
+ role: 'body-text',
266
+ classification: 'aa',
267
+ },
268
+ {
269
+ text: '--hx-color-neutral-0',
270
+ surface: '--hx-color-secondary-700',
271
+ label: 'neutral-0 on secondary-700',
272
+ textHex: '#FFFFFF',
273
+ surfaceHex: '#0B626A',
274
+ ratio: 7.072078673079017,
275
+ threshold: 4.5,
276
+ aaaThreshold: 7,
277
+ role: 'body-text',
278
+ classification: 'aaa',
279
+ },
280
+ {
281
+ text: '--hx-color-neutral-0',
282
+ surface: '--hx-color-success-600',
283
+ label: 'neutral-0 on success-600 (UI floor; body=4.42:1, palette gap)',
284
+ textHex: '#FFFFFF',
285
+ surfaceHex: '#0E8A4A',
286
+ ratio: 4.418311933054195,
287
+ threshold: 3,
288
+ aaaThreshold: 3,
289
+ role: 'ui-element',
290
+ classification: 'aaa',
291
+ },
292
+ {
293
+ text: '--hx-color-neutral-0',
294
+ surface: '--hx-color-success-700',
295
+ label: 'neutral-0 on success-700',
296
+ textHex: '#FFFFFF',
297
+ surfaceHex: '#146831',
298
+ ratio: 6.875731426148433,
299
+ threshold: 4.5,
300
+ aaaThreshold: 7,
301
+ role: 'body-text',
302
+ classification: 'aa',
303
+ },
304
+ {
305
+ text: '--hx-color-neutral-0',
306
+ surface: '--hx-color-warning-600',
307
+ label: 'neutral-0 on warning-600 (UI floor; body=4.28:1, palette gap)',
308
+ textHex: '#FFFFFF',
309
+ surfaceHex: '#B8650E',
310
+ ratio: 4.280575129052105,
311
+ threshold: 3,
312
+ aaaThreshold: 3,
313
+ role: 'ui-element',
314
+ classification: 'aaa',
315
+ },
316
+ {
317
+ text: '--hx-color-neutral-0',
318
+ surface: '--hx-color-warning-700',
319
+ label: 'neutral-0 on warning-700',
320
+ textHex: '#FFFFFF',
321
+ surfaceHex: '#804605',
322
+ ratio: 7.51047746198514,
323
+ threshold: 4.5,
324
+ aaaThreshold: 7,
325
+ role: 'body-text',
326
+ classification: 'aaa',
327
+ },
328
+ {
329
+ text: '--hx-color-neutral-0',
330
+ surface: '--hx-color-error-600',
331
+ label: 'neutral-0 on error-600 (danger hover floor)',
332
+ textHex: '#FFFFFF',
333
+ surfaceHex: '#C92A2A',
334
+ ratio: 5.457209361605109,
335
+ threshold: 4.5,
336
+ aaaThreshold: 7,
337
+ role: 'body-text',
338
+ classification: 'aa',
339
+ },
340
+ {
341
+ text: '--hx-color-neutral-0',
342
+ surface: '--hx-color-error-700',
343
+ label: 'neutral-0 on error-700',
344
+ textHex: '#FFFFFF',
345
+ surfaceHex: '#A21312',
346
+ ratio: 7.960093732679284,
347
+ threshold: 4.5,
348
+ aaaThreshold: 7,
349
+ role: 'body-text',
350
+ classification: 'aaa',
351
+ },
352
+ {
353
+ text: '--hx-color-neutral-0',
354
+ surface: '--hx-color-info-600',
355
+ label: 'neutral-0 on info-600',
356
+ textHex: '#FFFFFF',
357
+ surfaceHex: '#1B6FD4',
358
+ ratio: 4.916799164763744,
359
+ threshold: 4.5,
360
+ aaaThreshold: 7,
361
+ role: 'body-text',
362
+ classification: 'aa',
363
+ },
364
+ {
365
+ text: '--hx-color-neutral-0',
366
+ surface: '--hx-color-info-700',
367
+ label: 'neutral-0 on info-700',
368
+ textHex: '#FFFFFF',
369
+ surfaceHex: '#0E5997',
370
+ ratio: 7.255146714431191,
371
+ threshold: 4.5,
372
+ aaaThreshold: 7,
373
+ role: 'body-text',
374
+ classification: 'aaa',
375
+ },
376
+ {
377
+ text: '--hx-color-text-on-primary-strong',
378
+ surface: '--hx-color-action-primary-bg-hover',
379
+ label: 'text.on-primary-strong on action.primary.bg-hover',
380
+ textHex: '#FFFFFF',
381
+ surfaceHex: '#0F6363',
382
+ ratio: 7.034661679447011,
383
+ threshold: 4.5,
384
+ aaaThreshold: 7,
385
+ role: 'body-text',
386
+ classification: 'aaa',
387
+ },
388
+ {
389
+ text: '--hx-color-text-on-primary-strong',
390
+ surface: '--hx-color-action-primary-bg-active',
391
+ label: 'text.on-primary-strong on action.primary.bg-active',
392
+ textHex: '#FFFFFF',
393
+ surfaceHex: '#07494A',
394
+ ratio: 10.189554433645522,
395
+ threshold: 4.5,
396
+ aaaThreshold: 7,
397
+ role: 'body-text',
398
+ classification: 'aaa',
399
+ },
400
+ {
401
+ text: '--hx-color-text-on-error-strong',
402
+ surface: '--hx-color-action-danger-bg-hover',
403
+ label: 'text.on-error-strong on action.danger.bg-hover',
404
+ textHex: '#FFFFFF',
405
+ surfaceHex: '#C92A2A',
406
+ ratio: 5.457209361605109,
407
+ threshold: 4.5,
408
+ aaaThreshold: 7,
409
+ role: 'body-text',
410
+ classification: 'aa',
411
+ },
412
+ {
413
+ text: '--hx-color-text-on-error-strong',
414
+ surface: '--hx-color-action-danger-bg-active',
415
+ label: 'text.on-error-strong on action.danger.bg-active',
416
+ textHex: '#FFFFFF',
417
+ surfaceHex: '#A21312',
418
+ ratio: 7.960093732679284,
419
+ threshold: 4.5,
420
+ aaaThreshold: 7,
421
+ role: 'body-text',
422
+ classification: 'aaa',
423
+ },
424
+ {
425
+ text: '--hx-color-action-primary-bg-inverted-hover',
426
+ surface: '--hx-color-surface-inverse',
427
+ label: 'action.primary.bg-inverted-hover on surface.inverse (UI floor, light mode)',
428
+ textHex: '#6AB1B1',
429
+ surfaceHex: '#0D1825',
430
+ ratio: 7.268364070772536,
431
+ threshold: 3,
432
+ aaaThreshold: 3,
433
+ role: 'ui-element',
434
+ classification: 'aaa',
435
+ },
436
+ {
437
+ text: '--hx-color-action-danger-bg-inverted-hover',
438
+ surface: '--hx-color-surface-inverse',
439
+ label: 'action.danger.bg-inverted-hover on surface.inverse (UI floor, light mode)',
440
+ textHex: '#FC7264',
441
+ surfaceHex: '#0D1825',
442
+ ratio: 6.581660281816682,
443
+ threshold: 3,
444
+ aaaThreshold: 3,
445
+ role: 'ui-element',
446
+ classification: 'aaa',
447
+ },
448
+ {
449
+ text: '--hx-color-neutral-900',
450
+ surface: '--hx-color-action-primary-bg-inverted-hover',
451
+ label: 'neutral-900 on action.primary.bg-inverted-hover (inverted hover/active fg)',
452
+ textHex: '#0D1825',
453
+ surfaceHex: '#6AB1B1',
454
+ ratio: 7.268364070772536,
455
+ threshold: 4.5,
456
+ aaaThreshold: 7,
457
+ role: 'body-text',
458
+ classification: 'aaa',
459
+ },
460
+ {
461
+ text: '--hx-color-text-on-error',
462
+ surface: '--hx-color-action-danger-bg-inverted-hover',
463
+ label: 'text.on-error on action.danger.bg-inverted-hover (inverted hover/active fg)',
464
+ textHex: '#0D1825',
465
+ surfaceHex: '#FC7264',
466
+ ratio: 6.581660281816682,
467
+ threshold: 4.5,
468
+ aaaThreshold: 7,
469
+ role: 'body-text',
470
+ classification: 'aa',
471
+ },
472
+ {
473
+ text: '--hx-color-text-on-primary',
474
+ surface: '--hx-color-action-primary-bg',
475
+ label: 'text.on-primary on action.primary.bg',
476
+ textHex: '#FFFFFF',
477
+ surfaceHex: '#0F7078',
478
+ ratio: 5.818475225630745,
479
+ threshold: 4.5,
480
+ aaaThreshold: 7,
481
+ role: 'body-text',
482
+ classification: 'aa',
483
+ },
484
+ {
485
+ text: '--hx-color-text-on-error',
486
+ surface: '--hx-color-action-danger-bg',
487
+ label: 'text.on-error on action.danger.bg',
488
+ textHex: '#0D1825',
489
+ surfaceHex: '#E5493E',
490
+ ratio: 4.558762784849302,
491
+ threshold: 4.5,
492
+ aaaThreshold: 7,
493
+ role: 'body-text',
494
+ classification: 'aa',
495
+ },
496
+ {
497
+ text: '--hx-color-action-secondary-fg',
498
+ surface: '--hx-color-surface-default',
499
+ label: 'action.secondary.fg on surface.default',
500
+ textHex: '#0F7078',
501
+ surfaceHex: '#FFFFFF',
502
+ ratio: 5.818475225630745,
503
+ threshold: 4.5,
504
+ aaaThreshold: 7,
505
+ role: 'body-text',
506
+ classification: 'aa',
507
+ },
508
+ {
509
+ text: '--hx-color-action-secondary-fg',
510
+ surface: '--hx-color-action-secondary-bg-hover',
511
+ label: 'action.secondary.fg on action.secondary.bg-hover',
512
+ textHex: '#0F7078',
513
+ surfaceHex: '#EBF8F8',
514
+ ratio: 5.351572060126872,
515
+ threshold: 4.5,
516
+ aaaThreshold: 7,
517
+ role: 'body-text',
518
+ classification: 'aa',
519
+ },
520
+ {
521
+ text: '--hx-color-action-ghost-fg',
522
+ surface: '--hx-color-surface-default',
523
+ label: 'action.ghost.fg on surface.default',
524
+ textHex: '#0F7078',
525
+ surfaceHex: '#FFFFFF',
526
+ ratio: 5.818475225630745,
527
+ threshold: 4.5,
528
+ aaaThreshold: 7,
529
+ role: 'body-text',
530
+ classification: 'aa',
531
+ },
532
+ {
533
+ text: '--hx-color-action-ghost-fg',
534
+ surface: '--hx-color-action-ghost-bg-hover',
535
+ label: 'action.ghost.fg on action.ghost.bg-hover',
536
+ textHex: '#0F7078',
537
+ surfaceHex: '#EBF8F8',
538
+ ratio: 5.351572060126872,
539
+ threshold: 4.5,
540
+ aaaThreshold: 7,
541
+ role: 'body-text',
542
+ classification: 'aa',
543
+ },
544
+ {
545
+ text: '--hx-color-action-secondary-border',
546
+ surface: '--hx-color-surface-default',
547
+ label: 'action.secondary.border on surface.default',
548
+ textHex: '#0F7078',
549
+ surfaceHex: '#FFFFFF',
550
+ ratio: 5.818475225630745,
551
+ threshold: 3,
552
+ aaaThreshold: 3,
553
+ role: 'ui-element',
554
+ classification: 'aaa',
555
+ },
556
+ {
557
+ text: '--hx-color-action-secondary-border',
558
+ surface: '--hx-color-action-secondary-bg-hover',
559
+ label: 'action.secondary.border on action.secondary.bg-hover',
560
+ textHex: '#0F7078',
561
+ surfaceHex: '#EBF8F8',
562
+ ratio: 5.351572060126872,
563
+ threshold: 3,
564
+ aaaThreshold: 3,
565
+ role: 'ui-element',
566
+ classification: 'aaa',
567
+ },
568
+ {
569
+ text: '--hx-color-text-on-success-strong',
570
+ surface: '--hx-color-surface-success-strong',
571
+ label: 'text.on-success-strong on surface.success-strong',
572
+ textHex: '#FFFFFF',
573
+ surfaceHex: '#146831',
574
+ ratio: 6.875731426148433,
575
+ threshold: 4.5,
576
+ aaaThreshold: 7,
577
+ role: 'body-text',
578
+ classification: 'aa',
579
+ },
580
+ {
581
+ text: '--hx-color-text-on-warning',
582
+ surface: '--hx-color-surface-warning-strong',
583
+ label: 'text.on-warning on surface.warning-strong',
584
+ textHex: '#0D1825',
585
+ surfaceHex: '#C2711C',
586
+ ratio: 4.82995112419803,
587
+ threshold: 4.5,
588
+ aaaThreshold: 7,
589
+ role: 'body-text',
590
+ classification: 'aa',
591
+ },
592
+ {
593
+ text: '--hx-color-text-on-error-strong',
594
+ surface: '--hx-color-surface-danger-strong',
595
+ label: 'text.on-error-strong on surface.danger-strong',
596
+ textHex: '#FFFFFF',
597
+ surfaceHex: '#C92A2A',
598
+ ratio: 5.457209361605109,
599
+ threshold: 4.5,
600
+ aaaThreshold: 7,
601
+ role: 'body-text',
602
+ classification: 'aa',
603
+ },
604
+ {
605
+ text: '--hx-color-text-on-primary-strong',
606
+ surface: '--hx-color-surface-info-strong',
607
+ label: 'text.on-primary-strong on surface.info-strong',
608
+ textHex: '#FFFFFF',
609
+ surfaceHex: '#0F7078',
610
+ ratio: 5.818475225630745,
611
+ threshold: 4.5,
612
+ aaaThreshold: 7,
613
+ role: 'body-text',
614
+ classification: 'aa',
615
+ },
616
+ {
617
+ text: '--hx-color-text-link',
618
+ surface: '--hx-color-surface-default',
619
+ label: 'text.link on surface.default',
620
+ textHex: '#0F7078',
621
+ surfaceHex: '#FFFFFF',
622
+ ratio: 5.818475225630745,
623
+ threshold: 4.5,
624
+ aaaThreshold: 7,
625
+ role: 'body-text',
626
+ classification: 'aa',
627
+ },
628
+ {
629
+ text: '--hx-color-text-link-hover',
630
+ surface: '--hx-color-surface-default',
631
+ label: 'text.link-hover on surface.default',
632
+ textHex: '#0F6363',
633
+ surfaceHex: '#FFFFFF',
634
+ ratio: 7.034661679447011,
635
+ threshold: 4.5,
636
+ aaaThreshold: 7,
637
+ role: 'body-text',
638
+ classification: 'aaa',
639
+ },
640
+ {
641
+ text: '--hx-color-text-link-visited',
642
+ surface: '--hx-color-surface-default',
643
+ label: 'text.link-visited on surface.default',
644
+ textHex: '#0F6B7E',
645
+ surfaceHex: '#FFFFFF',
646
+ ratio: 6.131993316936664,
647
+ threshold: 4.5,
648
+ aaaThreshold: 7,
649
+ role: 'body-text',
650
+ classification: 'aa',
651
+ },
652
+ {
653
+ text: '--hx-color-text-link-active',
654
+ surface: '--hx-color-surface-default',
655
+ label: 'text.link-active on surface.default',
656
+ textHex: '#07494A',
657
+ surfaceHex: '#FFFFFF',
658
+ ratio: 10.189554433645522,
659
+ threshold: 4.5,
660
+ aaaThreshold: 7,
661
+ role: 'body-text',
662
+ classification: 'aaa',
663
+ },
664
+ {
665
+ text: '--hx-color-error-text',
666
+ surface: '--hx-color-surface-default',
667
+ label: 'error-text on surface.default',
668
+ textHex: '#C92A2A',
669
+ surfaceHex: '#FFFFFF',
670
+ ratio: 5.457209361605109,
671
+ threshold: 4.5,
672
+ aaaThreshold: 7,
673
+ role: 'body-text',
674
+ classification: 'aa',
675
+ },
676
+ {
677
+ text: '--hx-color-success-text',
678
+ surface: '--hx-color-surface-default',
679
+ label: 'success-text on surface.default',
680
+ textHex: '#146831',
681
+ surfaceHex: '#FFFFFF',
682
+ ratio: 6.875731426148433,
683
+ threshold: 4.5,
684
+ aaaThreshold: 7,
685
+ role: 'body-text',
686
+ classification: 'aa',
687
+ },
688
+ {
689
+ text: '--hx-color-focus-ring',
690
+ surface: '--hx-color-surface-default',
691
+ label: 'focus-ring on surface.default (UI floor — keyboard focus)',
692
+ textHex: '#0F7078',
693
+ surfaceHex: '#FFFFFF',
694
+ ratio: 5.818475225630745,
695
+ threshold: 3,
696
+ aaaThreshold: 3,
697
+ role: 'ui-element',
698
+ classification: 'aaa',
699
+ },
700
+ {
701
+ text: '--hx-color-action-primary-bg-inverted-rest',
702
+ surface: '--hx-color-surface-inverse',
703
+ label: 'action.primary.bg-inverted-rest on surface.inverse (UI floor — inverted button)',
704
+ textHex: '#429797',
705
+ surfaceHex: '#0D1825',
706
+ ratio: 5.198182671632735,
707
+ threshold: 3,
708
+ aaaThreshold: 3,
709
+ role: 'ui-element',
710
+ classification: 'aaa',
711
+ },
712
+ {
713
+ text: '--hx-color-border-strong',
714
+ surface: '--hx-color-surface-default',
715
+ label: 'border.strong on surface.default (UI floor — form-control borders)',
716
+ textHex: '#66787B',
717
+ surfaceHex: '#FFFFFF',
718
+ ratio: 4.6280415179170635,
719
+ threshold: 3,
720
+ aaaThreshold: 3,
721
+ role: 'ui-element',
722
+ classification: 'aaa',
723
+ },
724
+ ],
725
+ },
726
+ dark: {
727
+ summary: {
728
+ aaa: 32,
729
+ aa: 25,
730
+ subAA: 0,
731
+ total: 57,
732
+ },
733
+ pairs: [
734
+ {
735
+ text: '--hx-color-text-primary',
736
+ surface: '--hx-color-surface-default',
737
+ label: 'text.primary on surface.default',
738
+ textHex: '#EBEEE9',
739
+ surfaceHex: '#0D1825',
740
+ ratio: 15.273883852545463,
741
+ threshold: 4.5,
742
+ aaaThreshold: 7,
743
+ role: 'body-text',
744
+ classification: 'aaa',
745
+ },
746
+ {
747
+ text: '--hx-color-text-primary',
748
+ surface: '--hx-color-surface-raised',
749
+ label: 'text.primary on surface.raised',
750
+ textHex: '#EBEEE9',
751
+ surfaceHex: '#202B39',
752
+ ratio: 12.236224079287755,
753
+ threshold: 4.5,
754
+ aaaThreshold: 7,
755
+ role: 'body-text',
756
+ classification: 'aaa',
757
+ },
758
+ {
759
+ text: '--hx-color-text-primary',
760
+ surface: '--hx-color-surface-sunken',
761
+ label: 'text.primary on surface.sunken',
762
+ textHex: '#EBEEE9',
763
+ surfaceHex: '#010714',
764
+ ratio: 17.21939914415373,
765
+ threshold: 4.5,
766
+ aaaThreshold: 7,
767
+ role: 'body-text',
768
+ classification: 'aaa',
769
+ },
770
+ {
771
+ text: '--hx-color-text-strong',
772
+ surface: '--hx-color-surface-default',
773
+ label: 'text.strong on surface.default',
774
+ textHex: '#F5F8F3',
775
+ surfaceHex: '#0D1825',
776
+ ratio: 16.69134642057989,
777
+ threshold: 4.5,
778
+ aaaThreshold: 7,
779
+ role: 'body-text',
780
+ classification: 'aaa',
781
+ },
782
+ {
783
+ text: '--hx-color-text-strong',
784
+ surface: '--hx-color-surface-raised',
785
+ label: 'text.strong on surface.raised',
786
+ textHex: '#F5F8F3',
787
+ surfaceHex: '#202B39',
788
+ ratio: 13.371782642775287,
789
+ threshold: 4.5,
790
+ aaaThreshold: 7,
791
+ role: 'body-text',
792
+ classification: 'aaa',
793
+ },
794
+ {
795
+ text: '--hx-color-text-secondary',
796
+ surface: '--hx-color-surface-default',
797
+ label: 'text.secondary on surface.default',
798
+ textHex: '#B6BFB9',
799
+ surfaceHex: '#0D1825',
800
+ ratio: 9.486653241390806,
801
+ threshold: 4.5,
802
+ aaaThreshold: 7,
803
+ role: 'body-text',
804
+ classification: 'aaa',
805
+ },
806
+ {
807
+ text: '--hx-color-text-secondary',
808
+ surface: '--hx-color-surface-raised',
809
+ label: 'text.secondary on surface.raised',
810
+ textHex: '#B6BFB9',
811
+ surfaceHex: '#202B39',
812
+ ratio: 7.599954009393231,
813
+ threshold: 4.5,
814
+ aaaThreshold: 7,
815
+ role: 'body-text',
816
+ classification: 'aaa',
817
+ },
818
+ {
819
+ text: '--hx-color-text-muted',
820
+ surface: '--hx-color-surface-default',
821
+ label: 'text.muted on surface.default',
822
+ textHex: '#8E9C98',
823
+ surfaceHex: '#0D1825',
824
+ ratio: 6.265697909243602,
825
+ threshold: 4.5,
826
+ aaaThreshold: 7,
827
+ role: 'body-text',
828
+ classification: 'aa',
829
+ },
830
+ {
831
+ text: '--hx-color-text-muted',
832
+ surface: '--hx-color-surface-raised',
833
+ label: 'text.muted on surface.raised',
834
+ textHex: '#8E9C98',
835
+ surfaceHex: '#202B39',
836
+ ratio: 5.019580112746002,
837
+ threshold: 4.5,
838
+ aaaThreshold: 7,
839
+ role: 'body-text',
840
+ classification: 'aa',
841
+ },
842
+ {
843
+ text: '--hx-color-text-placeholder',
844
+ surface: '--hx-color-surface-default',
845
+ label: 'text.placeholder on surface.default',
846
+ textHex: '#8E9C98',
847
+ surfaceHex: '#0D1825',
848
+ ratio: 6.265697909243602,
849
+ threshold: 3,
850
+ aaaThreshold: 7,
851
+ role: 'body-text',
852
+ classification: 'aa',
853
+ },
854
+ {
855
+ text: '--hx-color-text-placeholder',
856
+ surface: '--hx-color-surface-raised',
857
+ label: 'text.placeholder on surface.raised',
858
+ textHex: '#8E9C98',
859
+ surfaceHex: '#202B39',
860
+ ratio: 5.019580112746002,
861
+ threshold: 3,
862
+ aaaThreshold: 7,
863
+ role: 'body-text',
864
+ classification: 'aa',
865
+ },
866
+ {
867
+ text: '--hx-color-text-inverse',
868
+ surface: '--hx-color-surface-inverse',
869
+ label: 'text.inverse on surface.inverse',
870
+ textHex: '#0D1825',
871
+ surfaceHex: '#EBEEE9',
872
+ ratio: 15.273883852545463,
873
+ threshold: 4.5,
874
+ aaaThreshold: 7,
875
+ role: 'body-text',
876
+ classification: 'aaa',
877
+ },
878
+ {
879
+ text: '--hx-color-text-on-secondary',
880
+ surface: '--hx-color-secondary-500',
881
+ label: 'text.on-secondary on secondary-500',
882
+ textHex: '#0D1825',
883
+ surfaceHex: '#40969F',
884
+ ratio: 5.177756800696825,
885
+ threshold: 4.5,
886
+ aaaThreshold: 7,
887
+ role: 'body-text',
888
+ classification: 'aa',
889
+ },
890
+ {
891
+ text: '--hx-color-text-on-success',
892
+ surface: '--hx-color-success-500',
893
+ label: 'text.on-success on success-500',
894
+ textHex: '#0D1825',
895
+ surfaceHex: '#3B9E58',
896
+ ratio: 5.293931071591454,
897
+ threshold: 4.5,
898
+ aaaThreshold: 7,
899
+ role: 'body-text',
900
+ classification: 'aa',
901
+ },
902
+ {
903
+ text: '--hx-color-text-on-warning',
904
+ surface: '--hx-color-warning-500',
905
+ label: 'text.on-warning on warning-500',
906
+ textHex: '#0D1825',
907
+ surfaceHex: '#C2711C',
908
+ ratio: 4.82995112419803,
909
+ threshold: 4.5,
910
+ aaaThreshold: 7,
911
+ role: 'body-text',
912
+ classification: 'aa',
913
+ },
914
+ {
915
+ text: '--hx-color-text-on-error',
916
+ surface: '--hx-color-error-500',
917
+ label: 'text.on-error on error-500',
918
+ textHex: '#0D1825',
919
+ surfaceHex: '#E5493E',
920
+ ratio: 4.558762784849302,
921
+ threshold: 4.5,
922
+ aaaThreshold: 7,
923
+ role: 'body-text',
924
+ classification: 'aa',
925
+ },
926
+ {
927
+ text: '--hx-color-text-on-info',
928
+ surface: '--hx-color-info-500',
929
+ label: 'text.on-info on info-500',
930
+ textHex: '#0D1825',
931
+ surfaceHex: '#0C8BEB',
932
+ ratio: 5.030572472580149,
933
+ threshold: 4.5,
934
+ aaaThreshold: 7,
935
+ role: 'body-text',
936
+ classification: 'aa',
937
+ },
938
+ {
939
+ text: '--hx-color-neutral-0',
940
+ surface: '--hx-color-primary-600',
941
+ label: 'neutral-0 on primary-600 (hover surface floor)',
942
+ textHex: '#FFFFFF',
943
+ surfaceHex: '#0F7078',
944
+ ratio: 5.818475225630745,
945
+ threshold: 4.5,
946
+ aaaThreshold: 7,
947
+ role: 'body-text',
948
+ classification: 'aa',
949
+ },
950
+ {
951
+ text: '--hx-color-neutral-0',
952
+ surface: '--hx-color-primary-700',
953
+ label: 'neutral-0 on primary-700 (pressed surface floor)',
954
+ textHex: '#FFFFFF',
955
+ surfaceHex: '#0F6363',
956
+ ratio: 7.034661679447011,
957
+ threshold: 4.5,
958
+ aaaThreshold: 7,
959
+ role: 'body-text',
960
+ classification: 'aaa',
961
+ },
962
+ {
963
+ text: '--hx-color-neutral-0',
964
+ surface: '--hx-color-secondary-600',
965
+ label: 'neutral-0 on secondary-600',
966
+ textHex: '#FFFFFF',
967
+ surfaceHex: '#0F6B7E',
968
+ ratio: 6.131993316936664,
969
+ threshold: 4.5,
970
+ aaaThreshold: 7,
971
+ role: 'body-text',
972
+ classification: 'aa',
973
+ },
974
+ {
975
+ text: '--hx-color-neutral-0',
976
+ surface: '--hx-color-secondary-700',
977
+ label: 'neutral-0 on secondary-700',
978
+ textHex: '#FFFFFF',
979
+ surfaceHex: '#0B626A',
980
+ ratio: 7.072078673079017,
981
+ threshold: 4.5,
982
+ aaaThreshold: 7,
983
+ role: 'body-text',
984
+ classification: 'aaa',
985
+ },
986
+ {
987
+ text: '--hx-color-neutral-0',
988
+ surface: '--hx-color-success-600',
989
+ label: 'neutral-0 on success-600 (UI floor; body=4.42:1, palette gap)',
990
+ textHex: '#FFFFFF',
991
+ surfaceHex: '#0E8A4A',
992
+ ratio: 4.418311933054195,
993
+ threshold: 3,
994
+ aaaThreshold: 3,
995
+ role: 'ui-element',
996
+ classification: 'aaa',
997
+ },
998
+ {
999
+ text: '--hx-color-neutral-0',
1000
+ surface: '--hx-color-success-700',
1001
+ label: 'neutral-0 on success-700',
1002
+ textHex: '#FFFFFF',
1003
+ surfaceHex: '#146831',
1004
+ ratio: 6.875731426148433,
1005
+ threshold: 4.5,
1006
+ aaaThreshold: 7,
1007
+ role: 'body-text',
1008
+ classification: 'aa',
1009
+ },
1010
+ {
1011
+ text: '--hx-color-neutral-0',
1012
+ surface: '--hx-color-warning-600',
1013
+ label: 'neutral-0 on warning-600 (UI floor; body=4.28:1, palette gap)',
1014
+ textHex: '#FFFFFF',
1015
+ surfaceHex: '#B8650E',
1016
+ ratio: 4.280575129052105,
1017
+ threshold: 3,
1018
+ aaaThreshold: 3,
1019
+ role: 'ui-element',
1020
+ classification: 'aaa',
1021
+ },
1022
+ {
1023
+ text: '--hx-color-neutral-0',
1024
+ surface: '--hx-color-warning-700',
1025
+ label: 'neutral-0 on warning-700',
1026
+ textHex: '#FFFFFF',
1027
+ surfaceHex: '#804605',
1028
+ ratio: 7.51047746198514,
1029
+ threshold: 4.5,
1030
+ aaaThreshold: 7,
1031
+ role: 'body-text',
1032
+ classification: 'aaa',
1033
+ },
1034
+ {
1035
+ text: '--hx-color-neutral-0',
1036
+ surface: '--hx-color-error-600',
1037
+ label: 'neutral-0 on error-600 (danger hover floor)',
1038
+ textHex: '#FFFFFF',
1039
+ surfaceHex: '#C92A2A',
1040
+ ratio: 5.457209361605109,
1041
+ threshold: 4.5,
1042
+ aaaThreshold: 7,
1043
+ role: 'body-text',
1044
+ classification: 'aa',
1045
+ },
1046
+ {
1047
+ text: '--hx-color-neutral-0',
1048
+ surface: '--hx-color-error-700',
1049
+ label: 'neutral-0 on error-700',
1050
+ textHex: '#FFFFFF',
1051
+ surfaceHex: '#A21312',
1052
+ ratio: 7.960093732679284,
1053
+ threshold: 4.5,
1054
+ aaaThreshold: 7,
1055
+ role: 'body-text',
1056
+ classification: 'aaa',
1057
+ },
1058
+ {
1059
+ text: '--hx-color-neutral-0',
1060
+ surface: '--hx-color-info-600',
1061
+ label: 'neutral-0 on info-600',
1062
+ textHex: '#FFFFFF',
1063
+ surfaceHex: '#1B6FD4',
1064
+ ratio: 4.916799164763744,
1065
+ threshold: 4.5,
1066
+ aaaThreshold: 7,
1067
+ role: 'body-text',
1068
+ classification: 'aa',
1069
+ },
1070
+ {
1071
+ text: '--hx-color-neutral-0',
1072
+ surface: '--hx-color-info-700',
1073
+ label: 'neutral-0 on info-700',
1074
+ textHex: '#FFFFFF',
1075
+ surfaceHex: '#0E5997',
1076
+ ratio: 7.255146714431191,
1077
+ threshold: 4.5,
1078
+ aaaThreshold: 7,
1079
+ role: 'body-text',
1080
+ classification: 'aaa',
1081
+ },
1082
+ {
1083
+ text: '--hx-color-text-on-primary-strong',
1084
+ surface: '--hx-color-action-primary-bg-hover',
1085
+ label: 'text.on-primary-strong on action.primary.bg-hover',
1086
+ textHex: '#FFFFFF',
1087
+ surfaceHex: '#0F6363',
1088
+ ratio: 7.034661679447011,
1089
+ threshold: 4.5,
1090
+ aaaThreshold: 7,
1091
+ role: 'body-text',
1092
+ classification: 'aaa',
1093
+ },
1094
+ {
1095
+ text: '--hx-color-text-on-primary-strong',
1096
+ surface: '--hx-color-action-primary-bg-active',
1097
+ label: 'text.on-primary-strong on action.primary.bg-active',
1098
+ textHex: '#FFFFFF',
1099
+ surfaceHex: '#07494A',
1100
+ ratio: 10.189554433645522,
1101
+ threshold: 4.5,
1102
+ aaaThreshold: 7,
1103
+ role: 'body-text',
1104
+ classification: 'aaa',
1105
+ },
1106
+ {
1107
+ text: '--hx-color-text-on-error-strong',
1108
+ surface: '--hx-color-action-danger-bg-hover',
1109
+ label: 'text.on-error-strong on action.danger.bg-hover',
1110
+ textHex: '#FFFFFF',
1111
+ surfaceHex: '#C92A2A',
1112
+ ratio: 5.457209361605109,
1113
+ threshold: 4.5,
1114
+ aaaThreshold: 7,
1115
+ role: 'body-text',
1116
+ classification: 'aa',
1117
+ },
1118
+ {
1119
+ text: '--hx-color-text-on-error-strong',
1120
+ surface: '--hx-color-action-danger-bg-active',
1121
+ label: 'text.on-error-strong on action.danger.bg-active',
1122
+ textHex: '#FFFFFF',
1123
+ surfaceHex: '#A21312',
1124
+ ratio: 7.960093732679284,
1125
+ threshold: 4.5,
1126
+ aaaThreshold: 7,
1127
+ role: 'body-text',
1128
+ classification: 'aaa',
1129
+ },
1130
+ {
1131
+ text: '--hx-color-neutral-900',
1132
+ surface: '--hx-color-action-primary-bg-inverted-hover',
1133
+ label: 'neutral-900 on action.primary.bg-inverted-hover (inverted hover/active fg)',
1134
+ textHex: '#0D1825',
1135
+ surfaceHex: '#6AB1B1',
1136
+ ratio: 7.268364070772536,
1137
+ threshold: 4.5,
1138
+ aaaThreshold: 7,
1139
+ role: 'body-text',
1140
+ classification: 'aaa',
1141
+ },
1142
+ {
1143
+ text: '--hx-color-text-on-error',
1144
+ surface: '--hx-color-action-danger-bg-inverted-hover',
1145
+ label: 'text.on-error on action.danger.bg-inverted-hover (inverted hover/active fg)',
1146
+ textHex: '#0D1825',
1147
+ surfaceHex: '#FC7264',
1148
+ ratio: 6.581660281816682,
1149
+ threshold: 4.5,
1150
+ aaaThreshold: 7,
1151
+ role: 'body-text',
1152
+ classification: 'aa',
1153
+ },
1154
+ {
1155
+ text: '--hx-color-text-on-primary',
1156
+ surface: '--hx-color-action-primary-bg',
1157
+ label: 'text.on-primary on action.primary.bg',
1158
+ textHex: '#FFFFFF',
1159
+ surfaceHex: '#0F7078',
1160
+ ratio: 5.818475225630745,
1161
+ threshold: 4.5,
1162
+ aaaThreshold: 7,
1163
+ role: 'body-text',
1164
+ classification: 'aa',
1165
+ },
1166
+ {
1167
+ text: '--hx-color-text-on-error',
1168
+ surface: '--hx-color-action-danger-bg',
1169
+ label: 'text.on-error on action.danger.bg',
1170
+ textHex: '#0D1825',
1171
+ surfaceHex: '#E5493E',
1172
+ ratio: 4.558762784849302,
1173
+ threshold: 4.5,
1174
+ aaaThreshold: 7,
1175
+ role: 'body-text',
1176
+ classification: 'aa',
1177
+ },
1178
+ {
1179
+ text: '--hx-color-action-secondary-fg',
1180
+ surface: '--hx-color-surface-default',
1181
+ label: 'action.secondary.fg on surface.default',
1182
+ textHex: '#6AB1B1',
1183
+ surfaceHex: '#0D1825',
1184
+ ratio: 7.268364070772536,
1185
+ threshold: 4.5,
1186
+ aaaThreshold: 7,
1187
+ role: 'body-text',
1188
+ classification: 'aaa',
1189
+ },
1190
+ {
1191
+ text: '--hx-color-action-secondary-fg',
1192
+ surface: '--hx-color-action-secondary-bg-hover',
1193
+ label: 'action.secondary.fg on action.secondary.bg-hover',
1194
+ textHex: '#6AB1B1',
1195
+ surfaceHex: '#0B3232',
1196
+ ratio: 5.629012001172517,
1197
+ threshold: 4.5,
1198
+ aaaThreshold: 7,
1199
+ role: 'body-text',
1200
+ classification: 'aa',
1201
+ },
1202
+ {
1203
+ text: '--hx-color-action-ghost-fg',
1204
+ surface: '--hx-color-surface-default',
1205
+ label: 'action.ghost.fg on surface.default',
1206
+ textHex: '#6AB1B1',
1207
+ surfaceHex: '#0D1825',
1208
+ ratio: 7.268364070772536,
1209
+ threshold: 4.5,
1210
+ aaaThreshold: 7,
1211
+ role: 'body-text',
1212
+ classification: 'aaa',
1213
+ },
1214
+ {
1215
+ text: '--hx-color-action-ghost-fg',
1216
+ surface: '--hx-color-action-ghost-bg-hover',
1217
+ label: 'action.ghost.fg on action.ghost.bg-hover',
1218
+ textHex: '#6AB1B1',
1219
+ surfaceHex: '#0B3232',
1220
+ ratio: 5.629012001172517,
1221
+ threshold: 4.5,
1222
+ aaaThreshold: 7,
1223
+ role: 'body-text',
1224
+ classification: 'aa',
1225
+ },
1226
+ {
1227
+ text: '--hx-color-action-secondary-border',
1228
+ surface: '--hx-color-surface-default',
1229
+ label: 'action.secondary.border on surface.default',
1230
+ textHex: '#6AB1B1',
1231
+ surfaceHex: '#0D1825',
1232
+ ratio: 7.268364070772536,
1233
+ threshold: 3,
1234
+ aaaThreshold: 3,
1235
+ role: 'ui-element',
1236
+ classification: 'aaa',
1237
+ },
1238
+ {
1239
+ text: '--hx-color-action-secondary-border',
1240
+ surface: '--hx-color-action-secondary-bg-hover',
1241
+ label: 'action.secondary.border on action.secondary.bg-hover',
1242
+ textHex: '#6AB1B1',
1243
+ surfaceHex: '#0B3232',
1244
+ ratio: 5.629012001172517,
1245
+ threshold: 3,
1246
+ aaaThreshold: 3,
1247
+ role: 'ui-element',
1248
+ classification: 'aaa',
1249
+ },
1250
+ {
1251
+ text: '--hx-color-text-on-success-strong',
1252
+ surface: '--hx-color-surface-success-strong',
1253
+ label: 'text.on-success-strong on surface.success-strong',
1254
+ textHex: '#FFFFFF',
1255
+ surfaceHex: '#146831',
1256
+ ratio: 6.875731426148433,
1257
+ threshold: 4.5,
1258
+ aaaThreshold: 7,
1259
+ role: 'body-text',
1260
+ classification: 'aa',
1261
+ },
1262
+ {
1263
+ text: '--hx-color-text-on-warning',
1264
+ surface: '--hx-color-surface-warning-strong',
1265
+ label: 'text.on-warning on surface.warning-strong',
1266
+ textHex: '#0D1825',
1267
+ surfaceHex: '#C2711C',
1268
+ ratio: 4.82995112419803,
1269
+ threshold: 4.5,
1270
+ aaaThreshold: 7,
1271
+ role: 'body-text',
1272
+ classification: 'aa',
1273
+ },
1274
+ {
1275
+ text: '--hx-color-text-on-error-strong',
1276
+ surface: '--hx-color-surface-danger-strong',
1277
+ label: 'text.on-error-strong on surface.danger-strong',
1278
+ textHex: '#FFFFFF',
1279
+ surfaceHex: '#C92A2A',
1280
+ ratio: 5.457209361605109,
1281
+ threshold: 4.5,
1282
+ aaaThreshold: 7,
1283
+ role: 'body-text',
1284
+ classification: 'aa',
1285
+ },
1286
+ {
1287
+ text: '--hx-color-text-on-primary-strong',
1288
+ surface: '--hx-color-surface-info-strong',
1289
+ label: 'text.on-primary-strong on surface.info-strong',
1290
+ textHex: '#FFFFFF',
1291
+ surfaceHex: '#0F7078',
1292
+ ratio: 5.818475225630745,
1293
+ threshold: 4.5,
1294
+ aaaThreshold: 7,
1295
+ role: 'body-text',
1296
+ classification: 'aa',
1297
+ },
1298
+ {
1299
+ text: '--hx-color-text-link',
1300
+ surface: '--hx-color-surface-default',
1301
+ label: 'text.link on surface.default',
1302
+ textHex: '#6AB1B1',
1303
+ surfaceHex: '#0D1825',
1304
+ ratio: 7.268364070772536,
1305
+ threshold: 4.5,
1306
+ aaaThreshold: 7,
1307
+ role: 'body-text',
1308
+ classification: 'aaa',
1309
+ },
1310
+ {
1311
+ text: '--hx-color-text-link-hover',
1312
+ surface: '--hx-color-surface-default',
1313
+ label: 'text.link-hover on surface.default',
1314
+ textHex: '#97CDCC',
1315
+ surfaceHex: '#0D1825',
1316
+ ratio: 10.149433903456716,
1317
+ threshold: 4.5,
1318
+ aaaThreshold: 7,
1319
+ role: 'body-text',
1320
+ classification: 'aaa',
1321
+ },
1322
+ {
1323
+ text: '--hx-color-text-link-visited',
1324
+ surface: '--hx-color-surface-default',
1325
+ label: 'text.link-visited on surface.default',
1326
+ textHex: '#69B1B9',
1327
+ surfaceHex: '#0D1825',
1328
+ ratio: 7.313923607875624,
1329
+ threshold: 4.5,
1330
+ aaaThreshold: 7,
1331
+ role: 'body-text',
1332
+ classification: 'aaa',
1333
+ },
1334
+ {
1335
+ text: '--hx-color-text-link-active',
1336
+ surface: '--hx-color-surface-default',
1337
+ label: 'text.link-active on surface.default',
1338
+ textHex: '#BCE1E1',
1339
+ surfaceHex: '#0D1825',
1340
+ ratio: 12.767858631287986,
1341
+ threshold: 4.5,
1342
+ aaaThreshold: 7,
1343
+ role: 'body-text',
1344
+ classification: 'aaa',
1345
+ },
1346
+ {
1347
+ text: '--hx-color-text-disabled',
1348
+ surface: '--hx-color-surface-default',
1349
+ label: 'text.disabled on surface.default',
1350
+ textHex: '#66787B',
1351
+ surfaceHex: '#0D1825',
1352
+ ratio: 3.8634567652759673,
1353
+ threshold: 3,
1354
+ aaaThreshold: 3,
1355
+ role: 'ui-element',
1356
+ classification: 'aaa',
1357
+ },
1358
+ {
1359
+ text: '--hx-color-error-text',
1360
+ surface: '--hx-color-surface-default',
1361
+ label: 'error-text on surface.default',
1362
+ textHex: '#FC7264',
1363
+ surfaceHex: '#0D1825',
1364
+ ratio: 6.581660281816682,
1365
+ threshold: 4.5,
1366
+ aaaThreshold: 7,
1367
+ role: 'body-text',
1368
+ classification: 'aa',
1369
+ },
1370
+ {
1371
+ text: '--hx-color-success-text',
1372
+ surface: '--hx-color-surface-default',
1373
+ label: 'success-text on surface.default',
1374
+ textHex: '#66B879',
1375
+ surfaceHex: '#0D1825',
1376
+ ratio: 7.405183484445497,
1377
+ threshold: 4.5,
1378
+ aaaThreshold: 7,
1379
+ role: 'body-text',
1380
+ classification: 'aaa',
1381
+ },
1382
+ {
1383
+ text: '--hx-color-focus-ring',
1384
+ surface: '--hx-color-surface-default',
1385
+ label: 'focus-ring on surface.default (UI floor — keyboard focus)',
1386
+ textHex: '#6AB1B1',
1387
+ surfaceHex: '#0D1825',
1388
+ ratio: 7.268364070772536,
1389
+ threshold: 3,
1390
+ aaaThreshold: 3,
1391
+ role: 'ui-element',
1392
+ classification: 'aaa',
1393
+ },
1394
+ {
1395
+ text: '--hx-color-action-primary-bg-inverted-rest',
1396
+ surface: '--hx-color-surface-inverse',
1397
+ label: 'action.primary.bg-inverted-rest on surface.inverse (UI floor — inverted button)',
1398
+ textHex: '#0F7078',
1399
+ surfaceHex: '#EBEEE9',
1400
+ ratio: 4.970331672463822,
1401
+ threshold: 3,
1402
+ aaaThreshold: 3,
1403
+ role: 'ui-element',
1404
+ classification: 'aaa',
1405
+ },
1406
+ {
1407
+ text: '--hx-color-border-strong',
1408
+ surface: '--hx-color-surface-default',
1409
+ label: 'border.strong on surface.default (UI floor — form-control borders)',
1410
+ textHex: '#8E9C98',
1411
+ surfaceHex: '#0D1825',
1412
+ ratio: 6.265697909243602,
1413
+ threshold: 3,
1414
+ aaaThreshold: 3,
1415
+ role: 'ui-element',
1416
+ classification: 'aaa',
1417
+ },
1418
+ ],
1419
+ },
1420
+ 'high-contrast': {
1421
+ summary: {
1422
+ aaa: 44,
1423
+ aa: 1,
1424
+ subAA: 0,
1425
+ total: 45,
1426
+ },
1427
+ pairs: [
1428
+ {
1429
+ text: '--hx-color-text-primary',
1430
+ surface: '--hx-color-surface-default',
1431
+ label: 'text.primary on surface.default',
1432
+ textHex: '#FFFFFF',
1433
+ surfaceHex: '#000000',
1434
+ ratio: 21,
1435
+ threshold: 4.5,
1436
+ aaaThreshold: 7,
1437
+ role: 'body-text',
1438
+ classification: 'aaa',
1439
+ },
1440
+ {
1441
+ text: '--hx-color-text-primary',
1442
+ surface: '--hx-color-surface-raised',
1443
+ label: 'text.primary on surface.raised',
1444
+ textHex: '#FFFFFF',
1445
+ surfaceHex: '#1A1A1A',
1446
+ ratio: 17.40432753274219,
1447
+ threshold: 4.5,
1448
+ aaaThreshold: 7,
1449
+ role: 'body-text',
1450
+ classification: 'aaa',
1451
+ },
1452
+ {
1453
+ text: '--hx-color-text-primary',
1454
+ surface: '--hx-color-surface-sunken',
1455
+ label: 'text.primary on surface.sunken',
1456
+ textHex: '#FFFFFF',
1457
+ surfaceHex: '#000000',
1458
+ ratio: 21,
1459
+ threshold: 4.5,
1460
+ aaaThreshold: 7,
1461
+ role: 'body-text',
1462
+ classification: 'aaa',
1463
+ },
1464
+ {
1465
+ text: '--hx-color-text-strong',
1466
+ surface: '--hx-color-surface-default',
1467
+ label: 'text.strong on surface.default',
1468
+ textHex: '#FFFFFF',
1469
+ surfaceHex: '#000000',
1470
+ ratio: 21,
1471
+ threshold: 4.5,
1472
+ aaaThreshold: 7,
1473
+ role: 'body-text',
1474
+ classification: 'aaa',
1475
+ },
1476
+ {
1477
+ text: '--hx-color-text-strong',
1478
+ surface: '--hx-color-surface-raised',
1479
+ label: 'text.strong on surface.raised',
1480
+ textHex: '#FFFFFF',
1481
+ surfaceHex: '#1A1A1A',
1482
+ ratio: 17.40432753274219,
1483
+ threshold: 4.5,
1484
+ aaaThreshold: 7,
1485
+ role: 'body-text',
1486
+ classification: 'aaa',
1487
+ },
1488
+ {
1489
+ text: '--hx-color-text-secondary',
1490
+ surface: '--hx-color-surface-default',
1491
+ label: 'text.secondary on surface.default',
1492
+ textHex: '#FFFFFF',
1493
+ surfaceHex: '#000000',
1494
+ ratio: 21,
1495
+ threshold: 4.5,
1496
+ aaaThreshold: 7,
1497
+ role: 'body-text',
1498
+ classification: 'aaa',
1499
+ },
1500
+ {
1501
+ text: '--hx-color-text-secondary',
1502
+ surface: '--hx-color-surface-raised',
1503
+ label: 'text.secondary on surface.raised',
1504
+ textHex: '#FFFFFF',
1505
+ surfaceHex: '#1A1A1A',
1506
+ ratio: 17.40432753274219,
1507
+ threshold: 4.5,
1508
+ aaaThreshold: 7,
1509
+ role: 'body-text',
1510
+ classification: 'aaa',
1511
+ },
1512
+ {
1513
+ text: '--hx-color-text-muted',
1514
+ surface: '--hx-color-surface-default',
1515
+ label: 'text.muted on surface.default',
1516
+ textHex: '#E0E0E0',
1517
+ surfaceHex: '#000000',
1518
+ ratio: 15.908084190807749,
1519
+ threshold: 4.5,
1520
+ aaaThreshold: 7,
1521
+ role: 'body-text',
1522
+ classification: 'aaa',
1523
+ },
1524
+ {
1525
+ text: '--hx-color-text-muted',
1526
+ surface: '--hx-color-surface-raised',
1527
+ label: 'text.muted on surface.raised',
1528
+ textHex: '#E0E0E0',
1529
+ surfaceHex: '#1A1A1A',
1530
+ ratio: 13.184262270250288,
1531
+ threshold: 4.5,
1532
+ aaaThreshold: 7,
1533
+ role: 'body-text',
1534
+ classification: 'aaa',
1535
+ },
1536
+ {
1537
+ text: '--hx-color-text-placeholder',
1538
+ surface: '--hx-color-surface-default',
1539
+ label: 'text.placeholder on surface.default',
1540
+ textHex: '#B0B0B0',
1541
+ surfaceHex: '#000000',
1542
+ ratio: 9.683072723494977,
1543
+ threshold: 3,
1544
+ aaaThreshold: 7,
1545
+ role: 'body-text',
1546
+ classification: 'aaa',
1547
+ },
1548
+ {
1549
+ text: '--hx-color-text-placeholder',
1550
+ surface: '--hx-color-surface-raised',
1551
+ label: 'text.placeholder on surface.raised',
1552
+ textHex: '#B0B0B0',
1553
+ surfaceHex: '#1A1A1A',
1554
+ ratio: 8.02511281919374,
1555
+ threshold: 3,
1556
+ aaaThreshold: 7,
1557
+ role: 'body-text',
1558
+ classification: 'aaa',
1559
+ },
1560
+ {
1561
+ text: '--hx-color-text-inverse',
1562
+ surface: '--hx-color-surface-inverse',
1563
+ label: 'text.inverse on surface.inverse',
1564
+ textHex: '#000000',
1565
+ surfaceHex: '#FFFFFF',
1566
+ ratio: 21,
1567
+ threshold: 4.5,
1568
+ aaaThreshold: 7,
1569
+ role: 'body-text',
1570
+ classification: 'aaa',
1571
+ },
1572
+ {
1573
+ text: '--hx-color-text-on-secondary',
1574
+ surface: '--hx-color-secondary-500',
1575
+ label: 'text.on-secondary on secondary-500',
1576
+ textHex: '#000000',
1577
+ surfaceHex: '#22D3EE',
1578
+ ratio: 11.620331803174706,
1579
+ threshold: 4.5,
1580
+ aaaThreshold: 7,
1581
+ role: 'body-text',
1582
+ classification: 'aaa',
1583
+ },
1584
+ {
1585
+ text: '--hx-color-text-on-success',
1586
+ surface: '--hx-color-success-500',
1587
+ label: 'text.on-success on success-500',
1588
+ textHex: '#000000',
1589
+ surfaceHex: '#4ADE80',
1590
+ ratio: 12.051382166595278,
1591
+ threshold: 4.5,
1592
+ aaaThreshold: 7,
1593
+ role: 'body-text',
1594
+ classification: 'aaa',
1595
+ },
1596
+ {
1597
+ text: '--hx-color-text-on-warning',
1598
+ surface: '--hx-color-warning-500',
1599
+ label: 'text.on-warning on warning-500',
1600
+ textHex: '#000000',
1601
+ surfaceHex: '#FBBF24',
1602
+ ratio: 12.579641587443575,
1603
+ threshold: 4.5,
1604
+ aaaThreshold: 7,
1605
+ role: 'body-text',
1606
+ classification: 'aaa',
1607
+ },
1608
+ {
1609
+ text: '--hx-color-text-on-error',
1610
+ surface: '--hx-color-error-500',
1611
+ label: 'text.on-error on error-500',
1612
+ textHex: '#000000',
1613
+ surfaceHex: '#F87171',
1614
+ ratio: 7.5917935164152,
1615
+ threshold: 4.5,
1616
+ aaaThreshold: 7,
1617
+ role: 'body-text',
1618
+ classification: 'aaa',
1619
+ },
1620
+ {
1621
+ text: '--hx-color-text-on-info',
1622
+ surface: '--hx-color-info-500',
1623
+ label: 'text.on-info on info-500',
1624
+ textHex: '#000000',
1625
+ surfaceHex: '#38BDF8',
1626
+ ratio: 9.802651197798829,
1627
+ threshold: 4.5,
1628
+ aaaThreshold: 7,
1629
+ role: 'body-text',
1630
+ classification: 'aaa',
1631
+ },
1632
+ {
1633
+ text: '--hx-color-text-on-primary',
1634
+ surface: '--hx-color-primary-600',
1635
+ label: 'text.on-primary on primary-600 (HC bright fill)',
1636
+ textHex: '#000000',
1637
+ surfaceHex: '#60A5FA',
1638
+ ratio: 8.259838208663082,
1639
+ threshold: 4.5,
1640
+ aaaThreshold: 7,
1641
+ role: 'body-text',
1642
+ classification: 'aaa',
1643
+ },
1644
+ {
1645
+ text: '--hx-color-text-on-secondary',
1646
+ surface: '--hx-color-secondary-600',
1647
+ label: 'text.on-secondary on secondary-600 (HC bright fill)',
1648
+ textHex: '#000000',
1649
+ surfaceHex: '#67E8F9',
1650
+ ratio: 14.487268650437647,
1651
+ threshold: 4.5,
1652
+ aaaThreshold: 7,
1653
+ role: 'body-text',
1654
+ classification: 'aaa',
1655
+ },
1656
+ {
1657
+ text: '--hx-color-text-on-success',
1658
+ surface: '--hx-color-success-600',
1659
+ label: 'text.on-success on success-600 (HC bright fill)',
1660
+ textHex: '#000000',
1661
+ surfaceHex: '#86EFAC',
1662
+ ratio: 14.955978798968012,
1663
+ threshold: 4.5,
1664
+ aaaThreshold: 7,
1665
+ role: 'body-text',
1666
+ classification: 'aaa',
1667
+ },
1668
+ {
1669
+ text: '--hx-color-text-on-warning',
1670
+ surface: '--hx-color-warning-600',
1671
+ label: 'text.on-warning on warning-600 (HC bright fill)',
1672
+ textHex: '#000000',
1673
+ surfaceHex: '#FCD34D',
1674
+ ratio: 14.563960005168152,
1675
+ threshold: 4.5,
1676
+ aaaThreshold: 7,
1677
+ role: 'body-text',
1678
+ classification: 'aaa',
1679
+ },
1680
+ {
1681
+ text: '--hx-color-text-on-error',
1682
+ surface: '--hx-color-error-600',
1683
+ label: 'text.on-error on error-600 (HC bright fill)',
1684
+ textHex: '#000000',
1685
+ surfaceHex: '#FCA5A5',
1686
+ ratio: 11.064465287634846,
1687
+ threshold: 4.5,
1688
+ aaaThreshold: 7,
1689
+ role: 'body-text',
1690
+ classification: 'aaa',
1691
+ },
1692
+ {
1693
+ text: '--hx-color-text-on-info',
1694
+ surface: '--hx-color-info-600',
1695
+ label: 'text.on-info on info-600 (HC bright fill)',
1696
+ textHex: '#000000',
1697
+ surfaceHex: '#7DD3FC',
1698
+ ratio: 12.5953560241201,
1699
+ threshold: 4.5,
1700
+ aaaThreshold: 7,
1701
+ role: 'body-text',
1702
+ classification: 'aaa',
1703
+ },
1704
+ {
1705
+ text: '--hx-color-text-on-primary-strong',
1706
+ surface: '--hx-color-action-primary-bg-hover',
1707
+ label: 'text.on-primary-strong on action.primary.bg-hover (HC bright fill)',
1708
+ textHex: '#000000',
1709
+ surfaceHex: '#93C5FD',
1710
+ ratio: 11.64547953103375,
1711
+ threshold: 4.5,
1712
+ aaaThreshold: 7,
1713
+ role: 'body-text',
1714
+ classification: 'aaa',
1715
+ },
1716
+ {
1717
+ text: '--hx-color-text-on-primary-strong',
1718
+ surface: '--hx-color-action-primary-bg-active',
1719
+ label: 'text.on-primary-strong on action.primary.bg-active (HC bright fill)',
1720
+ textHex: '#000000',
1721
+ surfaceHex: '#93C5FD',
1722
+ ratio: 11.64547953103375,
1723
+ threshold: 4.5,
1724
+ aaaThreshold: 7,
1725
+ role: 'body-text',
1726
+ classification: 'aaa',
1727
+ },
1728
+ {
1729
+ text: '--hx-color-text-on-error-strong',
1730
+ surface: '--hx-color-action-danger-bg-hover',
1731
+ label: 'text.on-error-strong on action.danger.bg-hover (HC bright fill)',
1732
+ textHex: '#000000',
1733
+ surfaceHex: '#FCA5A5',
1734
+ ratio: 11.064465287634846,
1735
+ threshold: 4.5,
1736
+ aaaThreshold: 7,
1737
+ role: 'body-text',
1738
+ classification: 'aaa',
1739
+ },
1740
+ {
1741
+ text: '--hx-color-text-on-error-strong',
1742
+ surface: '--hx-color-action-danger-bg-active',
1743
+ label: 'text.on-error-strong on action.danger.bg-active (HC bright fill)',
1744
+ textHex: '#000000',
1745
+ surfaceHex: '#F87171',
1746
+ ratio: 7.5917935164152,
1747
+ threshold: 4.5,
1748
+ aaaThreshold: 7,
1749
+ role: 'body-text',
1750
+ classification: 'aaa',
1751
+ },
1752
+ {
1753
+ text: '--hx-color-text-on-primary',
1754
+ surface: '--hx-color-action-primary-bg',
1755
+ label: 'text.on-primary on action.primary.bg',
1756
+ textHex: '#000000',
1757
+ surfaceHex: '#60A5FA',
1758
+ ratio: 8.259838208663082,
1759
+ threshold: 4.5,
1760
+ aaaThreshold: 7,
1761
+ role: 'body-text',
1762
+ classification: 'aaa',
1763
+ },
1764
+ {
1765
+ text: '--hx-color-text-on-error',
1766
+ surface: '--hx-color-action-danger-bg',
1767
+ label: 'text.on-error on action.danger.bg',
1768
+ textHex: '#000000',
1769
+ surfaceHex: '#F87171',
1770
+ ratio: 7.5917935164152,
1771
+ threshold: 4.5,
1772
+ aaaThreshold: 7,
1773
+ role: 'body-text',
1774
+ classification: 'aaa',
1775
+ },
1776
+ {
1777
+ text: '--hx-color-action-secondary-fg',
1778
+ surface: '--hx-color-surface-default',
1779
+ label: 'action.secondary.fg on surface.default',
1780
+ textHex: '#60A5FA',
1781
+ surfaceHex: '#000000',
1782
+ ratio: 8.259838208663082,
1783
+ threshold: 4.5,
1784
+ aaaThreshold: 7,
1785
+ role: 'body-text',
1786
+ classification: 'aaa',
1787
+ },
1788
+ {
1789
+ text: '--hx-color-action-ghost-fg',
1790
+ surface: '--hx-color-surface-default',
1791
+ label: 'action.ghost.fg on surface.default',
1792
+ textHex: '#60A5FA',
1793
+ surfaceHex: '#000000',
1794
+ ratio: 8.259838208663082,
1795
+ threshold: 4.5,
1796
+ aaaThreshold: 7,
1797
+ role: 'body-text',
1798
+ classification: 'aaa',
1799
+ },
1800
+ {
1801
+ text: '--hx-color-text-on-success-strong',
1802
+ surface: '--hx-color-surface-success-strong',
1803
+ label: 'text.on-success-strong on surface.success-strong',
1804
+ textHex: '#000000',
1805
+ surfaceHex: '#4ADE80',
1806
+ ratio: 12.051382166595278,
1807
+ threshold: 4.5,
1808
+ aaaThreshold: 7,
1809
+ role: 'body-text',
1810
+ classification: 'aaa',
1811
+ },
1812
+ {
1813
+ text: '--hx-color-text-on-warning',
1814
+ surface: '--hx-color-surface-warning-strong',
1815
+ label: 'text.on-warning on surface.warning-strong',
1816
+ textHex: '#000000',
1817
+ surfaceHex: '#FBBF24',
1818
+ ratio: 12.579641587443575,
1819
+ threshold: 4.5,
1820
+ aaaThreshold: 7,
1821
+ role: 'body-text',
1822
+ classification: 'aaa',
1823
+ },
1824
+ {
1825
+ text: '--hx-color-text-on-error-strong',
1826
+ surface: '--hx-color-surface-danger-strong',
1827
+ label: 'text.on-error-strong on surface.danger-strong',
1828
+ textHex: '#000000',
1829
+ surfaceHex: '#F87171',
1830
+ ratio: 7.5917935164152,
1831
+ threshold: 4.5,
1832
+ aaaThreshold: 7,
1833
+ role: 'body-text',
1834
+ classification: 'aaa',
1835
+ },
1836
+ {
1837
+ text: '--hx-color-text-on-primary-strong',
1838
+ surface: '--hx-color-surface-info-strong',
1839
+ label: 'text.on-primary-strong on surface.info-strong',
1840
+ textHex: '#000000',
1841
+ surfaceHex: '#3B82F6',
1842
+ ratio: 5.709778246324693,
1843
+ threshold: 4.5,
1844
+ aaaThreshold: 7,
1845
+ role: 'body-text',
1846
+ classification: 'aa',
1847
+ },
1848
+ {
1849
+ text: '--hx-color-text-link',
1850
+ surface: '--hx-color-surface-default',
1851
+ label: 'text.link on surface.default',
1852
+ textHex: '#FFFF00',
1853
+ surfaceHex: '#000000',
1854
+ ratio: 19.555999999999997,
1855
+ threshold: 4.5,
1856
+ aaaThreshold: 7,
1857
+ role: 'body-text',
1858
+ classification: 'aaa',
1859
+ },
1860
+ {
1861
+ text: '--hx-color-text-link-hover',
1862
+ surface: '--hx-color-surface-default',
1863
+ label: 'text.link-hover on surface.default',
1864
+ textHex: '#FFFF99',
1865
+ surfaceHex: '#000000',
1866
+ ratio: 20.015981547612633,
1867
+ threshold: 4.5,
1868
+ aaaThreshold: 7,
1869
+ role: 'body-text',
1870
+ classification: 'aaa',
1871
+ },
1872
+ {
1873
+ text: '--hx-color-text-link-visited',
1874
+ surface: '--hx-color-surface-default',
1875
+ label: 'text.link-visited on surface.default',
1876
+ textHex: '#FF80FF',
1877
+ surfaceHex: '#000000',
1878
+ ratio: 9.783668593629212,
1879
+ threshold: 4.5,
1880
+ aaaThreshold: 7,
1881
+ role: 'body-text',
1882
+ classification: 'aaa',
1883
+ },
1884
+ {
1885
+ text: '--hx-color-text-link-active',
1886
+ surface: '--hx-color-surface-default',
1887
+ label: 'text.link-active on surface.default',
1888
+ textHex: '#FFFFFF',
1889
+ surfaceHex: '#000000',
1890
+ ratio: 21,
1891
+ threshold: 4.5,
1892
+ aaaThreshold: 7,
1893
+ role: 'body-text',
1894
+ classification: 'aaa',
1895
+ },
1896
+ {
1897
+ text: '--hx-color-text-disabled',
1898
+ surface: '--hx-color-surface-default',
1899
+ label: 'text.disabled on surface.default',
1900
+ textHex: '#767676',
1901
+ surfaceHex: '#000000',
1902
+ ratio: 4.6232848849972035,
1903
+ threshold: 3,
1904
+ aaaThreshold: 3,
1905
+ role: 'ui-element',
1906
+ classification: 'aaa',
1907
+ },
1908
+ {
1909
+ text: '--hx-color-error-text',
1910
+ surface: '--hx-color-surface-default',
1911
+ label: 'error-text on surface.default',
1912
+ textHex: '#FCA5A5',
1913
+ surfaceHex: '#000000',
1914
+ ratio: 11.064465287634846,
1915
+ threshold: 4.5,
1916
+ aaaThreshold: 7,
1917
+ role: 'body-text',
1918
+ classification: 'aaa',
1919
+ },
1920
+ {
1921
+ text: '--hx-color-success-text',
1922
+ surface: '--hx-color-surface-default',
1923
+ label: 'success-text on surface.default',
1924
+ textHex: '#86EFAC',
1925
+ surfaceHex: '#000000',
1926
+ ratio: 14.955978798968012,
1927
+ threshold: 4.5,
1928
+ aaaThreshold: 7,
1929
+ role: 'body-text',
1930
+ classification: 'aaa',
1931
+ },
1932
+ {
1933
+ text: '--hx-color-focus-ring',
1934
+ surface: '--hx-color-surface-default',
1935
+ label: 'focus-ring on surface.default (UI floor — keyboard focus)',
1936
+ textHex: '#FFFF00',
1937
+ surfaceHex: '#000000',
1938
+ ratio: 19.555999999999997,
1939
+ threshold: 3,
1940
+ aaaThreshold: 3,
1941
+ role: 'ui-element',
1942
+ classification: 'aaa',
1943
+ },
1944
+ {
1945
+ text: '--hx-color-action-primary-bg-inverted-rest',
1946
+ surface: '--hx-color-surface-inverse',
1947
+ label: 'action.primary.bg-inverted-rest on surface.inverse (UI floor — inverted button)',
1948
+ textHex: '#3B82F6',
1949
+ surfaceHex: '#FFFFFF',
1950
+ ratio: 3.6779011537825332,
1951
+ threshold: 3,
1952
+ aaaThreshold: 3,
1953
+ role: 'ui-element',
1954
+ classification: 'aaa',
1955
+ },
1956
+ {
1957
+ text: '--hx-color-border-strong',
1958
+ surface: '--hx-color-surface-default',
1959
+ label: 'border.strong on surface.default (UI floor — form-control borders)',
1960
+ textHex: '#FFFFFF',
1961
+ surfaceHex: '#000000',
1962
+ ratio: 21,
1963
+ threshold: 3,
1964
+ aaaThreshold: 3,
1965
+ role: 'ui-element',
1966
+ classification: 'aaa',
1967
+ },
1968
+ ],
1969
+ },
1970
+ },
1971
+ };
1972
+ export default contrastReport;
1973
+ //# sourceMappingURL=contrast-report.js.map