/* Gesture Lab — a diagnostics bench: engine state on top, thresholds below. */
.cap-gi{display:flex;flex-direction:column;gap:11px;height:100%;overflow-y:auto}
.cap-gi-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:9px;
  border-bottom:var(--rule) solid var(--hairline)}
.cap-gi-state{display:inline-flex;align-items:center;gap:6px;font-size:max(var(--touch-text-floor,0rem),.6875rem);font-weight:700;
  letter-spacing:.08em;text-transform:var(--label-case,uppercase);color:var(--ink-3)}
.cap-gi-state i{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}
.cap-gi-state b{color:var(--ink)}
.cap-gi-state.on{color:var(--gold)}
.cap-gi-state.on i{background:var(--gold);animation:gi-pulse 1.6s ease-in-out infinite}
@keyframes gi-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.cap-gi-stat{font-family:var(--mono);font-size:max(var(--touch-text-floor,0rem),.8125rem);color:var(--ink)}
.cap-gi-stat i{font-family:var(--sans);font-style:normal;font-size:max(var(--touch-text-floor,0rem),.625rem);color:var(--ink-3);margin-left:3px}
.cap-gi-standin{margin-left:auto;font-size:max(var(--touch-text-floor,0rem),.625rem);color:var(--ink-3);font-style:italic}
.cap-gi-label{font-size:max(var(--touch-text-floor,0rem),.625rem);letter-spacing:.12em;text-transform:var(--label-case,uppercase);
  color:var(--label-ink,var(--ink-2));font-weight:700}
.cap-gi-label i{font-style:normal;font-weight:400;opacity:.7;margin-left:5px}
.cap-gi-list{display:flex;flex-direction:column;gap:5px}
.cap-gi-row{display:grid;grid-template-columns:auto 1fr auto 1.2fr auto;gap:9px;align-items:center;
  padding:6px 8px;border:var(--rule) solid var(--hairline);border-radius:var(--r-sm);background:var(--card)}
.cap-gi-row .nm{font-size:max(var(--touch-text-floor,0rem),.78125rem);font-weight:600;color:var(--ink-3)}
.cap-gi-row.on .nm{color:var(--ink)}
.cap-gi-row .hits{font-family:var(--mono);font-size:max(var(--touch-text-floor,0rem),.6875rem);color:var(--ink-3)}
.cap-gi-row .pct{font-family:var(--mono);font-size:max(var(--touch-text-floor,0rem),.6875rem);color:var(--ink-2);width:34px;text-align:right}
.cap-gi-row input[type=range]{width:100%;accent-color:var(--accent)}
.cap-gi .sw{width:33px;height:18px;border-radius:100px;background:var(--hairline-2);border:none;
  position:relative;transition:background .18s;cursor:pointer;padding:0}
.cap-gi .sw::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;
  border-radius:50%;background:#fff;transition:left .18s}
.cap-gi .sw[aria-pressed="true"]{background:var(--accent)}
.cap-gi .sw[aria-pressed="true"]::after{left:17px}
.cap-gi-actions{display:flex}
.cap-gi-actions button{height:32px;padding:0 14px;border:var(--rule) solid var(--ink);
  border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-size:max(var(--touch-text-floor,0rem),.78125rem);
  font-weight:600;cursor:pointer}
