/* ================================================================
   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;
}
