.kg-app{--kg-bg:var(--pst-color-surface,#fff);--kg-text:var(--pst-color-text-base,#253446);--kg-border:var(--pst-color-border,#cdd7df);--kg-accent:#287ab0;color:var(--kg-text);min-width:0}
.kg-app [hidden]{display:none!important}.kg-app button,.kg-app select,.kg-app input,.kg-app textarea{font:inherit;color:inherit}.kg-app button{border:1px solid var(--kg-border);background:var(--kg-bg);border-radius:7px;padding:.45rem .7rem;cursor:pointer;text-align:left;max-width:100%}.kg-app button:hover{border-color:var(--kg-accent);background:var(--pst-color-on-background,#edf4f9)}.kg-app button:focus-visible,.kg-app input:focus-visible,.kg-app select:focus-visible,.kg-app textarea:focus-visible,.kg-svg-node:focus-visible{outline:3px solid #d48d22;outline-offset:3px}.kg-app input,.kg-app select,.kg-app textarea{min-width:0;max-width:100%;border:1px solid var(--kg-border);border-radius:6px;background:var(--kg-bg);padding:.45rem}.kg-app h2{font-size:1.4rem}.kg-app h3{font-size:1.1rem}.kg-app h4{font-size:1rem}.kg-eyebrow{font-size:.85rem;letter-spacing:.06em;color:var(--kg-accent);font-weight:700;margin-bottom:.3rem}.kg-header{border-bottom:1px solid var(--kg-border);margin-bottom:1rem}.kg-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.kg-tabs button[aria-pressed=true]{background:#236c9b;color:white;border-color:#236c9b}.kg-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.8rem}.kg-part{background:var(--kg-bg);border:1px solid var(--kg-border);border-top:4px solid var(--kg-accent);border-radius:9px;padding:.9rem}.kg-part h3{margin:0 0 .7rem}.kg-part button{display:block;width:100%;margin:.25rem 0;font-size:.88rem}.kg-part:nth-child(2){border-top-color:#22866b}.kg-part:nth-child(3){border-top-color:#9564bc}.kg-part:nth-child(4){border-top-color:#be7026}.kg-part:nth-child(5){border-top-color:#bc5168}.kg-paths{margin:1rem 0;padding:.7rem;border:1px solid var(--kg-border);border-radius:8px}.kg-paths summary,.kg-relations summary{cursor:pointer;font-weight:600}.kg-route{padding:.8rem 0;border-bottom:1px solid var(--kg-border);line-height:2}.kg-route:last-child{border:0}.kg-route strong{display:block}.kg-node-link{font-size:.85rem!important;padding:.2rem .5rem!important;margin:.15rem}.kg-filters{display:flex;flex-wrap:wrap;gap:.7rem;margin:.8rem 0}.kg-field{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:min(100%,140px);font-size:.85rem}.kg-field input,.kg-field select,.kg-field textarea{width:100%}.kg-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.55rem;margin:.6rem 0}.kg-concept{display:flex;flex-direction:column;gap:.3rem}.kg-concept strong{font-size:.92rem}.kg-concept span,.kg-concept small{font-size:.75rem}.kg-concept[aria-pressed=true]{border:2px solid var(--kg-accent)!important}.kg-concept [data-status=mastered]{color:#218362}.kg-concept [data-status=learning]{color:#a96b14}.kg-work{margin-top:1.5rem;border-top:1px solid var(--kg-border);padding-top:1rem}.kg-empty,.kg-muted{font-size:.85rem;color:var(--pst-color-text-muted,#596b7c)}.kg-graph-tools{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem}.kg-graph-tools .kg-field{flex:0 1 180px}.kg-legend{border:1px solid var(--kg-border);border-radius:7px;padding:.5rem .7rem;margin:.9rem 0;display:flex;gap:.6rem;flex-wrap:wrap}.kg-legend legend{font-size:.85rem;width:auto;padding:0 .3rem}.kg-legend label{display:flex;align-items:center;gap:.3rem;font-size:.8rem}.kg-legend input{width:16px;height:16px}.kg-swatch{width:22px;border-top:3px var(--edge-style) var(--edge-color)}#kg-graph-info{font-size:.8rem}.kg-canvas{overflow:auto;max-height:510px;border:1px solid var(--kg-border);border-radius:9px;background:var(--kg-bg);max-width:100%;overscroll-behavior:contain}.kg-canvas svg{display:block;max-width:none!important}.kg-svg-node{cursor:pointer}.kg-svg-node rect{fill:var(--kg-bg);stroke:var(--kg-border);stroke-width:1.5}.kg-svg-node.is-selected rect{stroke:var(--kg-accent);stroke-width:3}.kg-svg-node[data-status=mastered] rect{stroke:#22866b}.kg-svg-node[data-status=learning] rect{stroke:#be7026;stroke-dasharray:4 2}.kg-svg-node text{fill:var(--kg-text);pointer-events:none}.kg-node-title{font-size:13px;font-weight:600}.kg-node-meta{font-size:9px}.kg-column-label{font-size:12px;fill:var(--pst-color-text-muted,#596b7c)}.kg-detail{padding:1rem;background:var(--kg-bg);border:1px solid var(--kg-border);border-radius:9px;margin:1rem 0}.kg-detail h3{margin-top:.25rem}.kg-formula{overflow-x:auto;max-width:100%;padding:.25rem 0}.kg-link-row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:.65rem 0}.kg-record{border-top:1px solid var(--kg-border);margin-top:1rem;padding-top:.8rem}.kg-record textarea{width:100%;resize:vertical}.kg-record>button{margin:.5rem .5rem 0 0}.kg-record p{font-size:.8rem}.kg-relations{padding:.8rem;border:1px solid var(--kg-border);border-radius:8px}.kg-relation-row{font-size:.8rem;margin:.35rem 0}.kg-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.kg-metric{padding:1rem;background:var(--kg-bg);border:1px solid var(--kg-border);border-radius:9px;display:flex;flex-direction:column}.kg-metric strong{font-size:1.6rem;line-height:1.4;color:var(--kg-accent)}.kg-metric span{font-size:.8rem}.kg-chapter-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.65rem}.kg-progress-card{display:flex;flex-direction:column;gap:.55rem;padding:.8rem!important}.kg-progress-card strong{font-size:.9rem}.kg-progress-card>span{font-size:.75rem}.kg-progress-bar{height:9px;border-radius:5px;background:var(--pst-color-border,#e3eaf0);display:flex;overflow:hidden;width:100%}.kg-progress-bar span[data-status=mastered]{background:#22866b}.kg-progress-bar span[data-status=learning]{background:#be7026}.kg-progress-bar span[data-status=read]{background:#247bb5}.kg-hard{padding:.9rem;border:1px solid var(--kg-border);border-left:4px solid #be7026;border-radius:8px;margin:.6rem 0}.kg-hard>p{font-size:.85rem}.kg-note-text{white-space:pre-wrap;overflow-wrap:anywhere}.kg-badge{font-size:.75rem;border:1px solid var(--kg-border);border-radius:20px;padding:.2rem .5rem;margin-left:.4rem}.kg-chapter-panel{display:flex;gap:.7rem;flex-wrap:wrap;border:1px solid var(--pst-color-border,#cdd7df);border-radius:8px;padding:.7rem;margin:1rem 0;font-size:.83rem}.kg-chapter-panel small{width:100%}#kg-storage-message:empty{display:none}#kg-storage-message{padding:.7rem;border-left:3px solid #be7026;font-size:.85rem;overflow-wrap:anywhere}
@media(max-width:600px){.kg-metrics{grid-template-columns:repeat(2,1fr)}.kg-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-concept{overflow-wrap:anywhere}.kg-graph-tools .kg-field{flex:1 1 140px}.kg-detail{padding:.75rem}.kg-overview{grid-template-columns:1fr}.kg-metric{padding:.7rem}.kg-app .kg-route{line-height:2.3}.kg-chapter-panel{flex-direction:column;gap:.3rem}}
/* Status text is small, so use distinct inks with full text contrast in both themes. */
.kg-app{--kg-accent:#216391}
.kg-app a{color:#1658b0}
.kg-concept [data-status=mastered]{color:#17664b}
.kg-concept [data-status=learning]{color:#81520e}
html[data-theme=dark] .kg-app{--kg-accent:#86c8ee}
html[data-theme=dark] .kg-app a{color:#9acbff}
html[data-theme=dark] .kg-concept [data-status=mastered]{color:#85ddba}
html[data-theme=dark] .kg-concept [data-status=learning]{color:#ffc56e}
@media print{.kg-tabs,.kg-record,.kg-graph-tools,.kg-legend,#kg-more,.kg-link-row button{display:none!important}.kg-canvas{max-height:none;overflow:visible}.kg-app button{border:0}.kg-app{--kg-bg:white;--kg-text:black}}
