@import url("/assets/css/theme-forgejo-dark.css");
/* =========================================================================
   Wolfyz Forge — Theme dark gold
   Override des variables CSS Forgejo pour un thème noir + accents dorés.
   ========================================================================= */

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
  }
}

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

  /* ── Couleurs primaires (Wolfyz Gold) ─────────────────────────────── */
  --color-primary:           #f5c518;
  --color-primary-contrast:  #0a0a0a;
  --color-primary-dark-1:    #e0b315;
  --color-primary-dark-2:    #cba113;
  --color-primary-dark-3:    #b68f10;
  --color-primary-dark-4:    #a17d0e;
  --color-primary-dark-5:    #8c6b0b;
  --color-primary-dark-6:    #785909;
  --color-primary-dark-7:    #634706;
  --color-primary-light-1:   #f6cc34;
  --color-primary-light-2:   #f7d350;
  --color-primary-light-3:   #f9da6c;
  --color-primary-light-4:   #fae188;
  --color-primary-light-5:   #fbe8a4;
  --color-primary-light-6:   #fcefc0;
  --color-primary-light-7:   #fdf6dc;
  --color-primary-alpha-10:  #f5c5181a;
  --color-primary-alpha-20:  #f5c51833;
  --color-primary-alpha-30:  #f5c5184d;
  --color-primary-alpha-40:  #f5c51866;
  --color-primary-alpha-50:  #f5c51880;
  --color-primary-alpha-60:  #f5c51899;
  --color-primary-alpha-70:  #f5c518b3;
  --color-primary-alpha-80:  #f5c518cc;
  --color-primary-alpha-90:  #f5c518e6;
  --color-primary-hover:     #f6cc34;
  --color-primary-active:    #d4a017;

  /* ── Background / surfaces ────────────────────────────────────────── */
  --color-body:                  #0a0a0a;
  --color-box-body:              #131313;
  --color-box-body-highlight:    #1a1a1a;
  --color-box-header:            #1a1a1a;
  --color-page-content:          #0a0a0a;
  --color-menu:                  #131313;
  --color-card:                  #131313;
  --color-markup-table-row:      #131313;
  --color-markup-code-block:     #1a1a1a;
  --color-button:                #1a1a1a;
  --color-code-bg:               #1a1a1a;
  --color-code-border:           #2a2a2a;
  --color-shadow:                rgba(0, 0, 0, 0.5);
  --color-secondary:             #2a2a2a;
  --color-secondary-bg:          #1a1a1a;
  --color-secondary-light-1:     #353535;
  --color-secondary-light-2:     #404040;
  --color-secondary-light-3:     #4b4b4b;
  --color-secondary-light-4:     #555555;
  --color-secondary-dark-1:      #222222;
  --color-secondary-dark-2:      #1a1a1a;
  --color-secondary-dark-3:      #131313;
  --color-secondary-dark-4:      #0a0a0a;
  --color-secondary-alpha-10:    #2a2a2a1a;
  --color-secondary-alpha-20:    #2a2a2a33;
  --color-secondary-alpha-30:    #2a2a2a4d;
  --color-secondary-alpha-40:    #2a2a2a66;
  --color-secondary-alpha-50:    #2a2a2a80;
  --color-secondary-alpha-60:    #2a2a2a99;
  --color-secondary-alpha-70:    #2a2a2ab3;
  --color-secondary-alpha-80:    #2a2a2acc;
  --color-secondary-alpha-90:    #2a2a2ae6;

  /* ── Bordures ─────────────────────────────────────────────────────── */
  --color-border:                #2a2a2a;
  --color-border-secondary:      #3a3a3a;
  --color-light-border:          #2a2a2a;
  --color-input-border:          #2a2a2a;
  --color-input-border-hover:    rgba(245, 197, 24, 0.4);

  /* ── Texte ────────────────────────────────────────────────────────── */
  --color-text:                  #e8e8e8;
  --color-text-light:            #b8b8b8;
  --color-text-light-1:          #a0a0a0;
  --color-text-light-2:          #888888;
  --color-text-light-3:          #707070;
  --color-text-dark:             #ffffff;

  /* ── Liens ────────────────────────────────────────────────────────── */
  --color-link:                  #f5c518;
  --color-link-hover:            #f6cc34;
  --color-link-active:           #d4a017;

  /* ── États ────────────────────────────────────────────────────────── */
  --color-hover:                 rgba(245, 197, 24, 0.08);
  --color-active:                rgba(245, 197, 24, 0.15);
  --color-focus-border:          rgba(245, 197, 24, 0.5);

  /* ── Sémantique ───────────────────────────────────────────────────── */
  --color-red:           #ef4444;
  --color-orange:        #f59e0b;
  --color-yellow:        #f5c518;
  --color-olive:         #84cc16;
  --color-green:         #10b981;
  --color-teal:          #14b8a6;
  --color-blue:          #3b82f6;
  --color-violet:        #8b5cf6;
  --color-purple:        #a855f7;
  --color-pink:          #ec4899;
  --color-brown:         #92400e;
  --color-black:         #0a0a0a;

  --color-success:       #10b981;
  --color-warning:       #f59e0b;
  --color-error:         #ef4444;
  --color-info:          #3b82f6;

  /* ── Navigation ───────────────────────────────────────────────────── */
  --color-nav-bg:                #0f0f0f;
  --color-nav-hover-bg:          #1a1a1a;
  --color-nav-text:              #e8e8e8;
  --color-header-wrapper:        #0f0f0f;
  --color-header-wrapper-transparent: transparent;

  /* ── Footer ───────────────────────────────────────────────────────── */
  --color-footer:                #0a0a0a;
  --color-footer-bg:             #0a0a0a;

  /* ── Boutons ──────────────────────────────────────────────────────── */
  --color-button-bg:             #1a1a1a;
  --color-button-bg-hover:       #2a2a2a;

  /* ── Issue badges (status) ────────────────────────────────────────── */
  --color-red-badge:             #ef4444;
  --color-red-badge-bg:          rgba(239, 68, 68, 0.15);
  --color-red-badge-hover-bg:    rgba(239, 68, 68, 0.25);
  --color-green-badge:           #10b981;
  --color-green-badge-bg:        rgba(16, 185, 129, 0.15);
  --color-green-badge-hover-bg:  rgba(16, 185, 129, 0.25);
  --color-purple-badge:          #a855f7;
  --color-purple-badge-bg:       rgba(168, 85, 247, 0.15);
  --color-purple-badge-hover-bg: rgba(168, 85, 247, 0.25);

  /* ── Diff (commit/PR) ─────────────────────────────────────────────── */
  --color-diff-added-row-bg:        rgba(16, 185, 129, 0.08);
  --color-diff-added-word-bg:       rgba(16, 185, 129, 0.20);
  --color-diff-removed-row-bg:      rgba(239, 68, 68, 0.08);
  --color-diff-removed-word-bg:     rgba(239, 68, 68, 0.20);
  --color-diff-inactive-row-bg:     #131313;
  --color-diff-added-row-border:    rgba(16, 185, 129, 0.20);
  --color-diff-removed-row-border:  rgba(239, 68, 68, 0.20);

  /* ── Calendar / heatmap ──────────────────────────────────────────── */
  --color-cal-empty:        #1a1a1a;
  --color-cal-graph-1:      rgba(245, 197, 24, 0.20);
  --color-cal-graph-2:      rgba(245, 197, 24, 0.40);
  --color-cal-graph-3:      rgba(245, 197, 24, 0.60);
  --color-cal-graph-4:      rgba(245, 197, 24, 0.80);
  --color-cal-graph-5:      rgba(245, 197, 24, 1.00);
}

/* ── Tweaks visuels supplémentaires ──────────────────────────────────── */

body {
  background:
    radial-gradient(circle at 0% 0%, rgba(245, 197, 24, 0.04), transparent 50%),
    radial-gradient(circle at 100% 100%, rgba(245, 197, 24, 0.03), transparent 50%),
    var(--color-body);
}

/* Boutons primaires — gradient doré */
.ui.primary.button,
.ui.primary.buttons .button {
  background: linear-gradient(135deg, #f5c518 0%, #d4a017 100%);
  color: #0a0a0a;
  border: none;
  font-weight: 600;
  transition: transform 0.15s, box-shadow 0.15s;
}
.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
  background: linear-gradient(135deg, #f6cc34 0%, #f5c518 100%);
  color: #0a0a0a;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(245, 197, 24, 0.30);
}

/* Logo navbar — un peu plus de luminosité */
#navbar .brand img,
.full.height > .ui.menu .item.brand img {
  filter: drop-shadow(0 0 8px rgba(245, 197, 24, 0.3));
}

/* Inputs en focus */
input:focus,
textarea:focus,
.ui.input input:focus,
.ui.form input:focus {
  border-color: #f5c518 !important;
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.15) !important;
}

/* Liens */
a:not(.button):not(.item):not(.tab) {
  color: var(--color-link);
}
a:not(.button):not(.item):not(.tab):hover {
  color: var(--color-link-hover);
}

/* Badges/labels colorés — bordure subtile */
.ui.label,
.ui.basic.label {
  border: 1px solid var(--color-border);
}

/* Tables */
.ui.table {
  background: var(--color-box-body);
  border-color: var(--color-border);
}
.ui.table thead th {
  background: var(--color-box-header);
  color: var(--color-text);
  border-bottom: 1px solid var(--color-primary-alpha-30);
}

/* Code blocks */
pre, code {
  background: var(--color-markup-code-block);
  border: 1px solid var(--color-code-border);
}

/* Repo header */
.repository .header-wrapper {
  background:
    linear-gradient(180deg, rgba(245, 197, 24, 0.02), transparent),
    var(--color-page-content);
  border-bottom: 1px solid var(--color-border);
}

/* Active nav item */
.ui.menu .active.item {
  color: var(--color-primary) !important;
  background: var(--color-primary-alpha-10) !important;
}

/* Scrollbar */
* {
  scrollbar-color: rgba(245, 197, 24, 0.3) transparent;
}
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: rgba(245, 197, 24, 0.25);
  border-radius: 5px;
}
*::-webkit-scrollbar-thumb:hover {
  background: rgba(245, 197, 24, 0.45);
}

/* =========================================================================
   Wolfyz Forge — Customisations par page
   À ajouter à la fin de theme-wolfyz-dark.css
   ========================================================================= */

/* ── DASHBOARD (après login) ─────────────────────────────────────────── */
.page-content.dashboard {
    --wf-card-bg: #131313;
    --wf-card-hover: #1a1a1a;
}
.page-content.dashboard .news .item {
    background: var(--wf-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 0.6rem;
    margin-bottom: 0.75rem;
    padding: 1rem;
    transition: border-color 0.15s, transform 0.15s;
}
.page-content.dashboard .news .item:hover {
    border-color: var(--color-primary-alpha-30);
    transform: translateX(2px);
}
.page-content.dashboard .heatmap {
    background: var(--wf-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 0.6rem;
    padding: 1rem;
}
.page-content.dashboard .feed .item {
    border-left: 2px solid transparent;
    transition: border-color 0.15s, padding-left 0.15s;
}
.page-content.dashboard .feed .item:hover {
    border-left-color: var(--color-primary);
    padding-left: 0.5rem;
}

/* ── USER PROFILE ────────────────────────────────────────────────────── */
.page-content.user.profile #profile-avatar {
    border: 3px solid var(--color-primary);
    box-shadow: 0 0 30px rgba(245, 197, 24, 0.25);
    border-radius: 50%;
}
.page-content.user.profile .profile-avatar-name {
    background: linear-gradient(135deg, var(--color-text) 0%, var(--color-primary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.page-content.user.profile .ui.repository.list .item {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    margin-bottom: 0.6rem;
    transition: border-color 0.15s, transform 0.15s;
}
.page-content.user.profile .ui.repository.list .item:hover {
    border-color: var(--color-primary-alpha-40);
    transform: translateY(-2px);
}
.page-content.user.profile .ui.relaxed.list .item .header {
    color: var(--color-link);
}

/* ── EXPLORE (repos & users) ─────────────────────────────────────────── */
.page-content.explore .ui.repository.list .item,
.page-content.explore .ui.user.list .item {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.6rem;
    padding: 1.25rem !important;
    margin-bottom: 0.75rem;
    transition: all 0.18s;
}
.page-content.explore .ui.repository.list .item:hover,
.page-content.explore .ui.user.list .item:hover {
    border-color: var(--color-primary-alpha-40);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.page-content.explore .ui.repository.list .item .header {
    font-size: 1.1rem;
    font-weight: 600;
}
.page-content.explore .ui.repository.list .item .header .name {
    color: var(--color-primary);
}
.page-content.explore .ui.menu .item.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}
.page-content.explore .ui.search input {
    background: var(--color-box-body);
    border-color: var(--color-border);
    color: var(--color-text);
    border-radius: 0.5rem;
    padding: 0.7rem 1rem;
}
.page-content.explore .ui.search input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-alpha-20);
}

/* ── REPOSITORY (vue principale d'un repo) ───────────────────────────── */
.repository .header-wrapper {
    background:
        linear-gradient(180deg, var(--color-primary-alpha-10), transparent 100px),
        var(--color-page-content);
    border-bottom: 1px solid var(--color-border);
    padding-top: 1rem;
}
.repository .header-wrapper .repo-title {
    font-size: 1.6rem;
    font-weight: 700;
}
.repository .header-wrapper .repo-title .name {
    color: var(--color-primary);
    font-weight: 700;
}
.repository .header-wrapper .repo-buttons .ui.button {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    transition: all 0.15s;
}
.repository .header-wrapper .repo-buttons .ui.button:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--color-primary-alpha-10);
}
.repository .ui.tabs.container .ui.menu .item.active {
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    margin-bottom: -1px;
    background: transparent;
}
.repository .file-info {
    background: var(--color-box-header);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem 0.5rem 0 0;
}
.repository .non-diff-file-content {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-top: none;
    border-radius: 0 0 0.5rem 0.5rem;
}
.repository .repo-readme .markup {
    background: var(--color-box-body);
    padding: 2rem;
    border-radius: 0.5rem;
    border: 1px solid var(--color-border);
}

/* Boutons de clone (HTTPS / SSH) */
.repository .clone-buttons-combo .ui.basic.button {
    background: var(--color-box-body);
    border-color: var(--color-border);
    color: var(--color-text-light);
}
.repository .clone-buttons-combo .ui.basic.button.active {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background: var(--color-primary-alpha-10);
}

/* ── ISSUE VIEW (vue détaillée d'une issue) ──────────────────────────── */
.repository.view.issue .issue-title h1 {
    font-weight: 700;
    color: var(--color-text);
}
.repository.view.issue .issue-title h1 .index {
    color: var(--color-text-light-2);
    font-weight: 400;
}
.repository.view.issue .issue-state-label.open {
    background: rgba(16, 185, 129, 0.15);
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 999px;
    padding: 0.4rem 1rem;
}
.repository.view.issue .issue-state-label.closed {
    background: rgba(168, 85, 247, 0.15);
    color: #a855f7;
    border: 1px solid rgba(168, 85, 247, 0.3);
    border-radius: 999px;
    padding: 0.4rem 1rem;
}
.repository.view.issue .timeline .timeline-item {
    border-left: 2px solid var(--color-border);
    padding-left: 1.5rem;
    position: relative;
}
.repository.view.issue .timeline .timeline-item::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 1rem;
    width: 12px;
    height: 12px;
    background: var(--color-primary);
    border-radius: 50%;
    border: 2px solid var(--color-body);
    box-shadow: 0 0 0 2px var(--color-primary-alpha-30);
}
.repository.view.issue .comment {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.6rem;
    margin-bottom: 1rem;
}
.repository.view.issue .comment .header {
    background: var(--color-box-header);
    border-bottom: 1px solid var(--color-border);
    border-radius: 0.6rem 0.6rem 0 0;
    padding: 0.75rem 1rem;
}
.repository.view.issue .comment.first {
    border-color: var(--color-primary-alpha-40);
}
.repository.view.issue .comment.first .header {
    background: var(--color-primary-alpha-10);
}
.repository.view.issue .ui.label,
.repository.view.issue .label-list .item {
    border-radius: 999px;
    padding: 0.25rem 0.85rem;
    font-weight: 500;
}

/* Sidebar de l'issue */
.repository.view.issue .sidebar {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.6rem;
    padding: 1.25rem;
}
.repository.view.issue .sidebar .ui.divider {
    border-top-color: var(--color-border);
}

/* ── RELEASES ────────────────────────────────────────────────────────── */
.repository.releases .release-list-title {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 1rem;
}
.repository.releases #release-list .release {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.6rem;
    padding: 1.5rem;
    margin-bottom: 1.25rem;
    transition: border-color 0.15s;
    position: relative;
}
.repository.releases #release-list .release:hover {
    border-color: var(--color-primary-alpha-40);
}
.repository.releases #release-list .release.latest {
    border-color: var(--color-primary);
}
.repository.releases #release-list .release.latest::before {
    content: "Latest";
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: linear-gradient(135deg, #f5c518 0%, #d4a017 100%);
    color: #0a0a0a;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.repository.releases #release-list .release h4 {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--color-text);
}
.repository.releases #release-list .release h4 a {
    color: var(--color-primary);
}
.repository.releases #release-list .release .download {
    background: var(--color-box-header);
    border-top: 1px solid var(--color-border);
    margin: 1rem -1.5rem -1.5rem;
    padding: 1rem 1.5rem;
    border-radius: 0 0 0.5rem 0.5rem;
}
.repository.releases #release-list .release .download a {
    color: var(--color-primary);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
    font-size: 0.85rem;
}

/* ── ORGANIZATION HOME ───────────────────────────────────────────────── */
.organization.home .org-info {
    background:
        linear-gradient(180deg, var(--color-primary-alpha-10), transparent),
        var(--color-box-body);
    border: 1px solid var(--color-primary-alpha-30);
    border-radius: 0.75rem;
    padding: 2rem;
    margin-bottom: 1.5rem;
    text-align: center;
}
.organization.home .org-avatar img {
    border: 3px solid var(--color-primary);
    border-radius: 50%;
    box-shadow: 0 0 30px rgba(245, 197, 24, 0.25);
}
.organization.home .org-name {
    background: linear-gradient(135deg, var(--color-text) 0%, var(--color-primary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
    font-size: 2rem;
    letter-spacing: -0.02em;
}
.organization.home .members-list .ui.user.list .item img {
    border: 2px solid transparent;
    transition: border-color 0.15s;
}
.organization.home .members-list .ui.user.list .item:hover img {
    border-color: var(--color-primary);
}
.organization.home .ui.repository.list .item {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    transition: all 0.15s;
}
.organization.home .ui.repository.list .item:hover {
    border-color: var(--color-primary-alpha-40);
    transform: translateY(-2px);
}

/* ── COMMON: pagination, breadcrumbs, segments ──────────────────────── */
.ui.pagination.menu {
    background: var(--color-box-body);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
}
.ui.pagination.menu .item.active {
    background: var(--color-primary-alpha-20);
    color: var(--color-primary);
    font-weight: 600;
}
.breadcrumb .section,
.breadcrumb a {
    color: var(--color-text-light);
}
.breadcrumb a:hover {
    color: var(--color-primary);
}
.breadcrumb .divider {
    color: var(--color-text-light-3);
}
.ui.segment {
    background: var(--color-box-body);
    border-color: var(--color-border);
}

/* ── Markdown (README, issues, comments) ─────────────────────────────── */
.markup blockquote {
    border-left: 3px solid var(--color-primary);
    background: var(--color-primary-alpha-10);
    color: var(--color-text-light);
    padding: 0.75rem 1rem;
    border-radius: 0 0.4rem 0.4rem 0;
}
.markup table {
    border-collapse: collapse;
}
.markup table th {
    background: var(--color-box-header);
    color: var(--color-text);
    border-bottom: 2px solid var(--color-primary-alpha-30);
}
.markup table tr:nth-child(2n) {
    background: var(--color-box-body-highlight);
}
.markup hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 1.5rem 0;
}
.markup a {
    color: var(--color-link);
    text-decoration: none;
}
.markup a:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
}

/* ========================================================================
   Fixes : profile avatar + hide global footer
   ======================================================================== */

/* ── Profile avatar : forcer carré + circulaire sur l'IMG, pas sur le container */
.page-content.user.profile #profile-avatar,
.page-content.user.profile .profile-avatar {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    background: transparent !important;
}
.page-content.user.profile #profile-avatar img,
.page-content.user.profile .profile-avatar img,
.page-content.user.profile .ui.card > .image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50% !important;
    border: 3px solid var(--color-primary);
    box-shadow: 0 0 30px rgba(245, 197, 24, 0.25);
    display: block;
}

/* ── Hide footer globalement (déjà caché sur home, on étend partout) */
.page-footer,
footer.page-footer,
body > footer,
.full.height + footer,
.ui.container + footer,
#footer {
    display: none !important;
}
.full.height {
    padding-bottom: 1rem !important;
}

/* Tweak chroma vers une palette plus chaude */
.chroma .k, .chroma .kd, .chroma .kn { color: #f5c518; }    /* keywords en gold */
.chroma .s, .chroma .s1, .chroma .s2 { color: #84cc16; }    /* strings en lime */
.chroma .c, .chroma .c1, .chroma .cm { color: #707070; font-style: italic; }  /* commentaires gris */
.chroma .nb, .chroma .nf { color: #f59e0b; }                /* builtins en orange */
.chroma .mi, .chroma .mf { color: #ef4444; }                /* nombres en rouge */
.chroma .o { color: #b8b8b8; }                              /* opérateurs */
