Refactor the `TermsSheet` component to achieve better parity with Flutter's
`DraggableScrollableSheet`. This includes implementing a snapping mechanism
between two resting states (0.75 and 1.0) and updating the CSS to handle
safe area insets and dynamic height calculations.
- Add `.flutter-draggable-sheet` class to `globals.css` for height scaling
against available screen space below the status bar.
- Implement `snapTo` logic in `TermsSheet` to handle transitions between
initial and expanded states.
- Add `restingStateRef` to track the current snapped position.
- Update `TermsSheet` touch event handlers to support snapping based on
drag distance and current size.
- Add unit tests to verify snapping behavior for pulling up, pulling down,
and reaching the minimum size threshold.