- Remove prop drilling, components get notes from NoteService context
- NoteCard gets note by ID from service, uses {#key} for Markdown reactivity
- NotesGrid handles filtering internally via service methods
- NoteEditor gets service from context instead of prop
- Add PageState type for shallow routing selectedNoteId
- Add +layout.server.ts to pass user data to client
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Prevent visual glitch where habit cells would shrink and borders would
morph during NumberFlow animations when interacting via keyboard (shift
key). Added focus-visible:outline-none to suppress global outline style
that was causing layout shifts in Chrome's rendering engine.