Fix conversation pane scrolling
Two bugs:
1. mainStyle used `flex: 1` from when `<main>` lived inside a flex
row in ProjectBody. Phase 5 wrapped main in a `<Panel>`, where
`flex: 1` no longer gives it a height — so the inner scroller
couldn't compute a positive scroll viewport and was stuck. Switch
to `height: 100%` to fill the Panel.
2. Snap-to-latest didn't always fire on conversation open because
the existing useEffect's deps (lastTurn id/length, turns.length)
don't change if you reopen the same conversation. Add a conv-id
effect that forces stick + scrolls to bottom, with a 50ms retry
to catch reflows from markdown rendering.