# Last active colour rules
Approved 13 November 2026 · Edition 1.2

## Fixed foundation

| Token | Hex | Use |
|---|---|---|
| Paper | #FCFCFA | Main canvas |
| Ink | #191919 | Type, icons and standard actions |
| Muted | #61615C | Secondary copy |
| Line | #D7D7D2 | Decorative rules |
| Wash | #EEEEE8 | Quiet secondary surfaces |
| Field border | #A7A79F | Existing input border; strengthen when needed for identification |
| Timer black | #000000 | Beauty Timer blob and timer controls |

The timer uses true black. Keep it distinct from brand Ink.

## One dominant family, one distinct support, one small accent

The dominant family supplies the main character and largest share of colour. The supporting family must be recognisably different while belonging to the same composition. Tiffany green with blue support is the approved example; another near-identical green tint does not provide enough distinction. Use the accent sparingly.

Vary hue relationships, lightness, saturation and proportions between palettes. Keep each composition cohesive. Avoid full-spectrum rainbow sequences, near-identical rerolls and smoothly ordered gradients. There is no permanent hero hue or fixed product/ingredient colour assignment. The guide's Tiffany/blue/warm-peach example is a reproducible example, not a universal fixed palette.

Keep most surfaces Paper. Use flat connected colour bands, crisp boundaries and Ink lettering. Colour organises content; words and icons carry meaning. Do not use palette colour as a claim about safety, efficacy, compatibility or skin type.

## Freshness and continuity

A fresh app process chooses a new composition, checked against the previous eight palettes to reduce similar repeats. Navigation and ordinary background/foreground returns keep the current palette. This is not a promise of an endlessly nonrepeating sequence.

All app surfaces share the session scheme. Each started timer saves its own palette: hiding, pausing and relaunching preserve it even if the surrounding app has a new scheme.

## Beauty Timer

Support 1–120 minutes. Generate exactly one unique RGB colour per minute: 30 minutes means 30 different minute colours. Make neighbouring blocks visibly distinct within the chosen families; do not cycle a fixed ten-colour list.

Seconds use six flat blocks, each representing 10 seconds. Order their parent-colour shades from lightest at the top to darkest at the bottom. The active bottom block gradually shrinks while the remaining blocks expand, retaining their own shades. During the final 10 seconds the minute column itself contracts and the other minute columns expand; the final minute contracts over Paper. Keep crisp shared edges without outlines, shadows or dark dividers. This replaces the earlier shuffled second-tone rule; the minute palette still avoids rainbow sequences and smoothly ordered gradients.

As seconds and minutes disappear, surviving blocks expand to fill the available space without changing colour identity. At 120 narrow columns, exact colour uniqueness is required; universal visual distinction between every pair is not promised.

Completed beauty sessions use the same flat connected colour-band style as other logged items. A category-only entry such as “Mask” can be removed without affecting separately logged product uses or shelf entries.

## Readability

Generated final RGB/hex colours must achieve at least 7:1 contrast against Ink #191919. Check exported colours, not only intermediate values. Colour never replaces a text label or state indicator. Line and the existing field border are not sufficient on their own for every meaningful control boundary.

Digital RGB/hex values are authoritative. No approved Pantone or CMYK equivalents are specified. Existing historical app screenshots are reference material; their old palettes are superseded by these rules.
