[data-brain-map]{min-width:0;background:linear-gradient(180deg,#112b26,#0e2420);color:#eff3e8;padding:22px;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(8,25,21,.28)}
.kg-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:16px}.kg-top span{font-size:12px;color:#b7cbbf;letter-spacing:.02em}
.kg-controls{display:flex;gap:8px;margin:16px 0 10px}.kg-controls input{flex:1;min-width:0;background:#1b3b34;border:1px solid #4f7766;color:#fff;padding:11px 14px;font:inherit;font-size:14px;border-radius:999px}.kg-controls input::placeholder{color:#b9cbc1}.kg-controls input:focus{border-color:#9bd7b4;outline:0;box-shadow:0 0 0 3px rgba(155,215,180,.25)}
[data-brain-map] button{font:inherit;cursor:pointer;min-height:36px;min-width:36px;border:1px solid #5b7f6d;background:#1d3f36;color:#fff;border-radius:8px;padding:6px 12px;font-size:13px;transition:background .15s,border-color .15s}[data-brain-map] button:hover{background:#2c5748;border-color:#8fb9a2}[data-brain-map] :focus-visible{outline:3px solid #efbc77;outline-offset:2px}
.kg-legend{display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#4f7766 transparent;-webkit-overflow-scrolling:touch}.kg-legend::-webkit-scrollbar{height:6px}.kg-legend::-webkit-scrollbar-thumb{background:#4f7766;border-radius:3px}.kg-chip{flex:none}.kg-chip{display:inline-flex;align-items:center;gap:7px;border-radius:999px!important;padding:5px 11px!important;min-height:30px!important;font-size:12.5px!important;background:#18362f!important}.kg-chip small{opacity:.7;font-size:11px}.kg-chip[aria-pressed=true]{background:#e9f2e8!important;color:#13302a!important;border-color:#e9f2e8!important}.kg-dot-c{width:9px;height:9px;border-radius:50%;display:inline-block}
.kg-stage{position:relative;border-radius:12px;overflow:hidden;border:1px solid #2f5a4b}.kg-canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;min-height:300px;touch-action:none;cursor:grab;background:#0f2420;--fs:11.5}.kg-canvas:active{cursor:grabbing}
.kg-tools{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px}.kg-tools button{background:rgba(20,48,42,.88)!important;backdrop-filter:blur(4px);width:36px;padding:0!important;font-size:16px!important}
.kg-tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;max-width:260px;background:rgba(10,28,24,.95);border:1px solid #6f9a86;border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.35;box-shadow:0 8px 26px rgba(0,0,0,.35)}.kg-tip span{font-size:12px;color:#bcd2c6}.kg-tip small{font-size:11px;color:#f2c686}.kg-tip[hidden],.kg-answer[hidden]{display:none}
.kg-answer{position:absolute;left:10px;bottom:10px;max-width:min(320px,calc(100% - 64px));max-height:42%;overflow:auto;background:rgba(10,28,24,.94);border:1px solid #f0b971;border-radius:12px;padding:12px 40px 12px 14px;font-size:13px;line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.4)}.kg-answer strong{display:block;margin-bottom:6px;color:#f6c887;font-size:13px}.kg-answer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.kg-answer li button{width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;background:transparent!important;border:0!important;padding:4px 2px!important;min-height:0!important;color:#eaf3ea;font-size:12.5px!important}.kg-answer li button:hover{color:#fff;text-decoration:underline}.kg-close{position:absolute;top:6px;right:6px;width:30px!important;min-height:30px!important;padding:0!important}
.kg-edge{stroke:#8db79d;stroke-width:.9;opacity:.22;transition:opacity .2s,stroke .2s}.kg-edge.hub{opacity:.34;stroke-width:1.3;stroke:#7fb399}.kg-edge.wikilink{opacity:.3}.kg-edge.topic{stroke-dasharray:2 5;opacity:.14}.kg-edge.kg-hit{stroke:#f6ba61;opacity:1;stroke-width:2.6}.kg-edge.kg-dim{opacity:.05}
.kg-node{cursor:pointer}.kg-dot{transition:stroke .2s}.kg-node:hover .kg-dot,.kg-selected .kg-dot{stroke:#fff;stroke-width:3.2}.kg-node .kg-text{display:none;fill:#eaf3ea;font-size:calc(var(--fs)*1px);paint-order:stroke;stroke:#0f2420;stroke-width:calc(var(--fs)*.34px);stroke-linejoin:round;pointer-events:none}.kg-node.kg-label .kg-text{display:block}.kg-hub .kg-text{font-weight:600}
.kg-dim{opacity:.16}.kg-node.kg-hit{opacity:1}.kg-hit .kg-dot{stroke:#f6ba61;stroke-width:3.6;filter:url(#kg-glow)}.kg-second{opacity:.85}.kg-second .kg-dot{stroke:#f6ba61;stroke-width:1.6}
.kg-match .kg-dot{stroke:#fff;stroke-width:3}.kg-probe .kg-dot{animation:kg-probe 1.1s ease-in-out infinite;animation-delay:var(--d,0ms)}@keyframes kg-probe{0%,100%{stroke:#0f2420;stroke-width:2}50%{stroke:#f6ba61;stroke-width:6}}
.kg-pulse .kg-dot{animation:kg-pulse .7s ease-out 2}@keyframes kg-pulse{0%{stroke:#fff;stroke-width:2}50%{stroke:#f6ba61;stroke-width:9}100%{stroke:#f6ba61;stroke-width:3.6}}
.kg-query .kg-qdot{fill:#f6ba61;stroke:#fff;stroke-width:2}.kg-query .kg-qring{fill:none;stroke:#f6ba61;stroke-width:2;opacity:.7;transform-box:fill-box;transform-origin:center;animation:kg-ring 1.6s ease-out infinite}.kg-thinking .kg-qring{animation-duration:.9s}@keyframes kg-ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.kg-query .kg-text{display:block;fill:#f6c887;font-weight:600;font-size:calc(var(--fs)*1px);paint-order:stroke;stroke:#0f2420;stroke-width:calc(var(--fs)*.34px)}.kg-query{--s:1}.kg-qline{stroke:#f6ba61;stroke-width:1.8;stroke-dasharray:6 6;opacity:.9;animation:kg-flow 1s linear infinite;animation-delay:var(--d,0ms)}@keyframes kg-flow{to{stroke-dashoffset:-24}}
@media(prefers-reduced-motion:reduce){.kg-probe .kg-dot,.kg-pulse .kg-dot,.kg-qring,.kg-qline{animation:none!important}}
.kg-hint,.kg-relations{font-size:12px;line-height:1.7;color:#bfd2c6;margin:14px 0}
.kg-detail{border-top:1px solid #3f6556;padding-top:16px}.kg-detail h3{font-size:20px;color:#fff;line-height:1.4;margin:8px 0 12px}.kg-badge{display:inline-block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--c,#9fb4ff);color:var(--c,#9fb4ff)}
.kg-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;max-height:240px;overflow:auto;padding:12px;background:#1a3a32;border-radius:8px}.kg-detail a{display:inline-block;color:#d2ecc5;padding:12px 0}
.kg-rel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px;font-size:12.5px;color:#bcd2c6}.kg-relbtn{border-radius:999px!important;font-size:12px!important;min-height:28px!important;padding:3px 10px!important;background:#18362f!important}
.kg-actions{display:flex;gap:8px;flex-wrap:wrap}.kg-list-wrap{border-top:1px solid #3f6556;padding:14px 0;margin-top:16px;font-size:14px}.kg-list-wrap summary{cursor:pointer;min-height:40px}.kg-list{display:grid;gap:6px;max-height:270px;overflow:auto}.kg-list button{text-align:left}.kg-status{font-size:13.5px;color:#f2c686;min-height:1.4em;margin:6px 0 0}
.kg-pin{margin-left:8px;font-size:12px!important;min-height:26px!important;padding:2px 9px!important;border-radius:999px!important;background:#e6ecdf!important;color:#203831!important;border:1px solid #536b58!important}.kg-pin:hover{background:#fff!important}
[data-brain-map].kg-full{position:fixed;inset:0;z-index:90;border-radius:0;overflow:auto;padding:18px max(18px,3vw)}.kg-full .kg-canvas{aspect-ratio:auto;height:calc(100vh - 250px);min-height:380px}html.kg-lock{overflow:hidden}
@media(max-width:720px){[data-brain-map]{padding:14px}.kg-canvas{min-height:280px;touch-action:pan-y}.kg-answer{max-height:55%;font-size:12.5px}.kg-chip{font-size:12px!important}}
.knowledge-person.knowledge-brain{background:transparent;border:0;margin:0;align-self:start;align-items:stretch}.brain-scope{font-size:13px;padding:12px;background:#e6ecdf;border-radius:6px;margin:12px 0}.brain-scope button{margin-left:10px;padding:8px;border:1px solid #536b58;background:transparent;color:#203831;cursor:pointer}.brain-admin{margin:0;background:#f5f3ed;color:#203831;font:16px/1.6 system-ui}.brain-admin main{max-width:1440px;margin:auto;padding:25px}.brain-admin h1{font-size:36px;line-height:1.2}.brain-admin nav a{color:#203831;display:inline-block;padding:10px}.brain-admin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.brain-admin-chat{padding:24px;border:1px solid #bac9bc;border-radius:10px;min-width:0}.brain-admin textarea{width:100%;box-sizing:border-box;font:inherit;padding:14px;margin-top:12px}.brain-admin-chat button{font:inherit;padding:12px 18px;cursor:pointer;background:#203831;color:white;border:0;border-radius:5px}.brain-admin #knowledge-log{max-height:460px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.brain-admin .chat-message{padding:16px;background:#e5ebdf;margin:12px 0;border-radius:8px}.brain-admin .chat-message.user{background:#d5e2d9}.brain-admin #knowledge-feedback{color:#813719}@media(max-width:720px){[data-brain-map]{padding:15px}.kg-controls{flex-wrap:wrap}.kg-controls input{width:100%;flex-basis:100%}.kg-controls select{width:100%}.brain-admin-layout{grid-template-columns:1fr}.brain-admin main{padding:18px}.kg-node text{font-size:14px}.kg-canvas{min-height:250px}}
/* v3: cited answers */
.chat-message .cite{display:inline-block;min-width:1.5em;margin:0 .1em;padding:0 .35em;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.72em;line-height:1.5;vertical-align:super;cursor:pointer;opacity:.85}
.chat-message .cite:hover,.chat-message .cite[aria-expanded="true"]{opacity:1;background:rgba(60,110,80,.14)}
.chat-message .chat-passage{margin:.6em 0 0;padding:.6em .8em;border-left:3px solid #4f7f62;background:rgba(79,127,98,.08);border-radius:6px;font-size:.92em}
.chat-message .chat-passage blockquote{margin:.4em 0;white-space:pre-wrap;font-style:normal}
.chat-message .chat-passage-acts{display:flex;gap:.8em;flex-wrap:wrap;font-size:.9em}
.chat-message .chat-passage-acts button{background:none;border:1px solid currentColor;border-radius:999px;padding:.1em .7em;font:inherit;cursor:pointer}
.chat-message .chat-evidence{display:block;margin-top:.3em;opacity:.7}
.chat-message.insufficient>p{border-left:3px solid #b08a3e;padding-left:.6em}
.chat-message .chat-nearest,.chat-message .chat-followups{display:flex;flex-wrap:wrap;gap:.4em;margin-top:.5em;align-items:center}
.chat-message .chat-nearest span{width:100%;font-size:.85em;opacity:.8}
.chat-message .chat-near,.chat-message .chat-followups button{border:1px solid rgba(0,0,0,.25);border-radius:999px;padding:.25em .8em;background:rgba(255,255,255,.5);font:inherit;font-size:.9em;cursor:pointer;text-align:left}
.chat-message .chat-followups button::before{content:"↳ ";opacity:.6}
.kg-mark{background:rgba(244,184,96,.45);color:inherit;border-radius:3px;padding:0 .1em}

/* v4: bounded graph pages and corpus-wide local semantic discovery */
.kg-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.kg-pager button{font:inherit;border:1px solid #8fa699;background:#edf4ed;color:#183c30;border-radius:999px;padding:8px 14px;cursor:pointer}.kg-pager button:disabled{opacity:.45;cursor:default}.kg-pager span{font-size:.85rem;color:#bfd2c6}.kg-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.kg-search-mode{grid-column:1/-1;margin:4px 0;font-size:.9rem}.kg-search-hit{display:flex;flex-direction:column;gap:5px;text-align:left;min-width:0;padding:12px;border:1px solid #9caf9b;border-radius:8px;background:#edf4ed;color:#173c30;font:inherit;cursor:pointer;overflow-wrap:anywhere}.kg-search-hit:hover,.kg-search-hit:focus-visible{outline:2px solid #37745a;outline-offset:1px}.kg-search-hit small{font-size:.8rem;opacity:.8}@media(max-width:600px){.kg-search-results{grid-template-columns:minmax(0,1fr)}.kg-pager{gap:8px}.kg-pager span{flex-basis:100%;order:3;text-align:center}}
