#knowledge-graph{background:var(--card-bg, transparent);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:12px;min-height:380px;overflow:hidden;position:relative}#knowledge-graph canvas{display:block}#knowledge-graph .kg-loading,#knowledge-graph .kg-error-message{align-items:center;color:var(--text-muted-color, #6c757d);display:flex;inset:0;justify-content:center;position:absolute}#knowledge-graph .kg-error-message{display:none}#knowledge-graph.kg-ready .kg-loading,#knowledge-graph.kg-error .kg-loading{display:none}#knowledge-graph.kg-error .kg-error-message{display:flex}#knowledge-graph[data-full]{min-height:480px}#knowledge-graph .kg-card-dot{border-radius:50%;display:inline-block;height:9px;width:9px}#knowledge-graph .kg-info-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.12);display:none;left:1rem;max-width:280px;padding:.75rem 1rem;position:absolute;top:1rem;z-index:5}#knowledge-graph .kg-info-card.show{display:block}#knowledge-graph .kg-info-card .kg-card-type{align-items:center;color:var(--text-muted-color, #6c757d);display:flex;font-size:.75rem;gap:.4rem;letter-spacing:.03em;text-transform:uppercase}#knowledge-graph .kg-info-card .kg-card-title{font-weight:600;line-height:1.3;margin:.35rem 0}#knowledge-graph .kg-info-card .kg-card-link{font-size:.9rem;font-weight:600}.kg-legend{color:var(--text-muted-color, #6c757d);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem 1.25rem;justify-content:center}.kg-legend .kg-legend-item::before{border-radius:50%;content:"";display:inline-block;height:10px;margin-right:.4rem;width:10px}.kg-legend .kg-type-post::before{background:#0d6efd}.kg-legend .kg-type-tutorial::before{background:#8250df}.kg-legend .kg-type-series::before{background:#d4a017}.kg-legend .kg-type-category::before{background:#d63384}.kg-legend .kg-type-tag::before{background:#6c8093}.kg-legend .kg-type-project::before{background:#198754}.kg-legend .kg-link-related::before{background:rgba(108,128,147,.6);border-radius:1px;height:2px;vertical-align:middle;width:14px}[data-mode=dark] .kg-legend .kg-type-post::before{background:#58a6ff}[data-mode=dark] .kg-legend .kg-type-tutorial::before{background:#bc8cff}[data-mode=dark] .kg-legend .kg-type-series::before{background:#e3b341}[data-mode=dark] .kg-legend .kg-type-category::before{background:#ff7bac}[data-mode=dark] .kg-legend .kg-type-tag::before{background:#8b949e}[data-mode=dark] .kg-legend .kg-type-project::before{background:#3fb950}[data-mode=dark] .kg-legend .kg-link-related::before{background:rgba(139,148,158,.6)}#knowledge-graph .kg-search{position:absolute;right:1rem;top:1rem;width:230px;z-index:6}#knowledge-graph .kg-search input{background:var(--card-bg, #fff);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:8px;color:var(--text-color, inherit);font-size:.85rem;padding:.4rem .75rem;width:100%}#knowledge-graph .kg-search input:focus{border-color:var(--link-color, #0d6efd);outline:none}#knowledge-graph .kg-search .kg-search-results{background:var(--card-bg, #fff);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);display:none;left:0;max-height:260px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px)}#knowledge-graph .kg-search .kg-search-results.show{display:block}#knowledge-graph .kg-search .kg-search-item{align-items:center;background:none;border:0;color:var(--text-color, inherit);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.45rem .75rem;text-align:left;width:100%}#knowledge-graph .kg-search .kg-search-item:hover{background:rgba(128,128,128,.12)}#knowledge-graph .kg-search .kg-search-item .kg-card-dot{flex:0 0 auto}#knowledge-graph .kg-search .kg-search-empty{color:var(--text-muted-color, #6c757d);font-size:.85rem;padding:.45rem .75rem}@media(width <= 576px){#knowledge-graph .kg-search{width:170px}}.kg-legend .kg-legend-item{background:none;border:0;color:var(--text-muted-color, #6c757d);cursor:pointer;font-size:inherit;padding:0}.kg-legend .kg-legend-item.off{opacity:.4;text-decoration:line-through}.kg-legend .kg-legend-read{cursor:default}.kg-legend .kg-legend-read::before{background:rgba(0,0,0,0);border:2px solid #198754}[data-mode=dark] .kg-legend .kg-legend-read::before{border-color:#3fb950}#knowledge-graph .kg-info-card .kg-card-meta{color:var(--text-muted-color, #6c757d);font-size:.75rem}#knowledge-graph .kg-info-card .kg-card-desc{color:var(--text-muted-color, #6c757d);font-size:.8rem;line-height:1.4;margin:.35rem 0 .5rem}#knowledge-graph .kg-noscript{padding:1.5rem;position:relative;text-align:center;z-index:2}.kg-post-section{margin-top:2.5rem}.kg-post-section .kg-post-title{font-size:1.15rem;margin-bottom:1rem}.kg-post-section #knowledge-graph{min-height:340px}#knowledge-graph .kg-progress{background:var(--card-bg, #fff);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:8px;bottom:1rem;color:var(--text-muted-color, #6c757d);font-size:.8rem;left:1rem;padding:.3rem .7rem;position:absolute;z-index:4}#knowledge-graph .kg-download{background:var(--card-bg, #fff);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:8px;bottom:1rem;color:var(--text-muted-color, #6c757d);cursor:pointer;padding:.3rem .6rem;position:absolute;right:1rem;z-index:4}#knowledge-graph .kg-download:hover{color:var(--link-color, #0d6efd)}#knowledge-graph .kg-tour{background:var(--card-bg, #fff);border:1px solid var(--border-color, rgba(0, 0, 0, 0.1));border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.18);max-width:320px;padding:1rem;position:absolute;z-index:7}#knowledge-graph .kg-tour p{font-size:.9rem;line-height:1.45;margin:0 0 .75rem}#knowledge-graph .kg-tour .kg-tour-next{background:var(--link-color, #0d6efd);border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .9rem}#knowledge-graph .kg-tour.kg-tour-center{left:50%;top:50%;transform:translate(-50%, -50%)}#knowledge-graph .kg-tour.kg-tour-search{right:1rem;top:3.5rem}#knowledge-graph .kg-tour.kg-tour-legend{bottom:3.5rem;left:50%;transform:translateX(-50%)}