.knowledge-map-layout{max-width:1320px}.knowledge-map-page{min-width:0}.knowledge-map-content{max-width:none}.km-intro,.km-section-note{color:var(--muted);font-size:13px;line-height:1.7}.km-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:22px 0}.km-stat{padding:13px 15px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel2)}.km-stat strong{display:block;color:var(--accent);font-size:22px;line-height:1.2}.km-stat span{display:block;margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.km-controls{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:10px;margin:21px 0 30px}.km-controls label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.km-controls select,.km-controls input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:7px;background:var(--panel2);color:var(--text);font:inherit;font-size:12px}.km-section{margin:34px 0}.km-section h2{margin:0 0 7px;font-size:21px}.km-steps{list-style:none;margin:19px 0 0;padding:0;display:grid;gap:0}.km-step{position:relative;display:grid;grid-template-columns:37px minmax(0,1fr);gap:11px;padding:0 0 17px}.km-step:not(:last-child)::after{position:absolute;content:"↓";left:11px;top:34px;color:var(--accent);font-size:16px;font-weight:800}.km-step-number{z-index:1;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--accent);border-radius:50%;background:var(--panel);color:var(--accent);font-size:11px;font-weight:800}.km-step-card{min-width:0;padding:12px 14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel2)}.km-step-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.km-topic-select{display:block;padding:0;border:0;background:none;color:var(--text);text-align:left;font:inherit;font-size:13px;font-weight:700;line-height:1.5;cursor:pointer}.km-topic-select:hover,.km-topic-select:focus-visible{color:var(--accent)}.km-topic-code{display:block;margin-bottom:3px;color:var(--accent);font:10px ui-monospace,monospace;letter-spacing:.06em}.km-topic-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px;color:var(--muted2);font-size:10px}.km-topic-meta a,.km-material-links a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.km-badge{display:inline-flex;padding:2px 7px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);font-size:9px}.km-graph-frame{overflow:hidden;margin:16px 0;border:1px solid var(--border-soft);border-radius:9px;background:var(--panel2)}.km-graph{display:block;width:100%;min-height:330px;max-height:470px;color:var(--accent)}.km-edge{stroke:var(--accent);stroke-width:2;opacity:.76}.km-edge-no-arrow{marker-end:none}.km-edge-label{fill:var(--muted);font:11px ui-sans-serif,system-ui,sans-serif;text-anchor:middle}.km-graph-node rect{fill:var(--panel);stroke:var(--border);stroke-width:1.5}.km-graph-node.is-current rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}.km-graph-node text{fill:var(--text);font-family:ui-sans-serif,system-ui,sans-serif;text-anchor:middle}.km-graph-node .km-svg-code{fill:var(--accent);font-size:11px;font-weight:800}.km-graph-node .km-svg-title{font-size:10px}.km-graph-empty{fill:var(--muted);font:14px ui-sans-serif,system-ui,sans-serif;text-anchor:middle}.km-topic-detail{padding:14px 16px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel2)}.km-topic-detail h3{margin:0 0 7px;font-size:15px}.km-topic-detail p{margin:6px 0;color:var(--muted);font-size:12px}.km-relationship-list{display:grid;gap:7px;margin:12px 0}.km-relationship{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:var(--panel)}.km-relationship a{color:var(--blue);font-size:11px;text-decoration:underline;text-underline-offset:2px}.km-relationship span{color:var(--accent);font-size:10px;text-align:center}.km-material-links{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:10px}.km-catalog{margin:36px 0 10px;border-top:1px solid var(--border);padding-top:19px}.km-catalog summary{width:max-content;max-width:100%;color:var(--text);font-size:16px;font-weight:750;cursor:pointer}.km-catalog summary span{margin-left:6px;color:var(--muted2);font-size:11px;font-weight:500}.km-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px}.km-catalog:not([open]) .km-topic-list{display:none}.km-catalog:not([open]) .km-section-note{display:none}.km-topic-row{min-width:0;padding:10px 12px;border:1px solid var(--border-soft);border-radius:7px;background:var(--panel2)}.km-topic-row .km-topic-select{font-size:11px}.km-empty{padding:15px;color:var(--muted);font-size:12px}.km-intro{margin:16px 0}.knowledge-map-page .article-header{padding-bottom:20px}
.km-full-map-frame{max-height:min(78vh,900px);overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--accent) var(--panel)}.km-full-map{width:1700px;max-width:none;min-height:0;max-height:none;color:var(--accent)}.km-domain-panel{fill:var(--panel);stroke:var(--border);stroke-width:1.2}.km-domain-title{fill:var(--accent);font:700 13px ui-sans-serif,system-ui,sans-serif}.km-full-edge{fill:none;stroke:var(--accent);stroke-width:1.7;opacity:.43;transition:opacity .16s,stroke-width .16s}.km-full-edge.is-connected{opacity:.96;stroke-width:2.6}.km-full-edge.is-in-path{opacity:.88;stroke-width:2.25}.km-full-edge.is-dimmed{opacity:.08}.km-full-map .km-graph-node rect{fill:var(--panel2);stroke:var(--border);stroke-width:1.1;transition:fill .14s,stroke .14s,opacity .14s}.km-full-map .km-graph-node.is-in-path rect{stroke:var(--blue);stroke-width:1.8}.km-full-map .km-graph-node.is-current rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.4}.km-full-map .km-graph-node.is-search-match rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}.km-full-map .km-graph-node.is-dimmed{opacity:.2}.km-full-map .km-graph-node{cursor:pointer;outline:none}.km-full-map .km-graph-node:hover rect,.km-full-map .km-graph-node:focus rect{stroke:var(--accent);stroke-width:2.6}.km-full-node-label{fill:var(--text);font:10.5px ui-sans-serif,system-ui,sans-serif;text-anchor:start;pointer-events:none}.km-map-tools{display:flex;align-items:center;gap:7px;margin:13px 0 9px}.km-map-tools button{min-width:34px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel2);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.km-map-tools button:hover,.km-map-tools button:focus-visible{border-color:var(--accent);color:var(--accent)}.km-map-tools span{margin-left:5px;color:var(--muted);font-size:11px}
.km-full-map-frame{max-height:min(78vh,900px);overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--accent) var(--panel)}.km-full-map{width:1700px;min-width:1700px;max-width:none;min-height:0;max-height:none;height:auto;color:var(--accent)}.km-domain-panel{fill:var(--panel);stroke:var(--border);stroke-width:1.2}.km-domain-title{fill:var(--accent);font:700 13px ui-sans-serif,system-ui,sans-serif}.km-full-edge{fill:none;stroke:var(--accent);stroke-width:1.7;opacity:.43;transition:opacity .16s,stroke-width .16s}.km-full-edge.is-connected{opacity:.96;stroke-width:2.6}.km-full-edge.is-in-path{opacity:.88;stroke-width:2.25}.km-full-edge.is-dimmed{opacity:.08}.km-full-map .km-graph-node rect{fill:var(--panel2);stroke:var(--border);stroke-width:1.1;transition:fill .14s,stroke .14s,opacity .14s}.km-full-map .km-graph-node.is-in-path rect{stroke:var(--blue);stroke-width:1.8}.km-full-map .km-graph-node.is-current rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.4}.km-full-map .km-graph-node.is-search-match rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}.km-full-map .km-graph-node.is-dimmed{opacity:.2}.km-full-map .km-graph-node{cursor:pointer;outline:none}.km-full-map .km-graph-node:hover rect,.km-full-map .km-graph-node:focus rect{stroke:var(--accent);stroke-width:2.6}.km-full-node-label{fill:var(--text);font:10.5px ui-sans-serif,system-ui,sans-serif;text-anchor:start;pointer-events:none}.km-map-tools{display:flex;align-items:center;gap:7px;margin:13px 0 9px}.km-map-tools button{min-width:34px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel2);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.km-map-tools button:hover,.km-map-tools button:focus-visible{border-color:var(--accent);color:var(--accent)}.km-map-tools span{margin-left:5px;color:var(--muted);font-size:11px}
.km-full-map .km-full-node-label{text-anchor:start}
.km-map-legend,.km-relation-legend{display:flex;flex-wrap:wrap;align-items:center;gap:7px 15px;margin:9px 0;color:var(--muted);font-size:11px;line-height:1.5}.km-legend-item,.km-relation-key{display:inline-flex;align-items:center;gap:6px}.km-legend-line{display:inline-block;width:25px;border-top:2px solid var(--accent)}.km-legend-line.is-reading{border-color:var(--blue);border-top-style:dashed}.km-legend-dot{width:8px;height:8px;border:1.5px solid var(--muted2);border-radius:50%;background:var(--panel2)}.km-legend-dot.is-published{border-color:var(--accent);background:var(--accent)}.km-relation-legend>strong{color:var(--text);font-size:11px}.km-relation-key b{color:var(--muted2);font-size:10px;font-weight:600}.km-relation-swatch{display:inline-block;width:24px;border-top:2px solid var(--accent)}.km-relation-requires{border-top-style:solid}.km-relation-uses{border-color:var(--blue);border-top-style:dashed}.km-relation-used-in{border-color:var(--blue);border-top-style:dotted}.km-relation-tests{border-top:3px double var(--accent)}.km-relation-supported-by{border-color:var(--muted);border-top-style:dashed}.km-relation-integrates{border-color:var(--accent);border-top-style:dotted}.km-relation-compare{border-color:var(--muted2);border-top-style:dashed}.km-relation-direction{margin:4px 0 10px;color:var(--muted);font-size:11px;line-height:1.55}
.km-reading-edge{fill:none;stroke:var(--blue);stroke-width:2.8;stroke-dasharray:7 5;opacity:.7;transition:opacity .16s,stroke-width .16s}.km-reading-edge.is-connected{opacity:1;stroke-width:4}.km-reading-edge.is-dimmed{opacity:.035}.km-reading-arrowhead{fill:var(--blue)}
.km-full-edge.km-relation-requires{stroke-dasharray:none}.km-full-edge.km-relation-uses{stroke:var(--blue);stroke-dasharray:7 4}.km-full-edge.km-relation-used-in{stroke:var(--blue);stroke-dasharray:2 4}.km-full-edge.km-relation-tests{stroke-dasharray:9 3 2 3}.km-full-edge.km-relation-supported-by{stroke:var(--muted);stroke-dasharray:9 4}.km-full-edge.km-relation-integrates{stroke-dasharray:1 4;stroke-linecap:round}.km-full-edge.km-relation-compare{stroke:var(--muted2);stroke-dasharray:5 4}.km-full-edge.km-relation-compare.km-edge-no-arrow{marker-end:none}
.km-relationship{display:block}.km-relationship-sequence{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.km-relationship-reason{margin:7px 0 0!important;color:var(--muted)!important;font-size:11px!important;line-height:1.55}
.km-domain-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:9px;margin:17px 0}.km-domain-card{display:grid;gap:7px;min-width:0;padding:13px 14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel2);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,opacity .15s}.km-domain-card:hover,.km-domain-card:focus-visible{border-color:var(--accent);outline:none}.km-domain-card.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.km-domain-card.is-dimmed{opacity:.38}.km-domain-card-title{font-size:13px;font-weight:750;line-height:1.35}.km-domain-card-count{color:var(--muted);font-size:11px;line-height:1.45}.km-domain-card-footer{color:var(--accent);font:10px ui-monospace,monospace;letter-spacing:.04em}
@media(max-width:720px){.km-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.km-controls{grid-template-columns:1fr;gap:8px}.km-topic-list{grid-template-columns:1fr}.km-graph{min-height:300px}.km-relationship{grid-template-columns:minmax(0,1fr);gap:4px}.km-relationship-sequence{grid-template-columns:minmax(0,1fr);gap:4px}.km-relationship span{text-align:left}.km-section h2{font-size:19px}}
.km-full-map-frame{max-height:min(72vh,760px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:var(--border) transparent}
.km-full-map-frame:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.km-graph.km-full-map{height:auto;max-height:none;min-height:0;min-width:0}
.km-domain-graph-frame{overflow:auto;margin:16px 0 8px;border:1px solid var(--border-soft);border-radius:9px;background:var(--panel2);scrollbar-color:var(--border) transparent}
.km-domain-graph-frame:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.km-domain-graph{display:block;width:100%;min-height:0;max-height:none;color:var(--accent)}
.km-domain-edge{fill:none;stroke:var(--blue);stroke-width:1.8;opacity:.48;transition:opacity .16s,stroke-width .16s}
.km-domain-edge.is-dimmed{opacity:.08}
.km-domain-arrowhead{fill:var(--blue)}
.km-domain-edge-count{fill:var(--text);font:700 10px ui-sans-serif,system-ui,sans-serif;text-anchor:middle;paint-order:stroke;stroke:var(--panel2);stroke-width:5px;stroke-linejoin:round;pointer-events:none}
.km-domain-node{cursor:pointer;outline:none}
.km-domain-node rect{fill:var(--panel);stroke:var(--border);stroke-width:1.3;transition:fill .14s,stroke .14s,stroke-width .14s}
.km-domain-node.is-in-path rect{stroke:var(--blue);stroke-width:1.8}
.km-domain-node.is-active rect,.km-domain-node:hover rect,.km-domain-node:focus rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.5}
.km-domain-node-code{fill:var(--accent);font:700 9px ui-monospace,monospace;letter-spacing:.04em;pointer-events:none}
.km-domain-node-title{fill:var(--text);font:700 11px ui-sans-serif,system-ui,sans-serif;pointer-events:none}
.km-domain-node-meta{fill:var(--muted);font:10px ui-sans-serif,system-ui,sans-serif;pointer-events:none}
.km-domain-graph-legend{margin:7px 0 13px;color:var(--muted);font-size:11px;line-height:1.6}
.knowledge-map-layout{grid-template-columns:minmax(0,1fr) 160px;max-width:1560px;gap:24px}
.km-explorer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.46fr);align-items:start;gap:16px;margin:22px 0 36px}
.km-explorer-grid>.km-section{min-width:0;margin:0}
.km-explorer-grid>.km-section:first-child .km-section-note{min-height:3.2em}
.km-explorer-grid .km-topic-detail{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain}
.km-domain-catalog{margin:32px 0 12px;border-top:1px solid var(--border);padding-top:18px}
.km-domain-catalog>summary{width:max-content;max-width:100%;color:var(--text);font-size:16px;font-weight:750;cursor:pointer}
.km-domain-catalog>summary span{margin-left:7px;color:var(--muted2);font-size:11px;font-weight:500}
.km-domain-catalog:not([open])>.km-section-note,.km-domain-catalog:not([open])>.km-domain-graph-frame,.km-domain-catalog:not([open])>.km-domain-overview{display:none}
.km-node-status{stroke:var(--panel2);stroke-width:1.4}
.km-node-status.is-published{fill:var(--accent)}
.km-node-status.is-unpublished{fill:var(--panel2);stroke:var(--muted2)}
.km-full-node-label{font-size:10px}
@media(max-width:900px){.km-explorer-grid{grid-template-columns:minmax(0,1fr)}.km-explorer-grid .km-topic-detail{position:static;max-height:none;overflow:visible}}
@media(max-width:720px){.km-domain-catalog>summary span{display:block;margin:4px 0 0}}
.km-explorer-grid{grid-template-columns:minmax(0,1fr)}
.km-explorer-grid .km-topic-detail{position:static;max-height:none;overflow:visible}
.km-path-steps{margin:28px 0 12px;border-top:1px solid var(--border);padding-top:16px}
.km-related-material-list{display:grid;gap:6px;margin:10px 0 2px}.km-related-material{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:var(--panel)}.km-related-material a{color:var(--blue);font-size:11px;line-height:1.45;text-decoration:underline;text-underline-offset:2px}.km-related-material span{color:var(--muted2);font-size:11px;text-align:center}
@media(max-width:720px){.km-related-material{grid-template-columns:minmax(0,1fr);gap:4px}.km-related-material span{text-align:left}}
.km-jump-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:-12px 0 25px}
.km-jump-links a{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 13px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel2);color:var(--text);font-size:12px;font-weight:750;text-decoration:none;transition:border-color .15s,background .15s}
.km-jump-links a:hover,.km-jump-links a:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}
.km-jump-links a span{color:var(--accent);font:700 10px ui-monospace,monospace;letter-spacing:.04em}
.km-path-overview,.km-domain-catalog,.km-section[aria-labelledby="km-full-map"],.km-section[aria-labelledby="en-km-full-map"]{scroll-margin-top:18px}
@media(max-width:720px){.km-jump-links{grid-template-columns:1fr;gap:7px;margin:0 0 20px}.km-jump-links a{padding:10px 12px}}
.km-path-steps>summary{width:max-content;max-width:100%;color:var(--text);font-size:15px;font-weight:750;cursor:pointer}
.km-path-steps>summary span{margin-left:7px;color:var(--muted2);font-size:11px;font-weight:500}
.km-path-steps:not([open])>.km-section-note,.km-path-steps:not([open])>.km-steps{display:none}
@media(max-width:1190px){.knowledge-map-layout{grid-template-columns:minmax(0,1fr);gap:0}.knowledge-map-layout .article-aside{display:none}}
.km-path-overview{margin:18px 0 32px;padding:16px 17px 18px;border:1px solid var(--border-soft);border-radius:10px;background:var(--panel2)}
.km-path-overview h2{margin:0;font-size:20px}
.km-path-name{margin:5px 0 0;color:var(--accent);font-size:14px;font-weight:750;line-height:1.45}
.km-path-overview .km-section-note{margin:8px 0 14px}
.km-path-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 12px;margin:0;padding:0;list-style:none}
.km-path-step{position:relative;min-width:0}
.km-path-step:not(:last-child)::after{position:absolute;z-index:2;right:-10px;top:50%;color:var(--accent);content:"→";font-size:15px;font-weight:800;transform:translate(50%,-50%);pointer-events:none}
.km-path-step.is-reversed:not(.is-row-end)::after{right:auto;left:-10px;content:"←";transform:translate(-50%,-50%)}
.km-path-step.is-row-end:not(:last-child)::after{top:auto;right:50%;bottom:-15px;content:"↓";transform:translate(50%,0)}
.km-path-topic{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:9px;width:100%;height:100%;min-height:96px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s}
.km-path-topic:hover,.km-path-topic:focus-visible{border-color:var(--accent);outline:none}
.km-path-topic.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.km-path-number{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:11px;font-weight:800}
.km-path-topic-copy{display:grid;gap:5px;min-width:0}
.km-path-topic-copy .km-topic-code{margin:0;font-size:9px}
.km-path-topic-copy strong{font-size:11px;line-height:1.45}
.km-path-status{color:var(--muted2);font-size:9px;line-height:1.35}
.km-path-status.has-article{color:var(--accent)}
@media(max-width:720px){.km-path-overview{padding:14px 12px}.km-path-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.km-path-step:not(.is-row-end)::after{right:-9px}.km-path-step.is-reversed:not(.is-row-end)::after{right:auto;left:-9px}.km-path-step.is-row-end:not(:last-child)::after{right:50%;bottom:-16px}.km-path-topic{grid-template-columns:23px minmax(0,1fr);gap:7px;min-height:110px;padding:9px}.km-path-number{width:22px;height:22px;font-size:10px}.km-path-topic-copy strong{font-size:10px}}
