/* Gruvbox Green for Opengist.
   Loaded after the stylesheets it ships, and overriding only colour: no rule
   here changes a size, a spacing or how anything is drawn, so an upgrade that
   restyles a widget keeps its new shape and takes these colours. */

:root,
.dark {
  --background: #232e1b;
  --foreground: #ebdbb2;
  --card: #2d3a22;
  --card-foreground: #ebdbb2;
  --popover: #2d3a22;
  --popover-foreground: #ebdbb2;
  --theme-color: #b8bb26;
  --primary: #b8bb26;
  --primary-foreground: #1c2415;
  --secondary: #354529;
  --secondary-foreground: #ebdbb2;
  --muted: #354529;
  --muted-foreground: #a89984;
  --accent: #354529;
  --accent-foreground: #fbf1c7;
  --destructive: #fb4934;
  --border: #425433;
  --input: #425433;
  --ring: #98971a;
  --chart-1: #b8bb26;
  --chart-2: #8ec07c;
  --chart-3: #fabd2f;
  --chart-4: #83a598;
  --chart-5: #d3869b;
  --content: #232e1b;
  --sidebar: #1c2415;
  --sidebar-foreground: #d5c4a1;
  --sidebar-primary: #b8bb26;
  --sidebar-primary-foreground: #1c2415;
  --sidebar-accent: #354529;
  --sidebar-accent-foreground: #fbf1c7;
  --sidebar-hover: #2d3a22;
  --sidebar-border: #354529;
  --sidebar-ring: #98971a;
  --scrollbar-thumb: #425433;

  --red-diff: #fb493426;
  --green-diff: #b8bb2626;
  --git-diff: #42543361;
}

/* globals.css recomputes this one from the seed under .dark, at a specificity
   a plain token cannot reach. */
.dark .text-primary,
.dark .hover\:text-primary:hover {
  color: #b8bb26;
}

/* The selected-line highlight. Both halves are here because the shipped rule
   has a .dark variant that would otherwise win back in dark mode. */
.dark .code .line-code.selected,
.code .line-code.selected {
  background-color: #354529 !important;
  box-shadow: inset 4px 0 0 #b8bb26 !important;
}

/* Gist files and fenced markdown code, highlighted server-side by chroma. */
.chroma .cl, .chroma .x, .chroma .n, .chroma .nx, .chroma .l, .chroma .ld, .chroma .g, .chroma .go, .chroma .gp {
  color: #ebdbb2;
}
.chroma .k, .chroma .kr, .chroma .kp, .chroma .nt, .chroma .ow {
  color: #fb4934;
}
.chroma .kd, .chroma .kt, .chroma .nc, .chroma .no {
  color: #fabd2f;
}
.chroma .kc, .chroma .m, .chroma .mb, .chroma .mh, .chroma .mi, .chroma .mf, .chroma .il, .chroma .mo {
  color: #d3869b;
}
.chroma .kn, .chroma .ni, .chroma .sr, .chroma .nl, .chroma .na, .chroma .nd, .chroma .nn, .chroma .py {
  color: #8ec07c;
}
.chroma .nf, .chroma .fm {
  color: #b8bb26;
}
.chroma .nb, .chroma .bp, .chroma .dl, .chroma .se {
  color: #fe8019;
}
.chroma .ne, .chroma .err, .chroma .gr, .chroma .gt {
  color: #fb4934;
}
.chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi, .chroma .vm {
  color: #83a598;
}
.chroma .s, .chroma .sc, .chroma .s1, .chroma .s2, .chroma .sb, .chroma .sx, .chroma .ss, .chroma .si, .chroma .sa, .chroma .sd, .chroma .sh {
  color: #b8bb26;
}
.chroma .o {
  color: #d5c4a1;
}
.chroma .c, .chroma .c1, .chroma .cm, .chroma .cs, .chroma .ch {
  color: #928374;
  font-style: italic;
}
.chroma .cp, .chroma .cpf {
  color: #8ec07c;
}
.chroma .lnt, .chroma .ln {
  color: #928374;
}
.chroma .gh, .chroma .gu {
  color: #b8bb26;
  font-weight: bold;
}
.chroma .ge {
  color: #ebdbb2;
  font-style: italic;
}
.chroma .gs {
  color: #ebdbb2;
  font-weight: bold;
}
.chroma .gl {
  color: #ebdbb2;
  text-decoration: underline;
}
.chroma .hl {
  background-color: #425433;
}
.chroma .gi {
  color: #b8bb26;
  background-color: #354529;
}
.chroma .gd {
  color: #fb4934;
  background-color: #354529;
}

/* Jupyter notebooks, highlighted in the browser by highlight.js. */
code .hljs-keyword {
  color: #fb4934;
}
code .hljs-built_in {
  color: #fe8019;
}
code .hljs-type {
  color: #fabd2f;
}
code .hljs-literal {
  color: #d3869b;
}
code .hljs-number {
  color: #d3869b;
}
code .hljs-operator {
  color: #d5c4a1;
}
code .hljs-punctuation {
  color: #d5c4a1;
}
code .hljs-property {
  color: #8ec07c;
}
code .hljs-regexp {
  color: #8ec07c;
}
code .hljs-string {
  color: #b8bb26;
}
code .hljs-char.escape_ {
  color: #fe8019;
}
code .hljs-subst {
  color: #d5c4a1;
}
code .hljs-symbol {
  color: #d3869b;
}
code .hljs-variable {
  color: #83a598;
}
code .hljs-variable.language_ {
  color: #83a598;
}
code .hljs-variable.constant_ {
  color: #d3869b;
}
code .hljs-title {
  color: #b8bb26;
}
code .hljs-title.class_ {
  color: #fabd2f;
}
code .hljs-title.function_ {
  color: #b8bb26;
}
code .hljs-params {
  color: #ebdbb2;
}
code .hljs-comment {
  color: #928374;
}
code .hljs-doctag {
  color: #fb4934;
}
code .hljs-meta {
  color: #fe8019;
}
code .hljs-section {
  color: #b8bb26;
}
code .hljs-tag {
  color: #fb4934;
}
code .hljs-name {
  color: #fb4934;
}
code .hljs-attr {
  color: #8ec07c;
}
code .hljs-attribute {
  color: #8ec07c;
}
code .hljs-bullet {
  color: #fe8019;
}
code .hljs-emphasis {
  color: #ebdbb2;
}
code .hljs-strong {
  color: #ebdbb2;
}
code .hljs-addition {
  color: #b8bb26;
}
code .hljs-deletion {
  color: #fb4934;
}

/* Rendered markdown is github-markdown-css. */
.markdown-body {
  --fgColor-default: #ebdbb2;
  --fgColor-muted: #a89984;
  --fgColor-accent: #8ec07c;
  --fgColor-success: #b8bb26;
  --fgColor-attention: #fabd2f;
  --fgColor-danger: #fb4934;
  --fgColor-done: #d3869b;
  --bgColor-default: transparent;
  --bgColor-muted: #2d3a22;
  --bgColor-neutral-muted: #354529;
  --bgColor-attention-muted: #354529;
  --borderColor-default: #425433;
  --borderColor-muted: #425433;
  --borderColor-neutral-muted: #354529;
  --borderColor-accent-emphasis: #689d6a;
  --borderColor-success-emphasis: #98971a;
  --borderColor-attention-emphasis: #d79921;
  --borderColor-danger-emphasis: #cc241d;
  --borderColor-done-emphasis: #b16286;
}

.markdown-body {
  color: #ebdbb2;
  background-color: transparent;
}
.markdown-body a {
  color: #8ec07c;
}
.markdown-body h1, .markdown-body h2 {
  border-bottom-color: #425433;
}
.markdown-body h6 {
  color: #a89984;
}
.markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link {
  color: #ebdbb2;
}
.markdown-body hr {
  background: #425433;
}
.markdown-body blockquote {
  color: #a89984;
  border-left-color: #425433;
}
.markdown-body mark {
  color: #fbf1c7;
  background-color: #d7992133;
}
.markdown-body kbd {
  color: #ebdbb2;
  background-color: #2d3a22;
}
.markdown-body ::placeholder {
  color: #928374;
}
.markdown-body .absent {
  color: #fb4934;
}
.markdown-body code, .markdown-body tt {
  background-color: #354529;
}
.markdown-body .highlight pre, .markdown-body pre {
  color: #ebdbb2;
  background-color: #1c2415;
}
.markdown-body table th, .markdown-body table td {
  border-color: #425433;
}
.markdown-body table tr {
  background-color: #232e1b;
  border-top-color: #425433;
}
.markdown-body table tr:nth-child(2n) {
  background-color: #2d3a22;
}
.markdown-body span.frame > span {
  border-color: #425433;
}
.markdown-body span.frame span span {
  color: #ebdbb2;
}
.markdown-body .csv-data .blob-num {
  background: #232e1b;
}
.markdown-body .csv-data th {
  background: #2d3a22;
}
.markdown-body .footnotes {
  color: #a89984;
  border-top-color: #425433;
}
.markdown-body .footnotes li:target {
  color: #ebdbb2;
}
.markdown-body .footnotes li:target::before {
  border-color: #98971a;
}
.markdown-body .markdown-alert {
  border-left-color: #425433;
}
.markdown-body .markdown-alert.markdown-alert-note {
  border-left-color: #83a598;
}
.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: #83a598;
}
.markdown-body .markdown-alert.markdown-alert-important {
  border-left-color: #d3869b;
}
.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: #d3869b;
}
.markdown-body .markdown-alert.markdown-alert-warning {
  border-left-color: #fabd2f;
}
.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: #fabd2f;
}
.markdown-body .markdown-alert.markdown-alert-tip {
  border-left-color: #b8bb26;
}
.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: #b8bb26;
}
.markdown-body .markdown-alert.markdown-alert-caution {
  border-left-color: #fb4934;
}
.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: #fb4934;
}

/* Not colour, but nothing else puts the markers back: Tailwind's preflight sets
   list-style: none on every list, and github-markdown-css never restores it. */
.markdown-body ul {
  list-style: disc;
}
.markdown-body ul ul {
  list-style: circle;
}
.markdown-body ol {
  list-style: decimal;
}

/* Visibility badges and alert banners. */
.og-orange, .og-orange:is(.dark *) {
  color: #fe8019;
  background-color: #354529;
}
.og-orange > section, .og-orange > section:is(.dark *) {
  color: #fe8019;
}
.og-green, .og-green:is(.dark *) {
  color: #b8bb26;
  background-color: #354529;
}
.og-green > section, .og-green > section:is(.dark *) {
  color: #b8bb26;
}
.og-red, .og-red:is(.dark *) {
  color: #fb4934;
  background-color: #354529;
}
.og-red > section, .og-red > section:is(.dark *) {
  color: #fb4934;
}
.og-blue, .og-blue:is(.dark *) {
  color: #83a598;
  background-color: #354529;
}
.og-blue > section, .og-blue > section:is(.dark *) {
  color: #83a598;
}
.og-success, .og-success:is(.dark *) {
  color: #ebdbb2;
  background-color: #2d3a22;
  border-left-color: #b8bb26;
}
.og-success > section, .og-success > section:is(.dark *) {
  color: #ebdbb2;
}
