:root {
    --primary: #646cff;
    --primary-dark: #545bdf;
    --secondary: #8b5cf6;
    --dark: #1e1e2e;
    --darker: #171724;
    --dark-light: #252536;
    --gray: #a0a0b0;
    --light: #e2e2e2;
    --danger: #ff6464;
    --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cm-s-byr.CodeMirror {
  background: #0a001f;
  color: var(--light);
  font-family: 'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace;
  line-height: 1.6;
}
.cm-s-byr .CodeMirror-gutters {
  background: var(--darker);
  border-right: 1px solid var(--dark-light);
  padding-right: 8px;
}
.cm-s-byr .CodeMirror-linenumber {
  color: var(--gray);
  font-size: 0.9em;
  opacity: 0.7;
}
.cm-s-byr .CodeMirror-cursor {
  border-left: 2px solid var(--primary);
  transition: border-color 0.2s;
}
.cm-s-byr.CodeMirror-focused .CodeMirror-cursor {
  border-left-color: var(--secondary);
}
.cm-s-byr div.CodeMirror-selected {
  background: rgba(100, 108, 255, 0.5);
}
.cm-s-byr .CodeMirror-focused div.CodeMirror-selected {
  background: rgba(100, 108, 255, 0.25);
}
.cm-s-byr .CodeMirror-activeline-background {
  background: rgba(255, 255, 255, 0.03);
}
.cm-s-byr .CodeMirror-matchingbracket {
  color: rgb(200, 208, 255) !important;
  background: rgba(100, 255, 163, 0.15);
  border-radius: 2px;
  padding: 0 1px;
  transition: all 0.2s;
}
.cm-s-byr .CodeMirror-nonmatchingbracket {
  color: var(--danger) !important;
  background: rgba(255, 100, 100, 0.2);
  border-radius: 2px;
}
.cm-s-byr span.cm-comment    { color: #8900d1; }
.cm-s-byr span.cm-keyword    { color: var(--secondary); font-weight: 600; }
.cm-s-byr span.cm-string     { color: rgb(200, 208, 255); }
.cm-s-byr span.cm-string-2   { color: #b39dff; }
.cm-s-byr span.cm-number     { color: rgb(150, 158, 255); }
.cm-s-byr span.cm-atom       { color: var(--primary); font-weight: 600; }
.cm-s-byr span.cm-variable   { color: var(--light); }
.cm-s-byr span.cm-variable-2 { color: #7ec8e3; }
.cm-s-byr span.cm-variable-3 { color: #f9a8d4; }
.cm-s-byr span.cm-type       { color: #6ee7b7; }
.cm-s-byr span.cm-def        { color: rgb(150, 158, 255); font-weight: 600; }
.cm-s-byr span.cm-property   { color: var(--secondary); }
.cm-s-byr span.cm-operator   { color: var(--primary); }
.cm-s-byr span.cm-tag        { color: var(--danger); }
.cm-s-byr span.cm-attribute  { color: var(--secondary); }
.cm-s-byr span.cm-meta       { color: var(--gray); }
.cm-s-byr span.cm-builtin    { color: rgb(150, 158, 255); }
.cm-s-byr span.cm-qualifier  { color: var(--secondary); }
.cm-s-byr span.cm-bracket    { color: var(--light); opacity: 0.8; }
.cm-s-byr span.cm-link       { color: var(--primary); text-decoration: underline; }
.cm-s-byr span.cm-error      { color: #fff; background-color: var(--danger); padding: 0 2px; border-radius: 2px; }
.cm-s-byr span.cm-header     { color: var(--secondary); font-weight: bold; font-size: 1.1em; }
.cm-s-byr .CodeMirror-foldmarker {
  color: var(--primary);
  text-shadow: 0 0 6px var(--primary);
}
.cm-s-byr .CodeMirror-cursor {
  transition: border-color 0.2s ease;
}