/* Moves panel (moves_controls.js): a quiet grouped list in the setup column. */
.moves-panel{border-radius:var(--radius-group);background:var(--fill);padding:12px 14px 6px;display:flex;flex-direction:column;gap:8px}
.moves-heading{display:flex;align-items:baseline;justify-content:space-between}
.moves-panel h3{font-size:15px;font-weight:650}
.moves-count{font-size:12px;font-weight:600;color:var(--label-3);font-variant-numeric:tabular-nums}
.moves-status{display:flex;align-items:center;gap:8px;min-height:28px;font-size:13px;font-weight:600;color:var(--label-2)}
.moves-dot{width:8px;height:8px;border-radius:50%;background:var(--label-4);flex:none}
.moves-status[data-tone=recording]{color:var(--red)}.moves-status[data-tone=recording] .moves-dot{background:var(--red-fill);animation:moves-pulse 1.2s ease-in-out infinite}
.moves-status[data-tone=playing]{color:var(--accent-text)}.moves-status[data-tone=playing] .moves-dot{background:var(--accent)}
.moves-status[data-tone=ok]{color:var(--green)}.moves-status[data-tone=ok] .moves-dot{background:var(--green-fill)}
.moves-status[data-tone=warn],.moves-status[data-tone=error]{color:var(--orange)}.moves-status[data-tone=warn] .moves-dot,.moves-status[data-tone=error] .moves-dot{background:#f59e0b}
.moves-status #moves-status-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes moves-pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.moves-status[data-tone=recording] .moves-dot{animation:none}}
.moves-hint{font-size:12px;color:var(--label-3);line-height:1.5;padding-bottom:6px}
.moves-list{list-style:none;margin:0 -14px;padding:0}
.moves-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 14px;min-height:44px}
.moves-row+.moves-row:before{content:'';position:absolute;top:0;left:14px;right:0;height:1px;background:var(--separator)}
.moves-row[data-playing=true] .moves-name{color:var(--accent-text)}
.moves-name{font-size:13px;font-weight:600;color:var(--label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.moves-meta{font-size:12px;color:var(--label-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.moves-actions{display:flex;gap:4px}
.moves-button{height:28px;padding:0 10px;border:0;border-radius:8px;background:none;font-size:12px;font-weight:600;color:var(--label-2);white-space:nowrap}
.moves-button:hover:not(:disabled){background:var(--hover);color:var(--label)}
.moves-button:disabled{color:var(--label-4)}
.moves-button:focus-visible,.moves-rename input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.moves-primary{background:var(--accent-wash);color:var(--accent-text)}
.moves-primary:hover:not(:disabled){background:#dcebfc;color:var(--accent-text)}
.moves-primary:disabled{background:none}
.moves-stop.moves-primary{background:var(--red-wash);color:var(--red)}
.moves-stop.moves-primary:hover:not(:disabled){background:#ffe3e3;color:var(--red)}
.moves-status .moves-stop{margin-left:auto;background:var(--red-wash);color:var(--red)}
.moves-danger.is-confirming{background:var(--red-fill);color:#fff}
.moves-danger.is-confirming:hover:not(:disabled){background:var(--red);color:#fff}
.moves-rename{grid-column:1/-1;display:flex;align-items:center;gap:8px}
.moves-rename input{flex:1;min-width:0;height:30px;padding:0 10px;border:1px solid var(--separator);border-radius:8px;background:var(--surface);font:inherit;font-size:13px;color:var(--label)}
.moves-error{flex-basis:100%;font-size:12px;color:var(--red)}
.moves-error:empty{display:none}
.moves-rename{flex-wrap:wrap}
@media (max-width:560px){.moves-row{grid-template-columns:minmax(0,1fr) auto}.moves-actions{grid-column:1/-1;justify-content:flex-end}}
