Nº 129 of 520
Mobile run detail
A phone detail for one run: back control, status badge, five facts, and a full-width confirm button above the home indicator.
Preview
Use it
Free to use · credit appreciated1 Once, in your project
npx skills add SusanAcharya/Design-Lounge 2 Then ask
Using the Design Lounge skill, build "Mobile run detail" (piece mobile-run-detail) in my stack. Match its brief; restyle it onto my product's theme.
No skill? Paste the brief instead. It carries the numbers, tokens and behaviour.
<!-- Design Lounge Nº 129 · "Mobile run detail" · www.designlounge.live -->
# Mobile run detail
> **Build brief for a coding agent.** Rebuild this piece in the reader's stack. If they haven't said which stack, ask once, then default to semantic HTML + CSS + a little vanilla JS. Match the numbers below; don't "improve" them. When a kit is locked, map colours onto the kit tokens. Keep the back control, the fact list, and the bottom button.
## What it is
The detail a driver opens from a list, on a phone. The Lounge draws the device chrome, so this screen pads 54px at the top and does not draw a clock. Back reads "Runs" in the primary colour. The title is Bay 14. A warning badge says Waiting on driver. Five facts sit in a white rounded card: weight, driver, slot, gate, reference. A fixed bar at the bottom holds one full-width Confirm load button, with 28px padding under it for the home indicator. Confirming disables the button, sets its label to Confirmed, and turns the badge green. There is no tab bar on this screen. Back is the way out.
## Reference behaviour
1. Initial badge is Waiting on driver, fill `#f8efd8`, ink `#8a5a10`.
2. Confirm load fills the bar button, height 44, radius 10.
3. Tap confirm: label Confirmed, button disabled, badge text Confirmed, badge fill `#e7f2ec`, ink `#1f4d3a`.
4. Back is a button. In the demo it does not navigate. It is 44px tall so the hit target is real.
5. Fact values are mono. Labels are the text face in `--ink-2`.
6. Do not draw a status bar, a notch, or a tab bar.
7. Focus ring 2px `--focus`, offset 2px.
## Structure
```
390 × 844
padding-top 54
back 44
h1
badge
card of 5 pairs
fixed bar height 84, padding 12 20 28
```
- Facts are a `dl` of pairs. Each pair is a row with the label and the value.
- The bar is `position: fixed` at the bottom.
- Body padding-bottom 96 so the card is not hidden behind the bar.
## Tokens
```css
:root {
… 115 more lines. Copy or download for the full brief. Loading the source…Brief
155 linesBuild brief for a coding agent. Rebuild this piece in the reader’s stack. If they haven’t said which stack, ask once, then default to semantic HTML + CSS + a little vanilla JS. Match the numbers below; don’t “improve” them. When a kit is locked, map colours onto the kit tokens. Keep the back control, the fact list, and the bottom button.
What it is
The detail a driver opens from a list, on a phone. The Lounge draws the device chrome, so this screen pads 54px at the top and does not draw a clock. Back reads “Runs” in the primary colour. The title is Bay 14. A warning badge says Waiting on driver. Five facts sit in a white rounded card: weight, driver, slot, gate, reference. A fixed bar at the bottom holds one full-width Confirm load button, with 28px padding under it for the home indicator. Confirming disables the button, sets its label to Confirmed, and turns the badge green. There is no tab bar on this screen. Back is the way out.
Reference behaviour
- Initial badge is Waiting on driver, fill
#f8efd8, ink#8a5a10. - Confirm load fills the bar button, height 44, radius 10.
- Tap confirm: label Confirmed, button disabled, badge text Confirmed, badge fill
#e7f2ec, ink#1f4d3a. - Back is a button. In the demo it does not navigate. It is 44px tall so the hit target is real.
- Fact values are mono. Labels are the text face in
--ink-2. - Do not draw a status bar, a notch, or a tab bar.
- Focus ring 2px
--focus, offset 2px.
Structure
390 × 844
padding-top 54
back 44
h1
badge
card of 5 pairs
fixed bar height 84, padding 12 20 28
- Facts are a
dlof pairs. Each pair is a row with the label and the value. - The bar is
position: fixedat the bottom. - Body padding-bottom 96 so the card is not hidden behind the bar.
Tokens
:root {
--bg: #f4f1ea;
--surface: #fffdf8;
--ink: #1b1814;
--ink-2: #5e574e;
--ink-3: #8d857a;
--line: #e3dbcf;
--primary: #8a4b12;
--primary-ink: #fffdf8;
--warning: #8a5a10;
--warning-soft: #f8efd8;
--focus: #8a4b12;
--font-text: "IBM Plex Sans", system-ui, sans-serif;
--font-mono: "IBM Plex Mono", ui-monospace, monospace;
--safe-top: 54px;
}
Typography
- Back: IBM Plex Sans 600, 15px, colour
#8a4b12. - Title: 32px, weight 600, tracking -0.03em.
- Badge: 11px, weight 600, height 22.
- Labels: 14px
--ink-2. Values: IBM Plex Mono 13px. - Button: 15px, weight 600, white-warm
#fffdf8on#8a4b12.
Motion
None. The badge and label change in place. Reduced motion changes nothing.
States
- Badge waiting and confirmed.
- Button enabled and disabled. Disabled opacity 0.55.
- No loading spinner.
Accessibility
- Back and Confirm are buttons with visible names.
- Status is a word, not only a colour.
- Button height 44px. Back height 44px.
- The fixed bar’s 28px bottom padding keeps the button above the home indicator.
#fffdf8on#8a4b12is the button pair. If a kit primary fails contrast, use that kit’sprimaryInk.
Responsive rules
- Designed at 390 wide. At 360, horizontal padding stays 20px and the button stays full width.
- At tablet width, cap the card at 480px and center it. Do not stretch the facts across 1180px.
- The 54px top pad stays.
Acceptance checklist
- Top padding is 54px. No fake status bar.
- Back reads Runs and is 44px tall.
- Title is Bay 14 at 32px.
- Five facts: 2,400 kg, Mira Lama, 06:40, North 2, RUN-1844.
- Values are mono.
- One bottom button, 44px, full width.
- Confirm changes the badge and disables the button.
- No tab bar on this screen.
- Card radius is 10px. Button radius is 10px.
Implementation notes
The bar is fixed. Body padding-bottom must clear it. 96px is enough for an 84px bar.
Rebuild order:
- Background
#f4f1ea. Text#1b1814. - Back padding 0 20px, no border, no fill.
- Title margin 4px 20px 8px.
- Badge margin-left 20px.
- Card margin 20px, fill
#fffdf8, border#e3dbcf, radius 10. - Pair padding 12px 14px, top rule except the first.
- Bar height 84, fill
#fffdf8, top rule, padding 12px 20px 28px. - Button width 100%, height 44, radius 10, fill
#8a4b12, text#fffdf8. - Confirmed badge fill
#e7f2ec, ink#1f4d3a. - Do not add a map.
Common mistakes:
- A tab bar plus a back button. This screen has back only.
- Drawing the time in the status area.
- Two buttons in the bar, Hold and Confirm. Hold lives on the desktop record, not here.
- A serif title.
- Photos of the bay.
- Letting the card scroll under the button with no padding.
- A 56px button. It is 44.
- Replacing the badge with a banner.
- A share icon in the top right.
- Pull-to-refresh. There is nothing to refresh.
- A second card for notes. Notes live on the desktop record.
Copy you keep, in this order:
- Back label is “Runs”.
- Title is “Bay 14”.
- Waiting badge reads “Waiting on driver”.
- Weight is “2,400 kg”.
- Driver is “Mira Lama”.
- Slot is “06:40”.
- Gate is “North 2”.
- Reference is “RUN-1844”.
- Button starts as “Confirm load” and becomes “Confirmed”.
- Confirmed badge fill is
#e7f2ecand ink is#1f4d3a. - Horizontal padding on the title and card is 20px.
- Top pad is 54px. Bottom body pad is 96px.
- Bar height is 84px. Button height is 44px.
- Disabled button opacity is 0.55.
- Card and button radius are both 10px.
- There is no map, no photo, and no second button.
Details
- Palette
- Type
- IBM Plex Sans · IBM Plex Mono
- Motion
- Static
- Build
- Quick build
- Tags
Studied
Tailwind CSS docsPut each instruction next to its code. Draw the grid with thin lines and let the empty sides carry a faint hatch.
All sourcesOn the shelves