.hljs-keyword,.hljs-selector-tag,.hljs-built_in { color:var(--accent); font-weight:600; }
.hljs-string,.hljs-attr,.hljs-addition { color:var(--signal); }
.hljs-comment,.hljs-quote { color:var(--muted); font-style:italic; }
.hljs-number,.hljs-literal,.hljs-title { color:var(--text); font-weight:600; }
.math-display { overflow-x:auto; padding:24px 0; text-align:center; font-size:1.2em; }
.code-block[hidden] { display:none; }
.katex-error { color:var(--danger); white-space:pre-wrap; }
.diagram-frame { display:block; width:100%; border:1px solid var(--line); background:var(--surface); }
.reader-notice { color:var(--muted); font-size:.875rem; }
.image-preview-trigger { display:block; width:100%; padding:0; border:0; color:inherit; background:none; cursor:zoom-in; }
.image-preview-trigger img { display:block; }
.reader-lightbox { max-width:min(94vw,1400px); max-height:94vh; padding:20px; border:2px solid var(--line); color:var(--text); background:var(--surface); }
.reader-lightbox::backdrop { background:rgb(0 0 0 / .78); }
.reader-lightbox img { display:block; max-width:100%; max-height:72vh; object-fit:contain; margin:16px auto; }
.reader-lightbox p { margin:0; overflow-wrap:anywhere; }
html:has(.reader-lightbox[open]) { overflow:hidden; }
.article-neighbors { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:40px 0; border-top:1px solid var(--line); padding-top:24px; }
.article-neighbors a { display:grid; gap:8px; min-width:0; }
.article-neighbors span { color:var(--muted); font-size:.875rem; }
@media(max-width:600px) { .article-neighbors { grid-template-columns:1fr; gap:24px; } }
