/*
 * Gitea Halloween Night
 * A dark, pumpkin-orange and witch-violet theme for Gitea.
 * Install at: $GITEA_CUSTOM/public/assets/css/theme-halloween.css
 * Intended for modern Gitea versions (1.24+); older versions may vary.
 */

gitea-theme-meta-info {
  --theme-display-name: "Halloween Night";
  --theme-color-scheme: "dark";
}

:root {
  --is-dark-theme: true;
  color-scheme: dark;

  /* Pumpkin: links, primary actions, focus and highlights. */
  --color-primary: #f59a39;
  --color-primary-contrast: #231421;
  --color-primary-dark-1: #ffaa53;
  --color-primary-dark-2: #ffb969;
  --color-primary-dark-3: #ffc781;
  --color-primary-dark-4: #ffd599;
  --color-primary-dark-5: #ffe2b8;
  --color-primary-dark-6: #fff0d9;
  --color-primary-dark-7: #fff8ee;
  --color-primary-light-1: #e6842d;
  --color-primary-light-2: #ce7026;
  --color-primary-light-3: #a85a24;
  --color-primary-light-4: #7d431f;
  --color-primary-light-5: #54301f;
  --color-primary-light-6: #36231f;
  --color-primary-light-7: #211821;
  --color-primary-alpha-10: #f59a391a;
  --color-primary-alpha-20: #f59a3933;
  --color-primary-alpha-30: #f59a394d;
  --color-primary-alpha-40: #f59a3966;
  --color-primary-alpha-50: #f59a3980;
  --color-primary-alpha-60: #f59a3999;
  --color-primary-alpha-70: #f59a39b3;
  --color-primary-alpha-80: #f59a39cc;
  --color-primary-alpha-90: #f59a39e6;
  --color-primary-hover: var(--color-primary-dark-1);
  --color-primary-active: var(--color-primary-light-1);

  /* Twilight violet: secondary surfaces and separators. */
  --color-secondary: #3a2a49;
  --color-secondary-dark-1: #473454;
  --color-secondary-dark-2: #553f63;
  --color-secondary-dark-3: #644c71;
  --color-secondary-dark-4: #735b80;
  --color-secondary-dark-5: #846e8e;
  --color-secondary-dark-6: #94809f;
  --color-secondary-dark-7: #a594ae;
  --color-secondary-dark-8: #b6a7be;
  --color-secondary-dark-9: #c6bacc;
  --color-secondary-dark-10: #d3c9d8;
  --color-secondary-dark-11: #e0d8e3;
  --color-secondary-dark-12: #ede8ef;
  --color-secondary-dark-13: #f7f3f8;
  --color-secondary-light-1: #30223e;
  --color-secondary-light-2: #291d35;
  --color-secondary-light-3: #21172d;
  --color-secondary-light-4: #191221;
  --color-secondary-alpha-10: #3a2a491a;
  --color-secondary-alpha-20: #3a2a4933;
  --color-secondary-alpha-30: #3a2a494d;
  --color-secondary-alpha-40: #3a2a4966;
  --color-secondary-alpha-50: #3a2a4980;
  --color-secondary-alpha-60: #3a2a4999;
  --color-secondary-alpha-70: #3a2a49b3;
  --color-secondary-alpha-80: #3a2a49cc;
  --color-secondary-alpha-90: #3a2a49e6;
  --color-secondary-button: var(--color-secondary-dark-3);
  --color-secondary-hover: var(--color-secondary-dark-2);
  --color-secondary-active: var(--color-secondary-dark-1);

  /* Named semantic colors, kept distinguishable from the orange accent. */
  --color-red: #ec6874;
  --color-orange: #f59a39;
  --color-yellow: #efc86d;
  --color-olive: #aac66d;
  --color-green: #96cc8b;
  --color-teal: #7dcab7;
  --color-blue: #92bdf3;
  --color-violet: #b69af5;
  --color-purple: #c6a1eb;
  --color-pink: #ee9cc9;
  --color-brown: #c49373;
  --color-black: #16101d;
  --color-grey: #7f708d;
  --color-grey-light: #aa9db7;
  --color-gold: #e8b860;
  --color-white: #ffffff;
  --color-red-light: #ff8b93;
  --color-orange-light: #ffb86c;
  --color-yellow-light: #ffde9a;
  --color-olive-light: #c6d992;
  --color-green-light: #b5e1aa;
  --color-teal-light: #9ee5d0;
  --color-blue-light: #b1d2fa;
  --color-violet-light: #cfb9ff;
  --color-purple-light: #dec0f4;
  --color-pink-light: #f7b9da;
  --color-brown-light: #d9b59a;
  --color-black-light: #44384f;
  --color-red-dark-1: #cf4e5b;
  --color-orange-dark-1: #d87821;
  --color-yellow-dark-1: #c5a043;
  --color-olive-dark-1: #8aa448;
  --color-green-dark-1: #6aa95e;
  --color-teal-dark-1: #54ae9b;
  --color-blue-dark-1: #709fdb;
  --color-violet-dark-1: #9674dc;
  --color-purple-dark-1: #a77fce;
  --color-pink-dark-1: #d574a9;
  --color-brown-dark-1: #9f6c50;
  --color-black-dark-1: #100c16;
  --color-red-dark-2: #ad3948;
  --color-orange-dark-2: #b95d16;
  --color-yellow-dark-2: #a48232;
  --color-olive-dark-2: #6d8535;
  --color-green-dark-2: #508844;
  --color-teal-dark-2: #378c7b;
  --color-blue-dark-2: #527db6;
  --color-violet-dark-2: #7655ba;
  --color-purple-dark-2: #865aa8;
  --color-pink-dark-2: #b65386;
  --color-brown-dark-2: #7d4f36;
  --color-black-dark-2: #0b0810;

  /* Backgrounds and typography. */
  --color-body: #15101d;
  --color-box-header: #24192f;
  --color-box-body: #1b1425;
  --color-box-body-highlight: #2b2036;
  --color-text-dark: #fff5e7;
  --color-text: #eee5f2;
  --color-text-light: #d8cadd;
  --color-text-light-1: #c0b0cb;
  --color-text-light-2: #ac9aba;
  --color-text-light-3: #9683a7;
  --color-text-hover: #fff4df;
  --color-text-focus: #ffffff;
  --color-footer: #140e1c;
  --color-timeline: #45334f;
  --color-input-text: #fff1e5;
  --color-input-background: #1a1323;
  --color-input-toggle-background: #3a2a49;
  --color-input-border: #574166;
  --color-input-border-hover: #a67fb2;
  --color-placeholder-text: #a28eb0;
  --color-caret: #f59a39;

  /* Menus, cards, hover, labels and code panels. */
  --color-nav-bg: #1a1125;
  --color-nav-hover-bg: #34223d;
  --color-nav-text: #f1e5f3;
  --color-secondary-nav-bg: #20172b;
  --color-navbar: #1a1125;
  --color-navbar-transparent: #1a1125;
  --color-menu: #21172d;
  --color-card: #20162a;
  --color-button: #31213d;
  --color-secondary-bg: #2a1d36;
  --color-light: #ffffff0b;
  --color-light-border: #e8cdff26;
  --color-hover: #d7a9ff16;
  --color-hover-opaque: #30223c;
  --color-active: #f59a3926;
  --color-markup-table-row: #cba5f00d;
  --color-markup-code-block: #0f0c18;
  --color-markup-code-inline: #b998df27;
  --color-code-bg: #120e1b;
  --color-code-sidebar-bg: #1c1425;
  --color-shadow: #03000888;
  --color-shadow-opaque: #050209;
  --color-expand-button: #382644;
  --color-editor-line-highlight: #3b2633;
  --color-project-board-bg: #15101d;
  --color-project-column-bg: #21182c;
  --color-reaction-bg: #ffb15b13;
  --color-reaction-hover-bg: #f59a392b;
  --color-reaction-active-bg: #f59a3940;
  --color-header-bar: #24192f;
  --color-label-text: #f4eaf6;
  --color-label-bg: #8d6a9e55;
  --color-label-hover-bg: #8d6a9e88;
  --color-label-active-bg: #8d6a9eb8;
  --color-label-active: #b6a1c6;
  --color-accent: #f59a39;
  --color-small-accent: #6a453b;
  --color-tooltip-bg: #100c19f5;
  --color-tooltip-text: #fff3e7;
  --color-highlight-fg: #ffe9bf;
  --color-highlight-bg: #71411b;
  --color-overlay-backdrop: #07030bc9;
  --color-workflow-edge-hover: #d69b64;
  --color-transparency-grid-light: #32273a;
  --color-transparency-grid-dark: #20182a;
  --color-logo: #f59a39;
  --color-git: #ed7240;

  /* Alerts and readable, conventional diff colors. */
  --color-diff-added-fg: #a3dfa0;
  --color-diff-added-linenum-bg: #223a2b;
  --color-diff-added-row-bg: #1b3025;
  --color-diff-added-row-border: #345b40;
  --color-diff-added-word-bg: #325b3b;
  --color-diff-moved-row-bg: #41402a;
  --color-diff-moved-row-border: #887e45;
  --color-diff-removed-fg: #ff9ca6;
  --color-diff-removed-linenum-bg: #492530;
  --color-diff-removed-row-bg: #361d29;
  --color-diff-removed-row-border: #764552;
  --color-diff-removed-word-bg: #733747;
  --color-diff-inactive: #241c2c;
  --color-error-border: #8f3c51;
  --color-error-bg: #3b1d2b;
  --color-error-bg-hover: #522434;
  --color-error-bg-active: #642939;
  --color-error-text: #ffb1b8;
  --color-success-border: #4b8152;
  --color-success-bg: #1a3428;
  --color-success-text: #b8e8ad;
  --color-warning-border: #a57939;
  --color-warning-bg: #3b2a1f;
  --color-warning-text: #ffdaa2;
  --color-info-border: #675392;
  --color-info-bg: #261f3a;
  --color-info-text: #cfb6fb;
  --color-danger: var(--color-red);
  --color-red-badge: #f06c76;
  --color-red-badge-bg: #f06c761a;
  --color-red-badge-hover-bg: #f06c764d;
  --color-green-badge: #8ecb7b;
  --color-green-badge-bg: #8ecb7b1a;
  --color-green-badge-hover-bg: #8ecb7b4d;
  --color-yellow-badge: #f0c66f;
  --color-yellow-badge-bg: #f0c66f1a;
  --color-yellow-badge-hover-bg: #f0c66f4d;
  --color-orange-badge: #f59a39;
  --color-orange-badge-bg: #f59a391a;
  --color-orange-badge-hover-bg: #f59a394d;

  /* Actions terminal/ANSI palette. */
  --color-console-bg: #110d18;
  --color-console-fg: #f4ebf3;
  --color-console-fg-subtle: #bfafc9;
  --color-console-border: #42304e;
  --color-console-hover-bg: #261a30;
  --color-console-active-bg: #362441;
  --color-console-menu-bg: #211729;
  --color-console-menu-border: #574166;
  --color-console-link: #ffc17e;
  --color-ansi-black: #17111e;
  --color-ansi-red: #ef7480;
  --color-ansi-green: #99d88c;
  --color-ansi-yellow: #f1cb78;
  --color-ansi-blue: #96bef1;
  --color-ansi-magenta: #c8a2ef;
  --color-ansi-cyan: #81d4c3;
  --color-ansi-white: #d9cde0;
  --color-ansi-bright-black: #766782;
  --color-ansi-bright-red: #ff9ba4;
  --color-ansi-bright-green: #b0e6aa;
  --color-ansi-bright-yellow: #ffe0a3;
  --color-ansi-bright-blue: #b7d6ff;
  --color-ansi-bright-magenta: #e2c2ff;
  --color-ansi-bright-cyan: #a5f0dc;
  --color-ansi-bright-white: #fff6ef;

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

/* Subtle haunted-night atmosphere, without obscuring navigation. */
#navbar, .ui.top.menu {
  background-image: linear-gradient(110deg, #1a1024 15%, #28172e 73%, #3a222c 100%);
  border-bottom-color: #674025;
}

/* Focus indicators are more important than decoration. */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid #ffb567;
  outline-offset: 2px;
}

/* Pumpkin-glow primary actions, with restrained shadows. */
.ui.primary.button:not(.basic),
.ui.primary.buttons .button:not(.basic) {
  background-color: #f59a39;
  color: #231421;
  box-shadow: 0 1px 0 #ffca79 inset;
}
.ui.primary.button:not(.basic):hover,
.ui.primary.buttons .button:not(.basic):hover {
  background-color: #ffae53;
  color: #231421;
}

/* Source listings: syntax highlighting tuned for violet backgrounds. */
.chroma { color: #eadff0; background: var(--color-code-bg); }
.chroma .c, .chroma .c1, .chroma .cm, .chroma .cs, .chroma .sd { color: #9786a5; }
.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr,
.chroma .kt { color: #d0a4fc; }
.chroma .nf, .chroma .fm, .chroma .na, .chroma .nb,
.chroma .nc, .chroma .nn { color: #ffc179; }
.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb,
.chroma .sc, .chroma .sh, .chroma .si, .chroma .sr, .chroma .ss { color: #b6df9b; }
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh,
.chroma .mi, .chroma .mo, .chroma .il { color: #efbe89; }
.chroma .o, .chroma .ow, .chroma .p { color: #dfb0fa; }
.chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi { color: #a4c7ff; }
.chroma .err { color: #ff9ca6; }

/* Editing areas: dark fallback for CodeMirror-based editors. */
.CodeMirror { background: #130f1c; color: #eee5f2; }
.CodeMirror-gutters { background: #1a1424; border-right-color: #44304d; }
.CodeMirror-linenumber { color: #9a86a8; }
.CodeMirror-cursor { border-left-color: #f59a39; }
.CodeMirror-activeline-background { background: #342139; }
.CodeMirror-selected, .CodeMirror-focused .CodeMirror-selected { background: #573c58; }

/* Native scrolling widgets and selection styling. */
::selection { background: #8a4c38; color: #fff7ed; }
:root { scrollbar-color: #634a6d #1a1424; }

@media (prefers-reduced-motion: reduce) {
  .ui.primary.button, .ui.primary.buttons .button { transition: none; }
}
