/* Keyword Count & Density Checker — tool styles.
   Every value from a design token (§4.2). Scoped to .ftb-tool-kd.
   Textareas, radios, checkboxes, buttons and messages come from core.css.
   Kept small: core.css and style.css already transfer about 11,000 of the
   12,288-byte page budget (§10). */

.ftb-tool-kd .ftb-kd-in{display:grid;gap:0 var(--ftb-space-5);grid-template-columns:1fr}
@media (min-width:768px){
  .ftb-tool-kd .ftb-kd-in{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
}
.ftb-tool-kd .ftb-kd-kwbox{min-height:120px;font-family:var(--ftb-font);font-size:var(--ftb-text-base)}
.ftb-tool-kd .ftb-kd-optlab{font-size:var(--ftb-text-sm);font-weight:var(--ftb-fw-semi)}
.ftb-tool-kd .ftb-kd-opts{align-items:center}

/* Height reserved so the first numbers never shift the page (§10). */
.ftb-tool-kd .ftb-kd-stats{display:grid;gap:var(--ftb-space-3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));margin-bottom:var(--ftb-space-5)}
.ftb-tool-kd .ftb-kd-stat{min-height:76px;display:flex;flex-direction:column;justify-content:center;
  gap:var(--ftb-space-1);padding:var(--ftb-space-3);background:var(--ftb-surface-2);
  border-radius:var(--ftb-radius);text-align:center}
.ftb-tool-kd .ftb-kd-num{font-size:var(--ftb-text-xl);font-weight:var(--ftb-fw-bold);font-variant-numeric:tabular-nums}
.ftb-tool-kd .ftb-kd-lab{font-size:var(--ftb-text-sm);color:var(--ftb-text-muted)}

.ftb-tool-kd .ftb-kd-results{min-height:180px}
.ftb-tool-kd .ftb-kd-h{margin:0 0 var(--ftb-space-3);font-size:var(--ftb-text-lg);font-weight:var(--ftb-fw-semi)}
.ftb-tool-kd .ftb-kd-h3{margin:0 0 var(--ftb-space-2);font-size:var(--ftb-text-sm);font-weight:var(--ftb-fw-bold)}
.ftb-tool-kd .ftb-kd-empty{margin:0;padding:var(--ftb-space-5);background:var(--ftb-surface-2);
  border-radius:var(--ftb-radius);font-size:var(--ftb-text-sm);color:var(--ftb-text-muted)}

.ftb-tool-kd .ftb-kd-table{width:100%;border-collapse:collapse;font-size:var(--ftb-text-sm);
  font-variant-numeric:tabular-nums}
.ftb-tool-kd .ftb-kd-table th,
.ftb-tool-kd .ftb-kd-table td{padding:var(--ftb-space-2) var(--ftb-space-3);text-align:start;
  border-bottom:1px solid var(--ftb-border);overflow-wrap:anywhere}
.ftb-tool-kd .ftb-kd-table thead th{color:var(--ftb-text-muted);background:var(--ftb-surface-2);white-space:nowrap}
.ftb-tool-kd .ftb-kd-table tbody th{font-weight:var(--ftb-fw-medium)}
.ftb-tool-kd .ftb-kd-table .is-num{text-align:end;white-space:nowrap}
.ftb-tool-kd .ftb-kd-table tr.is-zero th,
.ftb-tool-kd .ftb-kd-table tr.is-zero td{color:var(--ftb-text-muted)}
.ftb-tool-kd .ftb-kd-none{color:var(--ftb-text-muted)}

.ftb-tool-kd details summary{display:flex;align-items:center;min-height:var(--ftb-tap);cursor:pointer;
  font-size:var(--ftb-text-sm);font-weight:var(--ftb-fw-semi);color:var(--ftb-primary)}
.ftb-tool-kd details summary:focus-visible{outline:2px solid var(--ftb-primary);outline-offset:2px}
.ftb-tool-kd .ftb-kd-ctx,
.ftb-tool-kd .ftb-kd-phrases{margin-top:var(--ftb-space-4)}
.ftb-tool-kd .ftb-kd-ctxlist{margin:var(--ftb-space-3) 0 0;padding:0;list-style:none;
  font-size:var(--ftb-text-sm);line-height:var(--ftb-lh-snug)}
.ftb-tool-kd .ftb-kd-ctxlist li{padding:var(--ftb-space-2) 0;border-bottom:1px solid var(--ftb-border);
  overflow-wrap:anywhere}
.ftb-tool-kd .ftb-kd-ctxkw{display:inline-block;margin-inline-end:var(--ftb-space-2);padding:0 var(--ftb-space-2);
  background:var(--ftb-surface-2);border-radius:var(--ftb-radius-sm);font-weight:var(--ftb-fw-semi)}
.ftb-tool-kd .ftb-kd-ctxtext{color:var(--ftb-text-muted)}
.ftb-tool-kd mark{background:var(--ftb-warning-soft);color:var(--ftb-text);font-weight:var(--ftb-fw-semi)}

.ftb-tool-kd .ftb-kd-phrasegrid{display:grid;gap:var(--ftb-space-4);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin-top:var(--ftb-space-3)}
.ftb-tool-kd .ftb-kd-note{margin:var(--ftb-space-5) 0 0;font-size:var(--ftb-text-sm);color:var(--ftb-text-muted)}

@media (max-width:479px){
  .ftb-tool-kd .ftb-tool-actions .ftb-btn{flex:1 1 auto}
}
