Phase 1
Style guide
The contract the rest of the build codes against. Every ratio below is computed from the hex value at render time, not transcribed — a design system whose stated numbers are decorative is one nobody checks.
Who is speaking
--clinician
#0F6E63
Clinician speech, verified state, primary links
--patient
#4338A8
Patient speech, focus ring, code-switch underline
What the system thinks
--verified
#0F6E63
Traced to a transcript span, high confidence
--review
#C77B0A
Needs a human's eyes. Dosages live here.
Never text on a light surface. It is a fill, a rule, a left border, or text on --chart. An unreadable “needs review” flag in a screenshot is a credibility failure, not a style slip.
--escalate
#B3261E
Red flag
Appears in exactly two places on the whole site: the Follow-Up escalation and the unresolved block on /security. Anywhere else it has become decoration.
On the dark surface
chip · verified
#6FD3C2
Confidence chip, traced
chip · review
#E8A445
Confidence chip, needs a human
chip · escalate
#F08B83
Confidence chip, red flag
turn · patient
#9D92E8
Patient role label and rule
turn · clinician
#5BBDAF
Clinician role label and rule
connector
#7A6FD6
The provenance hairline and the code-switch underline
4.44:1 on --chart, so it is deliberately not used for text. It is a 1px line and a 2px underline, where the threshold does not apply.
Surfaces
--chart
#0C1618
Deepest surface — a chart on a monitor
--slate
#16262A
Raised dark surface, footer
--graphite
#4E6168
Secondary text on light
--paper
#F7F9F8
Base light surface
--card
#FFFFFF
Raised light surface
Seven scripts, one voice
The gate for this phase: does Telugu render correctly on Windows Chrome? Anek is a genuine multi-script superfamily, so a Telugu word and an English word in the same transcript line should share stroke weight and rhythm. If any line below shows boxes, the page is broken for the audience it is for.
- lang="en" Latin
- Metformin 500 mg, morning
- lang="hi" हिन्दी
- मुझे chest pain हो रहा है since दो दिन
- lang="gu" ગુજરાતી
- મને છાતીમાં chest pain થાય છે
- lang="te" తెలుగు
- నాకు appointment కావాలి next week
- lang="ta" தமிழ்
- நெஞ்சு வலி இரண்டு நாளாக இருக்கு
- lang="bn" বাংলা
- আমার chest pain হচ্ছে দুদিন ধরে
- lang="pa" ਪੰਜਾਬੀ
- ਮੈਨੂੰ chest pain ਹੋ ਰਿਹਾ ਹੈ
Type scale
- Hero
- clamp(2.5rem, 5.5vw, 4.25rem) Piazzolla 500, -0.02em
- Section head
- clamp(1.75rem, 3vw, 2.5rem) Piazzolla 500
- Transcript
- clamp(1.15rem, 2.2vw, 1.5rem) Anek 400 — the thing people actually read
- Body
- 1.0625rem / 1.65 Anek 400 — 17px floor
- Label
- 0.75rem Plex Mono 500, uppercase, 0.14em
- Data
- 0.875rem Plex Mono 400, tabular-nums
Confidence states
The product's own UI language. Showing the system flagging its own uncertainty is more persuasive to a physician than any accuracy claim, because it demonstrates the failure mode is safe.
verified
58F reports chest pain × 2 days.
Traced to 00:12review
metformin 500 mg PO, morning
Low confidence · needs reviewescalate
Escalation script → on-call provider paged
Tier 3 · escalatedCode-switch underline
A 2px indigo mark under an English clinical term embedded in an Indic sentence. It has exactly one job; anywhere else it is decoration.
મને છાતીમાં થાય છે બે દિવસથી.
The Console
One instrument, three tabs. Below lg
the two columns stack and the Connector is replaced by an inline provenance
chip rather than disappearing — the relationship it encodes still has to be
communicated.
Endocrinology follow-up · 58F · Gujarati + English
Not clinically reviewedNo medication change is ever written to the chart by the system. Draft only; the clinician signs.
- Patient · 00:12 · Gujarati + English
- મને છાતીમાં chest pain થાય છે since બે દિવસથી. I've had chest pain for two days.
- Clinician · 00:31 · Gujarati + English
- Metformin કેટલી લો છો? How much metformin are you taking?
- Patient · 00:36 · Gujarati
- પાંચસો, સવારે. Five hundred, in the morning.
- Companion · daughter · 00:44 · English
- She's been skipping the evening one when she feels dizzy.
- SUBJECTIVE — Traced to 00:12
- 58F reports chest pain × 2 days.
- MEDICATIONS — Low confidence · needs review
- metformin 500 mg PO, morning
- ASSESSMENT — Attributed to companion, not patient
- Daughter reports intermittent evening dose omission associated with dizziness.
Inbound call · 00:09 elapsed · Telugu + English
Not clinically reviewedAnything clinical transfers to a human immediately. Front Desk does not triage and does not answer “should I come in?”.
- Caller · 00:04 · Telugu + English
- నాకు appointment కావాలి, next week ఎప్పుడైనా. I need an appointment, any time next week.
- Bolo · 00:09 · Telugu
- డాక్టర్ రావు తెలుగు మాట్లాడతారు, గురువారం మూడు గంటలకు ఖాళీ ఉంది. Dr Rao speaks Telugu and has Thursday at three.
- INTENT — Routed by state machine, not by model
- BOOK · new appointment · no urgency stated
- PROVIDER MATCH — Offered as a preference, never a constraint
- Dr Rao — Telugu, verified · Thu 15:00
- BEFORE COMMIT — Confirm-before-commit
- Read-back in Telugu → explicit confirmation → idempotency key
Post-op day 3 · Hindi + English
Not clinically reviewedIt never assesses a symptom, never gives a dose the discharge instructions don't contain, and never answers “should I go to the ER?” with anything but escalation. These are hard-coded refusals, not prompt instructions.
- Patient · 00:18 · Hindi + English
- dressing कब बदलना है? When should I change the dressing?
- Patient · 00:51 · Hindi
- छाती में भारी लग रहा है. There's a heaviness in my chest.
- ANSWERABLE — Source: discharge instructions, v3, signed
- Read back from this patient's own discharge instructions, in Hindi.
- RED FLAG — Tier 3 · escalated
- Escalation script → on-call provider paged → stayed on the line
Synthetic demo encounter. Not a real patient.