.mss-wrap{
  border:1px solid #ddd;
  border-radius:12px;
  padding:14px;
  max-width:1200px;
  margin: 12px 0;
  background: var(--mss-bg, #fff);
  color: var(--mss-fg, #111);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.mss-title{
  font-weight:700;
  font-size:18px;
  margin-bottom:8px;
}

.mss-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  margin: 8px 0;
}

.mss-row label{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:13px;
  background:#f7f7f7;
  padding:6px 10px;
  border-radius:10px;
}

.mss-row input[type="number"], .mss-row select, .mss-savebar input, .mss-savebar select{
  padding:6px 8px;
  border-radius:8px;
  border:1px solid #ccc;
  background:#fff;
}

.mss-btn{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid #ccc;
  background:#fff;
  cursor:pointer;
}

.mss-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.mss-status{
  margin-left:auto;
  font-size:13px;
  opacity:.85;
}

.mss-savebar{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed #ddd;
}

.mss-savebar-left{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.mss-savebar-right{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.mss-hint{
  font-size:12px;
  opacity:.7;
}

.mss-tracks-panel{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mss-track{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  background:#f7f7f7;
  padding:10px;
  border-radius:12px;
}

.mss-track .mss-track-title{
  font-weight:700;
  margin-right:8px;
}

.mss-track label{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:13px;
  background:#fff;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid #e2e2e2;
}

.mss-track input[type="text"]{
  width:160px;
}

.mss-grid{
  margin-top:12px;
  display:grid;
  gap:6px;
  user-select:none;
  overflow:auto;
  border:1px solid #eee;
  border-radius:12px;
  padding:10px;
}

.mss-cell{
  height:28px;
  border-radius:10px;
  border:1px solid #ccc;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  cursor:pointer;
  min-width:18px;
}

.mss-cell.on{
  background:#111;
  color:#fff;
  border-color:#111;
}

.mss-cell.playhead{
  outline:2px solid #2b7cff;
  outline-offset:1px;
}
