.kt-area { border-radius: var(--r-lg); padding: 12px; background: var(--glass-soft); border: 2px solid var(--line); overflow-x: auto; outline: none; cursor: pointer; }
.kt-area.kt-active { border-color: var(--accent); box-shadow: var(--ring); }
.kt-board { display: grid; grid-template-columns: repeat(92, minmax(0, 1fr)); grid-template-rows: 38px repeat(5, 46px); row-gap: 5px; min-width: 760px; user-select: none; }
.kt-compact .kt-board { grid-template-columns: repeat(60, minmax(0, 1fr)); min-width: 540px; }
.kt-compact .kt-n, .kt-compact .kt-p { display: none; }
.kt-key { margin: 0 2px; border-radius: 8px; background: var(--glass-strong); border: 1px solid var(--line-strong); box-shadow: inset 0 -3px 0 rgba(17, 26, 46, 0.08); display: grid; place-content: center; text-align: center; line-height: 1.05; font-size: 0.8rem; font-weight: 700; color: var(--ink-2); transition: transform 0.05s; overflow: hidden; }
.kt-key small { font-size: 0.68rem; color: var(--muted); font-weight: 600; }
.kt-key.kt-wide { font-size: 0.72rem; }
.kt-key.tested { background: var(--ok-soft); border-color: var(--ok); color: var(--ok); }
.kt-key.tested small { color: var(--ok); }
.kt-key.down { background: var(--accent); border-color: var(--accent); color: #fff; transform: translateY(1px); box-shadow: none; }
.kt-key.down small { color: rgba(255, 255, 255, 0.85); }
#kt-history { display: flex; flex-wrap: wrap; gap: 6px; min-height: 26px; }
.kt-details .stat-value { font-size: 1.15rem; font-family: var(--mono); overflow-wrap: anywhere; }
#kt-capture { margin: 0; }
