/*
 * "Andromeda" - matches the dark theme of the same name already used for
 * OpenCloud (see services/cloud/opencloud/theme.template.json's "Andromeda"
 * entry), so the two apps read as one system rather than two clashing
 * color schemes.
 *
 * Forgejo auto-discovers any file matching public/assets/css/theme-<name>.css
 * and lists <name> as a selectable theme under Settings -> Appearance - this
 * one is also set as the default via FORGEJO__UI__DEFAULT_THEME in
 * template.env, so logged-out/new users get it without picking it manually.
 */

@import "theme-gitea-dark.css";

/* ANSI colours */
:root {
  --color-ansi-black: #2d2d2d;
  --color-ansi-red: #ee6666;
  --color-ansi-green: #66eeaa;
  --color-ansi-yellow: #eeee55;
  --color-ansi-blue: #66bbee;
  --color-ansi-magenta: #bb88ee;
  --color-ansi-cyan: #66eedd;
  --color-ansi-white: #a5a5a5;
  --color-ansi-bright-black: #4f4f4f;
  --color-ansi-bright-red: #ff9999;
  --color-ansi-bright-green: #aaffcc;
  --color-ansi-bright-yellow: #eeeeaa;
  --color-ansi-bright-blue: #99ccff;
  --color-ansi-bright-magenta: #ffbbff;
  --color-ansi-bright-cyan: #aaeeee;
  --color-ansi-bright-white: #ffffff;
}

/* Site colours */
:root {
  /* Site body */
  --color-body: #2d2d2d;
  --color-box-body: #1e1e1e;
  --color-box-header: #222222;

  /* Navbars */
  --color-nav-bg: #1e1e1e;
  --color-nav-hover-bg: #3e3e3e;
  --color-secondary-nav-bg: #222222;

  /* Search bars and other text inputs */
  --color-input-background: #1e1e1e;
  --color-input-border: var(--color-secondary);
  --color-input-border-hover: var(--color-secondary-light-1);

  /* Buttons, checkboxes, etc. */
  --color-primary: #bb88ee;
  --color-primary-dark-1: #c294f0;
  --color-primary-dark-2: #c9a0f1;
  --color-primary-dark-3: #cfacf3;
  --color-primary-dark-4: #d6b8f5;
  --color-primary-dark-5: #e4cff8;
  --color-primary-dark-6: #f1e7fc;
  --color-primary-dark-7: #fbf8fe;
  --color-primary-light-1: #a779d4;
  --color-primary-light-2: #946bbc;
  --color-primary-light-3: #815ea4;
  --color-primary-light-4: #6f518d;
  --color-primary-light-5: #4a365e;
  --color-primary-light-6: #251b2f;
  --color-primary-light-7: #0b080f;
  --color-primary-hover: var(--color-primary-dark-1);
  --color-primary-active: var(--color-primary-dark-2);

  /* Field borders, frames, etc. */
  --color-secondary: #4f4f4f;
  --color-secondary-dark-1: #565656;
  --color-secondary-dark-2: #5e5e5e;
  --color-secondary-dark-3: #6d6d6d;
  --color-secondary-dark-4: #7f7f7f;
  --color-secondary-dark-5: #8c8c8c;
  --color-secondary-dark-6: #999999;
  --color-secondary-dark-7: #a4a4a4;
  --color-secondary-dark-8: #b1b1b1;
  --color-secondary-dark-9: #b8b8b8;
  --color-secondary-dark-10: #c3c3c3;
  --color-secondary-dark-11: #cecece;
  --color-secondary-dark-12: #d7d7d7;
  --color-secondary-dark-13: #dadada;
  --color-secondary-light-1: #3e3e3e;
  --color-secondary-light-2: #3e3e3e;
  --color-secondary-light-3: #282828;
  --color-secondary-light-4: #1f1f1f;
}

/* Code (syntax highlighting + terminal/ANSI colors) */

/* Comment (italic, per vim) / SpecialComment+Identifier+Generic.Output (not) */
.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm { color: #a5a5a5; font-style: italic; }
.chroma .cs, .chroma .n, .chroma .nn, .chroma .nv, .chroma .nx,
.chroma .vc, .chroma .vg, .chroma .vi, .chroma .go { color: #a5a5a5; }

/* PreProc (import/include-style keywords count as PreProc too, per vim's
   `hi link Include PreProc`) */
.chroma .cp, .chroma .cpf, .chroma .kn { color: #66bbee; }

/* Keyword and Constant are literally the same color in this scheme (both
   fg6), which is why keywords, all-flavors-of-number, and char literals
   (vim links Character to Constant) share one rule here */
.chroma .k, .chroma .kc, .chroma .kd, .chroma .kp, .chroma .kr, .chroma .no,
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo,
.chroma .il, .chroma .sc { color: #66eedd; }

/* Type (StorageClass/Structure link to Type in vim, and a class is type-like) */
.chroma .kt, .chroma .nc { color: #ffb4ff; }

/* Macro-ish (decorators and regexes both read as "meta", same purple as Macro) */
.chroma .nd, .chroma .sr { color: #af79d8; }
.chroma .nl { color: #af79d8; text-decoration: underline; } /* Label */
.chroma .gh, .chroma .gu { color: #af79d8; } /* Generic heading/subheading */

/* Exception/Error/Traceback */
.chroma .ne, .chroma .gt, .chroma .gr { color: #ee6666; }

/* Function (Name.Entity grouped in since gitea-dark itself groups .nf/.ni) */
.chroma .nf, .chroma .ni { color: #99ccff; }

/* Special/SpecialChar/Tag - attributes, builtins, escapes, interpolation,
   and a few Generic.* markup roles all read as "stands out from plain text" */
.chroma .na, .chroma .nb, .chroma .bp, .chroma .nt, .chroma .se, .chroma .si,
.chroma .gp, .chroma .gs, .chroma .ge { color: #eeeeaa; }

.chroma .o, .chroma .ow { color: #aaeeee; } /* Operator(.Word) */
.chroma .p { color: #ffffff; } /* Delimiter */

.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb, .chroma .sd,
.chroma .sh, .chroma .ss, .chroma .sx, .chroma .dl { color: #66eeaa; } /* String */

.chroma .w { color: #4f4f4f; } /* Whitespace - dim */

/* DiffDelete/DiffAdd - vim gives no background for either, just a fg color,
   so these backgrounds are generated: --color-box-body (#1e1e1e) mixed 18%
   toward the matching ANSI red/green, rather than picked by eye. */
.chroma .gd { color: #ff9999; background-color: #432b2b; }
.chroma .gi { color: #ffffff; background-color: #2b4337; }
