/*!
 * Copyright 2021 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */

.go-Icon {
  filter: none;
  height: 1.125em;
  vertical-align: text-bottom;
  width: auto;
}
.go-Icon--accented {
  filter: brightness(0) invert(45%) sepia(94%) saturate(6735%) hue-rotate(176deg) brightness(94%)
    contrast(101%);
}
.go-Icon--inverted {
  filter: brightness(0) saturate(100%) invert(100%) sepia(97%) saturate(13%) hue-rotate(245deg)
    brightness(103%) contrast(107%);
}

[data-theme='dark'] .go-Icon:not(.go-Icon--accented) {
  filter: brightness(0) saturate(100%) invert(100%) sepia(97%) saturate(13%) hue-rotate(245deg)
    brightness(103%) contrast(107%);
}
[data-theme='dark'] .go-Icon--accented {
  filter: brightness(0) invert(69%) sepia(46%) saturate(466%) hue-rotate(153deg) brightness(90%)
    contrast(88%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) .go-Icon:not(.go-Icon--accented) {
    filter: brightness(0) saturate(100%) invert(100%) sepia(97%) saturate(13%) hue-rotate(245deg)
      brightness(103%) contrast(107%);
  }
  :root:not([data-theme='light']) .go-Icon--accented {
    filter: brightness(0) invert(57%) sepia(63%) saturate(4864%) hue-rotate(160deg) brightness(100%)
      contrast(101%);
  }
}
