/*
 * Pygments / codehilite syntax highlighting
 *
 * Monobase's .entry-content :where(pre) provides the dark panel:
 *   color: var(--color-200); background: var(--color-800)
 * Because :where() has zero specificity, any class-based selector wins.
 * We therefore keep .codehilite wrappers transparent so the monobase
 * pre rule applies, and only add syntax-token colours on top.
 *
 * In .theme-dark monobase swaps --color-* (the scale inverts), so the
 * pre panel becomes light bg / dark text. Token colours use oklch()
 * absolute values that read well on both panels.
 */

.codehilite {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
}

.codehilite code {
    padding: 0;
}

/* ---- Light theme: tokens on monobase dark panel ---- */
.codehilite .hll { background-color: rgba(255, 255, 255, 0.08) }

.codehilite .c,
.codehilite .cm,
.codehilite .c1,
.codehilite .cs,
.codehilite .cp { color: #8b949e; font-style: italic }

.codehilite .k,
.codehilite .kc,
.codehilite .kd,
.codehilite .kn,
.codehilite .kp,
.codehilite .kr,
.codehilite .kt { color: #ff7b72 }

.codehilite .o,
.codehilite .ow { color: #79c0ff }

.codehilite .nb,
.codehilite .bp { color: #79c0ff }

.codehilite .nf,
.codehilite .nd,
.codehilite .ni { color: #d2a8ff }

.codehilite .nc,
.codehilite .nn,
.codehilite .no { color: #7ee787 }

.codehilite .s,
.codehilite .sb,
.codehilite .sc,
.codehilite .sd,
.codehilite .s2,
.codehilite .se,
.codehilite .sh,
.codehilite .si,
.codehilite .sx,
.codehilite .sr,
.codehilite .s1,
.codehilite .ss { color: #a5d6ff }

.codehilite .m,
.codehilite .mf,
.codehilite .mh,
.codehilite .mi,
.codehilite .mo,
.codehilite .il { color: #79c0ff }

.codehilite .na { color: #79c0ff }
.codehilite .nt { color: #7ee787 }
.codehilite .nv,
.codehilite .vc,
.codehilite .vg,
.codehilite .vi { color: #ffa657 }

.codehilite .ne { color: #ffa657 }
.codehilite .err { color: #ffa198 }
.codehilite .gr,
.codehilite .gt { color: #ffa198 }

.codehilite .gd { color: #ffa198; background-color: rgba(248, 81, 73, 0.1) }
.codehilite .gi { color: #7ee787; background-color: rgba(63, 185, 80, 0.1) }

.codehilite .ge { font-style: italic }
.codehilite .gs { font-weight: bold }
.codehilite .gh,
.codehilite .gu { color: #79c0ff; font-weight: bold }
.codehilite .gp { color: #8b949e; font-weight: bold }
.codehilite .go { color: #8b949e }
.codehilite .w  { color: #6e7681 }

/* ---- Dark theme (.theme-dark): monobase inverts the panel to light ---- */
.theme-dark .codehilite .hll { background-color: rgba(0, 0, 0, 0.06) }

.theme-dark .codehilite .c,
.theme-dark .codehilite .cm,
.theme-dark .codehilite .c1,
.theme-dark .codehilite .cs,
.theme-dark .codehilite .cp { color: #6e7781 }

.theme-dark .codehilite .k,
.theme-dark .codehilite .kc,
.theme-dark .codehilite .kd,
.theme-dark .codehilite .kn,
.theme-dark .codehilite .kp,
.theme-dark .codehilite .kr,
.theme-dark .codehilite .kt { color: #cf222e }

.theme-dark .codehilite .o,
.theme-dark .codehilite .ow { color: #0550ae }

.theme-dark .codehilite .nb,
.theme-dark .codehilite .bp { color: #0550ae }

.theme-dark .codehilite .nf,
.theme-dark .codehilite .nd,
.theme-dark .codehilite .ni { color: #8250df }

.theme-dark .codehilite .nc,
.theme-dark .codehilite .nn,
.theme-dark .codehilite .no { color: #116329 }

.theme-dark .codehilite .s,
.theme-dark .codehilite .sb,
.theme-dark .codehilite .sc,
.theme-dark .codehilite .sd,
.theme-dark .codehilite .s2,
.theme-dark .codehilite .se,
.theme-dark .codehilite .sh,
.theme-dark .codehilite .si,
.theme-dark .codehilite .sx,
.theme-dark .codehilite .sr,
.theme-dark .codehilite .s1,
.theme-dark .codehilite .ss { color: #0a3069 }

.theme-dark .codehilite .m,
.theme-dark .codehilite .mf,
.theme-dark .codehilite .mh,
.theme-dark .codehilite .mi,
.theme-dark .codehilite .mo,
.theme-dark .codehilite .il { color: #0550ae }

.theme-dark .codehilite .na { color: #0550ae }
.theme-dark .codehilite .nt { color: #116329 }
.theme-dark .codehilite .nv,
.theme-dark .codehilite .vc,
.theme-dark .codehilite .vg,
.theme-dark .codehilite .vi { color: #953800 }

.theme-dark .codehilite .ne { color: #953800 }
.theme-dark .codehilite .err { color: #82071e }
.theme-dark .codehilite .gr,
.theme-dark .codehilite .gt { color: #82071e }

.theme-dark .codehilite .gd { color: #82071e; background-color: rgba(255, 129, 130, 0.1) }
.theme-dark .codehilite .gi { color: #116329; background-color: rgba(46, 160, 67, 0.1) }

.theme-dark .codehilite .gh,
.theme-dark .codehilite .gu { color: #0550ae; font-weight: bold }
.theme-dark .codehilite .gp { color: #6e7781; font-weight: bold }
.theme-dark .codehilite .go { color: #6e7781 }
.theme-dark .codehilite .w  { color: #6e7781 }

/* ---- Table styling inside markdown content ---- */
.markdown-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.markdown-content table th,
.markdown-content table td {
    border: 1px solid var(--color-300);
    padding: 10px;
    text-align: left;
}

.markdown-content table th {
    background-color: var(--color-100);
    font-weight: bold;
}
