.post-content, .page-content { color:#e7e7e9; font-size:1.05rem; line-height:1.75; }
.post-content > * + *, .page-content > * + * { margin-top: 1rem; }
.post-content h1, .page-content h1, .post-content h2, .page-content h2, .post-content h3, .page-content h3, .post-content h4, .page-content h4 { line-height:1.2; letter-spacing:-0.01em }
.post-content h1, .page-content h1 { font-size:2.25rem; margin-top:1.8rem; margin-bottom:.6rem; font-weight:700 }
.post-content h2, .page-content h2 { font-size:1.6rem; margin-top:1.6rem; margin-bottom:.4rem; font-weight:700 }
.post-content h3, .page-content h3 { font-size:1.25rem; margin-top:1.2rem; margin-bottom:.2rem; font-weight:600 }
.post-content h4, .page-content h4 { font-size:1.05rem; margin-top:1rem; margin-bottom:.2rem; font-weight:600; opacity:.95 }

/* Paragraphs & links */
.post-content p, .page-content p { margin: .6rem 0 }
.post-content a, .page-content a { color:#c2b5ff; text-decoration:none }
.post-content a:hover, .page-content a:hover { text-decoration:underline }

/* Lists */
.post-content ul, .page-content ul { list-style:disc inside; margin:.5rem 0 .5rem 1rem }
.post-content ol, .page-content ol { list-style:decimal inside; margin:.5rem 0 .5rem 1rem }
.post-content li, .page-content li { margin:.25rem 0 }
.post-content li > ul, .page-content li > ul, .post-content li > ol, .page-content li > ol { margin-left:1.2rem }

/* Blockquote */
.post-content blockquote, .page-content blockquote {
  margin:1rem 0; padding:.6rem 1rem; border-left:3px solid #3a3a3a;
  color:#c9c9c9; background:#0d0d10; border-radius:.5rem;
}

/* Code */
.post-content code, .page-content code {
  background:#0b0b0f; border:1px solid #1f1f22; padding:.15rem .35rem; border-radius:.5rem;
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:.9em;
}
.post-content pre, .page-content pre {
  background:#0b0b0f; border:1px solid #1f1f22; border-radius:12px; padding:14px; overflow:auto;
}
.post-content pre code, .page-content pre code { border:0; padding:0; background:transparent; font-size:.95em }

/* HR */
.post-content hr, .page-content hr { border:0; border-top:1px solid #1f1f22; margin:1.5rem 0 }

/* Images & captions */
.post-content img, .page-content img { border-radius:12px; display:block; max-width:100%; height:auto }
.post-content figure, .page-content figure { margin:1rem 0 }
.post-content figcaption, .page-content figcaption { text-align:center; color:#a6a6ab; font-size:.9rem; margin-top:.35rem }

/* Tables (responsive) */
.post-content table, .page-content table { width:100%; border-collapse:collapse; font-size:.95rem; display:block; overflow-x:auto; white-space:nowrap; }
.post-content th, .page-content th, .post-content td, .page-content td { border:1px solid #2a2a2a; padding:.55rem .8rem; text-align:left }
.post-content thead th, .page-content thead th { background:#141418; font-weight:600 }
.post-content tr:nth-child(even), .page-content tr:nth-child(even) { background:#0e0e11 }

/* Koenig essentials */
.post-content .kg-card, .page-content .kg-card { margin:1.2rem 0 }
.post-content .kg-width-wide, .page-content .kg-width-wide { width:auto; margin-left:auto; margin-right:auto }
.post-content .kg-width-full, .page-content .kg-width-full { width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw) }
/* Callout */
.kg-callout-card { border:1px solid #2a2a2a; background:#0c0c10; border-radius:12px; padding:12px }
.kg-callout-card .kg-callout-emoji { margin-right:.5rem }
/* Bookmarks */
.kg-bookmark-card { border:1px solid #1f1f22; border-radius:12px; overflow:hidden; background:#0b0b0f }
.kg-bookmark-container { display:flex; gap:16px; padding:16px }
.kg-bookmark-content { flex:1 }
.kg-bookmark-title { font-weight:600; margin:0 0 6px }
.kg-bookmark-description { color:#b8b8be; font-size:.95rem }
.kg-bookmark-metadata { color:#9a9aa0; font-size:.85rem }
.kg-bookmark-thumbnail img { width:140px; height:100px; object-fit:cover; border-radius:8px }


/* Utility helpers */
.post-content .muted, .page-content .muted { color:#a6a6ab }
.post-content .lead, .page-content .lead { font-size:1.15rem; color:#d7d7da }

/* ===== Light theme for post content ===== */
html:not(.dark) .post-content, html:not(.dark) .page-content { color:#1f1f23; }
html:not(.dark) .post-content a, html:not(.dark) .page-content a { color:#5b34e6; }
html:not(.dark) .post-content hr, html:not(.dark) .page-content hr { border:0; border-top:1px solid #e5e7eb; }

html:not(.dark) .post-content code, html:not(.dark) .page-content code {
  background:#f3f4f6; border:1px solid #e5e7eb; color:#0f172a;
}
html:not(.dark) .post-content pre, html:not(.dark) .page-content pre {
  background:#f8fafc; border:1px solid #e5e7eb; color:#0f172a;
}
html:not(.dark) .post-content blockquote, html:not(.dark) .page-content blockquote {
  background:#f8fafc; border-left:3px solid #e5e7eb; color:#374151;
}

html:not(.dark) .post-content table, html:not(.dark) .page-content table {
  border-collapse:collapse; display:block; overflow-x:auto; white-space:nowrap;
}
html:not(.dark) .post-content th,
html:not(.dark) .page-content th,
html:not(.dark) .post-content td,
html:not(.dark) .page-content td {
  border:1px solid #e5e7eb; padding:.55rem .8rem; text-align:left;
}
html:not(.dark) .post-content thead th, html:not(.dark) .page-content thead th { background:#f3f4f6; color:#111827; }
html:not(.dark) .post-content tr:nth-child(even), html:not(.dark) .page-content tr:nth-child(even) { background:#fafafa; }