/*
 * Puppy Clean for Forgejo
 * Clean GitHub-ish dark theme with soft violet/blue accents.
 */

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

  --color-primary: #8b8cff;
  --color-primary-hover: #a5a6ff;
  --color-primary-active: #7778ee;
  --color-primary-dark-1: #7778ee;
  --color-primary-dark-2: #6667d9;
  --color-primary-dark-3: #5556c4;
  --color-primary-dark-4: #4445aa;
  --color-primary-dark-5: #37388e;
  --color-primary-dark-6: #2d2e75;
  --color-primary-dark-7: #25265f;
  --color-primary-light-1: #9b9cff;
  --color-primary-light-2: #aaaaff;
  --color-primary-light-3: #b8b8ff;
  --color-primary-light-4: #c7c7ff;
  --color-primary-light-5: #d7d7ff;
  --color-primary-light-6: #e6e6ff;
  --color-primary-light-7: #f2f2ff;

  --color-body: #0d1117;
  --color-box-header: #161b22;
  --color-box-body: #0f141b;
  --color-box-border: #30363d;

  --color-text: #e6edf3;
  --color-text-light: #c9d1d9;
  --color-text-light-1: #b1bac4;
  --color-text-light-2: #8b949e;
  --color-text-light-3: #6e7681;
  --color-text-dark: #ffffff;

  --color-input-background: #0d1117;
  --color-input-border: #30363d;
  --color-input-text: #e6edf3;

  --color-menu: #161b22;
  --color-card: #161b22;
  --color-markup-table-row: #0d1117;
  --color-markup-table-row-alt: #161b22;

  --color-navbar: #161b22;
  --color-header-wrapper: #0d1117;
  --color-footer: #0d1117;

  --color-secondary: #30363d;
  --color-secondary-hover: #3d444d;
  --color-secondary-active: #484f58;
  --color-secondary-dark-1: #282e35;
  --color-secondary-dark-2: #21262d;
  --color-secondary-dark-3: #1c2128;
  --color-secondary-dark-4: #161b22;
  --color-secondary-light-1: #3d444d;
  --color-secondary-light-2: #484f58;
  --color-secondary-light-3: #6e7681;
  --color-secondary-light-4: #8b949e;

  --color-green: #3fb950;
  --color-red: #f85149;
  --color-orange: #d29922;
  --color-yellow: #e3b341;
  --color-blue: #58a6ff;
  --color-purple: #bc8cff;
  --color-pink: #ff7bba;

  --color-diff-added-row-bg: #12361f;
  --color-diff-added-word-bg: #1f6f3a;
  --color-diff-removed-row-bg: #3b1518;
  --color-diff-removed-word-bg: #8e2429;

  --border-radius: 8px;
}

/* Page */
body {
  background: var(--color-body);
  color: var(--color-text);
}

/* Header/nav */
.navbar,
.following.bar.light,
.ui.secondary.menu {
  background: var(--color-navbar) !important;
  border-bottom: 1px solid var(--color-box-border) !important;
}

.navbar .item,
.following.bar .item {
  color: var(--color-text-light) !important;
}

.navbar .item:hover,
.following.bar .item:hover {
  color: var(--color-text) !important;
  background: rgba(139, 140, 255, 0.08) !important;
}

/* Cards/boxes */
.ui.segment,
.ui.segments,
.ui.attached.segment,
.repository .header-wrapper,
.repository.file.list #repo-files-table,
.issue.list > .item,
.comment,
.timeline-item .content,
.repository.view.issue .comment-list .comment {
  border-color: var(--color-box-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Buttons */
.ui.primary.button,
.ui.primary.buttons .button,
.ui.green.button,
.ui.green.buttons .button {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-weight: 600;
}

.ui.primary.button:hover,
.ui.green.button:hover {
  background: var(--color-primary-hover) !important;
}

.ui.button {
  border-radius: 8px !important;
}

/* Inputs */
.ui.input input,
.ui.form input,
.ui.form textarea,
.ui.dropdown,
.CodeMirror,
.markup,
input,
textarea {
  background: var(--color-input-background) !important;
  color: var(--color-input-text) !important;
  border-color: var(--color-input-border) !important;
  border-radius: 8px !important;
}

/* Repo file table */
.repository.file.list #repo-files-table {
  background: var(--color-box-body) !important;
}

.repository.file.list #repo-files-table thead th {
  background: var(--color-box-header) !important;
  border-color: var(--color-box-border) !important;
}

.repository.file.list #repo-files-table tbody tr:hover {
  background: rgba(139, 140, 255, 0.06) !important;
}

/* Labels/badges */
.ui.label,
.label {
  border-radius: 999px !important;
}

/* Markdown/code */
.markup code,
.markup pre,
.chroma {
  background: #161b22 !important;
  border-color: #30363d !important;
  border-radius: 8px !important;
}

.markup blockquote {
  color: var(--color-text-light-2);
  border-left-color: var(--color-primary);
}

/* Links */
a,
.ui.breadcrumb a,
.repo-title a {
  color: var(--color-blue);
}

a:hover {
  color: #79c0ff;
}

/* Focus ring */
*:focus-visible {
  outline: 2px solid rgba(139, 140, 255, 0.7) !important;
  outline-offset: 2px !important;
}
