@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');

:root {
  --font-family: 'JetBrains Mono', monospace;
}

body,
.markup,
.markdown-body,
.ui,
.application,
.ui.menu,
.ui.button,
.ui.input,
.ui.form textarea,
.ui.form input,
.repository .file-list a,
.repository .file-content,
.diff-box,
.comment,
.issue-comment,
.pr-review-comment,
.footer,
.ui.segments,
.ui.segment,
.ui.card,
.ui.cards,
.gt-color-bg,
.gt-color-bg-secondary,
.gt-color-fg,
.gt-color-fg-secondary,
.gt-color-fg-muted,
.gt-bolder,
.gt-dl,
.gt-table,
.gt-md,
.gt-issue,
.gt-link,
.gtmoji,
.emoji,
a,
p,
span,
div,
td,
th,
li,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family) !important;
}

.markup [src$="#gh-light-mode-only"],
.markup [src$="#light-mode-only"],
.markup [href$="#gh-light-mode-only"],
.markup [href$="#light-mode-only"] {
  display: none;
}

.markup [src$="#gh-dark-mode-only"],
.markup [src$="#dark-mode-only"],
.markup [href$="#gh-dark-mode-only"],
.markup [href$="#dark-mode-only"] {
  display: unset;
}

:root {
  /* Melosso palette */
  --omi-bg-primary: #0b112f;
  --omi-bg-secondary: #111836;
  --omi-bg-tertiary: #1e294a;
  --omi-text-primary: #F1F5F9;
  --omi-text-secondary: #94A3B8;
  --omi-text-muted: #64748B;
  --omi-accent: #e671b8;
  --omi-accent-secondary: #d763aa;
  --omi-accent-hover: #e978bc;
  --omi-border: rgba(255, 255, 255, 0.1);
  --omi-border-hover: rgba(255, 255, 255, 0.15);
  --omi-card-bg: rgba(255, 255, 255, 0.03);
  --omi-card-border: rgba(255, 255, 255, 0.08);
  --omi-glass: rgba(255, 255, 255, 0.05);
  --omi-shadow: 0 4px 24px rgba(3, 5, 16, 0.45);

  /* secondary accent — green (use sparingly; pink stays the main accent) */
  --omi-green: #007c41;
  --omi-green-hover: #009858;
  --omi-green-tint: rgba(0, 77, 36, 0.00);
  --omi-green-tint-strong: rgba(0, 77, 36, 0.24);
  --omi-green-border: rgba(0, 124, 65, 0.35);

  /* steel ramp — dark navy, anchored on the bg-primary/secondary/tertiary colors */
  --steel-900: #060919;
  --steel-850: #080D24;
  --steel-800: #111836; /* = bg-secondary */
  --steel-750: #17203F;
  --steel-700: #1E294A; /* = bg-tertiary */
  --steel-650: #26335A;
  --steel-600: #2F3D6B;
  --steel-550: #3E4F82;
  --steel-500: #5D7099;
  --steel-450: #7587A6;
  --steel-400: #94A3B8;
  --steel-350: #A8B5C7;
  --steel-300: #BEC8D6;
  --steel-250: #D4DBE5;
  --steel-200: #E2E8F0;
  --steel-150: #EDF2F7;
  --steel-100: #F1F5F9;
  --is-dark-theme: true;

  /* primary — Pink (hue ~324°, built around #e671b8) */
  --color-primary: var(--omi-accent);
  --color-primary-contrast: #000;
  --color-primary-dark-1: #CF5AA5;
  --color-primary-dark-2: #B84891;
  --color-primary-dark-3: #9A3A79;
  --color-primary-dark-4: #7C2F61;
  --color-primary-dark-5: #66274F;
  --color-primary-dark-6: #521F40;
  --color-primary-dark-7: #3E1830;
  --color-primary-light-1: #EC8CC7;
  --color-primary-light-2: #F2A6D6;
  --color-primary-light-3: #F7C2E4;
  --color-primary-light-4: #FBDDF0;
  --color-primary-light-5: #FDECF7;
  --color-primary-light-6: #FEF3FA;
  --color-primary-light-7: #FFF8FC;
  --color-primary-alpha-10: #E671B819;
  --color-primary-alpha-20: #E671B833;
  --color-primary-alpha-30: #E671B84B;
  --color-primary-alpha-40: #E671B866;
  --color-primary-alpha-50: #E671B880;
  --color-primary-alpha-60: #E671B899;
  --color-primary-alpha-70: #E671B8B3;
  --color-primary-alpha-80: #E671B8CC;
  --color-primary-alpha-90: #E671B8E1;
  --color-primary-hover: var(--omi-accent-hover);
  --color-primary-active: var(--color-primary-dark-1);

  /* secondary — Gitea draws most borders/separators with this, so it must differ from the box fill (steel-800) */
  --color-secondary: var(--steel-700);
  --color-secondary-dark-1: var(--steel-800);
  --color-secondary-dark-2: var(--steel-850);
  --color-secondary-dark-3: var(--steel-900);
  --color-secondary-dark-4: #050818;
  --color-secondary-dark-5: #040613;
  --color-secondary-dark-6: #03040D;
  --color-secondary-dark-7: #000000;
  --color-secondary-dark-8: #000000;
  --color-secondary-dark-9: #000000;
  --color-secondary-dark-10: #000000;
  --color-secondary-dark-11: #000000;
  --color-secondary-dark-12: #000000;
  --color-secondary-dark-13: #000000;
  --color-secondary-light-1: var(--steel-650);
  --color-secondary-light-2: var(--steel-600);
  --color-secondary-light-3: var(--steel-550);
  --color-secondary-light-4: var(--steel-500);
  --color-secondary-alpha-10: #1E294A19;
  --color-secondary-alpha-20: #1E294A33;
  --color-secondary-alpha-30: #1E294A4B;
  --color-secondary-alpha-40: #1E294A66;
  --color-secondary-alpha-50: #1E294A80;
  --color-secondary-alpha-60: #1E294A99;
  --color-secondary-alpha-70: #1E294AB3;
  --color-secondary-alpha-80: #1E294ACC;
  --color-secondary-alpha-90: #1E294AE1;
  --color-secondary-hover: var(--color-secondary-light-1);
  --color-secondary-active: var(--color-secondary-light-2);

  /* console — actions log / terminal output */
  --color-console-fg: var(--omi-text-primary);
  --color-console-fg-subtle: var(--omi-text-muted);
  --color-console-bg: #080D24;
  --color-console-border: var(--omi-border);
  --color-console-hover-bg: #ffffff0a;
  --color-console-active-bg: var(--steel-700);
  --color-console-menu-bg: var(--steel-700);
  --color-console-menu-border: var(--omi-border);

  /* named colors
     NOTE: green is its own secondary accent (--omi-green), separate from the pink
     main accent, so success/open/merged states stay green. */
  --color-red: #EF4444;
  --color-orange: #F97316;
  --color-yellow: #EAB308;
  --color-olive: #84CC16;
  --color-green: var(--omi-green);
  --color-teal: #1AA597;
  --color-blue: #3B82F6;
  --color-violet: #8B5CF6;
  --color-purple: #A855F7;
  --color-pink: #EC4899;
  --color-brown: #A47252;
  --color-grey: var(--steel-500);
  --color-black: #020617;

  /* light variants */
  --color-red-light: #F87171;
  --color-orange-light: #FB923C;
  --color-yellow-light: #FACC15;
  --color-olive-light: #A3E635;
  --color-green-light: var(--omi-green-hover);
  --color-teal-light: #2DD4BF;
  --color-blue-light: #60A5FA;
  --color-violet-light: #A78BFA;
  --color-purple-light: #C084FC;
  --color-pink-light: #F472B6;
  --color-brown-light: #B97B64;
  --color-grey-light: var(--steel-300);
  --color-black-light: var(--steel-800);

  /* dark-1 variants */
  --color-red-dark-1: #DC2626;
  --color-orange-dark-1: #EA580C;
  --color-yellow-dark-1: #CA8A04;
  --color-olive-dark-1: #65A30D;
  --color-green-dark-1: #1B8559;
  --color-teal-dark-1: #0D8C7F;
  --color-blue-dark-1: #2563EB;
  --color-violet-dark-1: #7C3AED;
  --color-purple-dark-1: #9333EA;
  --color-pink-dark-1: #DB2777;
  --color-brown-dark-1: #8B5A3C;
  --color-black-dark-1: #020617;

  /* dark-2 variants */
  --color-red-dark-2: #B91C1C;
  --color-orange-dark-2: #C2410C;
  --color-yellow-dark-2: #A16207;
  --color-olive-dark-2: #4D7C0F;
  --color-green-dark-2: #136B47;
  --color-teal-dark-2: #0B6F66;
  --color-blue-dark-2: #1D4ED8;
  --color-violet-dark-2: #6D28D9;
  --color-purple-dark-2: #7E22CE;
  --color-pink-dark-2: #BE185D;
  --color-brown-dark-2: #6B4423;
  --color-black-dark-2: #000000;

  /* ANSI colors — navy/pink terminal palette */
  --color-ansi-black: #080D24;
  --color-ansi-red: #EF4444;
  --color-ansi-green: var(--omi-green);
  --color-ansi-yellow: #EAB308;
  --color-ansi-blue: #3B82F6;
  --color-ansi-magenta: var(--omi-accent-secondary);
  --color-ansi-cyan: #1AA597;
  --color-ansi-white: var(--omi-text-secondary);
  --color-ansi-bright-black: var(--omi-text-muted);
  --color-ansi-bright-red: #F87171;
  --color-ansi-bright-green: #3BC48F;
  --color-ansi-bright-yellow: #FACC15;
  --color-ansi-bright-blue: #60A5FA;
  --color-ansi-bright-magenta: var(--omi-accent-hover);
  --color-ansi-bright-cyan: #2DD4BF;
  --color-ansi-bright-white: var(--omi-text-primary);

  /* other colors */
  --color-gold: #F59E0B;
  --color-white: #ffffff;
  --color-pure-black: #000000;

  /* diff */
  --color-diff-removed-word-bg: #4A1F2B;
  --color-diff-added-word-bg: #0E4F3A;
  --color-diff-removed-row-bg: #2F1C2A;
  --color-diff-moved-row-bg: #2D2A22;
  --color-diff-added-row-bg: #0C2224;
  --color-diff-removed-row-border: #4A1F2B;
  --color-diff-moved-row-border: #4D3E1D;
  --color-diff-added-row-border: #0E4F3A;
  --color-diff-inactive: var(--steel-700);

  /* alerts */
  --color-error-border: #7F1D1D;
  --color-error-bg: #2D1727;
  --color-error-bg-active: #450A1A;
  --color-error-bg-hover: #450A1A;
  --color-error-text: #FCA5A5;
  --color-success-border: #17704F;
  --color-success-bg: #0A2420;
  --color-success-text: #7FD9B5;
  --color-warning-border: #4D3E1D;
  --color-warning-bg: #2D2A1A;
  --color-warning-text: #FDE047;
  --color-info-border: #243E72;
  --color-info-bg: #101C3F;
  --color-info-text: #93C5FD;

  /* badges */
  --color-red-badge: #EF4444;
  --color-red-badge-bg: #EF444422;
  --color-red-badge-hover-bg: #EF444444;
  --color-green-badge: #229F6E;
  --color-green-badge-bg: #229F6E22;
  --color-green-badge-hover-bg: #229F6E44;
  --color-yellow-badge: #EAB308;
  --color-yellow-badge-bg: #EAB30822;
  --color-yellow-badge-hover-bg: #EAB30844;
  --color-orange-badge: #F97316;
  --color-orange-badge-bg: #F9731622;
  --color-orange-badge-hover-bg: #F9731644;

  /* thin element colors */
  --thin-lightness: 0.65;
  --regular-chroma: 0.18;
  --color-thin-green: oklch(var(--thin-lightness) var(--regular-chroma) 160deg);
  --color-thin-red: oklch(var(--thin-lightness) var(--regular-chroma) 25deg);
  --color-thin-purple: oklch(var(--thin-lightness) var(--regular-chroma) 290deg);
  --color-thin-orange: oklch(var(--thin-lightness) var(--regular-chroma) 45deg);

  --thin-lightness-highlight: 0.72;
  --color-thin-red-highlight: oklch(var(--thin-lightness-highlight) var(--regular-chroma) 25deg);

  /* danger button bg */
  --bg-lightness: 0.18;
  --bg-chroma: 0.12;
  --color-danger-bg: oklch(var(--bg-lightness) var(--bg-chroma) 25deg);

  /* target-based / semantic colors */
  --color-body: var(--omi-bg-primary);
  --color-box-header: var(--steel-750);
  --color-box-body: var(--steel-800);
  --color-box-body-highlight: var(--steel-750);
  --color-text-dark: var(--omi-text-primary);
  --color-text: var(--omi-text-primary);
  --color-text-light: var(--omi-text-secondary);
  --color-text-light-1: var(--omi-text-secondary);
  --color-text-light-2: var(--steel-350);
  --color-text-light-3: var(--steel-400);
  --color-footer: var(--steel-900);
  --color-timeline: var(--steel-700);
  --color-input-text: var(--omi-text-primary);
  --color-input-background: var(--steel-850);
  --color-input-toggle-background: var(--steel-700);
  --color-input-border: var(--omi-border);
  --color-input-border-hover: var(--omi-border-hover);
  --color-header-wrapper: var(--steel-850);
  --color-header-wrapper-transparent: #080D2400;
  --color-light: #ffffff1a;
  --color-light-mimic-enabled: rgba(255, 255, 255, calc(8 / 255));
  --color-light-border: var(--omi-border);
  --color-hover: var(--steel-700);
  --color-active: var(--steel-750);
  --color-menu: var(--steel-800);
  --color-card: var(--steel-800);
  --fancy-card-bg: var(--omi-glass);
  --fancy-card-border: var(--omi-card-border);
  --color-markup-table-row: #ffffff06;
  --color-markup-code-block: #080D24;
  --color-markup-code-inline: var(--steel-750);
  --color-button: var(--steel-700);
  --color-code-bg: var(--steel-850);
  --color-shadow: #04061A60;
  --color-secondary-bg: var(--steel-800);
  --color-text-focus: var(--omi-text-primary);
  --color-expand-button: var(--steel-700);
  --color-placeholder-text: var(--omi-text-muted);
  --color-editor-line-highlight: var(--steel-750);
  --color-project-board-bg: var(--steel-750);
  --color-project-board-dark-label: var(--omi-text-muted);
  --color-caret: var(--omi-accent);
  --color-reaction-bg: #ffffff0a;
  --color-reaction-active-bg: var(--color-primary-alpha-30);
  --color-reaction-hover-bg: var(--color-primary-alpha-40);
  --color-tooltip-text: var(--omi-text-primary);
  --color-tooltip-bg: #060919e6;
  --color-nav-bg: var(--steel-850);
  --color-nav-hover-bg: var(--steel-700);
  --color-secondary-nav-bg: var(--color-body);
  --color-label-text: #fff;
  --color-label-bg: var(--steel-600);
  --color-label-hover-bg: var(--steel-550);
  --color-label-active-bg: var(--steel-500);
  --color-label-bg-alt: var(--steel-550);
  --color-accent: var(--omi-accent);
  --color-small-accent: var(--color-primary-dark-2);
  --color-highlight-fg: var(--color-primary-light-2);
  --color-highlight-bg: var(--color-primary-alpha-20);
  --color-overlay-backdrop: #060919c0;
  --color-selection-bg: var(--color-primary-light-3);
  --color-selection-fg: var(--steel-900);

  /* image diff checkerboard */
  --checkerboard-color-1: var(--steel-700);
  --checkerboard-color-2: var(--steel-800);

  /* status indicators */
  --color-indicator-offline: var(--steel-400);
  --color-indicator-offline-20: #94A3B81a;
  --color-indicator-idle: var(--color-green);
  --color-indicator-idle-20: #229F6E1a;
  --color-indicator-active: #3B82F6;
  --color-indicator-active-20: #3B82F633;

  /* Melosso-specific: glassmorphism cards */
  --omi-card-glow: 0 0 20px rgba(230, 113, 184, 0.18);

  accent-color: var(--color-accent);
  color-scheme: dark;
}

/* Background gradient overlay */
html {
  background: var(--omi-bg-primary);
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(47, 61, 107, 0.45) 0%, transparent 65%);
  pointer-events: none;
  z-index: -1;
}

/* Glassmorphism card effect
   Only standalone boxes get the glass look. Attached pieces, nested boxes and comment
   rows are left alone so every outline and shadow follows the real box shape.
   Borders come from the theme itself (--color-secondary). */
body .ui.segments,
body .ui.segment:not(.attached, .comment-body),
body .repository-file,
body .file-content,
body .diff-box {
  background: var(--omi-card-bg);
  box-shadow: var(--omi-shadow);
}

/* no stacking: anything nested inside a box stays flat */
body .ui.segments > .ui.segment,
body .ui.segment .ui.segment,
body .ui.segment .ui.segments,
body .ui.segments .ui.segments,
body .repository-file .file-content,
body .diff-box .file-content,
body .timeline-item .ui.segment,
body .timeline-item .ui.segments {
  background: transparent;
  box-shadow: none;
}

/* Hover glow: standalone file boxes only (not every nested segment/markdown block) */
.repository-file:hover,
.file-content:hover {
  box-shadow: var(--omi-card-glow);
}

/* Markdown inside comments, PR descriptions etc. stays transparent so it never
   paints a square patch inside a rounded box */
.markup,
.markup.markdown {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Markdown file view (README) keeps the card look */
.file-view.markup,
.file-view.markup.markdown {
  background: var(--omi-card-bg) !important;
  border-radius: 0 !important;
}

/* Org/user profile description - inherits page background, not card */
#org-info .render-content.markup,
#org-info .render-content.markup.markdown {
  background: transparent !important;
}

/* Repo file view only: no extra outline around the attached markdown/code segment */
.repository.file.list .ui.attached.segment,
.repository.file.list .ui.bottom.attached.segment {
  box-shadow: none !important;
  border: none !important;
}

/* Button: Primary - Pink accent */
.ui.primary.button,
.ui.primary.buttons .button,
.ui.positive.button,
.ui.positive.buttons .button {
  background: var(--omi-accent) !important;
  color: #000 !important;
  border: none !important;
}

.ui.primary.button:hover,
.ui.primary.buttons .button:hover,
.ui.positive.button:hover,
.ui.positive.buttons .button:hover {
  background: var(--omi-accent-hover) !important;
}

/* Button: Secondary - Outlined */
.ui.secondary.button,
.ui.secondary.buttons .button {
  background: transparent !important;
  color: var(--omi-text-primary) !important;
  border: 1px solid var(--omi-border) !important;
}

.ui.secondary.button:hover,
.ui.secondary.buttons .button:hover {
  background: var(--omi-glass) !important;
  border-color: var(--omi-border-hover) !important;
}

/* invert emojis that are hard to read otherwise */
.emoji[aria-label="check mark"],
.emoji[aria-label="currency exchange"],
.emoji[aria-label="TOP arrow"],
.emoji[aria-label="END arrow"],
.emoji[aria-label="ON! arrow"],
.emoji[aria-label="SOON arrow"],
.emoji[aria-label="heavy dollar sign"],
.emoji[aria-label="copyright"],
.emoji[aria-label="registered"],
.emoji[aria-label="trade mark"],
.emoji[aria-label="multiply"],
.emoji[aria-label="plus"],
.emoji[aria-label="minus"],
.emoji[aria-label="divide"],
.emoji[aria-label="curly loop"],
.emoji[aria-label="double curly loop"],
.emoji[aria-label="wavy dash"],
.emoji[aria-label="paw prints"],
.emoji[aria-label="musical note"],
.emoji[aria-label="musical notes"] {
  filter: invert(100%) hue-rotate(180deg);
}
i.grey.icon.icon.icon.icon {
  color: var(--steel-350) !important;
}
.ui.secondary.vertical.menu {
  border-radius: 0.28571429rem !important;
  overflow: hidden;
}

/* Tab menu: Secondary pointing style */
.ui.secondary.pointing.menu .active.item {
  background-color: transparent;
  box-shadow: none;
  border-color: var(--omi-accent) !important;
  font-weight: 500;
  color: var(--omi-accent) !important;
}

.ui.secondary.pointing.menu .item:hover {
  border-color: var(--omi-accent-hover) !important;
  color: var(--omi-accent-hover) !important;
}
.ui.basic.primary.button.item {
  background-color: var(--color-active) !important;
  color: var(--color-text) !important;
  box-shadow: none !important;
}
.repo-topics {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ui.label,
.ui.labels .label {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  margin: 0 !important;
}

.tabs-with-labels .item > .ui.label,
.dashboard-orgs .ui.label,
.dashboard-repos .ui.label {
  margin-inline-start: 0.5rem !important;
}
.ui.red.label.notification_count,
.ui.primary.label,
.ui.primary.labels .label {
  background-color: var(--color-primary-light-1) !important;
  color: #000 !important;
}
.ui.labeled.icon.buttons > .button > .icon,
.ui.labeled.icon.button > .icon {
  background-color: var(--color-light) !important;
}
#review-box .review-comments-counter {
  background-color: var(--color-shadow) !important;
  color: var(--color-white) !important;
  margin-left: 0.5em;
}
.ui.basic.labels .primary.label,
.ui.ui.ui.basic.primary.label {
  color: var(--color-text-dark) !important;
}
.ui.yellow.label.pending-label {
  color: var(--color-warning-text) !important;
}
strong.attention-important, svg.attention-important {
  color: var(--color-red-light);
}
strong.attention-note, svg.attention-note {
  color: var(--color-blue-light);
}
strong.attention-caution, svg.attention-caution {
  color: var(--color-warning-text);
}
.ui.basic.red.button {
  background-color: var(--color-red);
  color: var(--color-white);
}

.tippy-box:not([data-theme]) {
  color: var(--color-tooltip-text) !important;
}
.ui.basic.red.button:hover,
.ui.basic.red.button:focus {
  background-color: var(--color-red-dark-1);
  color: var(--color-white);
}
.ui.basic.red.button:active {
  background-color: var(--color-red-dark-2);
  color: var(--color-white);
}

/* Chroma syntax highlighting — Melosso palette */
.chroma .bp { color: var(--color-purple); font-style: italic; }
.chroma .c { color: var(--omi-text-muted); font-style: italic; }
.chroma .c1 { color: var(--omi-text-muted); font-style: italic; }
.chroma .ch { color: var(--omi-text-muted); font-style: italic; }
.chroma .cm { color: var(--omi-text-muted); font-style: italic; }
.chroma .cp { color: var(--color-pink); }
.chroma .cpf { color: var(--color-yellow); }
.chroma .cs { color: var(--omi-text-muted); font-style: italic; }
.chroma .dl { color: var(--color-yellow); }
.chroma .fm {}
.chroma .g {}
.chroma .gd { color: var(--color-red); background-color: var(--color-diff-removed-row-bg); }
.chroma .ge { color: var(--omi-text-primary); font-style: italic; }
.chroma .gh { color: var(--color-primary); }
.chroma .gi { color: var(--color-green); background-color: var(--color-diff-added-row-bg); }
.chroma .gl {}
.chroma .go { color: var(--omi-text-muted); }
.chroma .gp { color: var(--omi-text-primary); }
.chroma .gr { color: var(--color-red); }
.chroma .gs { color: var(--omi-text-primary); font-weight: bold; }
.chroma .gt { color: var(--color-red); }
.chroma .gu { color: var(--omi-text-muted); }
.chroma .il { color: var(--color-orange); }
.chroma .k { color: var(--color-pink); }
.chroma .kc { color: var(--color-orange); }
.chroma .kd { color: var(--color-pink); }
.chroma .kn { color: var(--color-pink); }
.chroma .kp { color: var(--color-pink); }
.chroma .kr { color: var(--color-pink); }
.chroma .kt { color: var(--color-teal); }
.chroma .l {}
.chroma .ld {}
.chroma .m { color: var(--color-orange); }
.chroma .mb { color: var(--color-orange); }
.chroma .mf { color: var(--color-orange); }
.chroma .mh { color: var(--color-orange); }
.chroma .mi { color: var(--color-orange); }
.chroma .mo { color: var(--color-orange); }
.chroma .n { color: var(--omi-text-primary); }
.chroma .na { color: var(--color-green); }
.chroma .nb { color: var(--color-teal); }
.chroma .nc { color: var(--color-teal); }
.chroma .nd { color: var(--color-green); }
.chroma .ne { color: var(--color-teal); }
.chroma .nf { color: var(--color-green); }
.chroma .ni { color: var(--omi-text-primary); }
.chroma .nn { color: var(--omi-text-primary); }
.chroma .no { color: var(--color-orange); }
.chroma .nt { color: var(--color-pink); }
.chroma .nv { color: var(--omi-text-primary); }
.chroma .nx { color: var(--omi-text-primary); }
.chroma .o { color: var(--color-pink); }
.chroma .ow { color: var(--color-pink); }
.chroma .p { color: var(--omi-text-primary); }
.chroma .py {}
.chroma .s { color: var(--color-yellow); }
.chroma .s1 { color: var(--color-yellow); }
.chroma .s2 { color: var(--color-yellow); }
.chroma .sa { color: var(--color-pink); }
.chroma .sb { color: var(--color-yellow); }
.chroma .sc { color: var(--color-yellow); }
.chroma .sd { color: var(--color-yellow); }
.chroma .se { color: var(--color-orange); }
.chroma .sh { color: var(--color-yellow); }
.chroma .si { color: var(--color-yellow); }
.chroma .sr { color: var(--color-teal); }
.chroma .ss { color: var(--color-orange); }
.chroma .sx { color: var(--color-yellow); }
.chroma .vc { color: var(--omi-text-primary); }
.chroma .vg { color: var(--omi-text-primary); }
.chroma .vi { color: var(--omi-text-primary); }
.chroma .vm {}
.chroma .w { color: var(--omi-text-muted); }
.chroma .err {}


/* CodeMirror — markdown editor, Melosso palette */
.CodeMirror.cm-s-default .cm-property,
.CodeMirror.cm-s-paper .cm-property {
  color: var(--color-green);
}

.CodeMirror.cm-s-default .cm-header,
.CodeMirror.cm-s-paper .cm-header {
  color: var(--color-primary);
}

.CodeMirror.cm-s-default .cm-quote,
.CodeMirror.cm-s-paper .cm-quote {
  color: var(--color-yellow);
}

.CodeMirror.cm-s-default .cm-keyword,
.CodeMirror.cm-s-paper .cm-keyword {
  color: var(--color-pink);
}

.CodeMirror.cm-s-default .cm-atom,
.CodeMirror.cm-s-paper .cm-atom {
  color: var(--color-orange);
}

.CodeMirror.cm-s-default .cm-number,
.CodeMirror.cm-s-paper .cm-number {
  color: var(--color-orange);
}

.CodeMirror.cm-s-default .cm-def,
.CodeMirror.cm-s-paper .cm-def {
  color: var(--omi-text-primary);
}

.CodeMirror.cm-s-default .cm-variable-2,
.CodeMirror.cm-s-paper .cm-variable-2 {
  color: var(--color-teal);
}

.CodeMirror.cm-s-default .cm-variable-3,
.CodeMirror.cm-s-paper .cm-variable-3 {
  color: var(--color-green);
}

.CodeMirror.cm-s-default .cm-comment,
.CodeMirror.cm-s-paper .cm-comment {
  color: var(--omi-text-muted);
  font-style: italic;
}

.CodeMirror.cm-s-default .cm-string,
.CodeMirror.cm-s-paper .cm-string {
  color: var(--color-yellow);
}

.CodeMirror.cm-s-default .cm-string-2,
.CodeMirror.cm-s-paper .cm-string-2 {
  color: var(--color-orange);
}

.CodeMirror.cm-s-default .cm-meta,
.CodeMirror.cm-s-paper .cm-meta,
.CodeMirror.cm-s-default .cm-qualifier,
.CodeMirror.cm-s-paper .cm-qualifier {
  color: var(--color-pink);
}

.CodeMirror.cm-s-default .cm-builtin,
.CodeMirror.cm-s-paper .cm-builtin {
  color: var(--color-teal);
}

.CodeMirror.cm-s-default .cm-bracket,
.CodeMirror.cm-s-paper .cm-bracket {
  color: var(--omi-text-primary);
}

.CodeMirror.cm-s-default .cm-tag,
.CodeMirror.cm-s-paper .cm-tag {
  color: var(--color-pink);
}

.CodeMirror.cm-s-default .cm-attribute,
.CodeMirror.cm-s-paper .cm-attribute {
  color: var(--color-green);
}

.CodeMirror.cm-s-default .cm-hr,
.CodeMirror.cm-s-paper .cm-hr {
  color: var(--omi-text-muted);
}

.CodeMirror.cm-s-default .cm-url,
.CodeMirror.cm-s-paper .cm-url {
  color: var(--color-teal);
}

.CodeMirror.cm-s-default .cm-link,
.CodeMirror.cm-s-paper .cm-link {
  color: var(--color-primary);
}

.CodeMirror.cm-s-default .cm-error,
.CodeMirror.cm-s-paper .cm-error {
  color: var(--color-red);
}

/* Help text visibility */
.help,
.help-block,
.help-text,
.ui.help,
.form-help,
.form .help,
.form-help-text,
.form-group .help,
.field .help,
.field .prompt,
.form .field > .prompt,
.form .inline.fields .field > .prompt,
span.help,
p.help {
  color: var(--omi-text-secondary) !important;
}

/* Dropdown menu z-index fix */
.ui.selection.dropdown.active.visible {
    z-index: 100 !important;
    position: relative; /* Ensures z-index takes effect */
}

.ui.selection.dropdown.active.visible > .menu.visible {
    position: absolute !important;
    z-index: 101 !important;
    top: 100%; /* Pushes the menu exactly below the input box */
    left: 0;
}

/* Dropdown item styling */
.ui.dropdown .menu > .item {
  color: var(--omi-text-primary) !important;
}

.ui.dropdown .menu > .item:hover {
  background: var(--color-hover) !important;
}

.ui.dropdown .menu > .item.active {
  background: var(--color-active) !important;
}

/* User menu and navigation dropdowns, ensure above other content */
nav#navbar,
.navbar-right {
  z-index: 1000 !important;
  position: relative;
}

.navbar-right details.dropdown > .content {
  position: fixed !important;
  z-index: 1001 !important;
  right: 8px;
  top: 40px;
}

overflow-menu {
  z-index: 100 !important;
}

/* SVG Octicons, ensure visibility in dark mode */
.svg,
.gt-octicon,
.octicon,
.ui .svg,
.markdown-body svg,
.file-content svg,
.repository-file svg {
  fill: currentColor;
}

/* File list icons */
.tw-mr-2,
.file-content .tw-mr-2,
.repository-file .tw-mr-2,
.repository.file.list #repo-files-table tbody .svg.octicon-file,
.repository.file.list #repo-files-table tbody .svg.octicon-file-directory,
.repository.file.list #repo-files-table tbody .svg.octicon-file-symlink-file,
.repository.file.list #repo-files-table tbody .svg.octicon-file-directory-symlink {
  color: var(--omi-text-secondary) !important;
}

.file-content .file-list-item:hover .tw-mr-2,
.repository-file .file-list-item:hover .tw-mr-2,
.repository.file.list #repo-files-table tbody tr:hover .svg.octicon-file,
.repository.file.list #repo-files-table tbody tr:hover .svg.octicon-file-directory,
.repository.file.list #repo-files-table tbody tr:hover .svg.octicon-file-symlink-file,
.repository.file.list #repo-files-table tbody tr:hover .svg.octicon-file-directory-symlink {
  color: var(--omi-accent) !important;
}


/* ------------------------------------------------------------------
   Green comment boxes + message boxes
   Border, tint and radius go on the real comment box (.comment-container, which
   holds header + body), not on the .comment row that also contains the avatar
   and the timeline line. Pink stays the main accent for buttons, tabs and links.
   Class names vary a little between Gitea versions; adjust selectors if needed.
   ------------------------------------------------------------------ */
.comment-container,
.timeline-item.comment > .content {
  border: 1px solid var(--omi-green-border);
  border-radius: var(--border-radius, 4px);
  background: var(--omi-green-tint);
  box-shadow: none;
}

.comment-container .comment-header,
.timeline-item.comment > .content > .comment-header {
  background: var(--omi-green-tint-strong) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--omi-green-border) !important;
  border-radius: calc(var(--border-radius, 4px) - 1px) calc(var(--border-radius, 4px) - 1px) 0 0 !important;
}

.comment-container .comment-body,
.comment-container > .ui.attached.segment,
.timeline-item.comment > .content > .ui.attached.segment {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 0 calc(var(--border-radius, 4px) - 1px) calc(var(--border-radius, 4px) - 1px) !important;
}

.comment-container:hover,
.timeline-item.comment > .content:hover {
  box-shadow: 0 0 12px rgba(0, 124, 65, 0.18);
}

/* flash / alert message boxes (errors and warnings keep their own colors) */
.ui.message:not(.error, .negative, .warning, .red, .orange, .yellow) {
  background: var(--omi-green-tint-strong) !important;
  color: var(--color-success-text) !important;
  border: 1px solid var(--omi-green-border) !important;
  box-shadow: none !important;
}
