Gitea 1.26 Selektoren, Systemfonts, schwarzer Balken fix

This commit is contained in:
2026-05-09 02:51:18 +02:00
parent dba3807f06
commit 0faf9abf82
+269 -304
View File
@@ -1,287 +1,262 @@
/* ═══════════════════════════════════════════════════════════
RAPPORT Theme für Gitea
Farben & Typografie identisch mit der Rapport App
RAPPORT Theme für Gitea 1.26
Material UI + Rapport Farbpalette
═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=Playfair+Display:wght@400;700&display=swap');
/* ─── CSS-Variablen ─────────────────────────────────────── */
/* ─── Systemfonts (kein Internet nötig) ─────────────────── */
:root {
/* Primärfarbe: Gold/Amber — nur für Akzente, Links, aktive States */
--rapport-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--rapport-mono: "SF Mono", ui-monospace, "Cascadia Code", "Fira Code", Consolas, "Liberation Mono", monospace;
--rapport-serif: Georgia, "Playfair Display", "Times New Roman", serif;
/* Rapport-Farben */
--rapport-bg: #f7f5f2;
--rapport-surface: #ffffff;
--rapport-surface2: #f0ede8;
--rapport-border: #e8e3dc;
--rapport-border2: #d8d2ca;
--rapport-text: #1a1a18;
--rapport-text2: #3a3a34;
--rapport-text3: #888880;
--rapport-text4: #aaaaaa;
--rapport-dark: #1a1a18;
--rapport-accent: #b07848;
--rapport-accent2: #9a6638;
/* Gitea CSS-Variablen überschreiben */
--color-primary: #b07848;
--color-primary-dark-1: #9a6638;
--color-primary-dark-2: #85552a;
--color-primary-dark-3: #70451e;
--color-primary-dark-4: #5c3714;
--color-primary-dark-5: #4a2b0c;
--color-primary-light-1: #bf8a5e;
--color-primary-light-2: #cc9d76;
--color-primary-light-3: #d8b090;
--color-primary-light-4: #e4c4ac;
--color-primary-light-5: #f5ede4;
--color-primary-light-4: #e8c9a8;
--color-primary-light-5: #f5e8d8;
--color-primary-alpha-30: rgba(176,120,72,0.30);
--color-primary-alpha-40: rgba(176,120,72,0.40);
--color-primary-alpha-60: rgba(176,120,72,0.60);
--color-primary-alpha-80: rgba(176,120,72,0.80);
/* Hintergründe — warmes Off-White wie Rapport */
--color-body: #f7f5f2;
--color-box-body: #ffffff;
--color-nav-bg: #1a1a18;
--color-sidebar-bg: #f0ede8;
--color-card: #ffffff;
/* Text */
--color-text: #1a1a18;
--color-text-dark: #0e0e0c;
--color-text-light-1: #3a3a34;
--color-text-light-2: #888880;
--color-text-light-3: #aaaaaa;
/* Rahmen — warm, subtil */
--color-secondary: #e8e3dc;
--color-secondary-dark-1: #d8d2ca;
--color-secondary-dark-2: #c8c1b8;
--color-secondary-dark-3: #b8b0a5;
--color-secondary-dark-4: #a8a098;
--color-secondary-dark-5: #98908a;
--color-secondary-light-1: #eeebe6;
--color-secondary-light-2: #f2efec;
--color-secondary-light-3: #f5f3f0;
--color-secondary-light-4: #f8f6f4;
--color-secondary-light-5: #faf9f7;
--color-secondary-alpha-30: rgba(232,227,220,0.30);
--color-secondary-alpha-60: rgba(232,227,220,0.60);
/* Formular */
--color-secondary-light-1: #f0ede8;
--color-secondary-light-2: #f5f3f0;
--color-secondary-light-3: #f8f6f4;
--color-input-background: #ffffff;
--color-input-border: #d8d2ca;
/* Status-Farben */
--color-green: #2d6a4f;
--color-green-dark-1: #245840;
--color-green-light-1: #3d8a65;
--color-green-light-2: #e8f5ee;
--color-red: #8a1a1a;
--color-red-dark-1: #721414;
--color-red-light-1: #a02020;
--color-red-light-2: #fdf0f0;
--color-orange: #b07848;
--color-orange-light-1: #cc9d76;
--color-orange-light-2: #fff3e8;
--color-yellow: #9a7a00;
--color-yellow-light-2: #fffbe6;
--color-blue: #1a4e8a;
--color-blue-light-1: #2a6ab0;
--color-blue-light-2: #e8f0f8;
/* Schatten */
--shadow-1: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
--shadow-2: 0 2px 8px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05);
--shadow-3: 0 4px 16px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06);
/* Material-Schatten */
--md-shadow-1: 0 1px 3px rgba(0,0,0,0.10), 0 1px 2px rgba(0,0,0,0.06);
--md-shadow-2: 0 3px 6px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.08);
--md-shadow-3: 0 8px 24px rgba(0,0,0,0.12), 0 3px 8px rgba(0,0,0,0.08);
--border-radius: 6px;
--border-radius: 8px;
--border-radius-sm: 4px;
--border-radius-lg: 10px;
--border-radius-lg: 12px;
}
/* ─── Typografie ────────────────────────────────────────── */
body,
.ui,
input, select, textarea, button {
font-family: 'DM Mono', 'Courier New', monospace !important;
font-size: 13px;
/* ─── Basis-Typografie ──────────────────────────────────── */
body, .ui, input, select, textarea, button, a {
font-family: var(--rapport-font) !important;
-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5 {
font-family: 'Playfair Display', Georgia, serif !important;
font-weight: 400;
letter-spacing: -0.01em;
code, pre, .code-view, .file-view code,
kbd, samp, .markup code {
font-family: var(--rapport-mono) !important;
font-size: 12.5px !important;
}
/* Beschriftungen / Labels uppercase wie in Rapport */
.ui.label,
.ui.header .sub.header,
th, .th,
.text.meta {
font-size: 10px !important;
letter-spacing: 0.1em !important;
text-transform: uppercase !important;
font-weight: 500 !important;
font-family: 'DM Mono', monospace !important;
h1, h2, h3 {
font-family: var(--rapport-serif) !important;
font-weight: 400 !important;
letter-spacing: -0.01em !important;
}
/* ─── Navbar ────────────────────────────────────────────── */
.navbar,
#navbar,
.ui.attached.header {
body {
background: var(--rapport-bg) !important;
color: var(--rapport-text) !important;
}
/* ─── Navbar — dunkel wie Rapport-Sidebar ───────────────── */
#navbar {
background: #1a1a18 !important;
border-bottom: 1px solid #2d2d28 !important;
box-shadow: 0 2px 12px rgba(0,0,0,0.22) !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important;
padding: 0 20px !important;
}
.navbar *,
#navbar * {
font-family: 'DM Mono', monospace !important;
}
.navbar .item,
#navbar .item {
color: #888880 !important;
font-size: 11px !important;
letter-spacing: 0.06em !important;
text-transform: uppercase !important;
font-size: 12px !important;
letter-spacing: 0.02em !important;
transition: color 0.15s !important;
border-radius: 6px !important;
}
.navbar .item:hover,
#navbar .item:hover {
color: #f0ede8 !important;
background: rgba(255,255,255,0.06) !important;
background: rgba(255,255,255,0.07) !important;
}
.navbar .item.active,
#navbar .item.active {
#navbar .item.active,
#navbar .active.item {
color: #f0ede8 !important;
background: rgba(255,255,255,0.05) !important;
}
/* ─── Logo / Sitename — identisch mit RAPPORT ───────────── */
.navbar .brand,
#navbar .brand,
.home .hero h1,
.site-name,
a.item.brand {
font-family: 'Archivo Black', 'Krungthep', sans-serif !important;
font-size: 20px !important;
font-weight: 400 !important;
letter-spacing: -0.02em !important;
color: #f0ede8 !important;
text-transform: uppercase !important;
line-height: 1 !important;
/* ─── Logo: RAPPORT-Schriftzug ──────────────────────────── */
#navbar-logo {
display: flex !important;
align-items: center !important;
gap: 0 !important;
}
/* Gitea-Oktokater-Logo neben dem Namen ausblenden, nur Text */
.navbar .brand svg,
#navbar .brand svg,
.navbar .brand img,
#navbar .brand img {
#navbar-logo img {
display: none !important;
}
/* ─── Seitenleiste ──────────────────────────────────────── */
.repository .sidebar,
.ui.attached.segment.sidebar {
background: #f0ede8 !important;
border-right: 1px solid #e8e3dc !important;
}
/* ─── Allgemeiner Hintergrund ───────────────────────────── */
body {
background: #f7f5f2 !important;
}
/* ─── Cards / Segmente ──────────────────────────────────── */
.ui.segment,
.ui.segments > .segment,
.ui.card,
.ui.cards > .card,
.ui.attached.segment {
border: 1px solid #e8e3dc !important;
border-radius: var(--border-radius-lg) !important;
box-shadow: var(--shadow-1) !important;
background: #ffffff !important;
}
/* ─── Buttons — Rapport-Philosophie ────────────────────── */
/* Basis */
.ui.button,
.ui.buttons .button {
font-family: 'DM Mono', monospace !important;
font-size: 11px !important;
letter-spacing: 0.05em !important;
font-weight: 600 !important;
border-radius: 20px !important;
transition: all 0.15s !important;
#navbar-logo::after {
content: "RAPPORT";
font-family: "Archivo Black", "Arial Black", "Impact", sans-serif !important;
font-size: 18px !important;
font-weight: 900 !important;
letter-spacing: -0.03em !important;
color: #f0ede8 !important;
line-height: 1 !important;
text-transform: uppercase !important;
}
/* Primary = DUNKEL (wie btn-primary in Rapport) */
/* ─── Schwarzen Balken über README entfernen ────────────── */
.ui.top.attached.header,
.ui.attached.header,
h4.file-header,
.file-header {
background: var(--rapport-surface) !important;
color: var(--rapport-text) !important;
border: 1px solid var(--rapport-border) !important;
border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
box-shadow: none !important;
}
.file-header .muted,
.file-header a {
color: var(--rapport-text3) !important;
}
/* ─── Cards & Segmente — Material Elevation ─────────────── */
.ui.segment,
.ui.segments > .segment {
background: var(--rapport-surface) !important;
border: 1px solid var(--rapport-border) !important;
border-radius: var(--border-radius-lg) !important;
box-shadow: var(--md-shadow-1) !important;
}
.ui.card,
.ui.cards > .card {
background: var(--rapport-surface) !important;
border: 1px solid var(--rapport-border) !important;
border-radius: var(--border-radius-lg) !important;
box-shadow: var(--md-shadow-2) !important;
transition: box-shadow 0.2s !important;
}
.ui.card:hover,
.ui.cards > .card:hover {
box-shadow: var(--md-shadow-3) !important;
}
/* ─── Buttons ───────────────────────────────────────────── */
.ui.button,
.ui.buttons .button,
.btn {
font-family: var(--rapport-font) !important;
font-size: 12px !important;
font-weight: 600 !important;
letter-spacing: 0.02em !important;
border-radius: 20px !important;
transition: all 0.15s !important;
cursor: pointer !important;
}
/* Primary = DUNKEL (wie Rapport btn-primary) */
.ui.primary.button,
.ui.primary.buttons .button,
.ui.button.primary {
button[type="submit"].ui.button:not(.basic):not(.secondary):not(.red):not(.green) {
background: #1a1a18 !important;
color: #f0ede8 !important;
border: none !important;
box-shadow: none !important;
box-shadow: var(--md-shadow-1) !important;
}
.ui.primary.button:hover,
.ui.primary.buttons .button:hover {
.ui.primary.button:hover {
background: #2d2d28 !important;
color: #ffffff !important;
box-shadow: var(--md-shadow-2) !important;
}
/* Ghost / Basic = umrandet, transparent — Gold nur beim Hover */
/* Basic / Ghost = transparent, umrandet */
.ui.basic.button,
.ui.basic.buttons .button,
.ui.button.basic {
.ui.basic.buttons .button {
background: transparent !important;
border: 1.5px solid #d8d2ca !important;
color: #555550 !important;
border: 1.5px solid var(--rapport-border2) !important;
color: var(--rapport-text2) !important;
box-shadow: none !important;
}
.ui.basic.button:hover,
.ui.basic.buttons .button:hover {
border-color: #b07848 !important;
color: #b07848 !important;
.ui.basic.button:hover {
border-color: var(--rapport-accent) !important;
color: var(--rapport-accent) !important;
background: transparent !important;
box-shadow: none !important;
}
/* Sekundär */
.ui.secondary.button,
.ui.secondary.buttons .button {
/* Aktiv = Gold-Umrandung */
.ui.button.active,
.ui.buttons .button.active {
background: transparent !important;
color: #888880 !important;
border: 1.5px solid #e8e3dc !important;
border: 1.5px solid var(--rapport-accent) !important;
color: var(--rapport-accent) !important;
box-shadow: none !important;
}
.ui.secondary.button:hover {
border-color: #b07848 !important;
color: #b07848 !important;
background: transparent !important;
}
/* Danger / Red */
.ui.red.button,
.ui.negative.button {
/* Danger */
.ui.red.button, .ui.negative.button, .ui.danger.button {
background: #8a1a1a !important;
color: #fff !important;
border: none !important;
}
.ui.red.button:hover,
.ui.negative.button:hover {
background: #721414 !important;
}
.ui.red.button:hover { background: #721414 !important; }
/* Green */
.ui.green.button,
.ui.positive.button {
.ui.green.button, .ui.positive.button {
background: #2d6a4f !important;
color: #fff !important;
border: none !important;
}
/* Aktiver Zustand: Gold-Umrandung */
.ui.button.active,
.ui.buttons .button.active {
border: 1.5px solid #b07848 !important;
color: #b07848 !important;
background: transparent !important;
/* btn-octicon (Icon-Buttons) */
.btn-octicon {
color: var(--rapport-text3) !important;
border-radius: 6px !important;
transition: all 0.15s !important;
}
.btn-octicon:hover {
color: var(--rapport-text) !important;
background: var(--rapport-surface2) !important;
}
/* ─── Inputs ────────────────────────────────────────────── */
@@ -292,90 +267,48 @@ input[type="search"],
input[type="number"],
textarea,
select,
.ui.input > input,
.ui.form input,
.ui.form textarea,
.ui.form select {
font-family: 'DM Mono', monospace !important;
.ui.input > input {
font-family: var(--rapport-font) !important;
font-size: 13px !important;
border-radius: var(--border-radius) !important;
border: 1.5px solid #d8d2ca !important;
background: #ffffff !important;
color: #1a1a18 !important;
transition: border-color 0.15s !important;
border: 1.5px solid var(--rapport-border2) !important;
background: #fff !important;
color: var(--rapport-text) !important;
transition: border-color 0.15s, box-shadow 0.15s !important;
box-shadow: none !important;
}
input:focus,
textarea:focus,
select:focus,
.ui.input > input:focus {
border-color: #b07848 !important;
box-shadow: 0 0 0 2px rgba(176,120,72,0.12) !important;
input:focus, textarea:focus, select:focus,
.ui.input.focus > input, .ui.input > input:focus {
border-color: var(--rapport-accent) !important;
box-shadow: 0 0 0 3px rgba(176,120,72,0.12) !important;
outline: none !important;
}
/* ─── Links ─────────────────────────────────────────────── */
a {
color: #b07848 !important;
transition: color 0.12s !important;
}
a:hover {
color: #9a6638 !important;
}
/* Navbar-Links nicht gold */
.navbar a,
#navbar a {
color: #888880 !important;
}
.navbar a:hover,
#navbar a:hover {
color: #f0ede8 !important;
}
/* ─── Tabs / Navigation ─────────────────────────────────── */
.ui.tabular.menu .item {
font-family: 'DM Mono', monospace !important;
font-size: 11px !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
color: #888880 !important;
border-radius: 0 !important;
}
.ui.tabular.menu .active.item {
color: #1a1a18 !important;
border-bottom: 2px solid #b07848 !important;
font-weight: 600 !important;
background: transparent !important;
}
.ui.tabular.menu .item:hover {
color: #1a1a18 !important;
background: #f0ede8 !important;
}
a { color: var(--rapport-accent) !important; }
a:hover { color: var(--rapport-accent2) !important; }
#navbar a, #navbar .item { color: #888880 !important; }
#navbar a:hover, #navbar .item:hover { color: #f0ede8 !important; }
.muted, a.muted { color: var(--rapport-text3) !important; }
/* ─── Tabellen ──────────────────────────────────────────── */
.ui.table {
font-family: 'DM Mono', monospace !important;
border: 1px solid #e8e3dc !important;
font-family: var(--rapport-font) !important;
border: 1px solid var(--rapport-border) !important;
border-radius: var(--border-radius-lg) !important;
overflow: hidden !important;
box-shadow: var(--shadow-1) !important;
box-shadow: var(--md-shadow-1) !important;
}
.ui.table thead th {
background: #f7f5f2 !important;
color: #aaaaaa !important;
background: var(--rapport-bg) !important;
color: var(--rapport-text4) !important;
font-size: 10px !important;
letter-spacing: 0.1em !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
font-weight: 500 !important;
border-bottom: 1px solid #e8e3dc !important;
padding: 10px 16px !important;
font-weight: 600 !important;
border-bottom: 1px solid var(--rapport-border) !important;
}
.ui.table tbody tr:hover td {
@@ -383,89 +316,121 @@ a:hover {
}
.ui.table td {
border-bottom: 1px solid #f0ede8 !important;
padding: 10px 16px !important;
font-size: 13px !important;
border-bottom: 1px solid var(--rapport-border) !important;
color: var(--rapport-text) !important;
}
/* ─── Labels / Badges ───────────────────────────────────── */
.ui.label {
border-radius: 20px !important;
font-family: var(--rapport-font) !important;
font-size: 10px !important;
letter-spacing: 0.06em !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
font-weight: 600 !important;
border-radius: 20px !important;
padding: 3px 10px !important;
font-family: 'DM Mono', monospace !important;
}
.ui.primary.label {
background: #b07848 !important;
color: #fff !important;
border-color: #b07848 !important;
}
.ui.green.label { background: #e8f5ee !important; color: #2d6a4f !important; border-color: #a8d8b8 !important; }
.ui.red.label { background: #fdf0f0 !important; color: #8a1a1a !important; border-color: #e0b0b0 !important; }
.ui.yellow.label,
.ui.orange.label { background: #fff3e8 !important; color: #b07848 !important; border-color: #e8c898 !important; }
.ui.orange.label,
.ui.yellow.label { background: #fff3e8 !important; color: #b07848 !important; border-color: #e8c898 !important; }
/* ─── Tabs ──────────────────────────────────────────────── */
.ui.tabular.menu {
border-bottom: 1px solid var(--rapport-border) !important;
}
.ui.tabular.menu .item {
font-size: 12px !important;
font-weight: 500 !important;
color: var(--rapport-text3) !important;
border: none !important;
border-bottom: 2px solid transparent !important;
border-radius: 0 !important;
transition: all 0.15s !important;
}
.ui.tabular.menu .active.item {
color: var(--rapport-text) !important;
border-bottom: 2px solid var(--rapport-accent) !important;
background: transparent !important;
font-weight: 600 !important;
}
.ui.tabular.menu .item:hover {
color: var(--rapport-text) !important;
background: var(--rapport-surface2) !important;
}
/* ─── Meldungen ─────────────────────────────────────────── */
.ui.positive.message,
.ui.success.message {
background: #e8f5ee !important;
border-color: #a8d8b8 !important;
color: #2d6a4f !important;
.ui.positive.message, .ui.success.message {
background: #e8f5ee !important; border-color: #a8d8b8 !important;
color: #2d6a4f !important; border-radius: var(--border-radius) !important;
}
.ui.negative.message, .ui.error.message {
background: #fdf0f0 !important; border-color: #e0b0b0 !important;
color: #8a1a1a !important; border-radius: var(--border-radius) !important;
}
.ui.info.message, .ui.warning.message {
background: #fff3e8 !important; border-color: #e8c898 !important;
color: #7a5028 !important; border-radius: var(--border-radius) !important;
}
/* ─── Seitenleiste ──────────────────────────────────────── */
.repository .sidebar {
background: var(--rapport-surface2) !important;
border-left: 1px solid var(--rapport-border) !important;
}
/* ─── Code & Diff ───────────────────────────────────────── */
.code-view, .diff-file-box {
border: 1px solid var(--rapport-border) !important;
border-radius: var(--border-radius) !important;
}
.ui.negative.message,
.ui.error.message {
background: #fdf0f0 !important;
border-color: #e0b0b0 !important;
color: #8a1a1a !important;
border-radius: var(--border-radius) !important;
}
.ui.info.message,
.ui.warning.message {
background: #fff3e8 !important;
border-color: #e8c898 !important;
color: #7a5028 !important;
border-radius: var(--border-radius) !important;
}
/* ─── Code ──────────────────────────────────────────────── */
code, pre, .code-view {
font-family: 'DM Mono', 'Courier New', monospace !important;
font-size: 12px !important;
background: #f0ede8 !important;
border: 1px solid #e8e3dc !important;
border-radius: var(--border-radius-sm) !important;
}
/* ─── Diff ──────────────────────────────────────────────── */
.diff-file-header {
background: #f0ede8 !important;
border: 1px solid #e8e3dc !important;
font-family: 'DM Mono', monospace !important;
background: var(--rapport-surface2) !important;
border-bottom: 1px solid var(--rapport-border) !important;
font-family: var(--rapport-mono) !important;
font-size: 12px !important;
}
.code-line-num { color: var(--rapport-text4) !important; }
/* ─── Footer ────────────────────────────────────────────── */
#footer {
background: #1a1a18 !important;
border-top: 1px solid #2d2d28 !important;
color: #3a3a34 !important;
font-family: 'DM Mono', monospace !important;
font-size: 10px !important;
letter-spacing: 0.06em !important;
font-size: 11px !important;
letter-spacing: 0.04em !important;
}
#footer a {
color: #555550 !important;
#footer, #footer a { color: #555550 !important; }
#footer a:hover { color: #888880 !important; }
/* ─── Repo-Header ───────────────────────────────────────── */
.repo-header {
background: var(--rapport-surface) !important;
border-bottom: 1px solid var(--rapport-border) !important;
padding: 16px 0 !important;
}
#footer a:hover {
color: #888880 !important;
/* ─── Dropdown-Menüs ────────────────────────────────────── */
.ui.dropdown .menu {
border: 1px solid var(--rapport-border) !important;
border-radius: var(--border-radius-lg) !important;
box-shadow: var(--md-shadow-3) !important;
background: var(--rapport-surface) !important;
}
.ui.dropdown .menu .item {
font-family: var(--rapport-font) !important;
font-size: 13px !important;
color: var(--rapport-text) !important;
transition: background 0.1s !important;
}
.ui.dropdown .menu .item:hover {
background: var(--rapport-surface2) !important;
color: var(--rapport-text) !important;
}