/* Transport feedback stays on the artwork; input targets stay on the controls. */
#jamApp .jam-loop-segments{position:absolute;bottom:4px;left:12px;width:96px;max-width:calc(100% - 24px);height:2px;display:flex;gap:2px;z-index:4;pointer-events:none}
#jamApp .jam-loop-segments i{flex:1;min-width:0;background:#ffffff1c;border-radius:1px}
#jamApp .jam-loop-segments i.past{background:#ffffff3b}
#jamApp .jam-loop-segments i.current{background:var(--field-color,#b1c3ca);box-shadow:0 0 5px var(--field-color,#b1c3ca)}
#jamApp .jam-live-loop{position:absolute;left:12px;right:12px;bottom:24px;height:4px;display:flex;gap:3px;z-index:4;pointer-events:none}
#jamApp .jam-live-loop i{flex:1;min-width:0;border-radius:2px;background:#ffffff0c;box-shadow:none}
#jamApp .jam-live-loop i:nth-child(4n){margin-right:3px}
#jamApp .jam-live-loop i.recorded{background:var(--field-color,#b1c3ca);opacity:.6}
#jamApp .jam-live-loop i.pending{background:#ff5967;opacity:1;box-shadow:0 0 6px #ff59675c}
#jamApp .jam-live-loop i.current{outline:1px solid #ffffffa6;outline-offset:1px}
#jamApp .jam-beat-hit-label{position:absolute;left:12px;bottom:34px;z-index:6;font:9px/1 ui-monospace,monospace;color:var(--field-color,#d6d0ba);letter-spacing:.04em;pointer-events:none}
#jamApp .jam-beat-hit-label[hidden]{display:none}
#jamApp .jam-beat-impact{position:absolute;width:24px;aspect-ratio:1;border:1px solid var(--field-color,#d6d0ba);border-radius:50%;z-index:3;pointer-events:none;animation:jam-beat-impact .75s cubic-bezier(.13,.7,.2,1) forwards;box-shadow:0 0 18px var(--field-color,#d6d0ba)}
@keyframes jam-beat-impact{from{transform:translate(-50%,-50%) scale(.4);opacity:.85}to{transform:translate(-50%,-50%) scale(9);opacity:0}}
#jamApp .jam-play-keyboard[data-layout=stacked]{overflow-x:hidden;min-height:246px}
#jamApp .jam-play-keyboard[data-layout=stacked] .jam-key-track{width:100%!important}
#jamApp .jam-play-keyboard[data-layout=stacked] .jam-key-row{min-height:110px}
#jamApp .jam-midi-input{min-height:36px;white-space:nowrap;font-size:9px}
@media(prefers-reduced-motion:reduce){#jamApp .jam-beat-impact{animation-duration:.15s}#jamApp .jam-loop-segments i.current{box-shadow:none}}
