/* ---------------------------------------------------------------------------
 * Catppuccin <-> Gitea 1.25 compatibility supplement.
 *
 * catppuccin/gitea v1.0.2 (released 2025-04-15) predates Gitea 1.24/1.25, which
 * added ~40 new CSS custom properties. Those variables are declared ONLY in
 * theme files -- index.css does not provide fallbacks -- so anything referencing
 * them (navbar text, secondary buttons, Actions console output, diff line
 * numbers, project columns) resolves to nothing and renders unstyled.
 *
 * Upstream tracks this in two open issues: "fix: missing variables" and
 * "1.25.0 compatability". DELETE THIS FILE once catppuccin/gitea >= 1.0.3 ships
 * with them, and drop its <link> from templates/custom/header.tmpl.
 *
 * Loaded after the theme stylesheet, so these fill gaps without fighting any
 * value Catppuccin already defines. Scoped to [data-theme*="catppuccin"] so
 * switching back to a stock Gitea theme is completely unaffected.
 *
 * Values follow the official Catppuccin palette per flavour. Where a variable
 * is purely relational, it reuses Catppuccin's own variables so it adapts to
 * whichever of the 14 accents is selected.
 * ------------------------------------------------------------------------- */

/* == Universal: relational vars + console ================================= */
/* Gitea renders the Actions log console dark in BOTH its light and dark
   themes, so one console/ANSI palette (Mocha-based) covers every flavour. */
[data-theme*="catppuccin"] {
  /* Relational - follow the active accent/flavour automatically */
  --color-logo: var(--color-primary);
  --color-nav-text: var(--color-text);
  --color-primary-active: var(--color-primary-light-2);
  --color-project-column-bg: var(--color-secondary-light-2);
  --color-reaction-hover-bg: var(--color-primary-light-4);
  --color-secondary-active: var(--color-secondary-dark-2);
  --color-secondary-button: var(--color-secondary-dark-4);
  --color-secondary-hover: var(--color-secondary-dark-3);
  --color-overlay-backdrop: #080808c0;

  /* Actions log console */
  --color-console-bg: #11111b;
  --color-console-fg: #cdd6f4;
  --color-console-fg-subtle: #a6adc8;
  --color-console-border: #313244;
  --color-console-hover-bg: #1e1e2e;
  --color-console-active-bg: #313244;
  --color-console-menu-bg: #181825;
  --color-console-menu-border: #45475a;

  /* ANSI - official Catppuccin Mocha terminal mapping */
  --color-ansi-black: #45475a;
  --color-ansi-red: #f38ba8;
  --color-ansi-green: #a6e3a1;
  --color-ansi-yellow: #f9e2af;
  --color-ansi-blue: #89b4fa;
  --color-ansi-magenta: #f5c2e7;
  --color-ansi-cyan: #94e2d5;
  --color-ansi-white: #bac2de;
  --color-ansi-bright-black: #585b70;
  --color-ansi-bright-red: #f38ba8;
  --color-ansi-bright-green: #a6e3a1;
  --color-ansi-bright-yellow: #f9e2af;
  --color-ansi-bright-blue: #89b4fa;
  --color-ansi-bright-magenta: #f5c2e7;
  --color-ansi-bright-cyan: #94e2d5;
  --color-ansi-bright-white: #a6adc8;
}

/* == Per-flavour surface tints ============================================ */

[data-theme^="catppuccin-mocha-"] {
  --color-secondary-nav-bg: #181825;   /* mantle */
  --color-hover-opaque: #313244;       /* surface0 */
  --color-shadow-opaque: #11111b;      /* crust */
  --color-highlight-fg: #f9e2af;       /* yellow */
  --color-diff-added-linenum-bg: #2e3f2d;
  --color-diff-removed-linenum-bg: #492932;
}

[data-theme^="catppuccin-macchiato-"] {
  --color-secondary-nav-bg: #1e2030;
  --color-hover-opaque: #363a4f;
  --color-shadow-opaque: #181926;
  --color-highlight-fg: #eed49f;
  --color-diff-added-linenum-bg: #32412d;
  --color-diff-removed-linenum-bg: #4c2b30;
}

[data-theme^="catppuccin-frappe-"] {
  --color-secondary-nav-bg: #292c3c;
  --color-hover-opaque: #414559;
  --color-shadow-opaque: #232634;
  --color-highlight-fg: #e5c890;
  --color-diff-added-linenum-bg: #39472f;
  --color-diff-removed-linenum-bg: #532f30;
}

[data-theme^="catppuccin-latte-"] {
  --color-secondary-nav-bg: #e6e9ef;
  --color-hover-opaque: #ccd0da;
  --color-shadow-opaque: #bcc0cc;
  --color-highlight-fg: #df8e1d;
  --color-diff-added-linenum-bg: #d3edcf;
  --color-diff-removed-linenum-bg: #f7d4db;
}

/* == Auto themes ========================================================== */
/* The *-auto themes follow the OS: Latte when light, Mocha when dark. */

@media (prefers-color-scheme: light) {
  [data-theme^="catppuccin-"][data-theme$="-auto"] {
    --color-secondary-nav-bg: #e6e9ef;
    --color-hover-opaque: #ccd0da;
    --color-shadow-opaque: #bcc0cc;
    --color-highlight-fg: #df8e1d;
    --color-diff-added-linenum-bg: #d3edcf;
    --color-diff-removed-linenum-bg: #f7d4db;
  }
}

@media (prefers-color-scheme: dark) {
  [data-theme^="catppuccin-"][data-theme$="-auto"] {
    --color-secondary-nav-bg: #181825;
    --color-hover-opaque: #313244;
    --color-shadow-opaque: #11111b;
    --color-highlight-fg: #f9e2af;
    --color-diff-added-linenum-bg: #2e3f2d;
    --color-diff-removed-linenum-bg: #492932;
  }
}
