Add real session-history navigation (Previous/Next/Shuffle), compact
side panels, and a segmented progress row to match the mockup layout.
Flashcards now opens straight into Study, with library management
moved into the Options menu ("Manage Flashcards") and Export hidden
from the UI (Import stays). Shuffle is backed by a real, due-before-new
randomized pick on the backend, not a decorative toggle.
current_study_day_start_utc() passed use_space=true to
Time.get_datetime_string_from_unix_time(), producing "2026-07-21
00:00:00Z" (space separator) instead of ISO-8601. The server's
System.Text.Json DateTime converter rejects that with a 400, which
the client surfaces as a generic "could not be loaded" error -
blocking every study session. Confirmed against the live API: the
space-separated value 400s, the corrected T-separated value returns
a card.
Import and export were stubbed with status-text placeholders; wire them
to the existing backend endpoints with a real file picker (web JS
bridge or native FileDialog) and browser/desktop download, plus an
import preview with create/update/skip/error counts before commit.
Also fix the library and study screens' theme-refresh handlers, which
were no-op stubs so cards never restyled on a theme toggle, and add
responsive layout handling for narrow viewports.
Adds a full flashcards system: FSRS-based scheduling, cloze/basic
card types, CSV import/export, media storage, and study UI, wired
into navigation and the dashboard alongside existing question flows.