/* =========================================================
   Neon Noir — Thème Forgejo pour Nerdistan.dev
   Palette : rice neon-noir (avril 2026)
   Cyan #00d4ff / Violet #9d4eff / Rose #ff2d78
   Amber #ffaa00 / Vert #00ff9f / Fond #0d0f18
   ========================================================= */

/* Syntax highlighting — Chroma (Neon Noir) */
.chroma .bp{color:#8892aa}
.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#4a537a;font-style:italic}
.chroma .cp{color:#00ff9f}
.chroma .cpf{color:#00d4ff}
.chroma .cs{color:#9d4eff}
.chroma .dl{color:#ffaa00}
.chroma .gd{color:#ff2d78;background-color:#2a0d1a}
.chroma .ge{color:#cdd6f4;font-style:italic}
.chroma .gh{color:#00d4ff;font-weight:bold}
.chroma .gi{color:#00ff9f;background-color:#0d2a1a}
.chroma .go{color:#8892aa}
.chroma .gp{color:#cdd6f4}
.chroma .gr{color:#ff2d78}
.chroma .gs{color:#cdd6f4;font-weight:bold}
.chroma .gt{color:#ffaa00}
.chroma .gu{color:#9d4eff}
.chroma .il{color:#00d4ff}
.chroma .k{color:#9d4eff;font-weight:bold}
.chroma .kc{color:#00d4ff}
.chroma .kd{color:#9d4eff}
.chroma .kn{color:#ff2d78}
.chroma .kp{color:#00ff9f}
.chroma .kr{color:#9d4eff}
.chroma .kt{color:#00ff9f}
.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#00d4ff}
.chroma .n{color:#cdd6f4}
.chroma .na,.chroma .nb{color:#00d4ff}
.chroma .nc{color:#00ff9f}
.chroma .nd{color:#9d4eff}
.chroma .ne{color:#ff2d78}
.chroma .nf,.chroma .ni{color:#00d4ff}
.chroma .nl{color:#9d4eff}
.chroma .nn{color:#cdd6f4}
.chroma .no{color:#00d4ff}
.chroma .nt{color:#ff2d78}
.chroma .nv{color:#cdd6f4}
.chroma .nx{color:#b8c0d4}
.chroma .o{color:#9d4eff}
.chroma .ow{color:#00ff9f}
.chroma .p{color:#cdd6f4}
.chroma .s,.chroma .s1,.chroma .s2{color:#ffaa00}
.chroma .sa{color:#ff2d78}
.chroma .sb{color:#ffaa00}
.chroma .sc{color:#ffaa00}
.chroma .sd{color:#8892aa;font-style:italic}
.chroma .se{color:#ff2d78}
.chroma .sh{color:#ffaa00}
.chroma .si{color:#ff2d78}
.chroma .sr{color:#00ff9f}
.chroma .ss{color:#ffaa00}
.chroma .sx{color:#ffaa00}
.chroma .vc,.chroma .vg,.chroma .vi{color:#00d4ff}
.chroma .w{color:#2a2f4a}

/* Hide light-mode images in markup */
.markup [src$="#gh-light-mode-only"],
.markup [src$="#light-mode-only"],
.markup [href$="#gh-light-mode-only"],
.markup [href$="#light-mode-only"]{display:none}
.markup [src$="#gh-dark-mode-only"],
.markup [src$="#dark-mode-only"],
.markup [href$="#gh-dark-mode-only"],
.markup [href$="#dark-mode-only"]{display:unset}

/* =========================================================
   PALETTE DE BASE — Nerdistan dark scale
   ========================================================= */
:root {
  /* Nerdistan dark scale (analogie steel-* dans forgejo-dark) */
  --nerd-950: #060810;
  --nerd-900: #0a0c14;
  --nerd-850: #0d0f18;
  --nerd-800: #0f111a;
  --nerd-750: #131520;
  --nerd-700: #1a1d2e;
  --nerd-650: #1e2235;
  --nerd-600: #22263d;
  --nerd-550: #262b42;
  --nerd-500: #2a2f4a;
  --nerd-450: #2e3554;
  --nerd-400: #323a60;
  --nerd-350: #4a537a;
  --nerd-300: #6b748f;
  --nerd-250: #8892aa;
  --nerd-200: #9da8c0;
  --nerd-150: #b8c0d4;
  --nerd-100: #cdd6f4;

  /* Flag dark theme */
  --is-dark-theme: true;

  /* -------------------------------------------------------
     PRIMARY — Cyan #00d4ff
     dark-* = plus lumineux (visible sur fond sombre)
     light-* = plus sombre/saturé
     ------------------------------------------------------- */
  --color-primary: #00d4ff;
  --color-primary-contrast: #000000;

  --color-primary-dark-1: #33dcff;
  --color-primary-dark-2: #4de0ff;
  --color-primary-dark-3: #66e5ff;
  --color-primary-dark-4: #80eaff;
  --color-primary-dark-5: #99efff;
  --color-primary-dark-6: #b3f4ff;
  --color-primary-dark-7: #ccf8ff;

  --color-primary-light-1: #00bde6;
  --color-primary-light-2: #00a5cc;
  --color-primary-light-3: #008eb2;
  --color-primary-light-4: #007699;
  --color-primary-light-5: #005f80;
  --color-primary-light-6: #004060;
  --color-primary-light-7: #002040;

  --color-primary-alpha-10: #00d4ff1a;
  --color-primary-alpha-20: #00d4ff33;
  --color-primary-alpha-30: #00d4ff4d;
  --color-primary-alpha-40: #00d4ff66;
  --color-primary-alpha-50: #00d4ff80;
  --color-primary-alpha-60: #00d4ff99;
  --color-primary-alpha-70: #00d4ffb3;
  --color-primary-alpha-80: #00d4ffcc;
  --color-primary-alpha-90: #00d4ffe6;

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

  /* -------------------------------------------------------
     SECONDARY — surfaces UI (dark blue-indigo scale)
     ------------------------------------------------------- */
  --color-secondary: var(--nerd-700);
  --color-secondary-dark-1: var(--nerd-550);
  --color-secondary-dark-2: var(--nerd-500);
  --color-secondary-dark-3: var(--nerd-450);
  --color-secondary-dark-4: var(--nerd-400);
  --color-secondary-dark-5: var(--nerd-350);
  --color-secondary-dark-6: var(--nerd-300);
  --color-secondary-dark-7: var(--nerd-250);
  --color-secondary-dark-8: var(--nerd-200);
  --color-secondary-dark-9: var(--nerd-150);
  --color-secondary-dark-10: var(--nerd-100);
  --color-secondary-dark-11: var(--nerd-100);
  --color-secondary-dark-12: var(--nerd-100);
  --color-secondary-dark-13: var(--nerd-100);

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

  --color-secondary-alpha-10: #1a1d2e1a;
  --color-secondary-alpha-20: #1a1d2e33;
  --color-secondary-alpha-30: #1a1d2e4d;
  --color-secondary-alpha-40: #1a1d2e66;
  --color-secondary-alpha-50: #1a1d2e80;
  --color-secondary-alpha-60: #1a1d2e99;
  --color-secondary-alpha-70: #1a1d2eb3;
  --color-secondary-alpha-80: #1a1d2ecc;
  --color-secondary-alpha-90: #1a1d2ee6;

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

  /* -------------------------------------------------------
     CONSOLE / TERMINAL (actions logs)
     ------------------------------------------------------- */
  --color-console-fg: #cdd6f4;
  --color-console-fg-subtle: #8892aa;
  --color-console-bg: #0d0f18;
  --color-console-border: #2a2f4a;
  --color-console-hover-bg: #00d4ff16;
  --color-console-active-bg: #2a2f4a;
  --color-console-menu-bg: #1a1d2e;
  --color-console-menu-border: #2a2f4a;

  /* -------------------------------------------------------
     COULEURS STATUT
     ------------------------------------------------------- */
  /* Rouge / Erreur → Rose Neon Noir */
  --color-red: #c8154e;
  --color-orange: #cc8800;
  --color-yellow: #b89400;
  --color-olive: #6a8000;
  --color-green: #008c55;
  --color-teal: #009990;
  --color-blue: #1a6ee0;
  --color-violet: #7b2fff;
  --color-purple: #9d4eff;
  --color-pink: #cc1a5f;
  --color-brown: #8c6040;
  --color-grey: var(--nerd-500);
  --color-black: #0d0f18;

  /* Variantes light (pour affichage sur fond sombre) */
  --color-red-light: #ff2d78;
  --color-orange-light: #ffaa00;
  --color-yellow-light: #ffe040;
  --color-olive-light: #aacc00;
  --color-green-light: #00ff9f;
  --color-teal-light: #00e0d0;
  --color-blue-light: #00d4ff;
  --color-violet-light: #9d4eff;
  --color-purple-light: #b067ff;
  --color-pink-light: #ff2d78;
  --color-brown-light: #b08060;
  --color-grey-light: var(--nerd-300);
  --color-black-light: #131520;

  /* Variantes dark-1 */
  --color-red-dark-1: #a81042;
  --color-orange-dark-1: #aa7200;
  --color-yellow-dark-1: #9a7c00;
  --color-olive-dark-1: #567000;
  --color-green-dark-1: #007044;
  --color-teal-dark-1: #007a72;
  --color-blue-dark-1: #1258c0;
  --color-violet-dark-1: #6320d0;
  --color-purple-dark-1: #8519e7;
  --color-pink-dark-1: #aa1450;
  --color-brown-dark-1: #7a5030;
  --color-black-dark-1: #0a0c14;

  /* Variantes dark-2 */
  --color-red-dark-2: #880c36;
  --color-orange-dark-2: #8c6000;
  --color-yellow-dark-2: #806800;
  --color-olive-dark-2: #405800;
  --color-green-dark-2: #005833;
  --color-teal-dark-2: #006058;
  --color-blue-dark-2: #0a40a0;
  --color-violet-dark-2: #4e14b0;
  --color-purple-dark-2: #6a0cc4;
  --color-pink-dark-2: #8c1040;
  --color-brown-dark-2: #604020;
  --color-black-dark-2: #060810;

  /* -------------------------------------------------------
     ANSI (terminal dans les logs CI)
     ------------------------------------------------------- */
  --color-ansi-black: #131520;
  --color-ansi-red: #ff2d78;
  --color-ansi-green: #00ff9f;
  --color-ansi-yellow: #ffaa00;
  --color-ansi-blue: #00d4ff;
  --color-ansi-magenta: #9d4eff;
  --color-ansi-cyan: #00e8d0;
  --color-ansi-white: var(--color-console-fg-subtle);
  --color-ansi-bright-black: #2a2f4a;
  --color-ansi-bright-red: #ff5590;
  --color-ansi-bright-green: #33ffb5;
  --color-ansi-bright-yellow: #ffcc33;
  --color-ansi-bright-blue: #33dcff;
  --color-ansi-bright-magenta: #b380ff;
  --color-ansi-bright-cyan: #00f0e0;
  --color-ansi-bright-white: var(--color-console-fg);

  /* -------------------------------------------------------
     MISC
     ------------------------------------------------------- */
  --color-gold: #cc9900;
  --color-white: #ffffff;
  --color-pure-black: #000000;

  /* -------------------------------------------------------
     DIFF
     ------------------------------------------------------- */
  --color-diff-removed-word-bg: #4a0d20;
  --color-diff-added-word-bg: #0d3a22;
  --color-diff-removed-row-bg: #2a0812;
  --color-diff-moved-row-bg: #3a2800;
  --color-diff-added-row-bg: #082010;
  --color-diff-removed-row-border: #6a1030;
  --color-diff-moved-row-border: #7a5800;
  --color-diff-added-row-border: #0d5028;
  --color-diff-inactive: var(--nerd-650);

  /* -------------------------------------------------------
     ALERTES / MESSAGES
     ------------------------------------------------------- */
  --color-error-border: #6a1030;
  --color-error-bg: #3a0820;
  --color-error-bg-active: #6a1030;
  --color-error-bg-hover: #6a1030;
  --color-error-text: #ffb0cc;

  --color-success-border: #0d5028;
  --color-success-bg: #082010;
  --color-success-text: #80ffc0;

  --color-warning-border: #7a5800;
  --color-warning-bg: #3a2800;
  --color-warning-text: #ffe080;

  --color-info-border: #005f99;
  --color-info-bg: #001a3a;
  --color-info-text: #80e8ff;

  /* -------------------------------------------------------
     BADGES
     ------------------------------------------------------- */
  --color-red-badge: #ff2d78;
  --color-red-badge-bg: #ff2d7822;
  --color-red-badge-hover-bg: #ff2d7844;
  --color-green-badge: #00ff9f;
  --color-green-badge-bg: #00ff9f22;
  --color-green-badge-hover-bg: #00ff9f44;
  --color-yellow-badge: #ffaa00;
  --color-yellow-badge-bg: #ffaa0022;
  --color-yellow-badge-hover-bg: #ffaa0044;
  --color-orange-badge: #ff7a00;
  --color-orange-badge-bg: #ff7a0022;
  --color-orange-badge-hover-bg: #ff7a0044;

  /* -------------------------------------------------------
     THIN / BG CHROMA (oklch accents)
     ------------------------------------------------------- */
  --thin-lightness: .70;
  --regular-chroma: .18;
  --color-thin-green: oklch(var(--thin-lightness) var(--regular-chroma) 155deg);
  --color-thin-red: oklch(var(--thin-lightness) var(--regular-chroma) 340deg);
  --color-thin-purple: oklch(var(--thin-lightness) var(--regular-chroma) 290deg);
  --color-thin-orange: oklch(var(--thin-lightness) var(--regular-chroma) 48deg);
  --thin-lightness-highlight: .78;
  --color-thin-red-highlight: oklch(var(--thin-lightness-highlight) var(--regular-chroma) 340deg);
  --bg-lightness: .18;
  --bg-chroma: .04;
  --color-danger-bg: oklch(var(--bg-lightness) var(--bg-chroma) 340deg);

  /* -------------------------------------------------------
     COMPOSANTS UI
     ------------------------------------------------------- */
  --color-body: var(--nerd-850);
  --color-box-header: var(--nerd-700);
  --color-box-body: var(--nerd-750);
  --color-box-body-highlight: var(--nerd-650);

  --color-text-dark: #ffffff;
  --color-text: var(--nerd-100);
  --color-text-light: var(--nerd-150);
  --color-text-light-1: var(--nerd-150);
  --color-text-light-2: var(--nerd-200);
  --color-text-light-3: var(--nerd-250);

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

  --color-input-text: var(--nerd-100);
  --color-input-background: var(--nerd-650);
  --color-input-toggle-background: var(--nerd-650);
  --color-input-border: var(--nerd-500);
  --color-input-border-hover: var(--nerd-400);

  --color-header-wrapper: var(--nerd-850);
  --color-header-wrapper-transparent: #0d0f1800;

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

  --color-hover: var(--nerd-600);
  --color-active: var(--nerd-650);
  --color-menu: var(--nerd-700);
  --color-card: var(--nerd-700);
  --fancy-card-bg: var(--nerd-650);
  --fancy-card-border: var(--nerd-600);

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

  --color-button: var(--nerd-600);
  --color-code-bg: var(--nerd-750);
  --color-shadow: #00000070;
  --color-secondary-bg: var(--nerd-700);

  --color-text-focus: #ffffff;
  --color-expand-button: var(--nerd-550);
  --color-placeholder-text: var(--color-text-light-3);
  --color-editor-line-highlight: var(--nerd-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: #ffffff10;
  --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: #060810f0;

  --color-nav-bg: var(--nerd-900);
  --color-nav-hover-bg: var(--nerd-600);
  --color-nav-text: var(--color-text);
  --color-secondary-nav-bg: var(--color-body);

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

  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-highlight-fg: var(--color-primary-dark-4);
  --color-highlight-bg: var(--color-primary-alpha-20);

  --color-overlay-backdrop: #06081090;

  --checkerboard-color-1: #2a2f4a;
  --checkerboard-color-2: #1a1d2e;

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

/* =========================================================
   OVERRIDES UI — touches neon
   ========================================================= */

/* Sélection de texte : fond cyan, texte noir */
::selection {
  background: var(--nerd-100) !important;
  color: var(--color-pure-black) !important;
}

/* Navbar — bordure basse cyan subtile */
.page-header-wrapper,
#navbar,
.navbar {
  border-bottom: 1px solid rgba(0, 212, 255, 0.18) !important;
  box-shadow: 0 1px 12px rgba(0, 212, 255, 0.06) !important;
}

/* Bouton primary — fond cyan, texte noir */
.ui.button.primary,
.ui.primary.button {
  background-color: var(--color-primary) !important;
  color: #000000 !important;
}
.ui.button.primary:hover,
.ui.primary.button:hover {
  background-color: var(--color-primary-dark-1) !important;
}
.ui.button.primary:active,
.ui.primary.button:active {
  background-color: var(--color-primary-light-1) !important;
}

/* Liens — cyan */
a, .link {
  color: var(--color-primary);
}
a:hover, .link:hover {
  color: var(--color-primary-dark-1);
}

/* Focus ring — cyan glow */
:focus-visible {
  outline: 2px solid rgba(0, 212, 255, 0.7) !important;
  outline-offset: 2px !important;
}

/* Input focus — bordure cyan */
.ui.input input:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.2) !important;
}

/* Labels primary */
.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;
}

/* Compteur review */
#review-box .review-comments-counter {
  background-color: var(--color-shadow) !important;
  color: var(--color-white) !important;
  margin-left: .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;
}

/* Icônes grises */
i.grey.icon.icon.icon.icon {
  color: var(--nerd-350) !important;
}

/* Menu vertical secondaire */
.ui.secondary.vertical.menu {
  border-radius: .28571429rem !important;
  overflow: hidden;
}

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

/* Bouton rouge basique */
.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);
}

/* Attention callouts */
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); }

/* Fil d'ariane / breadcrumb */
.breadcrumb .divider {
  color: var(--nerd-350) !important;
}

/* Barre de progression — cyan */
progress::-webkit-progress-value,
.progress .bar {
  background: linear-gradient(90deg, var(--color-primary-light-2), var(--color-primary)) !important;
}

/* Tags / Topics repos */
.label.topic {
  background-color: var(--color-primary-alpha-20) !important;
  color: var(--color-primary-dark-1) !important;
  border: 1px solid var(--color-primary-alpha-40) !important;
}

/* Ligne de timeline — violet subtil */
.ui.feed .event .label::before {
  background-color: var(--nerd-500) !important;
}

/* Scrollbar custom (webkit) */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--nerd-850);
}
::-webkit-scrollbar-thumb {
  background: var(--nerd-500);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 212, 255, 0.4);
}
