/* Control to evidence matrix and deployment plate (kevgate sheet only). Uses the tokens from site.css and the radio group styles
   (.sw-pick). State is always text or shape (a +/- mark, a number, a chip word), never colour alone. Nothing animates. */
.kg-what{margin:var(--s-4) 0 0;padding:var(--s-3) var(--s-4);border:1px solid var(--edge);background:var(--paper);font-size:var(--step--1);line-height:1.5;max-width:60rem}
.kg-what p{margin:0 0 .5em}
.kg-what p:last-child{margin:0}
.kg-list{margin:0 0 var(--s-2);padding-left:1.1rem;font-size:var(--step--1);line-height:1.5}
.kg-list li{margin:0 0 .35em;overflow-wrap:anywhere}
.kg-eh{margin:.7em 0 .2em;font:400 var(--step--1)/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.kg-eh:first-child{margin-top:0}
.kg-src{margin:0 0 var(--s-3);font:400 var(--step--1)/1.45 var(--mono);color:var(--ink-2);overflow-wrap:anywhere}
.bench blockquote{margin:0 0 var(--s-2);padding:0 0 0 var(--s-3);border-left:3px solid var(--edge);font-size:.9375rem;line-height:1.5;max-width:60rem}
.bench blockquote p{margin:0}
.bench blockquote code,.kg-list code,.kg-src code{font-size:.8125rem;overflow-wrap:anywhere}
.kg-all tbody th{font-size:.9375rem}
.kg-all td{font-size:.875rem}
.kg-all .chip{margin:.15rem 0}
.kg-scroll{margin-bottom:var(--s-3)}
.kg-tab{min-width:0}
.kg-tab td.num{text-align:left;font-variant-numeric:tabular-nums slashed-zero;white-space:nowrap}
.kg-tab tbody th{padding-right:var(--s-3)}
.kg-pick{display:inline-flex;align-items:baseline;gap:.5em;min-height:2.75rem;padding:.35rem .25rem;margin:0 0 0 -.25rem;border:0;background:none;color:var(--link);font:600 1rem/1.3 var(--serif);text-align:left;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.kg-pick::before{content:"+";flex:none;display:inline-block;width:1.1em;font:600 .875rem/1 var(--mono);text-align:center;border:1.5px solid currentColor;padding:.1em 0}
.kg-pick[aria-expanded=true]::before{content:"\2212"}
.kg-pick:hover{color:var(--ink)}
.kg-pick:focus-visible,.kg-close:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
tr.kg-on>*{background:var(--paper)}
tr.kg-on>th{box-shadow:inset 4px 0 0 var(--ink);padding-left:var(--s-3)}
tr.kg-row>td{background:var(--paper);padding:var(--s-4);border-bottom:2px solid var(--ink)}
.kg-detail:focus{outline:none}
.kg-t{margin:0 0 var(--s-1);font-size:var(--step-1)}
.kg-detail .label{margin:0 0 var(--s-3)}
.kg-h{margin:var(--s-4) 0 var(--s-2);font:400 var(--step--1)/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.kg-close{margin-top:var(--s-3);min-height:2.75rem;padding:.4rem .9rem;border:1.5px solid var(--edge);background:var(--sheet);color:var(--ink);font:400 var(--step--1)/1.2 var(--mono);cursor:pointer}
.kg-close:hover{border-color:var(--ink)}
.kg-lanes{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5)}
@media (min-width:48rem){.kg-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kg-arch svg{max-width:22rem}
@media (max-width:47.99rem){
  tr.kg-row,tr.kg-row>td{display:block;padding:var(--s-3)}
  tr.kg-row>td::before{content:none}
}
