# Paper

A subscription wallet treated as a carefully typeset personal ledger: warm ivory stock, oxblood ink, fine rules, status stamps and perforated receipt edges. The account opens directly on subscriptions. The only large quantity on a current subscription is the remaining data; twenty-four solid bars make the allowance scannable without implying VPN connection state.

The compact ruled summary is functional: tap active or attention to narrow the account. Each receipt gives its exact technical name, status, remaining allowance, used/total data and time, then puts copy and QR at thumb reach. Expired receipts change emphasis to renewal; panel failures put support first. Full management remains one tap away. This hierarchy scales from three subscriptions to the shared partner account's 140.

Persian is the first composition, with English passed through the same translated rendering context. Technical strings stay LTR and can wrap fully. The palette changes to warm charcoal with pale rose ink under the shared dark theme. No imagery is necessary for this direction: the product's actual quantities and receipts provide its visual identity.

This folder intentionally uses neither Refero nor an independent mock world. It mounts the shared controller and shared API. Local JavaScript only renders presentation; the shared controller owns every read, mutation, validation, confirmation, state transition and export.

Files: `index.html`, `app.js`, `style.css`. No build step. Serve the repository and open `/05-paper/`.

## Visual and interaction QA

Reviewed the running shared application in Persian/English and light/dark themes, including wallet, shop and desktop screenshots. A final browser check at 360 × 800 refined the account summary and moved refresh beside search. The primary copy and QR actions now fit fully above the fixed navigation on the seeded active subscription (copy bottom 703px in Persian light and 700px in English dark; navigation starts at 717px). Neither view has horizontal overflow. Status labels distinguish active, expired and missing-panel subscriptions; exact usernames remain visible and internal subscription IDs stay out of display copy.

The QR button opens the shared QR sheet with the full subscription link; Escape dismisses it. Summary counts use shared `activeCount` and `attentionCount`, matching the controller's filters including imminent expiry. `node --check 05-paper/app.js` passes. Final phone captures are `output/playwright/paper-refined-fa.png` and `output/playwright/paper-refined-en-dark.png`.
