.keyboard-threshold{display:flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:12px;font-weight:500}.keyboard-threshold input{width:64px;padding:5px 7px;border:1px solid var(--border-strong);border-radius:7px;background:var(--panel);color:var(--ink)}.keyboard-capture{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:150px;padding:24px;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--panel);text-align:center;outline:none}.keyboard-capture:focus,.keyboard-capture.is-running{border-color:var(--ink);box-shadow:0 0 0 4px var(--accent-soft)}.keyboard-capture strong{font-size:15px}.keyboard-capture>span{font-size:12.5px;color:var(--ink-muted);max-width:600px}.keyboard-held{margin-top:8px;padding:6px 11px;border-radius:var(--radius-pill);background:var(--accent-soft);font:600 12px var(--mono);min-height:16px}.keyboard-map-wrap{overflow:hidden}.keyboard-map{display:flex;flex-direction:column;gap:5px;min-width:760px}.keyboard-row{display:flex;gap:5px}.keyboard-key{flex:1;min-width:42px;padding:9px 4px;border:1px solid var(--border-strong);border-bottom-width:3px;border-radius:7px;background:var(--panel-raised);font:600 10.5px var(--mono);text-align:center;transition:transform .08s,background .08s}.keyboard-key.is-held{transform:translateY(2px);border-bottom-width:1px;background:var(--ink);color:var(--bg)}.keyboard-key.is-flagged{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-ink)}.keyboard-map-wrap{overflow-x:auto}.keyboard-legend{display:flex;gap:16px;margin-top:12px;color:var(--ink-muted);font-size:11.5px}.keyboard-legend span{display:flex;align-items:center;gap:6px}.keyboard-legend i{width:10px;height:10px;border-radius:3px}.held-dot{background:var(--ink)}.flagged-dot{background:var(--amber)}.keyboard-result-callout{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;border-radius:var(--radius-sm);font-size:12.5px}.keyboard-result-callout[data-status=clean]{background:var(--green-soft);color:var(--green)}.keyboard-result-callout[data-status=warning]{background:var(--amber-soft);color:var(--amber-ink)}.keyboard-result-callout svg{flex:none;margin-top:1px}.data-table td small{display:block;color:var(--ink-faint);font:10px var(--mono);margin-top:2px}@media(max-width:700px){.keyboard-threshold{width:100%;margin-top:8px}.keyboard-map-wrap{margin:0 -16px;padding:0 16px 4px;scrollbar-width:thin;overscroll-behavior-inline:contain}.keyboard-map{min-width:600px}.keyboard-key{min-width:35px;padding:8px 2px;font-size:9px}.keyboard-map-wrap:after{content:"Swipe sideways to inspect the full keyboard";display:block;margin-top:9px;color:var(--ink-faint);font-size:10.5px;text-align:center}}.keyboard-tester-tool .panel-header h2{margin:0;font-size:1rem;line-height:1.5}.keyboard-tester-tool .keyboard-intro,.keyboard-tester-tool .keyboard-help{color:var(--ink-muted);font-size:.875rem;line-height:1.5;margin:0 0 16px}.keyboard-tester-tool .keyboard-help{margin:12px 0}.keyboard-tester-tool .keyboard-test-actions{margin-top:0;flex-wrap:wrap}.keyboard-tester-tool .keyboard-details>summary{padding:16px 0;cursor:pointer;font-weight:600}.keyboard-tester-tool .keyboard-settings>summary{padding:16px}.keyboard-tester-tool .keyboard-settings{overflow:visible}.keyboard-tester-tool .keyboard-threshold{flex-wrap:wrap;gap:8px;font-size:.875rem}.keyboard-tester-tool .keyboard-threshold input{min-height:40px;width:80px}.keyboard-tester-tool .keyboard-key.is-tested:not(.is-held):not(.is-flagged){background:var(--accent-soft)}.keyboard-tester-tool .keyboard-key-mark{display:block;min-height:16px;font-size:.75rem;line-height:16px}.keyboard-tester-tool .keyboard-legend{flex-wrap:wrap;font-size:.75rem}.keyboard-tester-tool .keyboard-capture:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.keyboard-tester-tool .keyboard-held{overflow-wrap:anywhere;max-width:100%}.keyboard-tester-tool .table-scroll{overflow-x:auto}.keyboard-tester-tool .data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.keyboard-tester-tool .data-table th,.keyboard-tester-tool .data-table td{padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}.keyboard-tester-tool .data-table th{color:var(--ink-muted);font-size:.75rem;font-weight:600}.keyboard-tester-tool .data-table td small{display:block;color:var(--ink-muted);font:.75rem var(--mono);margin-top:4px}@media(prefers-reduced-motion:reduce){.keyboard-tester-tool .keyboard-key{transition:none}}
