.kg{padding:16px var(--space-6) 28px;gap:14px;min-width:0;display:grid}.kg-intro{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;padding:16px 18px;display:flex}.kg-intro>div:first-child{flex:380px;gap:6px;min-width:0;display:grid}.kg-intro h2{color:var(--ink-950);margin:0;font-size:20px}.kg-intro p{color:var(--ink-600);max-width:72ch;margin:0;font-size:14px}.kg-eyebrow{color:var(--gold-800);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;font-weight:800;display:flex}.kg-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;display:flex}.kg-field{color:var(--ink-600);gap:4px;font-size:12px;font-weight:700;display:grid}.kg-field select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);font:600 13.5px var(--font-sans);max-width:100%;padding:7px 9px}.kg-check{color:var(--ink-700);align-items:center;gap:6px;font-size:13px;display:inline-flex}.kg-explain-button{background:var(--brand-900);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font:700 13px/1 var(--font-sans);border:0;align-items:center;gap:7px;padding:9px 12px;display:inline-flex}.kg-explain-button svg{color:var(--gold-300)}.kg-explanation{border:1px solid var(--line);border-inline-start:3px solid var(--gold-500);border-radius:var(--radius-md);background:#fffdf7;justify-items:start;gap:8px;padding:12px 14px;display:grid}.kg-explanation p{color:var(--ink-800);max-width:90ch;margin:0;font-size:14.5px;line-height:1.55}.kg-cited{color:var(--ink-500);font-size:12px}.kg-body{grid-template-columns:minmax(0,1fr) 300px;gap:14px;display:grid}.kg-canvas{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;padding:8px;overflow:auto}.kg-canvas svg{height:auto;margin:0 auto;display:block}.kg-band{fill:var(--surface-soft)}.kg-band-label{fill:var(--ink-500);font:800 10.5px var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.kg-edge{fill:none;stroke:var(--ink-400);stroke-width:1.6px;transition:opacity var(--transition)}.kg-edge.is-proposed{stroke:var(--gold-500);stroke-dasharray:6 4;stroke-width:1.8px}.kg-edge.is-dim{opacity:.18}.kg-node{cursor:pointer;transition:opacity var(--transition);outline:none}.kg-node.is-dim .kg-node-body,.kg-node.is-dim .kg-node-stripe{opacity:.32}.kg-node.is-dim .kg-node-box{stroke:var(--line)}.kg-node-box{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.2px}.kg-node:hover .kg-node-box,.kg-node:focus-visible .kg-node-box{stroke:var(--gold-500);stroke-width:2px}.kg-node.is-selected .kg-node-box{stroke:var(--gold-500);stroke-width:2.6px}.kg-node.is-focus .kg-node-box{fill:#fffaf0}.kg-node.is-proposed .kg-node-box{stroke:var(--gold-500);stroke-dasharray:5 3}.kg-tone-critical .kg-node-box{stroke:var(--critical-600)}.kg-tone-warning .kg-node-box{stroke:var(--warning-600)}.kg-node-stripe{fill:var(--ink-400)}.kg-type-change .kg-node-stripe,.kg-type-regulation .kg-node-stripe{fill:var(--info-700)}.kg-type-obligation .kg-node-stripe{fill:var(--brand-700)}.kg-type-control .kg-node-stripe{fill:var(--positive-600)}.kg-type-policy .kg-node-stripe{fill:var(--gold-500)}.kg-type-risk .kg-node-stripe{fill:var(--critical-600)}.kg-type-indicator .kg-node-stripe{fill:var(--warning-600)}.kg-type-action .kg-node-stripe{fill:var(--gold-700)}.kg-type-evidence .kg-node-stripe{fill:var(--brand-500)}.kg-node-body{align-content:start;gap:1px;height:100%;display:grid;overflow:hidden}.kg-node-id{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font:700 10.5px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.kg-node-title{color:var(--ink-950);font:700 12px/1.25 var(--font-sans);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kg-node-status{color:var(--ink-600);font:500 11px/1.3 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kg-tone-critical .kg-node-status{color:var(--critical-700)}.kg-tone-warning .kg-node-status{color:var(--warning-700)}.kg-tone-positive .kg-node-status{color:var(--positive-700)}.kg-tone-info .kg-node-status{color:var(--gold-800)}.kg-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-content:start;gap:10px;padding:14px;display:grid}.kg-detail h3{color:var(--ink-950);margin:0;font-size:17px;line-height:1.3}.kg-detail dl{gap:8px;margin:0;display:grid}.kg-detail dl div{gap:2px;display:grid}.kg-detail dt{color:var(--ink-500);font-size:11.5px;font-weight:700}.kg-detail dd{color:var(--ink-900);margin:0;font-size:14px;font-weight:600}.kg-tone-text-critical{color:var(--critical-700)!important}.kg-tone-text-warning{color:var(--warning-700)!important}.kg-tone-text-positive{color:var(--positive-700)!important}.kg-tone-text-info{color:var(--gold-800)!important}.kg-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);justify-items:start;gap:6px;padding:10px;display:grid}.kg-note p{color:var(--ink-700);margin:0;font-size:13.5px}.kg-actions{flex-wrap:wrap;gap:8px;display:flex}.kg-gaps h3{color:var(--ink-500);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:11.5px}.kg-gaps ul{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.kg-gap-button{background:var(--surface);border:1px solid var(--line);border-inline-start:3px solid var(--warning-600);border-radius:var(--radius-sm);color:var(--ink-800);cursor:pointer;font:500 13px/1.4 var(--font-sans);text-align:start;width:100%;padding:8px 10px}.kg-gaps li.kg-tone-critical .kg-gap-button{border-inline-start-color:var(--critical-600)}.kg-gap-button span{color:var(--ink-500)}.kg-legend{color:var(--ink-500);flex-wrap:wrap;gap:8px 18px;margin:0;font-size:12.5px;display:flex}.kg-legend span{align-items:center;gap:6px;display:inline-flex}.kg-swatch{width:26px;height:0;display:inline-block}.kg-swatch-solid{border-top:2px solid var(--ink-400)}.kg-swatch-dashed{border-top:2px dashed var(--gold-500)}.kg-swatch-critical{border:2px solid var(--critical-600);border-radius:3px;width:16px;height:10px}@media (width<=1100px){.kg-body{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.kg{padding-inline:10px}}
