/* 触摸指示圈叠加层，配合 touch-fx.js。按键本身不再做按下/长按填充动画，统一由指示圈表达。 */
#touchFxLayer { position: fixed; inset: 0; pointer-events: none; z-index: 2147483000; overflow: hidden; }
#touchFxLayer .touch-fx { position: absolute; left: 0; top: 0; will-change: transform, opacity; }

.key:active, .key.key-active, .key.key-hold-ready, .key.key-long-press {
  background-color: var(--input-bg);
  background-image: none;
  box-shadow: none;
  transform: none;
  animation: none;
}
body.left-hand-mode #custom-keyboard .key:active,
body.left-hand-mode #custom-keyboard .key.key-active { transform: scaleX(-1); }

.touch-fx-setting { border-top: 1px solid rgba(128,128,128,0.25); padding-top: 10px; }
.touch-fx-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
#settingsContent .touch-fx-reset { width: auto;  background: none; border: none; color: var(--primary); font: inherit; font-size: 0.85em; cursor: pointer; padding: 2px 0; }
.touch-fx-body { display: flex; align-items: center; gap: 10px; }
.touch-fx-preview { flex: 0 0 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--input-bg); overflow: hidden; }
.touch-fx-preview svg { flex: none; }
.touch-fx-controls { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.touch-fx-row { display: flex !important; align-items: center; gap: 6px; margin: 0 !important; }
.touch-fx-row > span:first-child { flex: 0 0 auto; font-size: 0.9em; }
.touch-fx-swatches { flex: 1; min-width: 0; display: flex; gap: 4px; flex-wrap: wrap; }
#settingsContent .touch-fx-swatch { flex: 0 0 20px; min-width: 0; max-width: 20px; margin: 0;  width: 20px; height: 20px; border-radius: 50%; border: 2px solid transparent; padding: 0; cursor: pointer; box-shadow: 0 0 0 1px rgba(128,128,128,0.5); }
#settingsContent .touch-fx-swatch.selected { border-color: var(--card-bg); box-shadow: 0 0 0 2px var(--primary); }
#settingsContent .touch-fx-color { flex: 0 0 24px; min-width: 0; width: 24px; height: 22px; padding: 0; border: none; background: none; cursor: pointer; }
.touch-fx-size { flex: 1; min-width: 0; }
.touch-fx-size-value { flex: 0 0 38px; text-align: right; font-size: 0.85em; opacity: 0.8; }
