/* ===== ROUGE SYNTAX HIGHLIGHTING ===== */
/* Apple-clean light theme — scoped to .post-article for specificity */

.post-article .highlight,
.highlight {
  background: #f6f8fa;
  border: 0.5px solid var(--c-border);
  border-radius: var(--radius);
  margin: 1.2em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.post-article .highlight pre,
.highlight pre {
  margin: 0;
  padding: 16px 20px;
  font-size: 13.5px;
  line-height: 1.55;
  font-family: 'SF Mono', 'Cascadia Code', 'Fira Code', 'JetBrains Mono', 'Consolas', 'Monaco', monospace;
  background: none;
  tab-size: 4;
  -moz-tab-size: 4;
}
.post-article .highlight pre code,
.highlight pre code {
  font-family: inherit;
  font-size: inherit;
  color: #24292e;
  background: none;
}

/* --- Tokens --- */
.highlight .c   { color: #6a737d; font-style: italic; } /* comment */
.highlight .cm  { color: #6a737d; font-style: italic; } /* comment.multiline */
.highlight .c1  { color: #6a737d; font-style: italic; } /* comment.single */
.highlight .cs  { color: #6a737d; font-style: italic; } /* comment.special */
.highlight .cp  { color: #6a737d; font-weight: 600; }   /* comment.preproc */

.highlight .k   { color: #d73a49; font-weight: 600; } /* keyword */
.highlight .kc  { color: #d73a49; font-weight: 600; } /* keyword.constant */
.highlight .kd  { color: #d73a49; font-weight: 600; } /* keyword.declaration */
.highlight .kn  { color: #d73a49; font-weight: 600; } /* keyword.namespace */
.highlight .kp  { color: #d73a49; }                   /* keyword.pseudo */
.highlight .kr  { color: #d73a49; font-weight: 600; } /* keyword.reserved */
.highlight .kt  { color: #d73a49; }                   /* keyword.type */

.highlight .s   { color: #032f62; } /* string */
.highlight .sb  { color: #032f62; } /* string.backtick */
.highlight .sc  { color: #032f62; } /* string.char */
.highlight .sd  { color: #032f62; } /* string.doc */
.highlight .s1  { color: #032f62; } /* string.single */
.highlight .s2  { color: #032f62; } /* string.double */
.highlight .se  { color: #032f62; } /* string.escape */
.highlight .sh  { color: #032f62; } /* string.heredoc */
.highlight .si  { color: #032f62; } /* string.interpol */
.highlight .sr  { color: #032f62; } /* string.regex */
.highlight .sx  { color: #032f62; } /* string.other */

.highlight .n   { color: #24292e; } /* name */
.highlight .na  { color: #005cc5; } /* name.attribute */
.highlight .nb  { color: #005cc5; } /* name.builtin */
.highlight .nc  { color: #6f42c1; } /* name.class */
.highlight .no  { color: #005cc5; } /* name.constant */
.highlight .nd  { color: #6f42c1; } /* name.decorator */
.highlight .ne  { color: #6f42c1; } /* name.exception */
.highlight .nf  { color: #6f42c1; } /* name.function */
.highlight .ni  { color: #6f42c1; } /* name.entity */
.highlight .nl  { color: #6f42c1; } /* name.label */
.highlight .nn  { color: #6f42c1; } /* name.namespace */
.highlight .nx  { color: #24292e; } /* name.other */
.highlight .py  { color: #24292e; } /* name.property */

.highlight .nt  { color: #22863a; } /* name.tag */
.highlight .nv  { color: #e36209; } /* name.variable */
.highlight .vc  { color: #e36209; } /* variable.class */
.highlight .vg  { color: #e36209; } /* variable.global */
.highlight .vi  { color: #e36209; } /* variable.instance */

.highlight .m   { color: #005cc5; } /* number */
.highlight .mf  { color: #005cc5; } /* number.float */
.highlight .mh  { color: #005cc5; } /* number.hex */
.highlight .mi  { color: #005cc5; } /* number.integer */
.highlight .mo  { color: #005cc5; } /* number.oct */

.highlight .o   { color: #d73a49; } /* operator */
.highlight .ow  { color: #d73a49; } /* operator.word */
.highlight .p   { color: #24292e; } /* punctuation */

.highlight .err { color: #d73a49; background: #ffeef0; } /* error */
.highlight .gr  { color: #d73a49; } /* generic.error */
.highlight .gh  { color: #005cc5; } /* generic.heading */
.highlight .gi  { color: #22863a; } /* generic.inserted */
.highlight .gd  { color: #d73a49; } /* generic.deleted */

.highlight .w   { color: #d0d7de; } /* whitespace */
.highlight .bp  { color: #005cc5; } /* name.builtin.pseudo */
.highlight .dl  { color: #032f62; } /* string.delimiter */
.highlight .fm  { color: #6f42c1; } /* name.function.magic */
.highlight .il  { color: #005cc5; } /* number.integer.long */
.highlight .ss  { color: #032f62; } /* string.symbol */
.highlight .gu  { color: #6a737d; } /* generic.subheading */
