/*
lsradix theme for code-mirror
http://ethanschoonover.com/lsradix
*/

/*
lsradix color palette
http://ethanschoonover.com/lsradix/img/lsradix-palette.png
*/

.lsradix.base03        { color: or(--lx-gray-01, #002b36); }
.dark .lsradix.base03  { color: or(--lx-gray-02, #002b36); }
.lsradix.base02        { color: or(--lx-gray-02, #073642); }
.dark .lsradix.base02  { color: or(--lx-gray-01, #073642); }
.lsradix.base01        { color: or(--lx-gray-03, #586e75); }
.lsradix.base00        { color: or(--lx-gray-04, #657b83); }
.lsradix.base0         { color: or(--lx-gray-09, #839496); }
.lsradix.base1         { color: or(--lx-gray-10, #93a1a1); }
.lsradix.base2         { color: or(--lx-gray-11, #eee8d5); }
.lsradix.base3         { color: or(--lx-gray-11, #fdf6e3); }
.lsradix.solar-yellow  { color: or(--rx-yellow-11, #b58900); }
.lsradix.solar-orange  { color: or(--rx-orange-11, #cb4b16); }
.lsradix.solar-red     { color: or(--rx-red-11, #dc322f); }
.lsradix.solar-magenta { color: or(--rx-pink-11, #d33682); }
.lsradix.solar-violet  { color: or(--rx-purple-11, #6c71c4); }
.lsradix.solar-blue    { color: or(--rx-blue-11, #268bd2); }
.lsradix.solar-cyan    { color: or(--rx-sky-11, #2aa198); }
.lsradix.solar-green   { color: or(--rx-grass-11, #859900); }

/* Color scheme for code-mirror */

.cm-s-lsradix {
  line-height: 1.45em;
  color-profile: sRGB;
  rendering-intent: auto;
}
.cm-s-lsradix.cm-s-dark {
  background-color: var(--lx-gray-01, hsl(var(--secondary)/.7));
  color: var(--lx-gray-10, hsl(var(--secondary-foreground)));
}

.dark .cm-s-lsradix.cm-s-dark {
  background-color: var(--lx-gray-02, hsl(var(--secondary)/.7));
}

.cm-s-lsradix.cm-s-light {
  background-color: var(--lx-gray-02, hsl(var(--secondary)/.7));
  color: var(--lx-gray-10, hsl(var(--secondary-foreground)));
}

.cm-s-lsradix .CodeMirror-widget {
  text-shadow: none;
}

.cm-s-lsradix .cm-header { color: or(--lx-gray-03, #586e75); }
.cm-s-lsradix .cm-quote { color: or(--lx-gray-10, #93a1a1); }

.cm-s-lsradix .cm-keyword { color: or(--rx-orange-11, #cb4b16); }
.cm-s-lsradix .cm-atom { color: or(--rx-pink-11, #d33682); }
.cm-s-lsradix .cm-number { color: or(--rx-pink-11, #d33682); }
.cm-s-lsradix .cm-def { color: or(--rx-sky-11, #2aa198); }

/* .cm-s-lsradix .cm-variable { color: or(--lx-gray-09, #839496); } */
.cm-s-lsradix .cm-variable { color: or(--lx-gray-12, #839496); }
.cm-s-lsradix .cm-variable-2 { color: or(--rx-yellow-11, #b58900); }
.cm-s-lsradix .cm-variable-3, .cm-s-lsradix .cm-type { color: or(--rx-purple-11, #6c71c4); }

.cm-s-lsradix .cm-property { color: or(--rx-sky-11, #2aa198); }
.cm-s-lsradix .cm-operator { color: or(--rx-purple-11, #6c71c4); }

.cm-s-lsradix .cm-comment { color: or(--lx-gray-10, #586e75); font-style:italic; }

.cm-s-lsradix .cm-string { color: or(--rx-grass-11, #859900); }
.cm-s-lsradix .cm-string-2 { color: or(--rx-yellow-11, #b58900); }

.cm-s-lsradix .cm-meta { color: or(--rx-grass-11, #859900); }
.cm-s-lsradix .cm-qualifier { color: or(--rx-yellow-11, #b58900); }
.cm-s-lsradix .cm-builtin { color: or(--rx-pink-11, #d33682); }
.cm-s-lsradix .cm-bracket { color: or(--rx-orange-11, #cb4b16); }
.cm-s-lsradix .CodeMirror-matchingbracket { color: or(--rx-grass-11, #859900); }
.cm-s-lsradix .CodeMirror-nonmatchingbracket { color: or(--rx-red-11, #dc322f); }
.cm-s-lsradix .cm-tag { color: or(--lx-gray-10, #93a1a1); }
.cm-s-lsradix .cm-attribute { color: or(--rx-sky-11, #2aa198); }
.cm-s-lsradix .cm-hr {
  color: transparent;
  border-top: 1px solid or(--lx-gray-03, #586e75);
  display: block;
}
.cm-s-lsradix .cm-link { color: or(--lx-gray-10, #93a1a1); cursor: pointer; }
.cm-s-lsradix .cm-special { color: or(--rx-purple-11, #6c71c4); }
.cm-s-lsradix .cm-em {
  color: #999;
  text-decoration: underline;
  text-decoration-style: dotted;
}
.cm-s-lsradix .cm-error,
.cm-s-lsradix .cm-invalidchar {
  /* color: or(--lx-gray-03, #586e75); */
  color: or(--lx-gray-10, #586e75);
  border-bottom: 1px dotted or(--rx-red-11, #dc322f);
}

.cm-s-lsradix.cm-s-dark div.CodeMirror-selected { background: or(--lx-gray-06, #073642); }
.cm-s-lsradix.cm-s-dark.CodeMirror ::selection { background: or(--lx-gray-06, rgba(7, 54, 66, 0.99)); }
.cm-s-lsradix.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: or(--lx-gray-06, rgba(7, 54, 66, 0.99)); }

.cm-s-lsradix.cm-s-light div.CodeMirror-selected { background: or(--lx-gray-06, #eee8d5); }
.cm-s-lsradix.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: or(--lx-gray-06, #eee8d5); }
.cm-s-lsradix.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-light .CodeMirror-line > span::-moz-selection, .cm-s-light .CodeMirror-line > span > span::-moz-selection { background: or(--lx-gray-06, #eee8d5); }

/* Editor styling */


/* Remove gutter border */
.cm-s-lsradix .CodeMirror-gutters {
  border-right: 0;
}

/* Gutter colors and line number styling based of color scheme (dark / light) */

/* Dark */
.cm-s-lsradix.cm-s-dark .CodeMirror-gutters {
  background-color: var(--lx-gray-03, hsl(var(--secondary)));
}

.cm-s-lsradix.cm-s-dark .CodeMirror-linenumber {
  color: var(--lx-gray-09, #586e75);
}

/* Light */
.cm-s-lsradix.cm-s-light .CodeMirror-gutters {
  background-color: var(--lx-gray-03, hsl(var(--secondary)));
}

.cm-s-lsradix.cm-s-light .CodeMirror-linenumber {
  color: var(--lx-gray-09, #839496);
}

/* Common */
.cm-s-lsradix .CodeMirror-linenumber {
  padding: 0 5px;
}
.cm-s-lsradix .CodeMirror-guttermarker-subtle { color: or(--lx-gray-03, #586e75); }
.cm-s-lsradix.cm-s-dark .CodeMirror-guttermarker { color: #ddd; }
.cm-s-lsradix.cm-s-light .CodeMirror-guttermarker { color: or(--rx-orange-11, #cb4b16); }

.cm-s-lsradix .CodeMirror-gutter .CodeMirror-gutter-text {
  color: or(--lx-gray-03, #586e75);
}

/* Cursor */
.cm-s-lsradix .CodeMirror-cursor { border-left: 1px solid #819090; }

/* Fat cursor */
.cm-s-lsradix.cm-s-light.cm-fat-cursor .CodeMirror-cursor { background: #77ee77; }
.cm-s-lsradix.cm-s-light .cm-animate-fat-cursor { background-color: #77ee77; }
.cm-s-lsradix.cm-s-dark.cm-fat-cursor .CodeMirror-cursor { background: or(--lx-gray-03, #586e75); }
.cm-s-lsradix.cm-s-dark .cm-animate-fat-cursor { background-color: or(--lx-gray-03, #586e75); }

/* Active line */
.cm-s-lsradix.cm-s-dark .CodeMirror-activeline-background {
  background: rgba(255, 255, 255, 0.06);
}
.cm-s-lsradix.cm-s-light .CodeMirror-activeline-background {
  background: rgba(0, 0, 0, 0.06);
}
