JSOORGAMING

The gaming-cafe vertical, rebuilt on the RAWASI system. One accent, seven tones it does not belong to, six heights, three faces, five things that move. Everything a screen is made of comes from the family component layer; this vertical adds an accent group, two elevation tokens, a display face, and one component the family has no equivalent for — the tile. Dark is the default here, because staff look up from this screen onto a floor lit only by monitors. Flip it in the bar above; nothing on this page carries a literal.

The accent — Screen Spill

Cyan is the one hue no sibling owns. It is literally what a monitor throws on a wall at night.

The value
oklch(0.777 0.107 214)  =  #57C8E0 Measured from the old doc's own rendered spill, then expressed in the family's ladder. The light ground deepens it and takes dark ink, on the Circuit Gold pattern, so it stays recognisably Screen Spill instead of collapsing into a navy.
Where the family's accents sit
JSOOR TechVoltage · cobalt-indigo, gold alternate
JSOOR GymIgnition Orange
SLMAverify-green
JSOOR GamingScreen Spill · cyan

The accent is never a chip, never a button, and never on a money figure. Money is not live — it is as-of. It appears in exactly three places, and anywhere else is a bug.

1 · Behind the wordmark
JSOOR
GAMING
2 · The live glow
PC-01Front room
94min
Youssef Adel
3 · The focus ring

Tab to this button. The ring is the accent, on every surface in the family.

Deleted from the old doc: the cyan glow that sat under the primary button. It contradicted the spill's own rule and the family's law that the accent is never an action colour. The old package contradicted itself here too — the rule and the render disagreed.

The seven tones — and why cyan is not one of them

The family ladder, unchanged, carrying the gaming domain's own vocabulary. No hue moved. No eighth tone.

Settled Running Ending soon Broken Held Walk-in Free
ToneIn this venue it meansOld doc called it
okSettled · paid · agent healthysuccess #5FB874
infoRunning — a session billing right nowice #38BDF8, which was also the accent
warnEnding soon · agent offline · a write not yet syncedheat #FF6A1F
badBroken · failed · cancelled · no-showdown #FF3B5C
frozenHeld — a reservation holding a resourcefrozen #7A6FD1, meaning paused
guestWalk-in · no accountguest #B57BC4
neutralFree · closed · never reported · staleneutral #8A8070

The old doc moved frozen off cyan because cyan was going to be a chip meaning alive. Under this vertical it never is — so frozen keeps the family's hue and nothing else has to move. A frozen chip and a cyan glow never compete, because they never do the same job. A tone chip always carries its label: colour reinforces, the word is the message.

Gone with pause: there is no pause in v1, so frozen no longer means "billing stopped, seat still theirs". It means a reservation is holding this resource until its slot. Occupancy drops from four states to three.

Six heights, one source

Every surface is one of six heights, and its height is legible without reading a word: a white top edge where the light lands, a near-black body, and the shadow it casts on whatever is beneath.

E0The room itself. Emits nothing, catches nothing, casts nothing. Everything else is measured against it.--bg · no highlight · no shadow
E1A region of the ground, not an object on it — the shell bar, a table header band. Barely catches light. Never casts.--plate · refl 3%
E2The workhorse. Tables, the record pane, the rail, anything that holds content and stays put.--card · refl 5.5% · sh-1
E3A thing you act on: a tile, a card, a button at rest. Graspable, so it must look liftable — and it descends when pressed rather than changing colour.--raised · refl 8.5% · sh-2
E4A wizard, a gate, a dialog. Above everything, so its shadow is long and soft rather than tight.--sheet · refl 12% · sh-3
E−Below the ground: an input, a PIN box, an empty slot. Nothing to press, so it takes no highlight — the light cannot reach into it, and that absence is the affordance.--sunken · no highlight · inset

This is the family's K3 reflection turned into a four-step ladder. --refl stays bound to E2, so every existing family component keeps working untouched, and the three shadow steps are redefined rather than replaced — which buys the whole six-height model without one line of new component code. It is the one idea here worth taking back to the family.

Press · E3 descends to E2

Press and hold. It descends, its highlight dims because it is further from the light, and its shadow tightens. Nothing changes colour, so a press never looks like a state change.

White acts

The old doc's first rule was that white is the only colour a hand presses, so a primary action never competes with the floor. On a dark ground the family's --primary already flips to a near-white with dark ink. The rule survives untouched, through the family's own mechanism, with nothing added.

The tile — two axes, one object

The tile carries two truths that can disagree, and the whole design is keeping them separable. Occupancy — what the business thinks — fills the tile and owns the clock. Agent health — what the hardware last reported — draws the frame.

Occupancy · three states in v1
PC-01Front room
94min
Youssef Adel
PC-02Front room
06:42
Hana Refaat
PC-06Back room
22min
Held · Mostafa Adham
PC-03Front room
Free
3.2 h today

The clock rule. Every number on the floor answers one question — minutes until this machine needs me — and carries its unit, so running, held and reserved rank against each other on sight. Under ten minutes the tile becomes a visibly different object: MM:SS, no unit, the warn tone. One unit for comparison, one exception for urgency, and the exception looks nothing like the rule.

Agent health · the frame · three states
agent online
answering
agent offline
was seen, now gone
agent unknown
never reported
running
PC-01
94min
Youssef Adel
PC-04
58min
Nour Selim
last seen 4m
PS-02
31min
Ziad Kamel
agent never reported
free
PC-03
Free
seatable now
PC-08
Free
do not seat — no heartbeat
last seen 21m
PC-05
Free
registry only
agent never reported

Normal is silent. A healthy agent wears no marking at all. Only the machine that stopped answering carries the corner rule, and only the one that never reported is dashed. A map that decorates every healthy machine is a map you stop scanning.

The one cell worth two signals. Running with a dead agent — a customer is playing and being billed, and the clock on screen is the last thing we knew, not the thing that is true. It gets the corner rule and the last-seen line inside. Everywhere else one signal is enough; here a counter would otherwise trust a stale number and hand over a wrong bill.

Agent-unknown is launch-day normal, not an error. The registry ships before any agent exists, so on day one every tile sits in the third column. The dashed frame claims nothing about the hardware, which is the honest thing to claim.

Three faces, three jobs

Zain carries every number a person reads across a room. Sora carries every word a person reads at the desk. Mono carries the machine's own voice — ids, timestamps, labels — and never carries Arabic, because it has no Arabic to carry.

132EGP
Zain 900 · display · tabular
The figure a transaction resolves to. One per screen at most.
94min
Zain 900 · the tile number
Read across a room. Carries its unit; never bare.
Back room · 3 machines
Sora 600 · titles on sheets, panels, records
Every word a person reads at the desk.
Sora 400 · the body face of the whole product
S-2418 · 21:04:07 · RECEIVABLE
Mono 500 · the machine's voice · Latin only
كل كلمة يقرأها الموظف على المكتب.
IBM Plex Sans Arabic · never tracked

Arabic takes no letter-spacing, ever. Tracking severs Arabic ligatures and renders words as disconnected letters. Every tracked style in this system is Latin-only by definition — mono labels, the wordmark's GAMING, section eyebrows. Copy ships in English in v1; the face and the direction stay in the system, proven above.

Changed from the old doc: it made IBM Plex Sans Arabic the body face for the whole product. Sora keeps that job, because the family's shared hand is carried by the UI text face and the mono — the display face is where a vertical is allowed a signature, and Zain 900 at tile size is that signature. Three faces, not four.

Everything else is the family's

Fifteen components, unchanged, rendering native on the gaming ground with not one override.

Fields · the rule lives at the field
EGP Must match the session total to settle.
Tabs · pager · counts
1/1
3 waitingKH
Empty · says what is true
No parties waiting.Anyone added at the desk appears here, at the end of the line.

Five things move, and the list is closed

A value updating is not a change of state. A clock going 108 to 107 does nothing.

What movesWhy it earns itToken
A state crossingA tile becoming a different object — into the last ten minutes, offline. Fires once on the crossing and never again.--dur-cross 520ms
ArrivalA row entering a list, a party added to the queue. Enters from above and settles, so you see where it came from.--dur-arrive 240ms
Sheet travelA wizard or gate rising over the floor. Long enough to establish the floor is still beneath it.--dur-drawer 280ms
PressA surface descending under a finger. Faster than thought — slower feels like latency, not touch.--dur-press 120ms
Money landingA total resolving at the end of a payment. The only value change that animates, because it is the moment a transaction becomes real.--dur-money 320ms
Nothing elseIf it is not one of the five above, it changes instantly.0

Nothing loops, ever. No pulsing dot, no breathing glow, no shimmer on a loading row. A thing that moves forever stops meaning anything within a minute and cannot be un-noticed for the rest of the shift. The family doctrine currently permits ambient motion behind a reduced-motion gate; this rule is stricter, and it is owed back to it.

What changes from the old doc

The old package was complete and internally rigorous. It was also a different system. This is every place the two met, and which one won.

Old docBecomesWhy
ink #FFFFFF is the only pressable colour--primary, already near-white on a dark groundSame outcome, family mechanism, nothing added.
ice #38BDF8 = alive, a chip colourthe accent, never a chipThe accent is never a state.
heat · down · frozenwarn · bad · frozenMeanings survive, hues join the family.
frozen means "paused but held"frozen means HeldNo pause in v1. Occupancy drops to three states.
Six named grounds and a wellfour family names plus --plate and --sheetTwo new tokens, both named for a height the family had no word for.
Six heights by a white top edgethe same, as --refl-1..4 on the family's K3Converged, not replaced — they were the same idea.
Warm dark ground taken from brand-system.mdthe vertical's own neutral rampAn altitude error: that file is the marketing identity, not a product token file.
Dark onlyboth grounds, dark defaultRuled. The room argument, not the soul argument.
Zain + Plex Arabic + Plex MonoZain display, Sora UI, mono, Plex Arabic for ArabicThree faces, and the family's hand survives.
Press descends, dims, tightenskept, as --press plus two rulesThe family's press was already a token.
Motion: five items, nothing loopskept verbatim, as three new duration tokensStricter than the family, and owed back to it.
A cyan glow under the primary buttondeletedContradicted the spill rule and the accent law — inside the old doc too.
Spill rendered rgba(87,200,224), specified #38BDF8one value — --accent at 30%The package disagreed with itself. Resolved toward what was drawn.
Tile at E3 in spec, E2 in every renderE3 --raisedResolved toward the spec.
#1C1C1C, used everywhere, never named--hairlineThe family already had the token.
32 devices, 3 tiers, paging at scale23 resources, 4 rooms plus billiard plus cafeThe real venue. One viewport, no paging.
Devices only — no tables, no roomsthree resource kinds, one of them roomedAn extension, not a re-scale. The old IA had no concept of either.
Arabic-primary copyEnglish copy, RTL proven and keptRuled.
The split-flap hairline through the numbersstays deadIt read as a strikethrough, three times.

What a screen must satisfy

#Rule
K1Tokens. No colour, space, radius or shadow literal.
K2Elevation — a real shadow from the three-step scale.
K3Reflection — the top-edge highlight at the surface's own height.
K4Micro-interaction — hover on fine pointers, a press that descends, a visible focus ring.
K5Accessibility — 44px where pressable, AA contrast, reduced-motion safe.
G-AThe accent is never a chip, never behind a button, never on a money figure.
G-BNormal is silent. A healthy agent wears no marking.

The Floor, drawn at the venue's real scale, is in floor.html. That one does not scroll.