/*
 * Compiler Party Dark Theme
 * A modern dark theme with subtle purple accents
 */

:root {
  /* Core colors */
  --color-primary: #9d7cd8;
  --color-primary-dark-1: #8668c4;
  --color-primary-dark-2: #7054b0;
  --color-primary-dark-3: #5a409c;
  --color-primary-light-1: #b190ec;
  --color-primary-light-2: #c5a4ff;
  --color-primary-light-3: #d9b8ff;
  --color-primary-alpha-10: rgba(157, 124, 216, 0.1);
  --color-primary-alpha-20: rgba(157, 124, 216, 0.2);
  --color-primary-alpha-40: rgba(157, 124, 216, 0.4);
  --color-primary-alpha-60: rgba(157, 124, 216, 0.6);
  --color-primary-alpha-80: rgba(157, 124, 216, 0.8);

  /* Background colors */
  --color-body: #1a1b26;
  --color-box-body: #1f2029;
  --color-box-body-highlight: #24252e;
  --color-secondary: #16161e;
  --color-secondary-dark-1: #101014;
  --color-secondary-dark-2: #0d0d10;
  --color-secondary-light-1: #24252e;
  --color-secondary-light-2: #2a2b36;
  --color-secondary-light-3: #32333e;
  --color-secondary-light-4: #3a3b47;
  --color-secondary-alpha-10: rgba(22, 22, 30, 0.1);
  --color-secondary-alpha-20: rgba(22, 22, 30, 0.2);
  --color-secondary-alpha-40: rgba(22, 22, 30, 0.4);
  --color-secondary-alpha-60: rgba(22, 22, 30, 0.6);
  --color-secondary-alpha-80: rgba(22, 22, 30, 0.8);

  /* Text colors */
  --color-text: #c0caf5;
  --color-text-dark: #a9b1d6;
  --color-text-light: #d5defa;
  --color-text-light-1: #e0e5ff;
  --color-text-light-2: #ebefff;
  --color-text-light-3: #f5f7ff;
  --color-placeholder-text: #565f89;

  /* Accent colors */
  --color-accent: #bb9af7;
  --color-hover: rgba(157, 124, 216, 0.15);
  --color-active: rgba(157, 124, 216, 0.25);

  /* Semantic colors */
  --color-success: #9ece6a;
  --color-warning: #e0af68;
  --color-error: #f7768e;
  --color-info: #7dcfff;

  /* Border colors */
  --color-border: #32333e;
  --color-border-light: #3a3b47;
  --color-border-dark: #24252e;

  /* Shadows */
  --color-shadow: rgba(0, 0, 0, 0.4);

  /* Button colors */
  --color-button: #32333e;
  --color-button-hover: #3a3b47;

  /* Input colors */
  --color-input-text: #c0caf5;
  --color-input-background: #1f2029;
  --color-input-border: #32333e;
  --color-input-border-hover: #565f89;

  /* Code colors */
  --color-code-bg: #16161e;
  --color-code-border: #32333e;

  /* Link colors */
  --color-link: #9d7cd8;
  --color-link-hover: #b190ec;

  /* Light/Dark scheme */
  color-scheme: dark;
}

/* Dark theme base */
body {
  background-color: var(--color-body);
  color: var(--color-text);
}

/* Header styling */
.ui.secondary.menu .item,
.ui.secondary.menu .dropdown.item {
  color: var(--color-text);
}

.ui.secondary.menu .item:hover,
.ui.secondary.menu .dropdown.item:hover {
  background: var(--color-hover);
  color: var(--color-text-light);
}

/* Navigation bar */
#navbar {
  background-color: var(--color-secondary);
  border-bottom: 1px solid var(--color-border);
}

/* Cards and segments */
.ui.segment,
.ui.segments .segment {
  background: var(--color-box-body);
  border-color: var(--color-border);
}

.ui.attached.segment {
  background: var(--color-box-body);
  border-color: var(--color-border);
}

/* Repository header */
.repo-header {
  background: var(--color-secondary);
  border-color: var(--color-border);
}

/* Buttons */
.ui.button {
  background: var(--color-button);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

.ui.button:hover {
  background: var(--color-button-hover);
  color: var(--color-text-light);
}

.ui.primary.button,
.ui.primary.buttons .button {
  background-color: var(--color-primary);
  color: white;
}

.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
  background-color: var(--color-primary-dark-1);
}

.ui.green.button {
  background-color: var(--color-success);
}

.ui.red.button {
  background-color: var(--color-error);
}

/* Form inputs */
.ui.input input,
.ui.form input:not([type]),
.ui.form input[type="text"],
.ui.form input[type="email"],
.ui.form input[type="password"],
.ui.form input[type="url"],
.ui.form textarea {
  background: var(--color-input-background);
  border-color: var(--color-input-border);
  color: var(--color-input-text);
}

.ui.input input:focus,
.ui.form input:focus,
.ui.form textarea:focus {
  border-color: var(--color-primary);
  background: var(--color-input-background);
}

/* Dropdown menus */
.ui.dropdown .menu,
.ui.selection.dropdown .menu {
  background: var(--color-box-body);
  border-color: var(--color-border);
}

.ui.dropdown .menu > .item,
.ui.selection.dropdown .menu > .item {
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.dropdown .menu > .item:hover,
.ui.selection.dropdown .menu > .item:hover {
  background: var(--color-hover);
  color: var(--color-text-light);
}

/* Tables */
.ui.table {
  background: var(--color-box-body);
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.table thead th {
  background: var(--color-secondary);
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.table tbody tr {
  border-color: var(--color-border);
}

.ui.table tbody tr:hover {
  background: var(--color-hover);
}

/* Labels */
.ui.label {
  background: var(--color-secondary-light-2);
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.primary.label {
  background-color: var(--color-primary);
  color: white;
}

/* Code blocks and diff */
.code-view,
.file-view {
  background: var(--color-code-bg);
  border-color: var(--color-code-border);
}

.blob-code,
.blob-num {
  background: var(--color-code-bg);
  color: var(--color-text);
  border-color: var(--color-border);
}

/* Diff styling */
.diff-file-header {
  background: var(--color-secondary);
  border-color: var(--color-border);
}

.diff-line-add {
  background-color: rgba(158, 206, 106, 0.15);
}

.diff-line-del {
  background-color: rgba(247, 118, 142, 0.15);
}

/* Issue and PR colors */
.issue.list > .item .title {
  color: var(--color-text-light);
}

.issue.list > .item .desc {
  color: var(--color-text-dark);
}

/* Activity feed */
.feeds .news .ui.avatar {
  border-color: var(--color-border);
}

/* Modals */
.ui.modal {
  background: var(--color-box-body);
  border-color: var(--color-border);
}

.ui.modal > .header {
  background: var(--color-secondary);
  color: var(--color-text-light);
  border-color: var(--color-border);
}

.ui.modal > .content {
  background: var(--color-box-body);
  color: var(--color-text);
}

.ui.modal > .actions {
  background: var(--color-secondary);
  border-color: var(--color-border);
}

/* Tabs and menus */
.ui.secondary.pointing.menu .active.item {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.ui.tabular.menu .active.item {
  background: var(--color-box-body);
  border-color: var(--color-border);
  color: var(--color-text-light);
}

/* Messages */
.ui.message {
  background: var(--color-secondary-light-1);
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.info.message {
  background: rgba(125, 207, 255, 0.1);
  color: var(--color-info);
  border-color: var(--color-info);
}

.ui.success.message {
  background: rgba(158, 206, 106, 0.1);
  color: var(--color-success);
  border-color: var(--color-success);
}

.ui.warning.message {
  background: rgba(224, 175, 104, 0.1);
  color: var(--color-warning);
  border-color: var(--color-warning);
}

.ui.error.message {
  background: rgba(247, 118, 142, 0.1);
  color: var(--color-error);
  border-color: var(--color-error);
}

/* Pagination */
.ui.pagination.menu {
  background: var(--color-secondary);
  border-color: var(--color-border);
}

.ui.pagination.menu .item {
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.pagination.menu .active.item {
  background: var(--color-primary);
  color: white;
}

/* Footer */
.footer {
  background: var(--color-secondary);
  border-color: var(--color-border);
  color: var(--color-text-dark);
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--color-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--color-secondary-light-3);
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-secondary-light-4);
}

/* Selection color */
::selection {
  background: var(--color-primary-alpha-40);
  color: var(--color-text-light);
}

/* Links */
a {
  color: var(--color-link);
}

a:hover {
  color: var(--color-link-hover);
}

/* Repository list */
.repository.list .item .header {
  color: var(--color-text-light);
}

.repository.list .item .description {
  color: var(--color-text-dark);
}

/* Commits */
.commits-table .sha {
  color: var(--color-primary);
  font-family: monospace;
}

/* File tree */
.file-tree-list .item {
  color: var(--color-text);
}

.file-tree-list .item:hover {
  background: var(--color-hover);
}

/* User profile */
.user-profile-header {
  background: var(--color-secondary);
  border-color: var(--color-border);
}

/* Dashboard */
.dashboard .news > .ui.grid > .column:first-child {
  background: var(--color-secondary);
}

/* Search */
.ui.search > .results {
  background: var(--color-box-body);
  border-color: var(--color-border);
}

.ui.search > .results .result {
  border-color: var(--color-border);
}

.ui.search > .results .result:hover {
  background: var(--color-hover);
}

/* Icons hover effects */
.octicon:hover,
.icon:hover {
  color: var(--color-primary);
}

/* Stats and counters */
.ui.statistic > .value,
.ui.statistics .statistic > .value {
  color: var(--color-text-light);
}

.ui.statistic > .label,
.ui.statistics .statistic > .label {
  color: var(--color-text-dark);
}

/* Breadcrumb */
.ui.breadcrumb a {
  color: var(--color-link);
}

.ui.breadcrumb .divider {
  color: var(--color-text-dark);
}

/* Toast notifications */
.toastify {
  background: var(--color-box-body);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

/* Markdown rendered content */
.markup {
  color: var(--color-text);
}

.markup h1, .markup h2, .markup h3, .markup h4, .markup h5, .markup h6 {
  color: var(--color-text-light);
  border-color: var(--color-border);
}

.markup code {
  background: var(--color-code-bg);
  color: var(--color-primary-light-1);
}

.markup pre {
  background: var(--color-code-bg);
  border-color: var(--color-code-border);
}

.markup blockquote {
  border-color: var(--color-primary);
  color: var(--color-text-dark);
}

.markup table th,
.markup table td {
  border-color: var(--color-border);
}

.markup hr {
  border-color: var(--color-border);
}

/* Loading indicator */
.ui.loader::after {
  border-color: var(--color-primary) transparent transparent;
}

/* Tooltips */
[data-tooltip]::before {
  background: var(--color-secondary);
  color: var(--color-text);
  border-color: var(--color-border);
}

/* Progress bars */
.ui.progress .bar {
  background: var(--color-primary);
}

/* Org and team pages */
.organization .menu {
  background: var(--color-secondary);
  border-color: var(--color-border);
}

/* Settings pages */
.ui.vertical.menu {
  background: var(--color-box-body);
  border-color: var(--color-border);
}

.ui.vertical.menu .item {
  color: var(--color-text);
  border-color: var(--color-border);
}

.ui.vertical.menu .active.item {
  background: var(--color-primary-alpha-20);
  color: var(--color-primary);
}

/* Emoji picker */
.emoji-picker {
  background: var(--color-box-body);
  border-color: var(--color-border);
}
