/* Палитры GitHub Light / GitHub Dark поверх токенов Pygments — те же цвета,
   что у shiki-тем github-light/github-dark в настоящем VitePress.
   Фон и базовый цвет даёт контейнер [class*='language-'] (style.css),
   поэтому .highlight прозрачен и адаптируется к теме автоматически. */
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: inherit; background-color: var(--vp-code-line-highlight-color); padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: inherit; background-color: var(--vp-code-line-highlight-color); padding-left: 5px; padding-right: 5px; }

.highlight { background: transparent; color: #24292e; }
.vp-doc .highlight pre, .vp-doc .highlight code { color: #24292e; }
.highlight .hll { background-color: var(--vp-code-line-highlight-color); display: block; }

/* Комментарии и докстроки */
.highlight .c, .highlight .ch, .highlight .cm, .highlight .cpf,
.highlight .c1, .highlight .cs { color: #6a737d; }
.highlight .sd { color: #032f62; }
.highlight .cp { color: #d73a49; }
/* Ключевые слова и операторы */
.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn,
.highlight .kp, .highlight .kr, .highlight .kt,
.highlight .o, .highlight .ow { color: #d73a49; }
/* Строки */
.highlight .s, .highlight .sa, .highlight .sb, .highlight .sc,
.highlight .dl, .highlight .s2, .highlight .sh, .highlight .s1,
.highlight .sx, .highlight .sr { color: #032f62; }
.highlight .se, .highlight .si, .highlight .ss { color: #005cc5; }
/* Числа, константы, встроенные имена, self/cls */
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh,
.highlight .mi, .highlight .mo, .highlight .il,
.highlight .no, .highlight .nb, .highlight .bp,
.highlight .ne, .highlight .nl { color: #005cc5; }
/* Функции, классы, декораторы, атрибуты */
.highlight .nf, .highlight .fm, .highlight .nc, .highlight .nd,
.highlight .na, .highlight .gu { color: #6f42c1; }
/* Переменные */
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi,
.highlight .vm { color: #e36209; }
/* Модули/пространства имён — как обычный текст */
.highlight .nn { color: inherit; }
.highlight .nt { color: #22863a; }
.highlight .ni { color: #6a737d; }
/* Doctest/diff/traceback */
.highlight .gp { color: #6a737d; font-weight: 600; }
.highlight .go { color: #57606a; }
.highlight .gt { color: #d73a49; }
.highlight .gr { color: #d73a49; }
.highlight .gd { color: #b31d28; background-color: #ffeef0; }
.highlight .gi { color: #22863a; background-color: #f0fff4; }
.highlight .gh { font-weight: 600; }
.highlight .ge { font-style: italic; }
.highlight .gs { font-weight: 600; }
.highlight .ges { font-weight: 600; font-style: italic; }
.highlight .err { color: inherit; border: none; }
.highlight .w { color: inherit; }

/* --- тёмная тема (github-dark) --- */
html.dark .highlight { color: #c9d1d9; }
html.dark .vp-doc .highlight pre, html.dark .vp-doc .highlight code { color: #c9d1d9; }

html.dark .highlight .c, html.dark .highlight .ch, html.dark .highlight .cm,
html.dark .highlight .cpf, html.dark .highlight .c1,
html.dark .highlight .cs { color: #8b949e; }
html.dark .highlight .sd { color: #a5d6ff; }
html.dark .highlight .cp { color: #ff7b72; }
html.dark .highlight .k, html.dark .highlight .kc, html.dark .highlight .kd,
html.dark .highlight .kn, html.dark .highlight .kp, html.dark .highlight .kr,
html.dark .highlight .kt,
html.dark .highlight .o, html.dark .highlight .ow { color: #ff7b72; }
html.dark .highlight .s, html.dark .highlight .sa, html.dark .highlight .sb,
html.dark .highlight .sc, html.dark .highlight .dl, html.dark .highlight .s2,
html.dark .highlight .sh, html.dark .highlight .s1, html.dark .highlight .sx,
html.dark .highlight .sr { color: #a5d6ff; }
html.dark .highlight .se, html.dark .highlight .si,
html.dark .highlight .ss { color: #79c0ff; }
html.dark .highlight .m, html.dark .highlight .mb, html.dark .highlight .mf,
html.dark .highlight .mh, html.dark .highlight .mi, html.dark .highlight .mo,
html.dark .highlight .il,
html.dark .highlight .no, html.dark .highlight .nb, html.dark .highlight .bp,
html.dark .highlight .ne, html.dark .highlight .nl { color: #79c0ff; }
html.dark .highlight .nf, html.dark .highlight .fm, html.dark .highlight .nc,
html.dark .highlight .nd, html.dark .highlight .na,
html.dark .highlight .gu { color: #d2a8ff; }
html.dark .highlight .nv, html.dark .highlight .vc, html.dark .highlight .vg,
html.dark .highlight .vi, html.dark .highlight .vm { color: #ffa657; }
html.dark .highlight .nn { color: inherit; }
html.dark .highlight .nt { color: #7ee787; }
html.dark .highlight .ni { color: #8b949e; }
html.dark .highlight .gp { color: #8b949e; font-weight: 600; }
html.dark .highlight .go { color: #8b949e; }
html.dark .highlight .gt { color: #ff7b72; }
html.dark .highlight .gr { color: #ff7b72; }
html.dark .highlight .gd { color: #ffdcd7; background-color: rgba(248, 81, 73, 0.15); }
html.dark .highlight .gi { color: #aff5b4; background-color: rgba(46, 160, 67, 0.15); }
html.dark .highlight .err { color: inherit; border: none; }
