@charset "UTF-8";
/*
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/

tab-favicon {
  display: inline-block;
  font-size: var(--favicon-size);
  height: var(--favicon-size);
  margin: 0;
  max-height: var(--favicon-size);
  max-width: var(--favicon-size);
  min-height: var(--favicon-size);
  min-width: var(--favicon-size);
  padding: 0;
  position: relative;
  white-space: pre;
  width: var(--favicon-size);

  --favicon-base-z-index:            20;
  --favicon-preferred-image-z-index: 100;
}
tab-item tab-favicon,
tab-item tab-favicon * {
  vertical-align: baseline;
}
tab-item tab-favicon * {
  position: relative;
  z-index: var(--favicon-base-z-index);
}

.favicon-image {
  max-height: var(--favicon-size);
  max-width: var(--favicon-size);
}

.favicon-builtin::before {
  -moz-context-properties: fill;
  background: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
  content: "";
  display: inline-block;
  fill: var(--tab-text);
  height: var(--svg-small-icon-size);
  line-height: 1;
  margin-top: calc((var(--favicon-size) - var(--svg-small-icon-size)) / 2);
  max-height: var(--favicon-size);
  max-width: var(--favicon-size);
  width: var(--svg-small-icon-size);
}
:root.simulate-svg-context-fill tab-item .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
}

tab-item.group-tab .favicon-builtin::before {
  background: url("/resources/icons/folder-16.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item.group-tab .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/folder-16.svg") no-repeat center / 100%;
}


tab-item[data-current-uri^="chrome:"] .favicon-builtin::before {
  background: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item[data-current-uri^="chrome:"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/globe-16.svg") no-repeat center / 100%;
}

tab-item[data-current-uri^="about:addons"] .favicon-builtin::before {
  background: url("/resources/icons/extensionGeneric-16.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item[data-current-uri^="about:addons"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/extensionGeneric-16.svg") no-repeat center / 100%;
}

tab-item[data-current-uri^="about:preferences"] .favicon-builtin::before {
  background: url("/resources/icons/settings.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item[data-current-uri^="about:preferences"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/settings.svg") no-repeat center / 100%;
}

tab-item[data-current-uri^="about:performance"] .favicon-builtin::before {
  background: url("/resources/icons/performance.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item[data-current-uri^="about:performance"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/performance.svg") no-repeat center / 100%;
}

tab-item[data-current-uri^="about:debugging"] .favicon-builtin::before {
  background: url("/resources/icons/developer.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item[data-current-uri^="about:debugging"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/developer.svg") no-repeat center / 100%;
}

tab-item[data-current-uri^="about:devtools-toolbox"] .favicon-builtin::before {
  background: url("/resources/icons/window.svg") no-repeat center / 100%;
}
:root.simulate-svg-context-fill tab-item[data-current-uri^="about:devtools-toolbox"] .favicon-builtin::before {
  background: var(--tab-text);
  mask: url("/resources/icons/window.svg") no-repeat center / 100%;
}

tab-item[data-current-uri^="about:privatebrowsing"] .favicon-builtin::before,
:root.simulate-svg-context-fill tab-item[data-current-uri^="about:privatebrowsing"] .favicon-builtin::before {
  background: url("/resources/icons/privatebrowsing-favicon.svg") no-repeat center / 100%;
  mask: none;
}


tab-item.group-tab tab-favicon:not(.error) .favicon-image[src] {
  bottom: 0;
  max-height: 10px;
  max-width: 10px;
  position: absolute;
  right: 0;
  z-index: var(--favicon-preferred-image-z-index);
}


tab-favicon.error .favicon-image,
.favicon-image:not([src]),
tab-item[data-current-uri^="chrome:"] .favicon-image,
tab-item[data-current-uri^="about:addons"] .favicon-image,
tab-item[data-current-uri^="about:debugging"] .favicon-image,
tab-item[data-current-uri^="about:devtools-toolbox"] .favicon-image,
tab-item[data-current-uri^="about:preferences"] .favicon-image,
tab-item:not(.group-tab):not([data-current-uri^="chrome:"]):not([data-current-uri^="about:addons"]):not([data-current-uri^="about:debugging"]):not([data-current-uri^="about:devtools-toolbox"]):not([data-current-uri^="about:preferences"])
  tab-favicon:not(.error) .favicon-image[src] ~ .favicon-builtin::before,
tab-item.loading .favicon-image,
tab-item.loading .favicon-builtin::before {
  display: none !important;
}
