third and last part of syncing LCARStrek with Firefox 52 browser windows theme changes
[themes.git] / LCARStrek / devtools / widgets.css
1 /* vim:set ts=2 sw=2 sts=2 et: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 .theme-dark,
7 .theme-light {
8   --table-splitter-color: #A09090;
9   --table-zebra-background: rgba(255,159,0,0.1);
10   --sidemenu-separator-color: rgba(160,144,144,0.15);
11   --sidemenu-selected-arrow: url(images/itemArrow-dark-ltr.svg);
12   --sidemenu-selected-arrow-rtl: url(images/itemArrow-dark-rtl.svg);
13   --delete-icon: url(chrome://devtools/skin/images/vview-delete.png);
14   --delete-icon-2x: url(chrome://devtools/skin/images/vview-delete@2x.png);
15 }
16
17 /* Generic pane helpers */
18
19 .generic-toggled-pane {
20   margin-inline-start: 0 !important;
21   /* Unfortunately, transitions don't work properly with locale-aware properties,
22      so both the left and right margins are set via js, while the start margin
23      is always overridden here. */
24 }
25
26 .generic-toggled-pane[animated] {
27   transition: margin 0.25s ease-in-out;
28 }
29
30 /* Responsive container */
31
32 .devtools-responsive-container {
33   -moz-box-orient: horizontal;
34 }
35
36 .devtools-main-content {
37   min-width: 50px;
38 }
39
40 .devtools-main-content,
41 .devtools-sidebar-tabs {
42   /* Prevent some children that should be hidden from remaining visible as this is shrunk (Bug 971959) */
43   position: relative;
44 }
45
46 @media (min-width: 701px) {
47   .devtools-responsive-container .generic-toggled-pane {
48     /* To hide generic-toggled-pane, negative margins are applied dynamically.
49      * In the default horizontal layout, the pane is on the side and should be
50      * hidden using negative margin-inline-end only.
51      */
52     margin-top: 0 !important;
53     margin-bottom: 0 !important;
54   }
55 }
56 @media (max-width: 700px) {
57   .devtools-responsive-container {
58     -moz-box-orient: vertical;
59   }
60
61   .devtools-responsive-container > .devtools-side-splitter {
62     /* This is a normally vertical splitter, but we have turned it horizontal
63        due to the smaller resolution */
64     min-height: calc(var(--devtools-splitter-top-width) +
65     var(--devtools-splitter-bottom-width) + 1px);
66     border-top-width: var(--devtools-splitter-top-width);
67     border-bottom-width: var(--devtools-splitter-bottom-width);
68     margin-top: calc(-1 * var(--devtools-splitter-top-width) - 1px);
69     margin-bottom: calc(-1 * var(--devtools-splitter-bottom-width));
70
71     /* Reset the vertical splitter styles */
72     width: auto;
73     min-width: 0;
74     border-inline-end-width: 0;
75     border-inline-start-width: 0;
76     margin-inline-end: 0;
77     margin-inline-start: 0;
78
79     /* In some edge case the cursor is not changed to n-resize */
80     cursor: n-resize;
81   }
82
83   .devtools-responsive-container > .devtools-sidebar-tabs:not(.pane-collapsed) {
84     /* When the panel is collapsed min/max height should not be applied because
85        collapsing relies on negative margins, which implies constant height. */
86     min-height: 35vh;
87     max-height: 75vh;
88   }
89
90   .devtools-responsive-container .generic-toggled-pane {
91     /* To hide generic-toggled-pane, negative margins are applied dynamically.
92      * If a vertical layout, the pane is on the bottom and should be hidden
93      * using negative bottom margin only.
94      */
95     margin-inline-end: 0 !important;
96   }
97 }
98
99 /* BreacrumbsWidget */
100
101 .breadcrumbs-widget-container {
102   margin-inline-start: 2px;
103   max-height: 24px; /* Set max-height for proper sizing on linux */
104   height: 24px; /* Set height to prevent starting small waiting for content */
105 }
106
107 .scrollbutton-up,
108 .scrollbutton-down {
109   background: transparent;
110   box-shadow: none;
111   border: none;
112   margin: 0;
113   padding: 0;
114 }
115
116 .scrollbutton-up {
117   margin-inline-end: 1px;
118 }
119
120 .scrollbutton-down {
121   margin-inline-end: 0;
122 }
123
124 .scrollbutton-up > .toolbarbutton-icon,
125 .scrollbutton-down > .toolbarbutton-icon {
126   /* margin: 0 8px; */
127 }
128
129 .scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon,
130 .scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon {
131 }
132
133 .scrollbutton-up[disabled] > .toolbarbutton-icon,
134 .scrollbutton-down[disabled] > .toolbarbutton-icon {
135 }
136
137 .scrollbutton-up:-moz-locale-dir(ltr) {
138   border-top-right-radius: 0;
139   border-bottom-right-radius: 0;
140 }
141
142 .scrollbutton-down:-moz-locale-dir(ltr) {
143   border-top-left-radius: 0;
144   border-bottom-left-radius: 0;
145 }
146
147 .scrollbutton-up:-moz-locale-dir(rtl) {
148   border-top-left-radius: 0;
149   border-bottom-left-radius: 0;
150 }
151
152 .scrollbutton-down:-moz-locale-dir(rtl) {
153   border-top-right-radius: 0;
154   border-bottom-right-radius: 0;
155 }
156
157 /* Draw shadows to indicate there is more content 'behind' scrollbuttons. */
158 /*
159 .scrollbutton-up:-moz-locale-dir(ltr),
160 .scrollbutton-down:-moz-locale-dir(rtl) {
161   border-right: solid 1px rgba(255, 255, 255, .1);
162   border-left: solid 1px transparent;
163   box-shadow: 3px 0px 3px -3px var(--theme-sidebar-background);
164 }
165
166 .scrollbutton-down:-moz-locale-dir(ltr),
167 .scrollbutton-up:-moz-locale-dir(rtl) {
168   border-right: solid 1px transparent;
169   border-left: solid 1px rgba(255, 255, 255, .1);
170   box-shadow: -3px 0px 3px -3px var(--theme-sidebar-background);
171 }
172
173 .scrollbutton-up[disabled],
174 .scrollbutton-down[disabled] {
175   box-shadow: none;
176   border-color: transparent;
177 }
178 */
179
180 .scrollbutton-up > .toolbarbutton-icon:-moz-locale-dir(rtl),
181 .scrollbutton-down > .toolbarbutton-icon:-moz-locale-dir(ltr) {
182 /*  transform: scaleX(-1); */
183 }
184
185 /* The breadcrumb separator elements are used as background images with
186  * -moz-element, so we position them offscreen since we don't care about
187  * seeing the original elements.
188  */
189 .breadcrumb-separator-container {
190   position: fixed;
191   top: -1000px;
192   left: -1000px;
193 }
194
195 #breadcrumb-separator-before,
196 #breadcrumb-separator-after,
197 #breadcrumb-separator-normal {
198   width: 12px;
199   height: 24px;
200   overflow: hidden;
201 }
202
203 #breadcrumb-separator-before,
204 #breadcrumb-separator-after:after {
205   background: var(--theme-selection-background);
206 }
207
208 #breadcrumb-separator-after,
209 #breadcrumb-separator-before:after {
210   background: var(--theme-body-background);
211 }
212
213 /* This chevron arrow cannot be replicated easily in CSS, so we are using
214  * a background image for it (still keeping it in a separate element so
215  * we can handle RTL support with a CSS transform).
216  */
217 #breadcrumb-separator-normal {
218   background: url("images/breadcrumbs-divider@2x.png") no-repeat center right;
219   background-size: 12px 24px;
220 }
221
222 /* Fake a triangle by rotating a rectangle inside the elements */
223 #breadcrumb-separator-before:after,
224 #breadcrumb-separator-after:after {
225   content: "";
226   display: block;
227   width: 25px;
228   height: 24px;
229   transform: translateX(-18px) rotate(45deg);
230   box-sizing: border-box;
231 }
232
233 .breadcrumbs-widget-item {
234   background-color: var(--theme-capped-toolbar-background);
235   min-height: 24px;
236   min-width: 65px;
237   margin: 0;
238   padding: 0 8px 0 20px;
239   border: none;
240   border-radius: 0;
241   outline: none;
242   color: var(--theme-content-color1);
243 }
244
245 .breadcrumbs-widget-item:hover {
246   background-color: var(--theme-hover-background);
247   color: var(--theme-hover-color);
248 }
249
250 .breadcrumbs-widget-item[checked]:not(:hover) {
251   background-color: var(--theme-selection-background);
252   color: var(--theme-selection-color);
253 }
254
255 .breadcrumbs-widget-item[siblings-menu-open],
256 .breadcrumbs-widget-item:active {
257   background-color: var(--theme-active-background);
258   color: var(--theme-active-color);
259 }
260
261 .breadcrumbs-widget-item > .button-box {
262   border: none;
263   padding-top: 0;
264   padding-bottom: 0;
265 }
266
267 :root[platform="win"] .breadcrumbs-widget-item:-moz-focusring > .button-box {
268   border-width: 0;
269 }
270
271 .breadcrumbs-widget-item:not([checked]) {
272   background-image: -moz-element(#breadcrumb-separator-normal);
273   background-repeat: no-repeat;
274   background-position: center left;
275 }
276
277 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item {
278   background-image: -moz-element(#breadcrumb-separator-after);
279   background-repeat: no-repeat;
280   background-position: 0 0;
281 }
282
283 .breadcrumbs-widget-item[checked] {
284   background-image: -moz-element(#breadcrumb-separator-before);
285   background-repeat: no-repeat;
286   background-position: 0 0;
287   background-color: var(--theme-selection-background); /* Select Highlight Blue */
288 }
289
290 .breadcrumbs-widget-item:first-child {
291   background-image: none;
292 }
293
294 /* RTL support: move the images that were on the left to the right,
295  * and move images that were on the right to the left.
296  */
297 .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
298   padding: 0 20px 0 8px;
299 }
300
301 .breadcrumbs-widget-item:-moz-locale-dir(rtl),
302 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
303   background-position: center right;
304 }
305
306 #breadcrumb-separator-before:-moz-locale-dir(rtl),
307 #breadcrumb-separator-after:-moz-locale-dir(rtl),
308 #breadcrumb-separator-normal:-moz-locale-dir(rtl) {
309   transform: scaleX(-1);
310 }
311
312 #breadcrumb-separator-before:-moz-locale-dir(rtl):after,
313 #breadcrumb-separator-after:-moz-locale-dir(rtl):after {
314   transform: translateX(-5px) rotate(45deg);
315 }
316
317 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id,
318 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag,
319 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes,
320 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes {
321   color: var(--theme-button-color); /* --theme-highlight-lightorange */
322 }
323
324 .breadcrumbs-widget-item {
325   color: var(--theme-button-color); /* tag name, --theme-highlight-lightorange */
326 }
327
328 .breadcrumbs-widget-item:not([checked]):hover span,
329 .breadcrumbs-widget-item:not([checked]):hover label {
330   color: var(--theme-hover-color) !important;
331 }
332
333 .breadcrumbs-widget-item-id {
334   color: var(--theme-highlight-red); /* --theme-body-color-alt */
335 }
336
337 .breadcrumbs-widget-item-classes {
338   color: #402800; /* --theme-content-color1 */
339 }
340
341 .breadcrumbs-widget-item-pseudo-classes {
342   color: var(--theme-button-color); /* --theme-highlight-lightorange */
343 }
344
345 /* SimpleListWidget */
346
347 .simple-list-widget-container {
348   /* Hack: force hardware acceleration */
349   transform: translateZ(1px);
350 }
351
352 .simple-list-widget-item.selected {
353   background-color: var(--theme-selection-background);
354   color: var(--theme-selection-color);
355 }
356
357 .simple-list-widget-item:not(.selected):hover {
358   background-color: var(--theme-hover-background);
359   color: var(--theme-hover-color);
360 }
361
362 .simple-list-widget-perma-text,
363 .simple-list-widget-empty-text {
364   padding: 4px 8px;
365 }
366
367 .simple-list-widget-perma-text,
368 .simple-list-widget-empty-text {
369   color: var(--theme-body-color-alt);
370 }
371
372 /* FastListWidget */
373
374 .fast-list-widget-container {
375   /* Hack: force hardware acceleration */
376   transform: translateZ(1px);
377 }
378
379 .fast-list-widget-empty-text {
380   padding: 4px 8px;
381 }
382
383 .fast-list-widget-empty-text {
384   color: var(--theme-body-color-alt);
385 }
386
387 /* SideMenuWidget */
388
389 .side-menu-widget-container {
390   /* Hack: force hardware acceleration */
391   transform: translateZ(1px);
392 }
393
394 /* SideMenuWidget container */
395
396 .side-menu-widget-container[with-arrows=true] .side-menu-widget-item {
397   /* To compensate for the arrow image's dark margin. */
398 /*  margin-inline-end: -1px;*/
399 }
400
401 /* SideMenuWidget groups */
402
403 .side-menu-widget-group-title {
404   padding: 4px;
405   font-weight: 600;
406   border-bottom: 1px solid var(--sidemenu-separator-color);
407 }
408
409 .side-menu-widget-group-title + .side-menu-widget-group-list .side-menu-widget-item-contents {
410   padding-inline-start: 20px;
411 }
412
413 /* SideMenuWidget items */
414
415 .side-menu-widget-item {
416   border-bottom: 1px solid var(--sidemenu-separator-color);
417   background-clip: padding-box;
418 }
419
420 .side-menu-widget-item.selected {
421   background-color: var(--theme-selection-background);
422   color: var(--theme-selection-color);
423 }
424
425 .side-menu-widget-item-arrow {
426   margin-inline-start: -7px;
427   width: 7px; /* The image's width is 7 pixels */
428 }
429
430 .side-menu-widget-item.selected > .side-menu-widget-item-arrow {
431   background-image: var(--sidemenu-selected-arrow);
432   background-size: auto;
433   background-repeat: no-repeat;
434   background-position: center right;
435 }
436
437 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
438   background-image: var(--sidemenu-selected-arrow-rtl);
439   background-position: center left;
440 }
441
442 /* SideMenuWidget items contents */
443
444 .side-menu-widget-item-contents {
445   padding: 4px;
446   /* To avoid having content overlapping the arrow image. */
447   padding-inline-end: 8px;
448 }
449
450 .side-menu-widget-item-other {
451   /* To avoid having content overlapping the arrow image. */
452   padding-inline-end: 8px;
453   /* To compensate for the .side-menu-widget-item-contents padding. */
454   margin-inline-start: -4px;
455   margin-inline-end: -8px;
456   color: var(--theme-selection-color);
457 }
458
459 .side-menu-widget-group-title + .side-menu-widget-group-list .side-menu-widget-item-other {
460   /* To compensate for the .side-menu-widget-item-contents padding. */
461   margin-inline-start: -20px;
462 }
463
464 .side-menu-widget-item.selected .side-menu-widget-item-other:not(.selected) {
465   background-color: var(--theme-sidebar-background);
466   box-shadow: inset 2px 0 0 var(--theme-selection-background);
467   color: var(--theme-body-color);
468 }
469
470 .side-menu-widget-item.selected .side-menu-widget-item-other.selected {
471   background-color: var(--theme-selection-background);
472   color: var(--theme-selection-color);
473 }
474
475 .side-menu-widget-item-other:first-of-type {
476   margin-top: 4px;
477 /*  border-top-left-radius: 4px; */
478 }
479
480 .side-menu-widget-item-other:last-of-type {
481   margin-bottom: -4px;
482 }
483
484 .side-menu-widget-item-other:not(.selected) > label {
485   color: #9C9CFF;
486 }
487
488 /* SideMenuWidget checkboxes */
489
490 .side-menu-widget-group-checkbox {
491   margin: 0;
492   margin-inline-end: 4px;
493 }
494
495 .side-menu-widget-item-checkbox {
496   margin: 0;
497   margin-inline-start: 4px;
498   margin-inline-end: -4px;
499 }
500
501 /* SideMenuWidget misc */
502
503 .side-menu-widget-empty-text {
504   padding: 4px 8px;
505   background-color: var(--theme-sidebar-background);
506 }
507
508 /* VariablesView */
509
510 .variables-view-container {
511   /* Hack: force hardware acceleration */
512   transform: translateZ(1px);
513 }
514
515 .variables-view-empty-notice {
516   padding: 2px;
517 }
518
519 .variables-view-empty-notice {
520   color: var(--theme-body-color-alt);
521 }
522
523 .variables-view-scope:focus > .title,
524 .theme-dark .variable-or-property:focus > .title {
525   background-color: var(--theme-selection-background);
526   color: var(--theme-selection-color);
527 }
528
529 .variables-view-scope > .title {
530   background-color: #A09090;
531   color: #000000;
532 }
533
534 /* Custom scope stylings */
535
536 .variables-view-watch-expressions .title > .name  {
537   max-width: 14em;
538 }
539
540 /* Generic variables traits */
541
542 .variables-view-variable:not(:last-child) {
543   border-bottom: 1px solid #A09090;
544 }
545
546 .variables-view-variable > .title > .name {
547   font-weight: 600;
548 }
549
550 /* Generic variables *and* properties traits */
551
552 .variable-or-property:focus > .title > label {
553   color: inherit !important;
554 }
555
556 .variables-view-container .theme-twisty {
557   margin: 2px;
558 }
559
560 .variable-or-property > .title > .theme-twisty {
561   margin-inline-start: 5px;
562 }
563
564 .variable-or-property:not([untitled]) > .variables-view-element-details {
565   margin-inline-start: 7px;
566 }
567
568 /* Traits applied when variables or properties are changed or overridden */
569
570 .variable-or-property:not([overridden]) {
571   transition: background 1s ease-in-out, color 1s ease-in-out;
572 }
573
574 .variable-or-property:not([overridden])[changed] {
575   color: #000000;
576   transition-duration: .4s;
577 }
578
579 .variable-or-property[overridden] {
580   background: rgba(160,144,144,0.5);
581 }
582
583 .variable-or-property[overridden] .title > label {
584   /* Cross out the title for this variable and all child properties. */
585   font-style: italic;
586   text-decoration: line-through;
587   border-bottom: none !important;
588   color: #A09090;
589   opacity: 0.7;
590 }
591
592 /* Traits applied when variables or properties are editable */
593
594 .variable-or-property[editable] > .title > .value {
595   cursor: text;
596 }
597
598 .variable-or-property[overridden] .title > .value {
599   /* Disallow editing this variable and all child properties. */
600   pointer-events: none;
601 }
602
603 /* Custom configurable/enumerable/writable or frozen/sealed/extensible
604  * variables and properties */
605
606 .variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name {
607   opacity: 0.6;
608 }
609
610 .variable-or-property-non-writable-icon {
611   background: url("chrome://devtools/skin/images/vview-lock.png") no-repeat;
612   background-size: cover;
613   width: 16px;
614   height: 16px;
615 }
616
617 @media (min-resolution: 1.1dppx) {
618   .variable-or-property-non-writable-icon {
619     background-image: url("chrome://devtools/skin/images/vview-lock@2x.png");
620   }
621 }
622
623 .variable-or-property-frozen-label,
624 .variable-or-property-sealed-label,
625 .variable-or-property-non-extensible-label {
626   height: 16px;
627   padding-inline-end: 4px;
628 }
629
630 .variable-or-property:not(:focus) > .title > .variable-or-property-frozen-label,
631 .variable-or-property:not(:focus) > .title > .variable-or-property-sealed-label,
632 .variable-or-property:not(:focus) > .title > .variable-or-property-non-extensible-label {
633   color: #A09090;
634 }
635
636 /* Aligned values */
637
638 .variables-view-container[aligned-values] .title > .separator {
639   -moz-box-flex: 1;
640 }
641
642 .variables-view-container[aligned-values] .title > .value {
643   -moz-box-flex: 0;
644   width: 70vw;
645 }
646
647 .variables-view-container[aligned-values] .title > .element-value-input {
648   width: calc(70vw - 10px);
649 }
650
651 /* Actions first */
652
653 .variables-view-open-inspector {
654   -moz-box-ordinal-group: 1;
655 }
656
657 .variables-view-edit,
658 .variables-view-add-property {
659   -moz-box-ordinal-group: 2;
660 }
661
662 .variable-or-property-frozen-label,
663 .variable-or-property-sealed-label,
664 .variable-or-property-non-extensible-label,
665 .variable-or-property-non-writable-icon {
666   -moz-box-ordinal-group: 3;
667 }
668
669 .variables-view-delete {
670   -moz-box-ordinal-group: 4;
671 }
672
673 .variables-view-container[actions-first] .variables-view-delete,
674 .variables-view-container[actions-first] .variables-view-add-property,
675 .variables-view-container[actions-first] .variables-view-open-inspector {
676   -moz-box-ordinal-group: 0;
677 }
678
679 .variables-view-container[actions-first] [invisible] {
680   visibility: hidden;
681 }
682
683 /* Variables and properties tooltips */
684
685 .variable-or-property > tooltip > label {
686   margin: 0 2px 0 2px;
687 }
688
689 .variable-or-property[non-enumerable] > tooltip > label.enumerable,
690 .variable-or-property[non-configurable] > tooltip > label.configurable,
691 .variable-or-property[non-writable] > tooltip > label.writable,
692 .variable-or-property[non-extensible] > tooltip > label.extensible {
693   color: #A09090;
694   text-decoration: line-through;
695 }
696
697 .variable-or-property[overridden] > tooltip > label.overridden {
698   padding-inline-start: 4px;
699   border-inline-start: 1px dotted #9C9CFF;
700 }
701
702 .variable-or-property[safe-getter] > tooltip > label.WebIDL {
703   padding-inline-start: 4px;
704   border-inline-start: 1px dotted #9C9CFF;
705   color: #008484;
706 }
707
708 /* Variables and properties editing */
709 .variables-view-delete,
710 .variables-view-edit,
711 .variables-view-open-inspector {
712   width: 16px;
713   height: 16px;
714   background-size: cover;
715   cursor: pointer;
716 }
717
718 .variables-view-delete:hover,
719 .variables-view-edit:hover,
720 .variables-view-open-inspector:hover {
721   filter: url(images/filters.svg#checked-icon-state);
722 }
723
724 .variables-view-delete:active,
725 .variables-view-edit:active,
726 .variables-view-open-inspector:active {
727   filter: url(images/filters.svg#checked-icon-state);
728 }
729
730 .variable-or-property:focus > .title > .variables-view-delete,
731 .variable-or-property:focus > .title > .variables-view-edit,
732 .variable-or-property:focus > .title > .variables-view-open-inspector {
733   filter: none;
734 }
735
736 .variables-view-delete {
737   background-image: var(--delete-icon);
738 }
739
740 @media (min-resolution: 1.1dppx) {
741   .variables-view-delete {
742     background-image: var(--delete-icon-2x);
743   }
744 }
745
746 .variables-view-edit {
747   background-image: url("chrome://devtools/skin/images/vview-edit.png");
748 }
749
750 @media (min-resolution: 1.1dppx) {
751   .variables-view-edit {
752     background-image: url("chrome://devtools/skin/images/vview-edit@2x.png");
753   }
754 }
755
756 .variables-view-open-inspector {
757   background-image: url("chrome://devtools/skin/images/vview-open-inspector.png");
758 }
759
760 @media (min-resolution: 1.1dppx) {
761   .variables-view-open-inspector {
762     background-image: url("chrome://devtools/skin/images/vview-open-inspector@2x.png");
763   }
764 }
765
766 /* Variables and properties input boxes */
767
768 .variable-or-property > .title > .separator + .element-value-input {
769   margin-inline-start: -2px !important;
770   margin-inline-end: 2px !important;
771 }
772
773 .variable-or-property > .title > .separator[hidden=true] + .element-value-input {
774   margin-inline-start: 4px !important;
775   margin-inline-end: 2px !important;
776 }
777
778 .element-name-input {
779   margin-inline-start: -2px !important;
780   margin-inline-end: 2px !important;
781   font-weight: 600;
782 }
783
784 .element-value-input,
785 .element-name-input {
786   border: 1px solid #008484 !important;
787   color: inherit;
788 }
789
790 /* Variables and properties searching */
791
792 .variable-or-property[unmatched] {
793   border: none;
794   margin: 0;
795 }
796
797 /* Canvas graphs */
798
799 .graph-widget-container {
800   position: relative;
801 }
802
803 .graph-widget-canvas {
804   width: 100%;
805   height: 100%;
806 }
807
808 .graph-widget-canvas[input=hovering-background] {
809   cursor: text;
810 }
811
812 .graph-widget-canvas[input=hovering-region] {
813   cursor: pointer;
814 }
815
816 .graph-widget-canvas[input=hovering-selection-start-boundary],
817 .graph-widget-canvas[input=hovering-selection-end-boundary],
818 .graph-widget-canvas[input=adjusting-selection-boundary] {
819   cursor: col-resize;
820 }
821
822 .graph-widget-canvas[input=adjusting-view-area] {
823   cursor: grabbing;
824 }
825
826 .graph-widget-canvas[input=hovering-selection-contents] {
827   cursor: grab;
828 }
829
830 .graph-widget-canvas[input=dragging-selection-contents] {
831   cursor: grabbing;
832 }
833
834 /* Line graph widget */
835
836 .line-graph-widget-gutter {
837   position: absolute;
838   width: 10px;
839   height: 100%;
840   top: 0;
841   left: 0;
842   pointer-events: none;
843
844   background: #000000;
845   border-inline-end: 1px solid #9C9CFF;
846 }
847
848 .line-graph-widget-gutter-line {
849   position: absolute;
850   width: 100%;
851   border-top: 1px solid;
852 }
853
854 .line-graph-widget-gutter-line[type=maximum] {
855   border-color: #008484;
856 }
857
858 .line-graph-widget-gutter-line[type=minimum] {
859   border-color: #FF0000;
860 }
861
862 .line-graph-widget-gutter-line[type=average] {
863   border-color: #FF9F00;
864 }
865
866 .line-graph-widget-tooltip {
867   position: absolute;
868   border-radius: 2px;
869   line-height: 15px;
870   padding-inline-start: 6px;
871   padding-inline-end: 6px;
872   transform: translateY(-50%);
873   font-size: 0.8rem !important;
874   z-index: 1;
875   pointer-events: none;
876
877   background: #404000;
878 }
879
880 .line-graph-widget-tooltip[with-arrows=true]::before {
881   content: "";
882   position: absolute;
883   border-top: 3px solid transparent;
884   border-bottom: 3px solid transparent;
885   top: calc(50% - 3px);
886 }
887
888 .line-graph-widget-tooltip[arrow=start][with-arrows=true]::before {
889   border-inline-end: 3px solid #9C9CFF;
890   left: -3px;
891 }
892
893 .line-graph-widget-tooltip[arrow=end][with-arrows=true]::before {
894   border-inline-start: 3px solid #9C9CFF;
895   right: -3px;
896 }
897
898 .line-graph-widget-tooltip[type=maximum] {
899   left: 14px;
900 }
901
902 .line-graph-widget-tooltip[type=minimum] {
903   left: 14px;
904 }
905
906 .line-graph-widget-tooltip[type=average] {
907   right: 4px;
908 }
909
910 .line-graph-widget-tooltip > [text=info] {
911   color: var(--theme-content-color2);
912 }
913
914 .line-graph-widget-tooltip > [text=value] {
915   margin-inline-start: 3px;
916 }
917
918 .line-graph-widget-tooltip > [text=metric] {
919   margin-inline-start: 1px;
920   color: var(--theme-content-color4);
921 }
922
923 .line-graph-widget-tooltip > [text=value],
924 .line-graph-widget-tooltip > [text=metric] {
925 /*  text-shadow: 1px  0px rgba(255,255,255,0.6),
926               -1px  0px rgba(255,255,255,0.6),
927                0px -1px rgba(255,255,255,0.6),
928                0px  1px rgba(255,255,255,0.6);*/
929 }
930
931 .line-graph-widget-tooltip[type=maximum] > [text=value] {
932   color: var(--theme-highlight-green);
933 }
934
935 .line-graph-widget-tooltip[type=minimum] > [text=value] {
936   color: var(--theme-highlight-red);
937 }
938
939 .line-graph-widget-tooltip[type=average] > [text=value] {
940   color: var(--theme-highlight-orange);
941 }
942
943 /* Bar graph widget */
944
945 .bar-graph-widget-legend {
946   position: absolute;
947   top: 4px;
948   left: 8px;
949   color: #A09090;
950   font-size: 0.8rem !important;
951   pointer-events: none;
952 }
953
954 .bar-graph-widget-legend-item {
955   float: left;
956   margin-inline-end: 8px;
957 }
958
959 .bar-graph-widget-legend-item > [view="color"],
960 .bar-graph-widget-legend-item > [view="label"] {
961   vertical-align: middle;
962 }
963
964 .bar-graph-widget-legend-item > [view="color"] {
965   display: inline-block;
966   width: 8px;
967   height: 8px;
968   border: 1px solid #9C9CFF;
969   border-radius: 1px;
970   margin-inline-end: 4px;
971   pointer-events: all;
972   cursor: pointer;
973 }
974
975 .bar-graph-widget-legend-item > [view="label"] {
976 /*  text-shadow: 1px  0px rgba(255,255,255,0.8),
977               -1px  0px rgba(255,255,255,0.8),
978                0px -1px rgba(255,255,255,0.8),
979                0px  1px rgba(255,255,255,0.8);*/
980 }
981
982 /* Charts */
983
984 .generic-chart-container {
985   /* Hack: force hardware acceleration */
986   transform: translateZ(1px);
987 }
988
989 .generic-chart-container {
990   color: var(--theme-body-color-alt);
991 }
992
993 .chart-colored-blob {
994   fill: var(--theme-highlight-blue);
995   background: var(--theme-highlight-blue);
996 }
997
998 /* Charts: Pie */
999
1000 .pie-chart-slice {
1001   stroke-width: 1px;
1002   cursor: pointer;
1003 }
1004
1005 .pie-chart-slice {
1006   stroke: #A09090;
1007 }
1008
1009 .pie-chart-slice[largest] {
1010   stroke-width: 2px;
1011   stroke: #9C9CFF;
1012 }
1013
1014 .pie-chart-label {
1015   text-anchor: middle;
1016   dominant-baseline: middle;
1017   pointer-events: none;
1018 }
1019
1020 .pie-chart-label {
1021   fill: #000;
1022 }
1023
1024 .pie-chart-container[slices="1"] > .pie-chart-slice {
1025   stroke-width: 0px;
1026 }
1027
1028 .pie-chart-slice,
1029 .pie-chart-label {
1030   transition: all 0.1s ease-out;
1031 }
1032
1033 .pie-chart-slice:not(:hover):not([focused]),
1034 .pie-chart-slice:not(:hover):not([focused]) + .pie-chart-label {
1035   transform: none !important;
1036 }
1037
1038 /* Charts: Table */
1039
1040 .table-chart-title {
1041   padding-bottom: 10px;
1042   font-size: 120%;
1043   font-weight: 600;
1044 }
1045
1046 .table-chart-row {
1047   margin-top: 1px;
1048   cursor: pointer;
1049 }
1050
1051 .table-chart-grid:hover > .table-chart-row {
1052   transition: opacity 0.1s ease-in-out;
1053 }
1054
1055 .table-chart-grid:not(:hover) > .table-chart-row {
1056   transition: opacity 0.2s ease-in-out;
1057 }
1058
1059 .generic-chart-container:hover > .table-chart-grid:hover > .table-chart-row:not(:hover),
1060 .generic-chart-container:hover ~ .table-chart-container > .table-chart-grid > .table-chart-row:not([focused]) {
1061   opacity: 0.4;
1062 }
1063
1064 .table-chart-row-box {
1065   width: 8px;
1066   height: 1.5em;
1067   margin-inline-end: 10px;
1068 }
1069
1070 .table-chart-row-label {
1071   width: 8em;
1072   padding-inline-end: 6px;
1073   cursor: inherit;
1074 }
1075
1076 .table-chart-totals {
1077   margin-top: 8px;
1078   padding-top: 6px;
1079 }
1080
1081 .table-chart-totals {
1082   border-top: 1px solid var(--theme-body-color-alt); /* Grey foreground text */
1083 }
1084
1085 .table-chart-summary-label {
1086   font-weight: 600;
1087   padding: 1px 0px;
1088 }
1089
1090 .table-chart-summary-label {
1091   color: var(--theme-content-color2);
1092 }
1093
1094 /* Table Widget */
1095
1096 /* Table body */
1097
1098 .table-widget-body > .devtools-side-splitter {
1099   border: none;
1100 }
1101
1102 .table-widget-body {
1103   overflow: auto;
1104 }
1105
1106 .table-widget-body,
1107 .table-widget-empty-text {
1108   background-color: var(--theme-body-background);
1109 }
1110
1111 /* Column Headers */
1112
1113 .table-widget-column-header,
1114 .table-widget-cell {
1115   border-inline-end: 1px solid var(--table-splitter-color) !important;
1116 }
1117
1118 /* Table widget column header colors are taken from netmonitor.inc.css to match
1119    the look of both the tables. */
1120
1121 .table-widget-column-header {
1122   position: sticky;
1123   top: 0;
1124   width: 100%;
1125   margin: 0;
1126   padding: 5px 0 0 !important;
1127   color: inherit;
1128   text-align: center;
1129   font-weight: inherit !important;
1130   border-image: linear-gradient(transparent 15%,
1131                                 var(--theme-splitter-color) 15%,
1132                                 var(--theme-splitter-color) 85%,
1133                                 transparent 85%,
1134                                 transparent calc(100% - 1px),
1135                                 var(--theme-splitter-color) calc(100% - 1px)) 1 1;
1136   background-repeat: no-repeat;
1137 }
1138
1139 .table-widget-column-header:not([sorted]):hover {
1140 /*  background-image: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.1));*/
1141 }
1142
1143 .table-widget-column-header[sorted] {
1144   background-color: var(--theme-selection-background);
1145   color: var(--theme-selection-color);
1146   border-image: linear-gradient(var(--theme-splitter-color), var(--theme-splitter-color)) 1 1;
1147 /*  box-shadow: -0.5px 0 0 0.5px var(--theme-splitter-color);*/
1148   background-position: right 6px center;
1149 }
1150
1151 .table-widget-column-header[sorted]:-moz-locale-dir(rtl) {
1152   background-position: 6px center;
1153 }
1154
1155 .table-widget-column-header[sorted=ascending] {
1156   background-image: url("chrome://devtools/skin/images/sort-arrows.svg#ascending");
1157 }
1158
1159 .table-widget-column-header[sorted=descending] {
1160   background-image: url("chrome://devtools/skin/images/sort-arrows.svg#descending");
1161 }
1162
1163 .table-widget-column[readonly] {
1164   background-color: #402800;
1165 }
1166
1167 .table-widget-body .devtools-side-splitter:last-of-type {
1168   display: none;
1169 }
1170
1171 /* Cells */
1172
1173 .table-widget-cell {
1174   width: 100%;
1175   padding: 3px 4px;
1176   min-width: 100px;
1177   -moz-user-focus: normal;
1178   color: var(--theme-body-color);
1179 }
1180
1181 .table-widget-cell[hidden] {
1182   display: none;
1183 }
1184
1185 .table-widget-column-header + .table-widget-cell {
1186   border-top: 1px solid var(--theme-splitter-color);
1187 }
1188
1189 .table-widget-cell:last-child {
1190   border-bottom: 1px solid var(--table-splitter-color);
1191 }
1192
1193 .table-widget-cell.even:not(.theme-selected) {
1194   background-color: var(--table-zebra-background);
1195 }
1196
1197 :root:not(.no-animate) .table-widget-cell.flash-out {
1198   animation: flash-out 0.5s ease-in;
1199 }
1200
1201 @keyframes flash-out {
1202   to {
1203     background: var(--theme-contrast-background2);
1204   }
1205 }
1206
1207 /* Empty text and initial text */
1208
1209 .table-widget-empty-text {
1210   display: none;
1211   text-align: center;
1212   font-size: large;
1213   margin-top: -20px !important;
1214 }
1215
1216 .table-widget-body:empty + .table-widget-empty-text:not([value=""]),
1217 .table-widget-body[empty] + .table-widget-empty-text:not([value=""]) {
1218   display: block;
1219 }
1220
1221 /* Tree Widget */
1222
1223 .tree-widget-container {
1224   padding: 0;
1225   margin: 0;
1226   width: 100%;
1227   height: 100%;
1228   list-style: none;
1229   overflow: hidden;
1230   margin-inline-end: 40px;
1231 }
1232
1233 .tree-widget-container:-moz-focusring,
1234 .tree-widget-container *:-moz-focusring {
1235   outline-style: none;
1236 }
1237
1238 .tree-widget-empty-text {
1239   padding: 10px 20px;
1240   font-size: medium;
1241   background: transparent;
1242   pointer-events: none;
1243 }
1244
1245 /* Tree Item */
1246
1247 .tree-widget-container .tree-widget-item {
1248   padding: 2px 0px 4px;
1249   /* OSX has line-height 14px by default, which causes weird alignment issues
1250    * because of 20px high icons. thus making line-height consistent with that of
1251    * windows.
1252    */
1253   line-height: 17px !important;
1254   display: inline-block;
1255   width: 100%;
1256   word-break: keep-all; /* To prevent long urls like http://foo.com/bar from
1257                            breaking in multiple lines */
1258 }
1259
1260 .tree-widget-container .tree-widget-children {
1261   margin: 0;
1262   padding: 0;
1263   list-style: none;
1264 }
1265
1266 .tree-widget-item[level="1"] {
1267   font-weight: 700;
1268 }
1269
1270 /* Twisties */
1271 .tree-widget-item::before {
1272   content: "";
1273   width: 14px;
1274   height: 14px;
1275   float: left;
1276   margin: 3px 2px -3px;
1277   background-repeat: no-repeat;
1278   background-image: url("chrome://devtools/skin/images/controls.png");
1279   background-size: 56px 28px;
1280   cursor: pointer;
1281   background-position: -28px -14px;
1282 }
1283
1284 .tree-widget-item:-moz-locale-dir(rtl)::before {
1285   float: right;
1286   transform: scaleX(-1);
1287 }
1288
1289 .tree-widget-item[empty]::before {
1290   background: transparent;
1291 }
1292
1293 .tree-widget-item[expanded]::before {
1294   background-position: -42px -14px;
1295 }
1296
1297 .tree-widget-item + ul {
1298   overflow: hidden;
1299   animation: collapse-tree-item 0.2s;
1300   max-height: 0;
1301 }
1302
1303 .tree-widget-item[expanded] + ul {
1304   animation: expand-tree-item 0.3s;
1305   max-height: unset;
1306 }
1307
1308 @keyframes collapse-tree-item {
1309   from {
1310     max-height: 300px;
1311   }
1312   to {
1313     max-height: 0;
1314   }
1315 }
1316
1317 @keyframes expand-tree-item {
1318   from {
1319     max-height: 0;
1320   }
1321   to {
1322     max-height: 500px;
1323   }
1324 }
1325
1326 @media (min-resolution: 1.1dppx) {
1327   .tree-widget-item:before {
1328     background-image: url("chrome://devtools/skin/images/controls@2x.png");
1329   }
1330 }
1331
1332 /* Indentation of child items in the tree */
1333
1334 /* For level > 6 */
1335 .tree-widget-item[level] + ul > li > .tree-widget-item {
1336   padding-inline-start: 98px;
1337 }
1338
1339 /* First level */
1340 .tree-widget-item[level="1"] + ul > li > .tree-widget-item {
1341   padding-inline-start: 14px;
1342 }
1343
1344 /* Second level */
1345 .tree-widget-item[level="2"] + ul > li > .tree-widget-item {
1346   padding-inline-start: 28px;
1347 }
1348
1349 /* Third level */
1350 .tree-widget-item[level="3"] + ul > li > .tree-widget-item {
1351   padding-inline-start: 42px;
1352 }
1353
1354 /* Fourth level */
1355 .tree-widget-item[level="4"] + ul > li > .tree-widget-item {
1356   padding-inline-start: 56px;
1357 }
1358
1359 /* Fifth level */
1360 .tree-widget-item[level="5"] + ul > li > .tree-widget-item {
1361   padding-inline-start: 70px;
1362 }
1363
1364 /* Sixth level */
1365 .tree-widget-item[level="6"] + ul > li > .tree-widget-item {
1366   padding-inline-start: 84px;
1367 }
1368
1369 /* Custom icons for certain tree items indicating the type of the item */
1370
1371 .tree-widget-item[type]::after {
1372   content: "";
1373   float: left;
1374   width: 16px;
1375   height: 17px;
1376   margin-inline-end: 4px;
1377   background-repeat: no-repeat;
1378   background-size: 20px auto;
1379   background-position: 0 0;
1380   background-size: auto 20px;
1381   opacity: 0.75;
1382 }
1383
1384 .tree-widget-item.theme-selected[type]::after {
1385   opacity: 1;
1386 }
1387
1388 .tree-widget-item:-moz-locale-dir(rtl)::after {
1389   float: right;
1390 }
1391
1392 /*.theme-light .tree-widget-item.theme-selected[type]::after,*/
1393 .tree-widget-item[type]::after {
1394   filter: invert(1);
1395 }
1396
1397 .tree-widget-item[type="dir"]::after {
1398   background-image: url("chrome://devtools/skin/images/filetypes/dir-close.svg");
1399   background-position: 2px 0;
1400   background-size: auto 16px;
1401   width: 20px;
1402 }
1403
1404 .tree-widget-item[type="dir"][expanded]:not([empty])::after {
1405   background-image: url("chrome://devtools/skin/images/filetypes/dir-open.svg");
1406 }
1407
1408 .tree-widget-item[type="url"]::after {
1409   background-image: url("chrome://devtools/skin/images/filetypes/globe.svg");
1410   background-size: auto 18px;
1411   width: 18px;
1412 }