@four-leaf-studios/rl-overlay 1.0.5 → 1.1.1

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.
Files changed (53) hide show
  1. package/.github/copilot-instructions.md +70 -0
  2. package/dist/index.cjs.js +298 -10599
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +328 -10612
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/types/Overlay.d.ts +5 -6
  7. package/dist/types/OverlaySlot.d.ts +9 -0
  8. package/dist/types/index.d.ts +2 -0
  9. package/dist/types/registry.d.ts +2 -0
  10. package/package.json +12 -5
  11. package/src/Overlay.tsx +47 -41
  12. package/src/OverlaySlot.tsx +35 -0
  13. package/src/Player.tsx +1 -0
  14. package/src/PlayerBoost.tsx +4 -1
  15. package/src/Scoreboard.tsx +1 -0
  16. package/src/ScoreboardGameBox.tsx +2 -4
  17. package/src/ScoreboardSeriesBox.tsx +2 -3
  18. package/src/ScoreboardTeam.tsx +1 -0
  19. package/src/StatItem.tsx +4 -1
  20. package/src/TargetBoost.tsx +1 -0
  21. package/src/TargetPlayer.tsx +1 -0
  22. package/src/TargetPlayerLocation.tsx +1 -0
  23. package/src/TargetPlayerStats.tsx +1 -1
  24. package/src/Team.tsx +1 -0
  25. package/src/Timer.tsx +7 -4
  26. package/src/css/Florida_Tech.css +696 -0
  27. package/src/css/Horizon_Hues.css +618 -0
  28. package/src/css/Neo_Glass.css +674 -0
  29. package/src/css/Obsidian_Glide.css +646 -0
  30. package/src/css/RLCS_2024.css +566 -0
  31. package/src/css/RLCS_2025.css +524 -0
  32. package/src/css/Shaded_blocks.css +594 -0
  33. package/src/index.ts +2 -0
  34. package/src/registry.ts +19 -0
  35. package/src/types.d.ts +20 -0
  36. package/test-overlay/package-lock.json +2697 -0
  37. package/test-overlay/package.json +3 -0
  38. package/test-overlay/public/mock-css.css +259 -386
  39. package/test-overlay/src/App.jsx +78 -28
  40. package/tests/BroadcastContext.test.tsx +41 -0
  41. package/tests/Overlay.test.tsx +106 -0
  42. package/tests/OverlaySlot.test.tsx +79 -0
  43. package/tests/PlayerBoost.test.tsx +47 -0
  44. package/tests/Replay.test.tsx +29 -0
  45. package/tests/ScoreboardGameBox.test.tsx +35 -0
  46. package/tests/ScoreboardSeriesBox.test.tsx +48 -0
  47. package/tests/StatItem.test.tsx +33 -0
  48. package/tests/__mocks__/@four-leaf-studios/rl-socket-hook.ts +10 -0
  49. package/tests/fixtures.ts +96 -0
  50. package/tests/registry.test.ts +27 -0
  51. package/tests/setup.ts +1 -0
  52. package/tsconfig.json +16 -20
  53. package/vitest.config.ts +9 -0
@@ -0,0 +1,696 @@
1
+ /* Scoreboard styles */
2
+ /* Global Styles */
3
+ /* Whatever font you want to use */
4
+ /* latin-ext */
5
+ @font-face {
6
+ font-family: "Lato";
7
+ font-style: normal;
8
+ font-weight: 400;
9
+ font-display: swap;
10
+ src: url(https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjxAwXjeu.woff2)
11
+ format("woff2");
12
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
13
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
14
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
15
+ }
16
+ /* latin */
17
+ @font-face {
18
+ font-family: "Lato";
19
+ font-style: normal;
20
+ font-weight: 400;
21
+ font-display: swap;
22
+ src: url(https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wXg.woff2)
23
+ format("woff2");
24
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
25
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
26
+ U+2212, U+2215, U+FEFF, U+FFFD;
27
+ }
28
+
29
+ /* Place css variables here, any colors you want to use */
30
+ .overlay {
31
+ --fallback-darker-mutual: black;
32
+ }
33
+ /* Global Styles END */
34
+
35
+ /* Scoreboard */
36
+ /* Timer */
37
+ .time_box {
38
+ position: absolute;
39
+ margin: auto;
40
+ left: 0;
41
+ right: 0;
42
+ width: 225px;
43
+ height: 100px;
44
+ background-color: var(--team-left-mutual);
45
+ clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
46
+ z-index: 50;
47
+ display: flex;
48
+ flex-direction: column;
49
+ justify-content: center;
50
+ flex-shrink: 0;
51
+ color: var(--team-left-secondary);
52
+ text-align: center;
53
+ font-family: Lato;
54
+ font-size: 48px;
55
+ font-style: normal;
56
+ font-weight: 700;
57
+ line-height: normal;
58
+ animation: slideIn 0.5s ease-in-out;
59
+ }
60
+
61
+ .main_bar {
62
+ }
63
+
64
+ .top_bar {
65
+ display: none;
66
+ }
67
+
68
+ .bottom_bar {
69
+ display: flex;
70
+ justify-content: center;
71
+ align-items: center;
72
+ width: 100%;
73
+ }
74
+
75
+ .scoreboard_box {
76
+ width: 785px;
77
+ height: 100px;
78
+ left: 0;
79
+ right: 0;
80
+ top: 0.5rem;
81
+ margin: auto;
82
+ position: relative;
83
+ background: linear-gradient(
84
+ to right,
85
+ var(--team-left-primary) 49.9%,
86
+ var(--team-right-primary) 50.1%
87
+ );
88
+ }
89
+
90
+ .name_box {
91
+ }
92
+
93
+ .scoreboard_team_box {
94
+ position: relative;
95
+ z-index: 0;
96
+ width: 100%;
97
+ height: 100px;
98
+ border-radius: 5px;
99
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
100
+ display: flex;
101
+ align-items: center;
102
+ transition: opacity 0.3s ease, transform 0.3s ease;
103
+
104
+ --horizontal-padding: 4.2rem;
105
+ }
106
+
107
+ .left_scoreboard_team_box {
108
+ left: 0;
109
+ justify-content: flex-start;
110
+ padding-left: var(--horizontal-padding);
111
+ background: linear-gradient(
112
+ 180deg,
113
+ var(--team-left-primary) 0%,
114
+ rgba(5, 0, 0, 0.53) 100%
115
+ );
116
+ }
117
+
118
+ .right_scoreboard_team_box {
119
+ right: 0;
120
+ justify-content: flex-end;
121
+ padding-right: var(--horizontal-padding);
122
+ background: linear-gradient(
123
+ 180deg,
124
+ var(--team-right-primary) 0%,
125
+ rgba(5, 0, 0, 0.53) 100%
126
+ );
127
+ }
128
+
129
+ .name_box {
130
+ position: absolute;
131
+ bottom: -29px;
132
+ z-index: -2;
133
+ padding: 2px 10px;
134
+
135
+ font-family: Lato;
136
+ font-size: 24px;
137
+ font-weight: 800;
138
+ line-height: normal;
139
+ border-radius: 0 0 5px 5px;
140
+ background: var(--team-left-mutual);
141
+ animation: slideIn 0.5s ease-in-out;
142
+
143
+ text-overflow: ellipsis;
144
+ white-space: nowrap;
145
+ overflow: hidden;
146
+ max-width: 90%;
147
+ }
148
+ .left_name_box {
149
+ left: 0;
150
+ justify-content: flex-start;
151
+ text-align: left;
152
+ color: var(--team-left-secondary);
153
+ }
154
+
155
+ .right_name_box {
156
+ right: 0;
157
+ justify-content: flex-end;
158
+ text-align: right;
159
+ color: var(--team-right-secondary);
160
+ }
161
+
162
+ .logo_box {
163
+ height: 80%;
164
+ object-fit: contain;
165
+ transition: opacity 0.3s ease, transform 0.3s ease;
166
+
167
+ padding: 1rem;
168
+ border-radius: 5px;
169
+ overflow: hidden;
170
+ }
171
+
172
+ .left_logo_box {
173
+ order: 0;
174
+ border-top-right-radius: 0;
175
+ border-bottom-right-radius: 0;
176
+ background-image: linear-gradient(
177
+ to bottom,
178
+ rgba(0, 0, 0, 0) 0%,
179
+ rgba(5, 0, 0, 0.53) 100%
180
+ );
181
+ }
182
+
183
+ .right_logo_box {
184
+ order: 1;
185
+ border-top-left-radius: 0;
186
+ border-bottom-left-radius: 0;
187
+ background-image: linear-gradient(
188
+ to bottom,
189
+ rgba(0, 0, 0, 0) 0%,
190
+ rgba(5, 0, 0, 0.53) 100%
191
+ );
192
+ }
193
+
194
+ .score_box {
195
+ height: 80%;
196
+ flex: 1;
197
+ display: flex;
198
+ flex-direction: column;
199
+ justify-content: center;
200
+ flex-shrink: 0;
201
+ text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
202
+ font-family: Lato;
203
+ font-size: 60px;
204
+ font-weight: 800;
205
+ line-height: normal;
206
+ transition: opacity 0.3s ease, transform 0.3s ease;
207
+ overflow: hidden;
208
+ }
209
+
210
+ .left_score_box {
211
+ color: var(--team-left-secondary);
212
+ order: 1;
213
+ padding-right: 20%;
214
+ background-image: linear-gradient(
215
+ to bottom,
216
+ rgba(0, 0, 0, 0) 0%,
217
+ rgba(5, 0, 0, 0.53) 100%
218
+ );
219
+ }
220
+
221
+ .right_score_box {
222
+ color: var(--team-right-secondary);
223
+ order: 0;
224
+ padding-left: 20%;
225
+ background-image: linear-gradient(
226
+ to bottom,
227
+ rgba(0, 0, 0, 0) 0%,
228
+ rgba(5, 0, 0, 0.53) 100%
229
+ );
230
+ }
231
+
232
+ .series_box {
233
+ position: absolute;
234
+ top: -5.5rem;
235
+ width: 45px;
236
+ height: 79px;
237
+ flex-shrink: 0;
238
+ border-radius: 5px;
239
+ display: flex;
240
+ flex-direction: column;
241
+ justify-content: center;
242
+ align-items: center;
243
+ gap: 9px;
244
+ background: rgba(5, 0, 0, 0.53);
245
+ transition: opacity 0.3s ease, transform 0.3s ease;
246
+
247
+ --horizontal-padding: 0.5rem;
248
+ }
249
+
250
+ .left_series_box {
251
+ left: var(--horizontal-padding);
252
+ }
253
+
254
+ .right_series_box {
255
+ right: var(--horizontal-padding);
256
+ }
257
+
258
+ .series_score_box {
259
+ width: 80%;
260
+ max-height: 11px;
261
+ flex: 1;
262
+ flex-shrink: 0;
263
+ border-radius: 5px;
264
+ background: #fff;
265
+ order: 2;
266
+ }
267
+
268
+ .series_score_box_point {
269
+ }
270
+
271
+ .left_series_score_box_point {
272
+ background: var(--team-left-secondary);
273
+ }
274
+
275
+ .right_series_score_box_point {
276
+ background: var(--team-right-secondary);
277
+ }
278
+
279
+ .series_score_box_empty {
280
+ order: 1;
281
+ border-radius: 5px;
282
+ background: rgba(217, 217, 217, 0.32);
283
+ }
284
+
285
+ .left_series_score_box_empty {
286
+ }
287
+
288
+ .right_series_score_box_empty {
289
+ }
290
+
291
+ .game_box {
292
+ display: none;
293
+ }
294
+ /* Scoreboard End */
295
+
296
+ /* Replay Section */
297
+ .replay_box {
298
+ position: absolute;
299
+ margin: auto;
300
+ left: 0px;
301
+ right: 0px;
302
+ z-index: 500;
303
+ width: 449px;
304
+ height: 101px;
305
+ background-color: #1d1d21;
306
+ clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
307
+
308
+ display: flex;
309
+ justify-content: center;
310
+ align-items: center;
311
+ gap: 12px;
312
+ }
313
+
314
+ .replay_text {
315
+ color: rgb(255, 79, 79);
316
+ text-align: center;
317
+ font-family: Lato;
318
+ font-size: 48px;
319
+ font-style: normal;
320
+ font-weight: 800;
321
+ line-height: normal;
322
+ }
323
+ /* Replay END */
324
+
325
+ /* Teams */
326
+ .team_box {
327
+ position: absolute;
328
+ top: 49px;
329
+ display: flex;
330
+ width: fit-content;
331
+ flex-direction: column;
332
+ justify-content: flex-start;
333
+ gap: 5px;
334
+ transition: opacity 0.3s ease, transform 0.3s ease;
335
+ }
336
+
337
+ .left_team_box {
338
+ align-items: flex-start;
339
+ left: -10px;
340
+ }
341
+
342
+ .right_team_box {
343
+ right: -10px;
344
+ }
345
+
346
+ .player_box {
347
+ position: relative;
348
+ display: grid;
349
+ grid-template-columns: 1fr min-content;
350
+ gap: 0.5rem;
351
+ min-width: 347px;
352
+ border-radius: 5px;
353
+ background: var(--team-left-mutual);
354
+ padding: var(--padding);
355
+ transition: opacity 0.3s ease, transform 0.3s ease;
356
+ padding: 0.2rem 1rem;
357
+ }
358
+
359
+ .left_player_box {
360
+ }
361
+ .right_player_box {
362
+ }
363
+
364
+ .player_name {
365
+ font-family: Lato;
366
+ font-size: 24px;
367
+ font-weight: 800;
368
+ line-height: normal;
369
+ padding: var(--padding);
370
+ text-transform: uppercase;
371
+ text-overflow: ellipsis;
372
+ white-space: nowrap;
373
+ overflow: hidden;
374
+ max-width: 300px;
375
+ }
376
+ .left_player_name {
377
+ grid-column: 1;
378
+ grid-row: 1;
379
+ text-align: left;
380
+ }
381
+ .right_player_name {
382
+ grid-column: 2;
383
+ text-align: right;
384
+ }
385
+
386
+ .player_boost {
387
+ font-family: Lato;
388
+ font-size: 24px;
389
+ font-weight: 800;
390
+ line-height: normal;
391
+ padding: var(--padding);
392
+ text-transform: uppercase;
393
+ text-overflow: ellipsis;
394
+ white-space: nowrap;
395
+ overflow: hidden;
396
+ }
397
+ .left_player_boost {
398
+ grid-column: 2;
399
+ text-align: right;
400
+ color: var(--team-left-secondary);
401
+ }
402
+ .right_player_boost {
403
+ grid-column: 1;
404
+ text-align: left;
405
+ color: var(--team-right-secondary);
406
+ }
407
+
408
+ .boost_meter {
409
+ margin-bottom: 0.1rem;
410
+ width: 100%;
411
+ height: 6px;
412
+ background-color: var(--fallback-darker-mutual);
413
+ grid-column: -1/1;
414
+ }
415
+ .left_boost_meter {
416
+ }
417
+ .right_boost_meter {
418
+ }
419
+
420
+ .boost_meter_bar {
421
+ }
422
+ .left_boost_meter_bar {
423
+ background-color: var(--team-left-primary);
424
+ }
425
+ .right_boost_meter_bar {
426
+ background-color: var(--team-right-primary);
427
+ }
428
+ /* Teams END */
429
+
430
+ /* Stat Box */
431
+ .stat_box {
432
+ position: absolute;
433
+ bottom: 0;
434
+ width: 672px;
435
+ height: 54.217px;
436
+ flex-shrink: 0;
437
+ margin-left: 52px;
438
+ margin-bottom: 34px;
439
+ display: flex;
440
+ flex-direction: column;
441
+ justify-content: space-around;
442
+ align-items: flex-start;
443
+ padding: 0.4rem;
444
+ transition: opacity 0.3s ease, transform 0.3s ease;
445
+ }
446
+
447
+ .left_stat_box {
448
+ background-color: var(--team-left-primary);
449
+ color: var(--team-left-secondary);
450
+ }
451
+
452
+ .right_stat_box {
453
+ background-color: var(--team-right-primary);
454
+ color: var(--team-right-secondary);
455
+ }
456
+
457
+ .stat_box_player {
458
+ font-family: Lato;
459
+ font-size: 24px;
460
+ font-weight: 800;
461
+ line-height: normal;
462
+ padding: var(--padding);
463
+ text-transform: uppercase;
464
+ text-overflow: ellipsis;
465
+ white-space: nowrap;
466
+ overflow: hidden;
467
+ width: 40%;
468
+ text-align: right;
469
+ }
470
+
471
+ .stat_box_statistics {
472
+ position: absolute;
473
+ right: 0;
474
+ bottom: 0;
475
+ width: 363.893px;
476
+ height: 78.522px;
477
+ flex-shrink: 0;
478
+ margin-bottom: 7.48px;
479
+ background: var(--team-left-mutual);
480
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
481
+ display: flex;
482
+ justify-content: space-between;
483
+ align-items: center;
484
+ padding: 6.4px;
485
+ }
486
+
487
+ .stat_box_statistic {
488
+ flex: 1;
489
+ display: flex;
490
+ flex-direction: column;
491
+ align-items: center;
492
+ justify-content: center;
493
+ color: #fff;
494
+ text-align: center;
495
+ font-family: Lato;
496
+ font-size: 24px;
497
+ font-weight: 800;
498
+ line-height: normal;
499
+ }
500
+ .stat_box_statistic_value {
501
+ }
502
+ .stat_box_statistic_name {
503
+ order: 0;
504
+ }
505
+
506
+ .stat_box_statistic_player_id,
507
+ .stat_box_statistic_player_team,
508
+ .stat_box_statistic_player_location,
509
+ .stat_box_statistic_player_touches {
510
+ display: none;
511
+ }
512
+
513
+ .stat_box_player_boost {
514
+ transition: opacity 0.3s ease, transform 0.3s ease;
515
+ width: 100%;
516
+ }
517
+
518
+ .stat_box_player_boost .boost_meter {
519
+ display: block;
520
+ height: 9px;
521
+ width: 40%;
522
+ background: var(--team-left-mutual);
523
+ overflow: hidden;
524
+ border-radius: 2px;
525
+ }
526
+
527
+ .stat_box_player_boost .left_boost_meter_bar {
528
+ background: var(--team-left-secondary);
529
+ }
530
+
531
+ .stat_box_player_boost .right_boost_meter_bar {
532
+ background: var(--team-right-secondary);
533
+ }
534
+
535
+ .stat_box_player_boost .boost_meter,
536
+ .stat_box_player_boost .boost_meter_bar {
537
+ margin: unset;
538
+ }
539
+ /* Statbox END */
540
+
541
+ /* Target Boost (the circular meter) */
542
+ .target_boost {
543
+ font-size: 3rem;
544
+ font-weight: bold;
545
+ position: absolute;
546
+ bottom: 0;
547
+ right: 0;
548
+ left: unset;
549
+ width: 200px;
550
+ height: 200px;
551
+ margin-bottom: 50px;
552
+ margin-right: 50px;
553
+ border-radius: 50%;
554
+ display: flex;
555
+ flex-direction: column;
556
+ align-items: center;
557
+ justify-content: center;
558
+ color: white;
559
+ overflow: hidden;
560
+ transition: opacity 0.3s ease, transform 0.3s ease;
561
+ }
562
+
563
+ .left_target_boost.target_boost {
564
+ color: var(--team-0-secondary);
565
+ }
566
+
567
+ .right_target_boost.target_boost {
568
+ color: var(--team-1-secondary);
569
+ }
570
+
571
+ .target_boost.entering {
572
+ animation: fadeIn 0.5s ease-in-out;
573
+ }
574
+
575
+ .target_boost.exiting {
576
+ animation: fadeOut 0.5s ease-in-out;
577
+ }
578
+
579
+ .left_target_boost {
580
+ border: 5px solid var(--team-left-mutual);
581
+ background: #07132d;
582
+ }
583
+
584
+ .right_target_boost {
585
+ border: 5px solid var(--team-left-mutual);
586
+ background: var(--team-left-mutual);
587
+ }
588
+
589
+ .target_boost_container {
590
+ width: 100%;
591
+ height: 100%;
592
+ display: flex;
593
+ flex-direction: column;
594
+ align-items: center;
595
+ justify-content: center;
596
+ border-radius: 50%;
597
+ }
598
+
599
+ .left_target_boost_container {
600
+ }
601
+
602
+ .right_target_boost_container {
603
+ }
604
+
605
+ .target_boost_meter {
606
+ position: absolute;
607
+ height: 100%;
608
+ width: 100%;
609
+ border-radius: 50%;
610
+ display: flex;
611
+ justify-content: center;
612
+ align-items: center;
613
+ transition: all 0.5s ease-in-out;
614
+ }
615
+
616
+ .left_target_boost_meter {
617
+ background: conic-gradient(
618
+ var(--team-left-primary-dark) calc(90deg * var(--target_boost) / 100),
619
+ var(--team-left-primary-light) calc(180deg * var(--target_boost) / 100),
620
+ var(--team-left-primary-light) calc(30deg * var(--target_boost) / 100),
621
+ var(--team-left-primary) calc(270deg * var(--target_boost) / 100),
622
+ var(--team-left-primary-dark) calc(360deg * var(--target_boost) / 100),
623
+ var(--fallback-darker-mutual) calc(0deg * var(--target_boost) / 100)
624
+ ) !important;
625
+ transition: all 0.5s ease-in-out;
626
+ }
627
+
628
+ .right_target_boost_meter {
629
+ background: conic-gradient(
630
+ var(--team-right-primary-dark) calc(90deg * var(--target_boost) / 100),
631
+ var(--team-right-primary-light) calc(180deg * var(--target_boost) / 100),
632
+ var(--team-right-primary-light) calc(30deg * var(--target_boost) / 100),
633
+ var(--team-right-primary) calc(270deg * var(--target_boost) / 100),
634
+ var(--team-right-primary-dark) calc(360deg * var(--target_boost) / 100),
635
+ var(--fallback-darker-mutual) calc(0deg * var(--target_boost) / 100)
636
+ ) !important;
637
+
638
+ transition: all 0.5s ease-in-out;
639
+ }
640
+
641
+ .target_boost_meter_inner {
642
+ position: absolute;
643
+ margin: auto;
644
+ width: 80%;
645
+ height: 80%;
646
+ border-radius: 50%;
647
+ z-index: 50;
648
+ }
649
+
650
+ .left_target_boost_meter_inner {
651
+ background: var(--team-left-mutual);
652
+ }
653
+
654
+ .right_target_boost_meter_inner {
655
+ background: var(--team-left-mutual);
656
+ }
657
+
658
+ .target_boost_svg {
659
+ position: absolute;
660
+ width: 100%;
661
+ height: 100%;
662
+ z-index: 500;
663
+ display: flex;
664
+ justify-content: center;
665
+ align-items: center;
666
+ }
667
+
668
+ .target_boost_svg_circle {
669
+ stroke-dasharray: 4 25%;
670
+ stroke-width: 41;
671
+ stroke-dashoffset: 18;
672
+ fill: transparent;
673
+ }
674
+
675
+ .left_target_boost_svg_circle {
676
+ stroke: var(--team-left-mutual);
677
+ }
678
+
679
+ .right_target_boost_svg_circle {
680
+ stroke: var(--team-left-mutual);
681
+ }
682
+
683
+ .target_boost_value {
684
+ position: absolute;
685
+ z-index: 500;
686
+ color: white;
687
+ }
688
+
689
+ .left_target_boost_value {
690
+ color: var(--team-left-secondary);
691
+ }
692
+
693
+ .right_target_boost_value {
694
+ color: var(--team-right-secondary);
695
+ }
696
+ /* Target Boost END */