/* ============================================================================
   Article — typographie longue forme + Pygments codehilite
   ============================================================================ */

.article-content {
    color: var(--pk-text-primary);
    line-height: 1.7;
    font-size: 1.05rem;
}

.article-content > *:first-child { margin-top: 0; }
.article-content > *:last-child  { margin-bottom: 0; }

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4 {
    color: var(--pk-text-primary);
    margin: 2rem 0 0.75rem;
    line-height: 1.25;
}
.article-content h1 { font-size: 1.9rem; }
.article-content h2 { font-size: 1.5rem; }
.article-content h3 { font-size: 1.25rem; }
.article-content h4 { font-size: 1.05rem; }

.article-content p {
    margin: 0 0 1rem;
}

.article-content a {
    color: var(--pk-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.article-content a:hover { filter: brightness(1.2); }

.article-content ul,
.article-content ol {
    margin: 0 0 1rem 1.5rem;
}
.article-content li { margin-bottom: 0.4rem; }

.article-content blockquote {
    border-left: 3px solid var(--pk-accent);
    padding: 0.5rem 1rem;
    margin: 1.5rem 0;
    color: var(--pk-text-secondary);
    background: rgba(255, 255, 255, 0.02);
    border-radius: 0 6px 6px 0;
}

.article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1rem 0;
}

.article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
}
.article-content th,
.article-content td {
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid var(--pk-container-border);
    text-align: left;
}
.article-content th {
    color: var(--pk-text-secondary);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.article-content hr {
    border: 0;
    border-top: 1px solid var(--pk-container-border);
    margin: 2rem 0;
}

/* Code inline */
.article-content code {
    background: rgba(255, 255, 255, 0.06);
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-family: 'JetBrains Mono', Consolas, monospace;
    font-size: 0.92em;
    color: var(--pk-text-primary);
}

/* Code block (codehilite wrapper) */
.article-content .codehilite,
.article-content pre {
    background: #1a1a1a;
    border: 1px solid var(--pk-container-border);
    border-radius: 8px;
    padding: 1rem;
    overflow-x: auto;
    margin: 1.5rem 0;
}
.article-content .codehilite code,
.article-content pre code {
    background: transparent;
    padding: 0;
    border-radius: 0;
    font-size: 0.9rem;
    color: #e6e6e6;
    line-height: 1.5;
}

/* ============================================================================
   Pygments — palette dark friendly (subset Monokai-ish, sans !important)
   ============================================================================ */
.codehilite .hll { background-color: #49483e }
.codehilite .c   { color: #75715e } /* Comment */
.codehilite .err { color: #960050; background-color: #1e0010 }
.codehilite .k   { color: #66d9ef } /* Keyword */
.codehilite .l   { color: #ae81ff }
.codehilite .n   { color: #f8f8f2 }
.codehilite .o   { color: #f92672 } /* Operator */
.codehilite .p   { color: #f8f8f2 }
.codehilite .ch  { color: #75715e }
.codehilite .cm  { color: #75715e }
.codehilite .cp  { color: #75715e }
.codehilite .c1  { color: #75715e }
.codehilite .cs  { color: #75715e }
.codehilite .gd  { color: #f92672 }
.codehilite .ge  { font-style: italic }
.codehilite .gi  { color: #a6e22e }
.codehilite .gs  { font-weight: bold }
.codehilite .gu  { color: #75715e }
.codehilite .kc  { color: #66d9ef }
.codehilite .kd  { color: #66d9ef }
.codehilite .kn  { color: #f92672 }
.codehilite .kp  { color: #66d9ef }
.codehilite .kr  { color: #66d9ef }
.codehilite .kt  { color: #66d9ef }
.codehilite .ld  { color: #e6db74 }
.codehilite .m   { color: #ae81ff }
.codehilite .s   { color: #e6db74 } /* String */
.codehilite .na  { color: #a6e22e }
.codehilite .nb  { color: #f8f8f2 }
.codehilite .nc  { color: #a6e22e }
.codehilite .no  { color: #66d9ef }
.codehilite .nd  { color: #a6e22e }
.codehilite .ni  { color: #f8f8f2 }
.codehilite .ne  { color: #a6e22e }
.codehilite .nf  { color: #a6e22e } /* Function */
.codehilite .nl  { color: #f8f8f2 }
.codehilite .nn  { color: #f8f8f2 }
.codehilite .nx  { color: #a6e22e }
.codehilite .py  { color: #f8f8f2 }
.codehilite .nt  { color: #f92672 }
.codehilite .nv  { color: #f8f8f2 }
.codehilite .ow  { color: #f92672 }
.codehilite .w   { color: #f8f8f2 }
.codehilite .mb  { color: #ae81ff }
.codehilite .mf  { color: #ae81ff }
.codehilite .mh  { color: #ae81ff }
.codehilite .mi  { color: #ae81ff }
.codehilite .mo  { color: #ae81ff }
.codehilite .sa  { color: #e6db74 }
.codehilite .sb  { color: #e6db74 }
.codehilite .sc  { color: #e6db74 }
.codehilite .dl  { color: #e6db74 }
.codehilite .sd  { color: #e6db74 }
.codehilite .s2  { color: #e6db74 }
.codehilite .se  { color: #ae81ff }
.codehilite .sh  { color: #e6db74 }
.codehilite .si  { color: #e6db74 }
.codehilite .sx  { color: #e6db74 }
.codehilite .sr  { color: #e6db74 }
.codehilite .s1  { color: #e6db74 }
.codehilite .ss  { color: #e6db74 }
.codehilite .bp  { color: #f8f8f2 }
.codehilite .fm  { color: #a6e22e }
.codehilite .vc  { color: #f8f8f2 }
.codehilite .vg  { color: #f8f8f2 }
.codehilite .vi  { color: #f8f8f2 }
.codehilite .vm  { color: #f8f8f2 }
.codehilite .il  { color: #ae81ff }

/* Light theme override (data-color-scheme="light") */
[data-color-scheme="light"] .article-content .codehilite,
[data-color-scheme="light"] .article-content pre {
    background: #f6f8fa;
}
[data-color-scheme="light"] .article-content .codehilite code,
[data-color-scheme="light"] .article-content pre code {
    color: #24292e;
}
[data-color-scheme="light"] .codehilite .c   { color: #6a737d }
[data-color-scheme="light"] .codehilite .k   { color: #d73a49 }
[data-color-scheme="light"] .codehilite .o   { color: #d73a49 }
[data-color-scheme="light"] .codehilite .s   { color: #032f62 }
[data-color-scheme="light"] .codehilite .s1, [data-color-scheme="light"] .codehilite .s2 { color: #032f62 }
[data-color-scheme="light"] .codehilite .nf  { color: #6f42c1 }
[data-color-scheme="light"] .codehilite .nc  { color: #6f42c1 }
[data-color-scheme="light"] .codehilite .m   { color: #005cc5 }
[data-color-scheme="light"] .codehilite .mi, [data-color-scheme="light"] .codehilite .mf { color: #005cc5 }
