

:root {

  --code-bg: #130c1e;
  --code-fg: #ddd4ec;
  --code-border: #2b1f3d;
  --code-lineno: #4e455f;

  --vs-red: #ff7b72;      
  --vs-purple: #d2a8ff;   
  --vs-number: #b5cea8;   
  --vs-teal: #4ec9b0;     
  --vs-green: #7ee787;    
  --vs-blue: #79c0ff;     
  --vs-vsblue: #569cd6;   
  --vs-yellow: #dcdcaa;   
  --vs-string: #a5d6ff;   
  --vs-gold: #d7ba7d;     
  --vs-fg: #c9d1d9;       
  --vs-punct: #bbbebf;    
  --vs-op: #d4d4d4;       
  --vs-label: #c8c8c8;    
  --vs-comment: #8b949e;
  --vs-invalid: #ffa198;
}

.highlighter-rouge { margin: 1.4em 0; }

div.highlight {
  background: var(--code-bg);
  border: 1px solid var(--code-border);
  border-radius: 10px;
  overflow: hidden;
}

div.highlight pre,
pre.highlight {
  margin: 0;
  padding: 16px 18px;
  overflow-x: auto;
  background: transparent;
  color: var(--code-fg);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: .88rem;
  line-height: 1.6;
  tab-size: 4;
}

div.highlight code { background: none; border: 0; padding: 0; font-size: inherit; color: inherit; }


.prose > pre {
  margin: 1.4em 0;
  padding: 16px 18px;
  background: var(--code-bg);
  border: 1px solid var(--code-border);
  border-radius: 10px;
  overflow-x: auto;
  color: var(--code-fg);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: .88rem;
  line-height: 1.6;
}


.highlight .lineno,
.highlight .gl {
  color: var(--code-lineno);
  user-select: none;
  padding-right: 14px;
}


.highlight .c,
.highlight .ch,
.highlight .cd,
.highlight .cm,
.highlight .c1,
.highlight .cs   { color: var(--vs-comment); }


.highlight .cp   { color: var(--vs-purple); }     
.highlight .cpf  { color: var(--vs-string); }     
.highlight .cp .cpm { color: var(--vs-blue); }    
.highlight .cp .cpn { color: var(--vs-number); }  
.highlight .cp .cps { color: var(--vs-string); }


.highlight .k,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kv   { color: var(--vs-red); }
.highlight .kt   { color: var(--vs-red); }     
.highlight .kc   { color: var(--vs-vsblue); }  


.highlight .n,
.highlight .nx,
.highlight .py,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi,
.highlight .vm   { color: var(--vs-fg); }
.highlight .nc,
.highlight .ne,
.highlight .nn   { color: var(--vs-teal); }    
.highlight .nt,
.highlight .na   { color: var(--vs-green); }   
.highlight .nb   { color: var(--vs-yellow); }  
.highlight .bp,
.highlight .ni   { color: var(--vs-blue); }    
.highlight .nl   { color: var(--vs-label); }   
.highlight .no   { color: var(--vs-blue); }    
.highlight .nd,
.highlight .nf,
.highlight .fm   { color: var(--vs-purple); }

.highlight .n.call,
.highlight .nx.call,
.highlight .py.call { color: var(--vs-purple); }

.highlight .n.macro,
.highlight .nx.macro,
.highlight .k.macro  { color: var(--vs-blue); }   


.highlight .n.type,
.highlight .nx.type,
.highlight .nb.type  { color: var(--vs-teal); }


.highlight .s,
.highlight .sa,
.highlight .sb,
.highlight .sc,
.highlight .dl,
.highlight .sd,
.highlight .s2,
.highlight .sh,
.highlight .sx,
.highlight .s1,
.highlight .ss,
.highlight .sr   { color: var(--vs-string); }
.highlight .se   { color: var(--vs-gold); }   
.highlight .si   { color: var(--vs-blue); }   

.highlight .m,
.highlight .mb,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo,
.highlight .il   { color: var(--vs-number); } 


.highlight .o    { color: var(--vs-op); }     
.highlight .ow   { color: var(--vs-vsblue); } 
.highlight .p,
.highlight .pi   { color: var(--vs-punct); }
.highlight .w    { color: inherit; }


.highlight .err  { color: var(--vs-invalid); }
.highlight .gd   { color: var(--vs-invalid); }
.highlight .gi   { color: var(--vs-green); }
.highlight .gh,
.highlight .gu   { color: var(--vs-blue); font-weight: 600; }
.highlight .ge   { font-style: italic; }
.highlight .gs   { font-weight: 700; }
.highlight .gr,
.highlight .gt   { color: var(--vs-invalid); }
.highlight .gp   { color: var(--vs-comment); }   