e9c527eeb6
A sash drag used to stop the moment its seam partner hit its min size, so a row of panes behaved like unrelated boxes: growing the Browser tile could not take space from Chat once the pane between them was at its floor. The drag now plans the whole run from the pointerdown sizes — the partner donates first, then its next visible sibling, and so on — and commits once on release (fixed zones get px overrides, the flex run gets weights). A reverse drag after a cascade stays local to the seam. Release only folds a tool zone that THIS gesture took to its floor, so an unrelated rail already resting there (a minimized Terminal) no longer cancels the Files/Chat commit. Salvaged from #103166 (Jerry Gooch), trimmed to the sash-drag change; the width/height lock feature, zone-body context menu and the restored-tool CSS floor are held as separate decisions.