//   <circle .*? id='([a-z_]+)' fill='#([A-Za-z0-9]+)'></circle>
// to 
// @$1: #$2;

// @background: #0A0F14;
// @f_high: #FFFFFF;
// @f_med: #98D1CE;
// @f_low: #EDB54B;
// @f_inv: #C33027;
// @b_high: #093748;
// @b_med: #081F2D;
// @b_low: #10151B;
// @b_inv: #8FAF9F;

// @background: #E0B1CB;
// @f_high: #231942;
// @f_med: #48416d;
// @f_low: #917296;
// @f_inv: #E0B1CB;
// @b_high: #5E548E;
// @b_med: #FFFFFF;
// @b_low: #BE95C4;
// @b_inv: #9F86C0;

@primary:     @f_high; // primary color used in main texts
@secondary:   @f_med; // secondary color used in some texts and text based buttons
@tertiary:    @f_med; // tertiary color used in other colored texts
@fg:          @f_high;
@bg0:         @background;
@bg1:         @b_low;
@bg2:         @b_med;
@bg3:         @b_high;
@bg4:         @b_high;
@red:         #ec7279;
@orange:      #deb974;
@yellow:      #deb974;
@green:       #a0c980;
@cyan:        #5dbbc1;
@blue:        #6cb6eb;
@purple:      #d38aea;
@grey:        #758094;
@red-bg:      #55393d;
@green-bg:    #394634;
@blue-bg:     #354157;
@yellow-bg:   #4e432f;
@button1:     @b_inv;
@button2:     @b_inv;
@button-red:  @red;
@key:         @red;
@operator:    @purple;
@string:      @green;
@value:       @green;
@type:        @yellow;
@function:    @blue;
@special:     @cyan;

:root {
  --is-dark-theme: true;
  --color-primary: @primary;
  --color-primary-contrast: @bg0;
  --color-primary-dark-1: @primary;
  --color-primary-dark-2: mix(@fg, @primary, 16.7%);
  --color-primary-dark-3: mix(@fg, @primary, 33.3%);
  --color-primary-dark-4: mix(@fg, @primary, 50%);
  --color-primary-dark-5: mix(@fg, @primary, 66.6%);
  --color-primary-dark-6: mix(@fg, @primary, 83.3%);
  --color-primary-dark-7: @fg;
  --color-primary-light-1: @primary;
  --color-primary-light-2: mix(@bg2, @primary, 16.7%);
  --color-primary-light-3: mix(@bg2, @primary, 33.3%);
  --color-primary-light-4: mix(@bg2, @primary, 50%);
  --color-primary-light-5: mix(@bg2, @primary, 66.6%);
  --color-primary-light-6: mix(@bg2, @primary, 83.3%);
  --color-primary-light-7: @bg2;
  --color-primary-alpha-10: fade(@primary, 10%);
  --color-primary-alpha-20: fade(@primary, 20%);
  --color-primary-alpha-30: fade(@primary, 30%);
  --color-primary-alpha-40: fade(@primary, 40%);
  --color-primary-alpha-50: fade(@primary, 50%);
  --color-primary-alpha-60: fade(@primary, 60%);
  --color-primary-alpha-70: fade(@primary, 70%);
  --color-primary-alpha-80: fade(@primary, 80%);
  --color-primary-alpha-90: fade(@primary, 90%);
  --color-secondary: @bg4;
  --color-secondary-dark-1: @bg4;
  --color-secondary-dark-2: mix(@fg, @bg4, 8.3%);
  --color-secondary-dark-3: mix(@fg, @bg4, 16.7%);
  --color-secondary-dark-4: mix(@fg, @bg4, 25%);
  --color-secondary-dark-5: mix(@fg, @bg4, 33.3%);
  --color-secondary-dark-6: mix(@fg, @bg4, 41.7%);
  --color-secondary-dark-7: mix(@fg, @bg4, 50%);
  --color-secondary-dark-8: mix(@fg, @bg4, 58.3%);
  --color-secondary-dark-9: mix(@fg, @bg4, 66.7%);
  --color-secondary-dark-10: mix(@fg, @bg4, 75%);
  --color-secondary-dark-11: mix(@fg, @bg4, 83.3%);
  --color-secondary-dark-12: mix(@fg, @bg4, 91.7%);
  --color-secondary-dark-13: @fg;
  --color-secondary-light-1: @bg4;
  --color-secondary-light-2: @bg3;
  --color-secondary-light-3: @bg2;
  --color-secondary-light-4: @bg1;
  --color-secondary-alpha-10: fade(@bg4, 10%);
  --color-secondary-alpha-20: fade(@bg4, 20%);
  --color-secondary-alpha-30: fade(@bg4, 30%);
  --color-secondary-alpha-40: fade(@bg4, 40%);
  --color-secondary-alpha-50: fade(@bg4, 50%);
  --color-secondary-alpha-60: fade(@bg4, 60%);
  --color-secondary-alpha-70: fade(@bg4, 70%);
  --color-secondary-alpha-80: fade(@bg4, 80%);
  --color-secondary-alpha-90: fade(@bg4, 90%);
  /* colors */
  --color-red: @red;
  --color-orange: @orange;
  --color-yellow: @yellow;
  --color-olive: @green;
  --color-green: @green;
  --color-teal: @cyan;
  --color-blue: @blue;
  --color-violet: @purple;
  --color-purple: @purple;
  --color-pink: @purple;
  --color-brown: @orange;
  --color-grey: @grey;
  /* light variants */
  --color-red-light: @red;
  --color-orange-light: @orange;
  --color-yellow-light: @yellow;
  --color-olive-light: @green;
  --color-green-light: @green;
  --color-teal-light: @cyan;
  --color-blue-light: @blue;
  --color-violet-light: @purple;
  --color-purple-light: @purple;
  --color-pink-light: @purple;
  --color-brown-light: @orange;
  --color-grey-light: @grey;
  /* other colors */
  --color-black: @bg2;
  --color-gold: @orange;
  --color-white: @bg0;
  --color-diff-removed-word-bg: mix(@red-bg, @red, 70%);
  --color-diff-added-word-bg: mix(@green-bg, @green, 70%);
  --color-diff-removed-row-bg: @red-bg;
  --color-diff-moved-row-bg: @blue-bg;
  --color-diff-added-row-bg: @green-bg;
  --color-diff-removed-row-border: mix(@red-bg, @red, 50%);
  --color-diff-moved-row-border: mix(@blue-bg, @blue, 50%);
  --color-diff-added-row-border: mix(@green-bg, @green, 50%);
  --color-diff-inactive: @bg2;
  --color-error-border: mix(@red-bg, @red, 50%);
  --color-error-bg: @red-bg;
  --color-error-text: @red;
  --color-success-border: mix(@green-bg, @green, 50%);
  --color-success-bg: @green-bg;
  --color-success-text: @green;
  --color-warning-border: mix(@yellow-bg, @yellow, 50%);
  --color-warning-bg: @yellow-bg;
  --color-warning-text: @yellow;
  --color-info-border: mix(@blue-bg, @blue, 50%);
  --color-info-bg: @blue-bg;
  --color-info-text: @blue;
  /* target-based colors */
  --color-body: @bg0;
  --color-box-header: @bg3;
  // --color-box-header: @bg3;
  --color-box-body: @bg1;
  --color-box-body-highlight: @bg2;
  --color-text-dark: @secondary;
  --color-text: @fg;
  --color-text-hover: fade(@fg, 80%);
  --color-text-light: @tertiary;
  --color-text-light-1: @tertiary;
  --color-text-light-2: @secondary;
  --color-text-light-3: @secondary;
  --color-footer: @bg1;
  --color-timeline: @bg4;
  --color-input-text: @fg;
  --color-input-background: @bg0;
  --color-input-toggle-background: @bg1;
  --color-input-border: @bg4;
  --color-input-border-hover: mix(@bg4, @grey, 50%);
  --color-navbar: @bg1;
  --color-navbar-transparent: @bg1;
  --color-nav-bg: @bg1;
  --color-nav-hover-bg: @bg3;
  --color-light: @bg1;
  --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
  --color-light-border: @bg4;
  --color-hover: fade(@bg4, 50%);
  --color-active: fade(@bg4, 50%);
  --color-menu: @bg1;
  --color-card: @bg1;
  --color-markup-table-row: @bg3;
  --color-markup-code-block: @bg0;
  --color-button: @bg3;
  --color-code-bg: @bg0;
  --color-code-sidebar-bg: @bg1;
  --color-shadow: #00000060;
  --color-secondary-bg: @bg1;
  --color-text-focus: #fff;
  --color-expand-button: @bg2;
  --color-placeholder-text: @tertiary;
  --color-editor-line-highlight: @bg1;
  --color-project-board-bg: @bg0;
  --color-project-board-light-label: @primary;
  --color-caret: var(--color-text); /* should ideally be --color-text-dark, see #15651 */
  --color-reaction-bg: #ffffff12;
  --color-reaction-active-bg: var(--color-primary-alpha-40);
  --color-header-bar: @bg1;
  --color-label-bg: @bg4;
  --color-label-text: @tertiary;
  --color-label-active-bg: @bg4;
  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-active-line: @bg1;
  --color-header-wrapper: @bg2;

  accent-color: var(--color-accent);
  color-scheme: dark;
}

.chroma .nx {
  color: @fg;
}
.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm, .chroma .sd {
  color: @grey;
}
.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr {
  color: @key;
}
.chroma .o, .chroma .ow {
  color: @operator;
}
.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .sh, .chroma .si, .chroma .sr, .chroma .ss, .chroma .sx, .chroma .nt, .chroma .cpf {
  color: @string;
}
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo, .chroma .nl {
  color: @value;
}
.chroma .kt, .chroma .nc, .chroma .nn, .chroma .nv {
  color: @type;
}
.chroma .nf, .chroma .nb, .chroma .na {
  color: @function;
}
.chroma .bp, .chroma .cp, .chroma .ne, .chroma .nd, .chroma .se {
  color: @special;
}

/* primary buttons */
.ui.primary.button, .ui.primary.buttons .button {
  background: @button1;
  background-color: @button1 !important;
  color: @bg0;
}

.ui.primary.button:hover, .ui.primary.buttons .button:hover {
  background: fade(@button1, 80%);
  background-color: fade(@button1, 80%) !important;
  color: @bg0;
}

.ui.grey.labels .label, .ui.ui.ui.grey.label, .ui.grey.button, .ui.grey.buttons .button {
  color: @bg0;
  background-color: @button1;
  border-color: @button1;
}

.ui.grey.labels .label:hover, .ui.ui.ui.grey.label:hover, .ui.grey.button:hover, .ui.grey.buttons .button:hover {
  color: @bg0;
  background-color: @button1;
  border-color: @button1;
}

/* secondary buttons */
.ui.green.buttons .button, .ui.green.button {
  background: @button2;
  background-color: @button2;
  color: @bg0;
}

.ui.green.buttons .button:hover, .ui.green.button:hover {
  background: fade(@button2, 80%);
  background-color: fade(@button2, 80%);
  color: @bg0;
}

/* text based buttons (purple) */
.ui.labeled.button.disabled>.button, .ui.basic.buttons .button, .ui.basic.button {
  color: @secondary;
}

.ui.labeled.button.disabled>.button:hover, .ui.basic.buttons .button:hover, .ui.basic.button:hover {
  color: @secondary;
}

/* repo title && header */
.repo-title {
  color: @secondary;
}

/* star number && fork number */
.repo-buttons button[disabled] ~ .label,
.repo-buttons .ui.labeled.button.disabled > .label {
  color: @primary;
}

.ui.basic.labels .label, .ui.basic.label {
  color: @primary;
}

/* hover on commits, branch, tags in project home page */
.repository .ui.segment.sub-menu .list .item a:hover,
.ui.tabular.menu .item:hover {
  color: var(--color-text-hover);
}

/* commit label */
.ui.primary.labels .label, .ui.ui.ui.primary.label {
  color: @bg0;
}

/* issue label */
.ui.green.labels .label, .ui.ui.ui.green.label {
  color: @bg0;
}

/* grey button (rss feed button in repository home page) */
i.grey.icon.icon.icon.icon {
  color: @grey
}

/* scroll bar */
* {
  scrollbar-color: @secondary transparent !important;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  box-shadow: inset 0 0 0 6px @secondary !important;
  border: 2px solid transparent;
  border-radius: 5px !important;
}
::-webkit-scrollbar-thumb:window-inactive {
  box-shadow: inset 0 0 0 6px @secondary !important;
}
::-webkit-scrollbar-thumb:hover {
  box-shadow: inset 0 0 0 6px @secondary !important;
}
::-webkit-scrollbar-corner {
  background: transparent;
}

/* red buttons */
.ui.red.labels .label, .ui.ui.ui.red.label, .ui.red.button, .ui.red.buttons .button {
  background: @button-red;
  background-color: @button-red;
  color: @bg0;
}

.ui.red.labels .label:hover, .ui.ui.ui.red.label:hover, .ui.red.button:hover, .ui.red.buttons .button:hover {
  background: fade(@button-red, 80%);
  background-color: fade(@button-red, 80%);
  color: @bg0;
}

/* grey buttons */
.ui.labels a.label, a.ui.label {
  background-color: @bg1;
}

.ui.labels a.label:hover, a.ui.label:hover {
  background-color: @bg0;
}

/* orange buttons */
.ui.orange.labels .label, .ui.ui.ui.orange.label, .ui.orange.button, .ui.orange.buttons .button {
  background: @orange;
  background-color: @orange;
  color: @bg0;
}

.ui.orange.labels .label:hover, .ui.ui.ui.orange.label:hover, .ui.orange.button:hover, .ui.orange.buttons .button:hover {
  background: fade(@orange, 80%);
  background-color: fade(@orange, 80%);
  color: @bg0;
}