New to Mangle and PCQ

HI All

I have a MikroTik RB750r2, with all the 6.38.1 packages installed, between our fibre incoming point and our network.
I’m not much of a scripting person until I understand how things fit together, so I’m using WinBox 3.10 for now.
I’m struggling to understand some of the principals and processes in Mangle and how to apply a PCQ tree.

Mangle
I’ll start here.
I have a separate DHCP and almost all my devices have reserved addresses in specific subnets within the larger subnet. In the Mikrotik, I have created Address Lists matching these subnets.
In Mangle, I have added a few rules so far, in order they are:

chain: prerouting
src address list: learner_lab100
conn state: new
action: mark connection
new mark: learner_lab100
passthrough: yes

chain: prerouting
dst address list: learner_lab100
conn state: new
action: mark connection
new mark: learner_lab100
passthrough: yes

chain: forward
conn mark: learner_lab100
src address list: learner_lab100
action: mark packet
new mark: learner_lab100_u
passthrough: no

chain: forward
conn mark: learner_lab100
dst address list: learner_lab100
action: mark packet
new mark: learner_lab100_d
passthrough: no

The reason I moved the packet marks to forward is because in the prerouting chain, it doesn’t seem to want to mark connections or packets with the dst address list specified. The count remains 0.

If I repeat this process for each of the subnets I have… Then all the relevant marks should be applied correctly, right?

PCQ
Under queue types, there is a “pcq-upload-default” and “pcq-download-default” each with Rate = 0bits/s, Limit = 50 KiB and Total Limit = 2000KiB
I’m struggling to understand these three limits. How are these different from the values specified when you create a queue under simple or tree tabs?

How do I specify, for a particular subnet, a “minimum” limit of 3mb/s but if there is available bandwidth, allow up to 12mb/s.
So if there is noone else in the network, a single device in the subnet will get 12mb/s.
If there are 2 people on the network, one in the subnet and one outside the subnet. One outside is demanding, then someone in the subnet would be getting 8 or 9.
If there are 2 people in the subnet, with equal demands, each gets 6.
If there are 10 people in the network, 2 in subnet, others not. Subnet gets limited to 3mb/s and it is split between the two at 1.5mb/s each.

I have done quite a bit of reading and assume it has something to do with the “limit at”, “max limit”, “queue rate”, “queue limit” and “queue max limit” but I can’t seem to figure it all out…
Once I have figured that all out, then I’m sure I’ll be able to create a tree for the overarching categories.
So all learner devices across the network would have a total of 30mb/s to play with but each individual lab only has a max of 12mb/s for example.