/* SPDX-License-Identifier: GPL-3.0-only */
.key-expression-overlay{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.mpe-bend-trail{position:absolute;height:calc(3px + var(--pressure)*5px);background:var(--contact-color);opacity:.62;border-radius:4px;box-shadow:0 0 9px color-mix(in srgb,var(--contact-color) 35%,transparent);transition:width 35ms linear,top 35ms linear}.mpe-bend-trail:before{content:'';position:absolute;width:9px;height:9px;border:1px solid var(--contact-color);border-radius:50%;top:50%;transform:translate(-50%,-50%);background:#1118}.mpe-bend-trail[data-direction=left]:before{left:100%}.mpe-contact-tip{position:absolute;right:0;top:-16px;transform:translateX(50%);font:9px var(--mono);color:var(--contact-color);background:#000c;padding:1px 3px;white-space:nowrap;border-radius:2px}.mpe-bend-trail[data-direction=left] .mpe-contact-tip{right:auto;left:0;transform:translateX(-50%)}.mpe-contact-tip:after{content:' ›'}.mpe-bend-trail[data-direction=left] .mpe-contact-tip:after{content:' ‹'}.mpe-bend-trail[data-direction=center] .mpe-contact-tip:after{content:''}
.instrument-app #local-keys.local-mpe{grid-template-columns:136px minmax(0,1fr) 100px}.instrument-app #local-timbre-label[hidden]{display:none}.timbre-strip{--strip-color:#9d4edd}.instrument-app .keyboard-head{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:40px 40px;gap:4px;align-items:center}.instrument-app .keyboard-head>label{grid-column:1;grid-row:1;font-size:0;min-width:0}.instrument-app .keyboard-head>label select{width:100%;min-height:40px;font-size:11px;margin:0}.instrument-app #local-mpe{grid-column:2;grid-row:1;min-height:40px;padding:3px;font:10px var(--mono);border:1px solid #3e4537;border-radius:3px;color:#999}.instrument-app #local-mpe[aria-pressed=true]{border-color:#25e0c4;color:#25e0c4;background:#102721}.instrument-app #panic{grid-column:1/-1;grid-row:2;min-height:40px;padding:3px;font:9px var(--mono);border:1px solid #333}.local-mpe .key.down{box-shadow:inset 0 0 0 2px #25e0c4}
@media(prefers-reduced-motion:reduce){.mpe-bend-trail{transition:none}}
.instrument-app .performance-wheels label:has(#bend-range){display:none!important}.instrument-app .performance-wheels #local-timbre-label{display:flex}.instrument-app .performance-wheels #local-timbre-label[hidden]{display:none}

/* Independent touch targets keep the octave control out of the system keyboard. */
.instrument-app #local-keys{grid-template-columns:90px minmax(0,1fr) 124px}.instrument-app #local-keys.local-mpe{grid-template-columns:136px minmax(0,1fr) 124px}
.instrument-app .keyboard-head{grid-template-columns:44px minmax(0,1fr);grid-template-rows:40px 40px}.octave-rocker{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:2px}.instrument-app .octave-rocker button{padding:0;min-width:0;min-height:40px;font:20px var(--mono);touch-action:manipulation}.octave-rocker output{font:12px var(--mono);text-align:center;color:var(--accent)}.instrument-app #local-mpe{grid-column:1;grid-row:2}.instrument-app #panic{grid-column:2;grid-row:2}
