.wrap:has(.kg-body){--shell:1200px}.kg-topic{font:13px var(--font);color:var(--fg-dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 5px}.kg-topic[aria-pressed=true]{color:var(--fg);border-color:var(--gold)}.kg-topic:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.kg-topic:disabled{opacity:.3;cursor:default}.kg-body .topic-hidden{display:none!important}.kg-dot.label-hidden .kg-dot-label{opacity:0}.kg-dot.label-hidden:hover .kg-dot-label,.kg-dot.label-hidden:focus-visible .kg-dot-label,.kg-dot.label-hidden.sel .kg-dot-label{opacity:1}.kg-topics{flex-wrap:wrap;gap:8px 22px;margin:0 0 14px;display:flex}.kg-view-switch{flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0 14px;display:flex}.kg-zoom-tools button{font:inherit;color:var(--fg-dim);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:5px;padding:6px 11px}.kg-view-hint{color:var(--fg-faint);margin-left:9px;font-size:12px}.kg-view-icon{width:48px;height:48px;color:var(--fg-dim);cursor:pointer;isolation:isolate;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.kg-view-icon svg{width:44px;height:44px;transition:transform .18s;overflow:visible}.kg-view-stamp{fill:var(--bg);stroke:var(--rule);stroke-width:1.2px;transition:fill .18s,stroke .18s}.kg-view-glyph{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;fill:none}.kg-view-glyph circle{fill:currentColor;stroke:var(--bg);stroke-width:1.1px}.kg-view-card{fill:var(--bg);stroke-width:1.5px}.kg-view-mark{fill:none;stroke:var(--gold);stroke-width:3px;stroke-linecap:round;opacity:0}.kg-view-icon[aria-pressed=true]{color:var(--fg)}.kg-view-icon[aria-pressed=true] .kg-view-stamp{fill:color-mix(in srgb, var(--gold) 16%, var(--bg));stroke:var(--gold)}.kg-view-icon[aria-pressed=true] .kg-view-mark{opacity:1}.kg-view-icon:hover svg{transform:translateY(-2px)rotate(-3deg)}.kg-view-icon:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.kg-view-name{z-index:5;opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;color:var(--fg);background:var(--bg);border:1px solid var(--rule);box-shadow:2px 3px 0 color-mix(in srgb, var(--fg) 12%, transparent);font:13px var(--font);border-radius:3px 6px 4px 5px;padding:5px 9px;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,-3px)}.kg-view-icon:hover .kg-view-name,.kg-view-icon:focus-visible .kg-view-name{opacity:1;visibility:visible;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.kg-view-icon svg,.kg-view-stamp,.kg-view-name{transition:none}.kg-view-icon:hover svg{transform:none}}.kg-body{display:block}.kg-views{min-width:0}.kg-flow-frame{border:1px solid var(--map-ring);background:var(--map-bg);border-radius:8px;height:min(76vh,840px);min-height:420px;position:relative;overflow:hidden}.kg-flow-scroll{box-sizing:border-box;cursor:grab;touch-action:pan-x pan-y;scrollbar-gutter:stable;height:100%;padding:20px;overflow:auto}.kg-flow-scroll.tree-panning{cursor:grabbing;user-select:none}.kg-flow-stage{margin-inline:auto;position:relative;overflow:clip}.kg-flow-stage .kg-graph{transform-origin:0 0;margin:0;position:absolute;top:0;left:0}.kg-tree-tools[hidden]{display:none}.kg-tree-tools.kg-map-tools{justify-content:flex-end}.kg-tree-tools [aria-pressed=true]{border-color:var(--accent);color:var(--fg)}.kg-tree-zoom-value{text-align:center;min-width:3.3em;color:var(--fg-dim);font-size:12px}.kg-map[hidden],.kg-graph[hidden]{display:none}.kg-map{--map-bg:#f8fbff;--map-ink:#344966;--map-line:#93a9c2;--map-dim:#a4b1c4;--map-dot:#43688f;--map-lit:#1f7189;--map-ring:#bacddf;--map-pre:#1f7189;--map-post:#b0521c;--map-label:#5b6e87;--map-basic:#8a5a0b;color:var(--map-ink)}:root[data-theme=dark] .kg-map{--map-bg:#111e32;--map-ink:#c9d9e9;--map-line:#56718d;--map-dim:#7d94aa;--map-dot:#92afcb;--map-lit:#84d1da;--map-ring:#30475f;--map-pre:#84d1da;--map-post:#ff8a3d;--map-label:#93a8bf;--map-basic:#e2b866}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kg-map{--map-bg:#111e32;--map-ink:#c9d9e9;--map-line:#56718d;--map-dim:#7d94aa;--map-dot:#92afcb;--map-lit:#84d1da;--map-ring:#30475f;--map-pre:#84d1da;--map-post:#ff8a3d;--map-label:#93a8bf;--map-basic:#e2b866}}.kg-map-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;margin-bottom:9px;display:flex}.kg-search-label{color:var(--fg-dim);align-items:center;gap:7px;font-size:12px;display:flex}.kg-search{width:170px;min-width:0;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--rule);border-radius:5px;padding:6px 8px;font-size:13px}.kg-zoom-tools{align-items:center;gap:4px;display:flex}.kg-zoom-tools button{min-height:30px;padding:4px 9px}.kg-zoom-value{text-align:center;min-width:44px;color:var(--fg-dim);font-size:12px}.kg-map-frame{border:1px solid var(--map-ring);background:var(--map-bg);border-radius:8px;position:relative;overflow:hidden}.kg-map-svg{aspect-ratio:1200/840;touch-action:none;cursor:grab;user-select:none;width:100%;min-height:480px;display:block}.kg-map-svg.panning{cursor:grabbing}.kg-map-edge{stroke:var(--map-line);stroke-width:1.15px;opacity:.37;pointer-events:none;transition:opacity .28s,stroke-width .28s,stroke .28s}.kg-map-overlay{stroke:var(--map-lit);stroke-width:2px;stroke-dasharray:8 6;opacity:0;pointer-events:none;transition:opacity .28s}.kg-map-overlay.contrast{stroke:var(--map-ink);stroke-dasharray:2 5}.kg-map-overlay.hot{opacity:.9}.kg-dot{cursor:pointer;outline:none;transition:opacity .28s}.kg-dot-hit{fill:#0000}.kg-dot-halo{fill:none;stroke:var(--gold);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%;pointer-events:none;transition:opacity .28s,transform .34s cubic-bezier(.2,.8,.2,1);transform:scale(.72)}.kg-dot-core{fill:var(--map-dot);stroke:var(--map-bg);stroke-width:2px;transition:fill .24s,stroke-width .24s,opacity .24s}.kg-dot.st-mastered .kg-dot-core{fill:var(--map-lit)}.kg-dot.is-basic .kg-dot-core{fill:var(--map-bg);stroke:var(--map-dot);stroke-width:2.5px}.kg-dot-label{fill:var(--map-ink);font-family:var(--font);text-anchor:middle;paint-order:stroke;stroke:var(--map-bg);stroke-width:4px;stroke-linejoin:round;opacity:var(--label-opacity,.85);pointer-events:none;font-size:11px;transition:opacity .22s}.kg-dot:hover .kg-dot-label,.kg-dot:focus-visible .kg-dot-label,.kg-dot.sel .kg-dot-label,.kg-map-svg.show-labels .kg-dot-label{opacity:1}.kg-dot:hover .kg-dot-core,.kg-dot:focus-visible .kg-dot-core{fill:var(--gold);stroke-width:4px}.kg-dot:hover .kg-dot-halo,.kg-dot:focus-visible .kg-dot-halo,.kg-dot.sel .kg-dot-halo{opacity:.7;transform:scale(1)}.kg-dot.search-dim{opacity:.13}.kg-dot:focus-visible .kg-dot-core{stroke:var(--accent);stroke-width:4px}.kg-map.has-sel .kg-dot:not(.sel):not(.nb1){opacity:.22}.kg-map.has-sel .kg-map-edge:not(.hot){opacity:.09}.kg-map.has-hover .kg-dot:not(.hovered):not(.hover-neighbor){opacity:.22}.kg-map.has-hover .kg-map-edge:not(.hover-edge){opacity:.09}.kg-map-edge.hover-edge{opacity:.95;stroke-width:2px}.kg-map-edge.hover-pre{stroke:var(--map-pre)}.kg-map-edge.hover-post{stroke:var(--map-post)}.kg-map-edge.hot{stroke-width:2.5px;opacity:.95}.kg-map-edge.hot-pre{stroke:var(--map-pre)}.kg-map-edge.hot-post{stroke:var(--map-post)}.kg-map-arrow{fill:var(--map-line);opacity:calc(var(--arrow-o,0) * .6);pointer-events:none;transition:opacity .28s,fill .28s}.kg-map.has-sel .kg-map-arrow:not(.hot),.kg-map.has-hover .kg-map-arrow:not(.hover-edge){opacity:calc(var(--arrow-o,0) * .15)}.kg-map-arrow.hover-edge,.kg-map-arrow.hot{opacity:.95}.kg-map-arrow.hover-pre{fill:var(--map-pre)}.kg-map-arrow.hover-post{fill:var(--map-post)}.kg-map-arrow.hot-pre{fill:var(--map-pre)}.kg-map-arrow.hot-post{fill:var(--map-post)}.kg-dot.sel .kg-dot-core{fill:var(--gold);stroke:var(--map-bg);stroke-width:4px}.kg-graph{flex:none;position:relative}.kg-edges{position:absolute;top:0;left:0;overflow:visible}.kg-e{fill:none;stroke:var(--fg-faint);stroke-width:1.25px;opacity:.55;transition:opacity .15s,stroke .15s}.kg-arrow{fill:var(--fg-faint)}.kg-node{box-sizing:border-box;font-family:var(--mk);letter-spacing:.02em;text-align:center;white-space:nowrap;color:var(--tag-ink);cursor:pointer;font-synthesis:none;font-size:14.5px;line-height:19px;text-decoration:none;transition:opacity .15s,transform .15s,filter .15s;display:block;position:absolute}.kg-node:hover{transform:translateY(-2px)}.kg-node:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.kg-node.st-mastered{color:var(--card-key)}.kg-node.is-basic{--tag-src:var(--vellum-a);color:var(--vellum-ink);text-underline-offset:4px;text-decoration:underline 1.5px dotted}.kg-node.is-basic.pc-b{--tag-src:var(--vellum-b)}.kg-badge{font-family:var(--font);color:var(--fg-faint);font-size:11px;line-height:1;position:absolute;top:-13px;right:-12px}.kg-badge-ov{left:-11px;right:auto}.kg-graph.has-sel .kg-node{opacity:.26}.kg-graph.has-sel .kg-node.nb2{opacity:.55}.kg-graph.has-sel .kg-node.nb1,.kg-graph.has-sel .kg-node.sel{opacity:1}.kg-node.sel{outline:2.5px solid var(--gold);outline-offset:4px;z-index:2}.kg-graph.has-sel .kg-e{opacity:.12}.kg-graph.has-sel .kg-e.hot{opacity:1;stroke:var(--accent);stroke-width:2px}.kg-graph.has-sel .kg-e.hot-pre{stroke:var(--map-pre);marker-end:url(#kg-arr-pre)}.kg-graph.has-sel .kg-e.hot-post{stroke:var(--map-post);marker-end:url(#kg-arr-post)}.kg-arrow-pre{fill:var(--map-pre)}.kg-arrow-post{fill:var(--map-post)}.kg-ov-l{fill:none;stroke-width:1.8px}.kg-ov-l.approx{stroke:var(--accent);stroke-dasharray:7 5}.kg-ov-l.contrast{stroke:var(--fg-dim);stroke-dasharray:1.5 4;stroke-linecap:round;stroke-width:2.2px}.kg-ov-t{font-family:var(--font);fill:var(--accent);font-size:12px}.kg-detail{color:var(--card-ink);font-size:13.5px;line-height:1.65}.kg-detail h2{font-family:var(--mk);letter-spacing:.04em;font-synthesis:none;margin:0 0 4px;font-size:21px;font-weight:400}.kg-d-tags{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 8px;display:flex}.kg-tag{color:var(--map-lit);background:color-mix(in srgb, var(--map-lit) 11%, transparent);border:1px solid color-mix(in srgb, var(--map-lit) 35%, transparent);border-radius:3px;padding:0 7px;font-size:12px;line-height:1.5}.kg-tag-scope{color:var(--map-basic);background:color-mix(in srgb, var(--map-basic) 11%, transparent);border-color:color-mix(in srgb, var(--map-basic) 38%, transparent)}.kg-d-self{color:var(--map-label);margin-left:auto;font-size:12px}.kg-d-self b{color:var(--map-label);font-weight:400}.kg-d-self .mastered{color:var(--map-lit);font-weight:600}.kg-d-facts{grid-template-columns:auto 1fr;gap:1px 10px;margin:0 0 8px;font-size:12.5px;display:grid}.kg-d-facts dt{color:var(--map-label)}.kg-d-facts dd{color:var(--card-ink);margin:0}.kg-d-sym .katex{font-size:1.08em}.kg-d-sep{color:var(--map-label)}.kg-detail h3{font-family:var(--mk);letter-spacing:.12em;color:var(--card-note);margin:10px 0 2px;font-size:13px;font-weight:400}.kg-detail h3.kg-h-pre{color:var(--map-pre)}.kg-detail h3.kg-h-post{color:var(--map-post)}.kg-detail h3.kg-h-pre:before,.kg-detail h3.kg-h-post:before{content:"";vertical-align:middle;background:currentColor;border-radius:2px;width:14px;height:2.5px;margin:0 7px 0 0;display:inline-block}.kg-detail p{margin:0 0 4px}.kg-detail ul{margin:0;padding-left:16px}.kg-detail a{color:inherit;text-decoration-color:var(--card-key);text-underline-offset:3px}.kg-formula{color:var(--card-ink);margin:8px 0;padding:2px 0;overflow-x:auto}.kg-formula .katex{color:inherit;font-size:1.1em}.kg-formula .katex-display{margin:.3em 0}.kg-detail .kg-d-def{border-left:3px solid var(--card-key);margin:6px 0;padding-left:8px}.kg-detail .kg-d-def small{color:var(--card-note)}.kg-detail .kg-icon-list{margin:4px 0 10px;padding:0;list-style:none}.kg-icon-list li{align-items:flex-start;gap:8px;margin:0 0 8px;display:flex}.kg-detail-icon{width:22px;height:24px;color:var(--card-key);border-radius:3px;flex:0 0 22px;justify-content:center;align-items:center;display:inline-flex;position:relative}.kg-detail-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;overflow:visible}.kg-detail-icon:focus-visible{outline:1.5px solid var(--card-key);outline-offset:1px}.kg-icon-tip{z-index:4;background:var(--map-bg);border:1px solid var(--map-ring);color:var(--map-ink);white-space:nowrap;visibility:hidden;opacity:0;pointer-events:none;border-radius:4px;padding:3px 7px;font-size:11px;line-height:1.6;position:absolute;bottom:calc(100% + 3px);left:0}.kg-detail-icon:hover .kg-icon-tip,.kg-detail-icon:focus-visible .kg-icon-tip,.kg-resource-link:focus-visible .kg-icon-tip{visibility:visible;opacity:1}.kg-detail .kg-resource-link{align-items:flex-start;gap:8px;min-width:0;text-decoration:none;display:flex}.kg-resource-title{text-decoration:underline;text-decoration-color:var(--card-key);text-underline-offset:3px}.kg-resource-link:hover .kg-resource-title{color:var(--card-key)}.kg-hero{margin-bottom:18px}.kg-detail-panel{z-index:3;box-sizing:border-box;border:1px solid var(--map-ring);background:var(--map-bg);--card-ink:var(--map-ink);--card-note:var(--map-ink);--card-key:var(--map-lit);border-radius:10px;flex-direction:column;width:min(310px,100% - 32px);max-height:calc(100% - 32px);padding:24px 20px 20px;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 8px 30px #14274018}.kg-detail-panel[hidden]{display:none}.kg-detail-panel[data-side=left]{left:16px;right:auto}.kg-detail-panel[data-side=bottom]{width:auto;height:min(320px,46%);max-height:none;inset:auto 16px 16px}.kg-flow-frame.detail-docked .kg-flow-scroll{height:calc(100% - min(320px,46%) - 32px)}.kg-detail{padding-right:4px;overflow:auto}.kg-detail h2{padding-right:24px}.kg-detail-close{width:32px;height:32px;color:var(--map-ink);cursor:pointer;z-index:1;background:0 0;border:0;border-radius:5px;font-size:24px;position:absolute;top:5px;right:7px}.kg-detail-close:hover{background:var(--map-ring)}@media (width<=1080px){.kg-graph{overflow:visible}.kg-body{overflow-x:auto}}@media (width<=640px){.kg-map-svg{min-height:380px}.kg-map-tools{align-items:stretch}.kg-zoom-tools{margin-left:auto}}@media (prefers-reduced-motion:reduce){.kg-map .kg-map-edge,.kg-map .kg-map-overlay,.kg-map .kg-dot,.kg-map .kg-dot-halo,.kg-map .kg-dot-core,.kg-map .kg-dot-label,.kg-map .kg-map-arrow{transition:none}}
