@pie-players/pie-theme 0.3.65 → 0.3.66

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,1311 @@
1
+ [
2
+ {
3
+ "name": "--pie-answer-eliminator-strike-color",
4
+ "owner": "@pie-players/pie-tool-answer-eliminator",
5
+ "scope": "component-public",
6
+ "category": "feedback",
7
+ "status": "active",
8
+ "schemeParticipation": "optional",
9
+ "definedIn": [
10
+ "packages/theme/src/components.css",
11
+ "packages/tool-answer-eliminator/strategies/strikethrough-strategy.ts"
12
+ ],
13
+ "documentedIn": [
14
+ "packages/tool-answer-eliminator/README.md"
15
+ ],
16
+ "fallbackPolicy": "Single colour for every part of an elimination: the text line-through, the diagonals over an image, and the line or diagonals over rendered math, so one choice reads as one treatment. Must fall back through canonical --pie-incorrect so a host that themes only the canonical feedback tokens still gets a coherent strike."
17
+ },
18
+ {
19
+ "name": "--pie-background",
20
+ "owner": "@pie-players/pie-theme",
21
+ "scope": "canonical-semantic",
22
+ "category": "surface",
23
+ "status": "active",
24
+ "schemeParticipation": "required",
25
+ "definedIn": [
26
+ "packages/theme/src/theme-definitions.ts"
27
+ ],
28
+ "documentedIn": [
29
+ "packages/theme/README.md"
30
+ ],
31
+ "fallbackPolicy": "Canonical page or component surface background token; component hooks may fall back through this token."
32
+ },
33
+ {
34
+ "name": "--pie-background-dark",
35
+ "owner": "@pie-players/pie-theme",
36
+ "scope": "canonical-semantic",
37
+ "category": "surface",
38
+ "status": "active",
39
+ "schemeParticipation": "required",
40
+ "definedIn": [
41
+ "packages/theme/src/theme-definitions.ts"
42
+ ],
43
+ "documentedIn": [
44
+ "packages/theme/README.md"
45
+ ],
46
+ "fallbackPolicy": "Canonical darker surface token for layered or recessed UI."
47
+ },
48
+ {
49
+ "name": "--pie-background-light",
50
+ "owner": "@pie-players/pie-theme",
51
+ "scope": "unsupported",
52
+ "category": "surface",
53
+ "status": "intentional-gap",
54
+ "schemeParticipation": "excluded",
55
+ "definedIn": [
56
+ "docs/prds/pie-727-broad-theming-contract.md"
57
+ ],
58
+ "documentedIn": [
59
+ "docs/prds/pie-727-broad-theming-contract.md"
60
+ ],
61
+ "fallbackPolicy": "Known undefined token discovered during PIE-727 audit; implementation slices must replace usage or promote it through a decision record before treating it as public."
62
+ },
63
+ {
64
+ "name": "--pie-black",
65
+ "owner": "@pie-players/pie-theme",
66
+ "scope": "canonical-semantic",
67
+ "category": "neutral",
68
+ "status": "active",
69
+ "schemeParticipation": "required",
70
+ "definedIn": [
71
+ "packages/theme/src/theme-definitions.ts"
72
+ ],
73
+ "documentedIn": [
74
+ "packages/theme/README.md"
75
+ ],
76
+ "fallbackPolicy": "Canonical neutral token that may invert in high-contrast schemes."
77
+ },
78
+ {
79
+ "name": "--pie-blue-grey-100",
80
+ "owner": "@pie-players/pie-theme",
81
+ "scope": "canonical-semantic",
82
+ "category": "neutral",
83
+ "status": "active",
84
+ "schemeParticipation": "required",
85
+ "definedIn": [
86
+ "packages/theme/src/theme-definitions.ts"
87
+ ],
88
+ "documentedIn": [
89
+ "packages/theme/README.md"
90
+ ],
91
+ "fallbackPolicy": "Canonical blue-grey scale token for legacy neutral UI surfaces."
92
+ },
93
+ {
94
+ "name": "--pie-blue-grey-300",
95
+ "owner": "@pie-players/pie-theme",
96
+ "scope": "canonical-semantic",
97
+ "category": "neutral",
98
+ "status": "active",
99
+ "schemeParticipation": "required",
100
+ "definedIn": [
101
+ "packages/theme/src/theme-definitions.ts"
102
+ ],
103
+ "documentedIn": [
104
+ "packages/theme/README.md"
105
+ ],
106
+ "fallbackPolicy": "Canonical blue-grey scale token for legacy neutral UI surfaces."
107
+ },
108
+ {
109
+ "name": "--pie-blue-grey-600",
110
+ "owner": "@pie-players/pie-theme",
111
+ "scope": "canonical-semantic",
112
+ "category": "neutral",
113
+ "status": "active",
114
+ "schemeParticipation": "required",
115
+ "definedIn": [
116
+ "packages/theme/src/theme-definitions.ts"
117
+ ],
118
+ "documentedIn": [
119
+ "packages/theme/README.md"
120
+ ],
121
+ "fallbackPolicy": "Canonical blue-grey scale token for legacy neutral UI surfaces."
122
+ },
123
+ {
124
+ "name": "--pie-blue-grey-900",
125
+ "owner": "@pie-players/pie-theme",
126
+ "scope": "canonical-semantic",
127
+ "category": "neutral",
128
+ "status": "active",
129
+ "schemeParticipation": "required",
130
+ "definedIn": [
131
+ "packages/theme/src/theme-definitions.ts"
132
+ ],
133
+ "documentedIn": [
134
+ "packages/theme/README.md"
135
+ ],
136
+ "fallbackPolicy": "Canonical blue-grey scale token for legacy neutral UI surfaces."
137
+ },
138
+ {
139
+ "name": "--pie-border",
140
+ "owner": "@pie-players/pie-theme",
141
+ "scope": "canonical-semantic",
142
+ "category": "border",
143
+ "status": "active",
144
+ "schemeParticipation": "required",
145
+ "definedIn": [
146
+ "packages/theme/src/theme-definitions.ts"
147
+ ],
148
+ "documentedIn": [
149
+ "packages/theme/README.md"
150
+ ],
151
+ "fallbackPolicy": "Canonical border token for ordinary UI component outlines."
152
+ },
153
+ {
154
+ "name": "--pie-border-dark",
155
+ "owner": "@pie-players/pie-theme",
156
+ "scope": "canonical-semantic",
157
+ "category": "border",
158
+ "status": "active",
159
+ "schemeParticipation": "required",
160
+ "definedIn": [
161
+ "packages/theme/src/theme-definitions.ts"
162
+ ],
163
+ "documentedIn": [
164
+ "packages/theme/README.md"
165
+ ],
166
+ "fallbackPolicy": "Canonical stronger border token for emphasized boundaries."
167
+ },
168
+ {
169
+ "name": "--pie-border-gray",
170
+ "owner": "@pie-players/pie-theme",
171
+ "scope": "canonical-semantic",
172
+ "category": "border",
173
+ "status": "active",
174
+ "schemeParticipation": "required",
175
+ "definedIn": [
176
+ "packages/theme/src/theme-definitions.ts"
177
+ ],
178
+ "documentedIn": [
179
+ "packages/theme/README.md"
180
+ ],
181
+ "fallbackPolicy": "Canonical gray border token retained for existing neutral UI fallbacks."
182
+ },
183
+ {
184
+ "name": "--pie-border-light",
185
+ "owner": "@pie-players/pie-theme",
186
+ "scope": "canonical-semantic",
187
+ "category": "border",
188
+ "status": "active",
189
+ "schemeParticipation": "required",
190
+ "definedIn": [
191
+ "packages/theme/src/theme-definitions.ts"
192
+ ],
193
+ "documentedIn": [
194
+ "packages/theme/README.md"
195
+ ],
196
+ "fallbackPolicy": "Canonical lighter border token for subtle boundaries."
197
+ },
198
+ {
199
+ "name": "--pie-button-active-bg",
200
+ "owner": "@pie-players/pie-theme",
201
+ "scope": "canonical-semantic",
202
+ "category": "button",
203
+ "status": "active",
204
+ "schemeParticipation": "required",
205
+ "definedIn": [
206
+ "packages/theme/src/theme-definitions.ts"
207
+ ],
208
+ "documentedIn": [
209
+ "packages/theme/README.md"
210
+ ],
211
+ "fallbackPolicy": "Canonical active background for ordinary button controls; local trigger states should use component-scoped hooks when needed."
212
+ },
213
+ {
214
+ "name": "--pie-button-background-color",
215
+ "owner": "@pie-players/pie-tool-tts-inline",
216
+ "scope": "component-public",
217
+ "category": "button",
218
+ "status": "active",
219
+ "schemeParticipation": "excluded",
220
+ "definedIn": [
221
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
222
+ ],
223
+ "documentedIn": [
224
+ "packages/tool-tts-inline/README.md"
225
+ ],
226
+ "fallbackPolicy": "Compatibility alias retained for TTS inline button backgrounds; implementations must fall back through canonical --pie-button-bg before broad surface tokens."
227
+ },
228
+ {
229
+ "name": "--pie-button-bg",
230
+ "owner": "@pie-players/pie-theme",
231
+ "scope": "canonical-semantic",
232
+ "category": "button",
233
+ "status": "active",
234
+ "schemeParticipation": "required",
235
+ "definedIn": [
236
+ "packages/theme/src/theme-definitions.ts"
237
+ ],
238
+ "documentedIn": [
239
+ "packages/theme/README.md"
240
+ ],
241
+ "fallbackPolicy": "Canonical ordinary button background token."
242
+ },
243
+ {
244
+ "name": "--pie-button-border",
245
+ "owner": "@pie-players/pie-theme",
246
+ "scope": "canonical-semantic",
247
+ "category": "button",
248
+ "status": "active",
249
+ "schemeParticipation": "required",
250
+ "definedIn": [
251
+ "packages/theme/src/theme-definitions.ts"
252
+ ],
253
+ "documentedIn": [
254
+ "packages/theme/README.md"
255
+ ],
256
+ "fallbackPolicy": "Canonical ordinary button border token."
257
+ },
258
+ {
259
+ "name": "--pie-button-border-color",
260
+ "owner": "@pie-players/pie-tool-tts-inline",
261
+ "scope": "component-public",
262
+ "category": "button",
263
+ "status": "active",
264
+ "schemeParticipation": "excluded",
265
+ "definedIn": [
266
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
267
+ ],
268
+ "documentedIn": [
269
+ "packages/tool-tts-inline/README.md"
270
+ ],
271
+ "fallbackPolicy": "Compatibility alias retained for TTS inline button borders; implementations must fall back through canonical --pie-button-border before broad border tokens."
272
+ },
273
+ {
274
+ "name": "--pie-button-color",
275
+ "owner": "@pie-players/pie-theme",
276
+ "scope": "canonical-semantic",
277
+ "category": "button",
278
+ "status": "active",
279
+ "schemeParticipation": "required",
280
+ "definedIn": [
281
+ "packages/theme/src/theme-definitions.ts"
282
+ ],
283
+ "documentedIn": [
284
+ "packages/theme/README.md"
285
+ ],
286
+ "fallbackPolicy": "Canonical ordinary button foreground token."
287
+ },
288
+ {
289
+ "name": "--pie-button-focus-outline",
290
+ "owner": "@pie-players/pie-theme",
291
+ "scope": "canonical-semantic",
292
+ "category": "focus",
293
+ "status": "active",
294
+ "schemeParticipation": "required",
295
+ "definedIn": [
296
+ "packages/theme/src/theme-definitions.ts"
297
+ ],
298
+ "documentedIn": [
299
+ "packages/theme/README.md"
300
+ ],
301
+ "fallbackPolicy": "Canonical focus outline token for ordinary button controls."
302
+ },
303
+ {
304
+ "name": "--pie-button-hover-background-color",
305
+ "owner": "@pie-players/pie-tool-tts-inline",
306
+ "scope": "component-public",
307
+ "category": "button",
308
+ "status": "active",
309
+ "schemeParticipation": "excluded",
310
+ "definedIn": [
311
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
312
+ ],
313
+ "documentedIn": [
314
+ "packages/tool-tts-inline/README.md"
315
+ ],
316
+ "fallbackPolicy": "Compatibility alias retained for TTS inline button hover backgrounds; implementations must fall back through canonical --pie-button-hover-bg before broad surface tokens."
317
+ },
318
+ {
319
+ "name": "--pie-button-hover-bg",
320
+ "owner": "@pie-players/pie-theme",
321
+ "scope": "canonical-semantic",
322
+ "category": "button",
323
+ "status": "active",
324
+ "schemeParticipation": "required",
325
+ "definedIn": [
326
+ "packages/theme/src/theme-definitions.ts"
327
+ ],
328
+ "documentedIn": [
329
+ "packages/theme/README.md"
330
+ ],
331
+ "fallbackPolicy": "Canonical ordinary button hover background token."
332
+ },
333
+ {
334
+ "name": "--pie-button-hover-border",
335
+ "owner": "@pie-players/pie-theme",
336
+ "scope": "canonical-semantic",
337
+ "category": "button",
338
+ "status": "active",
339
+ "schemeParticipation": "required",
340
+ "definedIn": [
341
+ "packages/theme/src/theme-definitions.ts"
342
+ ],
343
+ "documentedIn": [
344
+ "packages/theme/README.md"
345
+ ],
346
+ "fallbackPolicy": "Canonical ordinary button hover border token."
347
+ },
348
+ {
349
+ "name": "--pie-button-hover-color",
350
+ "owner": "@pie-players/pie-theme",
351
+ "scope": "canonical-semantic",
352
+ "category": "button",
353
+ "status": "active",
354
+ "schemeParticipation": "required",
355
+ "definedIn": [
356
+ "packages/theme/src/theme-definitions.ts"
357
+ ],
358
+ "documentedIn": [
359
+ "packages/theme/README.md"
360
+ ],
361
+ "fallbackPolicy": "Canonical ordinary button hover foreground token."
362
+ },
363
+ {
364
+ "name": "--pie-content-styles",
365
+ "owner": "@pie-players/pie-theme",
366
+ "scope": "package-private",
367
+ "category": "diagnostics",
368
+ "status": "active",
369
+ "schemeParticipation": "excluded",
370
+ "definedIn": [
371
+ "packages/theme/src/components.css"
372
+ ],
373
+ "documentedIn": [
374
+ "packages/theme/README.md",
375
+ "packages/item-player/README.md"
376
+ ],
377
+ "fallbackPolicy": "Presence sentinel, not a themeable value. Declared by components.css so players can detect whether a host that opted out of automatic installation loaded the stylesheet itself; hosts and components must not consume it for styling or depend on any specific value beyond it being non-empty."
378
+ },
379
+ {
380
+ "name": "--pie-content-emphasis",
381
+ "owner": "@pie-players/pie-theme",
382
+ "scope": "canonical-semantic",
383
+ "category": "content",
384
+ "status": "active",
385
+ "schemeParticipation": "required",
386
+ "definedIn": [
387
+ "packages/theme/src/theme-definitions.ts"
388
+ ],
389
+ "documentedIn": [
390
+ "packages/theme/README.md"
391
+ ],
392
+ "fallbackPolicy": "Red emphasis inside authored content (.content-emphasis). Mapped from the DaisyUI error slot through the legible correction, so it clears 4.5:1 against the page on every shipped theme; a bare red does not."
393
+ },
394
+ {
395
+ "name": "--pie-correct",
396
+ "owner": "@pie-players/pie-theme",
397
+ "scope": "canonical-semantic",
398
+ "category": "feedback",
399
+ "status": "active",
400
+ "schemeParticipation": "required",
401
+ "definedIn": [
402
+ "packages/theme/src/theme-definitions.ts"
403
+ ],
404
+ "documentedIn": [
405
+ "packages/theme/README.md"
406
+ ],
407
+ "fallbackPolicy": "Canonical correct feedback token; do not reuse for unrelated decorative chrome."
408
+ },
409
+ {
410
+ "name": "--pie-correct-icon",
411
+ "owner": "@pie-players/pie-theme",
412
+ "scope": "canonical-semantic",
413
+ "category": "feedback",
414
+ "status": "active",
415
+ "schemeParticipation": "required",
416
+ "definedIn": [
417
+ "packages/theme/src/theme-definitions.ts"
418
+ ],
419
+ "documentedIn": [
420
+ "packages/theme/README.md"
421
+ ],
422
+ "fallbackPolicy": "Canonical correct feedback icon token."
423
+ },
424
+ {
425
+ "name": "--pie-correct-secondary",
426
+ "owner": "@pie-players/pie-theme",
427
+ "scope": "canonical-semantic",
428
+ "category": "feedback",
429
+ "status": "active",
430
+ "schemeParticipation": "required",
431
+ "definedIn": [
432
+ "packages/theme/src/theme-definitions.ts"
433
+ ],
434
+ "documentedIn": [
435
+ "packages/theme/README.md"
436
+ ],
437
+ "fallbackPolicy": "Canonical secondary correct feedback surface token."
438
+ },
439
+ {
440
+ "name": "--pie-correct-tertiary",
441
+ "owner": "@pie-players/pie-theme",
442
+ "scope": "canonical-semantic",
443
+ "category": "feedback",
444
+ "status": "active",
445
+ "schemeParticipation": "required",
446
+ "definedIn": [
447
+ "packages/theme/src/theme-definitions.ts"
448
+ ],
449
+ "documentedIn": [
450
+ "packages/theme/README.md"
451
+ ],
452
+ "fallbackPolicy": "Canonical tertiary correct feedback token."
453
+ },
454
+ {
455
+ "name": "--pie-disabled",
456
+ "owner": "@pie-players/pie-theme",
457
+ "scope": "canonical-semantic",
458
+ "category": "state",
459
+ "status": "active",
460
+ "schemeParticipation": "required",
461
+ "definedIn": [
462
+ "packages/theme/src/theme-definitions.ts"
463
+ ],
464
+ "documentedIn": [
465
+ "packages/theme/README.md"
466
+ ],
467
+ "fallbackPolicy": "Canonical disabled-state foreground token."
468
+ },
469
+ {
470
+ "name": "--pie-disabled-secondary",
471
+ "owner": "@pie-players/pie-theme",
472
+ "scope": "canonical-semantic",
473
+ "category": "state",
474
+ "status": "active",
475
+ "schemeParticipation": "required",
476
+ "definedIn": [
477
+ "packages/theme/src/theme-definitions.ts"
478
+ ],
479
+ "documentedIn": [
480
+ "packages/theme/README.md"
481
+ ],
482
+ "fallbackPolicy": "Canonical secondary disabled-state token."
483
+ },
484
+ {
485
+ "name": "--pie-dropdown-background",
486
+ "owner": "@pie-players/pie-theme",
487
+ "scope": "canonical-semantic",
488
+ "category": "surface",
489
+ "status": "active",
490
+ "schemeParticipation": "required",
491
+ "definedIn": [
492
+ "packages/theme/src/theme-definitions.ts"
493
+ ],
494
+ "documentedIn": [
495
+ "packages/theme/README.md"
496
+ ],
497
+ "fallbackPolicy": "Canonical dropdown or menu surface token."
498
+ },
499
+ {
500
+ "name": "--pie-faded-primary",
501
+ "owner": "@pie-players/pie-theme",
502
+ "scope": "canonical-semantic",
503
+ "category": "action",
504
+ "status": "active",
505
+ "schemeParticipation": "required",
506
+ "definedIn": [
507
+ "packages/theme/src/theme-definitions.ts"
508
+ ],
509
+ "documentedIn": [
510
+ "packages/theme/README.md"
511
+ ],
512
+ "fallbackPolicy": "Canonical low-emphasis primary-action token."
513
+ },
514
+ {
515
+ "name": "--pie-fixed-hue-collapse",
516
+ "owner": "@pie-players/pie-theme",
517
+ "scope": "canonical-semantic",
518
+ "category": "palette",
519
+ "status": "active",
520
+ "schemeParticipation": "required",
521
+ "definedIn": [
522
+ "packages/theme/src/theme-definitions.ts"
523
+ ],
524
+ "documentedIn": [
525
+ "packages/theme/README.md"
526
+ ],
527
+ "fallbackPolicy": "Share, as a percentage, by which a component's own fixed hues collapse into the palette's surface and ink. Not a colour: a component mixes its fixed value towards --pie-background-dark and --pie-text by this share, so 0% keeps the hue exactly as authored and 100% removes it. Base Themes set 0%; every colour scheme sets 100%, because a two-colour palette is a promise a fixed hue breaks -- the periodic table's category fills are the first consumer. A palette that keeps hue encodings must set 0% explicitly; a registered custom scheme that says nothing collapses them."
528
+ },
529
+ {
530
+ "name": "--pie-focus-checked",
531
+ "owner": "@pie-players/pie-theme",
532
+ "scope": "canonical-semantic",
533
+ "category": "focus",
534
+ "status": "active",
535
+ "schemeParticipation": "required",
536
+ "definedIn": [
537
+ "packages/theme/src/theme-definitions.ts"
538
+ ],
539
+ "documentedIn": [
540
+ "packages/theme/README.md"
541
+ ],
542
+ "fallbackPolicy": "Canonical focus background token for checked controls."
543
+ },
544
+ {
545
+ "name": "--pie-focus-checked-border",
546
+ "owner": "@pie-players/pie-theme",
547
+ "scope": "canonical-semantic",
548
+ "category": "focus",
549
+ "status": "active",
550
+ "schemeParticipation": "required",
551
+ "definedIn": [
552
+ "packages/theme/src/theme-definitions.ts"
553
+ ],
554
+ "documentedIn": [
555
+ "packages/theme/README.md"
556
+ ],
557
+ "fallbackPolicy": "Canonical focus border token for checked controls."
558
+ },
559
+ {
560
+ "name": "--pie-focus-outline",
561
+ "owner": "@pie-players/pie-theme",
562
+ "scope": "canonical-semantic",
563
+ "category": "focus",
564
+ "status": "planned",
565
+ "schemeParticipation": "excluded",
566
+ "definedIn": [
567
+ "docs/prds/pie-727-broad-theming-contract.md"
568
+ ],
569
+ "documentedIn": [
570
+ "docs/prds/pie-727-broad-theming-contract.md"
571
+ ],
572
+ "fallbackPolicy": "Planned focus token decision gate; implementation must either define it canonically, alias an existing token, or keep focus hooks component-scoped."
573
+ },
574
+ {
575
+ "name": "--pie-focus-ring-color",
576
+ "owner": "@pie-players/pie-theme",
577
+ "scope": "legacy",
578
+ "category": "focus",
579
+ "status": "active",
580
+ "schemeParticipation": "excluded",
581
+ "definedIn": [
582
+ "packages/theme/src/components.css"
583
+ ],
584
+ "documentedIn": [
585
+ "docs/prds/pie-727-broad-theming-contract.md"
586
+ ],
587
+ "fallbackPolicy": "Legacy authored-content focus alias retained for image/table scroll wrappers; implementations must fall back through --pie-focus-outline and --pie-button-focus-outline."
588
+ },
589
+ {
590
+ "name": "--pie-focus-unchecked",
591
+ "owner": "@pie-players/pie-theme",
592
+ "scope": "canonical-semantic",
593
+ "category": "focus",
594
+ "status": "active",
595
+ "schemeParticipation": "required",
596
+ "definedIn": [
597
+ "packages/theme/src/theme-definitions.ts"
598
+ ],
599
+ "documentedIn": [
600
+ "packages/theme/README.md"
601
+ ],
602
+ "fallbackPolicy": "Canonical focus background token for unchecked controls."
603
+ },
604
+ {
605
+ "name": "--pie-focus-unchecked-border",
606
+ "owner": "@pie-players/pie-theme",
607
+ "scope": "canonical-semantic",
608
+ "category": "focus",
609
+ "status": "active",
610
+ "schemeParticipation": "required",
611
+ "definedIn": [
612
+ "packages/theme/src/theme-definitions.ts"
613
+ ],
614
+ "documentedIn": [
615
+ "packages/theme/README.md"
616
+ ],
617
+ "fallbackPolicy": "Canonical focus border token for unchecked controls."
618
+ },
619
+ {
620
+ "name": "--pie-font-scale",
621
+ "owner": "@pie-players/pie-theme",
622
+ "scope": "canonical-semantic",
623
+ "category": "typography",
624
+ "status": "active",
625
+ "schemeParticipation": "excluded",
626
+ "definedIn": [
627
+ "packages/theme/src/theme-definitions.ts"
628
+ ],
629
+ "documentedIn": [
630
+ "packages/theme/README.md"
631
+ ],
632
+ "fallbackPolicy": "Canonical font scaling token used by PIE theme font-size utilities."
633
+ },
634
+ {
635
+ "name": "--pie-incorrect",
636
+ "owner": "@pie-players/pie-theme",
637
+ "scope": "canonical-semantic",
638
+ "category": "feedback",
639
+ "status": "active",
640
+ "schemeParticipation": "required",
641
+ "definedIn": [
642
+ "packages/theme/src/theme-definitions.ts"
643
+ ],
644
+ "documentedIn": [
645
+ "packages/theme/README.md"
646
+ ],
647
+ "fallbackPolicy": "Canonical incorrect feedback token; do not reuse for unrelated decorative chrome."
648
+ },
649
+ {
650
+ "name": "--pie-incorrect-icon",
651
+ "owner": "@pie-players/pie-theme",
652
+ "scope": "canonical-semantic",
653
+ "category": "feedback",
654
+ "status": "active",
655
+ "schemeParticipation": "required",
656
+ "definedIn": [
657
+ "packages/theme/src/theme-definitions.ts"
658
+ ],
659
+ "documentedIn": [
660
+ "packages/theme/README.md"
661
+ ],
662
+ "fallbackPolicy": "Canonical incorrect feedback icon token."
663
+ },
664
+ {
665
+ "name": "--pie-incorrect-secondary",
666
+ "owner": "@pie-players/pie-theme",
667
+ "scope": "canonical-semantic",
668
+ "category": "feedback",
669
+ "status": "active",
670
+ "schemeParticipation": "required",
671
+ "definedIn": [
672
+ "packages/theme/src/theme-definitions.ts"
673
+ ],
674
+ "documentedIn": [
675
+ "packages/theme/README.md"
676
+ ],
677
+ "fallbackPolicy": "Canonical secondary incorrect feedback surface token."
678
+ },
679
+ {
680
+ "name": "--pie-missing",
681
+ "owner": "@pie-players/pie-theme",
682
+ "scope": "canonical-semantic",
683
+ "category": "feedback",
684
+ "status": "active",
685
+ "schemeParticipation": "required",
686
+ "definedIn": [
687
+ "packages/theme/src/theme-definitions.ts"
688
+ ],
689
+ "documentedIn": [
690
+ "packages/theme/README.md"
691
+ ],
692
+ "fallbackPolicy": "Canonical missing-response feedback token."
693
+ },
694
+ {
695
+ "name": "--pie-missing-icon",
696
+ "owner": "@pie-players/pie-theme",
697
+ "scope": "canonical-semantic",
698
+ "category": "feedback",
699
+ "status": "active",
700
+ "schemeParticipation": "required",
701
+ "definedIn": [
702
+ "packages/theme/src/theme-definitions.ts"
703
+ ],
704
+ "documentedIn": [
705
+ "packages/theme/README.md"
706
+ ],
707
+ "fallbackPolicy": "Canonical missing-response icon token."
708
+ },
709
+ {
710
+ "name": "--pie-passage-header-background",
711
+ "owner": "@pie-players/pie-section-player",
712
+ "scope": "component-public",
713
+ "category": "surface",
714
+ "status": "active",
715
+ "schemeParticipation": "optional",
716
+ "definedIn": [
717
+ "packages/section-player/src/components/shared/SectionPassageCard.svelte",
718
+ "packages/section-player/src/components/PieSectionPlayerSplitPaneElement.svelte"
719
+ ],
720
+ "documentedIn": [
721
+ "packages/section-player/README.md"
722
+ ],
723
+ "fallbackPolicy": "Passage header surface. Documented host hook; falls back to the canonical surface tokens when unset."
724
+ },
725
+ {
726
+ "name": "--pie-primary",
727
+ "owner": "@pie-players/pie-theme",
728
+ "scope": "canonical-semantic",
729
+ "category": "action",
730
+ "status": "active",
731
+ "schemeParticipation": "required",
732
+ "definedIn": [
733
+ "packages/theme/src/theme-definitions.ts"
734
+ ],
735
+ "documentedIn": [
736
+ "packages/theme/README.md"
737
+ ],
738
+ "fallbackPolicy": "Canonical primary action/selected color; component-local active states should use scoped hooks when host ergonomics require it."
739
+ },
740
+ {
741
+ "name": "--pie-primary-dark",
742
+ "owner": "@pie-players/pie-theme",
743
+ "scope": "canonical-semantic",
744
+ "category": "action",
745
+ "status": "active",
746
+ "schemeParticipation": "required",
747
+ "definedIn": [
748
+ "packages/theme/src/theme-definitions.ts"
749
+ ],
750
+ "documentedIn": [
751
+ "packages/theme/README.md"
752
+ ],
753
+ "fallbackPolicy": "Canonical darker primary action token used for hover/emphasis fallbacks."
754
+ },
755
+ {
756
+ "name": "--pie-primary-light",
757
+ "owner": "@pie-players/pie-theme",
758
+ "scope": "canonical-semantic",
759
+ "category": "action",
760
+ "status": "active",
761
+ "schemeParticipation": "required",
762
+ "definedIn": [
763
+ "packages/theme/src/theme-definitions.ts"
764
+ ],
765
+ "documentedIn": [
766
+ "packages/theme/README.md"
767
+ ],
768
+ "fallbackPolicy": "Canonical lighter primary action token used for low-emphasis action surfaces."
769
+ },
770
+ {
771
+ "name": "--pie-secondary",
772
+ "owner": "@pie-players/pie-theme",
773
+ "scope": "canonical-semantic",
774
+ "category": "action",
775
+ "status": "active",
776
+ "schemeParticipation": "required",
777
+ "definedIn": [
778
+ "packages/theme/src/theme-definitions.ts"
779
+ ],
780
+ "documentedIn": [
781
+ "packages/theme/README.md"
782
+ ],
783
+ "fallbackPolicy": "Canonical secondary action token."
784
+ },
785
+ {
786
+ "name": "--pie-secondary-background",
787
+ "owner": "@pie-players/pie-theme",
788
+ "scope": "canonical-semantic",
789
+ "category": "surface",
790
+ "status": "active",
791
+ "schemeParticipation": "required",
792
+ "definedIn": [
793
+ "packages/theme/src/theme-definitions.ts"
794
+ ],
795
+ "documentedIn": [
796
+ "packages/theme/README.md"
797
+ ],
798
+ "fallbackPolicy": "Canonical secondary surface background token."
799
+ },
800
+ {
801
+ "name": "--pie-secondary-dark",
802
+ "owner": "@pie-players/pie-theme",
803
+ "scope": "canonical-semantic",
804
+ "category": "action",
805
+ "status": "active",
806
+ "schemeParticipation": "required",
807
+ "definedIn": [
808
+ "packages/theme/src/theme-definitions.ts"
809
+ ],
810
+ "documentedIn": [
811
+ "packages/theme/README.md"
812
+ ],
813
+ "fallbackPolicy": "Canonical darker secondary action token."
814
+ },
815
+ {
816
+ "name": "--pie-secondary-light",
817
+ "owner": "@pie-players/pie-theme",
818
+ "scope": "canonical-semantic",
819
+ "category": "action",
820
+ "status": "active",
821
+ "schemeParticipation": "required",
822
+ "definedIn": [
823
+ "packages/theme/src/theme-definitions.ts"
824
+ ],
825
+ "documentedIn": [
826
+ "packages/theme/README.md"
827
+ ],
828
+ "fallbackPolicy": "Canonical lighter secondary action token."
829
+ },
830
+ {
831
+ "name": "--pie-section-player-card-header-background",
832
+ "owner": "@pie-players/pie-section-player",
833
+ "scope": "component-public",
834
+ "category": "section-card",
835
+ "status": "active",
836
+ "schemeParticipation": "optional",
837
+ "definedIn": [
838
+ "packages/section-player/src/components/shared/SectionItemCard.svelte",
839
+ "packages/section-player/src/components/shared/SectionPassageCard.svelte",
840
+ "packages/assessment-toolkit/src/components/ItemToolBar.svelte"
841
+ ],
842
+ "documentedIn": [
843
+ "packages/section-player/README.md"
844
+ ],
845
+ "fallbackPolicy": "Public card header background hook; defaults to transparent and hosts must preserve contrast with card header content."
846
+ },
847
+ {
848
+ "name": "--pie-section-player-card-header-radius",
849
+ "owner": "@pie-players/pie-section-player",
850
+ "scope": "component-public",
851
+ "category": "section-card",
852
+ "status": "active",
853
+ "schemeParticipation": "excluded",
854
+ "definedIn": [
855
+ "packages/section-player/src/components/shared/SectionItemCard.svelte",
856
+ "packages/section-player/src/components/shared/SectionPassageCard.svelte"
857
+ ],
858
+ "documentedIn": [
859
+ "packages/section-player/README.md"
860
+ ],
861
+ "fallbackPolicy": "Public card header corner radius hook; defaults just inside the card radius and may be overridden when hosts style header fills."
862
+ },
863
+ {
864
+ "name": "--pie-section-player-card-radius",
865
+ "owner": "@pie-players/pie-section-player",
866
+ "scope": "component-public",
867
+ "category": "section-card",
868
+ "status": "active",
869
+ "schemeParticipation": "excluded",
870
+ "definedIn": [
871
+ "packages/section-player/src/components/shared/SectionItemCard.svelte",
872
+ "packages/section-player/src/components/shared/SectionPassageCard.svelte"
873
+ ],
874
+ "documentedIn": [
875
+ "packages/section-player/README.md"
876
+ ],
877
+ "fallbackPolicy": "Public card radius hook shared by item and passage cards; geometry-only override with no color contrast impact."
878
+ },
879
+ {
880
+ "name": "--pie-section-player-item-media-aspect-ratio",
881
+ "owner": "@pie-players/pie-tool-sign-language",
882
+ "scope": "component-public",
883
+ "category": "section-card",
884
+ "status": "active",
885
+ "schemeParticipation": "excluded",
886
+ "definedIn": [
887
+ "packages/tool-sign-language/src/SignLanguageMediaRegion.svelte"
888
+ ],
889
+ "documentedIn": [
890
+ "packages/tool-sign-language/README.md"
891
+ ],
892
+ "fallbackPolicy": "Public sizing hook for the item card media region; defaults to 3 / 4 because signed content needs height for hands and face. Geometry-only, but hosts must keep signing legible when overriding."
893
+ },
894
+ {
895
+ "name": "--pie-section-player-item-media-min-height",
896
+ "owner": "@pie-players/pie-tool-sign-language",
897
+ "scope": "component-public",
898
+ "category": "section-card",
899
+ "status": "active",
900
+ "schemeParticipation": "excluded",
901
+ "definedIn": [
902
+ "packages/tool-sign-language/src/SignLanguageMediaRegion.svelte"
903
+ ],
904
+ "documentedIn": [
905
+ "packages/tool-sign-language/README.md"
906
+ ],
907
+ "fallbackPolicy": "Public legibility floor for the item card media region; defaults to 220px so a narrow content column cannot crush signed content. Geometry-only."
908
+ },
909
+ {
910
+ "name": "--pie-section-player-item-media-max-height",
911
+ "owner": "@pie-players/pie-tool-sign-language",
912
+ "scope": "component-public",
913
+ "category": "section-card",
914
+ "status": "active",
915
+ "schemeParticipation": "excluded",
916
+ "definedIn": [
917
+ "packages/tool-sign-language/src/SignLanguageMediaRegion.svelte"
918
+ ],
919
+ "documentedIn": [
920
+ "packages/tool-sign-language/README.md"
921
+ ],
922
+ "fallbackPolicy": "Public ceiling for the item card media region; defaults to 60vh so a tall recording cannot push question content off screen. Geometry-only."
923
+ },
924
+ {
925
+ "name": "--pie-section-player-layout-max-width",
926
+ "owner": "@pie-players/pie-section-player",
927
+ "scope": "package-private",
928
+ "category": "layout",
929
+ "status": "active",
930
+ "schemeParticipation": "excluded",
931
+ "definedIn": [
932
+ "packages/section-player/src/components/PieSectionPlayerSplitPaneElement.svelte",
933
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte",
934
+ "packages/section-player/src/components/shared/SectionPlayerVerticalContent.svelte"
935
+ ],
936
+ "documentedIn": [
937
+ "docs/architecture/pie-727-theme-token-inventory.md"
938
+ ],
939
+ "fallbackPolicy": "Package-private layout handoff token set from component props; hosts should use documented max-width attributes instead of overriding this token directly."
940
+ },
941
+ {
942
+ "name": "--pie-section-player-tab-active-background",
943
+ "owner": "@pie-players/pie-section-player",
944
+ "scope": "component-public",
945
+ "category": "section-tabs",
946
+ "status": "active",
947
+ "schemeParticipation": "optional",
948
+ "definedIn": [
949
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
950
+ ],
951
+ "documentedIn": [
952
+ "packages/section-player/README.md"
953
+ ],
954
+ "fallbackPolicy": "Public tab active-state background hook; hosts must preserve contrast with --pie-section-player-tab-active-color."
955
+ },
956
+ {
957
+ "name": "--pie-section-player-tab-active-color",
958
+ "owner": "@pie-players/pie-section-player",
959
+ "scope": "component-public",
960
+ "category": "section-tabs",
961
+ "status": "active",
962
+ "schemeParticipation": "optional",
963
+ "definedIn": [
964
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
965
+ ],
966
+ "documentedIn": [
967
+ "packages/section-player/README.md"
968
+ ],
969
+ "fallbackPolicy": "Public tab active-state foreground hook; hosts must preserve contrast with --pie-section-player-tab-active-background."
970
+ },
971
+ {
972
+ "name": "--pie-section-player-tab-background",
973
+ "owner": "@pie-players/pie-section-player",
974
+ "scope": "component-public",
975
+ "category": "section-tabs",
976
+ "status": "active",
977
+ "schemeParticipation": "optional",
978
+ "definedIn": [
979
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
980
+ ],
981
+ "documentedIn": [
982
+ "packages/section-player/README.md"
983
+ ],
984
+ "fallbackPolicy": "Public ordinary tab background hook; default remains transparent and should inherit accessible surrounding surfaces."
985
+ },
986
+ {
987
+ "name": "--pie-section-player-tab-color",
988
+ "owner": "@pie-players/pie-section-player",
989
+ "scope": "component-public",
990
+ "category": "section-tabs",
991
+ "status": "active",
992
+ "schemeParticipation": "optional",
993
+ "definedIn": [
994
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
995
+ ],
996
+ "documentedIn": [
997
+ "packages/section-player/README.md"
998
+ ],
999
+ "fallbackPolicy": "Public ordinary tab foreground hook; hosts must preserve text contrast against ordinary tab backgrounds."
1000
+ },
1001
+ {
1002
+ "name": "--pie-section-player-tab-gap",
1003
+ "owner": "@pie-players/pie-section-player",
1004
+ "scope": "component-public",
1005
+ "category": "section-tabs",
1006
+ "status": "active",
1007
+ "schemeParticipation": "excluded",
1008
+ "definedIn": [
1009
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
1010
+ ],
1011
+ "documentedIn": [
1012
+ "packages/section-player/README.md"
1013
+ ],
1014
+ "fallbackPolicy": "Public tabbed-frame spacing hook; values must not reduce perceivable target separation below WCAG expectations."
1015
+ },
1016
+ {
1017
+ "name": "--pie-section-player-tab-padding-block",
1018
+ "owner": "@pie-players/pie-section-player",
1019
+ "scope": "component-public",
1020
+ "category": "section-tabs",
1021
+ "status": "active",
1022
+ "schemeParticipation": "excluded",
1023
+ "definedIn": [
1024
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
1025
+ ],
1026
+ "documentedIn": [
1027
+ "packages/section-player/README.md"
1028
+ ],
1029
+ "fallbackPolicy": "Public tab block padding hook; hosts should preserve keyboard target size when overriding."
1030
+ },
1031
+ {
1032
+ "name": "--pie-section-player-tab-track-padding",
1033
+ "owner": "@pie-players/pie-section-player",
1034
+ "scope": "component-public",
1035
+ "category": "section-tabs",
1036
+ "status": "active",
1037
+ "schemeParticipation": "excluded",
1038
+ "definedIn": [
1039
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
1040
+ ],
1041
+ "documentedIn": [
1042
+ "packages/section-player/README.md"
1043
+ ],
1044
+ "fallbackPolicy": "Public tab track padding hook; hosts should preserve target size and visible grouping when overriding."
1045
+ },
1046
+ {
1047
+ "name": "--pie-section-player-tab-track-radius",
1048
+ "owner": "@pie-players/pie-section-player",
1049
+ "scope": "component-public",
1050
+ "category": "section-tabs",
1051
+ "status": "active",
1052
+ "schemeParticipation": "excluded",
1053
+ "definedIn": [
1054
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
1055
+ ],
1056
+ "documentedIn": [
1057
+ "packages/section-player/README.md"
1058
+ ],
1059
+ "fallbackPolicy": "Public tab track radius hook; geometry-only override with no color contrast impact."
1060
+ },
1061
+ {
1062
+ "name": "--pie-section-player-tab-zoom-comp",
1063
+ "owner": "@pie-players/pie-section-player",
1064
+ "scope": "package-private",
1065
+ "category": "layout",
1066
+ "status": "active",
1067
+ "schemeParticipation": "excluded",
1068
+ "definedIn": [
1069
+ "packages/section-player/src/components/shared/SectionPlayerTabbedContent.svelte"
1070
+ ],
1071
+ "documentedIn": [
1072
+ "docs/architecture/pie-727-theme-token-inventory.md"
1073
+ ],
1074
+ "fallbackPolicy": "Package-private zoom compensation handoff for tab sizing; not a host theming hook."
1075
+ },
1076
+ {
1077
+ "name": "--pie-tertiary",
1078
+ "owner": "@pie-players/pie-theme",
1079
+ "scope": "canonical-semantic",
1080
+ "category": "action",
1081
+ "status": "active",
1082
+ "schemeParticipation": "required",
1083
+ "definedIn": [
1084
+ "packages/theme/src/theme-definitions.ts"
1085
+ ],
1086
+ "documentedIn": [
1087
+ "packages/theme/README.md"
1088
+ ],
1089
+ "fallbackPolicy": "Canonical tertiary action token."
1090
+ },
1091
+ {
1092
+ "name": "--pie-tertiary-light",
1093
+ "owner": "@pie-players/pie-theme",
1094
+ "scope": "canonical-semantic",
1095
+ "category": "action",
1096
+ "status": "active",
1097
+ "schemeParticipation": "required",
1098
+ "definedIn": [
1099
+ "packages/theme/src/theme-definitions.ts"
1100
+ ],
1101
+ "documentedIn": [
1102
+ "packages/theme/README.md"
1103
+ ],
1104
+ "fallbackPolicy": "Canonical lighter tertiary action token."
1105
+ },
1106
+ {
1107
+ "name": "--pie-text",
1108
+ "owner": "@pie-players/pie-theme",
1109
+ "scope": "canonical-semantic",
1110
+ "category": "text",
1111
+ "status": "active",
1112
+ "schemeParticipation": "required",
1113
+ "definedIn": [
1114
+ "packages/theme/src/theme-definitions.ts"
1115
+ ],
1116
+ "documentedIn": [
1117
+ "packages/theme/README.md"
1118
+ ],
1119
+ "fallbackPolicy": "Canonical foreground text token."
1120
+ },
1121
+ {
1122
+ "name": "--pie-annotation-underline",
1123
+ "owner": "@pie-players/pie-assessment-toolkit",
1124
+ "scope": "component-public",
1125
+ "category": "annotation",
1126
+ "status": "active",
1127
+ "schemeParticipation": "required",
1128
+ "definedIn": [
1129
+ "packages/assessment-toolkit/src/services/HighlightCoordinator.ts",
1130
+ "packages/theme/src/theme-definitions.ts"
1131
+ ],
1132
+ "documentedIn": [
1133
+ "packages/tool-annotation-toolbar/README.md"
1134
+ ],
1135
+ "fallbackPolicy": "Colour of the student annotation underline on a light page, default #4221d5. Deliberately does not fall through --pie-primary: a theme accent is chosen against one background and is illegible on the other, and a var() fallback could never override a host-set --pie-primary anyway. Paired with --pie-annotation-underline-dark, which HighlightCoordinator selects via [data-theme] rather than prefers-color-scheme. The data-color-scheme accessibility palettes set both to their own --pie-primary, because [data-theme] reports what the page declares rather than which scheme is active. Hosts overriding it must keep 3:1 against the content background (WCAG 2.2 SC 1.4.11)."
1136
+ },
1137
+ {
1138
+ "name": "--pie-annotation-underline-dark",
1139
+ "owner": "@pie-players/pie-assessment-toolkit",
1140
+ "scope": "component-public",
1141
+ "category": "annotation",
1142
+ "status": "active",
1143
+ "schemeParticipation": "required",
1144
+ "definedIn": [
1145
+ "packages/assessment-toolkit/src/services/HighlightCoordinator.ts",
1146
+ "packages/theme/src/theme-definitions.ts"
1147
+ ],
1148
+ "documentedIn": [
1149
+ "packages/tool-annotation-toolbar/README.md"
1150
+ ],
1151
+ "fallbackPolicy": "Colour of the student annotation underline on a dark page, default #9c89ec. The dark half of the pair described under --pie-annotation-underline; kept a separate token so overriding one state never silently moves the other. Hosts overriding it must keep 3:1 against the content background (WCAG 2.2 SC 1.4.11)."
1152
+ },
1153
+ {
1154
+ "name": "--pie-tool-annotation-toolbar-border",
1155
+ "owner": "@pie-players/pie-tool-annotation-toolbar",
1156
+ "scope": "component-public",
1157
+ "category": "border",
1158
+ "status": "active",
1159
+ "schemeParticipation": "required",
1160
+ "definedIn": [
1161
+ "packages/tool-annotation-toolbar/tool-annotation-toolbar.svelte",
1162
+ "packages/theme/src/theme-definitions.ts"
1163
+ ],
1164
+ "documentedIn": [
1165
+ "packages/tool-annotation-toolbar/README.md"
1166
+ ],
1167
+ "fallbackPolicy": "Outline of the floating annotation toolbar. Deliberately does not fall through --pie-border, which the DaisyUI bridge maps to the base-300 surface tint and which leaves the outline near 1.1:1; the component default is a measured light-dark(#5c5c5c, #949494) pair instead -- dark grey on light surfaces, light grey on dark ones, each measured against DaisyUI's real theme bases rather than pure white and black. The data-color-scheme accessibility palettes and the PIE dark theme set it explicitly so their own boundary colour wins. Hosts overriding it must keep 3:1 against both the toolbar surface and the content behind it (WCAG 2.2 SC 1.4.11)."
1168
+ },
1169
+ {
1170
+ "name": "--pie-tool-line-reader-control-color",
1171
+ "owner": "@pie-players/pie-tool-line-reader",
1172
+ "scope": "component-public",
1173
+ "category": "button",
1174
+ "status": "active",
1175
+ "schemeParticipation": "excluded",
1176
+ "definedIn": [
1177
+ "packages/tool-line-reader/tool-line-reader.svelte"
1178
+ ],
1179
+ "documentedIn": [
1180
+ "packages/tool-line-reader/README.md"
1181
+ ],
1182
+ "fallbackPolicy": "Glyph colour of the line reader's close and resize controls. Registered as the required companion to --pie-tool-line-reader-frame-color rather than as a hook worth setting on its own: the controls sit on the frame, so this is paired with the fill and not with the page, and the #fff default only holds while the fill stays dark. A host that sets a light fill must set this too. Does not fall through --pie-text or the canonical button tokens, which track the page rather than the scrim the glyphs are drawn on. Must keep 3:1 against the resolved fill (WCAG 2.2 SC 1.4.11); the controls are fully opaque regardless of --pie-tool-line-reader-frame-opacity, so the fill alone determines the ratio."
1183
+ },
1184
+ {
1185
+ "name": "--pie-tool-line-reader-frame-color",
1186
+ "owner": "@pie-players/pie-tool-line-reader",
1187
+ "scope": "component-public",
1188
+ "category": "surface",
1189
+ "status": "active",
1190
+ "schemeParticipation": "excluded",
1191
+ "definedIn": [
1192
+ "packages/tool-line-reader/tool-line-reader.svelte"
1193
+ ],
1194
+ "documentedIn": [
1195
+ "packages/tool-line-reader/README.md"
1196
+ ],
1197
+ "fallbackPolicy": "Fill of the line reader's obscuring frame, configured per deployment alongside --pie-tool-line-reader-frame-opacity. Deliberately does not fall through --pie-text or any canonical surface token, and deliberately does not follow data-color-scheme: masking works by collapsing the contrast of whatever it covers, and an ink-coloured scrim defeats that on its own scheme -- a yellow scrim over yellow-on-blue text hides nothing, and a white one glares in a dark scheme the reader chose to avoid glare. The #000 default dims in both directions instead, dropping covered text from 10.9-19.3:1 to 1.09-1.71:1 across the six built-in schemes. A host overriding it owns that verification for every scheme it ships, and must set --pie-tool-line-reader-control-color with it when picking a light fill, because the control glyphs default to white to pair with the dark scrim."
1198
+ },
1199
+ {
1200
+ "name": "--pie-tool-line-reader-frame-opacity",
1201
+ "owner": "@pie-players/pie-tool-line-reader",
1202
+ "scope": "component-public",
1203
+ "category": "surface",
1204
+ "status": "active",
1205
+ "schemeParticipation": "excluded",
1206
+ "definedIn": [
1207
+ "packages/tool-line-reader/tool-line-reader.svelte"
1208
+ ],
1209
+ "documentedIn": [
1210
+ "packages/tool-line-reader/README.md"
1211
+ ],
1212
+ "fallbackPolicy": "Masking strength of the line reader's obscuring frame. A programme-level decision rather than a student one -- it sets how much surrounding context a test taker can still see -- so it is configured per deployment and the tool exposes no in-session control for it. Read as var() with a 0.8 default and never written inline by the component, so a host declaration wins without !important. Does not fall through any canonical token: this is unitless masking strength, not a palette value. Lowering it weakens the masking the tool exists to provide and invalidates the contrast figures recorded for --pie-tool-line-reader-frame-color, which were measured at the 0.8 default."
1213
+ },
1214
+ {
1215
+ "name": "--pie-tool-trigger-active-background",
1216
+ "owner": "@pie-players/pie-tool-tts-inline",
1217
+ "scope": "component-public",
1218
+ "category": "tool-trigger",
1219
+ "status": "active",
1220
+ "schemeParticipation": "optional",
1221
+ "definedIn": [
1222
+ "packages/tool-calculator-inline-desmos/tool-calculator-inline.svelte",
1223
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
1224
+ ],
1225
+ "documentedIn": [
1226
+ "packages/tool-tts-inline/README.md",
1227
+ "packages/tool-calculator-inline-desmos/README.md"
1228
+ ],
1229
+ "fallbackPolicy": "Component trigger active/open background hook; falls back through existing semantic tokens and must preserve WCAG contrast when overridden by hosts."
1230
+ },
1231
+ {
1232
+ "name": "--pie-tool-trigger-active-border-color",
1233
+ "owner": "@pie-players/pie-tool-tts-inline",
1234
+ "scope": "component-public",
1235
+ "category": "tool-trigger",
1236
+ "status": "active",
1237
+ "schemeParticipation": "optional",
1238
+ "definedIn": [
1239
+ "packages/tool-calculator-inline-desmos/tool-calculator-inline.svelte",
1240
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
1241
+ ],
1242
+ "documentedIn": [
1243
+ "packages/tool-tts-inline/README.md",
1244
+ "packages/tool-calculator-inline-desmos/README.md"
1245
+ ],
1246
+ "fallbackPolicy": "Component trigger active/open border hook; falls back through existing semantic tokens."
1247
+ },
1248
+ {
1249
+ "name": "--pie-tool-trigger-active-color",
1250
+ "owner": "@pie-players/pie-tool-tts-inline",
1251
+ "scope": "component-public",
1252
+ "category": "tool-trigger",
1253
+ "status": "active",
1254
+ "schemeParticipation": "optional",
1255
+ "definedIn": [
1256
+ "packages/tool-calculator-inline-desmos/tool-calculator-inline.svelte",
1257
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
1258
+ ],
1259
+ "documentedIn": [
1260
+ "packages/tool-tts-inline/README.md",
1261
+ "packages/tool-calculator-inline-desmos/README.md"
1262
+ ],
1263
+ "fallbackPolicy": "Component trigger active/open foreground hook; hosts are responsible for preserving contrast with the active trigger background."
1264
+ },
1265
+ {
1266
+ "name": "--pie-toolbar-tools-row-height",
1267
+ "owner": "@pie-players/pie-assessment-toolkit",
1268
+ "scope": "package-private",
1269
+ "category": "toolbar-layout",
1270
+ "status": "active",
1271
+ "schemeParticipation": "excluded",
1272
+ "definedIn": [
1273
+ "packages/assessment-toolkit/src/components/ItemToolBar.svelte"
1274
+ ],
1275
+ "documentedIn": [
1276
+ "docs/architecture/pie-727-theme-token-inventory.md"
1277
+ ],
1278
+ "fallbackPolicy": "Package-private toolbar row sizing token; hosts should use documented toolbar size inputs rather than overriding this internal handoff."
1279
+ },
1280
+ {
1281
+ "name": "--pie-tts-controls-row-height",
1282
+ "owner": "@pie-players/pie-assessment-toolkit",
1283
+ "scope": "package-private",
1284
+ "category": "toolbar-layout",
1285
+ "status": "active",
1286
+ "schemeParticipation": "excluded",
1287
+ "definedIn": [
1288
+ "packages/assessment-toolkit/src/components/ItemToolBar.svelte",
1289
+ "packages/tool-tts-inline/tool-tts-inline.svelte"
1290
+ ],
1291
+ "documentedIn": [
1292
+ "docs/architecture/pie-727-theme-token-inventory.md"
1293
+ ],
1294
+ "fallbackPolicy": "Package-private toolbar-to-inline-TTS row height handoff used to reserve reading controls space."
1295
+ },
1296
+ {
1297
+ "name": "--pie-white",
1298
+ "owner": "@pie-players/pie-theme",
1299
+ "scope": "canonical-semantic",
1300
+ "category": "neutral",
1301
+ "status": "active",
1302
+ "schemeParticipation": "required",
1303
+ "definedIn": [
1304
+ "packages/theme/src/theme-definitions.ts"
1305
+ ],
1306
+ "documentedIn": [
1307
+ "packages/theme/README.md"
1308
+ ],
1309
+ "fallbackPolicy": "Canonical neutral token that may invert in high-contrast schemes."
1310
+ }
1311
+ ]