On the phone, the sheet does not float in the middle of the screen — it rises from the bottom, where the thumb already lives. The drawer is Aura’s one mobile overlay: every ask, every review, every “before I do this” arrives through it.
Anatomy
- The grabber. A 36×5 rounded bar, centered, in
--ink-4. It is the drawer’s only ornament and it is not ornament: it says this surface moves, and you move it. - Three detents.
peek(title and one line — enough to decide if now is the time),half(the working height; default for asks),full(reading height; never higher than the safe area). A drawer never opens atfulluninvited. - The scrim.
--scrimover the page behind. Tapping it dismisses — dismissal is always safe, never destructive (Law vii: the page ends, and so does the ask). - The safe area. The drawer’s bottom padding includes
env(safe-area-inset-bottom), so the yes never hides behind the home indicator. - The yes, in reach. If the drawer carries an approval, the hold-to-approve control sits at the drawer’s bottom edge — inside the thumb’s easy zone, 900 deliberate milliseconds, same as everywhere.
Live
drawer · three detents · the yes in reach
Today9:41
Tap a detent, then hold the yes — 900ms, same gesture as the desk.
DETENT
Rules
- One drawer, ever. Drawers do not stack and do not nest. If a second ask arrives while one is open, it waits its turn in the queue — calm is engineered, not hoped for.
- Dismissal costs nothing. Swiping down or tapping the scrim parks the ask; it returns to the pile unharmed. Destructive outcomes are never wired to a dismissal gesture.
- The drawer inherits the page. Same tokens, same density, same motion contract. Under
data-motion="reduced"the drawer appears in place — state carried by words, not travel.
Law v holds on the phone. The drawer’s state is shape — peeked, half, full — and its author is light. A colorblind owner reads the ask perfectly with a thumb on the grabber.