/* AI Knowledge Center — in-page note reader (overlay + rendered markdown).
   Single source for every page that loads assets/reader.js (graph.html, evals.html).
   Uses only design tokens both site stylesheets define (--bg-card-solid, --border, --accent…). */
.kc-link{cursor:pointer}
.kc-ref{color:var(--text-soft);font-family:var(--mono);font-size:.9em}
.kc-reader{position:fixed;inset:0;z-index:200;display:none}
.kc-reader.show{display:block}
.kc-reader-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(4px)}
.kc-reader-card{position:absolute;top:4vh;left:50%;transform:translateX(-50%);width:min(820px,92vw);max-height:92vh;display:flex;flex-direction:column;background:var(--bg-card-solid);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.kc-reader-bar{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border);background:rgba(10,15,26,.8);position:sticky;top:0}
.kc-reader-bar button{cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-soft);border-radius:8px;padding:5px 11px;font-size:.78rem;font-family:var(--sans)}
.kc-reader-bar button:hover{color:var(--text);border-color:var(--accent)}
.kc-reader-crumb{font-weight:700;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-reader-spacer{flex:1}
.kc-reader-body{padding:24px 30px 36px;overflow-y:auto}
.kc-reader-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.kc-reader-head .np-layer{font-size:.62rem;font-weight:700;color:#06120c;padding:2px 9px;border-radius:999px}
.kc-reader-head .np-depth{font-family:var(--mono);font-size:.62rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}

/* concept reader: lede + dependency / sources sections */
.markdown .kc-lede{font-size:1.08rem;line-height:1.6;color:var(--text);margin:.2em 0 1em;font-weight:500}
.kc-relhead{font-family:var(--mono);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:1.5em 0 .5em;padding-top:.7em;border-top:1px solid var(--border)}
.kc-rellist,.kc-srclist{list-style:none;margin:.2em 0;padding:0}
.kc-rellist li,.kc-srclist li{margin:.4em 0;color:var(--text-soft)}
.kc-rellist .kc-dep{display:inline-block;min-width:74px;font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--accent);text-transform:lowercase}
.kc-rellist .kc-why{color:var(--text-dim);font-size:.82rem}

/* rendered markdown typography (shared by the reader) */
.markdown{color:var(--text);line-height:1.7}
.markdown h1{font-size:1.7rem;margin:.2em 0 .5em;line-height:1.2;letter-spacing:-1px}
.markdown h2{font-size:1.28rem;margin:1.4em 0 .4em;padding-top:.5em;border-top:1px solid var(--border);letter-spacing:-.6px}
.markdown h2:first-of-type{border-top:none;padding-top:0}
.markdown h3{font-size:1.06rem;margin:1.1em 0 .3em;letter-spacing:-.4px}
.markdown p{margin:.7em 0;color:var(--text-soft)}
.markdown strong{color:var(--text)}
.markdown a{color:var(--accent-2);border-bottom:1px solid color-mix(in srgb,var(--accent-2) 40%,transparent)}
.markdown a:hover{border-bottom-color:var(--accent-2)}
.markdown ul,.markdown ol{margin:.6em 0;padding-left:1.4em;color:var(--text-soft)}
.markdown li{margin:.35em 0}
.markdown li>ul,.markdown li>ol{margin:.3em 0}
.markdown blockquote{margin:.9em 0;padding:2px 16px;border-left:3px solid var(--accent);background:rgba(255,255,255,.03);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-soft)}
.markdown blockquote p{margin:.5em 0}
.markdown pre{margin:1em 0}
.markdown code{font-family:var(--mono);font-size:.86em}
.markdown img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin:.6em 0;display:block}
.markdown hr{border:none;border-top:1px solid var(--border);margin:1.6em 0}
.markdown table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.85rem;display:block;overflow-x:auto}
.markdown th,.markdown td{border:1px solid var(--border);padding:7px 11px;text-align:left;vertical-align:top}
.markdown th{background:rgba(255,255,255,.04);color:var(--text);font-weight:700;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.markdown td{color:var(--text-soft)}
@media (max-width:640px){.kc-reader-body{padding:18px 18px 28px}.kc-reader-card{top:0;max-height:100vh;width:100vw;border-radius:0}}
