Refusals and limits
The screens that say no, and how to decline without looking broken.
See it
The three tones and the roster dot that goes with each. Switching the tone swaps the copy and the bezel light; the action slot is whatever the way out is.
Held back
This action tried to reach something it is not allowed to touch.
rotateMs={0} holds the first shape; the default rotates every twelve seconds and stops under reduced motion, because a silhouette morph is motion even when nothing crosses the screen. The roster dot uses error for a policy refusal and offline for a dead service — the same distinction the scene draws with its bezel light.
When to use it
The page you land on when something says no: a plan limit, a region block, a sign-in that expired, a service that is down. It is also the screen where a character costs least, for the reason RestrictedScene gives.
Components
RestrictedScene— the whole dead end: bezel, character, title, body, a way out.tonepicks the copy and the bezel light.DeviceBezel— the frame on its own, when the scene is yours to lay out.CharacterMark—refusingfor a no,alertingfor a something-went-wrong.AvatarStatusDot— theerrorandofflinetones, for the same news in a roster corner.HudPlate— atimerdial when the limit lifts by itself (a rate limit, a cooldown), because a ring that drains tells the person to wait rather than to leave;syncwithstate: 'error'when the service is down, which says the lifecycle failed without inventing a figure.
How the states move
alerting is loud on purpose and is meant to be brief. refusing is the state that gets stared at, so it is quiet: a frown, narrowed eyes, no belt, and the scene rotates the silhouette every twelve seconds so a long stare does not feel like a freeze.
What each state looks like
| State | Eyes | Mouth | Effect | Id | HUD | |
|---|---|---|---|---|---|---|
alertingAlerting | dotWide → dot | o | bang | 34 | — | |
refusingRefusing | cross → dotHalf | wavy | bang | 38 | — | |
sleepingSleeping | curve | none | zz | 00 | clock | |
idleIdle | dot → dot → dot → dotLeft → dot → dotRight | none | — | 02 | — |
bang arrives with one overshoot and then pulses on a two-second period rather than blinking: at a glance that is the difference between "look at this" and an error light. refusing keeps its frown even in line-face mode, where most negative states relax to a flat line — a refusal without a frown reads as indifference.
Next
- RestrictedScene — the whole dead end
- Badges and status — unread counts and status dots