Add a mutation that stores a user-submitted sighting. Depends on: #30 Define the GraphQL schema ## Tasks - [ ] Add the mutation to the schema (needs group agreement) - [ ] Validate input on the server: required fields, coordinate ranges, dates - [ ] Mark the row as user-submitted - [ ] Return the created sighting ## Done when Valid input is stored and invalid input returns a clear error.