<!--
@license
Copyright (C) 2015 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<style is="custom-style">
:root {
  /* Following vars have LTS for plugin API. */
  --primary-text-color: #000;
  --header-background-color: #eee;
  --header-title-content: 'Gerrit';
  --header-icon: none;
  --header-icon-size: 0em;
  --header-text-color: #000;
  --footer-background-color: var(--header-background-color);
  --border-color: #ddd;

  /* Following are not part of plugin API. */
  --selection-background-color: rgba(161, 194, 250, 0.1);
  --hover-background-color: rgba(161, 194, 250, 0.2);
  --expanded-background-color: #eee;
  --view-background-color: #fff;
  --default-horizontal-margin: 1rem;
  --deemphasized-text-color: #757575;
  --font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  --font-family-bold: 'Roboto Medium', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  --monospace-font-family: 'Roboto Mono', Menlo, 'Lucida Console', Monaco, monospace;
  --iron-overlay-backdrop: {
    transition: none;
  }
  --table-header-background-color: #fafafa;
  --table-subheader-background-color: #eaeaea;

  --chip-background-color: var(--header-background-color);

  --dropdown-background-color: #fff;

  --select-background-color: rgb(248, 248, 248);

  --assignee-highlight-color: #fcfad6;

  /* Font sizes */
  --font-size-normal: 1rem;
  --font-size-small: .92rem;
  --font-size-large: 1.076rem;

  --link-color: #2a66d9;
  --primary-button-background-color: var(--link-color);
  --primary-button-text-color: #fff;
  --secondary-button-background-color: #fff;
  --secondary-button-text-color: #212121;
  --default-button-background-color: #fff;
  --default-button-text-color: var(--link-color);
  --dialog-background-color: #fff;

  /* Used for both the old patchset header and for indicating that a particular
    change message was selected. */
  --emphasis-color: #fff9c4;

  --error-text-color: red;

  --vote-color-approved: #9fcc6b;
  --vote-color-recommended: #c9dfaf;
  --vote-color-rejected: #f7a1ad;
  --vote-color-disliked: #f7c4cb;
  --vote-color-neutral: #ebf5fb;

  /* Diff colors */
  --diff-selection-background-color: #c7dbf9;
  --light-remove-highlight-color: #fee;
  --light-add-highlight-color: #efe;
  --light-remove-add-highlight-color: #fff6ea;
  --light-rebased-add-highlight-color: #edfffa;
  --dark-remove-highlight-color: rgba(255, 0, 0, 0.15);
  --dark-add-highlight-color: rgba(0, 255, 0, 0.15);
  --dark-rebased-remove-highlight-color: rgba(255, 139, 6, 0.15);
  --dark-rebased-add-highlight-color: rgba(11, 255, 155, 0.15);
  --diff-context-control-color: #fff7d4;
  --diff-context-control-border-color: #f6e6a5;
  --diff-tab-indicator-color: var(--deemphasized-text-color);
  --diff-trailing-whitespace-indicator: #ff9ad2;
  --diff-highlight-range-color: rgba(255, 213, 0, 0.5);
  --diff-highlight-range-hover-color: rgba(255, 255, 0, 0.5);

  --comment-text-color: #000;
  --comment-background-color: #fcfad6;
  --unresolved-comment-background-color: #fcfaa6;

  --edit-mode-background-color: #ebf5fb;

  --tooltip-background-color: #333;
  --tooltip-text-color: #fff;

  --syntax-default-color: var(--primary-text-color);
  --syntax-meta-color: #FF1717;
  --syntax-keyword-color: #9E0069;
  --syntax-number-color: #164;
  --syntax-selector-class-color: #164;
  --syntax-variable-color: black;
  --syntax-template-variable-color: #0000C0;
  --syntax-comment-color: #3F7F5F;
  --syntax-string-color: #2A00FF;
  --syntax-selector-id-color: #2A00FF;
  --syntax-built_in-color: #30a;
  --syntax-tag-color: #170;
  --syntax-link-color: #219;
  --syntax-meta-keyword-color: #219;
  --syntax-type-color: var(--color-link);
  --syntax-title-color: #0000C0;
  --syntax-attr-color: #219;
  --syntax-literal-color: #219;
  --syntax-selector-pseudo-color: #FA8602;
  --syntax-regexp-color: #FA8602;
  --syntax-selector-attr-color: #FA8602;
  --syntax-template-tag-color: #FA8602;
}
@media screen and (max-width: 50em) {
  :root {
    --default-horizontal-margin: .7rem;
  }
}
</style>
