/* ============================================
   Rouge Syntax Theme — Rails Dark
   ============================================ */
.highlight { background: var(--graphite); color: #E8E8E8; }

.highlight .c,
.highlight .cm,
.highlight .c1,
.highlight .cs  { color: #6A6A6A; font-style: italic; }  /* Comments */
.highlight .k,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kv  { color: #FF5F57; font-weight: 600; }     /* Keywords — ruby red */
.highlight .kt  { color: #FFD700; }                        /* Type — gold */
.highlight .s,
.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s2,
.highlight .sh,
.highlight .s1  { color: #28CA42; }                        /* Strings — green */
.highlight .si  { color: #FF6B35; }                        /* String interpolation — ember */
.highlight .sx  { color: #28CA42; }                        /* String other */
.highlight .sr  { color: #FF6B35; }                        /* Regex — ember */
.highlight .se  { color: #FFD700; }                        /* String escape — gold */
.highlight .na  { color: #68AFFF; }                        /* Attribute — blue */
.highlight .nb  { color: #E8E8E8; }                        /* Builtin */
.highlight .nc  { color: #FFD700; font-weight: 600; }      /* Class name — gold */
.highlight .no  { color: #FF6B35; }                        /* Constant — ember */
.highlight .nd  { color: #68AFFF; }                        /* Decorator — blue */
.highlight .ni  { color: #E8E8E8; font-weight: 600; }      /* Entity */
.highlight .ne  { color: #FF5F57; }                        /* Exception — red */
.highlight .nf,
.highlight .fm  { color: #68AFFF; }                        /* Function — blue */
.highlight .nl  { color: #FFD700; }                        /* Label — gold */
.highlight .nn  { color: #E8E8E8; }                        /* Namespace */
.highlight .nx  { color: #68AFFF; }                        /* Other name — blue */
.highlight .nt  { color: #FF5F57; }                        /* Tag — red */
.highlight .nv,
.highlight .vi,
.highlight .vc,
.highlight .vg,
.highlight .vm  { color: #E8E8E8; }                        /* Variable */
.highlight .o,
.highlight .ow  { color: #FF5F57; }                        /* Operator — red */
.highlight .p   { color: #E8E8E8; }                        /* Punctuation */
.highlight .m,
.highlight .mi,
.highlight .mf,
.highlight .mh,
.highlight .mo,
.highlight .mb,
.highlight .mx,
.highlight .il  { color: #FF6B35; }                        /* Numbers — ember */
.highlight .gd  { color: #FF5F57; background: rgba(255, 95, 87, 0.1); } /* Diff deleted */
.highlight .gi  { color: #28CA42; background: rgba(40, 202, 66, 0.1); } /* Diff inserted */
.highlight .ge  { font-style: italic; }
.highlight .gs  { font-weight: 700; }
.highlight .err { color: #FF5F57; }
.highlight .w   { color: transparent; }

/* Line numbers */
.highlight .gl { color: #4A4A4A; margin-right: 1rem; user-select: none; }
