A letterpressed card on ivory stock. Warm, quiet, expensive. Shipped in DrinkTix.
Paste this into the session that's building the UI. Do not retype token values from memory — link or vendor the stylesheet.
Build this UI in the Lucian Labs "House Pour" look.
Read, in order:
https://lucianlabs.ca/branding/AGENT.md (how to pick + what never to do)
https://lucianlabs.ca/branding/house-pour.md (this look)
https://lucianlabs.ca/branding/UX.md (how it must behave)
Take tokens from https://lucianlabs.ca/branding/brands.json — never
retype them. On web you may link house-pour.css directly; on any other
platform derive from the tokens and the UX contract.
Implement all seven interaction states, focus included, and use only
the five named durations. Check your output against the AGENT.md ban
list and the UX.md ship checklist before you report the work done.
An elevated brand experience. Any product where the brand itself should feel warm, quiet and expensive — where how it feels to use is part of what's on offer.
Body copy is Avenir Next at 1rem. Note the inversion from a generic site: headings are serif and large, labels are tiny letterspaced sans. A big bold sans heading is the exact look this brand exists to avoid.
code / ids · TAB-4471-K
Remaining on this tab
A view with three gold buttons has no primary action. Charcoal is the heavy secondary — it reads as weight without competing for the gold.
Tap through them. The label and the state arrive together, a confirmation returns home, and the tabs below glide between leaves.
Touch targets are 40px minimum. Inputs sit at 1rem or larger so iOS doesn't zoom on focus.
Open Tab
Charge
$42.50 remaining
No tabs open yet.
Not enough on this tab.
Get Started
Let's go!
You have $42.50 left in your account!
Nothing here yet — create your first tab!
Oops! Insufficient funds.
A look change moves the way the look you are going into moves. This is how a swap into House Pour arrives.
| kind | duration | curve |
|---|---|---|
pour | 850ms · arrive | decelerate |
House Pour pours. The new look fills up from the bottom behind a shallow travelling wave — fast at first, landing softly at the top, the way a glass fills. It takes the arrive step, because this is a thing filling to its level.
Frames: the sinusoidal front fixed straight up, 2–5% deep, swept only as far past the box as the wave is deep. Reduced motion: no sweep — the 600ms colour tween, so the choice still lands.
Spec: skin-swap.md · source of truth LL_LOOKS['house-pour'].transition in /v2/ll-brand.js.