fix: search input focus not working when modal opens (#463)

The search modal was using `visibility: hidden` to hide the backdrop,
which prevented the input from receiving focus. This caused:
- No text cursor on desktop when pressing Cmd+K
- No keyboard popup on mobile when tapping search icon

Changed to use only `opacity: 0` (already present) for hiding.
Elements with `opacity: 0` remain focusable, allowing the synchronous
focus() call in search.open() to work correctly - critical for mobile
keyboards which only open when focus is in the same call stack as the
user gesture.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>

authored by zzstoatzz.io Claude and committed by GitHub e80a7bee b7346b62

Changed files
+2 -4
frontend
src
lib
components
+2 -4
frontend/src/lib/components/SearchModal.svelte
··· 260 260 align-items: flex-start; 261 261 justify-content: center; 262 262 padding-top: 15vh; 263 - /* hidden by default */ 263 + /* hidden by default - use opacity only (not visibility) so input remains focusable for mobile keyboard */ 264 264 opacity: 0; 265 - visibility: hidden; 266 265 pointer-events: none; 267 - transition: opacity 0.15s, visibility 0.15s; 266 + transition: opacity 0.15s; 268 267 } 269 268 270 269 .search-backdrop.open { 271 270 opacity: 1; 272 - visibility: visible; 273 271 pointer-events: auto; 274 272 } 275 273