@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap");

body {
  font-family: "Fira Code", ui-monospace, monospace;
}

/* Matt Moyles 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: #0d1117;
  --foreground: #c9d1d9;
  --card: #161b22;
  --card-foreground: #c9d1d9;
  --popover: #161b22;
  --popover-foreground: #c9d1d9;
  --theme-color: #7ee787;
  --primary: #7ee787;
  --primary-foreground: #0a0e14;
  --secondary: #21262d;
  --secondary-foreground: #c9d1d9;
  --muted: #21262d;
  --muted-foreground: #8b949e;
  --accent: #21262d;
  --accent-foreground: #e6edf3;
  --destructive: #ff7b72;
  --border: #30363d;
  --input: #30363d;
  --ring: #3fb950;
  --chart-1: #7ee787;
  --chart-2: #79c0ff;
  --chart-3: #e3b341;
  --chart-4: #58a6ff;
  --chart-5: #d2a8ff;
  --content: #0d1117;
  --sidebar: #0a0e14;
  --sidebar-foreground: #b3b1ad;
  --sidebar-primary: #7ee787;
  --sidebar-primary-foreground: #0a0e14;
  --sidebar-accent: #21262d;
  --sidebar-accent-foreground: #e6edf3;
  --sidebar-hover: #161b22;
  --sidebar-border: #21262d;
  --sidebar-ring: #3fb950;
  --scrollbar-thumb: #30363d;

  --red-diff: #ff7b7226;
  --green-diff: #7ee78726;
  --git-diff: #30363d61;
}

/* 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: #7ee787;
}

/* 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: #21262d !important;
  box-shadow: inset 4px 0 0 #7ee787 !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: #c9d1d9;
}
.chroma .k, .chroma .kr, .chroma .kp, .chroma .nt, .chroma .ow {
  color: #ff7b72;
}
.chroma .kd, .chroma .kt, .chroma .nc, .chroma .no {
  color: #e3b341;
}
.chroma .kc, .chroma .m, .chroma .mb, .chroma .mh, .chroma .mi, .chroma .mf, .chroma .il, .chroma .mo {
  color: #d2a8ff;
}
.chroma .kn, .chroma .ni, .chroma .sr, .chroma .nl, .chroma .na, .chroma .nd, .chroma .nn, .chroma .py {
  color: #79c0ff;
}
.chroma .nf, .chroma .fm {
  color: #7ee787;
}
.chroma .nb, .chroma .bp, .chroma .dl, .chroma .se {
  color: #ffa657;
}
.chroma .ne, .chroma .err, .chroma .gr, .chroma .gt {
  color: #ff7b72;
}
.chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi, .chroma .vm {
  color: #58a6ff;
}
.chroma .s, .chroma .sc, .chroma .s1, .chroma .s2, .chroma .sb, .chroma .sx, .chroma .ss, .chroma .si, .chroma .sa, .chroma .sd, .chroma .sh {
  color: #7ee787;
}
.chroma .o {
  color: #b3b1ad;
}
.chroma .c, .chroma .c1, .chroma .cm, .chroma .cs, .chroma .ch {
  color: #6e7681;
  font-style: italic;
}
.chroma .cp, .chroma .cpf {
  color: #79c0ff;
}
.chroma .lnt, .chroma .ln {
  color: #6e7681;
}
.chroma .gh, .chroma .gu {
  color: #7ee787;
  font-weight: bold;
}
.chroma .ge {
  color: #c9d1d9;
  font-style: italic;
}
.chroma .gs {
  color: #c9d1d9;
  font-weight: bold;
}
.chroma .gl {
  color: #c9d1d9;
  text-decoration: underline;
}
.chroma .hl {
  background-color: #1c3a5e;
}
.chroma .gi {
  color: #7ee787;
  background-color: #21262d;
}
.chroma .gd {
  color: #ff7b72;
  background-color: #21262d;
}

/* Jupyter notebooks, highlighted in the browser by highlight.js. */
code .hljs-keyword {
  color: #ff7b72;
}
code .hljs-built_in {
  color: #ffa657;
}
code .hljs-type {
  color: #e3b341;
}
code .hljs-literal {
  color: #d2a8ff;
}
code .hljs-number {
  color: #d2a8ff;
}
code .hljs-operator {
  color: #b3b1ad;
}
code .hljs-punctuation {
  color: #b3b1ad;
}
code .hljs-property {
  color: #79c0ff;
}
code .hljs-regexp {
  color: #79c0ff;
}
code .hljs-string {
  color: #7ee787;
}
code .hljs-char.escape_ {
  color: #ffa657;
}
code .hljs-subst {
  color: #b3b1ad;
}
code .hljs-symbol {
  color: #d2a8ff;
}
code .hljs-variable {
  color: #58a6ff;
}
code .hljs-variable.language_ {
  color: #58a6ff;
}
code .hljs-variable.constant_ {
  color: #d2a8ff;
}
code .hljs-title {
  color: #7ee787;
}
code .hljs-title.class_ {
  color: #e3b341;
}
code .hljs-title.function_ {
  color: #7ee787;
}
code .hljs-params {
  color: #c9d1d9;
}
code .hljs-comment {
  color: #6e7681;
}
code .hljs-doctag {
  color: #ff7b72;
}
code .hljs-meta {
  color: #ffa657;
}
code .hljs-section {
  color: #7ee787;
}
code .hljs-tag {
  color: #ff7b72;
}
code .hljs-name {
  color: #ff7b72;
}
code .hljs-attr {
  color: #79c0ff;
}
code .hljs-attribute {
  color: #79c0ff;
}
code .hljs-bullet {
  color: #ffa657;
}
code .hljs-emphasis {
  color: #c9d1d9;
}
code .hljs-strong {
  color: #c9d1d9;
}
code .hljs-addition {
  color: #7ee787;
}
code .hljs-deletion {
  color: #ff7b72;
}

/* Rendered markdown is github-markdown-css. */
.markdown-body {
  --fgColor-default: #c9d1d9;
  --fgColor-muted: #8b949e;
  --fgColor-accent: #79c0ff;
  --fgColor-success: #7ee787;
  --fgColor-attention: #e3b341;
  --fgColor-danger: #ff7b72;
  --fgColor-done: #d2a8ff;
  --bgColor-default: transparent;
  --bgColor-muted: #161b22;
  --bgColor-neutral-muted: #21262d;
  --bgColor-attention-muted: #21262d;
  --borderColor-default: #30363d;
  --borderColor-muted: #30363d;
  --borderColor-neutral-muted: #21262d;
  --borderColor-accent-emphasis: #58a6ff;
  --borderColor-success-emphasis: #3fb950;
  --borderColor-attention-emphasis: #d29922;
  --borderColor-danger-emphasis: #f85149;
  --borderColor-done-emphasis: #bc8cff;
}

.markdown-body {
  color: #c9d1d9;
  background-color: transparent;
}
.markdown-body a {
  color: #79c0ff;
}
.markdown-body h1, .markdown-body h2 {
  border-bottom-color: #30363d;
}
.markdown-body h6 {
  color: #8b949e;
}
.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: #c9d1d9;
}
.markdown-body hr {
  background: #30363d;
}
.markdown-body blockquote {
  color: #8b949e;
  border-left-color: #30363d;
}
.markdown-body mark {
  color: #e6edf3;
  background-color: #d2992233;
}
.markdown-body kbd {
  color: #c9d1d9;
  background-color: #161b22;
}
.markdown-body ::placeholder {
  color: #6e7681;
}
.markdown-body .absent {
  color: #ff7b72;
}
.markdown-body code, .markdown-body tt {
  background-color: #21262d;
}
.markdown-body .highlight pre, .markdown-body pre {
  color: #c9d1d9;
  background-color: #0a0e14;
}
.markdown-body table th, .markdown-body table td {
  border-color: #30363d;
}
.markdown-body table tr {
  background-color: #0d1117;
  border-top-color: #30363d;
}
.markdown-body table tr:nth-child(2n) {
  background-color: #161b22;
}
.markdown-body span.frame > span {
  border-color: #30363d;
}
.markdown-body span.frame span span {
  color: #c9d1d9;
}
.markdown-body .csv-data .blob-num {
  background: #0d1117;
}
.markdown-body .csv-data th {
  background: #161b22;
}
.markdown-body .footnotes {
  color: #8b949e;
  border-top-color: #30363d;
}
.markdown-body .footnotes li:target {
  color: #c9d1d9;
}
.markdown-body .footnotes li:target::before {
  border-color: #3fb950;
}
.markdown-body .markdown-alert {
  border-left-color: #30363d;
}
.markdown-body .markdown-alert.markdown-alert-note {
  border-left-color: #58a6ff;
}
.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: #58a6ff;
}
.markdown-body .markdown-alert.markdown-alert-important {
  border-left-color: #d2a8ff;
}
.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: #d2a8ff;
}
.markdown-body .markdown-alert.markdown-alert-warning {
  border-left-color: #e3b341;
}
.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: #e3b341;
}
.markdown-body .markdown-alert.markdown-alert-tip {
  border-left-color: #7ee787;
}
.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: #7ee787;
}
.markdown-body .markdown-alert.markdown-alert-caution {
  border-left-color: #ff7b72;
}
.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: #ff7b72;
}

/* 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: #ffa657;
  background-color: #21262d;
}
.og-orange > section, .og-orange > section:is(.dark *) {
  color: #ffa657;
}
.og-green, .og-green:is(.dark *) {
  color: #7ee787;
  background-color: #21262d;
}
.og-green > section, .og-green > section:is(.dark *) {
  color: #7ee787;
}
.og-red, .og-red:is(.dark *) {
  color: #ff7b72;
  background-color: #21262d;
}
.og-red > section, .og-red > section:is(.dark *) {
  color: #ff7b72;
}
.og-blue, .og-blue:is(.dark *) {
  color: #58a6ff;
  background-color: #21262d;
}
.og-blue > section, .og-blue > section:is(.dark *) {
  color: #58a6ff;
}
.og-success, .og-success:is(.dark *) {
  color: #c9d1d9;
  background-color: #161b22;
  border-left-color: #7ee787;
}
.og-success > section, .og-success > section:is(.dark *) {
  color: #c9d1d9;
}
