/* Nodemation — style.css v2026.04.02 */

/* === Prose (article body) — dark theme, all !important === */
.prose {
    color: #e5e5e5 !important;
    font-size: 1rem !important;
    line-height: 1.8 !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
}
.prose p {
    color: #e5e5e5 !important;
    margin-bottom: 1.25rem !important;
    line-height: 1.8 !important;
}
.prose h2 {
    color: #10b981 !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 2.5rem 0 1rem !important;
    line-height: 1.3 !important;
}
.prose h3 {
    color: #d4d4d4 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin: 1.75rem 0 0.75rem !important;
    line-height: 1.4 !important;
}
.prose h4 {
    color: #a3a3a3 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 1.5rem 0 0.5rem !important;
}
.prose ul,
.prose ol {
    color: #e5e5e5 !important;
    padding-left: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}
.prose li {
    color: #e5e5e5 !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.7 !important;
}
.prose strong {
    color: #f5f5f5 !important;
    font-weight: 700 !important;
}
.prose em {
    color: #d4d4d4 !important;
}
.prose a {
    color: #10b981 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.prose a:hover {
    color: #34d399 !important;
}
.prose code {
    background: #262626 !important;
    color: #10b981 !important;
    padding: 0.15rem 0.4rem !important;
    border-radius: 4px !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
    font-size: 0.88em !important;
}
.prose pre {
    background: #171717 !important;
    border: 1px solid #262626 !important;
    border-radius: 6px !important;
    padding: 1.25rem !important;
    overflow-x: auto !important;
    margin-bottom: 1.5rem !important;
}
.prose pre code {
    background: transparent !important;
    color: #a3e635 !important;
    padding: 0 !important;
    font-size: 0.9em !important;
}
/* Таблицы */
.prose table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 1.5rem 0 !important;
    font-size: 0.9rem !important;
    background: transparent !important;
}
.prose th {
    background: #262626 !important;
    color: #e5e5e5 !important;
    padding: 0.75rem 1rem !important;
    text-align: left !important;
    font-weight: 700 !important;
    border: 1px solid #404040 !important;
    font-family: ui-monospace, monospace !important;
}
.prose td {
    padding: 0.75rem 1rem !important;
    border: 1px solid #404040 !important;
    color: #e5e5e5 !important;
    background: transparent !important;
}
.prose tr:nth-child(even) td {
    background: #171717 !important;
}
/* FAQ details/summary */
.prose details {
    border: 1px solid #262626 !important;
    border-radius: 6px !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 0.75rem !important;
    background: #171717 !important;
}
.prose summary {
    cursor: pointer !important;
    font-weight: 700 !important;
    color: #e5e5e5 !important;
    font-size: 1rem !important;
    list-style: none !important;
    user-select: none !important;
}
.prose summary::-webkit-details-marker {
    display: none !important;
}
.prose summary::before {
    content: '> ' !important;
    color: #10b981 !important;
    font-family: monospace !important;
}
.prose details[open] summary::before {
    content: 'v ' !important;
}
.prose details p {
    margin-top: 0.75rem !important;
    font-size: 0.9rem !important;
    color: #a3a3a3 !important;
}
/* Blockquote */
.prose blockquote {
    border-left: 3px solid #10b981 !important;
    padding: 1rem 1.5rem !important;
    margin: 1.5rem 0 !important;
    background: #171717 !important;
    border-radius: 0 6px 6px 0 !important;
    color: #a3a3a3 !important;
}
.prose blockquote p {
    color: #a3a3a3 !important;
    margin: 0 !important;
}
/* Изображения */
.prose img,
.prose figure img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 6px !important;
    border: 1px solid #262626 !important;
    display: block !important;
}
.prose figure {
    margin: 2rem 0 !important;
    text-align: center !important;
}
.prose figcaption {
    font-size: 0.85rem !important;
    color: #737373 !important;
    margin-top: 0.5rem !important;
}
/* HR */
.prose hr {
    border: none !important;
    border-top: 1px solid #262626 !important;
    margin: 2rem 0 !important;
}

/* === Hero image === */
.article-hero { border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }
.article-hero img { width: 100%; height: auto; display: block; }

/* === Blog card image === */
.blog-card img { transition: transform 0.3s ease; }
.blog-card:hover img { transform: scale(1.03); }
