Files
codex-obscura-gitea-theme/theme-custom.css
2026-03-27 14:50:18 -04:00

652 lines
18 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
gitea-theme-meta-info { --theme-display-name: "Codex Obscura"; }\n:root { --is-dark-theme: true; }
/* ============================================================
CODEX OBSCURA — Gitea Custom Theme
Fall Palette × Dark Academia × Pixel Borders
Matches the Hugo theme aesthetic
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=VT323&family=IM+Fell+English:ital@0;1&family=Josefin+Sans:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap');
/* ── Core colour overrides ───────────────────────────────── */
:root {
--color-primary: #d4a228;
--color-primary-dark: #a07818;
--color-primary-light: #f0c040;
--color-secondary: #c4601c;
--color-bg-primary: #130e07;
--color-bg-secondary: #1c1509;
--color-bg-tertiary: #261c0e;
--color-bg-hover: #312414;
--color-primary-light-4: #3a2a14;
--color-primary-light-3: #6a4018;
--color-primary-light-2: #a07818;
--color-primary-light-1: #c4881c;
--color-primary: #d4a228;
--color-primary-dark-1: #d4a228;
--color-primary-dark-2: #e8b830;
--color-primary-dark-3: #f0c040;
--color-primary-dark-4: #f0c040;
--color-text-primary: #e8d5a3;
--color-text-secondary: #c9b07a;
--color-text-tertiary: #8a7050;
--color-border-primary: #5a4020;
--color-border-secondary: #3a2a14;
--color-border-hover: #8a6030;
--color-green: #4e7830;
--color-green-light: #6a9e44;
--color-red: #8a2e08;
--color-red-light: #c4601c;
--color-orange: #c4601c;
--color-yellow: #d4a228;
--color-input-background: #1c1509;
--color-input-border: #5a4020;
--color-menu-active: #d4a228;
--color-link: #d4a228;
--color-link-hover: #f0c040;
--color-diff-added-row: rgba(78, 120, 48, 0.15);
--color-diff-removed-row: rgba(138, 46, 8, 0.15);
--color-diff-added-word: rgba(78, 120, 48, 0.3);
--color-diff-removed-word: rgba(138, 46, 8, 0.3);
/* shadow / glow */
--shadow-sm: 2px 2px 0 #3a2a14;
--shadow-md: 2px 2px 0 #5c3a18;
}
/* ── Global typography ───────────────────────────────────── */
body,
.ui,
input,
textarea,
select,
button {
font-family: 'Josefin Sans', sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
.header,
.ui.header,
.repository .file-header,
.navbar .item {
font-family: 'VT323', monospace !important;
letter-spacing: 0.05em;
}
code, pre, .code, tt,
.file-content,
.diff-file-box {
font-family: 'Courier Prime', monospace !important;
}
/* ── Body & background ───────────────────────────────────── */
body {
background: #0b0804 !important;
color: #e8d5a3 !important;
}
/* ── Navbar ──────────────────────────────────────────────── */
.navbar,
#navbar {
background: #1c1509 !important;
border-bottom: 2px solid #5a4020 !important;
box-shadow: 0 2px 0 #3a2a14 !important;
}
.navbar .item,
#navbar .item {
color: #c9b07a !important;
font-family: 'VT323', monospace !important;
font-size: 1.1rem !important;
letter-spacing: 0.08em !important;
}
.navbar .item:hover,
#navbar .item:hover {
color: #d4a228 !important;
background: #261c0e !important;
}
.navbar .item.active,
#navbar .item.active {
color: #d4a228 !important;
background: #312414 !important;
}
/* site logo text */
.navbar .header.item,
#navbar .header.item {
color: #e8d5a3 !important;
font-size: 1.4rem !important;
}
/* ── Page container ──────────────────────────────────────── */
.page-content,
.full.height > .left,
.repository,
.user,
.org {
background: #130e07 !important;
}
/* ── Segments & cards ────────────────────────────────────── */
.ui.segment,
.ui.segments,
.ui.card,
.ui.cards > .card {
background: #1c1509 !important;
border: 2px solid #5a4020 !important;
box-shadow: 2px 2px 0 #3a2a14 !important;
border-radius: 0 !important;
color: #c9b07a !important;
}
.ui.segment:hover,
.ui.card:hover {
border-color: #a07818 !important;
}
/* ── Menus & dropdowns ───────────────────────────────────── */
.ui.menu,
.ui.dropdown .menu {
background: #1c1509 !important;
border: 2px solid #5a4020 !important;
border-radius: 0 !important;
box-shadow: 2px 2px 0 #3a2a14 !important;
}
.ui.menu .item,
.ui.dropdown .menu .item {
color: #c9b07a !important;
border-radius: 0 !important;
}
.ui.menu .item:hover,
.ui.dropdown .menu .item:hover {
background: #261c0e !important;
color: #d4a228 !important;
}
.ui.menu .active.item,
.ui.menu .item.active {
background: #312414 !important;
color: #d4a228 !important;
border-color: #a07818 !important;
}
/* tabular menu */
.ui.tabular.menu .active.item {
background: #130e07 !important;
border-color: #5a4020 !important;
border-bottom-color: #130e07 !important;
color: #d4a228 !important;
}
/* ── Buttons ─────────────────────────────────────────────── */
.ui.button,
.ui.buttons .button {
background: #261c0e !important;
color: #c9b07a !important;
border: 2px solid #5a4020 !important;
border-radius: 0 !important;
box-shadow: 2px 2px 0 #3a2a14 !important;
font-family: 'VT323', monospace !important;
font-size: 1rem !important;
letter-spacing: 0.06em !important;
transition: all 150ms ease !important;
}
.ui.button:hover {
background: #312414 !important;
border-color: #a07818 !important;
color: #d4a228 !important;
transform: translate(-1px, -1px) !important;
box-shadow: 3px 3px 0 #3a2a14 !important;
}
.ui.primary.button,
.ui.green.button {
background: #a07818 !important;
color: #0b0804 !important;
border-color: #d4a228 !important;
}
.ui.primary.button:hover,
.ui.green.button:hover {
background: #d4a228 !important;
}
.ui.red.button,
.ui.negative.button {
background: #5a1a08 !important;
color: #e8d5a3 !important;
border-color: #8a2e08 !important;
}
.ui.red.button:hover {
background: #8a2e08 !important;
}
/* ── Inputs & forms ──────────────────────────────────────── */
.ui.input input,
.ui.form input,
.ui.form textarea,
.ui.form select,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea,
select {
background: #1c1509 !important;
border: 2px solid #5a4020 !important;
border-radius: 0 !important;
color: #e8d5a3 !important;
font-family: 'Josefin Sans', sans-serif !important;
}
.ui.input input:focus,
.ui.form input:focus,
.ui.form textarea:focus {
border-color: #a07818 !important;
outline: none !important;
box-shadow: 0 0 0 2px rgba(212, 162, 40, 0.15) !important;
}
/* ── Labels & badges ─────────────────────────────────────── */
.ui.label,
.ui.labels .label {
background: #261c0e !important;
border: 2px solid #5a4020 !important;
border-radius: 0 !important;
color: #c9b07a !important;
font-family: 'VT323', monospace !important;
letter-spacing: 0.06em !important;
}
/* issue labels */
.label[style] {
border-radius: 0 !important;
font-family: 'VT323', monospace !important;
letter-spacing: 0.06em !important;
}
/* open/closed badges */
.ui.green.label, .issue-state-label.open {
background: #2a4a18 !important;
border-color: #4e7830 !important;
color: #6a9e44 !important;
}
.ui.red.label, .issue-state-label.closed {
background: #3a1008 !important;
border-color: #8a2e08 !important;
color: #c4601c !important;
}
.ui.purple.label, .ui.violet.label {
background: #2a1a3a !important;
border-color: #5a3a7a !important;
color: #c9b0e8 !important;
}
/* ── Repository list items ───────────────────────────────── */
.repository.list .item,
.explore .list .item {
border-bottom: 1px solid #3a2a14 !important;
padding: 1rem !important;
transition: background 150ms ease !important;
}
.repository.list .item:hover,
.explore .list .item:hover {
background: #1c1509 !important;
}
/* repo name link */
.repository.list .item .header a,
.explore .list .item .header a {
color: #d4a228 !important;
font-family: 'VT323', monospace !important;
font-size: 1.2rem !important;
}
.repository.list .item .header a:hover {
color: #f0c040 !important;
}
/* ── File tree / code browser ────────────────────────────── */
.repository .file-list,
.repository .code-view {
background: #130e07 !important;
}
.repository .file-list .item,
.repository .files tr {
border-bottom: 1px solid #3a2a14 !important;
}
.repository .files tr:hover {
background: #1c1509 !important;
}
.repository .files .icon {
color: #8a6030 !important;
}
.repository .files .name a {
color: #c9b07a !important;
}
.repository .files .name a:hover {
color: #d4a228 !important;
}
/* commit message */
.repository .files .message a {
color: #8a7050 !important;
}
.repository .files .message a:hover {
color: #c9b07a !important;
}
/* ── Diff view ───────────────────────────────────────────── */
.diff-file-box {
border: 2px solid #5a4020 !important;
border-radius: 0 !important;
margin-bottom: 1rem !important;
}
.diff-file-box .file-header {
background: #261c0e !important;
border-bottom: 2px solid #5a4020 !important;
color: #c9b07a !important;
padding: 0.5rem 1rem !important;
}
.diff-file-box .file-header .file-header-title {
color: #d4a228 !important;
font-family: 'Courier Prime', monospace !important;
}
.code-diff tr.added td {
background: rgba(78, 120, 48, 0.12) !important;
}
.code-diff tr.deleted td {
background: rgba(138, 46, 8, 0.12) !important;
}
.code-diff td.lines-num {
background: #1c1509 !important;
color: #5a4830 !important;
border-right: 1px solid #3a2a14 !important;
}
/* ── Code blocks ─────────────────────────────────────────── */
.code-view .lines-code,
pre, code {
background: #0b0804 !important;
color: #e8d5a3 !important;
}
/* ── Issue & PR list ─────────────────────────────────────── */
.issue.list .item,
.pulls.list .item {
border-bottom: 1px solid #3a2a14 !important;
padding: 0.75rem 0 !important;
}
.issue.list .item:hover {
background: #1c1509 !important;
}
.issue.list .item .title,
.pulls.list .item .title {
color: #e8d5a3 !important;
font-family: 'Josefin Sans', sans-serif !important;
}
.issue.list .item .title:hover {
color: #d4a228 !important;
}
/* ── Comments ────────────────────────────────────────────── */
.comment .content {
background: #1c1509 !important;
border: 2px solid #5a4020 !important;
border-radius: 0 !important;
}
.comment .content .header {
background: #261c0e !important;
border-bottom: 2px solid #5a4020 !important;
color: #8a7050 !important;
}
.comment .content .header .author {
color: #d4a228 !important;
font-family: 'VT323', monospace !important;
font-size: 1.1rem !important;
}
/* ── Activity feed ───────────────────────────────────────── */
.feeds .news .desc {
color: #c9b07a !important;
}
.feeds .news .time {
color: #5a4830 !important;
}
/* ── User profile ────────────────────────────────────────── */
.user.profile .ui.card {
background: #1c1509 !important;
}
.user.profile .ui.card .extra {
border-top: 1px solid #3a2a14 !important;
}
/* ── Markdown rendered content ───────────────────────────── */
.markup,
.markdown {
color: #c9b07a !important;
}
.markup h1, .markup h2, .markup h3,
.markup h4, .markup h5, .markup h6,
.markdown h1, .markdown h2, .markdown h3 {
font-family: 'VT323', monospace !important;
color: #f0c040 !important;
border-bottom: 1px solid #3a2a14 !important;
letter-spacing: 0.05em !important;
}
.markup a, .markdown a {
color: #d4a228 !important;
border-bottom: 1px solid #a07818 !important;
text-decoration: none !important;
}
.markup a:hover, .markdown a:hover {
color: #f0c040 !important;
}
.markup blockquote, .markdown blockquote {
background: #1c1509 !important;
border-left: 4px solid #a07818 !important;
color: #8a7050 !important;
border-radius: 0 !important;
}
.markup table th, .markdown table th {
background: #261c0e !important;
color: #d4a228 !important;
border: 1px solid #5a4020 !important;
font-family: 'VT323', monospace !important;
}
.markup table td, .markdown table td {
border: 1px solid #3a2a14 !important;
color: #c9b07a !important;
}
.markup table tr:nth-child(even) td,
.markdown table tr:nth-child(even) td {
background: #1c1509 !important;
}
/* ── Dividers ────────────────────────────────────────────── */
.ui.divider {
border-color: #3a2a14 !important;
}
/* ── Pagination ──────────────────────────────────────────── */
.ui.pagination.menu .item {
background: #1c1509 !important;
color: #8a7050 !important;
border: 2px solid #3a2a14 !important;
border-radius: 0 !important;
min-width: 2.5rem !important;
text-align: center !important;
}
.ui.pagination.menu .item:hover {
background: #261c0e !important;
color: #d4a228 !important;
border-color: #a07818 !important;
}
.ui.pagination.menu .active.item {
background: #312414 !important;
color: #d4a228 !important;
border-color: #a07818 !important;
}
/* ── Footer ──────────────────────────────────────────────── */
#footer {
background: #0b0804 !important;
border-top: 2px solid #3a2a14 !important;
color: #5a4830 !important;
}
#footer a {
color: #8a7050 !important;
}
#footer a:hover {
color: #d4a228 !important;
}
/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0b0804; }
::-webkit-scrollbar-thumb { background: #5c3a18; border: 2px solid #1c1509; }
::-webkit-scrollbar-thumb:hover { background: #a07818; }
/* ── Links globally ──────────────────────────────────────── */
a {
color: #d4a228 !important;
}
a:hover {
color: #f0c040 !important;
}
/* ── Statistic numbers ───────────────────────────────────── */
.ui.statistic .value {
color: #d4a228 !important;
font-family: 'VT323', monospace !important;
}
.ui.statistic .label {
color: #8a7050 !important;
font-family: 'Josefin Sans', sans-serif !important;
}
/* ── Flash/alert messages ────────────────────────────────── */
.ui.positive.message, .ui.success.message {
background: #1a3010 !important;
border-color: #4e7830 !important;
color: #6a9e44 !important;
}
.ui.negative.message, .ui.error.message {
background: #2a0e08 !important;
border-color: #8a2e08 !important;
color: #c4601c !important;
}
.ui.warning.message {
background: #2a1e08 !important;
border-color: #a07818 !important;
color: #d4a228 !important;
}
.ui.info.message {
background: #0e1a2a !important;
border-color: #2a5a8a !important;
color: #7ab0d4 !important;
}
/* ── Selection ───────────────────────────────────────────── */
::selection {
background: #a07818 !important;
color: #0b0804 !important;
}
/* Clone panel / dropdown background */
.clone-panel,
.clone-panel-tab,
.clone-panel-field,
.clone-panel-list,
.flex-items-block {
background: var(--color-box-body, #1c1509) !important;
color: var(--color-text, #e8d5a3) !important;
}
.clone-panel .item,
.clone-panel-tab .item {
color: var(--color-text, #c9b07a) !important;
}
.clone-panel-tab .item.active {
color: var(--color-primary, #d4a228) !important;
border-bottom: 2px solid var(--color-primary, #d4a228) !important;
}
.clone-panel input {
background: var(--color-input-background, #130e07) !important;
color: var(--color-text, #e8d5a3) !important;
border: 1px solid var(--color-border-primary, #3a2a14) !important;
}
.divider {
border-color: var(--color-border-primary, #3a2a14) !important;
}
.clone-panel-popup {
background: #1c1509 !important;
border: 1px solid #3a2a14 !important;
box-shadow: 2px 2px 0 #0b0804 !important;
}
.tippy-content,
.tippy-box {
background: #1c1509 !important;
border: 1px solid #3a2a14 !important;
box-shadow: 2px 2px 0 #0b0804 !important;
color: #e8d5a3 !important;
}
.tippy-arrow {
color: #1c1509 !important;
}