# DESIGN SYSTEM — App 30 · Riverdale Residency

Black + lime residential-community app. Rebuilt from the reference screenshot `refs/r30-residency.png`. It is a 1024×768 stage showing 3 phones, and every control on it is interactive.

## 1. Foundations
- **Font:** Bricolage Grotesque (Google Fonts). Base UI text is 7.5–10px on a 288px-wide phone (≈ 2.6× on device).
- **Frame:** pw 288px · ph 622px · pr 40px · pb 0px. Ring `0 30px 60px -26px rgba(0,0,0,.4)`
- **Screen background:** `#0E0E0E` · **Page:** `#B8C2AF`

## 2. Colour tokens (sampled from the reference)
| Token | Value |
|---|---|
| `--page` | `#B8C2AF` |
| `--ink` | `#141414` |
| `--ink-2` | `#8A8A8A` |
| `--lime` | `#DDF655` |
| `--bg` | `#0E0E0E` |
| `--card` | `#1E1E1E` |
| `--frame` | `#0E0E0E` |
| `--frame-ring` | `0 30px 60px -26px rgba(0,0,0,.4)` |
| `--screen` | `#0E0E0E` |
| `--toast-bg` | `#DDF655` |
| `--toast-fg` | `#111` |

## 3. Components (CSS classes in `App 30 - Riverdale Residency.html`)
`.rb` · `.dk` · `.wt` · `.hd` · `.sr` · `.duo` · `.chips` · `.chip` · `.sh` · `.ann` · `.qa` · `.nav` · `.pt` · `.pwrap` · `.pdark` · `.tot` · `.pm` · `.cm` · `.seg` · `.vis` · `.addv` · `.empty`

Each rule is written once, in its screen's CSS block. Selected states always use the `.on` modifier.

## 4. Screens
1. **Home**: white header with dues/violations, chips, announcements pager, quick actions
2. **Payments**: fee checkboxes update the total, payment method picker, Pay
3. **Community**: visitor tabs, search, approve/pending toggle, Add Visitor

## 5. Brand slot: "Cyborg Design"
Home › residence sub-line under "Hello, Chris" (was "Riverdale Residency").
The text comes from `BRAND` in `../shared/kit.jsx`. It keeps the exact font, size, weight and colour of the text it replaced. Nothing else in the layout changes.

## 6. Motion
- Toasts drop in from the top with a spring (`.k-toast`, 450ms).
- List and grid refreshes use `kfade` (350ms), staggered 30–50ms per item.
- Active pills and nav items change colour/width over 200–300ms.
