# Haze

A luminous split view: the compact account collection remains beside the selected subscription on a phone. Selection updates one continuous glass inspector; the actual remaining fraction fills a narrow graduated vessel. No decorative history, network topology or connection status is invented.

Ice, steel and lilac create depth through CSS aurora, soft reflected borders and translucent surfaces. The shared local Vazirmatn font supports Persian and English. Status colors and opaque fallback surfaces maintain readable content in both themes.

Dialogs become a separate translucent scene occupying the viewport. A floating heading capsule, staggered glass content panes and an independent floating action capsule replace the usual sheet. Details separate access controls from collapsible plan facts; QR is a central glass slide; plan selection uses inset panes. Every source field, notice, action, validation error and financial confirmation remains inside the shared runtime hooks.

The only local state is selected account, collection scroll, search disclosure and completed motion keys. All twenty concepts use the same API, persisted world and financial logic. The primary page remains subscriptions. Selection and fills animate for 350–800 ms, dialog panes appear in 430 ms; reduced motion bypasses CSS and Web Animations.

QA: browser-reviewed at 360×800 Persian and 390×844 English in light and dark themes. Captured settled detail, QR, renewal plans, renewal confirmation, purchase confirmation, preferences and validation scenes; no horizontal overflow. Account selection covers active, expired and missing states. Partner search locates `salman_h_p_1099` among 140 subscriptions; empty search remains recoverable, pagination adds ten, and later selection fetches usage. Newcomer has the purchase route. Reduced-motion selection and dialog opening produce zero running animations. Close, Back and Escape work. Screenshots and QA drivers live in `output/playwright/haze-*`.
