/*
 * Earthy Dark — custom Gitea theme for thavs.dev
 *
 * Dark olive-green base with sage/terracotta accents.
 * Designed for single-user, warm-toned aesthetic matching Pastelvista.
 * All variant scales computed via HSL lightness shifting from Gitea's dark theme.
 *
 * Primary:   #7a9a6d  (sage green,   HSL 105° 18% 51%)
 * Secondary: #3a3d32  (muted olive,  HSL  77°  9% 22%)
 * Accent:    #c47a5a  (terracotta,   HSL  18° 47% 56%)
 */

/* ── Meta ─────────────────────────────────────────────────── */
gitea-theme-meta-info {
  --theme-display-name: "Earthy Dark";
  --theme-color-scheme: "dark";
}

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

  /* ── Primary: sage green #7a9a6d ──────────────────────── */
  --color-primary: #7a9a6d;
  --color-primary-contrast: #ffffff;
  /* dark = lighter in dark theme (lightness +7/14/21/28/42/56/70%) */
  --color-primary-dark-1: #88a57c;
  --color-primary-dark-2: #96b08b;
  --color-primary-dark-3: #a4bb9a;
  --color-primary-dark-4: #b2c6a9;
  --color-primary-dark-5: #c8d7c0;
  --color-primary-dark-6: #dfe8d8;
  --color-primary-dark-7: #f2f6ef;
  /* light = darker in dark theme (lightness -7/14/21/28/42/56/70%) */
  --color-primary-light-1: #6d8a61;
  --color-primary-light-2: #607a55;
  --color-primary-light-3: #536a49;
  --color-primary-light-4: #465a3d;
  --color-primary-light-5: #2f3d29;
  --color-primary-light-6: #172013;
  --color-primary-light-7: #080b07;
  /* alpha */
  --color-primary-alpha-10: #7a9a6d19;
  --color-primary-alpha-20: #7a9a6d33;
  --color-primary-alpha-30: #7a9a6d4b;
  --color-primary-alpha-40: #7a9a6d66;
  --color-primary-alpha-50: #7a9a6d80;
  --color-primary-alpha-60: #7a9a6d99;
  --color-primary-alpha-70: #7a9a6db3;
  --color-primary-alpha-80: #7a9a6dcc;
  --color-primary-alpha-90: #7a9a6de1;
  --color-primary-hover: var(--color-primary-light-1);
  --color-primary-active: var(--color-primary-light-2);

  /* ── Secondary: muted olive #3a3d32 ───────────────────── */
  --color-secondary: #3a3d32;
  --color-secondary-dark-1: #414439;
  --color-secondary-dark-2: #4a4d42;
  --color-secondary-dark-3: #5a5d52;
  --color-secondary-dark-4: #6a6d62;
  --color-secondary-dark-5: #7a7d72;
  --color-secondary-dark-6: #8a8d82;
  --color-secondary-dark-7: #9a9d92;
  --color-secondary-dark-8: #aaada2;
  --color-secondary-dark-9: #b2b5aa;
  --color-secondary-dark-10: #babdb2;
  --color-secondary-dark-11: #c8cbc0;
  --color-secondary-dark-12: #d4d7cc;
  --color-secondary-dark-13: #d8dbd0;
  --color-secondary-light-1: #303328;
  --color-secondary-light-2: #282b20;
  --color-secondary-light-3: #1e2118;
  --color-secondary-light-4: #181a12;
  --color-secondary-alpha-10: #3a3d3219;
  --color-secondary-alpha-20: #3a3d3233;
  --color-secondary-alpha-30: #3a3d324b;
  --color-secondary-alpha-40: #3a3d3266;
  --color-secondary-alpha-50: #3a3d3280;
  --color-secondary-alpha-60: #3a3d3299;
  --color-secondary-alpha-70: #3a3d32b3;
  --color-secondary-alpha-80: #3a3d32cc;
  --color-secondary-alpha-90: #3a3d32e1;
  --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 (actions log) ────────────────────────────── */
  --color-console-fg: #e8e0d8;
  --color-console-fg-subtle: #ada59d;
  --color-console-bg: #16180f;
  --color-console-border: #3a3d32;
  --color-console-hover-bg: #222520;
  --color-console-active-bg: #2e3128;
  --color-console-menu-bg: #1e201a;
  --color-console-menu-border: #414439;
  --color-console-link: #8a9080;

  /* ── Named colors (earthy-shifted) ────────────────────── */
  --color-red: #c45a5a;
  --color-orange: #c47a5a;
  --color-yellow: #c4a050;
  --color-olive: #8a9a40;
  --color-green: #7a9a6d;
  --color-teal: #5a9a8a;
  --color-blue: #6b8fa0;
  --color-violet: #8a7aa0;
  --color-purple: #a07a90;
  --color-pink: #c06a80;
  --color-brown: #a47252;
  --color-black: #1a1c16;
  /* light variants (+10% lightness) */
  --color-red-light: #cf6e6e;
  --color-orange-light: #cf8e6e;
  --color-yellow-light: #cfae64;
  --color-olive-light: #9aaa54;
  --color-green-light: #88a57c;
  --color-teal-light: #6aaa9a;
  --color-blue-light: #7b9fae;
  --color-violet-light: #9a8aae;
  --color-purple-light: #ae8a9e;
  --color-pink-light: #ca7e92;
  --color-brown-light: #b08061;
  --color-black-light: #3a3d32;
  /* dark-1 variants (-10% lightness) */
  --color-red-dark-1: #b04e4e;
  --color-orange-dark-1: #b06e4e;
  --color-yellow-dark-1: #b09044;
  --color-olive-dark-1: #7a8a36;
  --color-green-dark-1: #6d8a61;
  --color-teal-dark-1: #4e8a7a;
  --color-blue-dark-1: #5e7f90;
  --color-violet-dark-1: #7a6a90;
  --color-purple-dark-1: #906a80;
  --color-pink-dark-1: #aa5e72;
  --color-brown-dark-1: #946448;
  --color-black-dark-1: #282b22;
  /* dark-2 variants (-20% lightness) */
  --color-red-dark-2: #9c4242;
  --color-orange-dark-2: #9c6242;
  --color-yellow-dark-2: #9c8038;
  --color-olive-dark-2: #6a7a2c;
  --color-green-dark-2: #607a55;
  --color-teal-dark-2: #427a6a;
  --color-blue-dark-2: #506f80;
  --color-violet-dark-2: #6a5a80;
  --color-purple-dark-2: #805a70;
  --color-pink-dark-2: #944e62;
  --color-brown-dark-2: #84583e;
  --color-black-dark-2: #1e201a;

  /* ── ANSI colors (kept close to standard for readability) */
  --color-ansi-black: #1a1c16;
  --color-ansi-red: #c45a5a;
  --color-ansi-green: #7a9a6d;
  --color-ansi-yellow: #c4a050;
  --color-ansi-blue: #6b8fa0;
  --color-ansi-magenta: #c06a80;
  --color-ansi-cyan: #5a9a8a;
  --color-ansi-white: var(--color-console-fg-subtle);
  --color-ansi-bright-black: #3a3d32;
  --color-ansi-bright-red: #cf6e6e;
  --color-ansi-bright-green: #88a57c;
  --color-ansi-bright-yellow: #cfae64;
  --color-ansi-bright-blue: #7b9fae;
  --color-ansi-bright-magenta: #ca7e92;
  --color-ansi-bright-cyan: #6aaa9a;
  --color-ansi-bright-white: var(--color-console-fg);

  /* ── Other named ──────────────────────────────────────── */
  --color-grey: #3a3d32;
  --color-grey-light: #8a9080;
  --color-gold: #b1983b;
  --color-white: #ffffff;

  /* ── Diff colors (warm-tinted) ────────────────────────── */
  --color-diff-added-fg: #7a9a6d;
  --color-diff-added-linenum-bg: #243824;
  --color-diff-added-row-bg: #1e2a1e;
  --color-diff-added-row-border: #2e4a2e;
  --color-diff-added-word-bg: #2e4a2e;
  --color-diff-moved-row-bg: #3a3820;
  --color-diff-moved-row-border: #5a5830;
  --color-diff-removed-fg: #c45a5a;
  --color-diff-removed-linenum-bg: #382424;
  --color-diff-removed-row-bg: #2a1e1e;
  --color-diff-removed-row-border: #4a3232;
  --color-diff-removed-word-bg: #4a2e2e;
  --color-diff-inactive: #222520;

  /* ── Status / feedback ────────────────────────────────── */
  --color-error-border: #6a3232;
  --color-error-bg: #2a1e1e;
  --color-error-bg-active: #3a2424;
  --color-error-bg-hover: #321e1e;
  --color-error-text: var(--color-text);
  --color-success-border: #2a4e2a;
  --color-success-bg: #1e2a1e;
  --color-success-text: var(--color-text);
  --color-warning-border: #5a4a1e;
  --color-warning-bg: #2a2418;
  --color-warning-text: var(--color-text);
  --color-info-border: #2a4a5a;
  --color-info-bg: #1e2a30;
  --color-info-text: var(--color-text);

  /* ── Badges ───────────────────────────────────────────── */
  --color-red-badge: #c45a5a;
  --color-red-badge-bg: #c45a5a1a;
  --color-red-badge-hover-bg: #c45a5a4d;
  --color-green-badge: #7a9a6d;
  --color-green-badge-bg: #7a9a6d1a;
  --color-green-badge-hover-bg: #7a9a6d4d;
  --color-yellow-badge: #c4a050;
  --color-yellow-badge-bg: #c4a0501a;
  --color-yellow-badge-hover-bg: #c4a0504d;
  --color-orange-badge: #c47a5a;
  --color-orange-badge-bg: #c47a5a1a;
  --color-orange-badge-hover-bg: #c47a5a4d;
  --color-git: #c47a5a;
  --color-logo: #7a9a6d;

  /* ── Surface layer hierarchy ──────────────────────────── */
  --color-body: #1a1c16;
  --color-box-header: #282b22;
  --color-box-body: #222520;
  --color-box-body-highlight: #282b22;
  --color-text-dark: #f0e8e0;
  --color-text: #e8e0d8;
  --color-text-light: #c8c0b8;
  --color-text-light-1: #ada59d;
  --color-text-light-2: #928a82;
  --color-text-light-3: #7a7268;
  --color-footer: var(--color-nav-bg);
  --color-timeline: #3a3d32;
  --color-input-text: var(--color-text-dark);
  --color-input-background: #1e201a;
  --color-input-toggle-background: #3a3d32;
  --color-input-border: var(--color-secondary-dark-1);
  --color-light: #0b0b0c28;
  --color-light-border: #e8e0d828;
  --color-hover: #e8e0d819;
  --color-hover-opaque: #282b22;
  --color-active: #e8e0d824;
  --color-menu: #1e201a;
  --color-card: #1e201a;
  --color-markup-table-row: #e8e0d80f;
  --color-markup-code-block: #e8e0d812;
  --color-markup-code-inline: #e8e0d828;
  --color-button: #1e201a;
  --color-code-bg: #1e201a;
  --color-shadow: #0b0b0c58;
  --color-shadow-opaque: #0b0b0c;
  --color-secondary-bg: #2e3128;
  --color-expand-button: #3a3d32;
  --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: #e8e0d812;
  --color-reaction-hover-bg: var(--color-primary-light-4);
  --color-reaction-active-bg: var(--color-primary-light-5);
  --color-tooltip-text: #f0e8e0;
  --color-tooltip-bg: #0b0b0cf0;
  --color-nav-bg: #16180f;
  --color-nav-hover-bg: var(--color-secondary-light-1);
  --color-nav-text: var(--color-text);
  --color-secondary-nav-bg: #1a1c16;
  --color-label-text: var(--color-text);
  --color-label-bg: #7a7f6a4b;
  --color-label-hover-bg: #7a7f6aa0;
  --color-label-active-bg: #7a7f6aff;
  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-highlight-fg: #b1983b;
  --color-highlight-bg: #3a3420;
  --color-overlay-backdrop: #080808c0;
  --color-danger: var(--color-red);
  --color-transparency-grid-light: #282b22;
  --color-transparency-grid-dark: #1a1c16;
  --color-workflow-edge-hover: #6a6d62;

  /* ── Syntax highlighting (warm-shifted) ───────────────── */
  --color-syntax-keyword: #c47a5a;
  --color-syntax-bool: #5a9a8a;
  --color-syntax-control: #c4a050;
  --color-syntax-name: #b8a848;
  --color-syntax-type: #c48a7a;
  --color-syntax-number: #6b8fa0;
  --color-syntax-operator: #c47a5a;
  --color-syntax-regexp: #a08a7a;
  --color-syntax-string: #8fb87a;
  --color-syntax-comment: #8a9080;
  --color-syntax-invalid: #c45a5a;
  --color-syntax-link: var(--color-primary);
  --color-syntax-tag: #c47a5a;
  --color-syntax-attribute: #a08a7a;
  --color-syntax-property: #6b8fa0;
  --color-syntax-variable: #d4a060;
  --color-syntax-string-special: #c4a050;
  --color-syntax-escape: #b8a848;
  --color-syntax-entity: #a08a7a;
  --color-syntax-preproc: #6b9a6d;
  --color-syntax-preproc-file: #6b8fa0;
  --color-syntax-decorator: #6b9a6d;
  --color-syntax-namespace: #c8c0b8;
  --color-syntax-name-pseudo: #a08a7a;
  --color-syntax-comment-special: #a08a7a;
  --color-syntax-text: #c8c0b8;
  --color-syntax-text-alt: #ada59d;
  --color-syntax-punctuation: #d0c8c0;
  --color-syntax-whitespace: #7a7268;
  --color-syntax-diff-fg: #f0e8e0;
  --color-syntax-deleted-bg: #4a2e2e;
  --color-syntax-inserted-bg: #2e4a2e;
  --color-syntax-emph: #d4a060;
  --color-syntax-strong: #d4a060;
  --color-syntax-heading: #c4a050;
  --color-syntax-subheading: #8fb87a;
  --color-syntax-output: #8a9080;
  --color-syntax-prompt: #d4a060;
  --color-syntax-traceback: #c45a5a;
  --color-syntax-matching-bracket-bg: #5a9a8a48;
  --color-syntax-nonmatching-bracket-bg: #c45a5a48;

  /* ── Fonts (matching Pastelvista) ─────────────────────── */
  --fonts-proportional: 'Inter', -apple-system, 'Segoe UI', sans-serif;
  --fonts-monospace: 'Fira Code', ui-monospace, 'SFMono-Regular', monospace;

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

/* ── Invert emojis that are hard to read on dark bg ─────── */
.emoji[aria-label="check mark"],
.emoji[aria-label="currency exchange"],
.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);
}
