/*
 * PEOWCO Dark theme for Gitea
 * Based on the public peowco.com aesthetic, adapted for a dark UI:
 * - monochrome branding
 * - graphite / near-black surfaces
 * - crisp light text and borders
 * - minimal, high-contrast UI
 *
 * Install:
 * 1. Copy this file to: custom/public/assets/css/theme-peowco-dark.css
 * 2. Add "peowco-dark" to Gitea's themes in app.ini:
 *      [ui]
 *      THEMES = gitea,arc-green,peowco-dark
 *      DEFAULT_THEME = peowco-dark
 * 3. Restart Gitea.
 */

:root,
.theme-peowco-dark {
  --color-primary: #ffffff;
  --color-primary-contrast: #0b0b0b;
  --color-primary-dark-1: #e8e8e8;
  --color-primary-dark-2: #d6d6d6;
  --color-primary-dark-3: #c2c2c2;
  --color-primary-dark-4: #adadad;
  --color-primary-dark-5: #979797;
  --color-primary-light-1: #ffffff;
  --color-primary-light-2: #f8f8f8;
  --color-primary-light-3: #efefef;
  --color-primary-light-4: #e3e3e3;
  --color-primary-light-5: #d3d3d3;

  --color-red: #ffb9b9;
  --color-orange: #ffd1a6;
  --color-yellow: #ffe59a;
  --color-olive: #d8e7a4;
  --color-green: #b9e5c4;
  --color-teal: #aee5df;
  --color-blue: #bcd7ff;
  --color-violet: #d1c0ff;
  --color-purple: #d8c0ff;
  --color-pink: #ffc4e1;
  --color-brown: #d5bbb0;
  --color-black: #000000;
  --color-white: #ffffff;

  --color-body: #0d0d0f;
  --color-box-body: #151518;
  --color-box-header: #1b1b1f;
  --color-box-border: #2b2b31;
  --color-secondary: #17171b;
  --color-secondary-dark-1: #1f1f24;
  --color-secondary-dark-2: #27272d;
  --color-secondary-dark-3: #2f2f36;
  --color-secondary-dark-4: #3a3a42;
  --color-secondary-dark-5: #4a4a53;
  --color-secondary-light-1: #202026;
  --color-secondary-light-2: #292931;

  --color-text: #f3f3f4;
  --color-text-dark: #ffffff;
  --color-text-light: #c6c6cc;
  --color-text-light-1: #ababb4;
  --color-text-light-2: #94949d;
  --color-text-light-3: #7c7c86;
  --color-footer: #111114;
  --color-timeline: #2b2b31;
  --color-input-text: #f5f5f6;
  --color-input-background: #111115;
  --color-input-border: #2f2f37;
  --color-input-border-hover: #f0f0f0;
  --color-input-border-invalid: #8c8c94;
  --color-light: #f7f7f8;
  --color-light-mono: #ffffff;
  --color-dark-1: #0f0f12;
  --color-dark-2: #16161a;
  --color-dark-3: #1d1d22;
  --color-dark-4: #27272d;
  --color-dark-5: #36363e;
  --color-dark-6: #4d4d56;

  --color-hover: rgba(255, 255, 255, 0.06);
  --color-active: rgba(255, 255, 255, 0.1);
  --color-menu: #111114;
  --color-card: #151518;
  --color-markup-code-block: #101014;
  --color-markup-table-row: #141419;
  --color-markup-table-row-hover: #1b1b21;
  --color-markup-table-cell: #2a2a31;
  --color-markup-font: #f2f2f4;
  --color-markup-link: #ffffff;
  --color-markup-link-hover: #d8d8de;
  --color-markup-code-inline: rgba(255, 255, 255, 0.08);
  --color-markup-code-inline-bg: #17171d;
  --color-markup-code-inline-border: #2b2b33;
  --color-diff-removed-word-bg: rgba(255, 185, 185, 0.18);
  --color-diff-added-word-bg: rgba(185, 229, 196, 0.18);

  --color-nav-bg: rgba(12, 12, 14, 0.86);
  --color-nav-hover-bg: rgba(255, 255, 255, 0.07);
  --color-nav-text: #f2f2f4;
  --color-nav-text-secondary: #a9a9b2;
  --color-nav-border: #26262d;

  --color-label-bg: #19191f;
  --color-label-text: #efeff2;
  --color-label-border: #303038;

  --color-btn: #f4f4f4;
  --color-btn-text: #0c0c0f;
  --color-btn-hover: #ffffff;
  --color-btn-active: #dddddd;
  --color-btn-secondary: #18181d;
  --color-btn-secondary-text: #f0f0f2;
  --color-btn-secondary-border: #33333b;
  --color-btn-secondary-hover: #212129;

  --color-state-success-bg: #131a15;
  --color-state-success-text: #d6f0dc;
  --color-state-warning-bg: #1b1812;
  --color-state-warning-text: #f3e2ba;
  --color-state-error-bg: #1d1415;
  --color-state-error-text: #f2c7ca;
  --color-state-info-bg: #13171d;
  --color-state-info-text: #d9e4f4;

  --border-radius-small: 8px;
  --border-radius: 12px;
  --border-radius-medium: 14px;
  --border-radius-large: 18px;
  --border-radius-full: 999px;

  --font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-family-monospace: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.theme-peowco-dark body,
body.theme-peowco-dark {
  background: linear-gradient(180deg, #0a0a0c 0%, #111115 100%);
  color: var(--color-text);
  font-family: var(--font-family-base);
}

.theme-peowco-dark .full.height,
.theme-peowco-dark .page-content,
body.theme-peowco-dark .full.height,
body.theme-peowco-dark .page-content {
  background: transparent;
}

.theme-peowco-dark .ui.top.menu,
.theme-peowco-dark .ui.secondary.menu,
body.theme-peowco-dark .ui.top.menu,
body.theme-peowco-dark .ui.secondary.menu {
  background: var(--color-nav-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-nav-border);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

.theme-peowco-dark .ui.menu .item,
.theme-peowco-dark .ui.menu .item > a,
body.theme-peowco-dark .ui.menu .item,
body.theme-peowco-dark .ui.menu .item > a {
  color: var(--color-nav-text);
}

.theme-peowco-dark .ui.menu .item .text.muted,
.theme-peowco-dark .ui.menu .item .description,
body.theme-peowco-dark .ui.menu .item .text.muted,
body.theme-peowco-dark .ui.menu .item .description {
  color: var(--color-nav-text-secondary);
}

.theme-peowco-dark .ui.menu .active.item,
.theme-peowco-dark .ui.menu .item:hover,
body.theme-peowco-dark .ui.menu .active.item,
body.theme-peowco-dark .ui.menu .item:hover {
  background: var(--color-nav-hover-bg);
  color: #ffffff;
}

.theme-peowco-dark .ui.card,
.theme-peowco-dark .ui.segment,
.theme-peowco-dark .ui.table,
.theme-peowco-dark .repository .ui.top.attached.header,
.theme-peowco-dark .repository .ui.attached.segment,
.theme-peowco-dark .user.profile .ui.card,
body.theme-peowco-dark .ui.card,
body.theme-peowco-dark .ui.segment,
body.theme-peowco-dark .ui.table,
body.theme-peowco-dark .repository .ui.top.attached.header,
body.theme-peowco-dark .repository .ui.attached.segment,
body.theme-peowco-dark .user.profile .ui.card {
  background: rgba(22, 22, 26, 0.96);
  border: 1px solid var(--color-box-border);
  border-radius: var(--border-radius-medium);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.38);
}

.theme-peowco-dark .ui.attached.header,
body.theme-peowco-dark .ui.attached.header {
  background: #1a1a1f;
  border-color: var(--color-box-border);
  color: var(--color-text);
}

.theme-peowco-dark .ui.button,
body.theme-peowco-dark .ui.button {
  border-radius: var(--border-radius);
  font-weight: 600;
  transition: all 0.15s ease;
}

.theme-peowco-dark .ui.primary.button,
.theme-peowco-dark .ui.green.button,
.theme-peowco-dark .ui.basic.green.button,
body.theme-peowco-dark .ui.primary.button,
body.theme-peowco-dark .ui.green.button,
body.theme-peowco-dark .ui.basic.green.button {
  background: #f3f3f4;
  color: #0c0c0f;
  border: 1px solid #f3f3f4;
}

.theme-peowco-dark .ui.primary.button:hover,
.theme-peowco-dark .ui.green.button:hover,
.theme-peowco-dark .ui.basic.green.button:hover,
body.theme-peowco-dark .ui.primary.button:hover,
body.theme-peowco-dark .ui.green.button:hover,
body.theme-peowco-dark .ui.basic.green.button:hover {
  background: #ffffff;
  border-color: #ffffff;
}

.theme-peowco-dark .ui.basic.button,
.theme-peowco-dark .ui.button:not(.primary):not(.green),
body.theme-peowco-dark .ui.basic.button,
body.theme-peowco-dark .ui.button:not(.primary):not(.green) {
  background: #18181d;
  color: #f2f2f4;
  border: 1px solid var(--color-btn-secondary-border);
}

.theme-peowco-dark .ui.basic.button:hover,
.theme-peowco-dark .ui.button:not(.primary):not(.green):hover,
body.theme-peowco-dark .ui.basic.button:hover,
body.theme-peowco-dark .ui.button:not(.primary):not(.green):hover {
  background: #212129;
  border-color: #4c4c55;
}

.theme-peowco-dark .ui.input input,
.theme-peowco-dark textarea,
body.theme-peowco-dark .ui.input input,
body.theme-peowco-dark textarea {
  background: #101015;
  border: 1px solid var(--color-input-border);
  border-radius: 12px;
  color: var(--color-input-text);
}

.theme-peowco-dark .ui.input input:focus,
.theme-peowco-dark textarea:focus,
body.theme-peowco-dark .ui.input input:focus,
body.theme-peowco-dark textarea:focus {
  border-color: #efefef;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
}

.theme-peowco-dark a,
body.theme-peowco-dark a {
  color: #ffffff;
}

.theme-peowco-dark a:hover,
body.theme-peowco-dark a:hover {
  color: #d7d7dd;
}

.theme-peowco-dark .ui.label,
.theme-peowco-dark .ui.basic.label,
body.theme-peowco-dark .ui.label,
body.theme-peowco-dark .ui.basic.label {
  background: var(--color-label-bg);
  color: var(--color-label-text);
  border: 1px solid var(--color-label-border);
  border-radius: 999px;
}

.theme-peowco-dark .repo-header,
.theme-peowco-dark .repository .repo-title,
body.theme-peowco-dark .repo-header,
body.theme-peowco-dark .repository .repo-title {
  letter-spacing: 0.01em;
}

.theme-peowco-dark .repository .ui.tabs.container .item,
body.theme-peowco-dark .repository .ui.tabs.container .item {
  border-radius: 10px 10px 0 0;
}

.theme-peowco-dark .ui.tabular.menu .active.item,
body.theme-peowco-dark .ui.tabular.menu .active.item {
  background: #17171b;
  border-color: var(--color-box-border);
  border-bottom-color: #17171b;
}

.theme-peowco-dark .ui.table,
body.theme-peowco-dark .ui.table {
  color: var(--color-text);
}

.theme-peowco-dark .ui.table thead th,
body.theme-peowco-dark .ui.table thead th {
  background: #1a1a1f;
  color: #f2f2f4;
}

.theme-peowco-dark .ui.table tr td,
body.theme-peowco-dark .ui.table tr td {
  border-top-color: #27272f;
}

.theme-peowco-dark .ui.table tr:hover td,
body.theme-peowco-dark .ui.table tr:hover td {
  background: #1a1a20;
}

.theme-peowco-dark .repository.file.list #repo-files-table tr:hover,
body.theme-peowco-dark .repository.file.list #repo-files-table tr:hover {
  background: #1a1a20;
}

.theme-peowco-dark .ui.selection.dropdown,
.theme-peowco-dark .ui.dropdown .menu,
body.theme-peowco-dark .ui.selection.dropdown,
body.theme-peowco-dark .ui.dropdown .menu {
  background: #16161b;
  border: 1px solid var(--color-box-border);
  border-radius: 12px;
  color: var(--color-text);
}

.theme-peowco-dark .ui.message,
body.theme-peowco-dark .ui.message {
  background: #17171c;
  color: #f2f2f4;
  border: 1px solid var(--color-box-border);
  border-radius: 14px;
}

.theme-peowco-dark .ui.positive.message,
.theme-peowco-dark .ui.success.message,
body.theme-peowco-dark .ui.positive.message,
body.theme-peowco-dark .ui.success.message {
  background: var(--color-state-success-bg);
  color: var(--color-state-success-text);
  border-color: #294132;
}

.theme-peowco-dark .ui.warning.message,
body.theme-peowco-dark .ui.warning.message {
  background: var(--color-state-warning-bg);
  color: var(--color-state-warning-text);
  border-color: #45381f;
}

.theme-peowco-dark .ui.negative.message,
body.theme-peowco-dark .ui.negative.message {
  background: var(--color-state-error-bg);
  color: var(--color-state-error-text);
  border-color: #4a292d;
}

.theme-peowco-dark .footer,
body.theme-peowco-dark .footer {
  background: transparent;
  color: #9a9aa3;
}

.theme-peowco-dark .ui.vertical.menu,
body.theme-peowco-dark .ui.vertical.menu {
  background: #141419;
  border-color: var(--color-box-border);
}

.theme-peowco-dark .ui.vertical.menu .item,
body.theme-peowco-dark .ui.vertical.menu .item {
  color: var(--color-text);
}

.theme-peowco-dark .ui.vertical.menu .item.active,
body.theme-peowco-dark .ui.vertical.menu .item.active {
  background: #1a1a20;
  border-left: 3px solid #f2f2f4;
  color: #ffffff;
}

.theme-peowco-dark .ui.avatar.image,
.theme-peowco-dark .ui.circular.image,
body.theme-peowco-dark .ui.avatar.image,
body.theme-peowco-dark .ui.circular.image {
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.theme-peowco-dark .repository .diff-file-box .file-header,
body.theme-peowco-dark .repository .diff-file-box .file-header {
  background: #1a1a1f;
}

.theme-peowco-dark .chroma,
.theme-peowco-dark pre,
body.theme-peowco-dark .chroma,
body.theme-peowco-dark pre {
  background: #0f0f14 !important;
  border: 1px solid #26262e;
  border-radius: 12px;
}

.theme-peowco-dark .ui.modal,
body.theme-peowco-dark .ui.modal {
  background: #16161b;
  color: var(--color-text);
  border-radius: 18px;
  border: 1px solid var(--color-box-border);
}

.theme-peowco-dark .home .hero,
body.theme-peowco-dark .home .hero {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.06), transparent 34%),
    linear-gradient(180deg, #141419 0%, #101015 100%);
  border: 1px solid #282830;
  border-radius: 22px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.42);
}

.theme-peowco-dark .ui.divider,
body.theme-peowco-dark .ui.divider {
  border-top-color: #25252d;
  border-bottom-color: transparent;
}

.theme-peowco-dark .ui.form .field > label,
body.theme-peowco-dark .ui.form .field > label,
.theme-peowco-dark .ui.header,
body.theme-peowco-dark .ui.header,
.theme-peowco-dark .muted,
body.theme-peowco-dark .muted {
  color: var(--color-text);
}

.theme-peowco-dark .text.grey,
.theme-peowco-dark .ui.text.grey,
body.theme-peowco-dark .text.grey,
body.theme-peowco-dark .ui.text.grey {
  color: var(--color-text-light) !important;
}

