/* Keyboard Tester — tool-specific styles */
.kb-statusrow { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.kb-last { font-weight: 700; font-size: 1rem; color: var(--accent-2); font-variant-numeric: tabular-nums; }
.kb-count { color: var(--muted-2); font-size: .9rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.np-spacer { flex: 1; }

.kb-board { display: flex; flex-direction: column; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.kb-row { display: flex; gap: 6px; justify-content: flex-start; }
.kb-key { flex: 0 0 auto; min-width: 42px; height: 46px; padding: 0 8px; border-radius: 8px;
  background: var(--bg-soft); border: 1px solid var(--line); color: var(--muted);
  display: flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 600;
  font-family: inherit; user-select: none; -webkit-user-select: none; transition: transform .05s, background .08s,
  border-color .08s, color .08s; white-space: nowrap; }
.kb-key.w-15 { min-width: 64px; } .kb-key.w-175 { min-width: 76px; } .kb-key.w-2 { min-width: 92px; }
.kb-key.w-225 { min-width: 104px; } .kb-key.w-275 { min-width: 124px; }
.kb-key.w-6 { flex: 1 1 280px; min-width: 200px; }
.kb-key.done { color: var(--accent-2); border-color: rgba(92,214,192,.4); background: rgba(92,214,192,.08); }
.kb-key.down { background: var(--accent); color: #0b0e1c; border-color: var(--accent); transform: translateY(2px) scale(.97);
  box-shadow: 0 0 16px -2px rgba(108,139,255,.7); }

.kb-legend { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 18px;
  color: var(--muted); font-size: .85rem; font-weight: 600; }
.kb-chip { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: -2px; margin-right: 6px; }
.kb-chip-down { background: var(--accent); }
.kb-chip-done { background: rgba(92,214,192,.3); border: 1px solid rgba(92,214,192,.5); }
.kb-hint { color: var(--muted-2); font-weight: 500; }

@media (max-width: 720px) {
  .kb-key { min-width: 34px; height: 40px; font-size: .72rem; padding: 0 5px; }
  .kb-key.w-6 { min-width: 130px; }
}
