/* Knowledge Hall page content (format kh-html-1). Used by the page view, previews and inside the TinyMCE iframe. */

.kh-content { color:#1d3550;font:400 .98rem/1.7 var(--font,'Inter',system-ui,sans-serif);overflow-wrap:anywhere; }
body.kh-content { margin:18px 22px;background:#fff; }
.kh-content > :first-child { margin-top:0; }
.kh-content h1,.kh-content h2,.kh-content h3,.kh-content h4,.kh-content h5,.kh-content h6 { position:relative;margin:1.6em 0 .55em;color:#0f2f57;font-family:var(--font-d,'Inter',system-ui,sans-serif);line-height:1.3;scroll-margin-top:100px; }
.kh-content h1 { font-size:1.8rem; }
.kh-content h2 { font-size:1.45rem;padding-bottom:6px;border-bottom:1px solid #e6edf6; }
.kh-content h3 { font-size:1.2rem; }
.kh-content h4 { font-size:1.05rem; }
.kh-content h5,.kh-content h6 { font-size:.95rem;color:#2c4a6b; }
.kh-content p { margin:0 0 1em; }
.kh-content a { color:#2368c4;text-decoration:underline;text-underline-offset:2px; }
.kh-content a:hover { color:#174b9c; }
.kh-content ul,.kh-content ol { margin:0 0 1em;padding-left:1.6em; }
.kh-content li { margin:.2em 0; }
.kh-content li > ul,.kh-content li > ol { margin:.2em 0; }
.kh-content blockquote { margin:0 0 1em;padding:10px 18px;border-left:4px solid #9cc3f5;background:#f5f9fe;color:#33506f;border-radius:0 10px 10px 0; }
.kh-content hr { margin:1.6em 0;border:0;border-top:2px solid #e1eaf5; }
.kh-content s,.kh-content del { color:#6a7d93; }
.kh-content code { padding:1px 6px;border-radius:5px;background:#eef3fa;color:#9b1f3c;font:.86em Consolas,'Courier New',monospace; }
.kh-content pre { position:relative;margin:0 0 1em;padding:14px 16px;border-radius:12px;background:#0f2442;color:#dbe8fb;overflow:auto;font:.84rem/1.6 Consolas,'Courier New',monospace;white-space:pre; }
.kh-content pre code { padding:0;background:none;color:inherit;font:inherit; }
.kh-content img { max-width:100%;height:auto;border-radius:8px; }
.kh-content figure { margin:0 0 1em; }
.kh-content figcaption { font-size:.8rem;color:#6a7d93;text-align:center; }
.kh-content .heading-anchor { position:absolute;left:-1.1em;padding-right:.3em;color:#9cc3f5;text-decoration:none;opacity:0;transition:opacity .15s; }
.kh-content h1:hover .heading-anchor,.kh-content h2:hover .heading-anchor,.kh-content h3:hover .heading-anchor,.kh-content h4:hover .heading-anchor,.kh-content .heading-anchor:focus { opacity:1; }

/* Images */
.kh-content img.kh-image-left { float:left;max-width:45%;margin:4px 18px 10px 0; }
.kh-content img.kh-image-right { float:right;max-width:45%;margin:4px 0 10px 18px; }
.kh-content img.kh-image-center { display:block;margin:0 auto 1em; }
.kh-content img.kh-image-full { display:block;width:100%; }
.kh-content::after { content:'';display:table;clear:both; }

/* Tables */
.kh-table-wrap { max-width:100%;overflow-x:auto;margin:0 0 1em; }
.kh-content table { border-collapse:collapse;min-width:50%;margin:0 0 1em;font-size:.9rem; }
.kh-table-wrap > table { margin:0; }
.kh-content th,.kh-content td { padding:8px 12px;border:1px solid #d9e4f2;vertical-align:top;text-align:left; }
.kh-content th,.kh-content thead td { background:#f0f5fc;color:#17457b;font-weight:700; }
.kh-content table.kh-table-striped tbody tr:nth-child(even) { background:#f8fbff; }
.kh-content table.kh-table-compact th,.kh-content table.kh-table-compact td { padding:4px 8px;font-size:.84rem; }

/* Panels */
.kh-panel { position:relative;margin:0 0 1em;padding:12px 16px 12px 46px;border:1px solid;border-left-width:4px;border-radius:10px; }
.kh-panel::before { position:absolute;left:14px;top:11px;font-size:1.05rem;line-height:1.5; }
.kh-panel > :last-child { margin-bottom:0; }
.kh-panel-info { background:#eef5ff;border-color:#b9d3f2;border-left-color:#2368c4; }
.kh-panel-info::before { content:'\2139\FE0F'; }
.kh-panel-note { background:#f4f0ff;border-color:#d8ccf7;border-left-color:#6b4fd0; }
.kh-panel-note::before { content:'\1F4DD'; }
.kh-panel-success { background:#ecf9f2;border-color:#bfe6d1;border-left-color:#1f9d63; }
.kh-panel-success::before { content:'\2705'; }
.kh-panel-warning { background:#fff8e6;border-color:#f2dca3;border-left-color:#e0a100; }
.kh-panel-warning::before { content:'\26A0\FE0F'; }
.kh-panel-error { background:#fff0f2;border-color:#f3c3cd;border-left-color:#d23a58; }
.kh-panel-error::before { content:'\26D4'; }

/* Status labels */
.kh-status { display:inline-block;padding:1px 8px;border-radius:5px;font:700 .7rem/1.6 var(--font,'Inter',sans-serif);letter-spacing:.5px;text-transform:uppercase;vertical-align:1px;white-space:nowrap; }
.kh-status-grey { background:#e7ebf0;color:#44546a; }
.kh-status-blue { background:#dbe9fd;color:#174b9c; }
.kh-status-green { background:#d5f3e5;color:#16623f; }
.kh-status-yellow { background:#fff1c7;color:#7a5200; }
.kh-status-red { background:#ffdde3;color:#9b1f3c; }
.kh-status-purple { background:#ebe3ff;color:#5a3fb5; }

/* Checklists and task lists */
.kh-content ul.kh-checklist,.kh-content ul.kh-tasks { list-style:none;padding-left:0; }
.kh-checklist li,.kh-tasks li { position:relative;padding-left:28px; }
.kh-checklist li::before,.kh-tasks li::before { content:'';position:absolute;left:2px;top:.32em;width:16px;height:16px;border:2px solid #9cb5d3;border-radius:4px;background:#fff;box-sizing:border-box; }
.kh-checklist li[data-checked="true"]::before,.kh-tasks li[data-checked="true"]::before { content:'\2713';border-color:#2368c4;background:#2368c4;color:#fff;font:700 11px/12px sans-serif;text-align:center; }
.kh-checklist li[data-checked="true"],.kh-tasks li[data-checked="true"] { color:#6a7d93;text-decoration:line-through;text-decoration-color:#9cb5d3; }
.kh-tasks li { padding:6px 10px 6px 34px;margin:4px 0;border:1px solid #e1eaf5;border-radius:10px;background:#fbfdff; }
.kh-tasks li::before { left:10px;top:.6em; }
.kh-checklist li.has-toggle,.kh-tasks li.has-toggle { padding-left:28px; }
.kh-tasks li.has-toggle { padding-left:34px; }
.kh-checklist li.has-toggle::before,.kh-tasks li.has-toggle::before { display:none; }
input.kh-toggle { position:absolute;left:2px;top:.38em;width:16px;height:16px;margin:0;accent-color:#2368c4;cursor:pointer; }
.kh-tasks input.kh-toggle { left:10px;top:.62em; }
.kh-task-meta { display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:1px;text-decoration:none; }
.kh-task-assignee,.kh-task-due { display:inline-block;padding:0 7px;border-radius:10px;background:#eaf2fe;color:#235a9c;font-size:.72rem;font-weight:600;text-decoration:none; }
.kh-task-due { background:#eef1f5;color:#44546a; }
.kh-task-due.overdue { background:#ffdde3;color:#9b1f3c; }

/* Expandable sections (also TinyMCE accordion) */
.kh-content details.kh-expand,.kh-content details.mce-accordion { margin:0 0 1em;border:1px solid #d9e4f2;border-radius:10px;background:#fff; }
.kh-content details.kh-expand > summary,.kh-content details.mce-accordion > summary { cursor:pointer;padding:9px 14px;font-weight:600;color:#17457b;border-radius:10px; }
.kh-content details.kh-expand > summary:hover { background:#f2f7fe; }
.kh-content details.kh-expand[open] > summary,.kh-content details.mce-accordion[open] > summary { border-bottom:1px solid #e6edf6;border-radius:10px 10px 0 0; }
.kh-content details.kh-expand > :not(summary),.kh-content details.mce-accordion > :not(summary) { margin-left:14px;margin-right:14px; }
.kh-content details.kh-expand > summary + *,.kh-content details.mce-accordion > summary + * { margin-top:10px; }

/* Table of contents */
.kh-toc { margin:0 0 1.2em;padding:12px 18px;border:1px solid #e1eaf5;border-radius:12px;background:#f8fbff;max-width:520px; }
.kh-toc-title { display:block;margin-bottom:6px;color:#526c88;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase; }
.kh-toc ul { list-style:none;margin:0;padding:0; }
.kh-toc li { margin:3px 0; }
.kh-toc a { text-decoration:none; }
.kh-toc a:hover { text-decoration:underline; }
.kh-toc .toc-l2 { padding-left:0; }
.kh-toc .toc-l3 { padding-left:16px; }
.kh-toc .toc-l4,.kh-toc .toc-l5,.kh-toc .toc-l6 { padding-left:32px;font-size:.9em; }

/* Page links and references */
.kh-content a.kh-page-link { padding:0 3px;border-radius:4px;background:#eef5ff;text-decoration:none; }
.kh-content a.kh-page-link::before { content:'\1F4C4 ';font-size:.85em; }
.kh-content a.kh-broken,.kh-content a.kh-broken:hover { color:#9b1f3c;background:#fff0f2;text-decoration:line-through; }
.kh-content a.kh-restricted { color:#6a7d93;background:#f1f3f6; }
.kh-content a.kh-restricted::after { content:' \1F512';font-size:.8em; }
.kh-page-ref { display:flex;flex-direction:column;gap:2px;margin:0 0 1em;padding:12px 16px;border:1px solid #d9e4f2;border-left:4px solid #2368c4;border-radius:10px;background:#fbfdff;max-width:640px; }
.kh-content .kh-ref-title { font-weight:700;color:#17457b;text-decoration:none; }
.kh-content .kh-ref-title:hover { text-decoration:underline; }
.kh-ref-meta { font-size:.76rem;color:#6a7d93; }
.kh-ref-summary { margin:4px 0 0;font-size:.86rem;color:#3a5470; }
.kh-missing { color:#7a5200;background:#fff8e6;border-color:#f2dca3;border-left-color:#e0a100;font-size:.86rem; }

/* Snippets */
.kh-snippet { margin:0 0 1em;padding:2px 0 2px 12px;border-left:3px dotted #c7d8ee; }
.kh-snippet > :last-child { margin-bottom:0; }
.kh-snippet.kh-missing { padding:10px 14px;border:1px dashed #f2dca3;border-radius:10px; }

/* Mentions and attachments */
.kh-content a.kh-mention { padding:1px 6px;border-radius:12px;background:#e1edfd;color:#0e3a7a;font-weight:600;text-decoration:none;white-space:nowrap; }
.kh-content a.kh-attachment { display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid #d9e4f2;border-radius:8px;background:#f8fbff;text-decoration:none;font-size:.9em; }
.kh-content a.kh-attachment::before { content:'\1F4CE'; }

/* Diagrams */
.kh-content pre.kh-diagram { background:#f6f9fe;color:#2c4a6b;border:1px dashed #b9d3f2;white-space:pre-wrap; }
.kh-diagram-view { margin:0 0 1em;padding:14px;border:1px solid #e1eaf5;border-radius:12px;background:#fff;overflow:auto;text-align:center; }
.kh-diagram-view .mermaid svg { max-width:100%;height:auto; }
.kh-diagram-source { margin-top:8px;text-align:left;font-size:.78rem; }
.kh-diagram-source > summary { cursor:pointer;color:#526c88; }
.kh-diagram-source pre { margin-top:6px; }

/* Code copy button (added by page-view.js) */
.kh-content pre.has-copy { padding-top:34px; }
.code-copy { position:absolute;top:6px;right:8px;padding:3px 10px;border:1px solid #ffffff33;border-radius:6px;background:#ffffff14;color:#dbe8fb;font:600 .7rem var(--font,'Inter',sans-serif);cursor:pointer; }
.code-copy:hover { background:#ffffff2e; }

/* Prism token colours (dark code blocks) */
.kh-content .token.comment,.kh-content .token.prolog,.kh-content .token.doctype,.kh-content .token.cdata { color:#7f93ad;font-style:italic; }
.kh-content .token.punctuation { color:#b4c4d9; }
.kh-content .token.property,.kh-content .token.tag,.kh-content .token.constant,.kh-content .token.symbol,.kh-content .token.deleted { color:#ff8ea3; }
.kh-content .token.boolean,.kh-content .token.number { color:#ffc27a; }
.kh-content .token.selector,.kh-content .token.attr-name,.kh-content .token.string,.kh-content .token.char,.kh-content .token.builtin,.kh-content .token.inserted { color:#7ff2c6; }
.kh-content .token.operator,.kh-content .token.entity,.kh-content .token.url,.kh-content .token.variable { color:#9fd4ff; }
.kh-content .token.atrule,.kh-content .token.attr-value,.kh-content .token.keyword { color:#8cb8ff; }
.kh-content .token.function,.kh-content .token.class-name { color:#ffd479; }
.kh-content .token.regex,.kh-content .token.important { color:#ffb86c; }

/* ---------- Editor-only (inside TinyMCE iframe) ---------- */
.kh-editing .kh-toc:empty,.kh-editing .kh-toc { min-height:20px; }
.kh-editing .kh-toc::before { content:'\1F4D1  Table of contents \2014 generated from headings when the page is viewed';display:block;color:#526c88;font-size:.84rem; }
.kh-editing .kh-page-ref:empty::before { content:'\1F4C4  Page reference #' attr(data-page-id) ' \2014 rendered as a summary card';color:#526c88;font-size:.84rem; }
.kh-editing .kh-page-ref::before { content:'\1F4C4  Page reference';display:block;color:#526c88;font-size:.74rem; }
.kh-editing .kh-snippet { padding:10px 14px;border:1px dashed #9cc3f5;border-radius:10px;background:#f5f9fe; }
.kh-editing .kh-snippet::before { content:'\267B\FE0F  Reusable snippet \2014 the latest version is shown when the page is viewed';display:block;color:#526c88;font-size:.74rem; }
.kh-editing li[data-kh-meta]::after { content:attr(data-kh-meta);margin-left:8px;padding:0 7px;border-radius:10px;background:#eaf2fe;color:#235a9c;font-size:.72rem;font-weight:600; }
.kh-editing .kh-checklist li::before,.kh-editing .kh-tasks li::before { cursor:pointer; }
.kh-editing pre.kh-diagram::before { content:'Mermaid diagram (double-click to edit)';display:block;margin-bottom:6px;color:#6a83a0;font:600 .7rem var(--font,sans-serif); }
.kh-editing details.kh-expand,.kh-editing details.mce-accordion { padding-bottom:6px; }
.kh-editing .mceNonEditable { cursor:default;outline:1px dashed #b9d3f2;outline-offset:2px; }
.kh-editing .heading-anchor { display:none; }

@media(max-width:760px) {
    .kh-content img.kh-image-left,.kh-content img.kh-image-right { float:none;display:block;max-width:100%;margin:0 0 1em; }
    .kh-content h1 { font-size:1.5rem; }
    .kh-content h2 { font-size:1.25rem; }
}
