/* ============================================================
   NDW Dark Theme for Gitea
   Palette: Navy #0a0a23 · Primary #026fd7 · Text #e8eaf6
   Background: Pillars of Creation (JWST)
   ============================================================ */

:root,
:root[data-theme="gitea-auto"],
:root[data-theme="gitea-dark"],
:root[data-theme="auto"] {
  --color-primary:          #026fd7;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1:   #0263c0;
  --color-primary-dark-2:   #0258ab;
  --color-primary-dark-3:   #024d96;
  --color-primary-dark-4:   #013f7b;
  --color-primary-dark-5:   #013163;
  --color-primary-light-1:  #1f81de;
  --color-primary-light-2:  #4296e4;
  --color-primary-light-3:  #6caceb;
  --color-primary-light-4:  #9bc4f1;
  --color-primary-light-5:  #c6dcf6;
  --color-primary-alpha-10: rgba(2,111,215,.10);
  --color-primary-alpha-20: rgba(2,111,215,.20);
  --color-primary-alpha-30: rgba(2,111,215,.30);
  --color-primary-alpha-50: rgba(2,111,215,.50);
  --color-primary-alpha-80: rgba(2,111,215,.80);

  --color-body:           #0a0a23;
  --color-box-body:       rgba(13,13,43,0.88);
  --color-box-body-highlight: rgba(21,21,58,0.92);
  --color-box-header:     rgba(8,8,24,0.92);
  --color-navbar:         rgba(6,6,18,0.95);
  --color-footer:         rgba(6,6,18,0.92);
  --color-content-bg:     transparent;
  --color-sidebar-bg:     rgba(10,10,35,0.88);
  --color-card-bg:        rgba(13,13,43,0.88);
  --color-menu:           rgba(10,10,35,0.95);
  --color-menu-hover:     rgba(21,21,58,0.95);
  --color-menu-active:    rgba(26,26,71,0.95);
  --color-secondary:      #1a1a47;
  --color-secondary-dark-1:  #15153a;
  --color-secondary-dark-2:  #10102e;
  --color-secondary-light-1: #21215a;
  --color-secondary-light-2: #2a2a6e;
  --color-secondary-alpha-40: rgba(26,26,71,.40);
  --color-secondary-alpha-50: rgba(26,26,71,.50);
  --color-secondary-button: #1a1a47;

  --color-input-background: rgba(8,8,24,0.9);
  --color-input-toggle-background: rgba(21,21,58,0.9);
  --color-input-border: rgba(42,42,85,0.8);
  --color-input-border-hover: rgba(58,58,122,0.9);
  --color-input-text: #e8eaf6;
  --color-placeholder-text: #6a6aa0;

  --color-text: #e8eaf6;
  --color-text-light: #c0c4e6;
  --color-text-light-1: #a8aed8;
  --color-text-light-2: #8a92c5;
  --color-text-light-3: #6a6aa0;
  --color-text-dark: #e8eaf6;

  --color-light-border: rgba(31,31,74,0.6);
  --color-light: rgba(21,21,58,0.88);
  --color-hover: rgba(21,21,58,0.88);
  --color-active: rgba(26,26,71,0.92);
  --color-shadow: rgba(0,0,0,0.55);
  --color-secondary-bg: rgba(13,13,43,0.85);
  --color-secondary-nav-bg: rgba(6,6,18,0.95);
  --color-reverse-bg: #0a0a23;
  --color-reverse: #e8eaf6;

  --color-diff-added-row-bg:    rgba(13,43,26,0.6);
  --color-diff-added-word-bg:   rgba(20,92,51,0.7);
  --color-diff-removed-row-bg:  rgba(43,13,18,0.6);
  --color-diff-removed-word-bg: rgba(92,20,33,0.7);

  /* ── Variables not overridden by NDW theme (Gitea auto sets them bright) ── */
  --color-button:             rgba(26,26,71,0.9);
  --color-card:               rgba(13,13,43,0.88);
  --color-nav-bg:             rgba(6,6,18,0.95);
  --color-code-bg:            rgba(6,6,18,0.88);
  --color-highlight-bg:       rgba(2,111,215,0.18);
  --color-project-column-bg:  rgba(10,10,35,0.85);
  --color-console-bg:         rgba(6,6,18,0.92);
  --color-console-menu-bg:    rgba(8,8,24,0.95);
  --color-hover-opaque:       rgba(21,21,58,0.95);
  --color-reaction-hover-bg:  rgba(2,111,215,0.20);
  --color-console-hover-bg:   rgba(21,21,58,0.95);
  --color-error-bg-hover:     rgba(207,53,53,0.18);
  --color-error-bg-active:    rgba(207,53,53,0.25);
  --color-error-bg:           rgba(207,53,53,0.12);
  --color-error-border:       rgba(236,118,118,0.30);
  --color-warning-bg:         rgba(210,153,34,0.12);
  --color-diff-inactive:      rgba(31,31,74,0.40);
  --color-diff-removed-linenum-bg: rgba(207,53,53,0.20);
  --color-diff-removed-row-border: rgba(236,118,118,0.20);
  --color-diff-added-row-border:   rgba(46,160,67,0.25);
  --color-diff-moved-row-bg:  rgba(2,111,215,0.10);
  --color-syntax-deleted-bg:  rgba(207,53,53,0.15);
  --color-primary-light-7:    rgba(2,111,215,0.06);
  --color-yellow-badge-hover-bg: rgba(251,189,8,0.20);
  --color-orange-badge-hover-bg: rgba(242,113,28,0.20);

  /* Smoother borders */
  --border-radius: 8px;
  --border-radius-sm: 4px;
}

/* ── Background ──────────────────────────────────────────── */
body {
  background-color: #0a0a23;
  background-image:
    linear-gradient(rgba(10,10,35,0.80), rgba(10,10,35,0.80)),
    url(/assets/img/ndw-background.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: var(--color-text);
}

/* ── Navbar ──────────────────────────────────────────────── */
#navbar,
.full.height > .ui.menu.navbar,
nav.navbar,
.navbar {
  background: var(--color-navbar) !important;
  border-bottom: 1px solid var(--color-light-border) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* NDW brand colour in navbar title */
#navbar .navbar-brand,
#navbar .item.brand {
  color: #4296e4 !important;
  font-weight: 700;
  letter-spacing: .03em;
}

/* ── Footer ──────────────────────────────────────────────── */
footer {
  background: var(--color-footer) !important;
  border-top: 1px solid var(--color-light-border) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* ── Cards / Panels ──────────────────────────────────────── */
.ui.card,
.ui.segment,
.ui.attached.header,
.ui.attached.table,
.feeds .news,
.repository.diff .diff-file-box,
.repository.diff .diff-file-header,
.markup,
.repository.view.issue .comment-list .comment,
.repository .ui.tabular.menu,
.ui.form,
.flex-container > .content {
  background-color: var(--color-box-body) !important;
  border-color: var(--color-light-border) !important;
  border-radius: var(--border-radius) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Slightly brighter on hover */
.ui.card:hover {
  background-color: var(--color-box-body-highlight) !important;
  transform: translateY(-1px);
  transition: transform .15s ease, background-color .15s ease;
}

/* ── Sidebar ─────────────────────────────────────────────── */
.sidebar {
  background-color: var(--color-sidebar-bg) !important;
  border-color: var(--color-light-border) !important;
  backdrop-filter: blur(8px);
}

/* ── Menu ────────────────────────────────────────────────── */
.ui.menu {
  background-color: var(--color-menu) !important;
  border-color: var(--color-light-border) !important;
}
.ui.menu .active.item {
  background-color: var(--color-primary-alpha-20) !important;
  color: var(--color-primary-light-2) !important;
  border-bottom: 2px solid var(--color-primary) !important;
}
.ui.menu .item:hover {
  background-color: var(--color-menu-hover) !important;
}

/* ── Tables ──────────────────────────────────────────────── */
table.ui.table thead th {
  background-color: rgba(8,8,24,0.92) !important;
  color: var(--color-text-light-1);
  border-color: var(--color-light-border) !important;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .8em;
}
table.ui.table tbody tr:hover {
  background-color: rgba(26,26,71,0.50) !important;
}
table.ui.table tbody tr td {
  border-color: var(--color-light-border) !important;
}

/* ── Buttons ─────────────────────────────────────────────── */
.ui.primary.button,
.ui.primary.buttons .button {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: var(--border-radius-sm) !important;
  font-weight: 600;
  letter-spacing: .02em;
  transition: background-color .15s ease, box-shadow .15s ease;
}
.ui.primary.button:hover {
  background-color: var(--color-primary-dark-1) !important;
  box-shadow: 0 2px 12px rgba(2,111,215,.35) !important;
}
.ui.button {
  background-color: rgba(26,26,71,0.9) !important;
  color: var(--color-text-light) !important;
  border: 1px solid var(--color-light-border) !important;
  border-radius: var(--border-radius-sm) !important;
  transition: background-color .15s ease;
}
.ui.button:hover {
  background-color: rgba(42,42,110,.9) !important;
}

/* ── Links ───────────────────────────────────────────────── */
a, a:visited {
  color: var(--color-primary-light-2);
  text-decoration: none;
}
a:hover {
  color: var(--color-primary-light-3);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── Code / Diffs ────────────────────────────────────────── */
.markup pre,
.markup code,
.code-view,
.file-view,
pre,
code {
  background-color: rgba(6,6,18,0.88) !important;
  color: var(--color-text);
  border-color: var(--color-light-border) !important;
  border-radius: var(--border-radius-sm) !important;
}
.blob-code-inner {
  color: var(--color-text) !important;
}

/* ── Labels / Badges ─────────────────────────────────────── */
.ui.label {
  border-radius: 20px !important;
  font-size: .78em !important;
  font-weight: 600;
  padding: .3em .7em !important;
}
.ui.green.label  { background: rgba(46,160,67,.22) !important;  color: #6dc77f !important; border-color: rgba(109,199,127,.3) !important; }
.ui.yellow.label { background: rgba(210,153,34,.22) !important; color: #e0b450 !important; border-color: rgba(224,180,80,.3) !important; }
.ui.red.label    { background: rgba(207,53,53,.22) !important;  color: #ec7676 !important; border-color: rgba(236,118,118,.3) !important; }
.ui.blue.label   { background: rgba(2,111,215,.22) !important;  color: #4296e4 !important; border-color: rgba(66,150,228,.3) !important; }
.ui.purple.label { background: rgba(185,136,228,.15) !important;color: #b988e4 !important; border-color: rgba(185,136,228,.3) !important; }

/* ── Issue/PR labels ─────────────────────────────────────── */
.label.open   { background: rgba(46,160,67,.20) !important;  color: #6dc77f !important; }
.label.closed { background: rgba(207,53,53,.20) !important;  color: #ec7676 !important; }
.label.merged { background: rgba(185,136,228,.20) !important;color: #b988e4 !important; }

/* ── Input fields ────────────────────────────────────────── */
.ui.input input,
textarea,
select,
.CodeMirror {
  background: var(--color-input-background) !important;
  color: var(--color-input-text) !important;
  border-color: var(--color-input-border) !important;
  border-radius: var(--border-radius-sm) !important;
}
.ui.input input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px var(--color-primary-alpha-20) !important;
  outline: none;
}

/* ── Activity feed ───────────────────────────────────────── */
.feeds .news .desc,
.feeds .news .time {
  color: var(--color-text-light-2);
}

/* ── Profile / Avatar ────────────────────────────────────── */
img.avatar {
  border: 2px solid var(--color-primary-alpha-30) !important;
}

/* ── Commit hash ─────────────────────────────────────────── */
.ui.sha {
  background: rgba(2,111,215,.15) !important;
  color: var(--color-primary-light-2) !important;
  border-radius: 4px !important;
  font-family: monospace;
}

/* ── Repository stats row ────────────────────────────────── */
.repository .info.ui.segment {
  background: rgba(8,8,24,0.88) !important;
  border-top: 3px solid var(--color-primary) !important;
  border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}

/* ── Pagination ──────────────────────────────────────────── */
.ui.pagination.menu .item.active {
  background: var(--color-primary) !important;
  color: #fff !important;
  font-weight: 700;
}

/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 14px; background: transparent; }
::-webkit-scrollbar-track {
  border: 6px solid transparent;
  background-color: rgba(31,31,74,0.3);
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb {
  border: 6px solid transparent;
  background-color: rgba(106,106,160,0.5);
  border-radius: 999px;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background-color: rgba(106,106,160,0.75);
}

/* ── Misc refinements ────────────────────────────────────── */
.ui.divider {
  border-color: var(--color-light-border) !important;
}
.ui.popup {
  background: rgba(13,13,43,0.97) !important;
  border-color: var(--color-light-border) !important;
  border-radius: var(--border-radius) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.55) !important;
}
.dropdown .menu {
  background: rgba(10,10,35,0.97) !important;
  border-color: var(--color-light-border) !important;
  border-radius: var(--border-radius) !important;
  backdrop-filter: blur(12px);
}
.dropdown .menu .item:hover {
  background: var(--color-menu-hover) !important;
}

/* ── Flash messages ──────────────────────────────────────── */
.positive.message { background: rgba(46,160,67,.15) !important;  border-color: rgba(109,199,127,.3) !important; color: #6dc77f !important; }
.warning.message  { background: rgba(210,153,34,.15) !important; border-color: rgba(224,180,80,.3) !important;  color: #e0b450 !important; }
.negative.message { background: rgba(207,53,53,.15) !important;  border-color: rgba(236,118,118,.3) !important; color: #ec7676 !important; }
.info.message     { background: rgba(2,111,215,.12) !important;  border-color: rgba(66,150,228,.3) !important;  color: #4296e4 !important; }

/* ── Secondary nav (tab bar below header — was showing white) ── */
html body .secondary-nav,
.secondary-nav,
.secondary-nav.horizontally.scrolling.container,
.secondary-nav .ui.container,
.secondary-nav.ui.container {
  background: rgba(6,6,18,0.95) !important;
  border-bottom: 1px solid rgba(31,31,74,0.6) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Secondary nav tabs */
.secondary-nav .item,
.secondary-nav .ui.menu .item {
  color: rgba(200,210,255,0.65) !important;
  background: transparent !important;
}
.secondary-nav .item:hover,
.secondary-nav .ui.menu .item:hover {
  color: #e8eaf6 !important;
  background: rgba(2,111,215,0.12) !important;
}
.secondary-nav .item.active,
.secondary-nav .ui.menu .item.active {
  color: #4296e4 !important;
  border-bottom: 2px solid #026fd7 !important;
  background: transparent !important;
  font-weight: 600;
}

/* ── Page header area (repo title row) ─────────────────── */
.page-header-wrapper,
.page-header-wrapper .ui.container {
  background: rgba(8,8,24,0.85) !important;
  border-bottom: 1px solid rgba(31,31,74,0.5) !important;
}

/* ── Tab bar (tabular menu inside content) ──────────────── */
.ui.tabular.menu {
  background: rgba(8,8,24,0.85) !important;
  border-bottom: 1px solid rgba(31,31,74,0.5) !important;
}
.ui.tabular.menu .item {
  color: rgba(200,210,255,0.65) !important;
}
.ui.tabular.menu .item:hover {
  background: rgba(2,111,215,0.10) !important;
  color: #e8eaf6 !important;
}
.ui.tabular.menu .item.active {
  background: rgba(10,10,30,0.90) !important;
  color: #4296e4 !important;
  border-color: rgba(31,31,74,0.5) !important;
  border-bottom-color: transparent !important;
  font-weight: 600;
}

/* ── Explicit hover overrides for elements using bright variables ── */

/* Reaction buttons (emoji reactions on issues/comments) */
.comment-reaction .btn:hover,
[class*="reaction"]:hover {
  background: rgba(2,111,215,0.18) !important;
  border-color: rgba(2,111,215,0.35) !important;
}

/* Project board column backgrounds */
.project-column,
.project-column-header {
  background: rgba(10,10,35,0.85) !important;
  border-color: rgba(31,31,74,0.5) !important;
}

/* Console/log output areas */
.repository.view .console,
.actions-log-group,
.task-console-output {
  background: rgba(6,6,18,0.92) !important;
}
.repository.view .console pre:hover,
.actions-log-line:hover {
  background: rgba(21,21,58,0.95) !important;
}

/* Error/warning message boxes */
.ui.negative.message,
.ui.error.message {
  background: rgba(207,53,53,0.12) !important;
  border-color: rgba(236,118,118,0.30) !important;
}
.ui.negative.button:hover {
  background: rgba(207,53,53,0.30) !important;
}
.ui.warning.message {
  background: rgba(210,153,34,0.12) !important;
  border-color: rgba(224,180,80,0.30) !important;
}

/* Diff view: line numbers */
.diff-file-box .code-diff td.lines-num,
.lines-num {
  background: rgba(8,8,24,0.70) !important;
  color: rgba(160,160,200,0.50) !important;
  border-right-color: rgba(31,31,74,0.4) !important;
}

/* Navbar hover */
#navbar .item:hover,
.ui.menu.navbar .item:hover {
  background: rgba(21,21,58,0.80) !important;
  color: #e8eaf6 !important;
}

/* Code search match highlight */
.repo-search-result .match {
  background: rgba(2,111,215,0.20) !important;
  color: #9bc4f1 !important;
}

/* File tree hover */
.repository.file.list .tree-item:hover,
.filetree-item:hover {
  background: rgba(2,111,215,0.10) !important;
}

/* Branch/tag dropdown hover */
.tippy-box .menu .item:hover {
  background: rgba(21,21,58,0.95) !important;
}

/* Admin/settings list row hover */
.admin .list .item:hover,
.ui.list .item:hover {
  background: rgba(21,21,58,0.50) !important;
}

/* ── Easter Eggs ──────────────────────────────────────────────────────── */

/* Issue labels as spectral classes */
.ui.label[data-label="bug"]::before,
.label[title="bug"]::before {
  content: ''; display: inline-block; width: 8px; height: 8px;
  border-radius: 50%; margin-right: 5px; vertical-align: middle;
  background: #9bb0ff;
  box-shadow: 0 0 6px rgba(155,176,255,.8);
}
.ui.label[data-label="enhancement"]::before,
.label[title="enhancement"]::before {
  content: ''; display: inline-block; width: 8px; height: 8px;
  border-radius: 50%; margin-right: 5px; vertical-align: middle;
  background: #fff4e0;
  box-shadow: 0 0 6px rgba(255,244,224,.7);
}
.ui.label[data-label="documentation"]::before,
.label[title="documentation"]::before {
  content: ''; display: inline-block; width: 8px; height: 8px;
  border-radius: 50%; margin-right: 5px; vertical-align: middle;
  background: #ffaa55;
  box-shadow: 0 0 5px rgba(255,170,85,.7);
}

/* Force-push supernova glow */
.force-push,
[data-action="force_push"],
.feeds .news .desc .push.force {
  animation: ndw-supernova 3s ease-in-out infinite !important;
}
@keyframes ndw-supernova {
  0%,100% { text-shadow: none; }
  50% { text-shadow: 0 0 8px rgba(255,80,40,.7), 0 0 16px rgba(255,40,0,.4); color: #ff7755 !important; }
}
