/* ==========================================================
   JezzWTF — Gitea Theme
   Based on gitea-dark with JezzWTF aesthetic overrides
   ========================================================== */

/* ── ALL REQUIRED GITEA VARS (gitea-dark base, then overrides) ── */
:root[data-theme="jezzwtf"] {
  --is-dark-theme: true;

  /* ── Surfaces / Chrome ── */
  --color-body:                #111114;
  --color-box-header:          #0e0e11;
  --color-box-body:            #0d0d10;
  --color-box-body-highlight:  #18181c;
  --color-nav-bg:              #0a0a0d;
  --color-nav-hover-bg:        #141418;
  --color-nav-text:            var(--color-text);
  --color-secondary-nav-bg:    #111114;
  --color-card:                #16161a;
  --color-menu:                #1c1c22;
  --color-button:              #1a1a1f;
  --color-code-bg:             #0d0d10;
  --color-footer:              var(--color-nav-bg);
  --color-secondary-bg:        #1f1f24;
  --color-expand-button:       #28282e;
  --color-hover:               rgba(255,255,255,0.05);
  --color-hover-opaque:        #1e1e23;
  --color-active:              rgba(255,255,255,0.08);
  --color-reaction-bg:         rgba(255,255,255,0.05);
  --color-reaction-hover-bg:   var(--color-primary-light-4);
  --color-reaction-active-bg:  var(--color-primary-light-5);
  --color-project-column-bg:   #18181c;
  --color-markup-table-row:    rgba(255,255,255,0.04);
  --color-markup-code-block:   rgba(255,255,255,0.05);
  --color-markup-code-inline:  rgba(255,255,255,0.08);
  --color-overlay-backdrop:    rgba(0,0,0,0.75);
  --color-shadow:              rgba(0,0,0,0.5);
  --color-shadow-opaque:       #000;
  --color-transparency-grid-light: #2a2a2a;
  --color-transparency-grid-dark:  #1a1a1a;

  /* ── Primary (indigo/violet) ── */
  --color-primary:             #7c6af7;
  --color-primary-contrast:    #ffffff;
  --color-primary-dark-1:      #8d7df8;
  --color-primary-dark-2:      #9d8fff;
  --color-primary-dark-3:      #ada2ff;
  --color-primary-dark-4:      #bcb5ff;
  --color-primary-dark-5:      #d0caff;
  --color-primary-dark-6:      #e4e0ff;
  --color-primary-dark-7:      #f4f2ff;
  --color-primary-light-1:     #6b58e6;
  --color-primary-light-2:     #5e4fd4;
  --color-primary-light-3:     #5044be;
  --color-primary-light-4:     #3d3494;
  --color-primary-light-5:     #2b2568;
  --color-primary-light-6:     #1a163f;
  --color-primary-light-7:     #0c0a1d;
  --color-primary-alpha-10:    rgba(124,106,247,0.10);
  --color-primary-alpha-20:    rgba(124,106,247,0.20);
  --color-primary-alpha-30:    rgba(124,106,247,0.30);
  --color-primary-alpha-40:    rgba(124,106,247,0.40);
  --color-primary-alpha-50:    rgba(124,106,247,0.50);
  --color-primary-alpha-60:    rgba(124,106,247,0.60);
  --color-primary-alpha-70:    rgba(124,106,247,0.70);
  --color-primary-alpha-80:    rgba(124,106,247,0.80);
  --color-primary-alpha-90:    rgba(124,106,247,0.90);
  --color-primary-hover:       var(--color-primary-dark-1);
  --color-primary-active:      var(--color-primary-dark-2);
  --color-accent:              var(--color-primary-dark-1);
  --color-small-accent:        var(--color-primary-light-5);

  /* ── Secondary (muted slate) ── */
  --color-secondary:           #3a3c42;
  --color-secondary-dark-1:    #42444a;
  --color-secondary-dark-2:    #4a4c52;
  --color-secondary-dark-3:    #565860;
  --color-secondary-dark-4:    #66686f;
  --color-secondary-dark-5:    #757880;
  --color-secondary-dark-6:    #848790;
  --color-secondary-dark-7:    #93959e;
  --color-secondary-dark-8:    #a2a4ac;
  --color-secondary-dark-9:    #a9aab3;
  --color-secondary-dark-10:   #b5b7bf;
  --color-secondary-dark-11:   #c2c4cb;
  --color-secondary-dark-12:   #cdd0d7;
  --color-secondary-dark-13:   #d0d2d9;
  --color-secondary-light-1:   #31333a;
  --color-secondary-light-2:   #28292f;
  --color-secondary-light-3:   #1d1e23;
  --color-secondary-light-4:   #171819;
  --color-secondary-alpha-10:  rgba(58,60,66,0.10);
  --color-secondary-alpha-20:  rgba(58,60,66,0.20);
  --color-secondary-alpha-30:  rgba(58,60,66,0.30);
  --color-secondary-alpha-40:  rgba(58,60,66,0.40);
  --color-secondary-alpha-50:  rgba(58,60,66,0.50);
  --color-secondary-alpha-60:  rgba(58,60,66,0.60);
  --color-secondary-alpha-70:  rgba(58,60,66,0.70);
  --color-secondary-alpha-80:  rgba(58,60,66,0.80);
  --color-secondary-alpha-90:  rgba(58,60,66,0.90);
  --color-secondary-button:    var(--color-secondary-dark-4);
  --color-secondary-hover:     var(--color-secondary-dark-3);
  --color-secondary-active:    var(--color-secondary-dark-2);

  /* ── Text ── */
  --color-text-dark:           #f0ece6;
  --color-text:                #d2d0cc;
  --color-text-light:          #b8b5b0;
  --color-text-light-1:        #a09d98;
  --color-text-light-2:        #8b8884;
  --color-text-light-3:        #74706c;
  --color-placeholder-text:    var(--color-text-light-3);
  --color-input-text:          var(--color-text-dark);
  --color-caret:               var(--color-text);

  /* ── Inputs ── */
  --color-input-background:    #16161a;
  --color-input-toggle-background: #2c2c34;
  --color-input-border:        var(--color-secondary-dark-1);

  /* ── Labels ── */
  --color-label-text:          var(--color-text);
  --color-label-bg:            rgba(120,118,130,0.30);
  --color-label-hover-bg:      rgba(120,118,130,0.65);
  --color-label-active-bg:     rgba(120,118,130,1);

  /* ── Tooltip ── */
  --color-tooltip-text:        #fafafa;
  --color-tooltip-bg:          rgba(10,10,14,0.94);

  /* ── Timeline ── */
  --color-timeline:            #2c2c34;

  /* ── Light/border helpers ── */
  --color-light:               rgba(240,235,230,0.06);
  --color-light-border:        rgba(240,235,230,0.09);

  /* ── Status colours ── */
  --color-red:                 #cc4848;
  --color-orange:              #cc580c;
  --color-yellow:              #cc9903;
  --color-olive:               #91a313;
  --color-green:               #87ab63;
  --color-teal:                #00918a;
  --color-blue:                #3a8ac6;
  --color-violet:              #906ae1;
  --color-purple:              #b259d0;
  --color-pink:                #d22e8b;
  --color-brown:               #a47252;
  --color-black:               #202225;
  --color-gold:                #b1983b;
  --color-grey:                #3d3f44;
  --color-grey-light:          #898d96;
  --color-white:               #ffffff;
  --color-git:                 #f05133;
  --color-logo:                #609926;
  --color-danger:              var(--color-red);

  /* Light variants (keep gitea-dark values) */
  --color-red-light:           #d15a5a;
  --color-orange-light:        #f6a066;
  --color-yellow-light:        #eaaf03;
  --color-olive-light:         #abc016;
  --color-green-light:         #93b373;
  --color-teal-light:          #00b6ad;
  --color-blue-light:          #4e96cc;
  --color-violet-light:        #9b79e4;
  --color-purple-light:        #ba6ad5;
  --color-pink-light:          #d74397;
  --color-brown-light:         #b08061;
  --color-black-light:         #45484e;
  --color-red-dark-1:          #c23636;
  --color-orange-dark-1:       #f38236;
  --color-yellow-dark-1:       #b88a03;
  --color-olive-dark-1:        #839311;
  --color-green-dark-1:        #7a9e55;
  --color-teal-dark-1:         #00837c;
  --color-blue-dark-1:         #347cb3;
  --color-violet-dark-1:       #7b4edb;
  --color-purple-dark-1:       #a742c9;
  --color-pink-dark-1:         #be297d;
  --color-brown-dark-1:        #94674a;
  --color-black-dark-1:        #2e3033;
  --color-red-dark-2:          #ad3030;
  --color-orange-dark-2:       #f16e17;
  --color-yellow-dark-2:       #a37a02;
  --color-olive-dark-2:        #74820f;
  --color-green-dark-2:        #6c8c4c;
  --color-teal-dark-2:         #00746e;
  --color-blue-dark-2:         #2e6e9f;
  --color-violet-dark-2:       #6733d6;
  --color-purple-dark-2:       #9834b9;
  --color-pink-dark-2:         #a9246f;
  --color-brown-dark-2:        #835b42;
  --color-black-dark-2:        #292b2e;

  /* ── Badge colours ── */
  --color-red-badge:           #db2828;
  --color-red-badge-bg:        rgba(219,40,40,0.10);
  --color-red-badge-hover-bg:  rgba(219,40,40,0.30);
  --color-green-badge:         #21ba45;
  --color-green-badge-bg:      rgba(33,186,69,0.10);
  --color-green-badge-hover-bg:rgba(33,186,69,0.30);
  --color-yellow-badge:        #fbbd08;
  --color-yellow-badge-bg:     rgba(251,189,8,0.10);
  --color-yellow-badge-hover-bg:rgba(251,189,8,0.30);
  --color-orange-badge:        #f2711c;
  --color-orange-badge-bg:     rgba(242,113,28,0.10);
  --color-orange-badge-hover-bg:rgba(242,113,28,0.30);

  /* ── Diff ── */
  --color-diff-added-fg:       #87ab63;
  --color-diff-added-linenum-bg: #1e3320;
  --color-diff-added-row-bg:   #182618;
  --color-diff-added-row-border:#2a3d2a;
  --color-diff-added-word-bg:  #2e4e2e;
  --color-diff-moved-row-bg:   #6b6a36;
  --color-diff-moved-row-border:#a8a85a;
  --color-diff-removed-fg:     #cc4848;
  --color-diff-removed-linenum-bg: #3a1a1a;
  --color-diff-removed-row-bg: #281616;
  --color-diff-removed-row-border:#4e2e2e;
  --color-diff-removed-word-bg:#5a2a2a;
  --color-diff-inactive:       #1e2024;

  /* ── Status alerts ── */
  --color-error-border:        #5a2828;
  --color-error-bg:            #281a1e;
  --color-error-bg-active:     #3a1e22;
  --color-error-bg-hover:      #301820;
  --color-error-text:          #f85149;
  --color-success-border:      #1c4228;
  --color-success-bg:          #162818;
  --color-success-text:        #3fb950;
  --color-warning-border:      #4a3614;
  --color-warning-bg:          #28221a;
  --color-warning-text:        #d29922;
  --color-info-border:         #1e3a62;
  --color-info-bg:             #16202e;
  --color-info-text:           #5b8dee;
  --color-priority-border:     #3a1e6e;
  --color-priority-bg:         #1e1630;
  --color-priority-text:       #a371f7;

  /* ── ANSI / Console ── */
  --color-ansi-black:          #202225;
  --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:   #45484e;
  --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);
  --color-console-fg:          #f0ece6;
  --color-console-fg-subtle:   #b8b4ae;
  --color-console-bg:          #0d0d10;
  --color-console-border:      #252528;
  --color-console-hover-bg:    #1a1a1e;
  --color-console-active-bg:   #222226;
  --color-console-menu-bg:     #181820;
  --color-console-menu-border: #303038;
  --color-console-link:        #8b8884;

  /* ── Syntax ── */
  --color-highlight-fg:        #87651e;
  --color-highlight-bg:        #342e1e;
  --color-syntax-keyword:      #ff8854;
  --color-syntax-bool:         #25bbc9;
  --color-syntax-control:      #dd9e17;
  --color-syntax-name:         #c7a618;
  --color-syntax-type:         #eb8cb3;
  --color-syntax-number:       #63b2dd;
  --color-syntax-operator:     #ff8854;
  --color-syntax-regexp:       #b89de4;
  --color-syntax-string:       #95b62a;
  --color-syntax-comment:      #6e7480;
  --color-syntax-invalid:      #ff8686;
  --color-syntax-link:         var(--color-primary);
  --color-syntax-tag:          #ff8854;
  --color-syntax-attribute:    #c792ff;
  --color-syntax-property:     #55afff;
  --color-syntax-variable:     #e29b33;
  --color-syntax-string-special:#dd9e17;
  --color-syntax-escape:       #c7a618;
  --color-syntax-entity:       #c792ff;
  --color-syntax-preproc:      #4cbe7a;
  --color-syntax-preproc-file: #63b2dd;
  --color-syntax-decorator:    #4cbe7a;
  --color-syntax-namespace:    #c9d1d9;
  --color-syntax-name-pseudo:  #c792ff;
  --color-syntax-comment-special:#b89de4;
  --color-syntax-text:         #c9d1d9;
  --color-syntax-text-alt:     #b9bcc7;
  --color-syntax-punctuation:  #d2d4db;
  --color-syntax-whitespace:   #7f8699;
  --color-syntax-diff-fg:      #ffffff;
  --color-syntax-deleted-bg:   #5f3737;
  --color-syntax-inserted-bg:  #3a523a;
  --color-syntax-emph:         #d1a242;
  --color-syntax-strong:       #e29b33;
  --color-syntax-heading:      #dd9e17;
  --color-syntax-subheading:   #95b62a;
  --color-syntax-output:       #8898b0;
  --color-syntax-prompt:       #e29b33;
  --color-syntax-traceback:    #ff8686;
  --color-syntax-matching-bracket-bg:    rgba(0,145,138,0.28);
  --color-syntax-nonmatching-bracket-bg: rgba(204,72,72,0.28);

  /* ── Workflow ── */
  --color-workflow-edge-hover: #555a63;

  /* ── Editor ── */
  --color-editor-line-highlight: var(--color-secondary-alpha-40);
  --color-editor-selection:      var(--color-primary-alpha-50);

  /* ── Misc ── */
  --color-selection:           var(--color-primary-alpha-30);

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

/* ── FONT ── */
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300..700&display=swap");

[data-theme="jezzwtf"] {
  font-family: -apple-system, "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

[data-theme="jezzwtf"] ::selection {
  background: var(--color-selection);
}

/* ── MONO FONT ── */
[data-theme="jezzwtf"] pre,
[data-theme="jezzwtf"] code,
[data-theme="jezzwtf"] .code-view,
[data-theme="jezzwtf"] .diff-file-body,
[data-theme="jezzwtf"] .commit-id-short,
[data-theme="jezzwtf"] .commit-id,
[data-theme="jezzwtf"] .CodeMirror,
[data-theme="jezzwtf"] .monaco-editor {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 0.8125rem;
  line-height: 1.6;
}

/* ── NAV ── */
[data-theme="jezzwtf"] .ui.menu:not(.secondary):not(.tabular):not(.pagination),
[data-theme="jezzwtf"] #navbar {
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* ── LINKS ── */
[data-theme="jezzwtf"] a {
  color: #8b9cf4;
}
[data-theme="jezzwtf"] a:hover {
  color: #aab4ff;
}

/* ── PRIMARY BUTTONS ── */
[data-theme="jezzwtf"] .ui.primary.button,
[data-theme="jezzwtf"] .ui.green.button,
[data-theme="jezzwtf"] button.ui.green {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border-color: transparent !important;
}
[data-theme="jezzwtf"] .ui.primary.button:hover,
[data-theme="jezzwtf"] .ui.green.button:hover {
  background-color: var(--color-primary-dark-1) !important;
}

/* ── INLINE CODE ── */
[data-theme="jezzwtf"] p code,
[data-theme="jezzwtf"] li code,
[data-theme="jezzwtf"] .markdown code {
  background-color: rgba(124,106,247,0.10) !important;
  color: var(--color-primary-dark-2) !important;
  border-radius: 3px !important;
  padding: 0.1em 0.4em;
}

/* ── BLOCKQUOTE ── */
[data-theme="jezzwtf"] .markdown blockquote {
  border-left: 3px solid var(--color-primary) !important;
  background-color: var(--color-primary-alpha-10) !important;
}

/* ── FOCUS RING ── */
[data-theme="jezzwtf"] :focus-visible {
  outline: 2px solid var(--color-primary) !important;
  outline-offset: 2px !important;
}

/* ── CONTRIBUTION HEATMAP (explicit colours so they're never black) ── */
[data-theme="jezzwtf"] #user-heatmap .vch__day__square {
  rx: 2;
}
