---
description: UI and design system rules for QBook
globs: components/**/*,app/**/*.tsx
alwaysApply: false
---

# UI Rules
- One filled primary CTA per view. Secondary = outline/ghost.
- Use `.qbook-type-*` tokens from globals.css — do not create ad-hoc sizes.
- Light and dark mode must both look good. Test both.
- Warm-neutral canvas, clear blue primary. No purple-indigo.
- No frosted mega-card nesting. Hierarchy via space, type, and one accent.
- Geist UI for body text, Quicksand for wordmark only.
