:root {
  --is-dark-theme: true;

  /* primary (royal purple) */
  --color-primary: #6b2fb0;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #7a39c0;
  --color-primary-dark-2: #8f4fd1;
  --color-primary-dark-3: #a66fe0;
  --color-primary-dark-4: #bf8ff0;
  --color-primary-dark-5: #d9b7f7;
  --color-primary-dark-6: #f3e9fd;
  --color-primary-dark-7: #fbf6ff;
  --color-primary-light-1: #5f2aa0;
  --color-primary-light-2: #53248f;
  --color-primary-light-3: #46207a;
  --color-primary-light-4: #371a60;
  --color-primary-light-5: #271246;
  --color-primary-light-6: #14082a;
  --color-primary-light-7: #0a0413;
  --color-primary-alpha-10: #6b2fb019;
  --color-primary-alpha-20: #6b2fb033;
  --color-primary-alpha-30: #6b2fb04b;
  --color-primary-alpha-40: #6b2fb066;
  --color-primary-alpha-50: #6b2fb080;
  --color-primary-alpha-60: #6b2fb099;
  --color-primary-alpha-70: #6b2fb0b3;
  --color-primary-alpha-80: #6b2fb0cc;
  --color-primary-alpha-90: #6b2fb0e1;
  --color-primary-hover: var(--color-primary-light-1);
  --color-primary-active: var(--color-primary-light-2);

  /* secondary (deep charcoal with plum undertone) */
  --color-secondary: #2b1f2a;
  --color-secondary-dark-1: #34242f;
  --color-secondary-dark-2: #3d2b37;
  --color-secondary-dark-3: #46313f;
  --color-secondary-dark-4: #5a3f52;
  --color-secondary-dark-5: #6f4d66;
  --color-secondary-dark-6: #8a6f86;
  --color-secondary-dark-7: #a3899e;
  --color-secondary-dark-8: #bfa9bd;
  --color-secondary-dark-9: #d3c6d3;
  --color-secondary-dark-10: #e3dbe6;
  --color-secondary-dark-11: #efe9f0;
  --color-secondary-dark-12: #f7f3f7;
  --color-secondary-dark-13: #fff9fb;
  --color-secondary-light-1: #261a22;
  --color-secondary-light-2: #20141b;
  --color-secondary-light-3: #180f14;
  --color-secondary-light-4: #0f080b;
  --color-secondary-alpha-10: #2b1f2a19;
  --color-secondary-alpha-20: #2b1f2a33;
  --color-secondary-alpha-30: #2b1f2a4b;
  --color-secondary-alpha-40: #2b1f2a66;
  --color-secondary-alpha-50: #2b1f2a80;
  --color-secondary-alpha-60: #2b1f2a99;
  --color-secondary-alpha-70: #2b1f2ab3;
  --color-secondary-alpha-80: #2b1f2acc;
  --color-secondary-alpha-90: #2b1f2ae1;
  --color-secondary-hover: var(--color-secondary-dark-3);
  --color-secondary-active: var(--color-secondary-dark-2);

  /* console colors - used for actions console and console files */
  --color-console-fg: #f6f2fb;
  --color-console-fg-subtle: #d9cfe9;
  --color-console-bg: #0b0710;
  --color-console-border: #2b1f2a;
  --color-console-hover-bg: #1a1420;
  --color-console-active-bg: #2b1f2a;
  --color-console-menu-bg: #120b14;
  --color-console-menu-border: #34242f;

  /* named colors */
  --color-red: #b94a4a;
  --color-orange: #b85a12;
  --color-yellow: #b88f03;
  --color-olive: #7f9b12;
  --color-green: #6aa45a;
  --color-teal: #008f86;
  --color-blue: #2f7aa0;
  --color-violet: #7b5fd1;
  --color-purple: #6b2fb0;
  --color-pink: #c22b78;
  --color-brown: #8f5f44;
  --color-black: #0b0f0f;

  /* light variants */
  --color-red-light: #c65b5b;
  --color-orange-light: #e39a5f;
  --color-yellow-light: #d6a91a;
  --color-olive-light: #9fbf2a;
  --color-green-light: #7fbf78;
  --color-teal-light: #00bdb4;
  --color-blue-light: #4b93c2;
  --color-violet-light: #8f7be8;
  --color-purple-light: #b08be8;
  --color-pink-light: #d24a8f;
  --color-brown-light: #a77a5f;
  --color-black-light: #3a423f;

  /* dark 1 variants */
  --color-red-dark-1: #a03636;
  --color-orange-dark-1: #d06f2f;
  --color-yellow-dark-1: #9b7603;
  --color-olive-dark-1: #6f820f;
  --color-green-dark-1: #5f8f4b;
  --color-teal-dark-1: #00786f;
  --color-blue-dark-1: #2a6a93;
  --color-violet-dark-1: #6a49c0;
  --color-purple-dark-1: #5a2390;
  --color-pink-dark-1: #9f2a6a;
  --color-brown-dark-1: #7a4f3a;
  --color-black-dark-1: #1b2321;

  /* dark 2 variants */
  --color-red-dark-2: #922e2e;
  --color-orange-dark-2: #c85b0f;
  --color-yellow-dark-2: #8f6a02;
  --color-olive-dark-2: #65760d;
  --color-green-dark-2: #577a43;
  --color-teal-dark-2: #00665f;
  --color-blue-dark-2: #265f84;
  --color-violet-dark-2: #552bb8;
  --color-purple-dark-2: #4a1f7a;
  --color-pink-dark-2: #8f1f5f;
  --color-brown-dark-2: #6f4f39;
  --color-black-dark-2: #151817;

  /* ansi colors used for actions console and console files */
  --color-ansi-black: #0b0f0f;
  --color-ansi-red: #b94a4a;
  --color-ansi-green: #6aa45a;
  --color-ansi-yellow: #b88f03;
  --color-ansi-blue: #2f7aa0;
  --color-ansi-magenta: #c22b78;
  --color-ansi-cyan: #008f86;
  --color-ansi-white: var(--color-console-fg-subtle);
  --color-ansi-bright-black: #3a423f;
  --color-ansi-bright-red: #c65b5b;
  --color-ansi-bright-green: #7fbf78;
  --color-ansi-bright-yellow: #d6a91a;
  --color-ansi-bright-blue: #4b93c2;
  --color-ansi-bright-magenta: #d24a8f;
  --color-ansi-bright-cyan: #00bdb4;
  --color-ansi-bright-white: var(--color-console-fg);

  /* other colors */
  --color-grey: #2f3a36;
  --color-grey-light: #7f8b86;
  --color-gold: #9b7f2f;
  --color-white: #ffffff;
  --color-diff-removed-word-bg: #5f2b2b;
  --color-diff-added-word-bg: #2f5a2f;
  --color-diff-removed-row-bg: #2b1a1a;
  --color-diff-moved-row-bg: #6b7a3f;
  --color-diff-added-row-bg: #1f3a24;
  --color-diff-removed-row-border: #4a2f2f;
  --color-diff-moved-row-border: #9aae5f;
  --color-diff-added-row-border: #274a2f;
  --color-diff-inactive: #121816;

  --color-error-border: #8b3b3b;
  --color-error-bg: #3a0f0f;
  --color-error-bg-active: #5a1a1a;
  --color-error-bg-hover: #4a1414;
  --color-error-text: #f6d6d6;

  --color-success-border: #3f7a4f;
  --color-success-bg: #153826;
  --color-success-text: #7fd07f;

  --color-warning-border: #8b7a00;
  --color-warning-bg: #2f2f22;
  --color-warning-text: #f0b90a;

  --color-info-border: #3a2a6a;
  --color-info-bg: #151022;
  --color-info-text: #bfb0f0;

  --color-red-badge: #c43b3b;
  --color-red-badge-bg: #c43b3b1a;
  --color-red-badge-hover-bg: #c43b3b4d;
  --color-green-badge: #1fa44a;
  --color-green-badge-bg: #1fa44a1a;
  --color-green-badge-hover-bg: #1fa44a4d;
  --color-yellow-badge: #f0b90a;
  --color-yellow-badge-bg: #f0b90a1a;
  --color-yellow-badge-hover-bg: #f0b90a4d;
  --color-orange-badge: #d67a1a;
  --color-orange-badge-bg: #d67a1a1a;
  --color-orange-badge-hover-bg: #d67a1a4d;

  /* target-based colors */
  --color-body: #07040b;
  --color-box-header: #05030a;
  --color-box-body: #04020a;
  --color-box-body-highlight: #120b14;
  --color-text-dark: #f6f2fb;
  --color-text: #e8dcf8;
  --color-text-light: #d3c6ea;
  --color-text-light-1: #bfa9d9;
  --color-text-light-2: #a892c2;
  --color-text-light-3: #8b6f9a;
  --color-footer: var(--color-nav-bg);
  --color-timeline: #241726;
  --color-input-text: var(--color-text-dark);
  --color-input-background: #04020a;
  --color-input-toggle-background: #2b1f2a;
  --color-input-border: var(--color-secondary);
  --color-input-border-hover: var(--color-secondary-dark-1);
  --color-light: #12001628;
  --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
  --color-light-border: #efe6fb28;
  --color-hover: #f7f0ff19;
  --color-active: #241726;
  --color-menu: #04020a;
  --color-card: #04020a;
  --fancy-card-bg: #120b14;
  --fancy-card-border: #34242f;
  --color-markup-table-row: #f7f0ff0f;
  --color-markup-code-block: #f7f0ff12;
  --color-markup-code-inline: #f7f0ff28;
  --color-button: #04020a;
  --color-code-bg: #120b14;
  --color-shadow: #00001758;
  --color-secondary-bg: #2a1f2a;
  --color-expand-button: #261a22;
  --color-placeholder-text: var(--color-text-light-3);
  --color-editor-line-highlight: var(--color-primary-light-5);
  --color-project-column-bg: var(--color-secondary-light-2);
  --color-caret: var(--color-text);
  --color-reaction-bg: #f7f0ff12;
  --color-reaction-hover-bg: var(--color-primary-light-4);
  --color-reaction-active-bg: var(--color-primary-light-5);
  --color-tooltip-text: #fff8ff;
  --color-tooltip-bg: #000017f0;
  --color-nav-bg: #04020a;
  --color-nav-hover-bg: var(--color-secondary-light-1);
  --color-secondary-nav-bg: #05030a;
  --color-label-text: var(--color-text);
  --color-label-bg: #4b2f4b4b;
  --color-label-hover-bg: #4b2f4ba0;
  --color-label-active-bg: #4b2f4bff;
  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-highlight-fg: #6b3f7a;
  --color-highlight-bg: #2b1628;
  --color-overlay-backdrop: #03000fc0;
  --color-selection-bg: var(--color-primary-light-1);
  --color-selection-fg: var(--color-white);

  /* pattern colors for image diff */
  --checkerboard-color-1: #2b2b2b;
  --checkerboard-color-2: #1b1b1b;
  --color-indicator-offline: #8f9a94;
  --color-indicator-offline-20: #8f9a941a;
  --color-indicator-idle: #16a34a;
  --color-indicator-idle-20: #16a34a1a;
  --color-indicator-active: var(--color-primary);
  --color-indicator-active-20: var(--color-primary-alpha-20);

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

/* invert emojis that are hard to read otherwise */
.emoji[aria-label="check mark"],
.emoji[aria-label="currency exchange"],
.emoji[aria-label="TOP arrow"],
.emoji[aria-label="END arrow"],
.emoji[aria-label="ON! arrow"],
.emoji[aria-label="SOON arrow"],
.emoji[aria-label="heavy dollar sign"],
.emoji[aria-label="copyright"],
.emoji[aria-label="registered"],
.emoji[aria-label="trade mark"],
.emoji[aria-label="multiply"],
.emoji[aria-label="plus"],
.emoji[aria-label="minus"],
.emoji[aria-label="divide"],
.emoji[aria-label="curly loop"],
.emoji[aria-label="double curly loop"],
.emoji[aria-label="wavy dash"],
.emoji[aria-label="paw prints"],
.emoji[aria-label="musical note"],
.emoji[aria-label="musical notes"] {
  filter: invert(100%) hue-rotate(180deg);
}
