.matrix-scope,
.matrix-wrapper{
  --cell-size:60px;
}

.dim-inputs{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
  flex-wrap:wrap;
}

.dim-inputs label{
  font-weight:600;
  display:flex;
  align-items:center;
  gap:8px;
}

.dim-inputs input{
  width:70px;
  padding:6px 8px;
  font-size:1rem;
  text-align:center;
  border-radius:8px;
}

.dim-inputs button{
  padding:6px 10px;
  font-size:.9rem;
  cursor:pointer;
  border-radius:8px;
}

.matrices-area{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-bottom:18px;
  padding:0 8px;
  overflow-x:auto;
}

.matrix-block{
  text-align:center;
}

.matrix-title{
  margin-bottom:10px;
  font-weight:700;
}

.operator{
  font-size:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
}

.matrix-wrapper{
  display:inline-block;
  position:relative;
  padding:8px 10px;
  vertical-align:middle;
}

.matrix-table{
  border-collapse:separate;
  border-spacing:1px;
}

.matrix-cell{
  width:var(--cell-size);
  height:var(--cell-size);
  border:1px solid #999;
  box-sizing:border-box;
  padding:0;
}

.cell-input{
  width:100%;
  height:100%;
  border:none;
  padding:0;
  margin:0;
  text-align:center;
  font-size:15px;
  background:transparent;
  outline:none;
  box-sizing:border-box;
}

.cell-text{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-size:15px;
  white-space:nowrap;
}

.matrix-wrapper::before,
.matrix-wrapper::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:4px;
  border-top:2px solid #333;
  border-bottom:2px solid #333;
}

.matrix-wrapper::before{
  left:0;
  border-left:2px solid #333;
  border-radius:4px 0 0 4px;
}

.matrix-wrapper::after{
  right:0;
  border-right:2px solid #333;
  border-radius:0 4px 4px 0;
}

.matrix-wrapper.expr-mode .matrix-cell{
  width:max-content;
  min-width:var(--cell-size);
  padding:0 6px;
}

.matrix-wrapper.expr-mode .cell-text{
  font-size:12px;
}

.step-answer{
  overflow-x:auto;
}

.solve-button:hover{
  background-color:#2980b9;
}