/* Dracula theme for Forgejo — built on top of the stock Forgejo dark theme */
@import url("./theme-forgejo-dark.css");

gitea-theme-meta-info {
  --theme-display-name: "Dracula";
}

:root {
  /* Dracula palette */
  --dracula-bg: #282a36;
  --dracula-bg-dark: #21222c;
  --dracula-bg-darker: #191a21;
  --dracula-line: #44475a;
  --dracula-fg: #f8f8f2;
  --dracula-comment: #6272a4;
  --dracula-cyan: #8be9fd;
  --dracula-green: #50fa7b;
  --dracula-orange: #ffb86c;
  --dracula-pink: #ff79c6;
  --dracula-purple: #bd93f9;
  --dracula-red: #ff5555;
  --dracula-yellow: #f1fa8c;

  /* Remap the base grey scale used by the dark theme */
  --steel-900: #191a21;
  --steel-850: #1e1f29;
  --steel-800: #21222c;
  --steel-750: #282a36;
  --steel-700: #2f3241;
  --steel-650: #363949;
  --steel-600: #44475a;
  --steel-550: #4d5066;
  --steel-500: #565a73;
  --steel-450: #6272a4;
  --steel-400: #7380ad;
  --steel-350: #858fb8;
  --steel-300: #979fc2;
  --steel-250: #aab0cc;
  --steel-200: #c0c4d9;
  --steel-150: #dcdde8;
  --steel-100: #f8f8f2;

  /* Primary = Dracula purple */
  --color-primary: #bd93f9;
  --color-primary-contrast: #191a21;
  --color-primary-dark-1: #c9a6fa;
  --color-primary-dark-2: #d4b8fb;
  --color-primary-dark-3: #dfcafc;
  --color-primary-dark-4: #eadcfd;
  --color-primary-light-1: #b080f8;
  --color-primary-light-2: #a26df6;
  --color-primary-light-3: #9459f3;
  --color-primary-light-4: #8646f0;
  --color-primary-light-5: #6f35cc;
  --color-primary-light-6: #5a2ba6;
  --color-primary-light-7: #462181;
  --color-primary-alpha-10: #bd93f919;
  --color-primary-alpha-20: #bd93f933;
  --color-primary-alpha-30: #bd93f94b;
  --color-primary-alpha-40: #bd93f966;
  --color-primary-alpha-50: #bd93f980;
  --color-primary-alpha-60: #bd93f999;
  --color-primary-alpha-70: #bd93f9b3;
  --color-primary-alpha-80: #bd93f9cc;
  --color-primary-alpha-90: #bd93f9e1;
  --color-primary-hover: var(--color-primary-dark-1);
  --color-primary-active: var(--color-primary-dark-2);
  --color-accent: var(--dracula-pink);
  --color-small-accent: var(--color-primary-light-6);
  --color-highlight-fg: var(--dracula-yellow);
  --color-highlight-bg: #f1fa8c22;

  --color-secondary-alpha-10: #44475a19;
  --color-secondary-alpha-20: #44475a33;
  --color-secondary-alpha-30: #44475a4b;
  --color-secondary-alpha-40: #44475a66;
  --color-secondary-alpha-50: #44475a80;
  --color-secondary-alpha-60: #44475a99;
  --color-secondary-alpha-70: #44475ab3;
  --color-secondary-alpha-80: #44475acc;
  --color-secondary-alpha-90: #44475ae1;

  /* Named colours */
  --color-red: #ff5555;
  --color-orange: #ffb86c;
  --color-yellow: #f1fa8c;
  --color-olive: #c3e88d;
  --color-green: #50fa7b;
  --color-teal: #8be9fd;
  --color-blue: #6272a4;
  --color-violet: #bd93f9;
  --color-purple: #bd93f9;
  --color-pink: #ff79c6;
  --color-red-light: #ff6e6e;
  --color-orange-light: #ffc685;
  --color-yellow-light: #f4fba6;
  --color-green-light: #69ff94;
  --color-teal-light: #a4ffff;
  --color-purple-light: #d6acff;
  --color-pink-light: #ff92df;
  --color-red-dark-1: #e64d4d;
  --color-orange-dark-1: #e6a661;
  --color-yellow-dark-1: #d9e17e;
  --color-green-dark-1: #48e16f;
  --color-teal-dark-1: #7dd2e4;
  --color-violet-dark-1: #aa84e0;
  --color-purple-dark-1: #aa84e0;
  --color-pink-dark-1: #e66db2;
  --color-red-dark-2: #cc4444;
  --color-orange-dark-2: #cc9356;
  --color-yellow-dark-2: #c1c870;
  --color-green-dark-2: #40c862;
  --color-teal-dark-2: #6fbaca;
  --color-violet-dark-2: #9776c7;
  --color-purple-dark-2: #9776c7;
  --color-pink-dark-2: #cc619e;

  /* Badges */
  --color-red-badge: #ff5555;
  --color-red-badge-bg: #ff555522;
  --color-red-badge-hover-bg: #ff555544;
  --color-green-badge: #50fa7b;
  --color-green-badge-bg: #50fa7b22;
  --color-green-badge-hover-bg: #50fa7b44;
  --color-yellow-badge: #f1fa8c;
  --color-yellow-badge-bg: #f1fa8c22;
  --color-yellow-badge-hover-bg: #f1fa8c44;
  --color-orange-badge: #ffb86c;
  --color-orange-badge-bg: #ffb86c22;
  --color-orange-badge-hover-bg: #ffb86c44;

  /* Messages */
  --color-error-border: #ff5555;
  --color-error-bg: #ff555526;
  --color-error-bg-active: #ff555540;
  --color-error-bg-hover: #ff555533;
  --color-error-text: #ff9a9a;
  --color-success-border: #50fa7b;
  --color-success-bg: #50fa7b1f;
  --color-success-text: #8affa8;
  --color-warning-border: #ffb86c;
  --color-warning-bg: #ffb86c1f;
  --color-warning-text: #ffd3a3;
  --color-info-border: #8be9fd;
  --color-info-bg: #8be9fd1a;
  --color-info-text: #c2f4ff;

  /* Diffs */
  --color-diff-removed-word-bg: #ff555555;
  --color-diff-added-word-bg: #50fa7b40;
  --color-diff-removed-row-bg: #ff55551f;
  --color-diff-added-row-bg: #50fa7b17;
  --color-diff-moved-row-bg: #ffb86c22;
  --color-diff-removed-row-border: #ff555566;
  --color-diff-added-row-border: #50fa7b55;
  --color-diff-moved-row-border: #ffb86c66;

  /* Surfaces */
  --color-body: var(--dracula-bg);
  --color-box-header: var(--dracula-bg-dark);
  --color-box-body: var(--dracula-bg);
  --color-box-body-highlight: var(--dracula-line);
  --color-footer: var(--dracula-bg-darker);
  --color-nav-bg: var(--dracula-bg-darker);
  --color-nav-hover-bg: var(--dracula-line);
  --color-header-wrapper: var(--dracula-bg-dark);
  --color-header-wrapper-transparent: #21222c00;
  --color-secondary-nav-bg: var(--dracula-bg);
  --color-menu: var(--dracula-bg-dark);
  --color-card: var(--dracula-bg-dark);
  --color-input-background: var(--dracula-bg-dark);
  --color-input-toggle-background: var(--dracula-line);
  --color-input-border: var(--dracula-line);
  --color-input-border-hover: var(--dracula-comment);
  --color-markup-code-block: var(--dracula-bg-darker);
  --color-markup-code-inline: var(--dracula-line);
  --color-code-bg: var(--dracula-bg-darker);
  --color-editor-line-highlight: var(--dracula-line);
  --color-label-bg: var(--dracula-line);
  --color-label-hover-bg: var(--steel-550);
  --color-label-active-bg: var(--steel-500);
  --color-timeline: var(--dracula-line);
  --color-text: var(--dracula-fg);
  --color-text-light: #e2e2dc;
  --color-text-light-1: #d0d0cc;
  --color-text-light-2: #b4b8d0;
  --color-text-light-3: var(--dracula-comment);
  --color-placeholder-text: var(--dracula-comment);
  --color-selection-bg: var(--dracula-line);
  --color-selection-fg: var(--dracula-fg);
  --color-tooltip-bg: var(--dracula-bg-darker);
  --color-reaction-active-bg: var(--color-primary-alpha-30);

  /* Console / Actions logs */
  --color-console-fg: #f8f8f2;
  --color-console-fg-subtle: #6272a4;
  --color-console-bg: #191a21;
  --color-console-border: #44475a;
  --color-console-active-bg: #44475a;
  --color-console-menu-bg: #282a36;
  --color-console-menu-border: #44475a;
  --color-ansi-black: #21222c;
  --color-ansi-red: #ff5555;
  --color-ansi-green: #50fa7b;
  --color-ansi-yellow: #f1fa8c;
  --color-ansi-blue: #bd93f9;
  --color-ansi-magenta: #ff79c6;
  --color-ansi-cyan: #8be9fd;
  --color-ansi-bright-black: #6272a4;
  --color-ansi-bright-red: #ff6e6e;
  --color-ansi-bright-green: #69ff94;
  --color-ansi-bright-yellow: #ffffa5;
  --color-ansi-bright-blue: #d6acff;
  --color-ansi-bright-magenta: #ff92df;
  --color-ansi-bright-cyan: #a4ffff;
}

::selection {
  background: #44475a;
  color: #f8f8f2;
}

/* Links */
a, .ui.breadcrumb a { color: var(--dracula-cyan); }
a:hover { color: var(--dracula-pink); }

/* Wide logo in the navbar */
#navbar-logo img {
  width: auto !important;
  height: 30px !important;
  max-width: 120px;
}

/* Syntax highlighting (Chroma) — Dracula */
.chroma { color: #f8f8f2; }
.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm, .chroma .cs, .chroma .cpf { color: #6272a4; }
.chroma .cp { color: #ff79c6; }
.chroma .k, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr, .chroma .ow, .chroma .o, .chroma .nt { color: #ff79c6; }
.chroma .kc, .chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo, .chroma .il, .chroma .no { color: #bd93f9; }
.chroma .kt, .chroma .nc, .chroma .nb, .chroma .bp { color: #8be9fd; }
.chroma .nf, .chroma .fm, .chroma .na, .chroma .nd, .chroma .ne, .chroma .gu { color: #50fa7b; }
.chroma .n, .chroma .nn, .chroma .nx, .chroma .p, .chroma .w { color: #f8f8f2; }
.chroma .nl, .chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi, .chroma .ni { color: #ffb86c; }
.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .sd, .chroma .dl, .chroma .sh, .chroma .si, .chroma .sx, .chroma .ss { color: #f1fa8c; }
.chroma .se, .chroma .sr { color: #ff5555; }
.chroma .gd { color: #ff5555; background-color: #ff555522; }
.chroma .gi { color: #50fa7b; background-color: #50fa7b1a; }
.chroma .gh, .chroma .gp { color: #bd93f9; }
.chroma .ge { color: #f1fa8c; font-style: italic; }
.chroma .gs { font-weight: bold; }
.chroma .gr, .chroma .gt { color: #ff5555; }
.chroma .go { color: #6272a4; }
