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

    /* Nexus-inspired palette */
    --nexus-bg: #0f172a;
    --nexus-panel-30: rgba(30, 41, 59, 0.3);
    --nexus-panel-35: rgba(30, 41, 59, 0.35);
    --nexus-panel-40: rgba(30, 41, 59, 0.4);
    --nexus-panel-50: rgba(30, 41, 59, 0.5);
    --nexus-panel-60: rgba(30, 41, 59, 0.6);
    --nexus-border: rgba(255, 255, 255, 0.1);
    --nexus-border-weak: rgba(255, 255, 255, 0.06);
    --nexus-text: rgba(255, 255, 255, 0.92);
    --nexus-text-muted: #94a3b8;
    --nexus-text-strong: #e2e8f0;
    --nexus-blue: #3b82f6;
    --nexus-blue-soft: #60a5fa;
    --nexus-purple: #a855f7;
    --nexus-red: #ef4444;
    --nexus-green: #22c55e;
    --nexus-amber: #f59e0b;

    /* Map to common Gitea theme variables (best-effort; Gitea may use more internally) */
    --color-primary: var(--nexus-blue);
    --color-primary-alpha-10: rgba(59, 130, 246, 0.1);
    --color-primary-alpha-20: rgba(59, 130, 246, 0.2);
    --color-secondary: var(--nexus-purple);
    --color-body: var(--nexus-bg);
    --color-box-header: var(--nexus-panel-50);
    --color-box-body: var(--nexus-panel-30);
    --color-text-light: #ffffff;
    --color-text: var(--nexus-text);
    --color-caret: var(--nexus-blue);
    --color-link: var(--nexus-blue);
    --color-link-hover: var(--nexus-blue-soft);
    --color-navbar: var(--nexus-panel-50);
    --color-menu: var(--nexus-panel-50);
    --color-card: var(--nexus-panel-50);
    --color-markup-code-block: var(--nexus-panel-40);
    --color-input-background: var(--nexus-panel-30);
    --color-input-text: var(--nexus-text);
    --color-input-border: rgba(255, 255, 255, 0.12);
    --color-input-border-hover: rgba(59, 130, 246, 0.65);
    --color-label-bg: var(--nexus-panel-40);
    --color-label-text: var(--nexus-text-strong);
    --color-button: var(--nexus-panel-35);
    --color-button-hover: var(--nexus-panel-60);
    --color-button-text: var(--nexus-text);
    --color-button-border: rgba(255, 255, 255, 0.12);

    /* Additional semantic colors used across issues/PR/diffs */
    --color-red: var(--nexus-red);
    --color-green: var(--nexus-green);
    --color-yellow: var(--nexus-amber);
    --color-orange: var(--nexus-amber);
    --color-blue: var(--nexus-blue);
    --color-purple: var(--nexus-purple);
    --color-grey: var(--nexus-text-muted);

    --color-diff-added: rgba(34, 197, 94, 0.18);
    --color-diff-removed: rgba(239, 68, 68, 0.18);
    --color-diff-added-word: rgba(34, 197, 94, 0.28);
    --color-diff-removed-word: rgba(239, 68, 68, 0.28);
}

body {
    background-color: var(--color-body) !important;
    color: var(--color-text) !important;
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif !important;
}

/* Base links */
a { color: var(--color-link) !important; }
a:hover { color: var(--color-link-hover) !important; }

/* Top/nav menus */
.ui.menu,
.navbar,
.ui.top.fixed.menu {
    background: var(--color-navbar) !important;
    border-color: var(--nexus-border) !important;
}
.ui.menu .item,
.navbar .item {
    color: var(--color-text) !important;
}
.ui.secondary.menu .item {
    color: var(--nexus-text-muted) !important;
}
.ui.menu .active.item,
.navbar .active.item {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
}

/* Panels / cards / segments */
.ui.segment,
.ui.segments,
.ui.card,
.ui.cards > .card,
.repository .ui.segment,
.user.profile .ui.segment {
    background: var(--color-card) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
    color: var(--color-text) !important;
}

/* Headers inside boxes */
.ui.attached.header,
.ui.top.attached.header,
.ui.header,
.ui.dividing.header {
    color: #ffffff !important;
    border-color: var(--nexus-border) !important;
}

/* Footer */
footer {
    background: var(--nexus-panel-35) !important;
    border-top: 1px solid var(--nexus-border) !important;
    color: var(--nexus-text-muted) !important;
}

/* Tables (repo file list, settings lists, etc.) */
.ui.table {
    background: var(--nexus-panel-50) !important;
    border-color: var(--nexus-border) !important;
    color: var(--color-text) !important;
}
.ui.table thead th {
    background: var(--nexus-panel-50) !important;
    color: var(--nexus-text-muted) !important;
    border-color: var(--nexus-border) !important;
}
.ui.table tbody tr td {
    border-color: var(--nexus-border-weak) !important;
}
.ui.table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

/* Forms / inputs */
input,
textarea,
select,
.ui.input input,
.ui.form input,
.ui.form textarea,
.ui.form select {
    background: var(--color-input-background) !important;
    color: var(--color-input-text) !important;
    border-color: var(--color-input-border) !important;
}
input:focus,
textarea:focus,
select:focus,
.ui.input input:focus,
.ui.form input:focus,
.ui.form textarea:focus,
.ui.form select:focus {
    border-color: var(--color-input-border-hover) !important;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35) !important;
}
.ui.form .field > label {
    color: var(--nexus-text-muted) !important;
}
.ui.form .help,
.ui.form .description {
    color: var(--nexus-text-muted) !important;
}

/* Dropdowns / menus */
.ui.dropdown .menu,
.ui.selection.dropdown .menu,
.ui.dropdown.visible .menu {
    background: var(--nexus-panel-60) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
}
.ui.dropdown .menu > .item {
    color: var(--color-text) !important;
}
.ui.dropdown .menu > .item:hover,
.ui.dropdown .menu > .active.item {
    background: rgba(255, 255, 255, 0.06) !important;
}

/* Buttons */
.ui.button,
button.ui.button {
    background: var(--color-button) !important;
    color: var(--color-button-text) !important;
    border: 1px solid var(--color-button-border) !important;
    box-shadow: none !important;
}
.ui.button:hover,
button.ui.button:hover {
    background: var(--color-button-hover) !important;
}
.ui.primary.button,
.ui.blue.button {
    background: rgba(59, 130, 246, 0.22) !important;
    border-color: rgba(59, 130, 246, 0.45) !important;
    color: #ffffff !important;
}
.ui.primary.button:hover,
.ui.blue.button:hover {
    background: rgba(59, 130, 246, 0.32) !important;
}
.ui.positive.button,
.ui.green.button {
    background: rgba(34, 197, 94, 0.18) !important;
    border-color: rgba(34, 197, 94, 0.45) !important;
    color: #ffffff !important;
}
.ui.negative.button,
.ui.red.button {
    background: rgba(239, 68, 68, 0.18) !important;
    border-color: rgba(239, 68, 68, 0.45) !important;
    color: #ffffff !important;
}
.ui.basic.button {
    background: transparent !important;
    border-color: var(--nexus-border) !important;
    color: var(--color-text) !important;
}
.ui.basic.button:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

/* Labels / badges */
.ui.label,
.label {
    background: var(--color-label-bg) !important;
    color: var(--color-label-text) !important;
    border: 1px solid var(--nexus-border) !important;
}
.ui.blue.label {
    background: rgba(59, 130, 246, 0.18) !important;
    border-color: rgba(59, 130, 246, 0.35) !important;
    color: #ffffff !important;
}
.ui.purple.label {
    background: rgba(168, 85, 247, 0.18) !important;
    border-color: rgba(168, 85, 247, 0.35) !important;
    color: #ffffff !important;
}

/* Messages / notices */
.ui.message {
    background: var(--nexus-panel-40) !important;
    color: var(--color-text) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
}
.ui.positive.message { border-color: rgba(34, 197, 94, 0.45) !important; }
.ui.negative.message { border-color: rgba(239, 68, 68, 0.45) !important; }
.ui.warning.message { border-color: rgba(245, 158, 11, 0.45) !important; }

/* Tabs */
.ui.tabular.menu {
    background: transparent !important;
    border-color: var(--nexus-border) !important;
}
.ui.tabular.menu .item {
    color: var(--nexus-text-muted) !important;
    border-color: var(--nexus-border) !important;
}
.ui.tabular.menu .active.item {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
}

/* Modals */
.ui.modal {
    background: var(--nexus-panel-60) !important;
    color: var(--color-text) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
}
.ui.modal > .header,
.ui.modal > .actions {
    background: rgba(15, 23, 42, 0.85) !important;
    border-color: var(--nexus-border) !important;
    color: #ffffff !important;
}

/* Markdown / code */
pre,
code,
.markup pre,
.markdown pre {
    background: var(--color-markup-code-block) !important;
    border: 1px solid var(--nexus-border) !important;
    color: var(--nexus-text-strong) !important;
}
blockquote {
    border-left: 3px solid rgba(59, 130, 246, 0.55) !important;
    color: var(--nexus-text-muted) !important;
}
hr {
    border-color: var(--nexus-border) !important;
}

/* Diffs (best-effort selectors; cover common patterns) */
.diff-file-header,
.diff-file-box .header,
.diff-box .header {
    background: var(--nexus-panel-50) !important;
    border-color: var(--nexus-border) !important;
    color: #ffffff !important;
}
.diff-file-box,
.diff-box {
    background: var(--nexus-panel-35) !important;
    border: 1px solid var(--nexus-border) !important;
}
.diff-added,
.diff-add,
.added {
    background: var(--color-diff-added) !important;
}
.diff-removed,
.diff-del,
.removed {
    background: var(--color-diff-removed) !important;
}

/* Code Editor Dark Mode */
.monaco-editor,
.monaco-editor-background,
.monaco-editor .inputarea.ime-input {
    background-color: var(--color-body) !important;
}

/* Popups / tooltips */
.ui.popup,
.ui.tooltip {
    background: var(--nexus-panel-60) !important;
    color: var(--color-text) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
}

/* Pagination */
.ui.pagination.menu {
    background: var(--nexus-panel-50) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
}
.ui.pagination.menu .item {
    color: var(--color-text) !important;
}
.ui.pagination.menu .active.item {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
}

/* Breadcrumbs */
.ui.breadcrumb .section,
.ui.breadcrumb a {
    color: var(--nexus-text-muted) !important;
}
.ui.breadcrumb .active.section {
    color: #ffffff !important;
}
.ui.breadcrumb .divider {
    color: rgba(255, 255, 255, 0.35) !important;
}

/* Dividers */
.ui.divider {
    border-top-color: var(--nexus-border) !important;
    border-bottom-color: var(--nexus-border) !important;
    color: var(--nexus-text-muted) !important;
}

/* Lists / muted copy */
.ui.list .item,
.ui.relaxed.list .item {
    color: var(--color-text) !important;
}
.muted,
.text.muted,
.secondary.text,
.description,
.ui.header .sub.header,
.ui.secondary.header {
    color: var(--nexus-text-muted) !important;
}

/* Comments / timelines */
.ui.comments .comment,
.comment,
.timeline .item {
    background: var(--nexus-panel-40) !important;
    border: 1px solid var(--nexus-border) !important;
    box-shadow: none !important;
    color: var(--color-text) !important;
}

/* Checkboxes */
.ui.checkbox label {
    color: var(--color-text) !important;
}
.ui.checkbox label:before {
    background: var(--nexus-panel-40) !important;
    border-color: var(--nexus-border) !important;
}
.ui.checkbox input:checked ~ label:before {
    background: rgba(59, 130, 246, 0.22) !important;
    border-color: rgba(59, 130, 246, 0.45) !important;
}
.ui.checkbox input:checked ~ label:after {
    color: #ffffff !important;
}

/* Progress bars */
.ui.progress {
    background: var(--nexus-panel-40) !important;
    border: 1px solid var(--nexus-border) !important;
}
.ui.progress .bar {
    background: rgba(59, 130, 246, 0.45) !important;
}
