Persyk UI
The session window is Persyk’s visual reference: quiet, content-first, and native to macOS. New interfaces should share that design language, not copy its floating-window layout or translucency indiscriminately.
Principles
- Content first. Let the user’s words dominate. Keep status, metadata, and secondary actions quieter; avoid unnecessary cards and decorative chrome.
- Clear hierarchy. Distinguish active content from completed content through emphasis. Use consistent alignment, breathing room, and subtle separators rather than heavy borders.
- Meaningful color. Keep surfaces neutral. Use stronger color to communicate activity, role, or risk—not as decoration—and pair state colors with labels or shapes.
- Calm updates. Keep frequently changing labels and numbers from shifting their neighbors. Motion should explain activity or a state change, never compete with the content.
- Accessible by default. Preserve keyboard access and visible focus, readable light and dark appearances, and alternatives for reduced motion, reduced transparency, and increased contrast. Keep pending and failed actions understandable.
- Adapt to the task. A floating overlay can be translucent; a reading or settings pane can be more opaque. Consistency comes from shared styling and hierarchy, not identical layouts.
Use the shared implementation
foundations.cssowns the shared typography, semantic palettes, spacing, rounding, motion, and surface treatments. The root layout loads it for all windows. Use its CSS variables andpersyk-surfacewhere appropriate; keep purpose-specific layout in the view.Button.svelteprovides standard, quiet, destructive, and primary actions with native button attributes andonclick. UseiconOnlywith an accessible name for icon actions.pendingdisables activation and exposes busy state; the caller supplies meaningful content such as “Saving…”.TranscriptSegments.svelteprovides the existing transcript hierarchy, timestamps, and contextual actions.
Keep concrete styling values in code rather than duplicating them here. Reuse these foundations before adding a parallel style or abstraction. For context-specific adaptations, see the session route and session panel.