lighthouse 11.7.0-dev.20240404 → 11.7.0-dev.20240405

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,2138 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /*
8
+ Naming convention:
9
+
10
+ If a variable is used for a specific component: --{component}-{property name}-{modifier}
11
+
12
+ Both {component} and {property name} should be kebab-case. If the target is the entire page,
13
+ use 'report' for the component. The property name should not be abbreviated. Use the
14
+ property name the variable is intended for - if it's used for multiple, a common descriptor
15
+ is fine (ex: 'size' for a variable applied to 'width' and 'height'). If a variable is shared
16
+ across multiple components, either create more variables or just drop the "{component}-"
17
+ part of the name. Append any modifiers at the end (ex: 'big', 'dark').
18
+
19
+ For colors: --color-{hue}-{intensity}
20
+
21
+ {intensity} is the Material Design tag - 700, A700, etc.
22
+ */
23
+ .lh-vars {
24
+ /* Palette using Material Design Colors
25
+ * https://www.materialui.co/colors */
26
+ --color-amber-50: #FFF8E1;
27
+ --color-blue-200: #90CAF9;
28
+ --color-blue-900: #0D47A1;
29
+ --color-blue-A700: #2962FF;
30
+ --color-blue-primary: #06f;
31
+ --color-cyan-500: #00BCD4;
32
+ --color-gray-100: #F5F5F5;
33
+ --color-gray-300: #CFCFCF;
34
+ --color-gray-200: #E0E0E0;
35
+ --color-gray-400: #BDBDBD;
36
+ --color-gray-50: #FAFAFA;
37
+ --color-gray-500: #9E9E9E;
38
+ --color-gray-600: #757575;
39
+ --color-gray-700: #616161;
40
+ --color-gray-800: #424242;
41
+ --color-gray-900: #212121;
42
+ --color-gray: #000000;
43
+ --color-green-700: #080;
44
+ --color-green: #0c6;
45
+ --color-lime-400: #D3E156;
46
+ --color-orange-50: #FFF3E0;
47
+ --color-orange-700: #C33300;
48
+ --color-orange: #fa3;
49
+ --color-red-700: #c00;
50
+ --color-red: #f33;
51
+ --color-teal-600: #00897B;
52
+ --color-white: #FFFFFF;
53
+
54
+ /* Context-specific colors */
55
+ --color-average-secondary: var(--color-orange-700);
56
+ --color-average: var(--color-orange);
57
+ --color-fail-secondary: var(--color-red-700);
58
+ --color-fail: var(--color-red);
59
+ --color-hover: var(--color-gray-50);
60
+ --color-informative: var(--color-blue-900);
61
+ --color-pass-secondary: var(--color-green-700);
62
+ --color-pass: var(--color-green);
63
+ --color-not-applicable: var(--color-gray-600);
64
+
65
+ /* Component variables */
66
+ --audit-description-padding-left: calc(var(--score-icon-size) + var(--score-icon-margin-left) + var(--score-icon-margin-right));
67
+ --audit-explanation-line-height: 16px;
68
+ --audit-group-margin-bottom: calc(var(--default-padding) * 6);
69
+ --audit-group-padding-vertical: 8px;
70
+ --audit-margin-horizontal: 5px;
71
+ --audit-padding-vertical: 8px;
72
+ --category-padding: calc(var(--default-padding) * 6) var(--edge-gap-padding) calc(var(--default-padding) * 4);
73
+ --chevron-line-stroke: var(--color-gray-600);
74
+ --chevron-size: 12px;
75
+ --default-padding: 8px;
76
+ --edge-gap-padding: calc(var(--default-padding) * 4);
77
+ --env-item-background-color: var(--color-gray-100);
78
+ --env-item-font-size: 28px;
79
+ --env-item-line-height: 36px;
80
+ --env-item-padding: 10px 0px;
81
+ --env-name-min-width: 220px;
82
+ --footer-padding-vertical: 16px;
83
+ --gauge-circle-size-big: 96px;
84
+ --gauge-circle-size: 48px;
85
+ --gauge-circle-size-sm: 32px;
86
+ --gauge-label-font-size-big: 18px;
87
+ --gauge-label-font-size: var(--report-font-size-secondary);
88
+ --gauge-label-line-height-big: 24px;
89
+ --gauge-label-line-height: var(--report-line-height-secondary);
90
+ --gauge-percentage-font-size-big: 38px;
91
+ --gauge-percentage-font-size: var(--report-font-size-secondary);
92
+ --gauge-wrapper-width: 120px;
93
+ --header-line-height: 24px;
94
+ --highlighter-background-color: var(--report-text-color);
95
+ --icon-square-size: calc(var(--score-icon-size) * 0.88);
96
+ --image-preview-size: 48px;
97
+ --link-color: var(--color-blue-primary);
98
+ --locale-selector-background-color: var(--color-white);
99
+ --metric-toggle-lines-fill: #7F7F7F;
100
+ --metric-value-font-size: calc(var(--report-font-size) * 1.8);
101
+ --metrics-toggle-background-color: var(--color-gray-200);
102
+ --plugin-badge-background-color: var(--color-white);
103
+ --plugin-badge-size-big: calc(var(--gauge-circle-size-big) / 2.7);
104
+ --plugin-badge-size: calc(var(--gauge-circle-size) / 2.7);
105
+ --plugin-icon-size: 65%;
106
+ --pwa-icon-margin: 0 var(--default-padding);
107
+ --pwa-icon-size: var(--topbar-logo-size);
108
+ --report-background-color: #fff;
109
+ --report-border-color-secondary: #ebebeb;
110
+ --report-font-family-monospace: 'Roboto Mono', 'Menlo', 'dejavu sans mono', 'Consolas', 'Lucida Console', monospace;
111
+ --report-font-family: Roboto, Helvetica, Arial, sans-serif;
112
+ --report-font-size: 14px;
113
+ --report-font-size-secondary: 12px;
114
+ --report-icon-size: var(--score-icon-background-size);
115
+ --report-line-height: 24px;
116
+ --report-line-height-secondary: 20px;
117
+ --report-monospace-font-size: calc(var(--report-font-size) * 0.85);
118
+ --report-text-color-secondary: var(--color-gray-800);
119
+ --report-text-color: var(--color-gray-900);
120
+ --report-content-max-width: calc(60 * var(--report-font-size)); /* defaults to 840px */
121
+ --report-content-min-width: 360px;
122
+ --report-content-max-width-minus-edge-gap: calc(var(--report-content-max-width) - var(--edge-gap-padding) * 2);
123
+ --score-container-padding: 8px;
124
+ --score-icon-background-size: 24px;
125
+ --score-icon-margin-left: 6px;
126
+ --score-icon-margin-right: 14px;
127
+ --score-icon-margin: 0 var(--score-icon-margin-right) 0 var(--score-icon-margin-left);
128
+ --score-icon-size: 12px;
129
+ --score-icon-size-big: 16px;
130
+ --screenshot-overlay-background: rgba(0, 0, 0, 0.3);
131
+ --section-padding-vertical: calc(var(--default-padding) * 6);
132
+ --snippet-background-color: var(--color-gray-50);
133
+ --snippet-color: #0938C2;
134
+ --stackpack-padding-horizontal: 10px;
135
+ --sticky-header-background-color: var(--report-background-color);
136
+ --sticky-header-buffer: var(--topbar-height);
137
+ --sticky-header-height: calc(var(--gauge-circle-size-sm) + var(--score-container-padding) * 2 + 1em);
138
+ --table-group-header-background-color: #EEF1F4;
139
+ --table-group-header-text-color: var(--color-gray-700);
140
+ --table-higlight-background-color: #F5F7FA;
141
+ --tools-icon-color: var(--color-gray-600);
142
+ --topbar-background-color: var(--color-white);
143
+ --topbar-height: 32px;
144
+ --topbar-logo-size: 24px;
145
+ --topbar-padding: 0 8px;
146
+ --toplevel-warning-background-color: hsla(30, 100%, 75%, 10%);
147
+ --toplevel-warning-message-text-color: var(--color-average-secondary);
148
+ --toplevel-warning-padding: 18px;
149
+ --toplevel-warning-text-color: var(--report-text-color);
150
+
151
+ /* SVGs */
152
+ --plugin-icon-url-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="%23FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z"/></svg>');
153
+ --plugin-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="%23757575"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z"/></svg>');
154
+
155
+ --pass-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><title>check</title><path fill="%23178239" d="M24 4C12.95 4 4 12.95 4 24c0 11.04 8.95 20 20 20 11.04 0 20-8.96 20-20 0-11.05-8.96-20-20-20zm-4 30L10 24l2.83-2.83L20 28.34l15.17-15.17L38 16 20 34z"/></svg>');
156
+ --average-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><title>info</title><path fill="%23E67700" d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm2 30h-4V22h4v12zm0-16h-4v-4h4v4z"/></svg>');
157
+ --fail-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><title>warn</title><path fill="%23C7221F" d="M2 42h44L24 4 2 42zm24-6h-4v-4h4v4zm0-8h-4v-8h4v8z"/></svg>');
158
+ --error-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3 15"><title>error</title><path d="M0 15H 3V 12H 0V" fill="%23FF4E42"/><path d="M0 9H 3V 0H 0V" fill="%23FF4E42"/></svg>');
159
+
160
+ --pwa-installable-gray-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="nonzero"><circle fill="%23DAE0E3" cx="12" cy="12" r="12"/><path d="M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm3.5 7.7h-2.8v2.8h-1.4v-2.8H8.5v-1.4h2.8V8.5h1.4v2.8h2.8v1.4z" fill="%23FFF"/></g></svg>');
161
+ --pwa-optimized-gray-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="%23DAE0E3" width="24" height="24" rx="12"/><path fill="%23FFF" d="M12 15.07l3.6 2.18-.95-4.1 3.18-2.76-4.2-.36L12 6.17l-1.64 3.86-4.2.36 3.2 2.76-.96 4.1z"/><path d="M5 5h14v14H5z"/></g></svg>');
162
+
163
+ --pwa-installable-gray-url-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="nonzero"><circle fill="%23424242" cx="12" cy="12" r="12"/><path d="M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm3.5 7.7h-2.8v2.8h-1.4v-2.8H8.5v-1.4h2.8V8.5h1.4v2.8h2.8v1.4z" fill="%23FFF"/></g></svg>');
164
+ --pwa-optimized-gray-url-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="%23424242" width="24" height="24" rx="12"/><path fill="%23FFF" d="M12 15.07l3.6 2.18-.95-4.1 3.18-2.76-4.2-.36L12 6.17l-1.64 3.86-4.2.36 3.2 2.76-.96 4.1z"/><path d="M5 5h14v14H5z"/></g></svg>');
165
+
166
+ --pwa-installable-color-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><circle fill="%230CCE6B" cx="12" cy="12" r="12"/><path d="M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14zm3.5 7.7h-2.8v2.8h-1.4v-2.8H8.5v-1.4h2.8V8.5h1.4v2.8h2.8v1.4z" fill="%23FFF"/></g></svg>');
167
+ --pwa-optimized-color-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="%230CCE6B" width="24" height="24" rx="12"/><path d="M5 5h14v14H5z"/><path fill="%23FFF" d="M12 15.07l3.6 2.18-.95-4.1 3.18-2.76-4.2-.36L12 6.17l-1.64 3.86-4.2.36 3.2 2.76-.96 4.1z"/></g></svg>');
168
+
169
+ --swap-locale-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"/></svg>');
170
+ }
171
+
172
+ @media not print {
173
+ .lh-dark {
174
+ /* Pallete */
175
+ --color-gray-200: var(--color-gray-800);
176
+ --color-gray-300: #616161;
177
+ --color-gray-400: var(--color-gray-600);
178
+ --color-gray-700: var(--color-gray-400);
179
+ --color-gray-50: #757575;
180
+ --color-gray-600: var(--color-gray-500);
181
+ --color-green-700: var(--color-green);
182
+ --color-orange-700: var(--color-orange);
183
+ --color-red-700: var(--color-red);
184
+ --color-teal-600: var(--color-cyan-500);
185
+
186
+ /* Context-specific colors */
187
+ --color-hover: rgba(0, 0, 0, 0.2);
188
+ --color-informative: var(--color-blue-200);
189
+
190
+ /* Component variables */
191
+ --env-item-background-color: #393535;
192
+ --link-color: var(--color-blue-200);
193
+ --locale-selector-background-color: var(--color-gray-200);
194
+ --plugin-badge-background-color: var(--color-gray-800);
195
+ --report-background-color: var(--color-gray-900);
196
+ --report-border-color-secondary: var(--color-gray-200);
197
+ --report-text-color-secondary: var(--color-gray-400);
198
+ --report-text-color: var(--color-gray-100);
199
+ --snippet-color: var(--color-cyan-500);
200
+ --topbar-background-color: var(--color-gray);
201
+ --toplevel-warning-background-color: hsl(33deg 14% 18%);
202
+ --toplevel-warning-message-text-color: var(--color-orange-700);
203
+ --toplevel-warning-text-color: var(--color-gray-100);
204
+ --table-group-header-background-color: rgba(186, 196, 206, 0.15);
205
+ --table-group-header-text-color: var(--color-gray-100);
206
+ --table-higlight-background-color: rgba(186, 196, 206, 0.09);
207
+
208
+ /* SVGs */
209
+ --plugin-icon-url: var(--plugin-icon-url-dark);
210
+ --pwa-installable-gray-url: var(--pwa-installable-gray-url-dark);
211
+ --pwa-optimized-gray-url: var(--pwa-optimized-gray-url-dark);
212
+ }
213
+ }
214
+
215
+ @media only screen and (max-width: 480px) {
216
+ .lh-vars {
217
+ --audit-group-margin-bottom: 20px;
218
+ --edge-gap-padding: var(--default-padding);
219
+ --env-name-min-width: 120px;
220
+ --gauge-circle-size-big: 96px;
221
+ --gauge-circle-size: 72px;
222
+ --gauge-label-font-size-big: 22px;
223
+ --gauge-label-font-size: 14px;
224
+ --gauge-label-line-height-big: 26px;
225
+ --gauge-label-line-height: 20px;
226
+ --gauge-percentage-font-size-big: 34px;
227
+ --gauge-percentage-font-size: 26px;
228
+ --gauge-wrapper-width: 112px;
229
+ --header-padding: 16px 0 16px 0;
230
+ --image-preview-size: 24px;
231
+ --plugin-icon-size: 75%;
232
+ --pwa-icon-margin: 0 7px 0 -3px;
233
+ --report-font-size: 14px;
234
+ --report-line-height: 20px;
235
+ --score-icon-margin-left: 2px;
236
+ --score-icon-size: 10px;
237
+ --topbar-height: 28px;
238
+ --topbar-logo-size: 20px;
239
+ }
240
+ }
241
+
242
+ .lh-vars.lh-devtools {
243
+ --audit-explanation-line-height: 14px;
244
+ --audit-group-margin-bottom: 20px;
245
+ --audit-group-padding-vertical: 12px;
246
+ --audit-padding-vertical: 4px;
247
+ --category-padding: 12px;
248
+ --default-padding: 12px;
249
+ --env-name-min-width: 120px;
250
+ --footer-padding-vertical: 8px;
251
+ --gauge-circle-size-big: 72px;
252
+ --gauge-circle-size: 64px;
253
+ --gauge-label-font-size-big: 22px;
254
+ --gauge-label-font-size: 14px;
255
+ --gauge-label-line-height-big: 26px;
256
+ --gauge-label-line-height: 20px;
257
+ --gauge-percentage-font-size-big: 34px;
258
+ --gauge-percentage-font-size: 26px;
259
+ --gauge-wrapper-width: 97px;
260
+ --header-line-height: 20px;
261
+ --header-padding: 16px 0 16px 0;
262
+ --screenshot-overlay-background: transparent;
263
+ --plugin-icon-size: 75%;
264
+ --pwa-icon-margin: 0 7px 0 -3px;
265
+ --report-font-family-monospace: 'Menlo', 'dejavu sans mono', 'Consolas', 'Lucida Console', monospace;
266
+ --report-font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
267
+ --report-font-size: 12px;
268
+ --report-line-height: 20px;
269
+ --score-icon-margin-left: 2px;
270
+ --score-icon-size: 10px;
271
+ --section-padding-vertical: 8px;
272
+ }
273
+
274
+ .lh-container:has(.lh-sticky-header) {
275
+ --sticky-header-buffer: calc(var(--topbar-height) + var(--sticky-header-height));
276
+ }
277
+
278
+ .lh-container:not(.lh-topbar + .lh-container) {
279
+ --topbar-height: 0;
280
+ --sticky-header-height: 0;
281
+ --sticky-header-buffer: 0;
282
+ }
283
+
284
+ .lh-max-viewport {
285
+ display: flex;
286
+ flex-direction: column;
287
+ min-height: 100vh;
288
+ width: 100%;
289
+ }
290
+
291
+ .lh-devtools.lh-root {
292
+ height: 100%;
293
+ }
294
+ .lh-devtools.lh-root img {
295
+ /* Override devtools default 'min-width: 0' so svg without size in a flexbox isn't collapsed. */
296
+ min-width: auto;
297
+ }
298
+ .lh-devtools .lh-container {
299
+ overflow-y: scroll;
300
+ height: calc(100% - var(--topbar-height));
301
+ /** The .lh-container is the scroll parent in DevTools so we exclude the topbar from the sticky header buffer. */
302
+ --sticky-header-buffer: 0;
303
+ }
304
+ .lh-devtools .lh-container:has(.lh-sticky-header) {
305
+ /** The .lh-container is the scroll parent in DevTools so we exclude the topbar from the sticky header buffer. */
306
+ --sticky-header-buffer: var(--sticky-header-height);
307
+ }
308
+ @media print {
309
+ .lh-devtools .lh-container {
310
+ overflow: unset;
311
+ }
312
+ }
313
+ .lh-devtools .lh-sticky-header {
314
+ /* This is normally the height of the topbar, but we want it to stick to the top of our scroll container .lh-container` */
315
+ top: 0;
316
+ }
317
+ .lh-devtools .lh-element-screenshot__overlay {
318
+ position: absolute;
319
+ }
320
+
321
+ @keyframes fadeIn {
322
+ 0% { opacity: 0;}
323
+ 100% { opacity: 0.6;}
324
+ }
325
+
326
+ .lh-root *, .lh-root *::before, .lh-root *::after {
327
+ box-sizing: border-box;
328
+ }
329
+
330
+ .lh-root {
331
+ font-family: var(--report-font-family);
332
+ font-size: var(--report-font-size);
333
+ margin: 0;
334
+ line-height: var(--report-line-height);
335
+ background: var(--report-background-color);
336
+ color: var(--report-text-color);
337
+ }
338
+
339
+ .lh-root :focus-visible {
340
+ outline: -webkit-focus-ring-color auto 3px;
341
+ }
342
+ .lh-root summary:focus {
343
+ outline: none;
344
+ box-shadow: 0 0 0 1px hsl(217, 89%, 61%);
345
+ }
346
+
347
+ .lh-root [hidden] {
348
+ display: none !important;
349
+ }
350
+
351
+ .lh-root pre {
352
+ margin: 0;
353
+ }
354
+
355
+ .lh-root pre,
356
+ .lh-root code {
357
+ font-family: var(--report-font-family-monospace);
358
+ }
359
+
360
+ .lh-root details > summary {
361
+ cursor: pointer;
362
+ }
363
+
364
+ .lh-hidden {
365
+ display: none !important;
366
+ }
367
+
368
+ .lh-container {
369
+ /*
370
+ Text wrapping in the report is so much FUN!
371
+ We have a `word-break: break-word;` globally here to prevent a few common scenarios, namely
372
+ long non-breakable text (usually URLs) found in:
373
+ 1. The footer
374
+ 2. .lh-node (outerHTML)
375
+ 3. .lh-code
376
+
377
+ With that sorted, the next challenge is appropriate column sizing and text wrapping inside our
378
+ .lh-details tables. Even more fun.
379
+ * We don't want table headers ("Potential Savings (ms)") to wrap or their column values, but
380
+ we'd be happy for the URL column to wrap if the URLs are particularly long.
381
+ * We want the narrow columns to remain narrow, providing the most column width for URL
382
+ * We don't want the table to extend past 100% width.
383
+ * Long URLs in the URL column can wrap. Util.getURLDisplayName maxes them out at 64 characters,
384
+ but they do not get any overflow:ellipsis treatment.
385
+ */
386
+ word-break: break-word;
387
+ }
388
+
389
+ .lh-audit-group a,
390
+ .lh-category-header__description a,
391
+ .lh-audit__description a,
392
+ .lh-warnings a,
393
+ .lh-footer a,
394
+ .lh-table-column--link a {
395
+ color: var(--link-color);
396
+ }
397
+
398
+ .lh-audit__description, .lh-audit__stackpack {
399
+ --inner-audit-padding-right: var(--stackpack-padding-horizontal);
400
+ padding-left: var(--audit-description-padding-left);
401
+ padding-right: var(--inner-audit-padding-right);
402
+ padding-top: 8px;
403
+ padding-bottom: 8px;
404
+ }
405
+
406
+ .lh-details {
407
+ margin-top: var(--default-padding);
408
+ margin-bottom: var(--default-padding);
409
+ margin-left: var(--audit-description-padding-left);
410
+ /* whatever the .lh-details side margins are */
411
+ width: 100%;
412
+ }
413
+
414
+ .lh-audit__stackpack {
415
+ display: flex;
416
+ align-items: center;
417
+ }
418
+
419
+ .lh-audit__stackpack__img {
420
+ max-width: 30px;
421
+ margin-right: var(--default-padding)
422
+ }
423
+
424
+ /* Report header */
425
+
426
+ .lh-report-icon {
427
+ display: flex;
428
+ align-items: center;
429
+ padding: 10px 12px;
430
+ cursor: pointer;
431
+ }
432
+ .lh-report-icon[disabled] {
433
+ opacity: 0.3;
434
+ pointer-events: none;
435
+ }
436
+
437
+ .lh-report-icon::before {
438
+ content: "";
439
+ margin: 4px;
440
+ background-repeat: no-repeat;
441
+ width: var(--report-icon-size);
442
+ height: var(--report-icon-size);
443
+ opacity: 0.7;
444
+ display: inline-block;
445
+ vertical-align: middle;
446
+ }
447
+ .lh-report-icon:hover::before {
448
+ opacity: 1;
449
+ }
450
+ .lh-dark .lh-report-icon::before {
451
+ filter: invert(1);
452
+ }
453
+ .lh-report-icon--print::before {
454
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"/><path fill="none" d="M0 0h24v24H0z"/></svg>');
455
+ }
456
+ .lh-report-icon--copy::before {
457
+ background-image: url('data:image/svg+xml;utf8,<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>');
458
+ }
459
+ .lh-report-icon--open::before {
460
+ background-image: url('data:image/svg+xml;utf8,<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm-7 6l-4 4h3v6h2v-6h3l-4-4z"/></svg>');
461
+ }
462
+ .lh-report-icon--download::before {
463
+ background-image: url('data:image/svg+xml;utf8,<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
464
+ }
465
+ .lh-report-icon--dark::before {
466
+ background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 100 125"><path d="M50 23.587c-16.27 0-22.799 12.574-22.799 21.417 0 12.917 10.117 22.451 12.436 32.471h20.726c2.32-10.02 12.436-19.554 12.436-32.471 0-8.843-6.528-21.417-22.799-21.417zM39.637 87.161c0 3.001 1.18 4.181 4.181 4.181h.426l.41 1.231C45.278 94.449 46.042 95 48.019 95h3.963c1.978 0 2.74-.551 3.365-2.427l.409-1.231h.427c3.002 0 4.18-1.18 4.18-4.181V80.91H39.637v6.251zM50 18.265c1.26 0 2.072-.814 2.072-2.073v-9.12C52.072 5.813 51.26 5 50 5c-1.259 0-2.072.813-2.072 2.073v9.12c0 1.259.813 2.072 2.072 2.072zM68.313 23.727c.994.774 2.135.634 2.91-.357l5.614-7.187c.776-.992.636-2.135-.356-2.909-.992-.776-2.135-.636-2.91.357l-5.613 7.186c-.778.993-.636 2.135.355 2.91zM91.157 36.373c-.306-1.222-1.291-1.815-2.513-1.51l-8.85 2.207c-1.222.305-1.814 1.29-1.51 2.512.305 1.223 1.291 1.814 2.513 1.51l8.849-2.206c1.223-.305 1.816-1.291 1.511-2.513zM86.757 60.48l-8.331-3.709c-1.15-.512-2.225-.099-2.736 1.052-.512 1.151-.1 2.224 1.051 2.737l8.33 3.707c1.15.514 2.225.101 2.736-1.05.513-1.149.1-2.223-1.05-2.737zM28.779 23.37c.775.992 1.917 1.131 2.909.357.992-.776 1.132-1.917.357-2.91l-5.615-7.186c-.775-.992-1.917-1.132-2.909-.357s-1.131 1.917-.356 2.909l5.614 7.187zM21.715 39.583c.305-1.223-.288-2.208-1.51-2.513l-8.849-2.207c-1.222-.303-2.208.289-2.513 1.511-.303 1.222.288 2.207 1.511 2.512l8.848 2.206c1.222.304 2.208-.287 2.513-1.509zM21.575 56.771l-8.331 3.711c-1.151.511-1.563 1.586-1.05 2.735.511 1.151 1.586 1.563 2.736 1.052l8.331-3.711c1.151-.511 1.563-1.586 1.05-2.735-.512-1.15-1.585-1.562-2.736-1.052z"/></svg>');
467
+ }
468
+ .lh-report-icon--treemap::before {
469
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="black"><path d="M3 5v14h19V5H3zm2 2h15v4H5V7zm0 10v-4h4v4H5zm6 0v-4h9v4h-9z"/></svg>');
470
+ }
471
+ .lh-report-icon--date::before {
472
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 11h2v2H7v-2zm14-5v14a2 2 0 01-2 2H5a2 2 0 01-2-2V6c0-1.1.9-2 2-2h1V2h2v2h8V2h2v2h1a2 2 0 012 2zM5 8h14V6H5v2zm14 12V10H5v10h14zm-4-7h2v-2h-2v2zm-4 0h2v-2h-2v2z"/></svg>');
473
+ }
474
+ .lh-report-icon--devices::before {
475
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 6h18V4H4a2 2 0 00-2 2v11H0v3h14v-3H4V6zm19 2h-6a1 1 0 00-1 1v10c0 .6.5 1 1 1h6c.6 0 1-.5 1-1V9c0-.6-.5-1-1-1zm-1 9h-4v-7h4v7z"/></svg>');
476
+ }
477
+ .lh-report-icon--world::before {
478
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm7 6h-3c-.3-1.3-.8-2.5-1.4-3.6A8 8 0 0 1 18.9 8zm-7-4a14 14 0 0 1 2 4h-4a14 14 0 0 1 2-4zM4.3 14a8.2 8.2 0 0 1 0-4h3.3a16.5 16.5 0 0 0 0 4H4.3zm.8 2h3a14 14 0 0 0 1.3 3.6A8 8 0 0 1 5.1 16zm3-8H5a8 8 0 0 1 4.3-3.6L8 8zM12 20a14 14 0 0 1-2-4h4a14 14 0 0 1-2 4zm2.3-6H9.7a14.7 14.7 0 0 1 0-4h4.6a14.6 14.6 0 0 1 0 4zm.3 5.6c.6-1.2 1-2.4 1.4-3.6h3a8 8 0 0 1-4.4 3.6zm1.8-5.6a16.5 16.5 0 0 0 0-4h3.3a8.2 8.2 0 0 1 0 4h-3.3z"/></svg>');
479
+ }
480
+ .lh-report-icon--stopwatch::before {
481
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 1H9v2h6V1zm-4 13h2V8h-2v6zm8.1-6.6L20.5 6l-1.4-1.4L17.7 6A9 9 0 0 0 3 13a9 9 0 1 0 16-5.6zm-7 12.6a7 7 0 1 1 0-14 7 7 0 0 1 0 14z"/></svg>');
482
+ }
483
+ .lh-report-icon--networkspeed::before {
484
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.9 5c-.2 0-.3 0-.4.2v.2L10.1 17a2 2 0 0 0-.2 1 2 2 0 0 0 4 .4l2.4-12.9c0-.3-.2-.5-.5-.5zM1 9l2 2c2.9-2.9 6.8-4 10.5-3.6l1.2-2.7C10 3.8 4.7 5.3 1 9zm20 2 2-2a15.4 15.4 0 0 0-5.6-3.6L17 8.2c1.5.7 2.9 1.6 4.1 2.8zm-4 4 2-2a9.9 9.9 0 0 0-2.7-1.9l-.5 3 1.2.9zM5 13l2 2a7.1 7.1 0 0 1 4-2l1.3-2.9C9.7 10.1 7 11 5 13z"/></svg>');
485
+ }
486
+ .lh-report-icon--samples-one::before {
487
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="7" cy="14" r="3"/><path d="M7 18a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm4-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm5.6 17.6a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/></svg>');
488
+ }
489
+ .lh-report-icon--samples-many::before {
490
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 18a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm4-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm5.6 17.6a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/><circle cx="7" cy="14" r="3"/><circle cx="11" cy="6" r="3"/></svg>');
491
+ }
492
+ .lh-report-icon--chrome::before {
493
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-50 -50 562 562"><path d="M256 25.6v25.6a204 204 0 0 1 144.8 60 204 204 0 0 1 60 144.8 204 204 0 0 1-60 144.8 204 204 0 0 1-144.8 60 204 204 0 0 1-144.8-60 204 204 0 0 1-60-144.8 204 204 0 0 1 60-144.8 204 204 0 0 1 144.8-60V0a256 256 0 1 0 0 512 256 256 0 0 0 0-512v25.6z"/><path d="M256 179.2v25.6a51.3 51.3 0 0 1 0 102.4 51.3 51.3 0 0 1 0-102.4v-51.2a102.3 102.3 0 1 0-.1 204.7 102.3 102.3 0 0 0 .1-204.7v25.6z"/><path d="M256 204.8h217.6a25.6 25.6 0 0 0 0-51.2H256a25.6 25.6 0 0 0 0 51.2m44.3 76.8L191.5 470.1a25.6 25.6 0 1 0 44.4 25.6l108.8-188.5a25.6 25.6 0 1 0-44.4-25.6m-88.6 0L102.9 93.2a25.7 25.7 0 0 0-35-9.4 25.7 25.7 0 0 0-9.4 35l108.8 188.5a25.7 25.7 0 0 0 35 9.4 25.9 25.9 0 0 0 9.4-35.1"/></svg>');
494
+ }
495
+ .lh-report-icon--external::before {
496
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><path d="M3.15 11.9a1.01 1.01 0 0 1-.743-.307 1.01 1.01 0 0 1-.306-.743v-7.7c0-.292.102-.54.306-.744a1.01 1.01 0 0 1 .744-.306H7v1.05H3.15v7.7h7.7V7h1.05v3.85c0 .291-.103.54-.307.743a1.01 1.01 0 0 1-.743.307h-7.7Zm2.494-2.8-.743-.744 5.206-5.206H8.401V2.1h3.5v3.5h-1.05V3.893L5.644 9.1Z"/></svg>');
497
+ }
498
+
499
+ .lh-buttons {
500
+ display: flex;
501
+ flex-wrap: wrap;
502
+ margin: var(--default-padding) 0;
503
+ }
504
+ .lh-button {
505
+ height: 32px;
506
+ border: 1px solid var(--report-border-color-secondary);
507
+ border-radius: 3px;
508
+ color: var(--link-color);
509
+ background-color: var(--report-background-color);
510
+ margin: 5px;
511
+ }
512
+
513
+ .lh-button:first-of-type {
514
+ margin-left: 0;
515
+ }
516
+
517
+ /* Node */
518
+ .lh-node__snippet {
519
+ font-family: var(--report-font-family-monospace);
520
+ color: var(--snippet-color);
521
+ font-size: var(--report-monospace-font-size);
522
+ line-height: 20px;
523
+ }
524
+
525
+ /* Score */
526
+
527
+ .lh-audit__score-icon {
528
+ width: var(--score-icon-size);
529
+ height: var(--score-icon-size);
530
+ margin: var(--score-icon-margin);
531
+ }
532
+
533
+ .lh-audit--pass .lh-audit__display-text {
534
+ color: var(--color-pass-secondary);
535
+ }
536
+ .lh-audit--pass .lh-audit__score-icon,
537
+ .lh-scorescale-range--pass::before {
538
+ border-radius: 100%;
539
+ background: var(--color-pass);
540
+ }
541
+
542
+ .lh-audit--average .lh-audit__display-text {
543
+ color: var(--color-average-secondary);
544
+ }
545
+ .lh-audit--average .lh-audit__score-icon,
546
+ .lh-scorescale-range--average::before {
547
+ background: var(--color-average);
548
+ width: var(--icon-square-size);
549
+ height: var(--icon-square-size);
550
+ }
551
+
552
+ .lh-audit--fail .lh-audit__display-text {
553
+ color: var(--color-fail-secondary);
554
+ }
555
+ .lh-audit--fail .lh-audit__score-icon,
556
+ .lh-audit--error .lh-audit__score-icon,
557
+ .lh-scorescale-range--fail::before {
558
+ border-left: calc(var(--score-icon-size) / 2) solid transparent;
559
+ border-right: calc(var(--score-icon-size) / 2) solid transparent;
560
+ border-bottom: var(--score-icon-size) solid var(--color-fail);
561
+ }
562
+
563
+ .lh-audit--error .lh-audit__score-icon,
564
+ .lh-metric--error .lh-metric__icon {
565
+ background-image: var(--error-icon-url);
566
+ background-repeat: no-repeat;
567
+ background-position: center;
568
+ border: none;
569
+ }
570
+
571
+ .lh-gauge__wrapper--fail .lh-gauge--error {
572
+ background-image: var(--error-icon-url);
573
+ background-repeat: no-repeat;
574
+ background-position: center;
575
+ transform: scale(0.5);
576
+ top: var(--score-container-padding);
577
+ }
578
+
579
+ .lh-audit--manual .lh-audit__display-text,
580
+ .lh-audit--notapplicable .lh-audit__display-text {
581
+ color: var(--color-gray-600);
582
+ }
583
+ .lh-audit--manual .lh-audit__score-icon,
584
+ .lh-audit--notapplicable .lh-audit__score-icon {
585
+ border: calc(0.2 * var(--score-icon-size)) solid var(--color-gray-400);
586
+ border-radius: 100%;
587
+ background: none;
588
+ }
589
+
590
+ .lh-audit--informative .lh-audit__display-text {
591
+ color: var(--color-gray-600);
592
+ }
593
+
594
+ .lh-audit--informative .lh-audit__score-icon {
595
+ border: calc(0.2 * var(--score-icon-size)) solid var(--color-gray-400);
596
+ border-radius: 100%;
597
+ }
598
+
599
+ .lh-audit__description,
600
+ .lh-audit__stackpack {
601
+ color: var(--report-text-color-secondary);
602
+ }
603
+ .lh-audit__adorn {
604
+ border: 1px solid var(--color-gray-500);
605
+ border-radius: 3px;
606
+ margin: 0 3px;
607
+ padding: 0 2px;
608
+ line-height: 1.1;
609
+ display: inline-block;
610
+ font-size: 90%;
611
+ color: var(--report-text-color-secondary);
612
+ }
613
+
614
+ .lh-category-header__description {
615
+ text-align: center;
616
+ color: var(--color-gray-700);
617
+ margin: 0px auto;
618
+ max-width: 400px;
619
+ }
620
+
621
+
622
+ .lh-audit__display-text,
623
+ .lh-chevron-container {
624
+ margin: 0 var(--audit-margin-horizontal);
625
+ }
626
+ .lh-chevron-container {
627
+ margin-right: 0;
628
+ }
629
+
630
+ .lh-audit__title-and-text {
631
+ flex: 1;
632
+ }
633
+
634
+ .lh-audit__title-and-text code {
635
+ color: var(--snippet-color);
636
+ font-size: var(--report-monospace-font-size);
637
+ }
638
+
639
+ /* Prepend display text with em dash separator. */
640
+ .lh-audit__display-text:not(:empty):before {
641
+ content: '—';
642
+ margin-right: var(--audit-margin-horizontal);
643
+ }
644
+
645
+ /* Expandable Details (Audit Groups, Audits) */
646
+ .lh-audit__header {
647
+ display: flex;
648
+ align-items: center;
649
+ padding: var(--default-padding);
650
+ }
651
+
652
+
653
+ .lh-metricfilter {
654
+ display: grid;
655
+ justify-content: end;
656
+ align-items: center;
657
+ grid-auto-flow: column;
658
+ gap: 4px;
659
+ color: var(--color-gray-700);
660
+ }
661
+
662
+ .lh-metricfilter__radio {
663
+ /*
664
+ * Instead of hiding, position offscreen so it's still accessible to screen readers
665
+ * https://bugs.chromium.org/p/chromium/issues/detail?id=1439785
666
+ */
667
+ position: fixed;
668
+ left: -9999px;
669
+ }
670
+ .lh-metricfilter input[type='radio']:focus-visible + label {
671
+ outline: -webkit-focus-ring-color auto 1px;
672
+ }
673
+
674
+ .lh-metricfilter__label {
675
+ display: inline-flex;
676
+ padding: 0 4px;
677
+ height: 16px;
678
+ text-decoration: underline;
679
+ align-items: center;
680
+ cursor: pointer;
681
+ font-size: 90%;
682
+ }
683
+
684
+ .lh-metricfilter__label--active {
685
+ background: var(--color-blue-primary);
686
+ color: var(--color-white);
687
+ border-radius: 3px;
688
+ text-decoration: none;
689
+ }
690
+ /* Give the 'All' choice a more muted display */
691
+ .lh-metricfilter__label--active[for="metric-All"] {
692
+ background-color: var(--color-blue-200) !important;
693
+ color: black !important;
694
+ }
695
+
696
+ .lh-metricfilter__text {
697
+ margin-right: 8px;
698
+ }
699
+
700
+ /* If audits are filtered, hide the itemcount for Passed Audits… */
701
+ .lh-category--filtered .lh-audit-group .lh-audit-group__itemcount {
702
+ display: none;
703
+ }
704
+
705
+
706
+ .lh-audit__header:hover {
707
+ background-color: var(--color-hover);
708
+ }
709
+
710
+ /* We want to hide the browser's default arrow marker on summary elements. Admittedly, it's complicated. */
711
+ .lh-root details > summary {
712
+ /* Blink 89+ and Firefox will hide the arrow when display is changed from (new) default of `list-item` to block. https://chromestatus.com/feature/6730096436051968*/
713
+ display: block;
714
+ }
715
+ /* Safari and Blink <=88 require using the -webkit-details-marker selector */
716
+ .lh-root details > summary::-webkit-details-marker {
717
+ display: none;
718
+ }
719
+
720
+ /* Perf Metric */
721
+
722
+ .lh-metrics-container {
723
+ display: grid;
724
+ grid-auto-rows: 1fr;
725
+ grid-template-columns: 1fr 1fr;
726
+ grid-column-gap: var(--report-line-height);
727
+ margin-bottom: var(--default-padding);
728
+ }
729
+
730
+ .lh-metric {
731
+ border-top: 1px solid var(--report-border-color-secondary);
732
+ }
733
+
734
+ .lh-category:not(.lh--hoisted-meta) .lh-metric:nth-last-child(-n+2) {
735
+ border-bottom: 1px solid var(--report-border-color-secondary);
736
+ }
737
+
738
+ .lh-metric__innerwrap {
739
+ display: grid;
740
+ /**
741
+ * Icon -- Metric Name
742
+ * -- Metric Value
743
+ */
744
+ grid-template-columns: calc(var(--score-icon-size) + var(--score-icon-margin-left) + var(--score-icon-margin-right)) 1fr;
745
+ align-items: center;
746
+ padding: var(--default-padding);
747
+ }
748
+
749
+ .lh-metric__details {
750
+ order: -1;
751
+ }
752
+
753
+ .lh-metric__title {
754
+ flex: 1;
755
+ }
756
+
757
+ .lh-calclink {
758
+ padding-left: calc(1ex / 3);
759
+ }
760
+
761
+ .lh-metric__description {
762
+ display: none;
763
+ grid-column-start: 2;
764
+ grid-column-end: 4;
765
+ color: var(--report-text-color-secondary);
766
+ }
767
+
768
+ .lh-metric__value {
769
+ font-size: var(--metric-value-font-size);
770
+ margin: calc(var(--default-padding) / 2) 0;
771
+ white-space: nowrap; /* No wrapping between metric value and the icon */
772
+ grid-column-start: 2;
773
+ }
774
+
775
+
776
+ @media screen and (max-width: 535px) {
777
+ .lh-metrics-container {
778
+ display: block;
779
+ }
780
+
781
+ .lh-metric {
782
+ border-bottom: none !important;
783
+ }
784
+ .lh-category:not(.lh--hoisted-meta) .lh-metric:nth-last-child(1) {
785
+ border-bottom: 1px solid var(--report-border-color-secondary) !important;
786
+ }
787
+
788
+ /* Change the grid to 3 columns for narrow viewport. */
789
+ .lh-metric__innerwrap {
790
+ /**
791
+ * Icon -- Metric Name -- Metric Value
792
+ */
793
+ grid-template-columns: calc(var(--score-icon-size) + var(--score-icon-margin-left) + var(--score-icon-margin-right)) 2fr 1fr;
794
+ }
795
+ .lh-metric__value {
796
+ justify-self: end;
797
+ grid-column-start: unset;
798
+ }
799
+ }
800
+
801
+ /* No-JS toggle switch */
802
+ /* Keep this selector sync'd w/ `magicSelector` in report-ui-features-test.js */
803
+ .lh-metrics-toggle__input:checked ~ .lh-metrics-container .lh-metric__description {
804
+ display: block;
805
+ }
806
+
807
+ /* TODO get rid of the SVGS and clean up these some more */
808
+ .lh-metrics-toggle__input {
809
+ opacity: 0;
810
+ position: absolute;
811
+ right: 0;
812
+ top: 0px;
813
+ }
814
+
815
+ .lh-metrics-toggle__input + div > label > .lh-metrics-toggle__labeltext--hide,
816
+ .lh-metrics-toggle__input:checked + div > label > .lh-metrics-toggle__labeltext--show {
817
+ display: none;
818
+ }
819
+ .lh-metrics-toggle__input:checked + div > label > .lh-metrics-toggle__labeltext--hide {
820
+ display: inline;
821
+ }
822
+ .lh-metrics-toggle__input:focus + div > label {
823
+ outline: -webkit-focus-ring-color auto 3px;
824
+ }
825
+
826
+ .lh-metrics-toggle__label {
827
+ cursor: pointer;
828
+ font-size: var(--report-font-size-secondary);
829
+ line-height: var(--report-line-height-secondary);
830
+ color: var(--color-gray-700);
831
+ }
832
+
833
+ /* Pushes the metric description toggle button to the right. */
834
+ .lh-audit-group--metrics .lh-audit-group__header {
835
+ display: flex;
836
+ justify-content: space-between;
837
+ }
838
+
839
+ .lh-metric__icon,
840
+ .lh-scorescale-range::before {
841
+ content: '';
842
+ width: var(--score-icon-size);
843
+ height: var(--score-icon-size);
844
+ display: inline-block;
845
+ margin: var(--score-icon-margin);
846
+ }
847
+
848
+ .lh-metric--pass .lh-metric__value {
849
+ color: var(--color-pass-secondary);
850
+ }
851
+ .lh-metric--pass .lh-metric__icon {
852
+ border-radius: 100%;
853
+ background: var(--color-pass);
854
+ }
855
+
856
+ .lh-metric--average .lh-metric__value {
857
+ color: var(--color-average-secondary);
858
+ }
859
+ .lh-metric--average .lh-metric__icon {
860
+ background: var(--color-average);
861
+ width: var(--icon-square-size);
862
+ height: var(--icon-square-size);
863
+ }
864
+
865
+ .lh-metric--fail .lh-metric__value {
866
+ color: var(--color-fail-secondary);
867
+ }
868
+ .lh-metric--fail .lh-metric__icon {
869
+ border-left: calc(var(--score-icon-size) / 2) solid transparent;
870
+ border-right: calc(var(--score-icon-size) / 2) solid transparent;
871
+ border-bottom: var(--score-icon-size) solid var(--color-fail);
872
+ }
873
+
874
+ .lh-metric--error .lh-metric__value,
875
+ .lh-metric--error .lh-metric__description {
876
+ color: var(--color-fail-secondary);
877
+ }
878
+
879
+ /* Filmstrip */
880
+
881
+ .lh-filmstrip-container {
882
+ /* smaller gap between metrics and filmstrip */
883
+ margin: -8px auto 0 auto;
884
+ }
885
+
886
+ .lh-filmstrip {
887
+ display: flex;
888
+ justify-content: space-between;
889
+ justify-items: center;
890
+ margin-bottom: var(--default-padding);
891
+ width: 100%;
892
+ }
893
+
894
+ .lh-filmstrip__frame {
895
+ overflow: hidden;
896
+ line-height: 0;
897
+ }
898
+
899
+ .lh-filmstrip__thumbnail {
900
+ border: 1px solid var(--report-border-color-secondary);
901
+ max-height: 150px;
902
+ max-width: 120px;
903
+ }
904
+
905
+ /* Audit */
906
+
907
+ .lh-audit {
908
+ border-bottom: 1px solid var(--report-border-color-secondary);
909
+ }
910
+
911
+ /* Apply border-top to just the first audit. */
912
+ .lh-audit {
913
+ border-top: 1px solid var(--report-border-color-secondary);
914
+ }
915
+ .lh-audit ~ .lh-audit {
916
+ border-top: none;
917
+ }
918
+
919
+
920
+ .lh-audit--error .lh-audit__display-text {
921
+ color: var(--color-fail-secondary);
922
+ }
923
+
924
+ /* Audit Group */
925
+
926
+ .lh-audit-group {
927
+ margin-bottom: var(--audit-group-margin-bottom);
928
+ position: relative;
929
+ }
930
+ .lh-audit-group--metrics {
931
+ margin-bottom: calc(var(--audit-group-margin-bottom) / 2);
932
+ }
933
+
934
+ .lh-audit-group__header::before {
935
+ /* By default, groups don't get an icon */
936
+ content: none;
937
+ width: var(--pwa-icon-size);
938
+ height: var(--pwa-icon-size);
939
+ margin: var(--pwa-icon-margin);
940
+ display: inline-block;
941
+ vertical-align: middle;
942
+ }
943
+
944
+ /* Style the "over budget" columns red. */
945
+ .lh-audit-group--budgets #performance-budget tbody tr td:nth-child(4),
946
+ .lh-audit-group--budgets #performance-budget tbody tr td:nth-child(5),
947
+ .lh-audit-group--budgets #timing-budget tbody tr td:nth-child(3) {
948
+ color: var(--color-red-700);
949
+ }
950
+
951
+ /* Align the "over budget request count" text to be close to the "over budget bytes" column. */
952
+ .lh-audit-group--budgets .lh-table tbody tr td:nth-child(4){
953
+ text-align: right;
954
+ }
955
+
956
+ .lh-audit-group--budgets .lh-details--budget {
957
+ width: 100%;
958
+ margin: 0 0 var(--default-padding);
959
+ }
960
+
961
+ .lh-audit-group--pwa-installable .lh-audit-group__header::before {
962
+ content: '';
963
+ background-image: var(--pwa-installable-gray-url);
964
+ }
965
+ .lh-audit-group--pwa-optimized .lh-audit-group__header::before {
966
+ content: '';
967
+ background-image: var(--pwa-optimized-gray-url);
968
+ }
969
+ .lh-audit-group--pwa-installable.lh-badged .lh-audit-group__header::before {
970
+ background-image: var(--pwa-installable-color-url);
971
+ }
972
+ .lh-audit-group--pwa-optimized.lh-badged .lh-audit-group__header::before {
973
+ background-image: var(--pwa-optimized-color-url);
974
+ }
975
+
976
+ .lh-audit-group--metrics .lh-audit-group__summary {
977
+ margin-top: 0;
978
+ margin-bottom: 0;
979
+ }
980
+
981
+ .lh-audit-group__summary {
982
+ display: flex;
983
+ justify-content: space-between;
984
+ align-items: center;
985
+ }
986
+
987
+ .lh-audit-group__header .lh-chevron {
988
+ margin-top: calc((var(--report-line-height) - 5px) / 2);
989
+ }
990
+
991
+ .lh-audit-group__header {
992
+ letter-spacing: 0.8px;
993
+ padding: var(--default-padding);
994
+ padding-left: 0;
995
+ }
996
+
997
+ .lh-audit-group__header, .lh-audit-group__summary {
998
+ font-size: var(--report-font-size-secondary);
999
+ line-height: var(--report-line-height-secondary);
1000
+ color: var(--color-gray-700);
1001
+ }
1002
+
1003
+ .lh-audit-group__title {
1004
+ text-transform: uppercase;
1005
+ font-weight: 500;
1006
+ }
1007
+
1008
+ .lh-audit-group__itemcount {
1009
+ color: var(--color-gray-600);
1010
+ }
1011
+
1012
+ .lh-audit-group__footer {
1013
+ color: var(--color-gray-600);
1014
+ display: block;
1015
+ margin-top: var(--default-padding);
1016
+ }
1017
+
1018
+ .lh-details,
1019
+ .lh-category-header__description,
1020
+ .lh-audit-group__footer {
1021
+ font-size: var(--report-font-size-secondary);
1022
+ line-height: var(--report-line-height-secondary);
1023
+ }
1024
+
1025
+ .lh-audit-explanation {
1026
+ margin: var(--audit-padding-vertical) 0 calc(var(--audit-padding-vertical) / 2) var(--audit-margin-horizontal);
1027
+ line-height: var(--audit-explanation-line-height);
1028
+ display: inline-block;
1029
+ }
1030
+
1031
+ .lh-audit--fail .lh-audit-explanation {
1032
+ color: var(--color-fail-secondary);
1033
+ }
1034
+
1035
+ /* Report */
1036
+ .lh-list > :not(:last-child) {
1037
+ margin-bottom: calc(var(--default-padding) * 2);
1038
+ }
1039
+
1040
+ .lh-header-container {
1041
+ display: block;
1042
+ margin: 0 auto;
1043
+ position: relative;
1044
+ word-wrap: break-word;
1045
+ }
1046
+
1047
+ .lh-header-container .lh-scores-wrapper {
1048
+ border-bottom: 1px solid var(--color-gray-200);
1049
+ }
1050
+
1051
+
1052
+ .lh-report {
1053
+ min-width: var(--report-content-min-width);
1054
+ }
1055
+
1056
+ .lh-exception {
1057
+ font-size: large;
1058
+ }
1059
+
1060
+ .lh-code {
1061
+ white-space: normal;
1062
+ margin-top: 0;
1063
+ font-size: var(--report-monospace-font-size);
1064
+ }
1065
+
1066
+ .lh-warnings {
1067
+ --item-margin: calc(var(--report-line-height) / 6);
1068
+ color: var(--color-average-secondary);
1069
+ margin: var(--audit-padding-vertical) 0;
1070
+ padding: var(--default-padding)
1071
+ var(--default-padding)
1072
+ var(--default-padding)
1073
+ calc(var(--audit-description-padding-left));
1074
+ background-color: var(--toplevel-warning-background-color);
1075
+ }
1076
+ .lh-warnings span {
1077
+ font-weight: bold;
1078
+ }
1079
+
1080
+ .lh-warnings--toplevel {
1081
+ --item-margin: calc(var(--header-line-height) / 4);
1082
+ color: var(--toplevel-warning-text-color);
1083
+ margin-left: auto;
1084
+ margin-right: auto;
1085
+ max-width: var(--report-content-max-width-minus-edge-gap);
1086
+ padding: var(--toplevel-warning-padding);
1087
+ border-radius: 8px;
1088
+ }
1089
+
1090
+ .lh-warnings__msg {
1091
+ color: var(--toplevel-warning-message-text-color);
1092
+ margin: 0;
1093
+ }
1094
+
1095
+ .lh-warnings ul {
1096
+ margin: 0;
1097
+ }
1098
+ .lh-warnings li {
1099
+ margin: var(--item-margin) 0;
1100
+ }
1101
+ .lh-warnings li:last-of-type {
1102
+ margin-bottom: 0;
1103
+ }
1104
+
1105
+ .lh-scores-header {
1106
+ display: flex;
1107
+ flex-wrap: wrap;
1108
+ justify-content: center;
1109
+ }
1110
+ .lh-scores-header__solo {
1111
+ padding: 0;
1112
+ border: 0;
1113
+ }
1114
+
1115
+ /* Gauge */
1116
+
1117
+ .lh-gauge__wrapper--pass {
1118
+ color: var(--color-pass-secondary);
1119
+ fill: var(--color-pass);
1120
+ stroke: var(--color-pass);
1121
+ }
1122
+
1123
+ .lh-gauge__wrapper--average {
1124
+ color: var(--color-average-secondary);
1125
+ fill: var(--color-average);
1126
+ stroke: var(--color-average);
1127
+ }
1128
+
1129
+ .lh-gauge__wrapper--fail {
1130
+ color: var(--color-fail-secondary);
1131
+ fill: var(--color-fail);
1132
+ stroke: var(--color-fail);
1133
+ }
1134
+
1135
+ .lh-gauge__wrapper--not-applicable {
1136
+ color: var(--color-not-applicable);
1137
+ fill: var(--color-not-applicable);
1138
+ stroke: var(--color-not-applicable);
1139
+ }
1140
+
1141
+ .lh-fraction__wrapper .lh-fraction__content::before {
1142
+ content: '';
1143
+ height: var(--score-icon-size);
1144
+ width: var(--score-icon-size);
1145
+ margin: var(--score-icon-margin);
1146
+ display: inline-block;
1147
+ }
1148
+ .lh-fraction__wrapper--pass .lh-fraction__content {
1149
+ color: var(--color-pass-secondary);
1150
+ }
1151
+ .lh-fraction__wrapper--pass .lh-fraction__background {
1152
+ background-color: var(--color-pass);
1153
+ }
1154
+ .lh-fraction__wrapper--pass .lh-fraction__content::before {
1155
+ background-color: var(--color-pass);
1156
+ border-radius: 50%;
1157
+ }
1158
+ .lh-fraction__wrapper--average .lh-fraction__content {
1159
+ color: var(--color-average-secondary);
1160
+ }
1161
+ .lh-fraction__wrapper--average .lh-fraction__background,
1162
+ .lh-fraction__wrapper--average .lh-fraction__content::before {
1163
+ background-color: var(--color-average);
1164
+ }
1165
+ .lh-fraction__wrapper--fail .lh-fraction__content {
1166
+ color: var(--color-fail);
1167
+ }
1168
+ .lh-fraction__wrapper--fail .lh-fraction__background {
1169
+ background-color: var(--color-fail);
1170
+ }
1171
+ .lh-fraction__wrapper--fail .lh-fraction__content::before {
1172
+ border-left: calc(var(--score-icon-size) / 2) solid transparent;
1173
+ border-right: calc(var(--score-icon-size) / 2) solid transparent;
1174
+ border-bottom: var(--score-icon-size) solid var(--color-fail);
1175
+ }
1176
+ .lh-fraction__wrapper--null .lh-fraction__content {
1177
+ color: var(--color-gray-700);
1178
+ }
1179
+ .lh-fraction__wrapper--null .lh-fraction__background {
1180
+ background-color: var(--color-gray-700);
1181
+ }
1182
+ .lh-fraction__wrapper--null .lh-fraction__content::before {
1183
+ border-radius: 50%;
1184
+ border: calc(0.2 * var(--score-icon-size)) solid var(--color-gray-700);
1185
+ }
1186
+
1187
+ .lh-fraction__background {
1188
+ position: absolute;
1189
+ height: 100%;
1190
+ width: 100%;
1191
+ border-radius: calc(var(--gauge-circle-size) / 2);
1192
+ opacity: 0.1;
1193
+ z-index: -1;
1194
+ }
1195
+
1196
+ .lh-fraction__content-wrapper {
1197
+ height: var(--gauge-circle-size);
1198
+ display: flex;
1199
+ align-items: center;
1200
+ }
1201
+
1202
+ .lh-fraction__content {
1203
+ display: flex;
1204
+ position: relative;
1205
+ align-items: center;
1206
+ justify-content: center;
1207
+ font-size: calc(0.3 * var(--gauge-circle-size));
1208
+ line-height: calc(0.4 * var(--gauge-circle-size));
1209
+ width: max-content;
1210
+ min-width: calc(1.5 * var(--gauge-circle-size));
1211
+ padding: calc(0.1 * var(--gauge-circle-size)) calc(0.2 * var(--gauge-circle-size));
1212
+ --score-icon-size: calc(0.21 * var(--gauge-circle-size));
1213
+ --score-icon-margin: 0 calc(0.15 * var(--gauge-circle-size)) 0 0;
1214
+ }
1215
+
1216
+ .lh-gauge {
1217
+ stroke-linecap: round;
1218
+ width: var(--gauge-circle-size);
1219
+ height: var(--gauge-circle-size);
1220
+ }
1221
+
1222
+ .lh-category .lh-gauge {
1223
+ --gauge-circle-size: var(--gauge-circle-size-big);
1224
+ }
1225
+
1226
+ .lh-gauge-base {
1227
+ opacity: 0.1;
1228
+ }
1229
+
1230
+ .lh-gauge-arc {
1231
+ fill: none;
1232
+ transform-origin: 50% 50%;
1233
+ animation: load-gauge var(--transition-length) ease both;
1234
+ animation-delay: 250ms;
1235
+ }
1236
+
1237
+ .lh-gauge__svg-wrapper {
1238
+ position: relative;
1239
+ height: var(--gauge-circle-size);
1240
+ }
1241
+ .lh-category .lh-gauge__svg-wrapper,
1242
+ .lh-category .lh-fraction__wrapper {
1243
+ --gauge-circle-size: var(--gauge-circle-size-big);
1244
+ }
1245
+
1246
+ /* The plugin badge overlay */
1247
+ .lh-gauge__wrapper--plugin .lh-gauge__svg-wrapper::before {
1248
+ width: var(--plugin-badge-size);
1249
+ height: var(--plugin-badge-size);
1250
+ background-color: var(--plugin-badge-background-color);
1251
+ background-image: var(--plugin-icon-url);
1252
+ background-repeat: no-repeat;
1253
+ background-size: var(--plugin-icon-size);
1254
+ background-position: 58% 50%;
1255
+ content: "";
1256
+ position: absolute;
1257
+ right: -6px;
1258
+ bottom: 0px;
1259
+ display: block;
1260
+ z-index: 100;
1261
+ box-shadow: 0 0 4px rgba(0,0,0,.2);
1262
+ border-radius: 25%;
1263
+ }
1264
+ .lh-category .lh-gauge__wrapper--plugin .lh-gauge__svg-wrapper::before {
1265
+ width: var(--plugin-badge-size-big);
1266
+ height: var(--plugin-badge-size-big);
1267
+ }
1268
+
1269
+ @keyframes load-gauge {
1270
+ from { stroke-dasharray: 0 352; }
1271
+ }
1272
+
1273
+ .lh-gauge__percentage {
1274
+ width: 100%;
1275
+ height: var(--gauge-circle-size);
1276
+ line-height: var(--gauge-circle-size);
1277
+ position: absolute;
1278
+ font-family: var(--report-font-family-monospace);
1279
+ font-size: calc(var(--gauge-circle-size) * 0.34 + 1.3px);
1280
+ text-align: center;
1281
+ top: var(--score-container-padding);
1282
+ }
1283
+
1284
+ .lh-category .lh-gauge__percentage {
1285
+ --gauge-circle-size: var(--gauge-circle-size-big);
1286
+ --gauge-percentage-font-size: var(--gauge-percentage-font-size-big);
1287
+ }
1288
+
1289
+ .lh-gauge__wrapper,
1290
+ .lh-fraction__wrapper {
1291
+ position: relative;
1292
+ display: flex;
1293
+ align-items: center;
1294
+ flex-direction: column;
1295
+ text-decoration: none;
1296
+ padding: var(--score-container-padding);
1297
+
1298
+ --transition-length: 1s;
1299
+
1300
+ /* Contain the layout style paint & layers during animation*/
1301
+ contain: content;
1302
+ will-change: opacity; /* Only using for layer promotion */
1303
+ }
1304
+
1305
+ .lh-gauge__label,
1306
+ .lh-fraction__label {
1307
+ font-size: var(--gauge-label-font-size);
1308
+ font-weight: 500;
1309
+ line-height: var(--gauge-label-line-height);
1310
+ margin-top: 10px;
1311
+ text-align: center;
1312
+ color: var(--report-text-color);
1313
+ word-break: keep-all;
1314
+ }
1315
+
1316
+ /* TODO(#8185) use more BEM (.lh-gauge__label--big) instead of relying on descendant selector */
1317
+ .lh-category .lh-gauge__label,
1318
+ .lh-category .lh-fraction__label {
1319
+ --gauge-label-font-size: var(--gauge-label-font-size-big);
1320
+ --gauge-label-line-height: var(--gauge-label-line-height-big);
1321
+ margin-top: 14px;
1322
+ }
1323
+
1324
+ .lh-scores-header .lh-gauge__wrapper,
1325
+ .lh-scores-header .lh-fraction__wrapper,
1326
+ .lh-scores-header .lh-gauge--pwa__wrapper,
1327
+ .lh-sticky-header .lh-gauge__wrapper,
1328
+ .lh-sticky-header .lh-fraction__wrapper,
1329
+ .lh-sticky-header .lh-gauge--pwa__wrapper {
1330
+ width: var(--gauge-wrapper-width);
1331
+ }
1332
+
1333
+ .lh-scorescale {
1334
+ display: inline-flex;
1335
+
1336
+ gap: calc(var(--default-padding) * 4);
1337
+ margin: 16px auto 0 auto;
1338
+ font-size: var(--report-font-size-secondary);
1339
+ color: var(--color-gray-700);
1340
+
1341
+ }
1342
+
1343
+ .lh-scorescale-range {
1344
+ display: flex;
1345
+ align-items: center;
1346
+ font-family: var(--report-font-family-monospace);
1347
+ white-space: nowrap;
1348
+ }
1349
+
1350
+ .lh-category-header__finalscreenshot .lh-scorescale {
1351
+ border: 0;
1352
+ display: flex;
1353
+ justify-content: center;
1354
+ }
1355
+
1356
+ .lh-category-header__finalscreenshot .lh-scorescale-range {
1357
+ font-family: unset;
1358
+ font-size: 12px;
1359
+ }
1360
+
1361
+ .lh-scorescale-wrap {
1362
+ display: contents;
1363
+ }
1364
+
1365
+ /* Hide category score gauages if it's a single category report */
1366
+ .lh-header--solo-category .lh-scores-wrapper {
1367
+ display: none;
1368
+ }
1369
+
1370
+
1371
+ .lh-categories {
1372
+ width: 100%;
1373
+ }
1374
+
1375
+ .lh-category {
1376
+ padding: var(--category-padding);
1377
+ max-width: var(--report-content-max-width);
1378
+ margin: 0 auto;
1379
+
1380
+ scroll-margin-top: calc(var(--sticky-header-buffer) - 1em);
1381
+ }
1382
+
1383
+ .lh-category-wrapper {
1384
+ border-bottom: 1px solid var(--color-gray-200);
1385
+ }
1386
+ .lh-category-wrapper:last-of-type {
1387
+ border-bottom: 0;
1388
+ }
1389
+
1390
+ .lh-category-header {
1391
+ margin-bottom: var(--section-padding-vertical);
1392
+ }
1393
+
1394
+ .lh-category-header .lh-score__gauge {
1395
+ max-width: 400px;
1396
+ width: auto;
1397
+ margin: 0px auto;
1398
+ }
1399
+
1400
+ .lh-category-header__finalscreenshot {
1401
+ display: grid;
1402
+ grid-template: none / 1fr 1px 1fr;
1403
+ justify-items: center;
1404
+ align-items: center;
1405
+ gap: var(--report-line-height);
1406
+ min-height: 288px;
1407
+ margin-bottom: var(--default-padding);
1408
+ }
1409
+
1410
+ .lh-final-ss-image {
1411
+ /* constrain the size of the image to not be too large */
1412
+ max-height: calc(var(--gauge-circle-size-big) * 2.8);
1413
+ max-width: calc(var(--gauge-circle-size-big) * 3.5);
1414
+ border: 1px solid var(--color-gray-200);
1415
+ padding: 4px;
1416
+ border-radius: 3px;
1417
+ display: block;
1418
+ }
1419
+
1420
+ .lh-category-headercol--separator {
1421
+ background: var(--color-gray-200);
1422
+ width: 1px;
1423
+ height: var(--gauge-circle-size-big);
1424
+ }
1425
+
1426
+ @media screen and (max-width: 780px) {
1427
+ .lh-category-header__finalscreenshot {
1428
+ grid-template: 1fr 1fr / none
1429
+ }
1430
+ .lh-category-headercol--separator {
1431
+ display: none;
1432
+ }
1433
+ }
1434
+
1435
+
1436
+ /* 964 fits the min-width of the filmstrip */
1437
+ @media screen and (max-width: 964px) {
1438
+ .lh-report {
1439
+ margin-left: 0;
1440
+ width: 100%;
1441
+ }
1442
+ }
1443
+
1444
+ @media print {
1445
+ body {
1446
+ -webkit-print-color-adjust: exact; /* print background colors */
1447
+ }
1448
+ .lh-container {
1449
+ display: block;
1450
+ }
1451
+ .lh-report {
1452
+ margin-left: 0;
1453
+ padding-top: 0;
1454
+ }
1455
+ .lh-categories {
1456
+ margin-top: 0;
1457
+ }
1458
+ }
1459
+
1460
+ .lh-table {
1461
+ position: relative;
1462
+ border-collapse: separate;
1463
+ border-spacing: 0;
1464
+ /* Can't assign padding to table, so shorten the width instead. */
1465
+ width: calc(100% - var(--audit-description-padding-left) - var(--stackpack-padding-horizontal));
1466
+ border: 1px solid var(--report-border-color-secondary);
1467
+ }
1468
+
1469
+ .lh-table thead th {
1470
+ position: sticky;
1471
+ top: var(--sticky-header-buffer);
1472
+ z-index: 1;
1473
+ background-color: var(--report-background-color);
1474
+ border-bottom: 1px solid var(--report-border-color-secondary);
1475
+ font-weight: normal;
1476
+ color: var(--color-gray-600);
1477
+ /* See text-wrapping comment on .lh-container. */
1478
+ word-break: normal;
1479
+ }
1480
+
1481
+ .lh-row--group {
1482
+ background-color: var(--table-group-header-background-color);
1483
+ }
1484
+
1485
+ .lh-row--group td {
1486
+ font-weight: bold;
1487
+ font-size: 1.05em;
1488
+ color: var(--table-group-header-text-color);
1489
+ }
1490
+
1491
+ .lh-row--group td:first-child {
1492
+ display: block;
1493
+ min-width: max-content;
1494
+ font-weight: normal;
1495
+ }
1496
+
1497
+ .lh-row--group .lh-text {
1498
+ color: inherit;
1499
+ text-decoration: none;
1500
+ display: inline-block;
1501
+ }
1502
+
1503
+ .lh-row--group a.lh-link:hover {
1504
+ text-decoration: underline;
1505
+ }
1506
+
1507
+ .lh-row--group .lh-audit__adorn {
1508
+ text-transform: capitalize;
1509
+ font-weight: normal;
1510
+ padding: 2px 3px 1px 3px;
1511
+ }
1512
+
1513
+ .lh-row--group .lh-audit__adorn1p {
1514
+ color: var(--link-color);
1515
+ border-color: var(--link-color);
1516
+ }
1517
+
1518
+ .lh-row--group .lh-report-icon--external::before {
1519
+ content: "";
1520
+ background-repeat: no-repeat;
1521
+ width: 14px;
1522
+ height: 16px;
1523
+ opacity: 0.7;
1524
+ display: inline-block;
1525
+ vertical-align: middle;
1526
+ }
1527
+
1528
+ .lh-row--group .lh-report-icon--external {
1529
+ visibility: hidden;
1530
+ }
1531
+
1532
+ .lh-row--group:hover .lh-report-icon--external {
1533
+ visibility: visible;
1534
+ }
1535
+
1536
+ .lh-dark .lh-report-icon--external::before {
1537
+ filter: invert(1);
1538
+ }
1539
+
1540
+ /** Manages indentation of two-level and three-level nested adjacent rows */
1541
+
1542
+ .lh-row--group ~ [data-entity]:not(.lh-row--group) td:first-child {
1543
+ padding-left: 20px;
1544
+ }
1545
+
1546
+ .lh-row--group ~ [data-entity]:not(.lh-row--group) ~ .lh-sub-item-row td:first-child {
1547
+ padding-left: 40px;
1548
+ }
1549
+
1550
+ .lh-row--even {
1551
+ background-color: var(--table-group-header-background-color);
1552
+ }
1553
+ .lh-row--hidden {
1554
+ display: none;
1555
+ }
1556
+
1557
+ .lh-table th,
1558
+ .lh-table td {
1559
+ padding: var(--default-padding);
1560
+ }
1561
+
1562
+ .lh-table tr {
1563
+ vertical-align: middle;
1564
+ }
1565
+
1566
+ .lh-table tr:hover {
1567
+ background-color: var(--table-higlight-background-color);
1568
+ }
1569
+
1570
+ /* Looks unnecessary, but mostly for keeping the <th>s left-aligned */
1571
+ .lh-table-column--text,
1572
+ .lh-table-column--source-location,
1573
+ .lh-table-column--url,
1574
+ /* .lh-table-column--thumbnail, */
1575
+ /* .lh-table-column--empty,*/
1576
+ .lh-table-column--code,
1577
+ .lh-table-column--node {
1578
+ text-align: left;
1579
+ }
1580
+
1581
+ .lh-table-column--code {
1582
+ min-width: 100px;
1583
+ }
1584
+
1585
+ .lh-table-column--bytes,
1586
+ .lh-table-column--timespanMs,
1587
+ .lh-table-column--ms,
1588
+ .lh-table-column--numeric {
1589
+ text-align: right;
1590
+ word-break: normal;
1591
+ }
1592
+
1593
+
1594
+
1595
+ .lh-table .lh-table-column--thumbnail {
1596
+ width: var(--image-preview-size);
1597
+ }
1598
+
1599
+ .lh-table-column--url {
1600
+ min-width: 250px;
1601
+ }
1602
+
1603
+ .lh-table-column--text {
1604
+ min-width: 80px;
1605
+ }
1606
+
1607
+ /* Keep columns narrow if they follow the URL column */
1608
+ /* 12% was determined to be a decent narrow width, but wide enough for column headings */
1609
+ .lh-table-column--url + th.lh-table-column--bytes,
1610
+ .lh-table-column--url + .lh-table-column--bytes + th.lh-table-column--bytes,
1611
+ .lh-table-column--url + .lh-table-column--ms,
1612
+ .lh-table-column--url + .lh-table-column--ms + th.lh-table-column--bytes,
1613
+ .lh-table-column--url + .lh-table-column--bytes + th.lh-table-column--timespanMs {
1614
+ width: 12%;
1615
+ }
1616
+
1617
+ .lh-text__url-host {
1618
+ display: inline;
1619
+ }
1620
+
1621
+ .lh-text__url-host {
1622
+ margin-left: calc(var(--report-font-size) / 2);
1623
+ opacity: 0.6;
1624
+ font-size: 90%
1625
+ }
1626
+
1627
+ .lh-thumbnail {
1628
+ object-fit: cover;
1629
+ width: var(--image-preview-size);
1630
+ height: var(--image-preview-size);
1631
+ display: block;
1632
+ }
1633
+
1634
+ .lh-unknown pre {
1635
+ overflow: scroll;
1636
+ border: solid 1px var(--color-gray-200);
1637
+ }
1638
+
1639
+ .lh-text__url > a {
1640
+ color: inherit;
1641
+ text-decoration: none;
1642
+ }
1643
+
1644
+ .lh-text__url > a:hover {
1645
+ text-decoration: underline dotted #999;
1646
+ }
1647
+
1648
+ .lh-sub-item-row {
1649
+ margin-left: 20px;
1650
+ margin-bottom: 0;
1651
+ color: var(--color-gray-700);
1652
+ }
1653
+
1654
+ .lh-sub-item-row td {
1655
+ padding-top: 4px;
1656
+ padding-bottom: 4px;
1657
+ padding-left: 20px;
1658
+ }
1659
+
1660
+ .lh-sub-item-row .lh-element-screenshot {
1661
+ zoom: 0.6;
1662
+ }
1663
+
1664
+ /* Chevron
1665
+ https://codepen.io/paulirish/pen/LmzEmK
1666
+ */
1667
+ .lh-chevron {
1668
+ --chevron-angle: 42deg;
1669
+ /* Edge doesn't support transform: rotate(calc(...)), so we define it here */
1670
+ --chevron-angle-right: -42deg;
1671
+ width: var(--chevron-size);
1672
+ height: var(--chevron-size);
1673
+ margin-top: calc((var(--report-line-height) - 12px) / 2);
1674
+ }
1675
+
1676
+ .lh-chevron__lines {
1677
+ transition: transform 0.4s;
1678
+ transform: translateY(var(--report-line-height));
1679
+ }
1680
+ .lh-chevron__line {
1681
+ stroke: var(--chevron-line-stroke);
1682
+ stroke-width: var(--chevron-size);
1683
+ stroke-linecap: square;
1684
+ transform-origin: 50%;
1685
+ transform: rotate(var(--chevron-angle));
1686
+ transition: transform 300ms, stroke 300ms;
1687
+ }
1688
+
1689
+ .lh-expandable-details .lh-chevron__line-right,
1690
+ .lh-expandable-details[open] .lh-chevron__line-left {
1691
+ transform: rotate(var(--chevron-angle-right));
1692
+ }
1693
+
1694
+ .lh-expandable-details[open] .lh-chevron__line-right {
1695
+ transform: rotate(var(--chevron-angle));
1696
+ }
1697
+
1698
+
1699
+ .lh-expandable-details[open] .lh-chevron__lines {
1700
+ transform: translateY(calc(var(--chevron-size) * -1));
1701
+ }
1702
+
1703
+ .lh-expandable-details[open] {
1704
+ animation: 300ms openDetails forwards;
1705
+ padding-bottom: var(--default-padding);
1706
+ }
1707
+
1708
+ @keyframes openDetails {
1709
+ from {
1710
+ outline: 1px solid var(--report-background-color);
1711
+ }
1712
+ to {
1713
+ outline: 1px solid;
1714
+ box-shadow: 0 2px 4px rgba(0, 0, 0, .24);
1715
+ }
1716
+ }
1717
+
1718
+ @media screen and (max-width: 780px) {
1719
+ /* no black outline if we're not confident the entire table can be displayed within bounds */
1720
+ .lh-expandable-details[open] {
1721
+ animation: none;
1722
+ }
1723
+ }
1724
+
1725
+ .lh-expandable-details[open] summary, details.lh-clump > summary {
1726
+ border-bottom: 1px solid var(--report-border-color-secondary);
1727
+ }
1728
+ details.lh-clump[open] > summary {
1729
+ border-bottom-width: 0;
1730
+ }
1731
+
1732
+
1733
+
1734
+ details .lh-clump-toggletext--hide,
1735
+ details[open] .lh-clump-toggletext--show { display: none; }
1736
+ details[open] .lh-clump-toggletext--hide { display: block;}
1737
+
1738
+
1739
+ /* Tooltip */
1740
+ .lh-tooltip-boundary {
1741
+ position: relative;
1742
+ }
1743
+
1744
+ .lh-tooltip {
1745
+ position: absolute;
1746
+ display: none; /* Don't retain these layers when not needed */
1747
+ opacity: 0;
1748
+ background: #ffffff;
1749
+ white-space: pre-line; /* Render newlines in the text */
1750
+ min-width: 246px;
1751
+ max-width: 275px;
1752
+ padding: 15px;
1753
+ border-radius: 5px;
1754
+ text-align: initial;
1755
+ line-height: 1.4;
1756
+ }
1757
+ /* shrink tooltips to not be cutoff on left edge of narrow viewports
1758
+ 45vw is chosen to be ~= width of the left column of metrics
1759
+ */
1760
+ @media screen and (max-width: 535px) {
1761
+ .lh-tooltip {
1762
+ min-width: 45vw;
1763
+ padding: 3vw;
1764
+ }
1765
+ }
1766
+
1767
+ .lh-tooltip-boundary:hover .lh-tooltip {
1768
+ display: block;
1769
+ animation: fadeInTooltip 250ms;
1770
+ animation-fill-mode: forwards;
1771
+ animation-delay: 850ms;
1772
+ bottom: 100%;
1773
+ z-index: 1;
1774
+ will-change: opacity;
1775
+ right: 0;
1776
+ pointer-events: none;
1777
+ }
1778
+
1779
+ .lh-tooltip::before {
1780
+ content: "";
1781
+ border: solid transparent;
1782
+ border-bottom-color: #fff;
1783
+ border-width: 10px;
1784
+ position: absolute;
1785
+ bottom: -20px;
1786
+ right: 6px;
1787
+ transform: rotate(180deg);
1788
+ pointer-events: none;
1789
+ }
1790
+
1791
+ @keyframes fadeInTooltip {
1792
+ 0% { opacity: 0; }
1793
+ 75% { opacity: 1; }
1794
+ 100% { opacity: 1; filter: drop-shadow(1px 0px 1px #aaa) drop-shadow(0px 2px 4px hsla(206, 6%, 25%, 0.15)); pointer-events: auto; }
1795
+ }
1796
+
1797
+ /* Element screenshot */
1798
+ .lh-element-screenshot {
1799
+ float: left;
1800
+ margin-right: 20px;
1801
+ }
1802
+ .lh-element-screenshot__content {
1803
+ overflow: hidden;
1804
+ min-width: 110px;
1805
+ display: flex;
1806
+ justify-content: center;
1807
+ background-color: var(--report-background-color);
1808
+ }
1809
+ .lh-element-screenshot__image {
1810
+ position: relative;
1811
+ /* Set by ElementScreenshotRenderer.installFullPageScreenshotCssVariable */
1812
+ background-image: var(--element-screenshot-url);
1813
+ outline: 2px solid #777;
1814
+ background-color: white;
1815
+ background-repeat: no-repeat;
1816
+ }
1817
+ .lh-element-screenshot__mask {
1818
+ position: absolute;
1819
+ background: #555;
1820
+ opacity: 0.8;
1821
+ }
1822
+ .lh-element-screenshot__element-marker {
1823
+ position: absolute;
1824
+ outline: 2px solid var(--color-lime-400);
1825
+ }
1826
+ .lh-element-screenshot__overlay {
1827
+ position: fixed;
1828
+ top: 0;
1829
+ left: 0;
1830
+ right: 0;
1831
+ bottom: 0;
1832
+ z-index: 2000; /* .lh-topbar is 1000 */
1833
+ background: var(--screenshot-overlay-background);
1834
+ display: flex;
1835
+ align-items: center;
1836
+ justify-content: center;
1837
+ cursor: zoom-out;
1838
+ }
1839
+
1840
+ .lh-element-screenshot__overlay .lh-element-screenshot {
1841
+ margin-right: 0; /* clearing margin used in thumbnail case */
1842
+ outline: 1px solid var(--color-gray-700);
1843
+ }
1844
+
1845
+ .lh-screenshot-overlay--enabled .lh-element-screenshot {
1846
+ cursor: zoom-out;
1847
+ }
1848
+ .lh-screenshot-overlay--enabled .lh-node .lh-element-screenshot {
1849
+ cursor: zoom-in;
1850
+ }
1851
+
1852
+
1853
+ .lh-meta__items {
1854
+ --meta-icon-size: calc(var(--report-icon-size) * 0.667);
1855
+ padding: var(--default-padding);
1856
+ display: grid;
1857
+ grid-template-columns: 1fr 1fr 1fr;
1858
+ background-color: var(--env-item-background-color);
1859
+ border-radius: 3px;
1860
+ margin: 0 0 var(--default-padding) 0;
1861
+ font-size: 12px;
1862
+ column-gap: var(--default-padding);
1863
+ color: var(--color-gray-700);
1864
+ }
1865
+
1866
+ .lh-meta__item {
1867
+ display: block;
1868
+ list-style-type: none;
1869
+ position: relative;
1870
+ padding: 0 0 0 calc(var(--meta-icon-size) + var(--default-padding) * 2);
1871
+ cursor: unset; /* disable pointer cursor from report-icon */
1872
+ }
1873
+
1874
+ .lh-meta__item.lh-tooltip-boundary {
1875
+ text-decoration: dotted underline var(--color-gray-500);
1876
+ cursor: help;
1877
+ }
1878
+
1879
+ .lh-meta__item.lh-report-icon::before {
1880
+ position: absolute;
1881
+ left: var(--default-padding);
1882
+ width: var(--meta-icon-size);
1883
+ height: var(--meta-icon-size);
1884
+ }
1885
+
1886
+ .lh-meta__item.lh-report-icon:hover::before {
1887
+ opacity: 0.7;
1888
+ }
1889
+
1890
+ .lh-meta__item .lh-tooltip {
1891
+ color: var(--color-gray-800);
1892
+ }
1893
+
1894
+ .lh-meta__item .lh-tooltip::before {
1895
+ right: auto; /* Set the tooltip arrow to the leftside */
1896
+ left: 6px;
1897
+ }
1898
+
1899
+ /* Change the grid for narrow viewport. */
1900
+ @media screen and (max-width: 640px) {
1901
+ .lh-meta__items {
1902
+ grid-template-columns: 1fr 1fr;
1903
+ }
1904
+ }
1905
+ @media screen and (max-width: 535px) {
1906
+ .lh-meta__items {
1907
+ display: block;
1908
+ }
1909
+ }
1910
+
1911
+ /* Explodey gauge */
1912
+
1913
+ .lh-exp-gauge-component {
1914
+ margin-bottom: 10px;
1915
+ }
1916
+
1917
+ .lh-exp-gauge-component circle {
1918
+ stroke: currentcolor;
1919
+ r: var(--radius);
1920
+ }
1921
+
1922
+ .lh-exp-gauge-component text {
1923
+ font-size: calc(var(--radius) * 0.2);
1924
+ }
1925
+
1926
+ .lh-exp-gauge-component .lh-exp-gauge {
1927
+ margin: 0 auto;
1928
+ width: 225px;
1929
+ stroke-width: var(--stroke-width);
1930
+ stroke-linecap: round;
1931
+
1932
+ /* for better rendering perf */
1933
+ contain: strict;
1934
+ height: 225px;
1935
+ will-change: transform;
1936
+ }
1937
+ .lh-exp-gauge-component .lh-exp-gauge--faded {
1938
+ opacity: 0.1;
1939
+ }
1940
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper {
1941
+ font-family: var(--report-font-family-monospace);
1942
+ text-align: center;
1943
+ text-decoration: none;
1944
+ transition: .3s;
1945
+ }
1946
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper--pass {
1947
+ color: var(--color-pass);
1948
+ }
1949
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper--average {
1950
+ color: var(--color-average);
1951
+ }
1952
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper--fail {
1953
+ color: var(--color-fail);
1954
+ }
1955
+ .lh-exp-gauge-component .state--expanded {
1956
+ transition: color .3s;
1957
+ }
1958
+ .lh-exp-gauge-component .state--highlight {
1959
+ color: var(--color-highlight);
1960
+ }
1961
+ .lh-exp-gauge-component .lh-exp-gauge__svg-wrapper {
1962
+ display: flex;
1963
+ flex-direction: column-reverse;
1964
+ }
1965
+
1966
+ .lh-exp-gauge-component .lh-exp-gauge__label {
1967
+ fill: var(--report-text-color);
1968
+ font-family: var(--report-font-family);
1969
+ font-size: 12px;
1970
+ }
1971
+
1972
+ .lh-exp-gauge-component .lh-exp-gauge__cutout {
1973
+ opacity: .999;
1974
+ transition: opacity .3s;
1975
+ }
1976
+ .lh-exp-gauge-component .state--highlight .lh-exp-gauge__cutout {
1977
+ opacity: 0;
1978
+ }
1979
+
1980
+ .lh-exp-gauge-component .lh-exp-gauge__inner {
1981
+ color: inherit;
1982
+ }
1983
+ .lh-exp-gauge-component .lh-exp-gauge__base {
1984
+ fill: currentcolor;
1985
+ }
1986
+
1987
+
1988
+ .lh-exp-gauge-component .lh-exp-gauge__arc {
1989
+ fill: none;
1990
+ transition: opacity .3s;
1991
+ }
1992
+ .lh-exp-gauge-component .lh-exp-gauge__arc--metric {
1993
+ color: var(--metric-color);
1994
+ stroke-dashoffset: var(--metric-offset);
1995
+ opacity: 0.3;
1996
+ }
1997
+ .lh-exp-gauge-component .lh-exp-gauge-hovertarget {
1998
+ color: currentcolor;
1999
+ opacity: 0.001;
2000
+ stroke-linecap: butt;
2001
+ stroke-width: 24;
2002
+ /* hack. move the hover target out of the center. ideally i tweak the r instead but that rquires considerably more math. */
2003
+ transform: scale(1.15);
2004
+ }
2005
+ .lh-exp-gauge-component .lh-exp-gauge__arc--metric.lh-exp-gauge--miniarc {
2006
+ opacity: 0;
2007
+ stroke-dasharray: 0 calc(var(--circle-meas) * var(--radius));
2008
+ transition: 0s .005s;
2009
+ }
2010
+ .lh-exp-gauge-component .state--expanded .lh-exp-gauge__arc--metric.lh-exp-gauge--miniarc {
2011
+ opacity: .999;
2012
+ stroke-dasharray: var(--metric-array);
2013
+ transition: 0.3s; /* calc(.005s + var(--i)*.05s); entrace animation */
2014
+ }
2015
+ .lh-exp-gauge-component .state--expanded .lh-exp-gauge__inner .lh-exp-gauge__arc {
2016
+ opacity: 0;
2017
+ }
2018
+
2019
+
2020
+ .lh-exp-gauge-component .lh-exp-gauge__percentage {
2021
+ text-anchor: middle;
2022
+ dominant-baseline: middle;
2023
+ opacity: .999;
2024
+ font-size: calc(var(--radius) * 0.625);
2025
+ transition: opacity .3s ease-in;
2026
+ }
2027
+ .lh-exp-gauge-component .state--highlight .lh-exp-gauge__percentage {
2028
+ opacity: 0;
2029
+ }
2030
+
2031
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper--fail .lh-exp-gauge__percentage {
2032
+ fill: var(--color-fail);
2033
+ }
2034
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper--average .lh-exp-gauge__percentage {
2035
+ fill: var(--color-average);
2036
+ }
2037
+ .lh-exp-gauge-component .lh-exp-gauge__wrapper--pass .lh-exp-gauge__percentage {
2038
+ fill: var(--color-pass);
2039
+ }
2040
+
2041
+ .lh-exp-gauge-component .lh-cover {
2042
+ fill: none;
2043
+ opacity: .001;
2044
+ pointer-events: none;
2045
+ }
2046
+ .lh-exp-gauge-component .state--expanded .lh-cover {
2047
+ pointer-events: auto;
2048
+ }
2049
+
2050
+ .lh-exp-gauge-component .metric {
2051
+ transform: scale(var(--scale-initial));
2052
+ opacity: 0;
2053
+ transition: transform .1s .2s ease-out, opacity .3s ease-out;
2054
+ pointer-events: none;
2055
+ }
2056
+ .lh-exp-gauge-component .metric text {
2057
+ pointer-events: none;
2058
+ }
2059
+ .lh-exp-gauge-component .metric__value {
2060
+ fill: currentcolor;
2061
+ opacity: 0;
2062
+ transition: opacity 0.2s;
2063
+ }
2064
+ .lh-exp-gauge-component .state--expanded .metric {
2065
+ transform: scale(1);
2066
+ opacity: .999;
2067
+ transition: transform .3s ease-out, opacity .3s ease-in, stroke-width .1s ease-out;
2068
+ transition-delay: calc(var(--i)*.05s);
2069
+ pointer-events: auto;
2070
+ }
2071
+ .lh-exp-gauge-component .state--highlight .metric {
2072
+ opacity: .3;
2073
+ }
2074
+ .lh-exp-gauge-component .state--highlight .metric--highlight {
2075
+ opacity: .999;
2076
+ stroke-width: calc(1.5*var(--stroke-width));
2077
+ }
2078
+ .lh-exp-gauge-component .state--highlight .metric--highlight .metric__value {
2079
+ opacity: 0.999;
2080
+ }
2081
+
2082
+
2083
+ /*
2084
+ the initial first load peek
2085
+ */
2086
+ .lh-exp-gauge-component .lh-exp-gauge__bg { /* needed for the use zindex stacking w/ transparency */
2087
+ fill: var(--report-background-color);
2088
+ stroke: var(--report-background-color);
2089
+ }
2090
+ .lh-exp-gauge-component .state--peek .metric {
2091
+ transition-delay: 0ms;
2092
+ animation: peek var(--peek-dur) cubic-bezier(0.46, 0.03, 0.52, 0.96);
2093
+ animation-fill-mode: forwards;
2094
+ }
2095
+ .lh-exp-gauge-component .state--peek .lh-exp-gauge__inner .lh-exp-gauge__arc {
2096
+ opacity: 1;
2097
+ }
2098
+ .lh-exp-gauge-component .state--peek .lh-exp-gauge__arc.lh-exp-gauge--faded {
2099
+ opacity: 0.3; /* just a tad stronger cuz its fighting with a big solid arg */
2100
+ }
2101
+ /* do i need to set expanded and override this? */
2102
+ .lh-exp-gauge-component .state--peek .lh-exp-gauge__arc--metric.lh-exp-gauge--miniarc {
2103
+ transition: opacity 0.3s;
2104
+ }
2105
+ .lh-exp-gauge-component .state--peek {
2106
+ color: unset;
2107
+ }
2108
+ .lh-exp-gauge-component .state--peek .metric__label {
2109
+ display: none;
2110
+ }
2111
+
2112
+ .lh-exp-gauge-component .metric__label {
2113
+ fill: var(--report-text-color);
2114
+ }
2115
+
2116
+ @keyframes peek {
2117
+ /* biggest it should go is 0.92. smallest is 0.8 */
2118
+ 0% {
2119
+ transform: scale(0.8);
2120
+ opacity: 0.8;
2121
+ }
2122
+
2123
+ 50% {
2124
+ transform: scale(0.92);
2125
+ opacity: 1;
2126
+ }
2127
+
2128
+ 100% {
2129
+ transform: scale(0.8);
2130
+ opacity: 0.8;
2131
+ }
2132
+ }
2133
+
2134
+ .lh-exp-gauge-component .wrapper {
2135
+ width: 620px;
2136
+ }
2137
+
2138
+ /*# sourceURL=report-styles.css */