/* ================================================================ Fell — Gitea theme inspired by dideric.is Parchment body · Starfield nav · Teal accent · Fell Type ================================================================ */ @font-face { font-family: 'FellType'; src: url('../fonts/IMFePIrm29P.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'FellType'; src: url('../fonts/IMFePIit29P.ttf') format('truetype'); font-weight: normal; font-style: italic; } @font-face { font-family: 'FellTypeFormal'; src: url('../fonts/IMFeDPsc29P.ttf') format('truetype'); font-weight: normal; font-style: normal; } /* ---- Theme meta ---- */ gitea-theme-meta-info { --theme-display-name: "Fell"; --theme-color-scheme: "light"; } :root { --is-dark-theme: false; color-scheme: light; /* Primary: teal #42b983 */ --color-primary: #42b983; --color-primary-contrast: #ffffff; --color-primary-dark-1: #3aaa77; --color-primary-dark-2: #329966; --color-primary-dark-3: #2a8855; --color-primary-dark-4: #227744; --color-primary-dark-5: #1a6633; --color-primary-dark-6: #0f4422; --color-primary-dark-7: #062211; --color-primary-light-1: #55c490; --color-primary-light-2: #68cf9d; --color-primary-light-3: #7bdaaa; --color-primary-light-4: #8ee5b7; --color-primary-light-5: #b2f0d3; --color-primary-light-6: #d4f7e8; --color-primary-light-7: #f0fff8; --color-primary-alpha-10: #42b98319; --color-primary-alpha-20: #42b98333; --color-primary-alpha-30: #42b9834b; --color-primary-alpha-40: #42b98366; --color-primary-alpha-50: #42b98380; --color-primary-alpha-60: #42b98399; --color-primary-alpha-70: #42b983b3; --color-primary-alpha-80: #42b983cc; --color-primary-alpha-90: #42b983e1; --color-primary-hover: var(--color-primary-dark-1); --color-primary-active: var(--color-primary-dark-2); /* Secondary: warm parchment-tan */ --color-secondary: #c8b89a; --color-secondary-dark-1: #bba98b; --color-secondary-dark-2: #ae9a7c; --color-secondary-dark-3: #9a8265; --color-secondary-dark-4: #876c50; --color-secondary-dark-5: #74583d; --color-secondary-dark-6: #61452c; --color-secondary-dark-7: #4e341c; --color-secondary-dark-8: #3c250e; --color-secondary-dark-9: #2a1803; --color-secondary-dark-10: #1a0c00; --color-secondary-dark-11: #0c0400; --color-secondary-dark-12: #050100; --color-secondary-dark-13: #020000; --color-secondary-light-1: #d4c8b0; --color-secondary-light-2: #dfd8c4; --color-secondary-light-3: #eae7d8; --color-secondary-light-4: #f5f0e8; --color-secondary-alpha-10: #c8b89a19; --color-secondary-alpha-20: #c8b89a33; --color-secondary-alpha-30: #c8b89a4b; --color-secondary-alpha-40: #c8b89a66; --color-secondary-alpha-50: #c8b89a80; --color-secondary-alpha-60: #c8b89a99; --color-secondary-alpha-70: #c8b89ab3; --color-secondary-alpha-80: #c8b89acc; --color-secondary-alpha-90: #c8b89ae1; --color-secondary-button: var(--color-secondary-dark-4); --color-secondary-hover: var(--color-secondary-dark-5); --color-secondary-active: var(--color-secondary-dark-6); /* Console */ --color-console-fg: #1a1008; --color-console-fg-subtle: #5a3e22; --color-console-bg: #fef9f0; --color-console-border: #c8b89a; --color-console-hover-bg: #f5ead5; --color-console-active-bg: #e8d9aa; --color-console-menu-bg: #fdf6e3; --color-console-menu-border: #c8b89a; --color-console-link: #42b983; /* Named colors */ --color-red: #c0392b; --color-orange: #d35400; --color-yellow: #f39c12; --color-olive: #8e9b0f; --color-green: #27ae60; --color-teal: #42b983; --color-blue: #2980b9; --color-violet: #6c3483; --color-purple: #8e44ad; --color-pink: #c0135b; --color-brown: #7b4a1e; --color-black: #1a1008; --color-red-light: #e06c5c; --color-orange-light: #e8845a; --color-yellow-light: #f7c35c; --color-olive-light: #b8c840; --color-green-light: #4cc87a; --color-teal-light: #68cf9d; --color-blue-light: #5da8d6; --color-violet-light: #9b6bb5; --color-purple-light: #b56ac8; --color-pink-light: #d85a90; --color-brown-light: #a87040; --color-black-light: #504030; --color-red-dark-1: #a93226; --color-orange-dark-1: #be4c00; --color-yellow-dark-1: #d48c10; --color-olive-dark-1: #7c880d; --color-green-dark-1: #229c55; --color-teal-dark-1: #3aaa77; --color-blue-dark-1: #2472a6; --color-violet-dark-1: #5c2c72; --color-purple-dark-1: #7c3b99; --color-pink-dark-1: #a80f4e; --color-brown-dark-1: #663d18; --color-black-dark-1: #0e0804; --color-red-dark-2: #922a20; --color-orange-dark-2: #a34200; --color-yellow-dark-2: #b87b0e; --color-olive-dark-2: #6a740b; --color-green-dark-2: #1d8a4a; --color-teal-dark-2: #329966; --color-blue-dark-2: #1f6491; --color-violet-dark-2: #4c2460; --color-purple-dark-2: #6a3085; --color-pink-dark-2: #900b42; --color-brown-dark-2: #4f3010; --color-black-dark-2: #050302; /* ANSI */ --color-ansi-black: #1a1008; --color-ansi-red: #c0392b; --color-ansi-green: #27ae60; --color-ansi-yellow: #f39c12; --color-ansi-blue: #2980b9; --color-ansi-magenta: #8e44ad; --color-ansi-cyan: #42b983; --color-ansi-white: var(--color-console-fg-subtle); --color-ansi-bright-black: #5a3e22; --color-ansi-bright-red: #d44234; --color-ansi-bright-green: #2ecc71; --color-ansi-bright-yellow: #f5a623; --color-ansi-bright-blue: #3498db; --color-ansi-bright-magenta: #9b59b6; --color-ansi-bright-cyan: #55c490; --color-ansi-bright-white: var(--color-console-fg); /* Other */ --color-grey: #7a6a56; --color-grey-light: #9a8a76; --color-gold: #9a7c2a; --color-white: #ffffff; /* Diff */ --color-diff-added-fg: #27ae60; --color-diff-added-linenum-bg: #d4f7e4; --color-diff-added-row-bg: #e8fff0; --color-diff-added-row-border: #b2f0d3; --color-diff-added-word-bg: #a8f0cc; --color-diff-moved-row-bg: #f5f0d4; --color-diff-moved-row-border: #d8cc80; --color-diff-removed-fg: #c0392b; --color-diff-removed-linenum-bg: #ffd8d4; --color-diff-removed-row-bg: #fff0ee; --color-diff-removed-row-border: #f0c8c0; --color-diff-removed-word-bg: #ffc8c0; --color-diff-inactive: #ede8dc; /* Semantic */ --color-error-border: #c0392b66; --color-error-bg: #fff0ee; --color-error-bg-active: #ffd0cc; --color-error-bg-hover: #ffe0dc; --color-error-text: #9b2318; --color-success-border: #42b98366; --color-success-bg: #e8fff0; --color-success-text: #1a7a44; --color-warning-border: #f39c1266; --color-warning-bg: #fff8e0; --color-warning-text: #8a5a00; --color-info-border: #2980b966; --color-info-bg: #e8f4fd; --color-info-text: #1a5c8a; --color-priority-border: #8e44ad66; --color-priority-bg: #f5e8ff; --color-priority-text: #6c3483; /* Badges */ --color-red-badge: #c0392b; --color-red-badge-bg: #c0392b1a; --color-red-badge-hover-bg: #c0392b4d; --color-green-badge: #27ae60; --color-green-badge-bg: #27ae601a; --color-green-badge-hover-bg: #27ae604d; --color-yellow-badge: #f39c12; --color-yellow-badge-bg: #f39c121a; --color-yellow-badge-hover-bg: #f39c124d; --color-orange-badge: #d35400; --color-orange-badge-bg: #d354001a; --color-orange-badge-hover-bg: #d354004d; /* Branding */ --color-git: #f05133; --color-logo: #42b983; /* ---- Core UI ---- */ --color-body: #fef4dc; --color-box-header: #e8d9aa; --color-box-body: #fef9f0; --color-box-body-highlight:#eef7f2; --color-text-dark: #0e0803; --color-text: #2d1f0e; --color-text-light: #4a3018; --color-text-light-1:#5a3e22; --color-text-light-2:#7a5a38; --color-text-light-3:#9a7a58; --color-nav-bg: #0d0b08; --color-nav-hover-bg: #1e1810; --color-nav-text: #e8dfc4; --color-secondary-nav-bg:#f5ead5; --color-footer: var(--color-nav-bg); --color-timeline: #c8b89a; --color-input-text: var(--color-text-dark); --color-input-background: #fffff8; --color-input-toggle-background: #c8b89a; --color-input-border: #c8b89a; --color-light: #2d1f0e06; --color-light-border: #2d1f0e1d; --color-hover: #2d1f0e08; --color-hover-opaque: #f5ead5; --color-active: #2d1f0e14; --color-menu: #fdf6e3; --color-card: #fdf6e3; --color-markup-table-row: #42b9830a; --color-markup-code-block: #42b98310; --color-markup-code-inline: #2d1f0e0e; --color-button: #f5ead5; --color-code-bg: #ffffff; --color-shadow: #2d1f0e26; --color-shadow-opaque: #c8b89a; --color-secondary-bg: #f5ead5; --color-expand-button: #d4f7e8; --color-placeholder-text: var(--color-text-light-3); --color-editor-line-highlight: var(--color-secondary-alpha-30); --color-editor-selection: var(--color-primary-alpha-30); --color-project-column-bg: var(--color-secondary-light-4); --color-caret: var(--color-text-dark); --color-reaction-bg: #2d1f0e0a; --color-reaction-hover-bg: var(--color-primary-light-5); --color-reaction-active-bg: var(--color-primary-light-6); --color-tooltip-text: #fdf6e3; --color-tooltip-bg: #0d0b08f0; --color-label-text: var(--color-text); --color-label-bg: #7a5a384b; --color-label-hover-bg: #7a5a38a0; --color-label-active-bg: #7a5a38ff; --color-accent: var(--color-primary-light-1); --color-small-accent: var(--color-primary-light-6); --color-highlight-fg: #9a7c2a; --color-highlight-bg: #f5efc5; --color-overlay-backdrop: #0d0b08c0; --color-danger: var(--color-red); --color-transparency-grid-light: #fdf6e3; --color-transparency-grid-dark: #e8d9aa; --color-workflow-edge-hover: #c8b89a; /* Syntax — warm earthy tones on parchment */ --color-syntax-keyword: #7c2d12; --color-syntax-bool: #065f46; --color-syntax-control: #78350f; --color-syntax-name: #713f12; --color-syntax-type: #881337; --color-syntax-number: #1e3a8a; --color-syntax-operator: #7c2d12; --color-syntax-regexp: #5b21b6; --color-syntax-string: #365314; --color-syntax-comment: #78716c; --color-syntax-invalid: #991b1b; --color-syntax-link: var(--color-primary); --color-syntax-tag: #7c2d12; --color-syntax-attribute: #5b21b6; --color-syntax-property: #1e3a8a; --color-syntax-variable: #7c2d12; --color-syntax-string-special: #78350f; --color-syntax-escape: #713f12; --color-syntax-entity: #5b21b6; --color-syntax-preproc: #14532d; --color-syntax-preproc-file: #1e3a8a; --color-syntax-decorator: #14532d; --color-syntax-namespace: #6b7280; --color-syntax-name-pseudo: #5b21b6; --color-syntax-comment-special: #5b21b6; --color-syntax-text: inherit; --color-syntax-text-alt: #5a3e22; --color-syntax-punctuation: inherit; --color-syntax-whitespace: #c8b89a; --color-syntax-diff-fg: #2d1f0e; --color-syntax-deleted-bg: #ffd5d0; --color-syntax-inserted-bg: #d5f5e3; --color-syntax-emph: #78350f; --color-syntax-strong: inherit; --color-syntax-heading: #713f12; --color-syntax-subheading: #365314; --color-syntax-output: #78716c; --color-syntax-prompt: #7c2d12; --color-syntax-traceback: #991b1b; --color-syntax-matching-bracket-bg: #42b98338; --color-syntax-nonmatching-bracket-bg: #c0392b38; accent-color: var(--color-accent); } /* ================================================================ Typography ================================================================ */ body, .ui, p, td, th, li, label, input, textarea, select { font-family: 'FellType', 'IM Fell English', Georgia, 'Times New Roman', serif; font-size: 15px; } /* Small caps for headings and nav items — faithful to the site */ h1, h2, h3, h4, h5, h6, .ui.header, .repository .header { font-family: 'FellTypeFormal', 'IM Fell English SC', Georgia, serif; letter-spacing: 0.03em; font-weight: normal; } /* Nav uses the formal small-caps face */ #navbar .item, #navbar a, .navbar .item, .navbar a, .ui.menu .item { font-family: 'FellTypeFormal', Georgia, serif; letter-spacing: 0.04em; font-style: normal; } /* Links italic — matches the site's link style */ a:not(.ui.button):not(.label):not(.tag):not(.item) { font-style: italic; } /* Code stays monospace — legibility */ code, pre, kbd, samp, .CodeMirror, .monaco-editor, .diff-file-box { font-family: 'SFMono-Regular', 'Cascadia Mono', 'Consolas', 'Liberation Mono', monospace !important; font-style: normal !important; } /* ================================================================ Nav — dark starfield bar ================================================================ */ #navbar, .navbar { background-color: var(--color-nav-bg) !important; border-bottom: 1px solid rgba(232, 223, 196, 0.12) !important; } #navbar *, .navbar * { color: var(--color-nav-text) !important; } #navbar a:hover, .navbar a:hover, #navbar .item:hover, .navbar .item:hover { background-color: var(--color-nav-hover-bg) !important; color: #ffffff !important; } /* Dropdown popovers inside the navbar use a parchment background, so the cascading "#navbar *" cream text above leaves them unreadable. Restore dark text on the popover and keep the dark-on-hover highlight. */ #navbar .ui.dropdown .menu, .navbar .ui.dropdown .menu { background-color: var(--color-menu) !important; border-color: var(--color-secondary) !important; } #navbar .ui.dropdown .menu .item, .navbar .ui.dropdown .menu .item, #navbar .ui.dropdown .menu .item *, .navbar .ui.dropdown .menu .item *, #navbar .ui.dropdown .menu .header, .navbar .ui.dropdown .menu .header, #navbar .ui.dropdown .menu .header *, .navbar .ui.dropdown .menu .header *, #navbar .ui.dropdown .menu .text, .navbar .ui.dropdown .menu .text { color: var(--color-text) !important; } /* SVG icons inside dropdown items inherit currentColor by default but the "#navbar *" rule sets an explicit color, so force fill back too. */ #navbar .ui.dropdown .menu .item .svg, .navbar .ui.dropdown .menu .item .svg, #navbar .ui.dropdown .menu .item svg, .navbar .ui.dropdown .menu .item svg { fill: currentColor !important; } #navbar .ui.dropdown .menu .item:hover, .navbar .ui.dropdown .menu .item:hover, #navbar .ui.dropdown .menu .item.active, .navbar .ui.dropdown .menu .item.active, #navbar .ui.dropdown .menu .item.selected, .navbar .ui.dropdown .menu .item.selected { background-color: var(--color-nav-bg) !important; } #navbar .ui.dropdown .menu .item:hover, .navbar .ui.dropdown .menu .item:hover, #navbar .ui.dropdown .menu .item:hover *, .navbar .ui.dropdown .menu .item:hover *, #navbar .ui.dropdown .menu .item.active, .navbar .ui.dropdown .menu .item.active, #navbar .ui.dropdown .menu .item.active *, .navbar .ui.dropdown .menu .item.active *, #navbar .ui.dropdown .menu .item.selected, .navbar .ui.dropdown .menu .item.selected, #navbar .ui.dropdown .menu .item.selected *, .navbar .ui.dropdown .menu .item.selected * { color: var(--color-nav-text) !important; } #navbar .ui.dropdown .menu .divider, .navbar .ui.dropdown .menu .divider { border-top-color: var(--color-secondary) !important; } /* ================================================================ Footer — same dark bar as nav ================================================================ */ #footer, footer { background-color: var(--color-nav-bg) !important; color: var(--color-nav-text) !important; } #footer a, footer a { color: var(--color-primary-light-2) !important; } /* ================================================================ Buttons ================================================================ */ .ui.primary.button, .ui.green.button { font-family: 'FellTypeFormal', Georgia, serif; letter-spacing: 0.04em; }