@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

gitea-theme-meta-info {
  --theme-display-name: "Gruvbox";
  --theme-color-scheme: "dark";
}

:root {
  --is-dark-theme: true;
  --fonts-proportional: 'IBM Plex Mono', monospace !important;
  --fonts-monospace: 'IBM Plex Mono', monospace !important;

  /* primary = Gruvbox aqua (blue) */
  --color-primary: #458588;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #5a9a9d;
  --color-primary-dark-2: #6eafb2;
  --color-primary-dark-3: #83c3c6;
  --color-primary-dark-4: #97d8db;
  --color-primary-dark-5: #c3eaec;
  --color-primary-dark-6: #e1f5f5;
  --color-primary-dark-7: #f4fbfb;
  --color-primary-light-1: #3d7578;
  --color-primary-light-2: #356568;
  --color-primary-light-3: #2d5558;
  --color-primary-light-4: #254548;
  --color-primary-light-5: #182d2f;
  --color-primary-light-6: #0c1717;
  --color-primary-light-7: #040808;
  --color-primary-alpha-10: #45858819;
  --color-primary-alpha-20: #45858833;
  --color-primary-alpha-30: #4585884b;
  --color-primary-alpha-40: #45858866;
  --color-primary-alpha-50: #45858880;
  --color-primary-alpha-60: #45858899;
  --color-primary-alpha-70: #458588b3;
  --color-primary-alpha-80: #458588cc;
  --color-primary-alpha-90: #458588e1;
  --color-primary-hover: var(--color-primary-dark-1);
  --color-primary-active: var(--color-primary-dark-2);

  /* secondary = Gruvbox bg3/bg4 */
  --color-secondary: #504945;
  --color-secondary-dark-1: #5a534f;
  --color-secondary-dark-2: #665e59;
  --color-secondary-dark-3: #7a716a;
  --color-secondary-dark-4: #8e847c;
  --color-secondary-dark-5: #9d938b;
  --color-secondary-dark-6: #aba29b;
  --color-secondary-dark-7: #b9b1ab;
  --color-secondary-dark-8: #c7c0bb;
  --color-secondary-dark-9: #cfc9c4;
  --color-secondary-dark-10: #dbd6d2;
  --color-secondary-dark-11: #e3dfdc;
  --color-secondary-dark-12: #eae7e4;
  --color-secondary-dark-13: #eeebe9;
  --color-secondary-light-1: #453f3c;
  --color-secondary-light-2: #3a3533;
  --color-secondary-light-3: #2e2a29;
  --color-secondary-light-4: #252221;
  --color-secondary-alpha-10: #50494519;
  --color-secondary-alpha-20: #50494533;
  --color-secondary-alpha-30: #5049454b;
  --color-secondary-alpha-40: #50494566;
  --color-secondary-alpha-50: #50494580;
  --color-secondary-alpha-60: #50494599;
  --color-secondary-alpha-70: #504945b3;
  --color-secondary-alpha-80: #504945cc;
  --color-secondary-alpha-90: #504945e1;
  --color-secondary-button: var(--color-secondary-dark-4);
  --color-secondary-hover: var(--color-secondary-dark-3);
  --color-secondary-active: var(--color-secondary-dark-2);

  /* console */
  --color-console-fg: #ebdbb2;
  --color-console-fg-subtle: #bdae93;
  --color-console-bg: #1d2021;
  --color-console-border: #3c3836;
  --color-console-hover-bg: #2e2a29;
  --color-console-active-bg: #3c3836;
  --color-console-menu-bg: #282828;
  --color-console-menu-border: #504945;
  --color-console-link: #83a598;

  /* named colors = Gruvbox palette */
  --color-red: #fb4934;
  --color-orange: #fe8019;
  --color-yellow: #fabd2f;
  --color-olive: #b8bb26;
  --color-green: #b8bb26;
  --color-teal: #8ec07c;
  --color-blue: #458588;
  --color-violet: #d3869b;
  --color-purple: #d3869b;
  --color-pink: #d3869b;
  --color-brown: #d65d0e;
  --color-black: #1d2021;

  --color-red-light: #fc6251;
  --color-orange-light: #fe943d;
  --color-yellow-light: #fbc84f;
  --color-olive-light: #c8cc4a;
  --color-green-light: #c8cc4a;
  --color-teal-light: #a0d08e;
  --color-blue-light: #5f9fa0;
  --color-violet-light: #dd98ab;
  --color-purple-light: #dd98ab;
  --color-pink-light: #dd98ab;
  --color-brown-light: #e06e20;
  --color-black-light: #3c3836;

  --color-red-dark-1: #e5422f;
  --color-orange-dark-1: #e87215;
  --color-yellow-dark-1: #e4ab2a;
  --color-olive-dark-1: #a5a822;
  --color-green-dark-1: #a5a822;
  --color-teal-dark-1: #80b070;
  --color-blue-dark-1: #3d7578;
  --color-violet-dark-1: #c07a8e;
  --color-purple-dark-1: #c07a8e;
  --color-pink-dark-1: #c07a8e;
  --color-brown-dark-1: #c1540c;
  --color-black-dark-1: #282828;

  --color-red-dark-2: #cc3829;
  --color-orange-dark-2: #d06612;
  --color-yellow-dark-2: #cc9a25;
  --color-olive-dark-2: #93961e;
  --color-green-dark-2: #93961e;
  --color-teal-dark-2: #72a064;
  --color-blue-dark-2: #356568;
  --color-violet-dark-2: #ae6e81;
  --color-purple-dark-2: #ae6e81;
  --color-pink-dark-2: #ae6e81;
  --color-brown-dark-2: #ad4a0b;
  --color-black-dark-2: #1d2021;

  /* ansi */
  --color-ansi-black: #1d2021;
  --color-ansi-red: #fb4934;
  --color-ansi-green: #b8bb26;
  --color-ansi-yellow: #fabd2f;
  --color-ansi-blue: #458588;
  --color-ansi-magenta: #d3869b;
  --color-ansi-cyan: #8ec07c;
  --color-ansi-white: var(--color-console-fg-subtle);
  --color-ansi-bright-black: #3c3836;
  --color-ansi-bright-red: #fc6251;
  --color-ansi-bright-green: #c8cc4a;
  --color-ansi-bright-yellow: #fbc84f;
  --color-ansi-bright-blue: #5f9fa0;
  --color-ansi-bright-magenta: #dd98ab;
  --color-ansi-bright-cyan: #a0d08e;
  --color-ansi-bright-white: var(--color-console-fg);

  /* other */
  --color-grey: #504945;
  --color-grey-light: #928374;
  --color-gold: #d79921;
  --color-white: #ebdbb2;

  /* diff */
  --color-diff-added-fg: #b8bb26;
  --color-diff-added-linenum-bg: #32361a;
  --color-diff-added-row-bg: #282e1a;
  --color-diff-added-row-border: #3c4425;
  --color-diff-added-word-bg: #4a5520;
  --color-diff-moved-row-bg: #3e3a1a;
  --color-diff-moved-row-border: #b8bb26;
  --color-diff-removed-fg: #fb4934;
  --color-diff-removed-linenum-bg: #4a1a1a;
  --color-diff-removed-row-bg: #3a1a1a;
  --color-diff-removed-row-border: #6b3030;
  --color-diff-removed-word-bg: #6b2a2a;
  --color-diff-inactive: #2e2a29;

  /* alerts */
  --color-error-border: #7a2a2a;
  --color-error-bg: #3a1a1e;
  --color-error-bg-active: #4a2026;
  --color-error-bg-hover: #401c22;
  --color-error-text: #fb4934;
  --color-success-border: #3a5a1a;
  --color-success-bg: #2a3a1a;
  --color-success-text: #b8bb26;
  --color-warning-border: #5a4a1a;
  --color-warning-bg: #3a301a;
  --color-warning-text: #fabd2f;
  --color-info-border: #2a4a5a;
  --color-info-bg: #1a2a3a;
  --color-info-text: #83a598;
  --color-priority-border: #5a3a6a;
  --color-priority-bg: #2a1a3a;
  --color-priority-text: #d3869b;

  /* badges */
  --color-red-badge: #fb4934;
  --color-red-badge-bg: #fb49341a;
  --color-red-badge-hover-bg: #fb49344d;
  --color-green-badge: #b8bb26;
  --color-green-badge-bg: #b8bb261a;
  --color-green-badge-hover-bg: #b8bb264d;
  --color-yellow-badge: #fabd2f;
  --color-yellow-badge-bg: #fabd2f1a;
  --color-yellow-badge-hover-bg: #fabd2f4d;
  --color-orange-badge: #fe8019;
  --color-orange-badge-bg: #fe80191a;
  --color-orange-badge-hover-bg: #fe80194d;

  --color-git: #fe8019;
  --color-logo: #b8bb26;

  /* target-based colors */
  --color-body: #282828;
  --color-box-header: #32302f;
  --color-box-body: #282828;
  --color-box-body-highlight: #3c3836;
  --color-text-dark: #ebdbb2;
  --color-text: #d5c4a1;
  --color-text-light: #bdae93;
  --color-text-light-1: #a89984;
  --color-text-light-2: #928374;
  --color-text-light-3: #7c6f64;
  --color-footer: var(--color-nav-bg);
  --color-timeline: #3c3836;
  --color-input-text: var(--color-text-dark);
  --color-input-background: #1d2021;
  --color-input-toggle-background: #3c3836;
  --color-input-border: var(--color-secondary-dark-1);
  --color-light: #ebdbb228;
  --color-light-border: #ebdbb228;
  --color-hover: #ebdbb219;
  --color-hover-opaque: #35302e;
  --color-active: #ebdbb224;
  --color-menu: #1d2021;
  --color-card: #1d2021;
  --color-markup-table-row: #ebdbb20f;
  --color-markup-code-block: #ebdbb212;
  --color-markup-code-inline: #ebdbb228;
  --color-button: #1d2021;
  --color-code-bg: #1d2021;
  --color-shadow: #1d202158;
  --color-shadow-opaque: #1d2021;
  --color-secondary-bg: #3c3836;
  --color-expand-button: #504945;
  --color-placeholder-text: var(--color-text-light-3);
  --color-editor-line-highlight: var(--color-secondary-alpha-40);
  --color-editor-selection: var(--color-primary-alpha-50);
  --color-project-column-bg: var(--color-secondary-light-2);
  --color-caret: var(--color-text);
  --color-reaction-bg: #ebdbb212;
  --color-reaction-hover-bg: var(--color-primary-light-4);
  --color-reaction-active-bg: var(--color-primary-light-5);
  --color-tooltip-text: #ebdbb2;
  --color-tooltip-bg: #1d2021f0;
  --color-nav-bg: #1d2021;
  --color-nav-hover-bg: var(--color-secondary-light-1);
  --color-nav-text: var(--color-text);
  --color-secondary-nav-bg: #242424;
  --color-label-text: var(--color-text);
  --color-label-bg: #7c6f644b;
  --color-label-hover-bg: #7c6f64a0;
  --color-label-active-bg: #7c6f64ff;
  --color-accent: var(--color-primary-dark-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-highlight-fg: #d79921;
  --color-highlight-bg: #3a3018;
  --color-overlay-backdrop: #1d2021c0;
  --color-danger: var(--color-red);
  --color-transparency-grid-light: #3c3836;
  --color-transparency-grid-dark: #282828;
  --color-workflow-edge-hover: #7c6f64;

  /* syntax highlighting (Gruvbox-mapped) */
  --color-syntax-keyword: #fb4934;
  --color-syntax-bool: #8ec07c;
  --color-syntax-control: #fabd2f;
  --color-syntax-name: #d79921;
  --color-syntax-type: #d3869b;
  --color-syntax-number: #83a598;
  --color-syntax-operator: #fe8019;
  --color-syntax-regexp: #d3869b;
  --color-syntax-string: #b8bb26;
  --color-syntax-comment: #928374;
  --color-syntax-invalid: #fb4934;
  --color-syntax-link: var(--color-primary);
  --color-syntax-tag: #fb4934;
  --color-syntax-attribute: #fe8019;
  --color-syntax-property: #83a598;
  --color-syntax-variable: #fabd2f;
  --color-syntax-string-special: #fabd2f;
  --color-syntax-escape: #d79921;
  --color-syntax-entity: #fe8019;
  --color-syntax-preproc: #b8bb26;
  --color-syntax-preproc-file: #83a598;
  --color-syntax-decorator: #b8bb26;
  --color-syntax-namespace: #ebdbb2;
  --color-syntax-name-pseudo: #d3869b;
  --color-syntax-comment-special: #d3869b;
  --color-syntax-text: #ebdbb2;
  --color-syntax-text-alt: #d5c4a1;
  --color-syntax-punctuation: #bdae93;
  --color-syntax-whitespace: #7c6f64;
  --color-syntax-diff-fg: #ebdbb2;
  --color-syntax-deleted-bg: #5a2020;
  --color-syntax-inserted-bg: #2a3a1a;
  --color-syntax-emph: #d79921;
  --color-syntax-strong: #fe8019;
  --color-syntax-heading: #fabd2f;
  --color-syntax-subheading: #b8bb26;
  --color-syntax-output: #928374;
  --color-syntax-prompt: #fabd2f;
  --color-syntax-traceback: #fb4934;
  --color-syntax-matching-bracket-bg: #8ec07c48;
  --color-syntax-nonmatching-bracket-bg: #fb493448;

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