@four-leaf-studios/rl-overlay 1.0.4 → 1.1.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.
Files changed (51) hide show
  1. package/.github/copilot-instructions.md +70 -0
  2. package/dist/index.cjs.js +271 -10567
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +300 -10579
  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 +43 -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 +15 -3
  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/public/mock-css.css +294 -372
  37. package/test-overlay/src/App.jsx +28 -28
  38. package/tests/BroadcastContext.test.tsx +41 -0
  39. package/tests/Overlay.test.tsx +106 -0
  40. package/tests/OverlaySlot.test.tsx +79 -0
  41. package/tests/PlayerBoost.test.tsx +47 -0
  42. package/tests/Replay.test.tsx +29 -0
  43. package/tests/ScoreboardGameBox.test.tsx +35 -0
  44. package/tests/ScoreboardSeriesBox.test.tsx +48 -0
  45. package/tests/StatItem.test.tsx +33 -0
  46. package/tests/__mocks__/@four-leaf-studios/rl-socket-hook.ts +10 -0
  47. package/tests/fixtures.ts +96 -0
  48. package/tests/registry.test.ts +27 -0
  49. package/tests/setup.ts +1 -0
  50. package/tsconfig.json +16 -20
  51. package/vitest.config.ts +9 -0
@@ -1,13 +1,10 @@
1
- /* Scoreboard styles */
2
- /* Global Styles */
3
- /* Whatever font you want to use */
4
1
  /* latin-ext */
5
2
  @font-face {
6
- font-family: "Lato";
7
- font-style: normal;
3
+ font-family: "DM Sans";
4
+ font-style: italic;
8
5
  font-weight: 400;
9
6
  font-display: swap;
10
- src: url(https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjxAwXjeu.woff2)
7
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKK58VXh.woff2)
11
8
  format("woff2");
12
9
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
13
10
  U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
@@ -15,492 +12,445 @@
15
12
  }
16
13
  /* latin */
17
14
  @font-face {
18
- font-family: "Lato";
19
- font-style: normal;
15
+ font-family: "DM Sans";
16
+ font-style: italic;
20
17
  font-weight: 400;
21
18
  font-display: swap;
22
- src: url(https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wXg.woff2)
19
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKy58Q.woff2)
23
20
  format("woff2");
24
21
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
25
22
  U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
26
23
  U+2212, U+2215, U+FEFF, U+FFFD;
27
24
  }
28
-
29
- /* Place css variables here, any colors you want to use */
30
- .overlay {
31
- --fallback-darker-mutual: black;
25
+ /* latin-ext */
26
+ @font-face {
27
+ font-family: "DM Sans";
28
+ font-style: italic;
29
+ font-weight: 500;
30
+ font-display: swap;
31
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKK58VXh.woff2)
32
+ format("woff2");
33
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
34
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
35
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
32
36
  }
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;
37
+ /* latin */
38
+ @font-face {
39
+ font-family: "DM Sans";
40
+ font-style: italic;
41
+ font-weight: 500;
42
+ font-display: swap;
43
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKy58Q.woff2)
44
+ format("woff2");
45
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
46
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
47
+ U+2212, U+2215, U+FEFF, U+FFFD;
48
+ }
49
+ /* latin-ext */
50
+ @font-face {
51
+ font-family: "DM Sans";
52
+ font-style: italic;
56
53
  font-weight: 700;
57
- line-height: normal;
58
- animation: slideIn 0.5s ease-in-out;
54
+ font-display: swap;
55
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKK58VXh.woff2)
56
+ format("woff2");
57
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
58
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
59
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
59
60
  }
60
-
61
- .main_bar {
61
+ /* latin */
62
+ @font-face {
63
+ font-family: "DM Sans";
64
+ font-style: italic;
65
+ font-weight: 700;
66
+ font-display: swap;
67
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Wp2ywxg089UriCZaSExd86J3t9jz86MvyyKy58Q.woff2)
68
+ format("woff2");
69
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
70
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
71
+ U+2212, U+2215, U+FEFF, U+FFFD;
62
72
  }
63
-
64
- .top_bar {
65
- display: none;
73
+ /* latin-ext */
74
+ @font-face {
75
+ font-family: "DM Sans";
76
+ font-style: normal;
77
+ font-weight: 400;
78
+ font-display: swap;
79
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2)
80
+ format("woff2");
81
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
82
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
83
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
66
84
  }
67
-
68
- .bottom_bar {
69
- display: flex;
70
- justify-content: center;
71
- align-items: center;
72
- width: 100%;
85
+ /* latin */
86
+ @font-face {
87
+ font-family: "DM Sans";
88
+ font-style: normal;
89
+ font-weight: 400;
90
+ font-display: swap;
91
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2)
92
+ format("woff2");
93
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
94
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
95
+ U+2212, U+2215, U+FEFF, U+FFFD;
73
96
  }
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
- );
97
+ /* latin-ext */
98
+ @font-face {
99
+ font-family: "DM Sans";
100
+ font-style: normal;
101
+ font-weight: 500;
102
+ font-display: swap;
103
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2)
104
+ format("woff2");
105
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
106
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
107
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
88
108
  }
89
-
90
- .name_box {
109
+ /* latin */
110
+ @font-face {
111
+ font-family: "DM Sans";
112
+ font-style: normal;
113
+ font-weight: 500;
114
+ font-display: swap;
115
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2)
116
+ format("woff2");
117
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
118
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
119
+ U+2212, U+2215, U+FEFF, U+FFFD;
120
+ }
121
+ /* latin-ext */
122
+ @font-face {
123
+ font-family: "DM Sans";
124
+ font-style: normal;
125
+ font-weight: 700;
126
+ font-display: swap;
127
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2)
128
+ format("woff2");
129
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
130
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
131
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
132
+ }
133
+ /* latin */
134
+ @font-face {
135
+ font-family: "DM Sans";
136
+ font-style: normal;
137
+ font-weight: 700;
138
+ font-display: swap;
139
+ src: url(https://fonts.gstatic.com/s/dmsans/v16/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2)
140
+ format("woff2");
141
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
142
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
143
+ U+2212, U+2215, U+FEFF, U+FFFD;
91
144
  }
92
145
 
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;
146
+ :root {
147
+ --font-family: "DM Sans";
105
148
  }
106
149
 
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
- );
150
+ .overlay {
151
+ --fallback-darker-mutual: black;
116
152
  }
117
153
 
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
- );
154
+ /* Main Bar */
155
+ .main_bar {
127
156
  }
128
157
 
158
+ /* Team Name Boxes */
129
159
  .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;
160
+ font-size: 42px;
161
+ height: 77px;
162
+ width: 350px;
163
+ padding-left: 20px;
164
+ padding-right: 20px;
137
165
  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%;
166
+ line-height: 0.9;
167
+ font-family: var(--font-family);
147
168
  }
169
+
148
170
  .left_name_box {
149
- left: 0;
150
- justify-content: flex-start;
151
- text-align: left;
152
- color: var(--team-left-secondary);
171
+ order: -50;
172
+ justify-content: end;
173
+ text-shadow: 0 0 5px black;
153
174
  }
154
175
 
155
176
  .right_name_box {
156
- right: 0;
157
- justify-content: flex-end;
158
- text-align: right;
159
- color: var(--team-right-secondary);
177
+ order: 50;
178
+ justify-content: start;
179
+ text-shadow: 0 0 5px black;
160
180
  }
161
181
 
182
+ /* Logos */
162
183
  .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;
184
+ padding: 10px;
185
+ width: 110px;
186
+ height: 77px;
187
+ background: #0f131c;
170
188
  }
171
189
 
172
190
  .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
- );
191
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 25px 100%);
192
+ padding-left: 27px;
181
193
  }
182
194
 
183
195
  .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
- );
196
+ clip-path: polygon(0 0, 100% 0, calc(100% - 25px) 100%, 0 100%);
197
+ padding-right: 27px;
192
198
  }
193
199
 
200
+ /* Score */
194
201
  .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;
202
+ font-size: 52px;
203
+ height: 77px;
204
+ width: 90px;
205
+ color: white;
206
+ font-weight: bold;
207
+ text-shadow: 0 0 5px black;
208
+ font-family: var(--font-family);
208
209
  }
209
210
 
210
211
  .left_score_box {
211
- color: var(--team-left-secondary);
212
- order: 1;
213
- padding-right: 20%;
214
- background-image: linear-gradient(
212
+ background: linear-gradient(
215
213
  to bottom,
216
- rgba(0, 0, 0, 0) 0%,
217
- rgba(5, 0, 0, 0.53) 100%
214
+ var(--team-left-primary),
215
+ var(--team-left-primary-dark)
218
216
  );
219
217
  }
220
218
 
221
219
  .right_score_box {
222
- color: var(--team-right-secondary);
223
- order: 0;
224
- padding-left: 20%;
225
- background-image: linear-gradient(
220
+ background: linear-gradient(
226
221
  to bottom,
227
- rgba(0, 0, 0, 0) 0%,
228
- rgba(5, 0, 0, 0.53) 100%
222
+ var(--team-right-primary),
223
+ var(--team-right-primary-dark)
229
224
  );
230
225
  }
231
226
 
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;
227
+ /* Timer */
228
+ .time_box {
229
+ color: white;
230
+ font-size: 52px;
231
+ height: 77px;
232
+ width: 200px;
233
+ background: #0f131c;
234
+ font-weight: bold;
235
+ font-family: var(--font-family);
236
+ }
246
237
 
247
- --horizontal-padding: 0.5rem;
238
+ .top_bar {
239
+ display: none;
240
+ }
241
+
242
+ /* Bottom Bar */
243
+ .bottom_bar {
244
+ height: 30px;
245
+ }
246
+
247
+ /* Series Boxes */
248
+ .series_box {
249
+ background-color: #0f131c;
250
+ width: 72px;
248
251
  }
249
252
 
250
253
  .left_series_box {
251
- left: var(--horizontal-padding);
254
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 10px 100%);
255
+ padding-left: 13px;
256
+ padding-right: 5px;
252
257
  }
253
258
 
254
259
  .right_series_box {
255
- right: var(--horizontal-padding);
260
+ clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
261
+ padding-right: 13px;
262
+ padding-left: 5px;
256
263
  }
257
264
 
258
265
  .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
+ margin-left: 3px;
267
+ margin-right: 3px;
268
+ height: 18px;
269
+ width: 100%;
266
270
  }
267
271
 
268
272
  .series_score_box_point {
269
273
  }
270
274
 
271
- .left_series_score_box_point {
272
- background: var(--team-left-secondary);
275
+ .series_score_box_empty {
273
276
  }
274
277
 
275
- .right_series_score_box_point {
276
- background: var(--team-right-secondary);
278
+ .left_series_score_box_point {
279
+ background-color: var(--team-left-primary);
277
280
  }
278
281
 
279
- .series_score_box_empty {
280
- order: 1;
281
- border-radius: 5px;
282
- background: rgba(217, 217, 217, 0.32);
282
+ .left_series_score_box_empty {
283
+ background-color: var(--team-left-primary-dark);
284
+ opacity: 0.5;
283
285
  }
284
286
 
285
- .left_series_score_box_empty {
287
+ .right_series_score_box_point {
288
+ background-color: var(--team-right-primary);
286
289
  }
287
290
 
288
291
  .right_series_score_box_empty {
292
+ background-color: var(--team-right-rimary-dark);
293
+ opacity: 0.25;
289
294
  }
290
295
 
296
+ /* Game Info */
291
297
  .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;
298
+ background-color: #0f131c;
299
+ font-size: 20px;
300
+ width: 200px;
301
+ font-family: var(--font-family);
312
302
  }
313
303
 
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;
304
+ .series_info_box {
305
+ background-color: #0f131c;
306
+ font-size: 18px;
307
+ min-width: 580px;
308
+ padding-left: 20px;
309
+ padding-right: 20px;
310
+ height: 30px;
311
+ clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 10px 100%);
312
+ font-family: var(--font-family);
322
313
  }
323
- /* Replay END */
324
314
 
325
- /* Teams */
315
+ /* Team Box */
326
316
  .team_box {
317
+ color: white;
327
318
  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;
319
+ top: 190px;
335
320
  }
336
321
 
337
322
  .left_team_box {
338
- align-items: flex-start;
339
- left: -10px;
323
+ left: 0;
340
324
  }
341
325
 
342
326
  .right_team_box {
343
- right: -10px;
327
+ right: 0;
344
328
  }
345
329
 
330
+ /* Player Box */
346
331
  .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;
332
+ height: 35px;
333
+ width: 265px;
334
+ margin-bottom: 10px;
335
+ background-color: #0f131c;
357
336
  }
358
337
 
359
338
  .left_player_box {
360
339
  }
340
+
361
341
  .right_player_box {
362
342
  }
363
343
 
364
344
  .player_name {
365
- font-family: Lato;
366
- font-size: 24px;
367
- font-weight: 800;
368
- line-height: normal;
369
- padding: var(--padding);
345
+ font-size: 22px;
346
+ position: absolute;
347
+ z-index: 50;
348
+ text-shadow: 0 0 5px black;
349
+ top: 3px;
350
+ font-weight: bold;
370
351
  text-transform: uppercase;
371
352
  text-overflow: ellipsis;
353
+ max-width: 250px;
372
354
  white-space: nowrap;
373
355
  overflow: hidden;
374
- max-width: 300px;
356
+ font-family: var(--font-family);
375
357
  }
358
+
376
359
  .left_player_name {
377
- grid-column: 1;
378
- grid-row: 1;
379
- text-align: left;
360
+ left: 8px;
380
361
  }
362
+
381
363
  .right_player_name {
382
- grid-column: 2;
383
- text-align: right;
364
+ right: 8px;
384
365
  }
385
366
 
367
+ /* Boost */
386
368
  .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;
369
+ opacity: 0;
396
370
  }
371
+
397
372
  .left_player_boost {
398
- grid-column: 2;
399
- text-align: right;
400
- color: var(--team-left-secondary);
401
373
  }
374
+
402
375
  .right_player_boost {
403
- grid-column: 1;
404
- text-align: left;
405
- color: var(--team-right-secondary);
406
376
  }
407
377
 
408
378
  .boost_meter {
409
- margin-bottom: 0.1rem;
410
379
  width: 100%;
411
- height: 6px;
412
- background-color: var(--fallback-darker-mutual);
413
- grid-column: -1/1;
380
+ height: 100%;
381
+ position: absolute;
414
382
  }
383
+
415
384
  .left_boost_meter {
416
385
  }
386
+
417
387
  .right_boost_meter {
418
388
  }
419
389
 
420
- .boost_meter_bar {
421
- }
422
390
  .left_boost_meter_bar {
423
- background-color: var(--team-left-primary);
391
+ background: linear-gradient(
392
+ to bottom,
393
+ var(--team-left-primary),
394
+ var(--team-left-primary-dark)
395
+ );
424
396
  }
397
+
425
398
  .right_boost_meter_bar {
426
- background-color: var(--team-right-primary);
399
+ background: linear-gradient(
400
+ to bottom,
401
+ var(--team-right-primary),
402
+ var(--team-right-primary-dark)
403
+ );
427
404
  }
428
- /* Teams END */
429
405
 
430
- /* Stat Box */
406
+ /* Stats */
431
407
  .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;
408
+ background-color: #0f131c;
409
+ height: 40px;
410
+ padding-right: 15px;
439
411
  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);
412
+ clip-path: polygon(0 0, calc(100% - 15px) 0%, 100% 100%, 0% 100%);
455
413
  }
456
414
 
457
415
  .stat_box_player {
458
- font-family: Lato;
416
+ padding-left: 20px;
417
+ padding-right: 20px;
418
+ padding-top: 4px;
459
419
  font-size: 24px;
460
- font-weight: 800;
461
- line-height: normal;
462
- padding: var(--padding);
420
+ height: 36px;
421
+ background: #000;
463
422
  text-transform: uppercase;
464
423
  text-overflow: ellipsis;
424
+ width: 220px;
425
+ text-align: center;
465
426
  white-space: nowrap;
466
427
  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;
428
+ font-weight: bold;
429
+ font-family: var(--font-family);
485
430
  }
486
431
 
487
432
  .stat_box_statistic {
488
- flex: 1;
489
433
  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;
434
+ justify-content: flex-end;
435
+ margin: auto;
436
+ white-space: nowrap;
437
+ padding-left: 10px;
438
+ padding-right: 10px;
499
439
  }
440
+
500
441
  .stat_box_statistic_value {
442
+ font-size: 22px;
443
+ margin-right: 5px;
444
+ min-width: 25px;
445
+ text-align: right;
446
+ font-weight: bold;
447
+ font-family: var(--font-family);
501
448
  }
449
+
502
450
  .stat_box_statistic_name {
503
- order: 0;
451
+ padding-top: 2px;
452
+ font-size: 20px;
453
+ font-family: var(--font-family);
504
454
  }
505
455
 
506
456
  .stat_box_statistic_player_id,
@@ -510,34 +460,6 @@
510
460
  display: none;
511
461
  }
512
462
 
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
463
  /* Target Boost (the circular meter) */
542
464
  .target_boost {
543
465
  font-size: 3rem;
@@ -545,7 +467,7 @@
545
467
  position: absolute;
546
468
  bottom: 0;
547
469
  right: 0;
548
- left: unset;
470
+ margin-left: auto;
549
471
  width: 200px;
550
472
  height: 200px;
551
473
  margin-bottom: 50px;
@@ -684,13 +606,13 @@
684
606
  position: absolute;
685
607
  z-index: 500;
686
608
  color: white;
609
+ font-size: 2rem;
687
610
  }
688
611
 
689
612
  .left_target_boost_value {
690
- color: var(--team-left-secondary);
691
613
  }
692
614
 
693
615
  .right_target_boost_value {
694
- color: var(--team-right-secondary);
695
616
  }
617
+
696
618
  /* Target Boost END */