
:root {
  /* ═══ Fox Branding Overrides (applied ON TOP of forgejo defaults below) ═══ */
  --is-dark-theme: true;
  --color-primary: #fb923c;
  --color-primary-contrast: #000;
  /* ─── Reynard Chroma Token Colors (OKLCH from Ghostty palette) ─── */
  --chroma-keyword: oklch(0.72 0.04 85deg);
  --chroma-declaration: oklch(0.67 0.03 340deg);
  --chroma-type: oklch(0.85 0.045 90deg);
  --chroma-comment: oklch(0.53 0.01 162deg);
  --chroma-string: oklch(0.82 0.035 90deg);
  --chroma-number: oklch(0.85 0.02 180deg);
  --chroma-function: oklch(0.70 0.03 162deg);
  --chroma-class: oklch(0.85 0.04 60deg);
  --chroma-builtin: oklch(0.83 0.035 162deg);
  --chroma-operator: oklch(0.74 0.035 80deg);
  --chroma-error: oklch(0.74 0.045 85deg);

  /* ═══ Forgejo Dark Base Theme (steel palette) — carry over all from source ─── */
  --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;

  /* Primary — orange (fox accent) */
  --color-primary-dark-1: #fdba74;
  --color-primary-dark-2: #fdba74;
  --color-primary-dark-3: #fed7aa;
  --color-primary-dark-4: #fed7aa;
  --color-primary-dark-5: #ffedd5;
  --color-primary-dark-6: #ffedd5;
  --color-primary-dark-7: #fff7ed;
  --color-primary-light-1: #f97316;
  --color-primary-light-2: #ea580c;
  --color-primary-light-3: #c2410c;
  --color-primary-light-4: #9a3412;
  --color-primary-light-5: #9a3412;
  --color-primary-light-6: #7c2d12;
  --color-primary-light-7: #7c2d12;
  --color-primary-alpha-10: #ea580c19;
  --color-primary-alpha-20: #ea580c33;
  --color-primary-alpha-30: #ea580c4b;
  --color-primary-alpha-40: #ea580c66;
  --color-primary-alpha-50: #ea580c80;
  --color-primary-alpha-60: #ea580c99;
  --color-primary-alpha-70: #ea580cb3;
  --color-primary-alpha-80: #ea580ccc;
  --color-primary-alpha-90: #ea580ce1;
  --color-primary-hover: var(--color-primary-light-1);
  --color-primary-active: var(--color-primary-light-2);

  /* Secondary — warm fox tones (was steel, now replaces all blue-gray UI chrome) */
  --color-secondary: oklch(0.35 0.10 40deg);
  --color-secondary-dark-1: oklch(0.32 0.09 40deg);
  --color-secondary-dark-2: oklch(0.28 0.08 40deg);
  --color-secondary-dark-3: oklch(0.35 0.10 40deg);
  --color-secondary-dark-4: oklch(0.38 0.11 40deg);
  --color-secondary-light-1: oklch(0.55 0.12 40deg);
  --color-secondary-alpha-10: rgba(60, 30, 15, 0.10);
  --color-secondary-alpha-20: rgba(60, 30, 15, 0.20);
  --color-secondary-alpha-30: rgba(60, 30, 15, 0.30);
  --color-secondary-alpha-40: rgba(60, 30, 15, 0.40);
  --color-secondary-alpha-50: rgba(60, 30, 15, 0.50);
  --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 */
  --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;

  /* Core palette */
  --color-red: #b91c1c;
  --color-orange: #ea580c;
  --color-yellow: #ca8a04;
  --color-olive: #91a313;
  --color-green: #15803d;
  --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 */
  --color-ansi-black: #1d2328;
  --color-ansi-red: #cc4848;
  --color-ansi-green: #87ab63;
  --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: #93b373;
  --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);

  /* Misc */
  --color-gold: #b1983b;
  --color-white: #ffffff;
  --color-pure-black: #000000;
  --color-diff-removed-word-bg: #783030;
  --color-diff-added-word-bg: #255c39;
  --color-diff-removed-row-bg: #432121;
  --color-diff-moved-row-bg: #825718;
  --color-diff-added-row-bg: #1b3625;
  --color-diff-removed-row-border: #783030;
  --color-diff-moved-row-border: #a67a1d;
  --color-diff-added-row-border: #255c39;
  --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: #aef0c2;
  --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 */
  --color-red-badge: #b91c1c;
  --color-red-badge-bg: #b91c1c22;
  --color-red-badge-hover-bg: #b91c1c44;
  --color-green-badge: #16a34a;
  --color-green-badge-bg: #16a34a22;
  --color-green-badge-hover-bg: #16a34a44;
  --color-yellow-badge: #ca8a04;
  --color-yellow-badge-bg: #ca8a0422;
  --color-yellow-badge-hover-bg: #ca8a0444;
  --color-orange-badge: #ea580c;
  --color-orange-badge-bg: #ea580c22;
  --color-orange-badge-hover-bg: #ea580c44;

  /* Thin element colors */
  --thin-lightness: 0.68;
  --regular-chroma: 0.19;
  --color-thin-green: oklch(var(--thin-lightness) var(--regular-chroma) 145deg);
  --color-thin-red: oklch(var(--thin-lightness) var(--regular-chroma) 27deg);
  --color-thin-purple: oklch(var(--thin-lightness) var(--regular-chroma) 298deg);
  --color-thin-orange: oklch(var(--thin-lightness) var(--regular-chroma) 41deg);
  --thin-lightness-highlight: 0.75;
  --color-thin-red-highlight: oklch(var(--thin-lightness-highlight) var(--regular-chroma) 27deg);

  /* Danger background */
  --bg-lightness: 0.26;
  --bg-chroma: 0.05;
  --color-danger-bg: oklch(var(--bg-lightness) var(--bg-chroma) 27deg);

  /* ═══ Background & Text Colors — WARM FOX TONES (replacing all blue-gray steel/zinc) ═══ */
  /* Body — deep warm brown background (was steel-800 = blue-gray) */
  --color-body: oklch(0.18 0.025 40deg);
  /* Box/panel headers and bodies — warmer tones instead of steel */
  --color-box-header: oklch(0.30 0.07 40deg);
  --color-box-body: oklch(0.28 0.06 40deg);
  --color-box-body-highlight: oklch(0.35 0.10 40deg);
  /* Text colors — keep light for contrast on warm bg */
  --color-text-dark: #fff;
  --color-text: var(--steel-100); /* Keep steel-100 (warm white) - this is fine */
  --color-text-light: oklch(0.75 0.03 40deg);
  --color-text-light-1: oklch(0.82 0.04 40deg);
  --color-text-light-2: oklch(0.89 0.035 40deg);
  --color-text-light-3: oklch(0.95 0.03 40deg);
  /* Footer — darkest warm tone (was steel-900) */
  --color-footer: oklch(0.12 0.01 40deg);
  /* Timeline — warm brown accent */
  --color-timeline: oklch(0.55 0.12 40deg);
  /* Input fields — warm brown instead of steel-650 (blue) */
  --color-input-text: var(--steel-100);
  --color-input-background: oklch(0.30 0.08 40deg);
  --color-input-toggle-background: oklch(0.32 0.07 40deg);
  --color-input-border: oklch(0.45 0.10 40deg);
  --color-input-border-hover: oklch(0.55 0.12 40deg);
  /* Header — warm brown (was steel-850) */
  --color-header-wrapper: oklch(0.20 0.03 40deg);
  --color-header-wrapper-transparent: #1a161400;
  /* Hover & Active states — fox-orange instead of blue-gray steel-600/650 */
  --color-hover: oklch(0.28 0.08 45deg); /* warm brown on hover */
  --color-active: oklch(0.32 0.10 45deg); /* brighter warm for active (fixes filter tabs!) */
  /* Menu & Card backgrounds — warm tones instead of steel-700 */
  --color-menu: oklch(0.25 0.06 40deg);
  --color-card: oklch(0.23 0.05 40deg);
  /* Fancy cards — warm amber/brown instead of steel-650/600 */
  --fancy-card-bg: oklch(0.35 0.12 45deg);
  --fancy-card-border: oklch(0.42 0.10 45deg);
  /* Markup code blocks — warm dark instead of steel-800/850 */
  --color-markup-code-block: oklch(0.17 0.025 40deg);
  --color-markup-code-inline: oklch(0.22 0.03 40deg);
  /* Buttons — warm amber instead of steel-600 (blue) */
  --color-button: oklch(0.35 0.12 45deg);
  /* Code block backgrounds — warm dark instead of steel-750 (blue-gray) */
  --color-code-bg: oklch(0.26 0.04 40deg);
  --color-shadow: #00000060;
  /* Secondary background — warm brown (was steel-700 blue-gray) */
  --color-secondary-bg: oklch(0.28 0.07 40deg);
  /* Expand button — warm dark instead of gray */
  --color-expand-button: oklch(0.35 0.10 40deg);
  /* Placeholder text — light enough for contrast */
  --color-placeholder-text: oklch(0.65 0.03 40deg);
  /* Editor line highlight — warm amber instead of steel-700 */
  --color-editor-line-highlight: oklch(0.28 0.08 40deg);
  /* Project board — warm tones */
  --color-project-board-bg: oklch(0.35 0.12 45deg);
  --color-project-board-dark-label: var(--color-text-light-3);
  /* Navigation — deep warm brown instead of steel-900/600 */
  --color-nav-bg: oklch(0.18 0.025 40deg);
  --color-nav-hover-bg: oklch(0.28 0.08 45deg);
  /* Labels — warm tones instead of steel-600/550 (blue) */
  --color-label-text: #fff;
  --color-label-bg: oklch(0.35 0.12 45deg);
  --color-label-hover-bg: oklch(0.40 0.11 45deg);
  --color-label-active-bg: oklch(0.45 0.12 45deg);
  --color-label-bg-alt: oklch(0.38 0.11 45deg);
  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-highlight-fg: var(--color-primary-light-4);
  --color-highlight-bg: var(--color-primary-alpha-20);
  --color-logo: #ffffff;
  --color-logo-dark: #ffffff;
  --color-overlay-backdrop: #080808c0;
  --color-selection-bg: var(--steel-100);
  --color-selection-fg: var(--color-pure-black);

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

  /* Indicators */
  --color-indicator-offline: #a1a1aa;
  --color-indicator-offline-20: #a1a1aa1a;
  --color-indicator-idle: #16a34a;
  --color-indicator-idle-20: #16a34a1a;
  --color-indicator-active: #2185d0;
  --color-indicator-active-20: #2185d033;

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

/* ═══ Chroma Syntax Highlighting Rules (Reynard Dark Theme, OKLCH) ═══ */
.chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0 }
.chroma .lntable { border-spacing: 0; padding: 0; margin: 0; width: auto; overflow: auto; display: block }
.chroma .hl { display: block; width: 100%; background-color: oklch(0.25 0.02 40deg) }

/* Line numbers — muted */
.chroma .lnt, .chroma .ln { margin-right: 0.4em; padding: 0 0.4em; color: oklch(0.50 0.01 160deg); user-select: none; display: inline-block; min-width: 3em }

/* Keywords — fox-orange/amber accent */
.chroma .k { color: var(--chroma-keyword) !important }
.chroma .kc { color: oklch(0.63 0.02 155deg); font-weight: bold }
.chroma .kd, .chroma .kn { color: var(--chroma-declaration); font-weight: bold }
.chroma .kp { color: oklch(0.73 0.035 162deg) }

/* Types & constants — gold/yellow */
.chroma .kt { color: var(--chroma-type) !important; font-weight: bold }
.chroma .no, .chroma .nv, .chroma .ni { color: oklch(0.89 0.01 85deg); font-weight: bold }

/* Comments — muted green-gray */
.chroma .c, .chroma .c1, .chroma .cm, .chroma .cs { color: var(--chroma-comment) !important; font-style: italic }

/* Strings — warm gold */
.chroma .s, .chroma .s1, .chroma .s2, .chroma .si { color: var(--chroma-string); font-weight: bold }

/* Numbers — teal/cyan for contrast on dark bg */
.chroma .m, .chroma .mi, .chroma .mb, .chroma .mh, .chroma .mo { color: var(--chroma-number); font-weight: bold }

/* Functions — bright green muted for dark bg comfort */
.chroma .nf { color: var(--chroma-function) !important; font-style: italic; font-weight: bold }

/* Classes & traits — golden */
.chroma .nc { color: var(--chroma-class); font-weight: bold }

/* Builtins — bright green */
.chroma .nb, .chroma .bp { color: var(--chroma-builtin); font-weight: bold; font-style: italic }

/* Operators & punctuation — orange accent */
.chroma .o, .chroma .ow { color: var(--chroma-operator); font-weight: bold }
.chroma .p, .chroma .pp { color: oklch(0.78 0.015 155deg) }

/* Tags — red accent */
.chroma .nt { color: oklch(0.63 0.025 153deg); font-weight: bold }

/* Generic output text */
.chroma .go, .chroma .ge { color: oklch(0.72 0.02 160deg) !important }

/* Errors — strong amber/red */
.chroma .err { color: var(--chroma-error); font-weight: bold !important; text-decoration: underline wavy var(--chroma-keyword) 2px }

/* Highlighted lines */
.chroma .hll { background-color: oklch(0.27 0.02 160deg / 30%); border-left: 3px solid var(--chroma-keyword) !important }

/* Diff view line backgrounds */
.chroma .gd { background-color: oklch(0.45 0.05 153deg) !important; display: inline-block; margin-right: -0.4em; color: oklch(0.92 0.01 85deg) }
.chroma .gi { background-color: oklch(0.27 0.035 162deg) !important; display: inline-block; margin-right: -0.4em; color: oklch(0.92 0.01 85deg); border-left: 3px solid #a0b868 }

.chroma .gp { font-weight: bold; color: var(--chroma-function) !important }
.chroma .gr, .chroma .gt { color: var(--chroma-error); font-style: italic }

/* Decorators — bright green/teal */
.chroma .nd { color: oklch(0.69 0.03 210deg) !important; text-decoration: underline dotted var(--chroma-builtin) 2px }

/* Table structure for line display */
.chroma table { border-collapse: collapse; width: auto }
.chroma thead, .chroma tbody, .chroma td { padding: 0; margin: 0 }
.chroma tr { border-bottom: 1px solid oklch(0.35 0.025 40deg) !important }

.chroma .lnk, .chroma .lnc { padding-left: 1em; color: oklch(0.70 0.015 85deg); border-left: 3px solid #d4654a !important }

/* ═══ COMPREHENSIVE FOX COLOR OVERRIDES (replacing blue tones with fox palette) ═══ */

/* Body background - deeper warm brown instead of steel-blue */
body, html {
  background-color: oklch(0.18 0.025 40deg) !important;
}

/* Search input and form controls - replace steel-750/700 with fox-brown */
input[type="text"], input[type="search"], input[type="password"], textarea,
.form-control, .form-select {
  background-color: oklch(0.25 0.03 40deg) !important;
  border-color: rgba(251, 146, 60, 0.3) !important;
}
input:focus, textarea:focus, .form-control:focus, .form-select:focus {
  background-color: oklch(0.28 0.035 40deg) !important;
  border-color: rgba(251, 146, 60, 0.7) !important;
}

/* Footer warmer tones */
.page-footer { background-color: oklch(0.15 0.02 40deg) !important; }
.footer { border-top: 3px solid rgba(251, 146, 60, 0.5) !important; }

/* Filter tabs — active selected items (Labels, Milestones etc.) */
a.item.active.selected,
a.item.active.selected:hover {
  background-color: oklch(0.30 0.07 45deg) !important; /* warm amber/brown */
}

/* Nav bar gradient */
#navbar { border-bottom: 1px solid rgba(251, 146, 60, 0.3); }
.navbar-left.ui.secondary.menu, .navbar-right.ui.secondary.menu {
  background: linear-gradient(180deg, oklch(0.25 0.05 40 / 95%), oklch(0.25 0.05 40 / 70%)) !important;
}

/* Active nav items with fox accent glow */
a.item.active,
a.item.active:hover {
  background-color: rgba(251, 146, 60, 0.1) !important;
}

/* Primary buttons — fox-orange glow */
a.ui.button.primary, a.btn-primary, .issue-list-new { background-color: var(--color-accent) !important; }
a.ui.button.primary:hover, button.btn-primary:hover {
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.6);
}

/* Input focus rings */
input:focus, textarea:focus { box-shadow: 0 0 0 3px rgba(251, 146, 60, 0.2) !important; }

/* Card/panel borders — warm brown tint */
.ui.card, .ui.segment { border-color: rgba(93, 58, 46, 0.4) !important; }

/* Alternating table rows — subtle fox tone */
table tbody tr:nth-child(even) { background-color: rgba(251, 146, 60, 0.03); }

/* Scrollbar warm tones */
::-webkit-scrollbar-thumb { background-color: oklch(0.45 0.08 40deg); border-radius: 4px; }
::-webkit-scrollbar-track { background-color: oklch(0.18 0.025 40deg); }

/* ═══ D3 Activity Heatmap — Fox Palette (override inline styles with warm tones per intensity) ═══ */
/* The chart uses inline style="fill: oklch(L C H)" where L encodes activity level:
   L=0.97 → nearly empty,  L=0.88 → low,  L=0.78 → medium-low,
   L=0.68 → medium,        L=0.58 → high, L=0.48 → highest activity */

/* Intensity mapping: lightest (0.97) = barely-visible warm brown, deepest (0.48) = bright fox orange */
rect.vch__day__square[style*="0.97"],
rect[class*="day__square"][style*="0.97"] { fill: oklch(0.16 0.025 42deg) !important; }
rect.vch__day__square[style*="0.88"],
rect[class*="day__square"][style*="0.88"] { fill: oklch(0.32 0.09 42deg) !important; }
rect.vch__day__square[style*="0.78"],
rect[class*="day__square"][style*="0.78"] { fill: oklch(0.45 0.13 40deg) !important; }
rect.vch__day__square[style*="0.68"],
rect[class*="day__square"][style*="0.68"] { fill: oklch(0.55 0.15 42deg) !important; }
rect.vch__day__square[style*="0.58"],
rect[class*="day__square"][style*="0.58"] { fill: oklch(0.67 0.16 40deg) !important; }
rect.vch__day__square[style*="0.48"],
rect[class*="day__square"][style*="0.48"] { fill: oklch(0.72 0.18 38deg) !important; }
/* D3 fallback - no longer used */
