:root {
  --color-primary: #8dc63f;
  --color-primary-dark: #7ab02e;
  --color-primary-light: #a8d86a;
  --color-primary-alpha-10: rgba(141, 198, 63, 0.10);
  --color-primary-alpha-20: rgba(141, 198, 63, 0.20);
  --color-primary-alpha-35: rgba(141, 198, 63, 0.35);
  --color-primary-alpha-60: rgba(141, 198, 63, 0.60);

  --color-secondary: #a0a0a0;
  --color-secondary-dark: #808080;

  --color-body: #0d0d0d;
  --color-box-body: #1a1a1a;
  --color-box-body-2: #222222;
  --color-box-border: #333333;
  --color-box-border-light: #444444;
  --color-divider: #2a2a2a;

  --color-text: #e8e8e8;
  --color-text-light: #cccccc;
  --color-text-dim: #999999;
  --color-text-muted: #666666;
  --color-text-inverse: #0d0d0d;

  --color-success: #8dc63f;
  --color-warning: #f5a623;
  --color-error: #e74c3c;
  --color-info: #5dade2;

  --color-diff-add-bg: rgba(141, 198, 63, 0.08);
  --color-diff-add-border: rgba(141, 198, 63, 0.30);
  --color-diff-del-bg: rgba(231, 76, 60, 0.08);
  --color-diff-del-border: rgba(231, 76, 60, 0.30);

  --color-input-bg: #0d0d0d;

  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-elevated: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 12px rgba(141, 198, 63, 0.25);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  background-color: var(--color-body);
  color: var(--color-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

::selection {
  background: var(--color-primary-alpha-35);
  color: var(--color-text);
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--color-body); }
::-webkit-scrollbar-thumb {
  background: var(--color-box-border);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--color-text-muted); }
::-webkit-scrollbar-corner { background: var(--color-body); }

a {
  color: var(--color-primary-light);
  text-decoration: none;
}
a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

.ui.menu,
.ui.secondary.menu,
.ui.pointing.secondary.menu,
#navbar,
.navbar {
  background: var(--color-box-body) !important;
  border-bottom: 2px solid var(--color-primary) !important;
  box-shadow: var(--shadow-card) !important;
}

.ui.menu .item,
.ui.secondary.menu .item,
.ui.pointing.secondary.menu .item,
.ui.menu a.item,
.ui.secondary.menu a.item {
  background-color: transparent !important;
  color: var(--color-text-dim) !important;
}
.ui.menu .item:hover,
.ui.menu a.item:hover,
.ui.secondary.menu .item:hover,
.ui.secondary.menu a.item:hover,
.ui.pointing.secondary.menu .item:hover {
  color: var(--color-primary-light) !important;
  background-color: rgba(255, 255, 255, 0.03) !important;
}
.ui.secondary.menu .active.item,
.ui.pointing.secondary.menu .active.item,
.ui.menu .active.item {
  background-color: rgba(141, 198, 63, 0.10) !important;
  color: var(--color-primary-light) !important;
  border-bottom: 2px solid var(--color-primary) !important;
}

.ui.menu .ui.dropdown .menu,
.ui.secondary.menu .ui.dropdown .menu {
  background: var(--color-box-body-2) !important;
  border: 1px solid var(--color-box-border) !important;
  box-shadow: var(--shadow-elevated) !important;
}
.ui.menu .ui.dropdown .menu .item,
.ui.secondary.menu .ui.dropdown .menu .item {
  color: var(--color-text) !important;
}
.ui.menu .ui.dropdown .menu .item:hover,
.ui.secondary.menu .ui.dropdown .menu .item:hover {
  background-color: var(--color-primary-alpha-10) !important;
  color: var(--color-primary-light) !important;
}

.navbar .header,
.navbar .brand,
#navbar .header {
  color: var(--color-primary-light) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}

.ui.segment,
.ui.segments,
.ui.card,
.ui.cards > .card,
.repository-summary,
.issue.list > li,
.dashboard-repos .item {
  background: var(--color-box-body) !important;
  border: 1px solid var(--color-box-border) !important;
  box-shadow: var(--shadow-card) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ui.segment:hover,
.ui.card:hover,
.ui.cards > .card:hover,
.repository-summary:hover {
  border-color: var(--color-primary-alpha-35) !important;
  box-shadow: var(--shadow-glow) !important;
}

.ui.attached.segment,
.ui.top.attached.segment {
  border-top: 2px solid var(--color-primary) !important;
  background: var(--color-box-body) !important;
}

.ui.input input,
.ui.form input,
.ui.form textarea,
.ui.form select,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="url"],
textarea,
select {
  background: var(--color-input-bg) !important;
  border: 1px solid var(--color-box-border) !important;
  color: var(--color-text) !important;
  border-radius: 4px !important;
}
.ui.input input:focus,
.ui.form input:focus,
.ui.form textarea:focus,
.ui.form select:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px var(--color-primary-alpha-20), var(--shadow-glow) !important;
  outline: none !important;
}
input::placeholder,
textarea::placeholder {
  color: var(--color-text-muted) !important;
}

.ui.search input {
  background: var(--color-input-bg) !important;
  border-color: var(--color-box-border) !important;
  color: var(--color-text) !important;
}

.ui.button {
  background-color: var(--color-box-body-2) !important;
  border: 1px solid var(--color-box-border) !important;
  color: var(--color-text) !important;
  border-radius: 4px !important;
}
.ui.button:hover {
  background-color: var(--color-box-border) !important;
  border-color: var(--color-box-border-light) !important;
  color: var(--color-text-light) !important;
}

.ui.primary.button,
.ui.primary.button:not(.basic),
button.primary,
.ui.primary.buttons .button {
  background: linear-gradient(180deg, #9dcf45, #7ab02e) !important;
  border-color: #6b9a26 !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: var(--shadow-glow) !important;
}
.ui.primary.button:hover,
button.primary:hover {
  background: linear-gradient(180deg, #a8d86a, #8dc63f) !important;
  box-shadow: 0 0 16px rgba(141, 198, 63, 0.4) !important;
}

.ui.secondary.button:not(.menu):not(.pointing),
.ui.buttons .secondary.button {
  background: linear-gradient(180deg, #b0b0b0, #909090) !important;
  border-color: #808080 !important;
  color: #fff !important;
}
.ui.secondary.button:not(.menu):not(.pointing):hover {
  background: linear-gradient(180deg, #c0c0c0, #a0a0a0) !important;
}

.ui.red.button,
.ui.negative.button {
  background: linear-gradient(180deg, #e74c3c, #c0392b) !important;
  border-color: #a93226 !important;
  color: #fff !important;
}

.ui.basic.button,
.ui.basic.buttons .button {
  background-color: transparent !important;
  border: 1px solid var(--color-box-border) !important;
  color: var(--color-text-dim) !important;
}
.ui.basic.button:hover {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: var(--color-primary-alpha-35) !important;
  color: var(--color-primary-light) !important;
}

.ui.dropdown .menu,
.ui.dropdown > .menu {
  background: var(--color-box-body-2) !important;
  border: 1px solid var(--color-box-border) !important;
  box-shadow: var(--shadow-elevated) !important;
}
.ui.dropdown .menu > .item {
  color: var(--color-text) !important;
  border-top: 1px solid var(--color-divider) !important;
}
.ui.dropdown .menu > .item:hover,
.ui.dropdown .menu > .item.active,
.ui.dropdown .menu > .item.selected {
  background: var(--color-primary-alpha-10) !important;
  color: var(--color-primary-light) !important;
}

.ui.tabular.menu .item {
  color: var(--color-text-dim) !important;
  border-color: transparent !important;
}
.ui.tabular.menu .item:hover {
  color: var(--color-text-light) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}
.ui.tabular.menu .item.active {
  background: var(--color-box-body) !important;
  border-color: var(--color-primary) var(--color-box-border) transparent !important;
  border-top: 2px solid var(--color-primary) !important;
  color: var(--color-primary-light) !important;
}
.ui.tab.segment {
  background: var(--color-box-body) !important;
  border-color: var(--color-box-border) !important;
}

.ui.label {
  background: var(--color-box-body-2) !important;
  border: 1px solid var(--color-box-border) !important;
  color: var(--color-text-dim) !important;
}

.label[style*="background"] {
  border: none !important;
  box-shadow: var(--shadow-card) !important;
}

.ui.label.counter,
.ui.circular.label {
  background: var(--color-primary) !important;
  color: #000 !important;
}

.ui.green.label, .label.open {
  background: rgba(141, 198, 63, 0.12) !important;
  border-color: rgba(141, 198, 63, 0.30) !important;
  color: var(--color-success) !important;
}
.ui.red.label, .label.closed {
  background: rgba(231, 76, 60, 0.12) !important;
  border-color: rgba(231, 76, 60, 0.30) !important;
  color: var(--color-error) !important;
}
.ui.purple.label, .label.merged {
  background: var(--color-primary-alpha-10) !important;
  border-color: var(--color-primary-alpha-35) !important;
  color: var(--color-primary-light) !important;
}

.ui.table {
  background: var(--color-box-body) !important;
  border-color: var(--color-box-border) !important;
  color: var(--color-text) !important;
}
.ui.table thead th {
  background: var(--color-box-body-2) !important;
  border-bottom: 2px solid var(--color-primary-alpha-35) !important;
  color: var(--color-primary-light) !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.76em;
  letter-spacing: 0.06em;
}
.ui.table tbody tr {
  border-color: var(--color-divider) !important;
}
.ui.table tbody tr:hover {
  background: rgba(141, 198, 63, 0.03) !important;
}
.ui.table td {
  border-top: 1px solid var(--color-divider) !important;
}

code,
.markdown code {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  color: var(--color-primary-light) !important;
  border-radius: 4px;
  font-size: 0.88em;
  padding: 1px 5px;
}

pre,
.markdown pre,
.code-view pre {
  background: #0d0d0d !important;
  border: 1px solid var(--color-box-border) !important;
  border-radius: 6px !important;
}

pre code,
.markdown pre code {
  background: transparent !important;
  border: none !important;
  color: var(--color-text-light) !important;
  font-size: 0.875em;
  line-height: 1.6;
}

.diff-file-box .file-header {
  background: var(--color-box-body-2) !important;
  border-bottom: 1px solid var(--color-box-border) !important;
  color: var(--color-text) !important;
}
.diff-file-box {
  border: 1px solid var(--color-box-border) !important;
  border-radius: 6px !important;
  overflow: hidden;
}
.code-diff .del,
.diff-table tr.del td,
td.del {
  background: var(--color-diff-del-bg) !important;
  border-left: 3px solid var(--color-error) !important;
}
.code-diff .add,
.diff-table tr.add td,
td.add {
  background: var(--color-diff-add-bg) !important;
  border-left: 3px solid var(--color-success) !important;
}
.diff-table tr.del td .code,
.diff-table tr.del td code {
  color: #f5a5a5 !important;
}
.diff-table tr.add td .code,
.diff-table tr.add td code {
  color: #a8d86a !important;
}
.diff-table .line-num {
  background: var(--color-box-body-2) !important;
  border-right: 1px solid var(--color-box-border) !important;
  color: var(--color-text-muted) !important;
}

.issue.list .item,
.repository-list .item {
  border-bottom: 1px solid var(--color-divider) !important;
  padding: 12px 0 !important;
}

.issue.list .title a {
  color: var(--color-text) !important;
  font-weight: 500;
}
.issue.list .title a:hover {
  color: var(--color-primary-light) !important;
}

.ui.attached.header,
.ui.header {
  color: var(--color-text) !important;
  border-bottom: 1px solid var(--color-box-border) !important;
}

.ui.statistic .value {
  color: var(--color-primary-light) !important;
  font-weight: 700;
}
.ui.statistic .label {
  color: var(--color-text-dim) !important;
  text-transform: uppercase;
  font-size: 0.72em;
  letter-spacing: 0.06em;
}

.ui.message {
  background: var(--color-box-body-2) !important;
  border: 1px solid var(--color-box-border) !important;
  color: var(--color-text) !important;
}
.ui.positive.message, .ui.success.message {
  background: rgba(141, 198, 63, 0.08) !important;
  border-color: rgba(141, 198, 63, 0.30) !important;
  border-left: 3px solid var(--color-success) !important;
  color: #a8d86a !important;
}
.ui.negative.message, .ui.error.message {
  background: rgba(231, 76, 60, 0.08) !important;
  border-color: rgba(231, 76, 60, 0.30) !important;
  border-left: 3px solid var(--color-error) !important;
  color: #f5a5a5 !important;
}
.ui.warning.message {
  background: rgba(245, 166, 35, 0.08) !important;
  border-color: rgba(245, 166, 35, 0.30) !important;
  border-left: 3px solid var(--color-warning) !important;
  color: #fde68a !important;
}
.ui.info.message {
  background: rgba(93, 173, 226, 0.08) !important;
  border-color: rgba(93, 173, 226, 0.30) !important;
  border-left: 3px solid var(--color-info) !important;
  color: #aed6f1 !important;
}

.ui.progress {
  background: var(--color-box-body-2) !important;
  border-radius: 999px !important;
  overflow: hidden;
}
.ui.progress .bar {
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-light)) !important;
  border-radius: 999px !important;
  box-shadow: var(--shadow-glow);
}

.ui.pagination.menu .item {
  background: var(--color-box-body-2) !important;
  border-color: var(--color-box-border) !important;
  color: var(--color-text-dim) !important;
}
.ui.pagination.menu .item:hover {
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--color-primary-light) !important;
}
.ui.pagination.menu .item.active {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #000 !important;
}

.ui.avatar.image,
.avatar {
  border: 2px solid var(--color-box-border) !important;
}
.ui.avatar.image:hover,
.avatar:hover {
  border-color: var(--color-primary) !important;
  box-shadow: var(--shadow-glow) !important;
}

#footer {
  background: var(--color-body) !important;
  border-top: 2px solid var(--color-primary-alpha-35) !important;
  color: var(--color-text-muted) !important;
}
#footer a {
  color: var(--color-text-dim) !important;
}
#footer a:hover {
  color: var(--color-primary-light) !important;
}

.ui.divider,
.divider {
  border-color: var(--color-divider) !important;
}
.text.grey,
.ui.meta,
.meta,
.text-gray {
  color: var(--color-text-dim) !important;
}

.markdown h1,
.markdown h2,
.markdown h3,
.markdown h4 {
  color: var(--color-text) !important;
}
.markdown h1,
.markdown h2 {
  border-bottom: 1px solid var(--color-box-border);
  padding-bottom: 0.3em;
}
.markdown blockquote {
  border-left: 3px solid var(--color-primary);
  background: rgba(141, 198, 63, 0.04);
  color: var(--color-text-dim);
  padding: 8px 16px;
  border-radius: 0 6px 6px 0;
}

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  box-shadow: var(--shadow-glow);
}
