@import "chroma/dark.css";
@import "codemirror/dark.css";
@import "markup/dark.css";

:root {
  /* ------- Steel (dark UI shell) ------- */
  --steel-900: #10161d;
  --steel-850: #131a21;
  --steel-800: #171e26;
  --steel-750: #1d262f;
  --steel-700: #242d38;
  --steel-650: #2b3642;
  --steel-600: #374351;
  --steel-550: #445161;
  --steel-500: #515f70;
  --steel-450: #5f6e80;
  --steel-400: #6d7d8f;
  --steel-350: #7c8c9f;
  --steel-300: #8c9caf;
  --steel-250: #9dadc0;
  --steel-200: #aebed0;
  --steel-150: #c0cfe0;
  --steel-100: #d2e0f0;

  --is-dark-theme: true;

  /* ------- FrogDepot primary (replaces orange) ------- */
  /* Palette drawn from the icon: calm frog greens with soft tints */
  --frog-prim: #64b46b;   /* main frog face */
  --frog-prim-d1: #4a9151;
  --frog-prim-d2: #2f6c36;
  --frog-prim-d3: #265b2d;
  --frog-prim-d4: #1d4b25;
  --frog-prim-d5: #173e1e;
  --frog-prim-d6: #0f2e15;
  --frog-prim-d7: #0a210f;
  --frog-prim-l1: #8bd190;
  --frog-prim-l2: #b9eabf;
  --frog-prim-l3: #d4f4da;
  --frog-prim-l4: #e7faea;
  --frog-prim-l5: #f3fdf4;

  /* Primary system Forgejo expects */
  --color-primary: var(--frog-prim);
  --color-primary-contrast: #000;
  --color-primary-dark-1: var(--frog-prim-d1);
  --color-primary-dark-2: var(--frog-prim-d2);
  --color-primary-dark-3: var(--frog-prim-d3);
  --color-primary-dark-4: var(--frog-prim-d4);
  --color-primary-dark-5: var(--frog-prim-d5);
  --color-primary-dark-6: var(--frog-prim-d6);
  --color-primary-dark-7: var(--frog-prim-d7);
  --color-primary-light-1: var(--frog-prim-l1);
  --color-primary-light-2: var(--frog-prim-l2);
  --color-primary-light-3: var(--frog-prim-l3);
  --color-primary-light-4: var(--frog-prim-l4);
  --color-primary-light-5: var(--frog-prim-l5);
  --color-primary-light-6: var(--frog-prim-l5); /* keep soft */
  --color-primary-light-7: var(--frog-prim-l5);

  /* Alphas tuned for dark UI */
  --color-primary-alpha-10: #64b46b19;
  --color-primary-alpha-20: #64b46b33;
  --color-primary-alpha-30: #64b46b4b;
  --color-primary-alpha-40: #64b46b66;
  --color-primary-alpha-50: #64b46b80;
  --color-primary-alpha-60: #64b46b99;
  --color-primary-alpha-70: #64b46bb3;
  --color-primary-alpha-80: #64b46bcc;
  --color-primary-alpha-90: #64b46be1;

  --color-primary-hover: var(--color-primary-light-1);
  --color-primary-active: var(--color-primary-light-2);

  /* ------- Secondary (unchanged steel ladder) ------- */
  --color-secondary: var(--steel-700);
  --color-secondary-dark-1: var(--steel-550);
  --color-secondary-dark-2: var(--steel-500);
  --color-secondary-dark-3: var(--steel-450);
  --color-secondary-dark-4: var(--steel-400);
  --color-secondary-dark-5: var(--steel-350);
  --color-secondary-dark-6: var(--steel-300);
  --color-secondary-dark-7: var(--steel-250);
  --color-secondary-dark-8: var(--steel-200);
  --color-secondary-dark-9: var(--steel-150);
  --color-secondary-dark-10: var(--steel-100);
  --color-secondary-dark-11: var(--steel-100);
  --color-secondary-dark-12: var(--steel-100);
  --color-secondary-dark-13: var(--steel-100);

  --color-secondary-light-1: var(--steel-650);
  --color-secondary-light-2: var(--steel-700);
  --color-secondary-light-3: var(--steel-750);
  --color-secondary-light-4: var(--steel-800);

  --color-secondary-alpha-10: #2b364219;
  --color-secondary-alpha-20: #2b364233;
  --color-secondary-alpha-30: #2b36424b;
  --color-secondary-alpha-40: #2b364266;
  --color-secondary-alpha-50: #2b364280;
  --color-secondary-alpha-60: #2b364299;
  --color-secondary-alpha-70: #2b3642b3;
  --color-secondary-alpha-80: #2b3642cc;
  --color-secondary-alpha-90: #2b3642e1;

  --color-secondary-hover: var(--color-secondary-light-1);
  --color-secondary-active: var(--color-secondary-light-2);

  /* ------- Console (unchanged for contrast) ------- */
  --color-console-fg: #eeeff2;
  --color-console-fg-subtle: #959cab;
  --color-console-bg: #1f212b;
  --color-console-border: #383c47;
  --color-console-hover-bg: #ffffff16;
  --color-console-active-bg: #454a57;
  --color-console-menu-bg: #383c47;
  --color-console-menu-border: #5c6374;

  /* ------- Fixed palette (non-primary) ------- */
  --color-red: #b91c1c;
  --color-orange: #ea580c; /* kept for warnings where explicitly used */
  --color-yellow: #ca8a04;
  --color-olive: #91a313;
  --color-green: #15803d; /* system green; primary green handled above */
  --color-teal: #0d9488;
  --color-blue: #2563eb;
  --color-violet: #7c3aed;
  --color-purple: #9333ea;
  --color-pink: #db2777;
  --color-brown: #a47252;
  --color-grey: var(--steel-500);
  --color-black: #111827;

  /* light variants */
  --color-red-light: #dc2626;
  --color-orange-light: #f97316;
  --color-yellow-light: #eab308;
  --color-olive-light: #839311;
  --color-green-light: #16a34a;
  --color-teal-light: #14b8a6;
  --color-blue-light: #3b82f6;
  --color-violet-light: #8b5cf6;
  --color-purple-light: #a855f7;
  --color-pink-light: #ec4899;
  --color-brown-light: #94674a;
  --color-grey-light: var(--steel-300);
  --color-black-light: #1f2937;

  /* dark 1 variants */
  --color-red-dark-1: #a71919;
  --color-orange-dark-1: #d34f0b;
  --color-yellow-dark-1: #b67c04;
  --color-olive-dark-1: #839311;
  --color-green-dark-1: #137337;
  --color-teal-dark-1: #0c857a;
  --color-blue-dark-1: #1554e0;
  --color-violet-dark-1: #6a1feb;
  --color-purple-dark-1: #8519e7;
  --color-pink-dark-1: #c7216b;
  --color-brown-dark-1: #94674a;
  --color-black-dark-1: #0f1623;

  /* dark 2 variants */
  --color-red-dark-2: #941616;
  --color-orange-dark-2: #bb460a;
  --color-yellow-dark-2: #ca8a04;
  --color-olive-dark-2: #91a313;
  --color-green-dark-2: #15803d;
  --color-teal-dark-2: #0a766d;
  --color-blue-dark-2: #2563eb;
  --color-violet-dark-2: #5c14d8;
  --color-purple-dark-2: #7c3aed;
  --color-pink-dark-2: #b11d5f;
  --color-brown-dark-2: #a47252;
  --color-black-dark-2: #111827;

  /* ------- ANSI (console) tuned so green matches primary) ------- */
  --color-ansi-black: #1d2328;
  --color-ansi-red: #cc4848;
  --color-ansi-green: #64b46b; /* match icon */
  --color-ansi-yellow: #cc9903;
  --color-ansi-blue: #3a8ac6;
  --color-ansi-magenta: #d22e8b;
  --color-ansi-cyan: #00918a;
  --color-ansi-white: var(--color-console-fg-subtle);
  --color-ansi-bright-black: #424851;
  --color-ansi-bright-red: #d15a5a;
  --color-ansi-bright-green: #8bd190; /* bright variant */
  --color-ansi-bright-yellow: #eaaf03;
  --color-ansi-bright-blue: #4e96cc;
  --color-ansi-bright-magenta: #d74397;
  --color-ansi-bright-cyan: #00b6ad;
  --color-ansi-bright-white: var(--color-console-fg);

  /* ------- Other colors ------- */
  --color-gold: #b1983b;
  --color-white: #ffffff;
  --color-pure-black: #000000;

  /* Diffs (slightly softened to fit dark) */
  --color-diff-removed-word-bg: #6f2a2a;
  --color-diff-added-word-bg: #214f32;
  --color-diff-removed-row-bg: #3b1f1f;
  --color-diff-moved-row-bg: #6e4a16;
  --color-diff-added-row-bg: #183226;
  --color-diff-removed-row-border: #6f2a2a;
  --color-diff-moved-row-border: #9a6b1d;
  --color-diff-added-row-border: #214f32;

  --color-diff-inactive: var(--steel-650);

  /* Status colors */
  --color-error-border: #783030;
  --color-error-bg: #5f2525;
  --color-error-bg-active: #783030;
  --color-error-bg-hover: #783030;
  --color-error-text: #fef2f2;

  --color-success-border: #1f6e3c;
  --color-success-bg: #1d462c;
  --color-success-text: #bfeecf;

  --color-warning-border: #a67a1d;
  --color-warning-bg: #644821;
  --color-warning-text: #fff388;

  --color-info-border: #2e50b0;
  --color-info-bg: #2a396b;
  --color-info-text: var(--steel-100);

  /* Badges (migrate “green” to FrogDepot primary) */
  --color-red-badge: #b91c1c;
  --color-red-badge-bg: #b91c1c22;
  --color-red-badge-hover-bg: #b91c1c44;

  --color-green-badge: var(--frog-prim);
  --color-green-badge-bg: #64b46b22;
  --color-green-badge-hover-bg: #64b46b44;

  --color-yellow-badge: #ca8a04;
  --color-yellow-badge-bg: #ca8a0422;
  --color-yellow-badge-hover-bg: #ca8a0444;

  /* Thin elements (keep hue = green) */
  --color-chroma: 0.19;
  --color-thin-lightness: 0.68;
  --color-thin-green: oklch(var(--color-thin-lightness) var(--color-chroma) 145deg);
  --color-thin-red: oklch(var(--color-thin-lightness) var(--color-chroma) 27deg);
  --color-thin-purple: oklch(var(--color-thin-lightness) var(--color-chroma) 298deg);
  --color-thin-orange: oklch(var(--color-thin-lightness) var(--color-chroma) 41deg);

  /* Targets */
  --color-body: var(--steel-800);
  --color-box-header: var(--steel-700);
  --color-box-body: var(--steel-750);
  --color-box-body-highlight: var(--steel-650);

  --color-text-dark: #fff;
  --color-text: var(--steel-100);
  --color-text-light: var(--steel-150);
  --color-text-light-1: var(--steel-150);
  --color-text-light-2: var(--steel-200);
  --color-text-light-3: var(--steel-200);

  --color-footer: var(--steel-900);
  --color-timeline: var(--steel-650);

  --color-input-text: var(--steel-100);
  --color-input-background: var(--steel-650);
  --color-input-toggle-background: var(--steel-650);
  --color-input-border: var(--steel-550);
  --color-input-border-hover: var(--steel-450);

  --color-header-wrapper: var(--steel-850);
  --color-header-wrapper-transparent: #242d3800;

  --color-light: #00000028;
  --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
  --color-light-border: #ffffff28;

  --color-hover: var(--steel-600);
  --color-active: var(--steel-650);

  --color-menu: var(--steel-700);
  --color-card: var(--steel-700);
  --fancy-card-bg: var(--steel-650);
  --fancy-card-border: var(--steel-600);

  --color-markup-table-row: #ffffff06;
  --color-markup-code-block: var(--steel-800);
  --color-markup-code-inline: var(--steel-850);

  --color-button: var(--steel-600);
  --color-code-bg: var(--steel-750);
  --color-shadow: #00000060;

  --color-secondary-bg: var(--steel-700);
  --color-text-focus: #fff;
  --color-expand-button: #3c404d;
  --color-placeholder-text: var(--color-text-light-3);
  --color-editor-line-highlight: var(--steel-700);

  --color-project-board-bg: var(--color-secondary-light-3);
  --color-project-board-dark-label: var(--color-text-light-3);

  --color-caret: var(--color-text);

  --color-reaction-bg: #ffffff12;
  --color-reaction-active-bg: var(--color-primary-alpha-30);
  --color-reaction-hover-bg: var(--color-primary-alpha-40);

  --color-tooltip-text: #ffffff;
  --color-tooltip-bg: #000000f0;

  --color-nav-bg: var(--steel-900);
  --color-nav-hover-bg: var(--steel-600);
  --color-nav-text: var(--color-text);

  --color-secondary-nav-bg: var(--color-body);

  --color-label-text: #fff;
  --color-label-bg: var(--steel-600);
  --color-label-hover-bg: var(--steel-550);
  --color-label-active-bg: var(--steel-500);
  --color-label-bg-alt: var(--steel-550);

  /* Accent & highlights now follow FrogDepot primary */
  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-3);
  --color-highlight-fg: var(--color-primary-light-2);
  --color-highlight-bg: var(--color-primary-alpha-20);

  --color-overlay-backdrop: #080808c0;

  /* image diff checkerboard */
  --checkerboard-color-1: #474747;
  --checkerboard-color-2: #313131;

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

/* invert emojis that are hard to read otherwise */
.emoji[aria-label="check mark"],
.emoji[aria-label="currency exchange"],
.emoji[aria-label="TOP arrow"],
.emoji[aria-label="END arrow"],
.emoji[aria-label="ON! arrow"],
.emoji[aria-label="SOON arrow"],
.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);
}

i.grey.icon.icon.icon.icon {
  color: var(--steel-350) !important;
}

.ui.secondary.vertical.menu {
  border-radius: 0.28571429rem !important;
  overflow: hidden;
}

.ui.basic.primary.button.item {
  background-color: var(--color-active) !important;
  color: var(--color-text) !important;
  box-shadow: none !important;
}

/* Primary labels/buttons now use FrogDepot greens */
.ui.red.label.notification_count,
.ui.primary.label,
.ui.primary.labels .label {
  background-color: var(--color-primary-light-3) !important;
}

.ui.labeled.icon.buttons > .button > .icon,
.ui.labeled.icon.button > .icon {
  background-color: var(--color-light) !important;
}

#review-box .review-comments-counter {
  background-color: var(--color-shadow) !important;
  color: var(--color-white) !important;
  margin-left: 0.5em;
}

.ui.basic.labels .primary.label,
.ui.ui.ui.basic.primary.label {
  color: var(--color-text-dark) !important;
}

.ui.yellow.label.pending-label {
  color: var(--color-warning-text) !important;
}

::selection {
  background: var(--steel-100) !important;
  color: var(--color-pure-black) !important;
}

strong.attention-important, svg.attention-important {
  color: var(--color-violet-light);
}
strong.attention-note, svg.attention-note {
  color: var(--color-blue-light);
}
strong.attention-caution, svg.attention-caution {
  color: var(--color-red-light);
}

/* Keep destructive actions red */
.ui.basic.red.button {
  background-color: var(--color-red);
  color: var(--color-white);
}
.ui.basic.red.button:hover,
.ui.basic.red.button:focus {
  background-color: var(--color-red-dark-1);
  color: var(--color-white);
}
.ui.basic.red.button:active {
  background-color: var(--color-red-dark-2);
  color: var(--color-white);
}

/* Primary buttons/links (optional: uncomment if you want stronger green CTAs)
a.ui.primary.button, .ui.primary.button {
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
}
a.ui.primary.button:hover, .ui.primary.button:hover,
a.ui.primary.button:focus, .ui.primary.button:focus {
  background-color: var(--color-primary-dark-1);
  color: var(--color-text-dark);
}
a.ui.primary.button:active, .ui.primary.button:active {
  background-color: var(--color-primary-dark-2);
}
*/

