/*
 * EvilHub Theme for Forgejo
 * Inspired by: "If Evil Overlords Designed GitHub"
 *
 * INSTALLATION:
 *   1. Copy to: custom/public/assets/css/theme-evilhub.css
 *   2. In app.ini under [ui]: THEMES = gitea,forgejo,evilhub
 *   3. Users select it via Settings → Appearance → Theme
 *      OR set as default: DEFAULT_THEME = evilhub
 *
 * OPTIONAL - gothic font (self-host or add to custom header template):
 *   <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700;900&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap" rel="stylesheet">
 *
 * TEMPLATE OVERRIDES (for full experience - see README at bottom):
 *   Rename sidebar items, replace icons with skulls, etc.
 */

/* ═══════════════════════════════════════════════════════════════════
   CORE COLOR VARIABLES
   ═══════════════════════════════════════════════════════════════════ */

:root,
[data-theme="evilhub"] {
    /* Primary red - the blood of your enemies */
    --color-primary:              #cc1111;
    --color-primary-dark-1:       #aa0000;
    --color-primary-dark-2:       #880000;
    --color-primary-dark-3:       #660000;
    --color-primary-light-1:      #dd2222;
    --color-primary-light-2:      #ee4444;
    --color-primary-light-3:      #ff6666;
    --color-primary-alpha-20:     rgba(204, 17, 17, 0.20);
    --color-primary-alpha-40:     rgba(204, 17, 17, 0.40);
    --color-primary-alpha-50:     rgba(204, 17, 17, 0.50);
    --color-primary-alpha-60:     rgba(204, 17, 17, 0.60);
    --color-primary-alpha-70:     rgba(204, 17, 17, 0.70);
    --color-primary-alpha-80:     rgba(204, 17, 17, 0.80);
    --color-primary-alpha-90:     rgba(204, 17, 17, 0.90);

    /* Background - the void from which evil springs */
    --color-body:                 #080508;
    --color-box-body:             #0d070d;
    --color-nav-bg:               #0f060f;
    --color-footer:               #0d060d;
    --color-sidebar-bg:           #0a050a;
    --color-menu-bg:              #0e060e;

    /* Cards, boxes, panels */
    --color-card:                 #120812;
    --color-box-header:           #150a15;

    /* Borders - thin veins of crimson */
    --color-border:               #3a0a0a;
    --color-border-dark:          #550f0f;
    --color-secondary-nav-bg:     #110711;

    /* Text - pale under the red sky */
    --color-text:                 #d4b0b0;
    --color-text-dark:            #e8cccc;
    --color-text-light:           #a07070;
    --color-text-lighter:         #804040;
    --color-text-lightest:        #602020;
    --color-label:                #c09090;

    /* Inputs */
    --color-input-bg:             #100610;
    --color-input-text:           #d4b0b0;
    --color-input-border:         #3a0a0a;
    --color-input-focus:          #cc1111;
    --color-placeholder-text:     #5a2525;

    /* Code blocks - dark terminals of doom */
    --color-code-bg:              #0a040a;
    --color-console-bg:           #050205;

    /* Highlights and selections */
    --color-highlight-bg:         rgba(204, 17, 17, 0.15);
    --color-diff-added-row:       rgba(60, 180, 60, 0.08);
    --color-diff-removed-row:     rgba(204, 17, 17, 0.15);

    /* Shadows */
    --color-box-shadow:           rgba(180, 0, 0, 0.3);
    --color-shadow:               rgba(180, 0, 0, 0.25);

    /* Alerts / statuses */
    --color-green:                #2a8a2a;
    --color-green-dark:           #1a6a1a;
    --color-yellow:               #8a6a00;
    --color-red:                  #cc1111;
    --color-orange:               #8a3300;
    --color-teal:                 #0a5a5a;
    --color-blue:                 #1a4a8a;
    --color-purple:               #5a1a8a;

    /* Timeline / activity indicators */
    --color-timeline:             #3a0a0a;

    /* Tooltips */
    --color-tooltip-bg:           #1a0a1a;
    --color-tooltip-text:         #d4b0b0;

    /* Reaction badge */
    --color-reaction-bg:          #1a0a0a;

    /* Misc */
    --color-menu-active:          #cc1111;
    --color-active-line:          rgba(204, 17, 17, 0.2);
    --color-markdown-table-row:   rgba(204, 17, 17, 0.05);

    /* Scrollbar */
    --color-scrollbar-bg:         #1a0a0a;
    --color-scrollbar-thumb:      #550f0f;

    --border-radius:              3px;
    --border-radius-small:        2px;
}

/* ═══════════════════════════════════════════════════════════════════
   FONTS — Gothic severity
   ═══════════════════════════════════════════════════════════════════ */

/* If you've loaded Cinzel + Crimson Text: */
body {
    font-family: 'Crimson Text', 'Georgia', 'Times New Roman', serif !important;
    font-size: 16px;
    background-color: #080508;
    color: #d4b0b0;
}

h1, h2, h3, h4, h5, h6,
.header,
.ui.header,
#navbar .item,
.repository .name {
    font-family: 'Cinzel', 'Palatino Linotype', 'Book Antiqua', serif !important;
    letter-spacing: 0.05em;
    text-transform: none;
}

/* ═══════════════════════════════════════════════════════════════════
   NAVBAR — The dark command bar above all
   ═══════════════════════════════════════════════════════════════════ */

#navbar,
.full.height > .navbar,
nav.navbar {
    background: linear-gradient(180deg, #0d040d 0%, #100610 100%) !important;
    border-bottom: 1px solid #550f0f !important;
    box-shadow: 0 2px 20px rgba(180, 0, 0, 0.4) !important;
}

#navbar .item,
#navbar a.item {
    color: #c09090 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.8em;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: color 0.2s, text-shadow 0.2s;
}

#navbar .item:hover,
#navbar a.item:hover {
    color: #ff4444 !important;
    text-shadow: 0 0 8px rgba(255, 60, 60, 0.8);
    background: transparent !important;
}

#navbar .item.active,
#navbar a.item.active {
    color: #ff2222 !important;
    text-shadow: 0 0 12px rgba(255, 40, 40, 0.9);
}

/* Logo area */
#navbar .logo img,
#navbar .navbar-logo {
    filter: hue-rotate(340deg) saturate(2) brightness(0.9);
}

/* ═══════════════════════════════════════════════════════════════════
   SEARCH BAR — "Search for victims... (we already know)"
   ═══════════════════════════════════════════════════════════════════ */

#navbar .ui.input input,
.navbar-search input[type="text"] {
    background: #0a040a !important;
    border: 1px solid #3a0a0a !important;
    color: #d4b0b0 !important;
    font-family: 'Crimson Text', serif;
}

#navbar .ui.input input::placeholder {
    color: #5a2222 !important;
    font-style: italic;
}

#navbar .ui.input input:focus {
    border-color: #cc1111 !important;
    box-shadow: 0 0 8px rgba(200, 0, 0, 0.4) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   SIDEBAR — Left panel of dread
   ═══════════════════════════════════════════════════════════════════ */

.left.sidebar,
.repository .sidebar,
.ui.secondary.vertical.menu {
    background: #0a050a !important;
    border-right: 1px solid #3a0a0a !important;
}

.ui.secondary.vertical.menu .item {
    color: #c09090 !important;
    border-radius: var(--border-radius) !important;
    transition: all 0.15s;
}

.ui.secondary.vertical.menu .item:hover {
    color: #ff4444 !important;
    background: rgba(180, 0, 0, 0.15) !important;
    text-shadow: 0 0 6px rgba(255, 0, 0, 0.5);
}

.ui.secondary.vertical.menu .item.active,
.ui.secondary.vertical.menu .active.item {
    color: #ff2222 !important;
    background: rgba(180, 0, 0, 0.2) !important;
    border-left: 3px solid #cc1111 !important;
    text-shadow: 0 0 8px rgba(255, 0, 0, 0.6);
}

/* ═══════════════════════════════════════════════════════════════════
   BUTTONS — Commands of annihilation
   ═══════════════════════════════════════════════════════════════════ */

.ui.button,
button.ui.button {
    background: #1a0808 !important;
    color: #c09090 !important;
    border: 1px solid #3a0a0a !important;
    font-family: 'Cinzel', serif !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.75em;
    transition: all 0.2s;
}

.ui.button:hover {
    background: #2a0a0a !important;
    border-color: #880000 !important;
    color: #ff8888 !important;
    box-shadow: 0 0 10px rgba(200, 0, 0, 0.35) !important;
}

.ui.primary.button,
.ui.red.button,
a.ui.primary.button,
.ui.green.button {
    background: linear-gradient(135deg, #cc1111 0%, #880000 100%) !important;
    color: #fff !important;
    border: 1px solid #ff2222 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
    box-shadow: 0 2px 12px rgba(200, 0, 0, 0.5) !important;
}

.ui.primary.button:hover,
a.ui.primary.button:hover {
    background: linear-gradient(135deg, #ee2222 0%, #aa0000 100%) !important;
    box-shadow: 0 4px 20px rgba(220, 0, 0, 0.7) !important;
    transform: translateY(-1px);
}

/* Delete / danger buttons - even more alarming */
.ui.red.button.delete,
.ui.button.danger {
    animation: pulse-red 2s ease-in-out infinite;
}

@keyframes pulse-red {
    0%, 100% { box-shadow: 0 0 8px rgba(255, 0, 0, 0.5); }
    50%       { box-shadow: 0 0 20px rgba(255, 0, 0, 0.9); }
}

/* ═══════════════════════════════════════════════════════════════════
   CARDS / SEGMENTS — Panels of suffering
   ═══════════════════════════════════════════════════════════════════ */

.ui.segment,
.ui.card,
.ui.cards > .card {
    background: #0f070f !important;
    border: 1px solid #2a0a0a !important;
    box-shadow: 0 2px 12px rgba(150, 0, 0, 0.2) !important;
}

.ui.segment.header,
.ui.attached.header {
    background: #150a15 !important;
    border-color: #3a0a0a !important;
    color: #e0b0b0 !important;
    font-family: 'Cinzel', serif;
}

/* Hover glow on cards */
.ui.card:hover,
.ui.cards > .card:hover {
    box-shadow: 0 4px 20px rgba(200, 0, 0, 0.3) !important;
    border-color: #550f0f !important;
    transform: translateY(-1px);
    transition: all 0.2s;
}

/* ═══════════════════════════════════════════════════════════════════
   REPOSITORY LIST — "Repositories of Ruin"
   ═══════════════════════════════════════════════════════════════════ */

.repository.list .item {
    border-color: #2a0a0a !important;
    transition: background 0.15s;
}

.repository.list .item:hover {
    background: rgba(180, 0, 0, 0.08) !important;
}

.repository.list .item .name a {
    color: #ff6666 !important;
    font-family: 'Cinzel', serif;
}

.repository.list .item .name a:hover {
    color: #ff9999 !important;
    text-shadow: 0 0 8px rgba(255, 100, 100, 0.6);
}

.repository.list .item .description {
    color: #906060 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   ISSUE TRACKER — "Issues of Despair"
   ═══════════════════════════════════════════════════════════════════ */

.issue.list .item {
    border-color: #2a0a0a !important;
    padding: 12px 0 !important;
}

.issue.list .item:hover {
    background: rgba(180, 0, 0, 0.06) !important;
}

.issue.list .item .title {
    color: #e0a0a0 !important;
    font-family: 'Cinzel', serif;
}

.issue.list .item .title:hover {
    color: #ff6666 !important;
}

/* Open issue icon - blood red */
.octicon-issue-opened {
    color: #cc1111 !important;
    filter: drop-shadow(0 0 3px rgba(200, 0, 0, 0.6));
}

/* Closed issue - dim grey of defeat */
.octicon-issue-closed {
    color: #663333 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   LABELS / BADGES
   ═══════════════════════════════════════════════════════════════════ */

.ui.label {
    background: #1a0808 !important;
    color: #c08080 !important;
    border: 1px solid #3a0a0a !important;
    font-family: 'Cinzel', serif;
    font-size: 0.7em;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.label.green, .ui.label.green {
    background: #0a1a0a !important;
    color: #4a9a4a !important;
    border-color: #1a3a1a !important;
}

.label.red, .ui.label.red {
    background: #1a0505 !important;
    color: #cc4444 !important;
    border-color: #440a0a !important;
}

/* ═══════════════════════════════════════════════════════════════════
   CODE & DIFFS — The terminal of doom
   ═══════════════════════════════════════════════════════════════════ */

pre, code,
.code-view pre,
.diff-file-box pre {
    background: #060306 !important;
    border: 1px solid #2a0a0a !important;
    color: #c8a8a8 !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
}

.code-view td.lines-code,
.code-view td.lines-num {
    background: #080408 !important;
    border-color: #200a20 !important;
}

.code-view td.lines-num {
    color: #5a2a2a !important;
}

/* Diff additions / deletions */
.diff-file-box .diff-added-row td {
    background: rgba(30, 100, 30, 0.12) !important;
}

.diff-file-box .diff-removed-row td {
    background: rgba(180, 0, 0, 0.15) !important;
}

.diff-file-box .diff-section-header td {
    background: #1a0a1a !important;
    color: #8a4a4a !important;
}

/* ═══════════════════════════════════════════════════════════════════
   COMMIT GRAPH / ACTIVITY — The timeline of destruction
   ═══════════════════════════════════════════════════════════════════ */

/* Contribution heatmap - shades of blood */
.contribution-graph rect[fill="#ebedf0"],
.heatmap-cell[title*="No"] {
    fill: #0f060f !important;
}

/* Override heatmap greens → blood reds */
[style*="fill: #9be9a8"] { fill: #330808 !important; }
[style*="fill: #40c463"] { fill: #660f0f !important; }
[style*="fill: #30a14e"] { fill: #aa1111 !important; }
[style*="fill: #216e39"] { fill: #cc1111 !important; }

/* ═══════════════════════════════════════════════════════════════════
   FORMS & INPUTS
   ═══════════════════════════════════════════════════════════════════ */

.ui.form input[type="text"],
.ui.form input[type="password"],
.ui.form input[type="email"],
.ui.form input[type="search"],
.ui.form textarea,
.ui.form select,
input[type="text"],
input[type="password"],
textarea {
    background: #0d050d !important;
    border: 1px solid #3a0a0a !important;
    color: #d4b0b0 !important;
    font-family: 'Crimson Text', serif !important;
    caret-color: #cc1111;
}

.ui.form input:focus,
.ui.form textarea:focus,
input:focus,
textarea:focus {
    border-color: #880000 !important;
    box-shadow: 0 0 0 2px rgba(180, 0, 0, 0.25), inset 0 0 6px rgba(180, 0, 0, 0.1) !important;
    outline: none;
}

/* Checkbox */
.ui.checkbox input:checked ~ .box:after,
.ui.checkbox input:checked ~ label:after {
    color: #cc1111 !important;
}

.ui.checkbox .box:before,
.ui.checkbox label:before {
    background: #0d050d !important;
    border-color: #3a0a0a !important;
}

/* ═══════════════════════════════════════════════════════════════════
   DROPDOWNS / MENUS
   ═══════════════════════════════════════════════════════════════════ */

.ui.dropdown .menu,
.ui.menu .ui.dropdown .menu {
    background: #0f060f !important;
    border: 1px solid #3a0a0a !important;
    box-shadow: 0 4px 20px rgba(180, 0, 0, 0.35) !important;
}

.ui.dropdown .menu > .item,
.ui.menu .ui.dropdown .menu > .item {
    color: #c09090 !important;
    font-family: 'Crimson Text', serif;
}

.ui.dropdown .menu > .item:hover,
.ui.menu .dropdown .menu > .item:hover {
    background: rgba(180, 0, 0, 0.2) !important;
    color: #ff8888 !important;
}

.ui.dropdown .menu > .divider {
    border-color: #3a0a0a !important;
}

/* ═══════════════════════════════════════════════════════════════════
   TABS
   ═══════════════════════════════════════════════════════════════════ */

.ui.tabular.menu {
    border-color: #3a0a0a !important;
}

.ui.tabular.menu .item {
    color: #906060 !important;
    border-color: transparent !important;
    font-family: 'Cinzel', serif;
    font-size: 0.78em;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ui.tabular.menu .item:hover {
    color: #cc6666 !important;
    background: rgba(180, 0, 0, 0.1) !important;
}

.ui.tabular.menu .active.item {
    color: #ff4444 !important;
    background: #0f070f !important;
    border-color: #3a0a0a !important;
    border-bottom-color: #0f070f !important;
    text-shadow: 0 0 8px rgba(255, 60, 60, 0.5);
}

/* ═══════════════════════════════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════════════════════════════ */

.ui.pagination.menu {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.ui.pagination.menu .item {
    background: #100610 !important;
    border: 1px solid #2a0a0a !important;
    color: #906060 !important;
    min-width: 36px;
    text-align: center;
}

.ui.pagination.menu .item:hover {
    background: #1a0a1a !important;
    color: #ff6666 !important;
    border-color: #550f0f !important;
}

.ui.pagination.menu .active.item {
    background: #330808 !important;
    color: #ff4444 !important;
    border-color: #cc1111 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   NOTIFICATIONS / ALERTS
   ═══════════════════════════════════════════════════════════════════ */

.ui.message {
    background: #100610 !important;
    border: 1px solid #3a0a0a !important;
    color: #c09090 !important;
    box-shadow: inset 3px 0 0 #cc1111 !important;
}

.ui.positive.message {
    background: #071007 !important;
    border-color: #1a3a1a !important;
    color: #6a9a6a !important;
    box-shadow: inset 3px 0 0 #2a6a2a !important;
}

.ui.negative.message,
.ui.error.message {
    background: #100505 !important;
    border-color: #550a0a !important;
    color: #cc6666 !important;
    box-shadow: inset 3px 0 0 #cc1111 !important;
}

.ui.warning.message {
    background: #100a05 !important;
    border-color: #3a2a0a !important;
    color: #aa8840 !important;
    box-shadow: inset 3px 0 0 #8a6600 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   FOOTER — "Your soul is property of EvilHub"
   ═══════════════════════════════════════════════════════════════════ */

#footer {
    background: #0a040a !important;
    border-top: 1px solid #3a0a0a !important;
    color: #6a3535 !important;
    font-family: 'Cinzel', serif;
    font-size: 0.7em;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

#footer a {
    color: #8a3535 !important;
}

#footer a:hover {
    color: #cc4444 !important;
    text-shadow: 0 0 6px rgba(200, 0, 0, 0.5);
}

/* ═══════════════════════════════════════════════════════════════════
   MARKDOWN / WIKI CONTENT
   ═══════════════════════════════════════════════════════════════════ */

.markup h1, .markup h2, .markup h3,
.markup h4, .markup h5, .markup h6 {
    color: #e0a0a0 !important;
    border-bottom: 1px solid #3a0a0a !important;
    font-family: 'Cinzel', serif !important;
}

.markup a {
    color: #cc4444 !important;
}

.markup a:hover {
    color: #ff6666 !important;
    text-shadow: 0 0 6px rgba(255, 80, 80, 0.5);
}

.markup blockquote {
    border-left: 4px solid #880000 !important;
    background: rgba(180, 0, 0, 0.07) !important;
    color: #a07070 !important;
}

.markup table thead {
    background: #150a15 !important;
}

.markup table thead th {
    color: #e0a0a0 !important;
    border-color: #3a0a0a !important;
    font-family: 'Cinzel', serif;
}

.markup table tbody tr {
    border-color: #2a0a0a !important;
}

.markup table tbody tr:nth-child(even) {
    background: rgba(180, 0, 0, 0.05) !important;
}

.markup hr {
    border-color: #3a0a0a !important;
}

/* ═══════════════════════════════════════════════════════════════════
   SCROLLBAR — Even the scrollbar bleeds
   ═══════════════════════════════════════════════════════════════════ */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #0a040a;
}

::-webkit-scrollbar-thumb {
    background: #3a0a0a;
    border-radius: 2px;
}

::-webkit-scrollbar-thumb:hover {
    background: #660f0f;
    box-shadow: 0 0 6px rgba(200, 0, 0, 0.5);
}

/* Firefox */
* {
    scrollbar-color: #3a0a0a #0a040a;
    scrollbar-width: thin;
}

/* ═══════════════════════════════════════════════════════════════════
   LINKS — General link styling
   ═══════════════════════════════════════════════════════════════════ */

a {
    color: #cc4444;
    transition: color 0.15s, text-shadow 0.15s;
}

a:hover {
    color: #ff6666;
    text-shadow: 0 0 6px rgba(255, 80, 80, 0.4);
}

/* ═══════════════════════════════════════════════════════════════════
   USER AVATAR BORDERS — Crowned in red
   ═══════════════════════════════════════════════════════════════════ */

.avatar,
img.avatar {
    border: 1px solid #3a0a0a !important;
    filter: brightness(0.85) contrast(1.1);
    transition: filter 0.2s, box-shadow 0.2s;
}

.avatar:hover,
img.avatar:hover {
    filter: brightness(1.0) contrast(1.1);
    box-shadow: 0 0 10px rgba(200, 0, 0, 0.5) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   STATS / COUNTERS — In the language of doom
   ═══════════════════════════════════════════════════════════════════ */

.statistic .value,
.ui.statistics .statistic .value {
    color: #cc1111 !important;
    font-family: 'Cinzel', serif !important;
    text-shadow: 0 0 10px rgba(200, 0, 0, 0.5);
}

.statistic .label,
.ui.statistics .statistic .label {
    color: #806060 !important;
    font-family: 'Cinzel', serif !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════════════
   PR / MERGE STATUS
   ═══════════════════════════════════════════════════════════════════ */

.branch-tag-item {
    background: #1a0808 !important;
    border-color: #3a0a0a !important;
    color: #c08080 !important;
}

/* Merge commit green → evil crimson */
.ui.green.label.merge,
.octicon-git-merge {
    color: #cc1111 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   EXPLORE / TRENDING — The popularity contest of despair
   ═══════════════════════════════════════════════════════════════════ */

.explore.repos .item:hover {
    background: rgba(180, 0, 0, 0.08) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   LOADING SPINNERS — The wheel of fate
   ═══════════════════════════════════════════════════════════════════ */

.ui.loader:before {
    border-color: #2a0a0a !important;
}

.ui.loader:after {
    border-color: #cc1111 transparent transparent !important;
    filter: drop-shadow(0 0 4px rgba(200, 0, 0, 0.7));
}

/* ═══════════════════════════════════════════════════════════════════
   TOASTS / FLASH MESSAGES
   ═══════════════════════════════════════════════════════════════════ */

#flashmessages .alert,
.flash-message {
    background: #0f060f !important;
    border: 1px solid #3a0a0a !important;
    color: #d4b0b0 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   MISC FLOURISHES
   ═══════════════════════════════════════════════════════════════════ */

/* Selection highlight */
::selection {
    background: rgba(180, 0, 0, 0.4);
    color: #fff;
}

::-moz-selection {
    background: rgba(180, 0, 0, 0.4);
    color: #fff;
}

/* Focus rings - evil glow */
:focus-visible {
    outline: 2px solid #cc1111 !important;
    outline-offset: 2px;
    box-shadow: 0 0 8px rgba(200, 0, 0, 0.4) !important;
}

/* Tooltip */
[data-tooltip]:before,
.ui.popup {
    background: #1a0a1a !important;
    border-color: #3a0a0a !important;
    color: #d4b0b0 !important;
    font-family: 'Crimson Text', serif;
}

/* Dividers */
.ui.divider {
    border-color: #2a0a0a !important;
}

/* Tag/topic pills */
.topic-tag,
.repo-topic {
    background: #1a0808 !important;
    color: #cc4444 !important;
    border: 1px solid #3a0a0a !important;
    font-family: 'Cinzel', serif;
    font-size: 0.7em;
    letter-spacing: 0.05em;
}

.topic-tag:hover,
.repo-topic:hover {
    background: #2a0a0a !important;
    color: #ff6666 !important;
    border-color: #660f0f !important;
}

/*
 * ═══════════════════════════════════════════════════════════════════
 * TEMPLATE OVERRIDES (for full EvilHub experience)
 * ═══════════════════════════════════════════════════════════════════
 *
 * To rename sidebar items and other text, create template overrides
 * in: custom/templates/
 *
 * Example: custom/templates/base/head.tmpl
 *   Override the site name and navigation labels.
 *
 * Skull SVG icon replacement:
 *   Copy default SVG icons from assets/img/svg/ into custom/public/assets/img/svg/
 *   Replace content with skull SVGs.
 *   Forgejo will prefer custom/ versions over built-in ones.
 *
 * Custom background image for the dashboard hero area:
 *   .page-content.dashboard { background-image: url('/assets/img/evil-castle.jpg'); }
 *   Place evil-castle.jpg in custom/public/assets/img/
 *
 * Mandatory Announcement panel (like in the image):
 *   Add to custom/templates/base/footer.tmpl or use the
 *   built-in Announcement Banner in admin settings.
 *
 * Suggested rename map (via template overrides):
 *   "Repositories"       → "Repositories of Ruin"
 *   "Issues"             → "Issues of Despair"
 *   "Pull Requests"      → "Pull Requests (Denied)"
 *   "Actions"            → "Actions (Always Failing)"
 *   "Wiki"               → "Wiki (Lies)"
 *   "Security"           → "Security (Not Secure)"
 *   "Insights"           → "Insights (Into Your Soul)"
 *   "Delete Account"     → strikethrough + "Denied."
 *
 * app.ini settings to complete the experience:
 *   [ui]
 *   THEMES         = gitea,forgejo,evilhub
 *   DEFAULT_THEME  = evilhub
 *   [server]
 *   APP_NAME       = EvilHub
 */
